{"version":3,"sources":["Helper/ReplaceSpecialChar.tsx","Services/RequestControlService.tsx","Services/UploadFileService.tsx","Services/AttachFileService.tsx","components/TextHeaderComponents/TextHeaderComponents.tsx","constants/logic-type.ts","Helper/FormatDateTime.tsx","Helper/formatKeyLogicData.ts","Helper/RequestScreenHelper.tsx","components/AntdControlComponent/InputControlComponent/InputControlComponent.tsx","Context/AlertContext.tsx","Helper/formatColumn.tsx","components/AntdControlComponent/DatePickerControlComponent/DatePickerControlComponent.tsx","components/AntdControlComponent/InputNumberControlComponent/InputNumberControlComponent.tsx","components/AntdControlComponent/RadioControlComponent/RadioControlComponent.tsx","components/AntdControlComponent/SelectDropdownContronComponent/SelectDropdownContronComponent.tsx","components/AntdControlComponent/MainCheckboxControl/CheckboxComponent.tsx","components/AntdControlComponent/MainCheckboxControl/SelectCheckboxComponent.tsx","components/AntdControlComponent/TextAreaControlComponent/InputTextAreaControlComponent.tsx","components/AntdControlComponent/AttachmentUploadControlComponent/AttachmentModal.tsx","components/AntdControlComponent/AttachmentUploadControlComponent/AttachmentComponent.tsx","Context/UserContext.tsx","Helper/RequestRefFunctions.tsx","hooks/useAlert.tsx","Services/DynamicService.tsx","components/RequestComponents/CoreControllerComponent/CoreControllerComponent.tsx","components/ControlComponents/SummaryComponent/SummaryComponent.tsx","components/RequestComponents/CoreControllerComponent/CoreControllerComponentTest.tsx","components/AntdControlComponent/TableComponent/TableComponent.tsx","components/AntdControlComponent/TableComponent/MoveToDialog.tsx","components/AntdControlComponent/TableComponent/TableFooter.tsx","components/AntdControlComponent/TableComponent/ExcelTablePreview.tsx","Services/LineApprovalsService.tsx","components/AntdControlComponent/AutoNumberFix/AutoNumberFix.tsx","components/ControlComponents/ButtonComponent/ButtonComponent.tsx","components/ControlComponents/EditorComponent/EditorComponent.tsx","components/ControlComponents/EmptyComponent/EmptyComponent.tsx","components/ControlComponents/ImageComponent/ImageComponent.tsx","components/ControlComponents/MainCheckboxComponents/MainCheckboxComponents.tsx","components/ControlComponents/MainTextComponents/HeadingComponent/HeadingComponent.tsx","components/ControlComponents/MainTextComponents/TextComponent/TextComponent.tsx","components/ControlComponents/MainTextComponents/MainTextComponents.tsx","components/RequestComponents/CoreControllerComponent/Controls.tsx","components/InputTextComponents/InputTextComponents.tsx","Helper/GenerateGuid.tsx","Services/MemoService.tsx","Services/ConfigurationService.tsx","components/ButtonNav/ButtonNavigation.tsx","IRequestModel/IAuthModel.tsx","Context/AuthContext.tsx","Services/EmployeeService.tsx","Services/PositionService.tsx","Services/DepartmentService.tsx","components/SettingDialogComponents/EmployeeDialog/EmplyeeDialog.tsx","Helper/localStoreFunction.ts","components/ButtonNav/ButtonNavigationDropdown.tsx","Services/NavBarMenuService.tsx","components/NavigationBar/ChangePasswordModal.tsx","Services/AppSettingService.tsx","components/SettingDialogComponents/EmployeeDialog/EmployeeDialogFixed.tsx","components/NavigationBar/NavigationBar.tsx","Services/LoginService.tsx","Context/LoadContext.tsx","hooks/useLoading.tsx","screens/LoginScreen/LoginScreen.tsx","Helper/DeleteAllCookie.ts","azure/zure-authentication-config.ts","azure/azure-authentication-context.ts","screens/LoginScreen/LoginScreenAzure.tsx","components/FooterComponents/FooterComponents.tsx","components/ButtonComponents/ButtonComponents.tsx","assets/bin-icon.png","assets/edit-icon.png","Services/ApprovalMatrixService.tsx","components/SettingDialogComponents/ApprovalMatrixDIalog/ApprovalMatrixDialog.tsx","components/SettingDialogComponents/CompanyDialog/CompanyDialog.tsx","components/SettingDialogComponents/Department/DepartmentDialog.tsx","components/SettingDialogComponents/DivisionDialog/DivisionDialog.tsx","components/SettingDialogComponents/MasterDataDialog/MasterDataDialog.tsx","components/SettingDialogComponents/MenuDialog/MenuDialog.tsx","components/SettingDialogComponents/PositionDialog/PositionDialog.tsx","Services/RoleServices.tsx","components/SettingDialogComponents/RoleDialog/RoleDialog.tsx","components/DropdownComponents/DropdownComponents.tsx","components/TableComponents/Dynamic/DynamicDialog.tsx","components/TableComponents/Dynamic/DialogList.tsx","components/TableComponents/Dynamic/DynamicTable.tsx","Services/TemplateService.tsx","components/TreeSelectNewRequest/TreeSelectNewRequest.tsx","assets/LoadingWOLFmini.gif","screens/Report/DynamicReport.tsx","components/AutoCompleteComponents/AutoCompleteComponents.tsx","components/RadioButtonComponents/RadioButtonComponents.tsx","components/SettingDialogComponents/ReportDialog/ReportDialog.tsx","screens/UnAuthorizePage/UnAurthorization.tsx","components/HOC/withPermission.tsx","components/ButtonComponents/SortingButton.tsx","Helper/SortingFunction.tsx","Helper/ExportExcel.tsx","components/TableComponents/DynamicTableFix/DynamicTable.tsx","Services/MasterDataService.tsx","components/ReportScreenComponent/SelectedFieldComponent.tsx","screens/Report/DynamicReportFix.tsx","screens/Report/ReportScreen.tsx","screens/WorkList/ShowContentScreen.tsx","components/WorklistScreenComponent/FlowCardComponent.tsx","screens/WorkList/FlowScreen.tsx","components/RequestComponents/HistoryComponent/HistoryComponent.tsx","screens/WorkList/HistoryScreen.tsx","components/WorklistScreenComponent/AttachmentCardComponent.tsx","screens/WorkList/AttachmentScreen.tsx","components/Input/CommentComponent.tsx","components/MemoButton/MemoButtonComponent.tsx","Services/ReviewPdfService.tsx","assets/ic_history.svg","assets/ic_attachment_file.svg","components/AntdControlComponent/BadgeNotificateComponent/BadgeNotificate.tsx","screens/WorkList/DetailContentScreen.tsx","components/Select/SelectDate.tsx","components/Select/MultiSelectDropdown.tsx","components/SearchFilterComponent/SearchFilterComponent.tsx","components/Select/SelectDropdown.tsx","screens/WorkList/WorkListSideBarElementUse.tsx","components/WorklistScreenComponent/WorklistCardComponent.tsx","Services/WorklistService.tsx","Services/HistoryService.tsx","Services/ApprovalService.tsx","screens/WorkList/WorkListScreen.tsx","screens/LoginScreen/LoginScreenOpenId.tsx","routes/PrivateRoute.tsx","components/ErrorPageComponent/ErrorPageComponent.tsx","components/CreateControlComponents/ButtonComponent/AddQueryComponent.tsx","components/CreateControlComponents/ButtonComponent/ButtonComponent.tsx","components/CreateControlComponents/AttachmentComponent/AttachmentComponent.tsx","components/CreateControlComponents/AutoNumberComponent/AddConditionComponent.tsx","components/Button/Button.tsx","components/CreateControlComponents/AutoNumberComponent/AddPreFixComponent.tsx","components/CreateControlComponents/AutoNumberComponent/AutoNumberComponent.tsx","components/CreateControlComponents/CalendarComponent/CalendarDefaultValueGroup.tsx","components/CreateControlComponents/CalendarComponent/CalendarComponent.tsx","components/CreateControlComponents/ChoiceComponent/ChoiceComponent.tsx","components/CreateControlComponents/MultiChoiceComponent/MultiChoiceComponent.tsx","components/CreateControlComponents/DropdownComponent/DropdownComponent.tsx","components/CreateControlComponents/EditorComponent/TemplateModal.tsx","components/CreateControlComponents/EditorComponent/EditorComponent.tsx","components/CreateControlComponents/HeadingComponent/HeadingComponent.tsx","components/CreateControlComponents/NumberComponent/NumberComponent.tsx","components/CreateControlComponents/RevisionComponent/AddConditionModal.tsx","components/CreateControlComponents/RevisionComponent/RevisionComponent.tsx","components/CreateControlComponents/ShortTextComponent/ShortTextComponent.tsx","components/CreateControlComponents/ModalCreateComponents/CreateControlSideBarElement.tsx","components/CreateControlComponents/TextAreaComponent/TextAreaComponent.tsx","components/CreateControlComponents/TableComponent/ColumnComponent.tsx","components/CreateControlComponents/TableComponent/ReferenceDocument.tsx","components/CreateControlComponents/TableComponent/FooterTableComponents.tsx","components/CreateControlComponents/TableComponent/TableComponent.tsx","components/CreateControlComponents/ImageComponents/ImageComponents.tsx","components/CreateControlComponents/ModalCreateComponents/ModalCreateComponents.tsx","components/TinyMceComponent/TinyMceComponent.tsx","components/TemplateDetailComponents/FormSettingComponent/FormSettingComponent.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/SelectCondition.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/SelectDataFormTable.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/AddMatrixCondition.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/ApproveMatrix.tsx","components/CheckboxCpmponents/CheckboxCpmponents.tsx","components/TemplateDetailComponents/InformationComponents/InformationComponents.tsx","screens/TemplateDetailScreen/TemplateDetailSideBarElement.tsx","components/DataFechDialogComponents/EmployeeDialog/EmployeeDialog.tsx","components/TemplateDetailComponents/AuthorizationComponent/AuthorizationTable/AuthorizationTable.tsx","components/TemplateDetailComponents/AuthorizationComponent/AuthorizationModel/AuthorizationModel.tsx","components/TemplateDetailComponents/AuthorizationComponent/AuthorizationComponent.tsx","components/TemplateDetailComponents/VersionAndHistoryComponents/VersionAndHistoryTable/VersionAndHistoryTable.tsx","components/TemplateDetailComponents/VersionAndHistoryComponents/VersionAndHistoryComponents.tsx","Services/CompanyService.tsx","components/DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateDialogComponents/TableTemplateDialogComponentsFixed.tsx","components/TemplateDetailComponents/ReferenceDocumentComponents/ReferenceDocumentDialogFix.tsx","components/TemplateDetailComponents/ReferenceDocumentComponents/ReferenceDocumentComponentsFix.tsx","components/TemplateDetailComponents/ReferenceInformation/ReferenceInformationDialog.tsx","components/TemplateDetailComponents/ReferenceInformation/ReferenceInformation.tsx","Context/PDFEditorContext.tsx","hooks/usePDFEditor.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFCompontButton.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFToolBar.tsx","components/TemplateDetailComponents/PDFTemplateComponent/TabsButton.tsx","components/TemplateDetailComponents/PDFTemplateComponent/ColorPicker.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFEditorToolBar.tsx","components/TemplateDetailComponents/PDFTemplateComponent/StaticInput.tsx","components/TemplateDetailComponents/PDFTemplateComponent/StaticImage.tsx","components/TemplateDetailComponents/PDFTemplateComponent/DropableComponent.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PaperLayout.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFTemplateComponent.tsx","screens/TemplateDetailScreen/TemplateDetailScreen.tsx","screens/ForgotPasswordScreen/ForgotPasswordScreen.tsx","screens/DelegateScreen/DelegateApplyTo.tsx","components/RequestComponents/AttachmentComponent/DescriptionConfigComponent.tsx","screens/DelegateScreen/DelegateInformation.tsx","screens/DelegateScreen/DelegateSideBar.tsx","screens/DelegateScreen/DelegateScreen.tsx","Services/EmailTemplateService.tsx","components/SettingsSpecComponents/EmailTemplateDetail/EmailTemplateDetail.tsx","screens/SettingsSpecScreen/EmailTemplateDetailScreen.tsx","screens/SettingScreen/SimLineApproveScreen/SimLineSideBar.tsx","screens/SettingScreen/SimLineApproveScreen/InitialComponent/InitialComponent.tsx","screens/SettingScreen/SimLineApproveScreen/ResultComponent/ResultComponent.tsx","screens/SettingScreen/SimLineApproveScreen/SimLineApproveScreen.tsx","screens/DashboardScreen/DashboardCard/DashboardCard.tsx","screens/DashboardScreen/DashboardCalendar/DashboardCalendar.tsx","screens/DashboardScreen/DashboardTimeline/DashboardTimeline.tsx","Services/ProjectService.tsx","screens/DashboardScreen/DashboardScreen.tsx","Services/LogApiService.tsx","screens/LogApi/LogApi.tsx","components/SettingsSpecComponents/EmailTemplateList/EmailTemplateList.tsx","screens/SettingsSpecScreen/EmailTemplateListScreen/EmailTemplateListScreen.tsx","components/RequestComponents/InformationComponent/LeaveTypeComponents/LeaveTypeComponents.tsx","components/RequestComponents/InformationComponent/InformationComponent.tsx","components/RequestComponents/LineApprovalsComponent/LineApprovalsComponent.tsx","components/RequestComponents/RequestorComponent/RequestorComponent.tsx","components/RequestComponents/AttachmentComponent/AttachmentComponent.tsx","screens/Request/RequestSideBarElement.tsx","components/MemoButton/MemoSingleButton.tsx","Services/AuthorizedService.tsx","screens/Request/RequestScreen.tsx","screens/TemplateDetailScreen/PreviewTemplateScreen.tsx","screens/LoginScreen/LoginGoogle.tsx","screens/RegisterWolfScreen/RegisterWolfScreen.tsx","components/RequestComponents/InformationComponent/RefTemplateComponent/TableRefTemplateComponent.tsx","components/RequestComponents/InformationComponent/RefTemplateComponent/DialogRefTemplateComponent.tsx","components/RequestComponents/InformationComponent/TemplateVersionComponent/TemplateVersionComponent.tsx","components/RequestComponents/InformationComponent/InformationComponentFix.tsx","components/RequestComponents/LineApprovalsComponent/LineApprovalsComponentFix.tsx","components/MemoButton/MemoButtonetcComponent.tsx","Helper/Validation.tsx","Context/AdminEditCompletedMemoPermissionContext.tsx","hooks/useAdminEditCompletedMemo.tsx","screens/Request/RequestScreenFix.tsx","Services/AcountService.tsx","components/SettingDialogComponents/AccountDialog/AccountDialog.tsx","components/TableComponents/DynamicTableFix/DynamicDialog.tsx","Services/UserManualService.tsx","components/SettingDialogComponents/UserManualDialog/UserManualDialog.tsx","components/TableComponents/DynamicTableFix/DialogListFix.tsx","Helper/matrixItemToString.tsx","screens/DelegateListScreen/DelegateListScreen.tsx","screens/SettingScreen/MasterDataScreen/MasterDatascreenFixed.tsx","screens/Report/ReportScreenFix.tsx","Services/TimeStampService.tsx","screens/TimeStamp/TimeStampScreen.tsx","utils/plugins/msdoc/index.tsx","components/PDFPreviewComponent/PDFPreviewComponent.tsx","screens/PreviewAttachmentScreen/PreviewAttachmentScreen.tsx","assets/correct.png","screens/RequestActionMemo/RequestActionMemo.tsx","screens/RejectBrowerScreen/RejectBrowser.tsx","screens/BudgetScreen/BudgetTrackingScreen.tsx","screens/Procurement/ProcurementTrackingScreen.tsx","routes/Routes.tsx","components/LoadComponent/LoadComponent.tsx","components/LoadComponent/LoadPackageComponent.tsx","assets/wolfLogo.png","App.tsx","registerServiceWorker.js","i18n.tsx","index.tsx","components/Select/SelectionDataDialog/SelectDataDialog.tsx","Services/ReportService.tsx","components/ControlComponents/ComponentLabel.tsx"],"names":["replaceSpecialChar","str","replace","GetAutoNumber","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","requestBody","email","respone","wrap","_context","prev","next","window","localStorage","getItem","UserPrincipalName","fetch","method","headers","body","JSON","stringify","then","response","json","data","catch","err","sent","abrupt","stop","_x","apply","arguments","GetSaveRunningNumber","_ref2","_callee2","_context2","_x2","GetRvsRunning","_ref3","_callee3","_context3","_x3","CanAssignMoreThanOne","_ref4","_callee4","_context4","result","console","error","CanRequestCommentMoreThanOne","_ref5","_callee5","_context5","UploadTinyMce","dataJson","axios","url","log","UploadFileRenderControl","GetAllAttachFiles","UploadFileAttachFiles","errUploadAttach","GetPort","errUpload","TextHeaderComponents","props","useEffect","_jsxs","className","children","isRequir","style","display","alignItems","_jsx","fontSize","lineHeight","marginBottom","color","fontWeight","textHeaderProps","undefined","colorProps","textSubProps","LogicType","formatDateTime","value","originFormat","someDateString","moment","format","getDateFormat","dateFormat","date","symbol","concat","time","use","useSecond","getTimeFormat","formatKeyLogicData","logicData","_logicData","unshift","item","_loop","k","keyValues","Object","keys","map","key","_defineProperty","length","genAutoNum","_x4","_genAutoNum","_control","autoNumFormat","template_id","status","autoNumberAttibute","isCheck","formats","choiceFormat","tempLabels","tempValues","i","_i","con","tempCheck","j","showSymbol","prefix","dd","_con","_loop2","_j","condition","forEach","rowIdx","layout","label","template","includes","_toConsumableArray","delegateYield","type","push","formattedYear","newPosition","newFormat","_i2","position","split","RegExp","indexOf","substring","_x5","join","fisrtPreix","Prefix","Digit","digit","TemplateId","Status","Label","rowIndex","colIndex","Message","t1","InputControlComponent","colIdx","control","name","col","colAction","colText","canEditDoc","buttonType","checkActionPage","onControlChange","_objectWithoutProperties","_excluded","Controller","rules","required","attribute","require","render","field","_ref2$formState","formState","errors","isSubmitted","inpId","replaceAll","_Fragment","ComponentLabel","Col","sm","md","xs","xl","items","Input","_objectSpread","onBlur","e","onChange","target","id","readOnly","readonly","size","placeholder","description","maxLength","parseInt","disabled","onKeyDown","_e$code","code","toLocaleLowerCase","setTimeout","_document$getElementB","curIndex","document","getElementById","getAttribute","nxtIdx","$","focus","click","InputTableComponent","saveFunc","inputRef","isEditing","onEdit","nId","toggleEdit","_excluded2","nextTab","_document$getElementB2","Tooltip","title","placement","Form","Item","margin","message","autoFocus","ref","defaultValue","onPressEnter","preventDefault","_e$code3","onFocus","select","width","onClick","_e$code2","AlertContext","createContext","alertColors","AlertContextProvider","_notification$useNoti","notification","useNotification","_notification$useNoti2","_slicedToArray","api","contextHolder","Provider","toggleAlert","params","icon","BsFillInfoCircleFill","RiCloseCircleFill","FaCheckCircle","TiWarning","onClose","duration","borderRadius","zIndex","formatToColumns","columns","rowData","formatColumn","newData","_data$row","row","_columns$j","_row","_item","idx","toString","column","align","_","record","index","_column","tableWidth","widthInTable","Number","alter","dataIndex","editable","isShow","DateInputComponent","actionAlert","_useState","useState","_useState2","action","setAction","checkStatus","Data","ErrorType","Value","formatDate","arrDate","mm","DatePicker","dateValue","newDate","Date","toDate","toLowerCase","toLocaleString","year","month","day","getDateValue","showTime","inputReadOnly","DatePickerControlComponent","_ref3$field","_ref3$formState","DatePickerTableComponent","_excluded3","onMouseOver","InputNumberComponent","InputNumber","symbolPosition","addonAfter","addonBefore","controls","formatter","isNaN","useComma","minimumFractionDigits","decimal","toFixed","default","_value","maximumFractionDigits","blur","InputNumberControlComponent","controlUpdate","useWatch","min","max","_errors$items$rowIdx","_errors$items$rowIdx$","_errors$items$rowIdx$2","_errors$items$rowIdx$3","_errors$items$rowIdx2","_errors$items$rowIdx3","_errors$items$rowIdx4","_errors$items$rowIdx5","intValue","InputNumberTableComponent","useAlert","validator","correct","msg","formatValue","formatMaxValue","formatMinValue","Promise","resolve","reject","Error","border","RadioComponent","Radio","Group","multipleLine","Space","direction","choice","RadioControlComponent","RadioTableComponent","normalize","Option","Select","SelectWithTableDropdownComponent","_template$attribute","_template$attribute$i","tableOptions","showSearch","optionFilterProp","filterOption","input","option","textAlign","height","SelectDropdownComponent","_template$attribute2","_template$attribute2$","SelectDropdownControlComponent","validate","_ref4$field","_ref4$formState","SelectDropdownTableComponent","_useState3","_useState4","customOptions","setCustomOptions","options","find","targetCol","res","CheckboxInTableComponent","Checkbox","checkValue","checkedValues","_onChange","test","check","onSelectChange","_values","CheckboxComponent","_res","CheckboxControlComponent","_value$item","_value$item2","_value$item3","every","CheckboxTableComponent","paddingRight","SelectCheckboxInTableComponent","splitData","mode","SelectCheckboxComponent","SelectCheckboxControlComponent","SelectCheckboxTableComponent","InputTextAreaControlComponent","TextArea","tId","errorserrorserrorserrors","autoSize","minRows","rows","InputTextAreaTableComponent","_document$getElementB3","_e$code4","AttachmentModal","visibleDialog","setVisibleDialog","setCheckHasValue","toast","nameFile","setNameFile","link","setLink","setVisibleConfirmDialog","SharepointSiteURL","TinyURL","visibleConfirmDialog","selected","setSelected","setValue","fileType","_useUserContext","useUserContext","userData","onFileSelected","mapData","hasInvalidFiles","file","dataTransfer","files","currentTarget","filefilefile","myArray","endsWith","filesize","uploadFile","_response$data","formData","_response$data$pathUr","FormData","append","generateQuickGuid","EmployeeId","pathUrl","confirm1","t0","confirmDialog","header","rejectClassName","Dialog","blockScroll","visible","breakpoints","modal","onHide","draggable","footer","Button","footerDialog","SelectButton","controlId","Control","accept","alignSelf","marginTop","htmlFor","InputText","_e$target$value","_e$target$value2","AttachmentComponent","useRef","isModalVisible","setIsModalVisible","checkHasValue","_useState5","_useState6","_useState7","_useState8","_userData","parse","_useState9","_useState10","_useState11","_useState12","_useState13","_useState14","uploadType","setUploadType","_sharepointSiteURL","deFaultValue","def","_nameFile","linkFile","_openWindow","_link","protocol","_port","charAt","location","startsWith","open","host","port","acceptUpload","Toast","ConfirmDialog","acceptClassName","Popover","content","openWindow","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","backgroundColor","boxShadow","AiOutlineClose","AttachmentControlComponent","_ref6","_ref6$field","_ref6$formState","AttachmentTableComponent","_ref7","AntForm","onMouseEnter","initialSession","_localStorage","employeeData","UserContext","useContext","UserContextProvider","defaultUserContext","onChanceRef","refTempSelected","memoDetail","listFormNames","refAttribute","currentTemp","_onControlChange","template_desc","_listRefDocsDetail","listFileAttachDetails","docsCode","refColumn","_iterator","_step","listRefDocsDetail","RefDocColumn","RefTemplate","temp","DocumentCode","_createForOfIteratorHelper","refTems","refDocDetail","selectedColumn","valibCol","memoRefdoc_id","MemoId","doc_no","DocumentNo","template_ID","template_Name","template_name","memoSubject","subject","MAdvancveForm","ControlValue","Amount","RNameEn","RPositionId","DepartmentId","RequestDate","CompanyName","selColLabel","colLabel","pop","TypeControl","sourceRow","sourceCols","targetPositions","selCol","_layout","_col$objTable","objTable","tarColIdx","refTable","_selectedColumn$items","_selectedColumn$items2","_selectedColumn$items3","tableRows","newRow","Key","originCol","_colIdx","refCol","_refCol$_colIdx","_layout$data","_col$ControlValue","RefDocDisplay","getMemoForAttch","s","n","done","f","finish","t2","errorMessage","_x6","memoId","memoid","GetAttachmentFilesByMemoId","_x7","context","GetAllDynamic","apiName","queryString","urlParams","UserPrincipal","ConnectionString","URLSearchParams","Scopes","IsActiveOnly","ex","updateDynamic","formBody","model","CoreControllerComponent","advanceForm","setAdvanceForm","tableSummary","setTableSummary","summary","setSummary","isShowSummary","setIsShowSummary","formLoading","setFormLoading","formComponent","setFormComponent","setAutoNumFormat","_useState15","_useState16","autoNumDigit","setAutoNumDigit","_useState17","_useState18","numFormulas","setNumFormulas","_useState19","_useState20","allLogic","setAllLogic","_useState21","_useState22","valueTable","setValueTable","_useState23","_useState24","runningNumber","setRunningNumber","_useState25","_useState26","rvsPosition","setRvsPosition","_useState27","_useState28","currentLogic","setCurrentLogic","sumValue","_useState29","_useState30","isFirstLoad","setIsFirstLoad","getRevision","_getRevision","_callee12","_advanceForm","detail","rvsTemp","revision","_context14","requestDetail","RefId","Labelrevision","Alter","conditions","Itemlabel","formTemplate","setSumTable","renderControl","_advanceForm$items","logic","isInitialLogic","checkLogic","_props$listLogicData","_props$listLogicData2","_props$listLogicData3","listLogicData","relateGroup","onDataSourceLoadRelated","onChangeAttributeForm","onDataAjaxLoadTable","onDataRefLoadTable","onLoadLineApproveWithLogic","onClickLogic","mstTable","mstType","mColumn","columnAll","requestLogic","lineLogic","_logic","jsonObject","relateValue","l","labelaction","_k","_advanceForm2","_l","_layout2","_dataJson2","_j2","_labelaction","_k2","_advanceForm3","_l2","_layout3","m","_dataJson3","loadTo","refFilter","loadToField","_j3","controlFilter","_k3","_advanceForm4","_l3","_layout4","_dataJson4","_k4","_advanceForm5","_l4","_layout5","_dataJson5","jsonvalue","logictype","relatedvalue","group","logicid","labelactions","labelintablestatus","autoloadvaluelabel","onDatareladToLoadData","Column","Mastertable","Type","MColumn","ColumnAll","Filter","TBColumn","mstColumn","MSTColumn","tbColumn","setListLogicData","empId","dataSourceLoadGroup","dataSourceRelatedToLoadGroup","z","element","roles","fieldaction","_advanceForm6","_layout6","_m","approvals","_m2","_fieldaction","_k5","_advanceForm7","_l5","_layout7","_n","_m3","approver","logicGroupData","_response","setIsInitialLogic","current_approval_level","lable","roleids","RoleId","approvetypeids","typeid","sequence","emp_id","ApproveType","onDataSourceLoad","onChangeLogicForm","logicGroup","setInformationMethodProp","tableArray","tableLabel","total","onLoadLogic","templateID","dataLogic","onChangeRefValueTableForm","DT","onChangeAttributeTableForm","_x8","_x9","_x10","_x11","_callee6","empData","_dataJson","requestData","_context6","employee","ComCode","company_id","JsonCondition","templateForm","TemplateApproveId","lstTRNLineApprove","lineApproval","listApprovalDetails","_data","isHas","lineNew","line","setRequestDetail","prevState","_x12","_ref8","_callee7","dataGroup","responseGroup","_context8","dataSource","_context7","_x13","_ref9","_callee8","_context9","onChangeValueForm","_x14","_x15","_ref10","_callee9","_loop3","_context11","_context10","_x16","onTableDatareladToLoadData","_ref11","_callee10","advanceRow","advanceCol","tableRow","tableCol","tableActionCol","_context12","onChangeValueTableForm","_x17","_x18","_x19","_x20","_x21","_x22","_x23","dataRequest","_dataRequest","rowTable","_loop4","_colData","_loop5","_i4","_Object$entries","entries","_Object$entries$_i","relate","_loop6","permittedValues","resRow","perValue","colData","Array","fill","_i5","_Object$entries2","_Object$entries2$_i","onChangeEditForm","statusMemoDetail","onChangeEditFormTable","tableRowIdx","tableColIdx","table","onTableFooterChange","footerVal","footerRow","footerTable","_x24","_callee14","_context16","_ref16","_callee13","_context15","fm","ft","_x26","_x27","sum","updateTableSum","tableName","tableSum","ss","sumTable","calNumberWithFormula","formu","formula","match","_layout$data$row","regExp","eval","NaN","_ref15","_callee11","form","_context13","controlComponent","_x25","ProgressSpinner","padding","SummaryComponent","headtext","subtext","summaryProps","inputId","inputClassName","minFractionDigits","inputStyle","background","CoreControllerComponentTest","onProcessLogicReference","templateDesc","setMemoDetail","isFirstRun","previousRefTempSelected","register","handleSubmit","onSubmit","documentNo","reset","jsonConditions","setJsonConditions","setLineApproval","isControlLoading","setIsControlLoading","getLineApproveForAmount","setListFileAttachDetails","tableSummaries","setTableSummaries","previousView","setListRefDocDetails","prepareInitialLogic","setTableOptions","setButtonType","edFont","defaultFont","_useFieldArray","useFieldArray","fields","prepend","remove","swap","move","insert","update","controlRef","logTemplateDesc","returnToValure","gogo","checkIsSummaryWithoutLogic","logics","controlTemplate","processRef","_processRef","refResult","_refResult","_context17","refIdOnQuery","current","onRefSelect","refSelected","_listLineApprove","listMemoIds","resApprovals","newControl","isDefaultLineApprove","GetApprovalsByMemoIDs","detechRevisionControl","_onControlChangeRef","isArray","onProcessSummary","jsonCondition","controlValue","_amount","isSum","isControlHasSum","selTable","tableTemp","AllCol","calCulateCorecontrol","currentControl","_callee3$","resulstField","variables","callLogics","_loop$","lastIndexOf","selValue","_item$layout","checkCallLogic","onProcessLogic","updateTableSummaries","_tableSummaries","_sumTable","callLogic","DataSourceRelated","jsonValue","DataAjaxLoadTable","DataRelatedToLoadData","labelAction","Reference","DataLineApprove","refControl","_jsonConditions","_logics","oldRefControl","isInTable","isRef","_controlString","newControlString","sumRes","_yield$onProcessLogic","_args6","columnTb","_templateId","onProcessLogicDataSourceRelated","responseDataSourceLoadRelated","jsonRelated","_jsonValue$relatedval","_templateDesc$items","_item$layout2","_conditions","_relateValue","_item2","_i6","keyRelate","valueRelate","_label","values","onProcessLogicAjax","_templateDesc$items2","actionFrom","_item$layout3","onProcessLogicLineApprove","conditionsValue","onFilterCondotionsValue","onProcessLogicDataRelatedToLoadData","_onFindDataJson","rawData","_data2","onFindDataJson","checkIfLogicsHaveValue","_x28","_x29","_bool","checkIfGetData","_ref12","controlString","responseData","ee","newColumn","responseDataTable","_i7","_relateGroup","relateData","_responseData","_i9","_i10","_value2","_responseData2","_responseData3","positionControl","_i11","_j4","mapDataItem","actionCol","_responseData3$action","_tableOptions","_responseData4","_i12","processData","rowTemplate","colTemplate","checked","actionsCol","_x30","_x31","_x32","_x33","_x34","_x35","_ref13","_x36","_controlValue","_column$control$templ2","exit","_column$control$templ","_ref14","_x37","Conditions","Spin","tip","spinning","labelCol","span","wrapperCol","initialValues","remember","onFinish","Row","Controls","nestIndex","confirm","Modal","Text","Typography","EditableContext","React","EditableRow","_Form$useForm","useForm","component","EditableCell","handleSave","isError","restProps","editing","setEditing","_inputRef$current","cursor","setFieldsValue","save","_responseControlChange","getFieldsValue","responseControlChange","childNode","_col","flexDirection","justifyContent","TableComponent","_layout$template$attr","_layout$template$attr2","_columns","moveToDialogVisible","setMoveToDialogVisible","moveFormIndex","setMoveFormIndex","fileInputRef","tableLoad","setTableLoad","refTableDialogVisible","setRefTableDialogVisible","refTableLoading","setRefTableLoading","refDocOptions","setRefDocOptions","selectedData","setSelectedData","refTableColumn","setRefTableColumn","tableFooter","setTableFooter","exportFile","setExportFile","loadFile","setLoadFile","enabledpopupdefdoc","fetchRefDocFormTable","handleDelete","filter","summaryFunc","returnToValue","menu","createRowCopy","x","fmt","handleAdd","eiei","handleAddMultiRow","newRows","newJa","_eiei","calCulateFunc","formulas","_result","resultColIdx","resultDecimal","operator","_row$col$label","_row$col$label$toStri","allField","_row$col$label2","_row$col$label2$toStr","cols","_tableSummary","_sum","colidx","_e$col$control$templa","_e$col$control$templa2","_e$col$control$templa3","_e$col$control$templa4","calCulateTableFooter","findIndex","splice","defColumns","fixed","actionBodyTemplate","onCell","_menu$current$record$","toggle","addRowTo","duplicate","moveTo","updateRow","command","Fragment","TieredMenu","popup","el","IoEllipsisVertical","renderTableFooter","_layout$template$attr3","_layout$template$attr4","footers","changeObj","_footer$value","_eval","_eval2","addbits","newForm","strFormula","_fetchRefDocFormTable","tempAtt","refDetails","refReportDetail","refOptions","_refReportDetail$dt_R","_refColumn","refdoc","PageIndex","PageSize","CUserID","creator","RUserID","requestor","ConditionRefdoc","conditionrefdoc","Search","NameEn","docDataSource","docReport","docCancelDoc","docEditDoc","docNewDoc","doccontrol","docref","GetRefDocFormTable","GetReportById","_option","a","mergecolumnrefdoc","RefDocLabel","CreatorId","report_lang","CNameEn","CNameTh","CPositionEn","CDivisionEn","CDepartmentEn","RequesterId","RNameTh","RPositionEn","RPositionTh","RDivisionEn","RDivisionTh","RDepartmentEn","RDepartmentTh","StatusName","TemplateName","MemoSubject","headerEn","dt_Report","onImportExcel","onExportExcel","mAdvance","blob","URL","createObjectURL","Blob","createElement","href","download","appendChild","handleFileUpload","putExcelToTable","resultData","slice","ExcelTablePreview","onCheckedHeader","okButtonProps","CheckCircleOutlined","rev","onOk","cancelButtonProps","CloseSquareOutlined","onCancel","getTable","_memoDetail$template_","addRowValue","menuClickHandler","onchange","_e$target","menuItem","Menu","info","FileTextOutlined","rightComponent","canImport","Dropdown","overlay","loading","Table","components","cell","rowClassName","bordered","scroll","y","haveInput","useValue","TableFooter","footerAtt","pageData","_layout$template","_layout$template$attr5","isShowSum","isSummary","Summary","Cell","MoveToDialog","dataLength","isVisible","setIsVisible","setLoading","moveFunc","SelectDataDialog","dialogKey","dataList","dialogVisible","setDialogVisible","selectionMode","onSelectFunc","_selectedData","ColumnLabel","memo","moveValue","setMoveValue","closable","resizable","onValueChange","inputValue","setInputValue","parser","dup","displayData","pageSize","setPageSize","pagination","onShowSizeChange","memoIds","AutoNumber","ButtonComponent","setUrl","useHistory","newUrl","renderInTable","param","val","paramiter","EditorComponent","_useUserContext2","_tinyURL","_ref$field","_ref$formState","dangerouslySetInnerHTML","__html","Editor","tinymceScriptSrc","init","statusbar","paste_data_images","menubar","content_css","object_resizing","default_link_target","fullscreen_native","remove_script_host","relative_urls","image_title","automatic_uploads","image_sourcetab","image_advtab","plugins","toolbar","toolbar1","fontsize_formats","font_formats","content_style","images_upload_handler","_images_upload_handler","blobInfo","success","failure","File","filename","lastModified","now","onEditorChange","editor","handleEditorChange","EmptyComponent","ImageComponent","_TinyURL","setValueState","setFileType","_onFileSelect","_props$template2","_props$template3","guid","_props$template$attri","_props$template$attri2","_props$template","_ref2$field","pointerEvents","Image","src","alt","CgCloseR","onFileSelect","MainCheckboxComponents","HeadingComponent","istext","paddingTop","wordWrap","whiteSpace","textvalue","MainTextComponents","TextComponent","layoutIdx","layoutLength","_colText","_colAction","_autoNumFormat$format","_isCanEdit","_createElement","isHideAllColumn","o","reduce","pre","cur","hidden","_value$data","pass","_errors$items$nestInd","_errors$items$nestInd2","_tableSummaries$find","_errors$items$nestInd3","_errors$items$nestInd4","_formatColumn","each","setAttribute","InputTextComponents","_props$valueProps","setStyleDivProps","setClassNameSpanProps","setIconProps","setClassNameProps","setStyleProps","onChangeProps","keyProps","valueProps","disabledProps","placeholderProps","onClickProps","readOnlyProps","autoFocusProps","typeProps","acceptProps","onBlurProps","onFocusProps","fieldProps","Math","random","GetButtonMemoByMemoId","ActionMemoPage","GetMemoDetailById","GetMemoDetail","GetMemoDetailOnlyById","GetRefDocTemp","GetAllMemo","SetCheckAcces","MAdvanceFormByMemoIds","ValidateDelegate","GetDashboardKeyEndpoint","resultCard","_data$split","GetDashboardFilterStatus","GetDashboardAdvancedFilter","configuration","_data$split3","_data$split4","keyConfig","typeConfig","displayConfig","GetDashboardFilterGroupBy","_data$split5","_data$split6","GetDashboardStatusCard","LoginConfiguration","getAzureConfig","GetDashboardDefaultFilterConFig","ADTitleConfiguration","getVersion","getUploadFileSettingConfiguration","CannotDowLoadPDFDefaultConfiguration","ButtonNavigation","setActive","menuButton","setMenuButton","sortableMenu","setSortableMenu","toggleState","setToggleState","t","useTranslation","useLocation","useMemo","r","GroupMenu","create","newResult","Request","uniqueArray","SubMenu","obj","sort","b","OrderGroup","toggleArray","_idx","pathname","_toggleState","Url","res_every","mapIcon","RiTodoLine","AiOutlineReconciliation","AiOutlineSetting","AiOutlineUnorderedList","_menu$","_menu$2","_menu$1$","_menu$1$2","_menu$1$3","_menu$3","OrderSub","InternalUrl","Link","to","_url","trigger","redirectPath","isAuthenticated","Cookies","get","SessionContext","useSessionContext","SessionContextProvider","defaultSessionContext","GetAllEmployee","opts","_URLSearchParams","qs","IsActive","UpdateEmployee","UpdateSignature","GetUserData","GetAllPosition","GetDepartment","UpdateDepartment","EmployeeDialog","_props$formData14","_props$formData15","_props$formData16","_props$formData17","_props$formData18","_props$formData19","_props$formData20","_useForm","reValidateMode","shouldUnregister","messageConfirmDialog","setMessageConfirmDialog","formSelectedPosition","setFormSelectedPosition","formSelectedDepartment","setFormSelectedDepartment","formSelectedDivision","positionList","setPositionList","deptList","setDeptList","divList","setDivtList","dataEmployeeList","setDataEmployeeList","setSearchData","report_To","setReport_To","setUploadFile","setUserData","subDialogVisible","setSubDialogVisible","fetchDataEmployee","_fetchDataEmployee","_dataEmployee","selectedEmp","EmployeeCode","String","NameTh","Report_ToNameEn","_props$formData21","ReportToEmpCode","fetchPosition","_fetchPosition","_dataPosition","newList","_props$formData22","_positionList","PositionId","fetchDepartment","_fetchDepartment","_dataOrgranize","_props$formData23","_deptList","fetchDivision","_fetchDivision","_dataDivision","_props$formData24","divtList","DivisionId","isEmptyObject","dialogHeader","_props$formData","_props$formData2","_props$formData3","_props$formData4","_props$formData5","_props$formData6","rowDataPosition","PositionNameTh","PositionNameEn","rowDataDept","DepartmentNameTh","DepartmentNameEn","mainDialogVisible","_props$formData7","_props$formData8","_props$formData9","_props$formData10","_props$formData11","_props$formData12","getFormErrorMessage","acceptSave","isCodeDup","isEmailDup","empDup","_report_To$EmployeeId","_report_To$EmployeeId2","_props$formData13","Email","Username","Position","Department","Division","DivisionNameTh","DivisionNameEn","Lang","ModifiedDate","hour","minute","second","ModifiedBy","CreatedDate","CreatedBy","SignPicPath","setTableData","setMainLoading","setMainDialogVisible","reader","FileReader","readAsDataURL","onload","onerror","getBase64","maxWidth","baseZIndex","fieldState","classNames","invalid","InputSwitch","optionLabel","showClear","filterBy","FiX","FiSave","headerTh","ignore","clearLocalStorageOnLogout","removeItem","ButtonNavigationDropdown","nameUser","setNameUser","shortNameUser","setShortNameUser","emailUser","setEmailUser","setEmpData","cookies","_useSessionContext","_useSessionContext2","sessionState","setSessionState","fullName","firstName","lastName","toUpperCase","Panel","Collapse","history","IoPersonOutline","IoMailOutline","BsFillPersonFill","viewBox","xmlns","d","stroke","IoLogOutSharp","closeDropdown","defaultActiveKey","mapButton","GetNavbarMenu","mail","navBarData","ChangePasswordModal","handleCancel","onSubmitPassword","isPasswordCompared","closeIcon","IoMdClose","current_password","new_password","comfirm_password","CheckAppSetting","CheckCanEditProfile","CheckCanAdminEditCompletedMemo","CheckAutoReport","CheckCanDownloadPdf","EmployeeDialogFix","toggleMainDialog","tableData","canEditOnlySignature","isEditProfile","departmentList","setDepartmentList","editProfileSetting","setEditProfileSetting","i18n","defaultValues","AccountCode","AccountName","DefaultLang","ADTitle","getValues","watch","setError","selectedPosition","selectedDept","selectedDiv","_selectedEmp$Employee","_selectedEmp$Employee2","newUser","changeLanguage","setItem","pos","dept","div","emp","getSetting","canEditProfile","CompanyCode","user","DivisionCode","getReportTo","currentCode","limitFileSize","_errs$name$message","_errs$name$message2","errs","_formState","ProgressBar","gutter","lg","EmployeeCodeSize","_getWatch","_ref7$formState","pattern","overflowWrap","limitFileInfo","NavigationBar","_props$responeConfig10","navigationMenu","setNavigationMenu","toggleDropdown","setToggleDropdown","popOverClick","setPopOverClick","setPopOverHover","isActive","setIsActive","_useMsal","useMsal","instance","accounts","inProgress","setVisible","setIsPasswordCompared","useRouteMatch","_useState31","_useState32","isWolf","setIsWolf","_useState33","_useState34","setCanEditProfile","_useState35","_useState36","setCanEditOnlySignature","addEventListener","handleScroll","initialNameUser","fetchNav","checkState","_navigationMenu","_isWolf","_canEditProfile","handleClickChange","signOutClickHandler","baseurl","_accounts$","logoutRequest","origin","account","getAccountByHomeId","homeAccountId","postLogoutRedirectUri","logoutRedirect","handleOpenEditProfileModal","handleOpenChangePasswordModal","userPopupContent","_baseUrl","hostname","newPassword","oldPassword","webUrl","Remark","state","responeConfig","pathNavbarColor","BsList","_props$responeConfig","_props$responeConfig$","_props$responeConfig2","_props$responeConfig3","_props$responeConfig4","cssConfig","pathLogoNav","onVisibleChange","overlayInnerStyle","NavbarDesktop","_props$responeConfig5","_props$responeConfig6","_props$responeConfig7","_props$responeConfig8","_props$responeConfig9","NavbarMobile","loginWolfAccount","username","password","TmpUrl","loginWolfBD","LoadContext","LoadProvider","isLoad","setLoad","useLoading","LoginScreen","_errors$username2","_errors$password2","_useLoading","webVersion","setWebVersion","apiVersion","setAPIVersion","onLoading","setOnLoading","remarkValid","setRemarkValid","PathCarousel","carouselItem","fetchVersion","_loginBody","_loginWolfAccount","_loginWolfAccount$emp","fav_storage","_loginWolfAccount2","_loginWolfAccount2$em","_fav_storage","set","GuidVerify","path","expires","hash","Carousel","autoplay","_carousel","PathLogo","AiOutlineMail","_errors$username","AiOutlineLock","_errors$password","HidePassAndRegister","paddingBottom","IsMulti","deleteAllCookies","cookie","c","toUTCString","MSAL_CONFIG","auth","clientId","cache","cacheLocation","storeAuthStateInCookie","system","loggerOptions","loggerCallback","level","containsPii","LogLevel","Info","Verbose","debug","Warning","warn","AzureAuthenticationContext","_MSAL_CONFIG$auth","_classCallCheck","myMSALObj","PublicClientApplication","loginRedirectRequest","loginRequest","isAuthenticationConfigured","this","setRequestObjects","_createClass","scopes","prompt","redirectStartPage","signInType","setUser","_this","loginPopup","resp","handleResponse","loginRedirect","logOutRequest","logout","incomingFunction","getAccount","currentAccounts","getAllAccounts","LoginScreenAzure","dialogBD","setDialogBD","useIsAuthenticated","authenticationModule","request","_useMsalAuthenticatio","useMsalAuthentication","InteractionType","Silent","login","query","search","InteractionStatus","None","submitAzure","onSubmitBD","ActionPassLogin","_accounts","idTokenClaims","aud","exp","pathCarousel","pathLogo","MdOutlineLock","FooterComponents","ButtonComponents","_props$setLabelProps","setLabelProps","UpdateApprovalMatrix","approvalMatrix","approveMatrixItems","GetAllApprovalMatrixItem","ApprovalMatrixDialog","itemsList","setItemsList","itemsListShow","setItemsListShow","subDialogVisible2","setSubDialogVisible2","setMode","approvers","setApprovers","amountFrom","setAmountFrom","amountTo","setAmountTo","positionLevelList","setPositionLevelList","formSelectedPositionLevel","setFormSelectedPositionLevel","itemAction","setItemAction","selectedItem","setSelectedItem","_fecthPositionLevel","positionLevel","fecthPositionLevel","matrixItems","ApproveMatrixId","ApproverId","ApproveMatrixItemId","AmountFrom","AmountTo","PositionLevelId","PositionLevelName","ApproverName","Seq","IsTypePosition","positionLv","posi","resetSubDialog","DataTable","onRowReorder","tableStyle","outlineColor","dataKey","responsiveLayout","rowReorder","bodyClassName","_approver","_pos","editIcon","seq","onDeleteRow","binIcon","maxFractionDigits","RadioButton","replaceIndex","AddItem","AiOutlinePlus","_approvers","mutiable","CompanyDialog","Tel","Fax","UrlWeb","AddressTh","AddressEn","UrlLogo","InputTextarea","DepartmentDialog","masterCompany","setMasterCompany","setSelectComCode","fecthCompany","company","_formValues","_data$CompanyCode","_data$CompanyCode2","DepartmentCode","DivisionDialog","setFormSelectedRole","setRolesList","_fecthRoles","RolesId","fecthRoles","MasterDataDialog","_props$toast","_props$toast2","MasterId","Value1","Value2","Value3","Value4","Value5","MasterType","show","severity","life","MenuDialog","formSelectedRole","rolesList","allRoles","defaultVal","_rolesId","role","AuMenuId","MultiSelect","PositionDialog","selectComCode","_fecthCompany","_fields","_f","PositionLevel","PositionLevelNameEn","PositionLevelNameTh","AccountId","UpdateRole","formRoleEmployee","GetRolePermission","GetPermissionByEmpId","RoleDialog","searchData","_fetchRoleItem","permissions","permis","IsDelete","object","NameThRole","NameEnRole","NameThEmployee","NameEnEmployee","fetchRoleItem","RoleDescription","setData","itemsShow","DropdownComponents","selectValue","setSelectValue","obtions","setObtions","setstyle","fecthData","_fecthData","_dataDynamic","optionsProps","styleProps","disable","optionLabelProps","borderColor","validationProps","filterProps","panelClassName","DynamicDiaLog","dynamicColumnsGrid","setDynamicColumnsGrid","obtionList","setObtionList","copyFormdata","setCopyFormdata","GetColumns","grids","dropdownList","dataType","_dataArray","_dataArrayCheck","_dataArraygrid","inx","_grid","textTH","text","translateFunc","setControllerId","manageObjectDatas","_dynamicColumnsGrid","getColumns","fieldName","objectKey","DialogList","pop_up","setPop_up","dialogs","formDataProp","dataListProp","setDataListProp","tableComfirmDialog","visibleConfirmProp","setTableComfirmDialog","setVisibleConfirmProp","visibleDialogProp","setVisibleDialogProp","setMatrixItems","dialogName","tableColumn","DynamicTable","today","getMonth","getFullYear","prevMonth","prevYear","nextMonth","nextYear","minDate","setMonth","setFullYear","maxDate","dataDynamicTable","setDataDynamicTable","showdataDynamicTable","setShowDataDynamicTable","exportData","setExportData","toggleSelect","setToggleSelect","clearFilter","setClearFilter","filters2","setFilters2","showClearDate","setshowClearDatel","titleHead","setTitleHead","dataEdit","setDataEdit","checkAction","setCheckAction","messageButtonDialog","setMessageButtonDialog","visibleConfirm","setVisibleConfirm","canReoderColumn","setCanReoderColumn","reportFileName","setReportFileName","colletionField","setColletionField","canAction","setCanTableAction","setColumns","_useState37","_useState38","selectData","setSelectData","_useState39","_useState40","filteredData","setFilteredData","dt","_useState41","_useState42","selectedColumns","setSelectedColumns","toggleLoading","isload","arrayDataColumn","collection","isChecked","dispalyLebelAndAlter","fieldTypeFilterDynamic","FieldTypeFilterDynamic","setDefSelected","fetchData","visibleDialogAddProps","isEditProps","isDeleteProps","displayFormDialog","items_label","getElementsByClassName","innerHTML","setItemsCount","matrixItem","myData","_filters","canReorderColumn","FieldCollection","matchMode","FilterMatchMode","EQUALS","DATE_AFTER","DATE_BEFORE","BETWEEN","DATE_IS","CONTAINS","ReportName","statusItemTemplate","monthNavigatorTemplate","event","originalEvent","normalFilterTemplate","filterApplyCallback","filterModel","AutoComplete","suggestions","completeMethod","datas","array","property","from","has","Map","getUnique","trim","_c$option$field","onSelect","dynamicColumns","_filters2$col$field","_filters2$col$field2","_filters2$col$field3","_filters2$col$field4","_filters2$col$field5","_filters2$col$field6","_filters2$col$field7","_filters2$col$field8","_filters2$col$field9","_filters2$col$field10","_filters2$col$field11","_filters2$col$field12","_filters2$col$field13","_filters2$col$field14","_filters2$col$field15","_filters2$col$field16","_filters2$col$field17","_filters2$col$field18","_filters2$col$field19","_filters2$col$field20","flexGrow","flexBasis","sortable","filterMatchMode","filterElement","itemTemplate","statusRowFilterTemplate","filterHeaderClassName","showClearButton","onFilterClear","Calendar","monthNavigator","yearNavigator","yearRange","yearNavigatorTemplate","readOnlyInput","dateFilterTemplate","_rowData$col$field","_unused","mainStr","subStr","AmountFrom_AmountTo","_unused2","image","Memo_MemoId","textDecoration","Memo_DocumentNo","actionLinkIReport","_unused3","toastShowSuccess","toastShowError","selData","SplitButton","setDisplayFormDialog","dropdownIcon","onColumnToggle","orderedSelectedColumns","some","sCol","exportExcel","excelData","dataExport","dataField","_data$col$field","reconStructionForExport","xlsx","workbook","Sheets","utils","json_to_sheet","SheetNames","excelBuffer","write","bookType","saveAsExcelFile","buffer","fileName","FileSaver","saveAs","getTime","importExcel","wb","wsname","ws","_importedData","_props$apiName","apiNamereplace","read","sheet_to_json","shift","readAsArrayBuffer","header1","showSelCol","showCol","showSelectAll","recon","dataShow","reconStructionForShowData","canExport","renderHeader1","stripedRows","paginator","reorderableColumns","onRowClick","rowClickFunc","onColReorder","colOrder","rowPointer","selection","onSelectionChange","globalFilterFields","rowsPerPageOptions","rowHover","filters","filterDisplay","paginatorTemplate","currentPageReportTemplate","actionBody","exportable","frozen","alignFrozen","renderActionColumn","checkActionProp","titleHeaderProp","toastShowSuccessProp","toastShowErrorProp","messageButtonDialogProp","GetTemplateFromDDL","GetTemplateTemplateListVersion","GetTemplateeBindFormNameDDL","SearchTemplateListEditing","GetTemplateListVersionHistory","GetTemplateByDocTypeCode","GetTemplateById","GetTemplate","GetAllByCreateTemplate","ReportTemplateList","GetTemplateControlById","AddTemplate","_callee15","AddTemplateAndVersion","_callee16","DeleteTemplate","_ref17","_callee17","LoadLogic","_ref18","_callee18","_context18","ValidateRefTemplate","_ref19","_callee19","refValid","_context19","TreeSelectNewRequest","groupDataTemplate","setGroupDataTemplate","searchTemplate","setSearchTemplate","isOpen","setIsOpen","checkActionFavorite","setCheckActionFavorite","checkFilter","setCheckFilter","_fetchDataTemplate","fetchDataTemplate","removeEventListener","_dataTemplate","_groupDataTemplate","fav_cookie","groupTemplate","keyDataTemplate","_fav_cookie","_fav_cookie$k","_value$i","selectAll","DefultMode","OnlyActive","GroupTemplateName","localeCompare","fromEntries","TemplateNameWithCode","favorite","onClickStar","groupIdx","templateIdx","checkUnClickStar","element2","checkHasFavorite","_groupDataTemplate$0$","_groupDataTemplate2","onUnFavorite","_groupTemplateName","_templateNameWithCode","onFilterChange","_searchTemplate","_data$data$i","_data$data$i$Template","_data$data$i2","_data$data$i2$Templat","_data$header","filteredList","filteredGroup","filtered","_data$TemplateName","_data$TemplateNameWit","_data$GroupTemplateNa","_groupTemplate","activeDefault","_searchTemplate$i$dat","_group","setDataTemplateTreeProps","listFormName","AiFillStar","AiOutlineStar","_searchTemplate$i$dat2","paddingLeft","BsSearch","expandIcon","IoChevronDownSharp","IoChevronForward","expandIconPosition","BsPlusCircle","DynamicReport","reportId","useParams","reportName","itemsCount","reportDetailBody","ReportTemplateId","LogoLoading","imgLoading","_fetchData","minHeight","flex","AutoCompleteComponents","suggestionsProps","completeMethodProps","onKeyPress","notButton","multiple","readOnlyprops","onMouseDown","RadioButtonComponents","inputIdProps","nameProps","checkedProps","labelProps","reportModelIReportModel","Selectedfieldlist","ReportDescription","IsPrivate","CreatedByname","ModifiedByname","Selectedfieldlistfilter","Columns","Rows","TemplateNewVersion","CanDelete","RoleEmp","Mode","ReportDialog","selectedField","setSelectedField","templateKey","setTemplateKey","templateField","setTemplateField","templateMulti","setTemplateMulti","templateFieldMulti","setTemplateFieldMulti","globalFilterValue","setGlobalFilterValue","isDialogVisible","keyAutoComplete","setKeyAutoComplete","employeeRequest","setEmployeeRequest","setEmployee","roleData","setRoleData","radioButtonCheck","setRadioButtonCheck","radioButtonCheckToday","setRadioButtonCheckToday","radioButtonCheckFrom","setRadioButtonCheckFrom","filterValue","setFilterValue","reportModel","setReportModel","filterValueSelected","setFilterValueSelected","setDropdownfilterValue","setGroup","groupData","setGroupData","_useState43","_useState44","indexOrderBy","setIndexOrderBy","_useState45","_useState46","indexHideColumn","setIndexHideColumn","_useState47","_useState48","indexSortingBy","setIndexSortingBy","_useState49","_useState50","textHeader","setTextHeader","_useState51","_useState52","tableLoading","setTableLoading","_useState53","_useState54","templateMode","setTemplateMode","_useState55","TemplateIdValidation","FieldCollectionValidation","ReportNameValidation","ReportDescriptionValidation","RoleEmpValidation","RoleIdValidation","DisabledSave","_useState56","validationForm","setValidationForm","_Data","_editData","_props$dataEditReport","_props$dataEditReport2","_employee","_RoleEmpSplit","_RoleIdSplit","arrayRoleEmp","arrayGroup","dataEditReportProps","onTemplateMode","_dataRoleEmp","Isprivate","_editReportData","_props$dataEditReport3","_props$dataEditReport4","_dataJSONParse","_dataFavoritesItem","arrayTemplate","_arrayItes","_i3","arrayDataReplace","_element$FieldText","_dataSplit","_element2","_element","TemplateID","_props$templateDataPr","dataFilter","templateDataProps","_SelectFormEdit","FieldText","FieldCode","_save2","objSave","_arrayName","_UpdatrReport","dataDF","reportTemplateId","remove_character","editProps","AddReport","checkSetProps","toggleDialog","UpdateReport","setEditReportProps","_TemplateKey","_TemplateKeyArray","TemplateKey","addTemplateKey","editData","_fechData2","_fechData","CreateBy","CreateDate","Reportdescription","Reportname","ReporttemplateID","SecretId","Templateversion","editReportData","indexGroupByFilter","indexGroupBy","indexSortingByByFilter","indexHideColumnByByFilter","indexOrderByColumnByByFilter","searchTextEnter","_rowData","_filterValueSelected","char_pos","IoCloseOutline","marginRight","BiSave","_save","_SelectFliedMulti","onRowReorderFilter","onChangeReportName","onChangeFilterValue","onChangeGroupData","_FilterValueSelected","allFilter","valueSelected","_RadioButtonFormType","_RadioButtonFormType2","_dataFilter","_SelectFormEdit2","_SelectFliedEdit","_SelectForm2","_SelectFlied","_CalendarDate","rowdata","_DateTime","_SelectFliedMulti2","edit","arrayPush","arraySelected","_element3","_element4","_showModal","req","_SelectFliedEdit2","arrayFliedTest","arrayFliedId","_selectFliedData","_selectFliedData$i","replaceString","_objJson","_templateSelect","_SelectedfieldlistAll","arrayFieldMulti","_arraykey","_i8","_element6","ReportListTemplateSelect","SelectedfieldlistAll","arrayFliedFliter","_SelectFlied2","_element8","_arrayKey","_element9","_element10","_AutoComplete","_dataName","Height","borderBottom","_SelectForm","resetFilterOnHide","editReport","_dataArrya","dataFilterValueSelected","ID","FieldDisplay","IsExcludeBlankData","FieldType","IsEquals","FieldTextFrom","FieldTextTo","FieldBit","FieldTypeFilterStatic","IsTodayFrom","IsTodayTo","FilterParameter","FilterValueSelected","onChangeDropdownSelectForm","scrollable","scrollHeight","showButtonBar","onChangeDropdownfilterValue","_AutoCompleteText","showModal","dataSelectEmployee","UnAurthorization","withPerMission","Component","assign","_objectDestructuringEmpty","isAuthorize","setIsAuthorizeo","isAdmin","_empData$employeeData","menus","_query","_isAuthorize","_menu$Url","_location$pathname","_menu$Url2","_location$pathname2","_menu$Url3","SortingButton","sortType","AiOutlineSortAscending","AiOutlineSortDescending","sorterFunc","filterType","nameA","nameB","_a$key","_a$key2","_b$key","_a$key3","_b$key2","RangePicker","customColumns","canEdit","rowClickAction","reloadData","customImportFileButton","paginationOption","onPageChange","allColumns","setAllColumns","showData","setShowData","isHoverAction","setIsHoverAction","setFilters","canOpenMemo","setCanOpenMemo","exportLoading","setExportLoading","importLoading","setImportLoading","GetFilter","tableFilter","_allColumns","formatData","getsettingReportTableColumns","getsettingTableColumns","filterFunc","previousFilter","sessionStorage","colField","colType","colWidth","getWitdthFormText","getSorterButton","getInputFilter","onMouseLeave","ellipsis","showTitle","htmlBody","isPublishVersion","Tag","ctx","getContext","font","measureText","_tableFilter$find","_tableFilter$find2","v","rowFilter","ranges","Today","startOf","endOf","allowClear","uniq","Set","isDuplicate","add","_option$value","onClear","startDate","endDate","_e$filter$key","_e$filter$key$toStrin","allCol","_location$search","_location$search2","showHeader","showSizeChanger","onRow","onDoubleClick","onContextMenu","LoadState","GetAllMasterDataService","COMPLETE","queue","FAIL","IDLE","_this2","LOADING","responseToQueue","GetAllMasterData","retrieve","GetSignature","GetReportSetting","GetIsDocControl","getAuthorization","getVersionTempVC","GetLeaveTemplate","GetLeaveTemplateByEmpId","GetMasterDataFieldInfo","GetMasterDataReportTem","GetFontList","GetMasterDataBrowserAgent","browsers","value1","messages","value2","SelectedFieldComponent","reportTemp","setReportColumns","setGettingreport","rtcon","setRtcon","findSelected","fecthMasterData","_rtcon","_rtcon$","_rtcon$$value","_selectedfieldlist","_selectedfieldlistfilter","formatNumberWithTrailingZeros","number","decimalPlaces","_numberString$split","_numberString$split2","integerPart","decimalPart","padEnd","countDigitsAfterDecimal","numberString","decimalIndex","fecthDataReport","fieldCollection","numCols","dateCols","edCols","FavoritesItem","suffix","Decimal","doc","DOMParser","parseFromString","innerText","getChipValue","fieldValue","onChangeSelectField","exitFilter","_data$Selectedfieldli","isPass","request_date","dateForm","diff","validateFun","Chips","separator","DynamicReportFix","_isAutoReport","setIsAutoReport","setReportTemp","_reportName","setReportName","reportColumns","gettingFilter","setGettingFilter","gettingReport","atCols","_reportTemp","_data$col$key$split","_data$col$key$split2","ReportTemplateSelectByReportID","panelTemplate","headText","toggleIcon","collapsed","titleClassName","togglerClassName","onTogglerClick","Ripple","columnGap","IoArrowBackSharp","headerTemplate","toggleable","pathLoading","setTemplate","empList","setEmpList","checkReport","setCheckReport","setEditReport","dataEditReport","setDataEditReport","setbaseUrl","setIsAdmin","_fetchEmployee","t3","fetchReport","_fetchReport","userId","_fetchTemplate","empid","dataJsonn","_dataTemplatee","_fetchGetReportById","rePortId","_ReportById","fetchTemplate","fetchEmployee","Switch","Route","exact","adminActionBody","fetchGetReportById","_accept","DeleteReport","_user","checkProps","ShowContentScreen","pdfdff","pdfData","isShowPdfData","allowFullScreen","frameBorder","Empty","FlowCardComponent","setSeq","setCurrent","requestDetails","nameEn","positionNameEn","departmentNameEn","signature_en","FlowScreen","HistoryComponent","dataDialog","setDataDialog","responeWorkList","listHistoryDetails","sortDate","aa","action_date","bb","convertDate","momentObj","convertAction","formatPlatform","IoDesktopOutline","AiFillApple","AiFillAndroid","FaLine","convertPlatform","convertHtml","_comment","_textAbstract","last","textAbstract","dismissableMask","actor_name_en","actor_name_th","actor_position_name_en","actor_position_name_th","comment","platform","_data$comment","HistoryScreen","historyData","AttachmentCardComponent","comploteLink","setComploteLink","showFile","attachPath","attach_path","BsFileEarmarkPdfFill","FaFileWord","BsFileEarmarkExcelFill","FaFilePowerpoint","BsFillFileEarmarkTextFill","attach_file","actor","attach_date","AttachmentScreen","attachFiles","CommentComponent","setComment","setPlaceholder","setInvalid","dataEmployee","setDataEmployee","isLoading","setIsLoading","selectedEmployee","setSelectedEmployee","isMultiAssign","isMultiRequestComment","showAll","setShowAll","onGlobalFilterChange","dataEmp","_data$NameTh","_data$NameEn","showError","EmployeeDialogFooter","ConfirmMultiSelectEmployee","renderHeader","sentToMemo","inputComment","waiting_for_id","waiting_for","setCommentStatus","pageName","onUpdate","waitingFor","waitingForId","commentStatus","_props$lineApproval","_props$lineApproval2","_props$lineApproval2$","approvalSequence","department","signature","columnKey","BiCommentDetail","HeaderDialogComment","onInit","metaKeySelection","MemoButtonComponent","memoMenuButton","setMemoMenuButton","setRequire","mapMemoButton","memoMenu","menuData","mapMenuData","commandName","setSelectedView","setCurPage","BiSend","marginLeft","IoMdCheckmarkCircleOutline","IoMdArrowRoundBack","RiDeleteBinLine","AiOutlineSave","MdOutlineCancel","IoMdRefresh","BsArrowRight","RiFileForbidLine","GeneratePDF","_requestDetail","responeMemoDetail","responePreviewPDF","Memoid","MemoPage","BadgeNotificate","count","setCount","hasLastComment","setHasLastComment","setNotificate","dataMemo","_props$dataMemo","_props$dataMemo2","_props$dataMemo3","IsMemoHistoryLastComment","MemoHistoryAmount","MemoAttachFileAmount","_history$slice$shift","lastComment","amountAttachment","dataDetail","_data$attachfiles","attachfiles","_request$listFileAtta","action_id","amountComment","amount","Badge","dot","IC_ATTACHMENT_FILE","IC_HISTORY","isCard","Ribbon","offset","badgeSize","DetailContentScreen","_memo$requestDetails","_memo$requestDetails2","_memo$requestDetails3","onDetailLoading","page","setPage","setPdfData","setMemoMenu","setMemo","_onFetchPdf","onFetchPdf","MemoID","_Fetch","Fetch","menuButtonSort","responeData","motion","transition","animate","IoDocumentText","RiNodeTree","BsClockHistory","GrAttachment","IoOpenOutline","AnimatePresence","exitBeforeEnter","initial","opacity","SelectDate","dates","setDates","isFullWidth","showIcon","BsCalendarDate","left","onOpenChange","suffixIcon","GrFormNextLink","onCalendarChange","MultiSelectDropdown","defaultVaue","onDropdownVisibleChange","dropdownStyle","onDeselect","_selected","valueFilter","dropdownRender","flexWrap","onSelectAll","Divider","SearchFilterComponent","searchKeyword","SelectDropdown","alowClear","WorkListSideBarElementUse","_props$searchObject","_props$searchObject2","_props$searchObject3","_props$searchObject4","_props$searchObject5","_props$searchObject6","_props$searchObject7","_props$searchObject8","_props$searchObject9","_props$searchObject10","_props$searchObject11","searchObject","keyword","BsListTask","onSelectTask","defaultTask","RiListCheck2","formStatus","IoNewspaperOutline","formType","BiBuildings","allCompany","allDepartment","WorklistCardComponent","dataUrl","setDataUrl","isCommentActive","setIsCommentActive","amount_label","currentMemoId","resposeComment","_requestor","Requestor","setContent","setOnDetailLoading","Subject","IsDelegated","delegateMemo","FaChevronRight","WaitingFor","taskGourp","GetWorkListByTaskGroup","employees","todoFormatDate","todoFormatWaitingFor","todo","_todo","_emp","GetAllHistory","GetApprovalByTemplate","GetAllApprovals","_worklist$slice","workListData","setWorkListData","dtWorkListData","setDTWorkListData","formTypeOptions","setFormTypeOptions","companiesOptions","setCompaniesOptions","departmentsOptions","setDepartmentsOptions","formStatusOptions","setFormStatusOptions","setSearchObject","currentPage","setCurrentPage","itemPerPage","setItemPerPage","setIsShowPdfData","isCardLoading","setIsCardLoading","toggleDetail","setToggleDetail","sidebarState","setSidebarState","setCurrentMemoId","taskHeader","setTaskHeader","currentIndex","setCurrentIndex","selectedCard","setSelectedCard","setDefaultTask","setTaskGourp","setGetMemoDetail","_itemPerPage","indexOfLastPost","indexOfFirstPost","onpopstate","onbeforeunload","fetchWorklist","task","dateFrom","dateTo","actionBack","_userData$EmployeeId","dataWorklist","selecteCard","_taskHeader","_currentMemoId","sidebar","_args","iItemPerMore","CountMoreItem","FilterDateFrom","toISOString","FilterDateTo","initialWorklistOption","worklist","_formTypeOption","_formStatusOption","_companiesOption","_departmentsOption","resultFormTypeOption","resultFormStatusOption","resultAllCompanyOption","resultAllDepartmentOption","DepartmentName","_Object$entries3","_Object$entries3$_i","_Object$entries4","_Object$entries4$_i","onUpdateMemo","_getMemoDetailById","listControlRunning","_autoNumFormat","templateDescJson","_ActionMemoPage","desc","getElementsByTagName","overflow","is_text_form","detechAutonumberFormula","CheckSaveAutonumber","listRefDocDetails","_autoFormats","templateId","autoTemp","gg","newRunning","checkAuto","checkNum","RunningNumber","_requestor$EmployeeId","_memoDetail","_dataAttachfiles","_dataApprovals","memoButton","_dataMemobutton","_dataHistory","Permission","View","subtract","formSelect","rawObject","_worklist","statusFilter","companyFilter","departmentFilter","formFilter","keywordFilter","filterStatusWorklistCard","filterCompanyWorklistCard","filterDepartmentWorklistCard","filterFormWorklistCard","_searchObject$keyword","_todo$DepartmentName","_todo$TemplateName","_todo$CompanyName","_todo$Status","_todo$DocumentNo","_todo$Subject","_waitingFor$NameEn","_requestor$NameEn","_requestor$NameTh","_keyword","filterKeywordWorklistCard","IoMenu","numItem","Pagination","defaultCurrent","LoginScreenOpenId","GetOpenId","PathCodeUrl","onSubmitLoginOpenId","_loginOpenId","redirect","_loginOpenId$employee","PrivateRoute","authenticationPath","setRedirectPath","routeProps","currentLocation","paramString","_codeUrl","sessionContext","updateSessionContext","chaeckLastActtion","lastAction","diffMilliseconds","masterData","timeout","_masterData$find","_masterData$find2","abs","Redirect","ErrorPageComponent","AddQueryComponent","selectedValue","setSelectedValue","_items","attributeButton","setAttributeButton","setViewModal","onSaveQuery","IoSaveOutline","viewModal","hideInPdf","HiPlus","idx2","_data$layout$idx","_data$layout$idx$para","_data$layout$idx2","_data$layout$idx2$con","BsTrash","deleteAttributeButton","_props$template$attri3","_props$template$attri4","_props$template$attri5","setLinkFile","maxFile","uploadFileState","_props$uploadFileStat","_props$uploadFileStat2","_response$data2","_response$data3","_response$data4","_response$data5","_response$data6","setUploadFileState","fromRender","openLink","RiDeleteBack2Line","AddConditionComponent","_conditions$condition","selectedFormName","setSelectedFormName","selectedFormValue","setSelectedFormValue","setDefaultValue","defaultValueItem","setDefaultValueItem","setConditions","actionConditions","setActionConditions","idxConditions","setIdxConditions","_props$attributeNumbe","_condition","attributeNumber","attributeIdx","_props$advanceForm$it","arrayItem","arrayDataItem","_dataLayout","_dataItem","_formats","setAttributeNumber","setConditionViewModal","Save","conditionViewModal","dataRequestValue","onSaveToCondition","RiEditLine","deleteCondition","_props$title","curPage","onSelectView","checkTypeIcon","AddPreFixComponent","_formats$format","setFormats","setDateFormat","formatsIdx","setFormatsIdx","saveToFormatAction","setSaveToFormatAction","selectedCondition","setSelectedCondition","symbolValue","setSymbolValue","positionValue","setPositionValue","_format","dtformat","_attribute","SavePreFix","rowGap","BiFont","AiOutlineFileText","AiOutlineCalendar","onSaveToFormat","DragDropContext","onDragEnd","_components","destination","list","startIndex","endIndex","_result$splice","removed","reorder","source","Droppable","droppableId","provided","snapshot","_formats$format2","innerRef","Draggable","draggableId","draggableProps","dragHandleProps","isDragging","draggableStyle","userSelect","updateFormat","deleteFormat","AutoNumberComponent","setAttributeIdx","_data$condition","deleteAutoNumber","CalendarDefaultValueGroup","CalendarComponent","_props$template$attri6","_props$template$attri7","_props$template$attri8","_props$template$attri9","_props$template$attri10","defaultType","setDisabled","ChoiceComponent","setInput","setCheckBoxRequire","handleKeyDown","cellEditor","editorCallback","textEditor","onCellEditComplete","newValue","rowEditor","MultiChoiceComponent","displayDropdown","dropdown","setDropdown","setDisplayDropdown","idex","tooltip","tooltipOptions","DropdownComponent","checkBoxRequire","_props$itemsList$item","TemplateModal","_props$data","contentEditor","setContentEditor","_props$data2","setRichText","IoDocumentTextOutline","checkBoxHeading","displayCheckBox","setCheckBoxHeading","NumberComponent","_props$template$attri11","_props$template$attri12","_props$template$attri13","_props$template$attri14","_props$template$attri15","_props$template$attri16","_props$template$attri17","_props$template$attri18","_props$template$attri19","_props$template$attri20","setDecimal","setReadonly","setMin","AddConditionModal","_props$revisionCondit","revisionConditions","conditionsIdx","newConditions","boxid","controltype","setRevisionConditions","saveConditions","BiArchiveIn","RevisionComponent","setConditionsIdx","BsX","ShortTextComponent","CreateControlSideBarElement","SideBarData","FaHeading","BiText","ImTextHeight","AiOutlineNumber","FiCalendar","IoMdRadioButtonOn","MdOutlineCheckBox","FaRegListAlt","BsTable","BsFileEarmarkRichtext","FaRegImage","CgPlayButtonO","BsSortNumericDown","BiTimeFive","SideBarDataInColumn","renderIn","_data$component","_data$component$props","_data$component2","_data$component2$prop","_data$component2$prop2","_data$component2$prop3","_data$component3","_data$component3$prop","_data$component4","_data$component4$prop","_data$component4$prop2","_data$component4$prop3","TextAreaComponent","autoResize","ColumnComponent","setComponent","control2","errors2","handleSubmit2","setFromRender","checkType","renderComponent","attributeColumn","checkActionButton","columnData","columnIdx","setAttributeColumn","_respone$control","_respone$control$temp","_respone$control2","_respone$control2$tem","_respone$control2$tem2","_respone$control3","_respone$control3$tem","_respone$control3$tem2","_respone$control4","_respone$control4$tem","_respone$control4$tem2","_respone$control5","_respone$control5$tem","_respone$control5$tem2","_respone$control6","_respone$control6$tem","_respone$control6$tem2","_respone$control7","_respone$control7$tem","_respone$control7$tem2","_respone$control8","_respone$control8$tem","_respone$control8$tem2","_respone$control9","_respone$control9$tem","_respone$control9$tem2","_respone$control10","_respone$control10$te","_respone$control10$te2","_respone$control11","_respone$control11$te","_respone$control11$te2","_respone$control12","_respone$control12$te","_respone$control12$te2","_respone$control13","_respone$control13$te","_respone$control13$te2","_respone$control14","_respone$control14$te","_respone$control14$te2","_respone$control15","_respone$control15$te","_respone$control15$te2","_respone$control16","_respone$control16$te","_respone$control16$te2","_respone$control17","_respone$control17$te","_respone$control17$te2","_respone$control17$te3","_respone$control18","_respone$control18$te","_respone$control18$te2","_respone$control19","_respone$control19$te","_respone$control19$te2","_respone$control20","_respone$control20$te","_respone$control20$te2","_respone$control21","_respone$control21$te","_respone$control21$te2","_respone$control22","_respone$control22$te","_respone$control22$te2","_data$length","_data$widthInTable","_data$decimal","_data$min","_data$max","symbolNumber","useDate","fullYear","fileTypeFile","defaultValueImage","callback","shiftKey","ReferenceDocument","_props$selectedReport5","_props$mergeColumnRef4","_props$mergeColumnRef5","_props$mergeColumnRef6","_props$mergeColumnRef7","_props$conditions","_props$conditions$con","_props$conditions2","_props$conditions2$co","visibleDocControl","setVisibleDocControl","itemsControlLabel","itemsConditionList","conditionRefDoc","conditionType","defaultValueRefDoc","setDefaultValueRefDoc","defaultValueRefDoc2","setDefaultValueRefDoc2","defaultValueReport","setDefaultValueReport","actionSubmit","setActionSubmit","defaultValueDocControl","defaultValueDropDown","_props$mergeColumnRef","_props$mergeColumnRef2","mergeColumnRefDoc","columnRefDoc","_props$mergeColumnRef3","array2","arr3","setMergeColumnRefDoc","_fetchMyAPI","fetchMyAPI","MapData","dafault","setSelectedTemplateRef","mapDefaultData","_fetchDataTemplateById","fetchDataTemplateById","selectedReportRef","_newValueAlterSelected","newValueAlterSelected","setValueConfigColumnTable","selectedTemplateRef","_props$selectedReport","_props$selectedReport2","_props$selectedTempla","_props$selectedTempla2","mapper","_props$selectedReport3","_props$selectedReport4","selectedFieldList","_props$selectedTempla3","_props$selectedTempla4","_array2","_data3","prototype","setDefaultConfigColumn","AdvanceForm","defaultConfigColumn","setSelectedReportRef","_props$selectedReport6","_props$selectedReport7","templateCode","arrayCode","_response2","_dataReportTemplate","setDocDataSource","_selectedReportById","idReport","arrayReport","arrayMerge","optionGroupChildren","_props$selectedDocCon","_props$selectedDocCon2","_props$selectedDocCon3","selectedDocControlTemplate","setSelectedDocControlTemplate","renderIsDocControl","_e$value","selectedReportById","_val","_props$conditions3","_props$conditions3$co","_props$conditions4","_props$conditions4$co","_props$conditions5","_props$conditions5$co","_props$conditions6","_props$conditions6$co","_props$conditions7","_props$conditions7$co","_props$conditions8","_props$conditions8$co","maxHeight","FooterTableComponents","_props$footerTable2","_props$footerTable2$r","footerData","setFooterTable","_props$footerTable3","_props$footerTable3$r","_props$footerTable5","_props$footerTable5$r","_props$footerTable7","_props$footerTable7$r","_props$footerTable10","_props$footerTable10$","_props$footerTable4","_props$footerTable6","_props$footerTable8","_props$footerTable9","_props$footerTable","_footerTable","deleteFooterTable","setLayoutIdx","activeIndex","setActiveIndex","TabMenu","onTabChange","deleteColumn","ImageComponents","widthControl","setWidthControl","heightControl","setHeightControl","fileTypeImage","preview","ModalCreateComponents","richText","_itemsLength","itemIdx","_templatesDes","templatesDes","_templatesDes$attribu","defaultCheckBoxHeading","defaultValueReportTable","defaultValueTemplateTable","defaultValueFooterTable","defaultValueConfigColumnTable","_templatesDes$attribu2","_templatesDes$attribu3","_templatesDes$attribu4","_templatesDes$attribu5","_templatesDes$attribu6","_templatesDes$attribu7","_templatesDes$attribu8","_template","_templatesDes$attribu9","docRef","setDefaultValueDocControl","_templatesDes$attribu10","_templatesDes$attribu11","_templatesDes$attribu12","_templatesDes$attribu13","_templatesDes$attribu14","_templatesDes$attribu15","_templatesDes$attribu16","_templatesDes$attribu17","_templatesDes$attribu20","_templatesDes$attribu21","_templatesDes$attribu22","_templatesDes$attribu23","_templatesDes$attribu18","_templatesDes$attribu19","_templatesDes$attribu24","_templatesDes$attribu25","_templatesDes$attribu26","_array","_templatesDes$attribu27","_templatesDes$attribu28","_templatesDes$attribu32","_templatesDes$attribu33","_templatesDes$attribu37","_templatesDes$attribu38","_templatesDes$attribu29","_templatesDes$attribu30","_templatesDes$attribu31","_newDoc","docNewDocArray","newDoc","_templatesDes$attribu34","_templatesDes$attribu35","_templatesDes$attribu36","_docEditDoc","docEditDocArray","_template2","_templatesDes$attribu39","_templatesDes$attribu40","_templatesDes$attribu41","_docCancelDoc","docCancelDocArray","_template3","templates","_templates","requestDataToLayout","updateChanges","checkUnique","defaultDataValue","_defaultDataValue","_dataRequest2","_defaultDataValue2","_dataRequest3","_defaultDataValue3","_dataRequest4","_defaultDataValue4","_dataRequest5","_defaultDataValue5","_dataRequest6","_defaultDataValue6","_dataRequest7","_defaultDataValue7","_selectedReportRef$do","_selectedReportRef$do2","_selectedTemplateRef$","_dataRequest8","_defaultDataValue8","_dataRequest9","_dataRequest10","defValue","_defaultDataValue9","_data$width","_data$height","_dataRequest11","_defValue","_defaultDataValue10","_dataRequest12","_defaultDataValue11","_dataRequest13","_defaultDataValue12","_dataRequest14","_defaultDataValue13","index2","_dataLayout$template$","labelHeading","autoRowNumber","textButton","setVisibleCreateControl","visibleCreateControl","TinyMceComponent","loadingTextFromValue","setLoadingTextFromValue","textFromValue","setTextFromValue","FormSettingComponent","viewModalControl","setViewModalControl","setItemsIdx","setLayoutLength","column1","column2","findUnique","viewManageComponent","setViewManageComponent","setControlModel","IsTextForm","BsFileEarmarkText","BsFileFont","droppableProps","_data$template","_data$template2","no_words","deleteControl","unique","newCol1","unique1","unique2","newCol2","copyLayout","BiCopyAlt","deleteLayout","SelectCondition","_selectedColumn$contr","_selectedColumn$contr2","setSelectedColumn","setOptions","numCondition","setNumCondition","isMultiValue","setIsMultiValue","multiOptions","setMultiOptions","multiValues","setMultiValues","isCheckBox","setIsCheckBox","updateData","SelectDataFormTable","setGlobalFilterValue1","global","filters1","setFilters1","globalFilter","_filters1","headerStyle","AddMatrixForm","positionLevelOptions","setPositionLevelOptions","matrixOptions","setMatrixOptions","setShowDialogFootter","maxLevel","setMaxLevel","setPositionLevel","approvalMatrixDD","setApprovalMatrixDD","setConditionsValue","specficApprovals","setSpecficApprovals","dialogTitle","setDialogTitle","dialogBody","setDialogBody","loadingSelectData","setLoadingSelectData","defSignatureID","setDefSignatureID","temSeq","setTemSeq","loc","setLoc","dtp","setDtp","doa","setDoa","spc","setSpc","isParallel","setIsParallel","parallelType","setParallelType","approveSlot","readHide","setReadHide","isRead","setIsRead","isHide","setIsHide","isNewReq","setIsNewReq","templateSelected","setTemplateSelected","_useState57","_useState58","setTemplateSelectedField","labelStyle","fontStyle","ColumnJsonCondValue","actionFeild","isRequester","ReadHide","MaxLevelId","Line_of_Command","Direct_to_Position","matrixList","Approval_MatrixId","Design_of_Authority","Specific_Approver","spc_isParallel","IsParallel","IsApproveAll","approverSlot","ApproveSlot","setDefValue","signatureList","masterId","componentName","specific_Approver","TemLineId","EmployeeName","SpecificTypeId","SignatureID","_fetchMatrixData","matrix","_callSelectUserDialog","_callSelectRoleDialog","fetchMatrixData","_fetchTemplatData","fetchTemplatData","allApproveLength","templateCol","OnchangeTemplate","templateChange","FiPlus","callSelectUserDialog","callSelectRoleDialog","SignatureId","ApproveMatrix","redundant_Approver","setRedundant_Approver","auto_Approve","setAuto_Approve","allApprovals","setAllApprovals","selectedApprovals","setSelectedApprovals","setTemplateLogics","setDialogMode","onRedundantChange","AutoApprove","ApproverCanEdit","IsCheckAccess","GetApproveType","ApproveTypeId","TemLineApprove","spc_approval","TemplateLogic","approval","LstCondition","Tem_LineId","_approval","ApprovalMatrixId","eIdx","logicControl","cons","methodtype","InsertType","amountstatus","Logictype","Jsonvalue","setLogicsApprover","specificApprovers","controlModel","spcApprove","tem","_ColumnJson","spcApproves","maxLevelName","matrixId","Leng","GetMatrixData","MaxLevelName","maxLevelId","GetMaxLevelName","setAllApprovalsForControl","AutoApproveWhen","AddMatrixCondition","appSpcific","_rowData$Conditions","_rowData$Conditions$C","allSelected","RiFileCopy2Line","newSpcApprovals","approveType","_ColumnJsonCondValue","spc_isApproveAll","CheckboxCpmponents","notLable","InformationComponents","_props$checkValidatio","_props$InformationDat","_props$InformationDat2","_props$InformationDat3","_props$InformationDat4","_props$InformationDat5","_props$InformationDat6","_props$InformationDat7","_props$InformationDat8","_props$InformationDat9","_props$InformationDat10","_props$InformationDat11","_props$InformationDat12","_props$InformationDat13","_props$InformationDat14","_props$InformationDat15","_props$InformationDat16","InformationDataProps","filteredAutoComplete","setFilteredAutoComplete","setKey","setIsloading","setDepartmentSelect","toSelect","setToSelect","ccSelect","setCcSelect","toName","setToName","ccnName","setCcName","setCategoryFilter","isMobile","setIsMobile","toValue","setToValue","CCValue","setCCValue","checkDevice","isMobileDevice","navigator","userAgent","dataToAndCC","_dataToAndCC","_to","_cc","_employeeData","_toArray","_toName","_ccArray","_ccName","ToId","CcId","_event","ExpiredDate","RegisteredDate","_fechDepartment2","_fechDepartment","_fechEmployee2","_fechEmployee","showDialogEmp","setShowDialogEmp","employeeList","_props$InformationDat17","_Department","_dataFilterDepartmentId","_department","_props$InformationDat18","_CheckboxCpmponents","_CheckboxCpmponents2","setControlModelObj","_InputText","_InputText2","selecteOrTypeListInToAndPass","_AutoComplete2","_ToArray","_CcArray","searchAutoComplete","_filteredEmployee","dataemployee","customModalStyle","filterToCC","destroyAll","columnsTo","danger","RiDeleteBin6Line","columnsCC","showMore","insertDataByEnter","toArr","ccArr","auto","checkValidation","_filtered","isVersion","TemplateSubject","isPDFShowInfo","ReportLang","isRequesterEditApproval","isFormControl","RequiredAttachment","TemplateDetailSideBarElement","sideBarData","setSideBarData","isEnabledPDFDesign","_sideBarData","IoAlertCircleOutline","BsNewspaper","IoPeopleOutline","IoShieldCheckmarkOutline","isCopy","isDialogVisibleProps","dataProps","findData","setDataProps","showModalProps","searchDataProps","onRowSelect","onRowSelectProps","setisDialogVisibleProps","sortField","sortOrder","AuthorizationTableDepartment","departmentSelect","departmentPlaceholderDropdown","setDepartmentPlaceholderDropdown","_arrayNull","departmentListProps","departmentRequestProp","depID","depaction","_dataMap","_arrayFilter","departmentManageProp","gatPlaceholder","depname","setValueProps","_setDepartmentSelect","AuthorizationDepartmentModel","departmentSelectManage","setDepartmentSelectManage","departmentSelectRequest","setDepartmentSelectRequest","onSave","setVisibleProps","globalFilterValueTemplate","visibleProps","_Arrayfilters","AuthorizationPermissionModel","_permissionType$formc","_permissionType$formc2","_permissionType$formc3","_permissionType$formc4","_advanceFormLabal$","_permissionType$formc5","_permissionType$formc6","_permissionType$Permi","_permissionType$Permi2","_permissionType$Permi3","permissionType","setPermissionType","setRole","roleName","setRoleName","advanceFormLabalSelect","setAdvanceFormLabalSelect","ValueType","valueType","setValueType","Informition","informition","setInformition","setCompany","setDepartment","departmentName","setDepartmentName","companyAction","setCompanyAction","companyActionEdit","setCompanyActionEdit","advanceFormLabal","setAdvanceFormLabal","RoleValidation","DepartmentValidation","CompanyValidation","validation","setValidation","editTablePermissionProps","permissiontype","arrayRole","ids","dataRole","_props$editTablePermi","arrayDepartment","companyData","CompanyId","_advanceFormJson$item","actionProps","_arrayAdvanceFormLabal","__data","_arrayColumn","_Informition","formcontrol","labelInformition","Information","_advanceFormJson","advanceFormProps","_arrayRolePermission","Print","Copy","_objTable","Description","setDataTable","setDataAuthorization_view","labeltype","labelcolumnname","labelvaluetype","dataFile","Authorization_view","setDataAuthorization_viewEdit","_uuid","uuidv4","Download","labelvalue","_arrayRole","_arrayRoleName","_dataRole","_Role","typee","_arrayCompany","_dataCompany","_Company","_arrayDepartment","_arrayDepartmentName","_newData","AuthorizationComponent","_props$controlModel","_props$controlModel$A","_props$controlModel2","_props$controlModel2$","visibleModel","setVisibleModel","visiblePermissionModel","setVisiblePermissionModel","roleManage","setRoleManage","companyManage","setCompanyManage","companyRequest","setCompanyRequest","roleRequest","setRoleRequest","departmentManage","setDepartmentManage","departmentCompanyManage","setDepartmentCompanyManage","departmentCompanyRequest","setDepartmentCompanyRequest","departmentRequest","setDepartmentRequest","objectDataAuthorizationProps","Employee","permissionTable","setPermissionTable","setAuthorization_view","keyAuthorization_view","setKeyAuthorization_view","editTablePermission","setEditTablePermission","_SpecificEmployeeId","SpecificEmployeeId","_specificArray","dataTo","RoleID","_GameRoleID","SpecificRoleID","Authorization_manage_department","_DepartmentData","Authorization_request_company","_arrayManageCompanyDepartment","_ManageCompany","_arrayManageCompany","companyDataFilter","Company","_dataFilterCompany","Authorization_manage_company","Authorization_request_department","_DepartmentGetJson","_arrayRoleTable","_dataTable2","_dataAuthorization_view2","_dataAuthorization_viewEdit2","_VisibleModel","_onDeleteRow","dataRow","_arrayPush","_arrayPushPermissionTable","roleDataFilter","Role","_specificEmployeeId","_RoleIdManage","_RoleIdRequest","_CompanyManage","_CompanyRequest","Name","_VisibleEditModel","VersionAndHistoryTable","previewVersionTemplate","_previewVersionTemplate","documentCode","getUrl","baseUrl","ModifiedByName","VersionAndHistoryComponents","setVersionCheckProps","SetVersionDataProps","VersionDataProps","templateListVersionHistoryProps","VersionTempVCProps","ObjectDataAuthorizationProps","version","Boolean","value3","value5","VersionCheckProps","value4","versionCheckProps","dataCompany","TableTemplateDialogComponentsFixed","refTemplateList","rowSelectedData","onSaveObjTable","objectTable","setObjectTable","convertType","_type","hide","onShow","Template","dragSelection","_newObj","ReferenceDocumentDialogFix","listRefTemplateProps","templateList","visibleRefenceDocumentDialog","setVisibleRefenceDocumentDialog","Display","Affiliation","Quarter","ReferenceAttachment","IsDefaultLineApprove","DocControl","selectField","tableDialog","listRefTemplate","rowDataTable","ReferenceForm","TemplateNewDoc","TemplateEditDoc","TemplateCancelDoc","SaveDataTable","referenceDocumentDialogObject","setReferenceDocumentDialogObject","searchTemplateList","setSearchTemplateList","setSelectField","tableRefDialog","setTableRefDialog","tableRefData","setTableRefData","tableRefDialogHeader","setTableRefDialogHeader","templateAddCodeMulti","setTemplateAddCodeMulti","selectFieldtoshow","setSelectFieldtoshow","listMasterData","setListMasterData","onShowDialog","_templateForm$RefDocD","_listRefTemplateProps","docControl","mappingLstMaster","defaultRefModel","templateAddCode","_IsDocControl","isDocControl","D_NewTpl","D_EditTpl","D_CanTpl","dynamicSelect","_lstMasterData","lstMasterData","_lstMasterData$find","_lstMasterData$find2","_lstMasterData$find3","_lstMasterDataSplitD_NewTpl","masterType","_lstMasterDataSplitD_EditTpl","_lstMasterDataSplitD_CanTpl","seltectItems","_RefDocColumn","selectedCol","objs","newOBJ","selectedOBJ","_ReferenceDocumentDialog","_Object","_controlModel$templat","_e$selectedValue","_e$selectedValue2","_e$selectedValue3","_controlModel","lstMastData","_list","newTplId","editTplId","canTplId","requestModelD_NewTpl","createdBy","createdDate","modifiedBy","modifiedDate","requestModelD_EditTpl","requestModelD_CanTpl","lstMastDataFunction","_MapSelectTable","_MapSelectTable2","_arraySelect","_referenceDocumentDialogObject","_MapSelectTableItem","_MapSelectTableItem2","_arraylayout","getOptions","first","_refObject","_rowData$selectedValu","_referenceDocumentDia","_refTemp","_selectField","ReferenceDocumentComponentsFix","_props$listRefTemplat","_props$listRefTemplat2","isLoadTemplate","setIsLoadTemplate","mstTemplateList","setMstTemplateList","fecthRefTemplate","newRef","onClickAction","filterRefDocColum","controlModelObj","ReferenceInformationDialog","refInformation","listRefInformationProps","setRefInformation","setLogicsRefIn","refLogic","requestSelected","setRequestorSelected","requestField","setRequestorField","_fetchRequestorData","fetchRequestorData","refValue","arrayRef","ReferenceInformation","referenceData","setReferenceData","setRefLogic","dataValue","_props$dataLogic","fecthRefInformation","Logics","cMSTTemplateLogic","PDFEditorContext","PDFEditorProvider","w","h","static","minW","layoutType","paperLayout","setPaperLayout","doctype","pageAmount","gridSize","isDragingFromOutSide","pageProperty","setPageProperty","selectionBlock","setSelectionBlock","refHtml","updatePageProperties","prevSettings","addLayout","parent","targetParent","childList","round","minH","tempAttibute","fontFamily","isBold","isItalic","isUnderlined","hAlign","vAlign","urlLink","hideLabel","backgroundSize","onSelectPropertyChange","_selectionBlock","newLayout","_layout$children","child","onDeselected","removeSelectedChild","_e$children","usePDFEditor","PDFCompontButton","unselectable","onDragStart","dataString","dragingType","PDFToolBar","reportTem","controlItem","setControlItems","getItems","getIcon","CollapsePanel","_e$template","_item$template","_item$template2","_item$template3","_item$template4","fontStyte","TabsButton","activeKey","setActiveKey","ColorPicker","onChageColor","overlayClassName","SketchPicker","hex","onChangeComplete","BgColorsOutlined","PDFEditorToolBar","_tabsItems$find","fontList","_usePDFEditor","controlProperty","setControlProperty","isLinkModalOpen","setIsLinkModalOpen","linkUrl","setLinkUrl","ConfigProvider","config","theme","primaryColor","imagmeToolComponent","newProps","textToolComponent","BoldOutlined","ItalicOutlined","UnderlineOutlined","AlignLeftOutlined","AlignCenterOutlined","AlignRightOutlined","VerticalAlignBottomOutlined","VerticalAlignMiddleOutlined","VerticalAlignTopOutlined","LinkOutlined","_selectionBlock$templ","tabsItems","centered","_e$children2","StaticInput","_template$attribute3","_template$attribute4","_template$attribute5","_template$attribute6","_template$attribute7","_template$attribute8","resize","StaticImage","onUploadComplete","imageUrl","setImageUrl","getLink","imgSize","contain","cover","imgUrl","uploadButton","LoadingOutlined","PlusOutlined","Upload","listType","beforeUpload","isImage","showUploadList","uploadedFile","originFileObj","DropableComponent","paperWidth","rowHeight","tableDisplay","keyCode","renderContent","_layout$template$attr7","_layout$template$attr8","_layout$template$attr9","_layout$template$attr10","_layout$template2","_layout$template2$att","isStaticText","isSelected","_layout$template$attr6","childrenLayout","_layout$template3","_layout$template$attr11","_layout$template$attr12","_layout$template$attr13","_layout$template$attr14","_layout$template$attr15","_layout$template$attr16","_layout$template$attr17","_layout$template$attr18","_layout$template$attr19","_layout$template$attr20","isPortrait","resizeHandles","isDraggable","isResizable","isBounded","GridLayout","isDroppable","containerPadding","allowOverlap","preventCollision","onDragStop","layouts","_e$children3","onResizeStop","_e$children4","onDrop","getData","PaperLayout","WidthProvider","Responsive","_pageProperty$pageSiz6","_refPaper$current5","scale","refPaper","_refPaper$current","parentElement","_refPaper$current2","_refPaper$current2$pa","_refPaper$current3","_refPaper$current3$pa","boardWidth","clientWidth","boardHeight","clientHeight","offsetX","transform","handleZoom","breakPages","lines","top","renderedPaperLayout","_refPaper$current4","offsetWidth","onResize","_refPaper$current6","bodyElement","querySelector","HTMLElement","_pageProperty$pageSiz","_pageProperty$pageSiz2","_pageProperty$pageSiz3","_pageProperty$pageSiz4","_pageProperty$pageSiz5","checkForNewPage","offsetHeight","oldItem","newItem","PDFTemplateComponent","templatePDF","setScale","isEnabled","setIsEnabled","JsonLayout","JsonProps","genFormat","requestResult","_refHtml$current","elements","allDivElement","tableCount","tempAfter","beforeTb","isBeforeTb","afterTb","tableControl","Alabel","html","getDivForTemplate","_tempAfter","_step2","_iterator2","HeaderLayout","BodyLayout","FooterLayout","tempDiv","cloneNode","outerHTML","right","ZoomOutOutlined","ZoomInOutlined","createVersionMasterData","createFormControl","isPublic","TemplateDetail","TextForm","IsEdit","DepID","DocTypeCode","TemplateType","PDFLanguage","Location","To","CC","TemplateDesc","LineOfCommand","MaxLevelID","SpecificApprover","DOA","ApprovalMatrixID","CC_Viewer","ApproverCanEditContent","Modified","MultiDeptId","ReqAttach","AutoStartTemplate","AutoStartColumn","AdvanceRefCondition","specificTempApprovers","VEmployee","cMSTApprovalMatrix","cMSTPositionLevel","cMSTCompany","cMSTMasterData","_controlModel$templat15","_controlModel$templat16","_controlModel$templat17","selectView","setSelectView","setControlVersionModel","createVersionMasterModel","setCreateVersionMasterModel","groupTemplateName","setGroupTemplateName","templateNameWithCode","setTemplateNameWithCode","setTemplateId","isDelete","setIsDelete","isCopyValue","setIsCopyValue","setIsVersion","setIsLoad","positonLevelList","setMatrixList","setVersion","versionStatus","setVersionStatus","versionCheck","setVersionCheck","setReportTem","setFontList","sinatureOptions","setSinatureOptions","versionTempVC","setVersionTempVC","templateListVersionHistory","setTemplateListVersionHistory","_useState59","DepartmentManage","DepartmentRequest","_useState60","objectDataAuthorization","setObjectDataAuthorization","_useState61","_useState62","validationInformation","setValidationInformation","_useState63","_useState64","logicsApprover","_useState65","_useState66","logicsRefIn","_useState67","_useState68","setDataLogic","intiFunc","_isCopyValue","_fetchPositionLevel","fetchPositionLevel","_fetchMatrix","fetchMatrix","_fetchMasterData","fetchMasterData","_fetchDataAuthorization","fetchDataAuthorization","_templateVersionCode","_versionTemplate","_versionFunction","versionFunction","companies","_dataFilterDepartment","signatrue","allHistory","_fontList$","_fontList$$Value","_templateList","_templateIdList","_dataLogic","_templateIdList2$temp","_templateIdList2$temp2","_templateIdList2$temp3","_templateIdList2","_dataLogic2","TemplateVersionCode","VersionTemplate","versionTemplate","refTemplateByEditFunction","advanceFormByEditFunction","_dataVersion","_arrayVersion","_dataVersionTempVC","_templateListVersionHistory","_refTemplateByEditFunction","_RefTemplate","_dataTemplatetMasterData","_dataAuthorizationMasterData","_manage_company","_manage_department","_request_company","_request_department","_Authorization_view","_manage_companyArrayIndx0","_request_companyArrayIndx0","_manage_departmentArrayIndx0","_request_departmentArrayIndx0","Authorization_for_ViewIndx0","lstMasterDataByEditFunction","_lstMasterDataByEditFunction","_MasterData","_dataTemplatetMasterDatafilter","_templateIdList$templ","addTemplateDetail","_addTemplateDetail","previewTemplate","_previewTemplate","_userData$EmployeeId2","_userData$EmployeeId3","_cMSTTemplateLogic","_dataTemplateByDocTypeCode","_history","_control$templateForm","_templateListVersionH","_userData$EmployeeId4","_controlModel$templat2","_controlModel$templat3","_controlModel$templat4","_controlModel$templat5","_controlModel$templat6","_checkValidationOBJ","_controlModel$templat7","_controlModel$templat8","_controlModel$templat9","_controlModel$templat10","_controlModel$templat11","_controlModel$templat12","_controlModel$templat13","_controlModel$templat14","_checkValidationOBJ2","_userData$EmployeeId5","cMstMasterData","responeAddTemplate","typeTemplate","go","isActiveTemp","FaRegCopy","MdPreview","minWidth","isLoadProps","stateProps","ForgotPasswordScreen","haveKey","setHaveKey","isSuccess","setIsSuccess","remark","setRemark","confirm_password","checkKey","FiChevronLeft","goBack","autoComplete","DelegateApplyTo","delegateTemplate","setDelegateTemplate","selectedCustomers","setSelectedCustomers","fetchDelegateTemplate","delegateData","DelegateList","templateData","_delegateDetail","DelegateDetail","current_sorted_idx","setDelegateData","filterPlaceholder","DescriptionConfigComponent","setDescription","saveChange","_listAttach","Index","modified_date","setVisibleStatus","BiCommentEdit","visibleStatus","DelegateInformation","_props$delegateData","attachData","setAttachData","fileData","setFileData","requestFile","setRequestFile","setPathData","descriptionValue","setDescriptionValue","setEmployeeData","currentModal","setCurrentModal","isDialogApproverVisible","setIsDialogApproverVisible","approverTextFilter","setApproverTextFilter","setApprover","dateRange","deleteVisible","setDeleteVisible","descriptionRespone","rowDeleted","setRowDeleted","setSearchEmployee","DelegateToId","delegater","setDelegater","_date","_attachmentData","AttachmentList","_delegater","attachment","ActorId","DateFrom","DateTo","formatDateTimeToMoment","formatDateTimeWithSlash","formatDateTimeAttachment","rowDelete","reoderSequence","_onUploadFile","attachWorkList","lastFile","NewDate","newFile","AttachedDate","AttachFile","FileName","FilePath","onError","userName","showModalApprover","usePeriod","setUsePeriod","BiUpload","confirmDialogfunction","sequenceIndex","DelegateSideBar","DelegateScreen","attachmentData","setAttachmentData","errorState","setErrorState","delegateId","setDelegateId","fetchDelegate","fetchAttachment","DelegateId","_delegateData","_attachList","valid","onDelete","jsonData","MdDeleteOutline","getAllEmailTemplate","getEmailTemplateById","AddEmailTemplate","updateEmailTemplate","EmailTemplateDetail","_Dropdown","_EmailTemplate2","_getEmailTemplate","_EmailTemplate","_textEditor","EmailBody","_clickSelectProps","clickSelectProps","_textEditoPropsr","_clickSelectText","EmailTo","FormState","EmailCC","EmailSubject","createEmailTemplate","EmailTemplateId","TemplateDocumentCode","CreatedByName","setDataTreeSelectProps","setFormSelect","clickSelect","setClickSelect","formSelectLabel","setFormSelectLabel","emailTemplateObj","setEmailTemplateObj","_onSave","_emailTemplateObj","_dataEdit","_responeData","_templateDropdown","_fetchEmailTemplateById","_dataAdvanceForm","layoutLabel","_emailTemplateId","fetchEmailTemplateById","onClickSelect","SimLineSideBar","InitialComponent","nameTh","ResultComponent","DashboardCard","_props$dashboard","_props$dashboard2","dashboard","TextAbstract","_data$items","headData","colorValue","statusCard","_color","_color$split","_color$split2","Memo_StatusName","endpoint","RiDatabase2Line","DashboardCalendar","dataCalendar","setDataCalendar","setDefaultValueDashboard","_mapData","_color$split3","_color$split4","allDay","renderStatusView","_status","_status$split","_status$split2","displayName","_element$split","_element$split2","tt","_dd","zz","zz15","priority","valueDropdownInCalendar","FullCalendar","dayGridPlugin","timeGridPlugin","interactionPlugin","initialView","weekends","eventClick","jsEvent","headerToolbar","center","dayMaxEvents","events","DashboardTimeline","dataTimeline","setDataTimeline","dataGroups","setDataGroups","rightTitle","start","end","bgColor","itemProps","onMouseUp","sideBarWidth","setSideBarWidth","Timeline","groupIdKey","groupTitleKey","groupRightTitleKey","itemIdKey","itemTitleKey","itemDivTitleKey","itemGroupKey","itemTimeStartKey","itemTimeEndKey","groupLabelKey","groups","defaultTimeStart","defaultTimeEnd","itemHeightRatio","canMove","canResize","stackItems","sidebarWidth","TimelineHeaders","SidebarHeader","getRootProps","MinusCircleOutlined","PlusCircleOutlined","DateHeader","unit","GetAllProject","itemFilter","setResponeConfig","op","ref2","isMounted","filterGroupBy","setFilterGroupBy","dataFilterGroupBy","setDataFilterGroupBy","ItemsStatus","setItemsStatus","dataAdvancedFilter","setDataAdvancedFilter","dataAdvancedFilterList","setDataAdvancedFilterList","setDashboard","setFilter","selectedFilter","setSelectedFilter","setEndpoint","onSetSelectView","setStatusCard","setEmployeeList","project","setProject","selectedProject","setSelectedProject","setSelectedStatus","keyEnter","setKeyEnter","onClickFilter","setOnClickFilter","filterAttribute","setFilterAttribute","isOpenDateFilter","setIsOpenDateFilter","setValueDropdownInCalendar","isFetchData","setIsFetchData","responseConfig","_filter","_responeDefaultAdvanced","_endpoint","_advancedFilter","_filterGroupBy","_statusCard","_mapGroupData","defaultAdvancedFilter","FilterAdvanceSearch","MapDataEndpoint","MapGroupData","fetchProject","defaultFilterStatus","_defaultAdvancedFilter","_filterStatus","_defaultFilter","dataMapping","_dataItemFilter","_fieldText","_fieldType","_fieldTextFrom","_fieldTextTo","_filterParameter","fieldType","fieldTextFrom","fieldTextTo","_itemFilter","fieldDisplay","fieldCode","fieldSpited","fieldText","_data$split2","userPrincipalName","connectionString","_fetchProject","_Project","arrayProject","ProjectName","_defaultFilterStatus","sleep","ms","timeoutHandler","_timeoutHandler","globalFilterInput","advancedSearch","_advancedSearch","_filterAttribute$item17","_filterAttribute$item18","_filterAttribute$item19","_filterAttribute$item20","responeTest","_dropdown","_dropdown$dropdown","_dropdown$dropdown2","_dropdown$dropdown3","_dropdown$dropdown4","statusValue","_dropdown$value$","_dropdown$value$2","_dataArray2","jj","_element$data","OverlayPanel","_op$current2","_op$current3","_filterAttribute$item","_filterAttribute$item2","_filterAttribute$item3","_filterAttribute$item4","_filterAttribute$item5","_filterAttribute$item6","_filterAttribute$item7","_filterAttribute$item8","_filterAttribute$item9","_filterAttribute$item10","_filterAttribute$item11","_filterAttribute$item12","_filterAttribute$item13","_filterAttribute$item14","_filterAttribute$item15","_filterAttribute$item16","nameValue","_e$value2","_e$value3","_dataByLang","_e$value4","projectValue","_e$value5","_e$value6","_dataByProject","_op$current4","BsLayoutThreeColumns","IoCalendarOutline","BsCalendarRange","_op$current","FiFilter","BsChevronDown","overflowY","GetLogApi","PostedDate","LogApi","postDate","setPostDate","textLog","setTextLog","fetchGetLogApi","_fetchGetLogApi","_Log","onSearch","enterButton","EmailTemplateList","columnsHeader","setcolumnsHeader","Header","arrayHeader","columnComponents","emailTemplate","setEmailTemplate","LeaveTypeComponents","_props$leaveTypeTable","leaveTypeTable","InformationComponent","_props$getInformation","_props$refAttibutePro","_props$refAttibutePro2","_props$refAttibutePro3","_props$refAttibutePro4","_props$refAttibutePro5","_props$refAttibutePro6","_props$refAttibutePro7","_props$refAttibutePro8","_props$refAttibutePro9","_props$refAttibutePro10","_props$refAttibutePro11","projectData","setProjectData","setCanNotEdit","treeTemplate","setTreeTemplate","companyList","setCompanyList","nameEnCompanyTo","setNameEnCompanyTo","nameEnCompanyCc","setNameEnCompanyCc","searchDataCc","setSearchDataCc","searchCompanyData","setSearchCompanyData","searchRefDocData","setSearchRefDocData","setSubject","globalFilterValueCc","setGlobalFilterValueCc","globalFilterCompanyValue","setGlobalFilterCompanyValue","globalFilterRefTempValue","setGlobalFilterRefTempValue","isDialogVisibleCc","setDialogVisibleCc","isDialogVisibleCompany","setDialogVisibleCompany","isDialogVisibleRefTemp","setDialogVisibleRefTemp","selectProject","setSelectProject","selectedEmployeeTo","setSelectedEmployeeTo","filteredEmployeeTo","setFilteredEmployeeTo","selectedEmployeeCc","setSelectedEmployeeCc","filteredEmployeeCc","setFilteredEmployeeCc","refTempSelectedProps","setRefTempSelected","selectFormTemplate","setSelectFormTemplate","searchTemplateListEditing","setSearchTemplateListEditing","setIsSearchTemplateEditing","locationPathName","coreRender","setCoreRender","onLazyLoad","setOnLazyLoad","refAttibuteProps","setListRefDocsDetail","_TemplateListEditing","searchTemplateEdit","dataStatusDraftSetDateNew","setInformationTemplate_Desc","formatDateTimeDataReQuest","created_date","checkCanEdit","getInformationMethodProp","setIsSetCanEdit","_detail$listFormName$","getInformation","_getInformation","info_template","fetchDataCompany","copyInformation","getInformationTemplateProp","fetchDataTemplateByid","dataGetInformationMethodProp","templateListFormName","template_detail","setGuid","document_set","dataGetInformationMethodMemoProp","_setGuid","_templateListFormName","_props$requestDetail","_templateIdListFormName","setListFormName","_dataGetInformationMethodProp","_dataSetInformation","modified_by","created_by","auto_approve_when","template_code","document_no","company_name","project_id","TemplateListEditing","refId","selQuery","refDoc","CompanyCodeWithName","onGlobalFilterChangeCc","onGlobalFilterCompanyChange","dataCpl","_data$AddressEn","_project","answer_array","dataName","_answer_array","_fetchDataTemplateByid","setOnLoadLineApprove","fetchDataLineApproveWithTemplate","_fetchDataLineApproveWithTemplate","localStorageData","_templateByid","lineApprove","responeAprovaWithTemplate","getLineApprove","setLineApporve","_fetchDataCompany","responeCompanyData","onChangeSubjectMemo","showModalCompany","showModalRefTemp","showModalCc","onChangeSelectProject","ProjectId","setSelectedEmployeeToFunction","setSelectedEmployeeCcFunction","isCopyProps","isBranchFromADTitle","branchFromADTitle","searchEmployeeToEnter","searchEmployeeCcEnter","isHideProject","virtualScrollerOptions","itemSize","panelStyle","checkTypeLeave","isTextFromValue","showControl","setShowControl","selectedView","errorResult","errorTable","datafilterEmployee","useBreakpoint","Grid","LineApprovalsComponent","lineData","setLineData","setdataEmployeeList","setGlobalFilterValue2","setCanEdit","fromIndex","setFromIndex","moveToNumber","setMoveToNumber","fetchApprovals","_fetchApprovals","getLineAproveMethodProp","signature_id","signature_th","sig","getRequestorDetailProp","setLineApproveMethodProp","statusBodyTemplate","sinatures","rowInx","onSelected_Sinatures","acceptMoveto","targetIndex","moveItem","scrollDirection","raw","lastData","lineid","addData","RequestorComponent","actionAdd","setIsActionAdd","masterEmployee","setRequestor","renderSelectedRequestor","isADTitleToPosition","masterATDLFT","selectedRows","setSelectedRows","indexState","setIndexState","setDescriptionRespone","configFile","setConfigFile","fechData","filterArr","maxMb","memo_id","is_merge_pdf","IoMdAlert","_selectedRows$find","splitPath","cannotDownloadPdfAppSetting","_listFormNames$RefDoc","_memoDetail$Permissio","rootPath","docPath","lastIndex","extension","checkCanDownload","checkCanDownloadAttach","checkRoleId","checkDLAttach","downloadFileType","_listFormNames$RefDoc2","_memoDetail$Permissio2","_rootPath","_docPath","_fullName","_lastIndex","_extension","_name","_checkCanDownload","_checkCanDownloadAttach","_checkDLAttach","_downloadFileType","_checkRoleId","roleId","AttachDownload","cannotDowLoadPDFDefault","_selectedRows","_SecRow","handleCheckboxChange","RequestSideBarElement","setSidebar","sidebarM","setSidebarM","BsPerson","AiOutlineApartment","ImAttachment","SideBarDataResponsive","workList","AiOutlineHistory","MemoSingleButton","GetMemoAuthorized","RegisterWolfAccount","CheckRolePermission","thispermiss","permiss","RequestScreen","_requestDetail$memoDe4","setTtemplateId","setMemoId","dataTreeSelectProps","listFormNameState","setListFormNameState","isSetCanEdit","templateTree","setTemplateTree","setCheck","setImgLoading","setErrorResult","setErrorTable","isActionPdf","setIsActionPdf","setIsTextFromValue","setIsShowPdfButton","requestorId","setRequestorId","setCheckTypeLeave","onLoadLineApprove","setPreviewTemplate","setIsHideProject","_useState69","_useState70","setBranchFromADTitle","_useState71","_useState72","setIsBranchFromADTitle","_useState73","_useState74","_useState75","_useState76","isActiveADTitleToPosition","setIsActiveADTitleToPosition","_useState77","_useState78","_useState79","_useState80","refAttibute","setRefAttibute","_useState81","_useState82","memoPageModel","approver_can_edit","auto_approve","costcenter","department_id","document_library","is_editable","is_public","last_action_by","last_status_id","last_status_name","status_id","_useState83","_useState84","setLeaveTypeTable","_requestDetail$memoDe","_requestDetail$memoDe2","_requestDetail$memoDe3","fetchLineApproveWithSummary","_queryData","queryData","_requestDetail$memoDe5","fetchTemplateDocTypeCode","onCheckPermission","checkRefTemplate","_checkRefTemplate","_memoPageModel$listRe","_refDoc","refObject","refDocsDetail","results","docDetail","replaceTitleInfo","_replaceTitleInfo","_responeADTitle$activ","_responeADTitle","_respone$memoDetail","_respone$memoDetail$r","_respone$memoDetail2","_respone$memoDetail2$","_respone$memoDetail3","_respone","_respone$0$Value","_respone$","_display","_dataReplace","documentElement","activeBranchFromADTitle","activeADTitleToPosition","checkLeaveRequestTemplate","_checkLeaveRequestTemplate","_leaveTemplate","_listFormName","_memoPageModel","_template$SpecificEmp","_template$SpecificEmp2","_template$SpecificRol","_template$SpecificRol2","emp_authorize","role_authorize","isEmpAuthorize","isRoleAuthorize","_template2$SpecificEm","_template2$SpecificEm2","_template2$SpecificRo","_template2$SpecificRo2","_empid","_emp_authorize","_role_authorize2","_isEmpAuthorize","_isRoleAuthorize","_roles","_role","permission","editDataMemoDetail","fechMemoDetail","fechMemoButton","_fetchLeaveTemplate","fetchLeaveTemplate","_fetchTemplateDocTypeCode","setCreator","setInformation","setLineApprove","setFileAttach","getRequestor","getFileAttach","getTemplateTree","_memoId","fechMemoButtonDefault","error_result","error_table","ess_","_requestDetail$listFo","_requestDetail$memoDe6","_template_desc","runControls","_requestDetail$listFo2","_requestDetail$memoDe7","_newRunning","_template_desc2","_runControls","_gg","_requestBody","_checkAuto","_checkNum","isTableRequire","_j5","table_row","table_col","_errpr","onAdd","getRequestorMethodProp","setRequestorMethodProp","setCreatorMethodProp","getInformationTemplateSetDataProp","getFileAttachMethodProp","setFileAttachMethodProp","PreviewTemplateScreen","LoginGoogle","RegisterWolfScreen","checkLength","setCheckLength","checkEmail","setCheckEmail","displayPopup","setDisplayPopup","dataRemark","setDataRemark","_onSubmit","validateEmail","Password","Note","Regis","TableReferenceComponent","_props$refAttribute","_props$refAttribute2","_props$refAttribute3","refLoading","DialogRefTemplateComponent","_props$searchRefDocDa","_props$refAttribute4","filterRefTempValue","setFilterRefTempValue","setRefSelected","refObtions","_data$props$refAttrib","refMemoId","advanceFormList","RefSelected","matchedItem","MAdvacveForm","setDialogVisibleInRefTemplate","_onSelect","refTemp","ValidateSelected","_ValidateSelected","SelectField","DocNo","ValidateRef","dialogVisibleInRefTemplate","TemplateVersionComponent","selectedTemplateVersion","templateListVersion","setSelectedTemplateVersion","InformationComponentFix","_memoDetail$requestor","_memoDetail$requestor2","_listInToAndPass$to","_listInToAndPass$to2","_listInToAndPass$pass","_listInToAndPass$pass2","masterCompanies","canEditRefDoc","setListInToAndPass","listInToAndPass","masterProjects","finFo","checkedLeaveTemplate","isTemplateVersion","dialogVisibleInCompany","setDialogVisibleInCompany","dialogVisibleInEmployee","setDialogVisibleInEmployee","hideProject","hideBranch","setIsHideBranch","hideTo","setIsHideTo","hideCc","setIsHideCc","hideSubject","setIsHideSubject","typeEmployeeDialog","setTypeEmployeeDialog","filteredEmployee","setFilteredEmployee","filterCompany","setFilterCompany","hasUserManual","setHasUserManual","_finFo$Value","_finFo","_showBranch","checkHasFifoFunction","searchEmployeeToAndPass","showModalInEmployeeToAndPass","_showModalInEmployeeToAndPass","masterDataList","userManual","userManualList","manual","_userManual$0$AttachF","_userManual$0$AttachF2","nameFileSplit","linkFileSplit","masterlist","master","UserManualGroupName","com_name","checkChangeComp","LineApprovalsComponentFix","canEditLineApproval","currentLevel","hightLight","setHightLight","_toggleModal","_employeeList","dynamicTable","dropIndex","toggleModal","okText","defSignature","OtherButtonMemoComponent","_props$memoDetail$mem7","_t","_props$permission","_props$permission2","_t2","setResponeData","isCheckByOrigin","setIsCheckByOrigin","_setData","IsCheckAccessEditing","_props$memoDetail","_props$memoDetail$mem","_props$memoDetail$mem2","actorCheckAccess","onSetCheckAccess","checkAccessRequestModel","memoIdForCopy","_props$memoDetail$mem3","_props$memoDetail$mem4","_props$memoDetail$mem5","_props$memoDetail$mem6","checkIsAccessComponent","site","isCheckAcces","BsPencilSquare","FaPrint","Validation","_submitType","dateValidField1","dateValidField2","ResponeValidation","_checkRespone","AdminEditCompletedMemoPermissionContext","AdminEditCompletedMemoProvider","canEditMemo","setCanEditMemo","getCanAdminEditCompletedMemo","useAdminEditCompletedMemoPermissionContext","RequestScreenFix","_location$state","_location$state2","_jsx2","checkUseEffect","setCheckUseEffect","setCheckActionPage","setCheckedLeaveTemplate","_setIsControlLoading","setActionAlert","prevAmount","setPrevAmount","showLoadTimer","hideLoadTimer","isShowLoad","clearTimeout","setCanEditDoc","canEditLineApprove","setCanEditLineApprove","_useAdminEditComplete","isCheckAccess","setIsCheckAccess","isSkipapm","setIsSkipapm","setListFormNames","setListHistoryDetails","setRefAttribute","setRefOptions","setRefLoading","setCanEditRefDoc","setMasterLeaveSpec","masterSignature","setMasterSignature","setMasterATDLFT","setMasterDLAttach","setFinFo","lRTempCode","setLRTempCode","mbkOnlyU","setMbkOnlyU","setMasterProjects","_useState85","_useState86","setMasterCompanies","_useState87","_useState88","setTemplateListVersion","_useState89","_useState90","_useState91","_useState92","setIsTemplateVersion","_useState93","_useState94","_useState95","_useState96","_useState97","_useState98","_useState99","_useState100","loadingPDF","setLoadingPDF","_useState101","_useState102","setIsShowPdf","_useState103","_useState104","setIsShowSum","_useState105","_useState106","setPermission","_useState107","_useState108","masterDataValidField","setMasterDataValidField","_useState109","_useState110","setMessageValidField","_useState111","_useState112","setDuration","_useState113","_useState114","skipapm","setSkipapm","_useState115","_useState116","requestActionMemo","setRequestActionMemo","_useState117","_useState118","checkRequestActionMemo","setCheckRequestActionMemo","_useState119","_useState120","_useState121","_useState122","_useState123","_useState124","_useState125","_useState126","previousAmount","_useState127","_useState128","_useState129","_useState130","setFocus","_useState131","_useState132","_useState133","_useState134","_useState135","_useState136","_useState137","_useState138","setIsADTitleToPosition","_useState139","_useState140","_useState141","_useState142","_useState143","_useState144","_useState145","_useState146","_useState147","_useState148","setEdFont","_masterData$find$Valu","projects","temCodes","_e$MasterType","_useState149","_useState150","setDefault","_useState151","_useState152","rishFont","setrishFont","fontFormat","detectLineApproval","getAllRefDoc","_RefID","optionValue","_signature","checkQuery","autoApprove","canAccess","_usrId","_docTypeCode","_isCopy","_isPreview","_documentNo","getInitialData","_requestDetail2","_requestDetail2$reque","_requestDetail3","_requestDetail4","_requestDetail5","_requestDetail5$reque","_requestDetail5$reque2","userDataByQuery","hasQueryUserId","_isTextForm","canViewAndPrint","memoButtons","templateDescWithLogic","autoNum","_templateDesc","_templateDesc2","_templateDesc3","_requestDetail6","_requestDetail6$reque","_requestDetail6$reque2","mewLine","_templateDescWithLogic","_autoNum","_control2","_templateDesc4","_templateDesc5","getLineApproveAtFirsts","initialActionFiedFormLineApprove","setDefaultTemplateDesc","detechFormulas","checkTemplateVersion","checkDataAndSetFunction","createTableSums","templateItems","templateType","defaultDate","logicType","amountToUse","responseDataLineApprove","dataJsonApproverType","approverType","_responseDataLineApprove","onLoadDataLiveApprove","onLoadLiveApproveType","tempdescItem","_templateDesc6","errerrerr","dataLineApprove","_datalineapprove","currentApprovals","showTemplate","_y","_z","_jsonValue","isDelegate","_field","_column2","notInPos","templateLayouts","tbCol","targetCols","notTargetCols","tableCols","notUseCols","_pos$tableCols","_pos$notUseCols","_pos$tableCols2","_pos$tableCols3","_formulas","memoStatus","_templateDesc7","_templateDesc7$items","initialLogicData","_context21","_jsonValue2","userRole","_loop8","_templateItems2","_templateDesc$items$r","_templateDesc$items$r2","_permittedValues","_resRow","_templateDesc$items$r3","_templateDesc$items$r4","_i14","_perValue","_i15","_key","_jsonValue4","newTableOptions","_i17","_templateItems4","_j7","_jsonValue5","_i18","_templateItems5","_j8","_layout8","logicRelated","_jsonValue6","_i19","_templateItems6","_j9","_layout9","_i20","_j10","_context20","onCheckUserRolePermissionInLogic","_templateItems","_loop7","_field$column","_pos$tableCols4","rowLength","onProcessLogicReferenceNoFilter","loadtoLabel","getInitialLogicData","_context22","_context23","_x38","_x39","_yield$onFindDataJson","_context24","_x40","_x41","_x42","_x43","dataSourceLoad","_context25","_x44","_context26","_x45","userRoles","accessRoles","accessRole","onFilterLoadtoField","onFilterRefFilterField","currentFieldValue","_refFilter","onLoadReferenceData","_ref20","orCondition","refFilterValueEqualComlumAll","refFilterValue","_i22","_ref21","_context27","_x46","_ref22","_callee20","responseDataReference","refData","_context28","_x47","_x48","_x49","_x50","_ref23","_callee21","refFil","_context29","_x51","_x52","_ref24","_callee22","controlName","_context30","_x53","_x54","_x55","_ref25","_callee23","_loop9","_context33","_loop10","_context32","_context31","SQLCommand","_x56","_checkedLeaveTemplateLogic","_callee30","_context40","statusm","_x57","checkedLeaveTemplateLogic","CompanyNameTh","CompanyNameEn","_ref26","_callee24","_context34","_x58","_x59","_x60","_x61","_renderSelectedRequestor","_callee32","allTemplateControl","logicDataLineApprove","logiceiei","_context42","_ref32","_callee31","_context41","_x75","_x63","_x64","_checkTemplateVersion","_callee33","_templateApproveId","_listTemplate","arrayEditingVersion","_responseTemplate","_context43","IsFormControl","_ref27","_callee25","_lRTempCode","_context35","_x65","_ref28","_callee26","_responeADTitle$activ2","_context36","_x66","_ref29","_callee27","_guid","_spited","_spited2","_context37","_x67","IsRequesterEditApproval","_x68","_x69","_x70","_x71","_callee34","refDocs","_refTemplate","_results","_context44","Template_desc","เลขที่เอกสาร","Template_name","_templateDesc$items3","sumIntable","CheckValidField","datepicker1","datepicker2","datepickerLabel1","datepickerLabel2","getCheckValid","masterDataValid","masterDataLabel1","masterDataLabel2","newDate1","newDate2","_ref30","_callee28","_lineApproval","_listHistoryDetails","_listFileAttachDetails","_listRefDocDetails","_listControlRunning","_listFormNames","_listInToAndPass","_tempVersion","_validation","_formData$items","formatFormData","_memoDetail$memoid","_requestMemoPage","_context38","_x72","_x73","_memoDetail$actorChec","_ref31","_callee29","_template_desc$items$","_template_desc$items$2","_template_desc$items$3","_template_desc$items$4","_context39","_x74","_x62","listLineApprove","UpdateWOLFAccount","CreateWOLFAccount","AccountDialog","onsubmit","NewPassword","ConfirmNewPassword","IsVerify","isRequire","AddUserManual","UserManualDialog","userManualValue","setUserManualValue","fileInputType","masterDataValue","onUploadFile","_acceptSave","attachFile","userManualformData","_formData$UserManualG","_formData$UserManualG2","UserManualId","FileDescription","TagKeyword","Sep","ActorName","OrderItem","uploadAttach","DialogListFix","subTableData","setSubTableData","matrixItemToString","approvalMatrixes","DelegateListScreen","approverData","setApproverData","searchDelegateData","setSearchDelegateData","departmentData","setDepartmentData","setFilterEmployee","checkIsAdmin","fetchDelegateList","_isAdmin","_delegate","delegate","assignedData","AssignedId","Approver","onResetFilter","onClickSearch","_data$","isBetween","AiFillPlusCircle","MdOutlineFormatListBulleted","RiUserSearchLine","momentWorklistFrom","momentWorklistTo","formatWorklistFrom","formatWorklistTo","formatDateTo","onSelectDate","RequesterDeptId","ActionId","WaitingId","setDataSource","bottom","setApiName","dynamicData","setDynamicData","emp_data","setEmp_data","subData","setSubData","getQuery","eriei","apiPath","_emp_dataFind2","_emp_data","_emp_dataFind","_apiPath","_emp_dataFind3","_emp_dataFind3$Employ","_emp_dataFind4","_emp_dataFind5","_emp_dataFind6","fecthApprovalMatrixItem","_data$AttachFile$spli","_data$AttachFile$spli2","_emp_data2","_emp_data3","SimLineApproveScreen","ReportScreenFix","setText","reportList","setReportList","isAutoReport","_page","setPaginationOption","checkAutoReport","isEnable","_empList","_empList2","UploadTimeStamp","ExportTimeStamp","TimeStampScreen","setDataList","isLoadTable","setIsLoadTable","PageNumber","SearchDateTimeFrom","SearchDateTimeTo","Paging","timeStampRequest","setTimeStampRequest","fileSelected","setFileSelected","uploading","setUploading","exporting","setExporting","fecthTimeStamp","_paginationOption","PageCount","RecordCount","fecthExportTimeStamp","handleUpload","showTotal","paginationValue","MSDocRenderer","uri","Container","IFrame","MSDocFTMaps","fileTypes","weight","styled","_templateObject","_taggedTemplateLiteral","iframe","_templateObject2","PDFPreviewComponent","setElement","pdfjs","pdfjsLib","getDocument","promise","pdf","pv","node","canvas","pageNum","getPage","viewport","getViewport","outputScale","devicePixelRatio","floor","renderContext","intent","canvasContext","reason","renderPage","numPages","PreviewAttachmentScreen","selectedDoc","setSelectedDoc","fileExt","setFileExt","imageType","pdfType","msType","ext","getTypeOfFile","_imageType","_pdfType","_msType","objectFit","RequestActionMemo","RejectBrowser","browserConfig","BUDGET","PR","PO","PV","GR","renderNumber","view","alloc","remain","percentage","genBudgetColumn","BudgetSummary","renderDescription","dayjs","dataSet","PublishStatus","TrackStatus","ProcurementTracking","renderPublish","BLANK","WAIT_FOR_APPROVE","PUBLISH_ON_WEB","GlobalOutlined","verticalAlign","SKIP","renderTrack","COMPLETED","CheckOutlined","retrieveFn","retreiveProcurement","tor","stdPrice","pr","rfp","compare","po","award","eGP","Routes","loginScreen","setLoginScreen","guidVerify","fetchApp","browser","browserDetector","defaultProtectedRouteProps","canDownLoadPdf","setIsLoadPackage","pathLogoLogin","isMulti","hidePassAndRegister","SwitchTransition","CSSTransition","addEndListener","WorkListScreen","TemplateDetailScreen","EmailTemplateListScreen","EmailTemplateDetailScreen","ReportScreen","MasterDatascreenFixed","DashboardScreen","LoadComponent","LoadPackageComponent","Animate","transitionName","isLoadPackage","SyncOutlined","spin","App","_localStorage$getItem","auzreConfig","setAuzreConfig","ua","msie","msie11","msedge","firefox","timer","setTimer","isCountDown","setIsCountDown","isIE","isEdge","isFirefox","intervalId","lang","fetchCon","_document$querySelect","reponseAzureConfig","titleWeb","pathFavicon","msToTime","pad","secs","sec","formatKey","_useIdleTimer","useIdleTimer","onIdle","countDown","setInterval","_timer","reload","clearInterval","onAction","promptTimeout","immediateEvents","debounce","throttle","eventsThrottle","startOnMount","startManually","stopOnIdle","crossTab","syncTimers","publicClientApplication","authority","redirectUri","secureCookies","MsalProvider","Router","isLocalhost","registerValidSW","swUrl","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","controller","Backend","LanguageDetector","initReactI18next","returnNull","fallbackLng","lng","_lang$toLowerCase","interpolation","escapeValue","rootElement","ReactDOM","BrowserRouter","Suspense","fallback","process","ready","unregister","checkValidServiceWorker","registerServiceWorker","searchKey","setSearchKey","tooltipRef","multiSwitch","setMultiSwitch","selectedDatas","_col$field","_col$field2","newField","updateTargetEvents","mouseTrack","mouseTrackLeft","mouseTrackTop","autoHide","alignContent","customFooter","_configuration$j2","_configuration$j$spli3","_configuration$j$spli4","formatConfig","_priorities","_priority","GetDashboardEndpoint","statusName","displayStatusName","card","_props$errors","_props$errors2","_props$errors3","_props$template2$alte"],"mappings":"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","file":"static/js/main.7a107f51.chunk.js","sourcesContent":["export function replaceSpecialChar(str: string) {\r\n if (str === \"\") return \"\";\r\n str = str.replace(/ /g, \"_\");\r\n str = str.replace(\"'\", \"_\");\r\n str = str.replace(\";\", \"_\");\r\n str = str.replace(\",\", \"_\");\r\n str = str.replace(\"?\", \"_\");\r\n str = str.replace(\"<\", \"_\");\r\n str = str.replace(\">\", \"_\");\r\n str = str.replace(\"(\", \"_\");\r\n str = str.replace(\")\", \"_\");\r\n str = str.replace(\"@\", \"_\");\r\n str = str.replace(\"=\", \"_\");\r\n str = str.replace(\"+\", \"_\");\r\n str = str.replace(\"*\", \"_\");\r\n str = str.replace(\"&\", \"_\");\r\n str = str.replace(\"#\", \"_\");\r\n str = str.replace(\"%\", \"_\");\r\n str = str.replace(\"$\", \"_\");\r\n str = str.replace(\"|\", \"_\");\r\n str = str.replace(\"[\", \"_\");\r\n str = str.replace(\"]\", \"_\");\r\n str = str.replace(\"{\", \"_\");\r\n str = str.replace(\"}\", \"_\");\r\n str = str.replace(\":\", \"_\");\r\n str = str.replace(\"~\", \"_\");\r\n return str;\r\n}\r\n","export const GetAutoNumber = async (requestBody: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody.UserPrincipalName = email;\r\n const respone = await fetch(\"api/RequestControl/GetAutoNumber\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetSaveRunningNumber = async (requestBody: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody.UserPrincipalName = email;\r\n const respone = await fetch(\"api/RequestControl/SaveRunning\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetRvsRunning = async (requestBody: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody.UserPrincipalName = email;\r\n const respone = await fetch(\"api/RequestControl/GetRunning\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CanAssignMoreThanOne = async () => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n let requestBody = {\r\n UserPrincipalName: email,\r\n };\r\n const respone = await fetch(\"api/RequestControl/CanAssignMoreThanOne\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n data.result = data.result == \"True\"\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.error(\"error: CanAssignMoreThanOne\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const CanRequestCommentMoreThanOne = async () => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n let requestBody = {\r\n UserPrincipalName: email,\r\n };\r\n const respone = await fetch(\r\n \"api/RequestControl/CanRequestCommentMoreThanOne\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n data.result = data.result == \"True\"\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.error(\"error: CanRequestCommentMoreThanOne\", err);\r\n });\r\n return respone;\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const UploadTinyMce = async (dataJson: any) => {\r\n const respone = await axios({\r\n method: \"post\",\r\n url: \"api/UploadFile/AddTinyMce\",\r\n data: dataJson,\r\n })\r\n .then(function (response) {\r\n return response;\r\n })\r\n .catch((err) => {\r\n console.log(\"AddTinyMce\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const UploadRequestFiles = async (dataJson: any) => {\r\n const respone = await fetch(\"api/UploadFile/AddFile\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(data, \"data\");\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const UploadFileRenderControl = async (dataJson: any) => {\r\n const respone = await axios({\r\n method: \"post\",\r\n url: \"api/UploadFile/UpLoadFileRenderControl\",\r\n data: dataJson,\r\n })\r\n .then(function (response) {\r\n return response;\r\n })\r\n .catch(function (response) {\r\n return response;\r\n });\r\n return respone;\r\n};\r\n","import axios from \"axios\";\r\nimport { IAttachFile } from \"../IRequestModel/IAttachfile\";\r\n\r\nexport const GetAllAttachFiles = async (\r\n dataJson: any\r\n): Promise => {\r\n const respone = await fetch(\"api/AttachFiles/GetAll\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log({ data });\r\n\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const UploadFileAttachFiles = async (dataJson: any) => {\r\n const respone = await axios({\r\n method: \"post\",\r\n url: \"api/AttachFiles/AddFile\",\r\n data: dataJson,\r\n })\r\n .then(function (response) {\r\n return response;\r\n })\r\n .catch((err) => {\r\n console.log({ errUploadAttach: err });\r\n });\r\n return respone;\r\n};\r\n\r\nexport const UploadRequestAttachFiles = async (dataJson: any) => {\r\n const respone = await fetch(\"api/AttachFiles/AddRequestFile\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((response) => response)\r\n .catch((err) => {\r\n console.log({ errUpload: err });\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetPort = async () => {\r\n const respone = await fetch(\"api/AttachFiles/GetPort\")\r\n .then((response) => response.json())\r\n .then((response) => response)\r\n .catch((err) => {\r\n console.log({ errUpload: err });\r\n });\r\n console.log(respone);\r\n\r\n return respone;\r\n};\r\n","import React, { useEffect } from \"react\";\r\n\r\ninterface Props {\r\n textHeaderProps?: any;\r\n textSubProps?: any;\r\n isRequir?: boolean;\r\n colorProps?: any;\r\n}\r\n\r\nexport const TextHeaderComponents = (props: Props) => {\r\n useEffect(() => {}, []);\r\n return (\r\n
\r\n {props.isRequir ? (\r\n \r\n \r\n {props.textHeaderProps}\r\n

\r\n\r\n \r\n *\r\n \r\n
\r\n ) : (\r\n \r\n {props.textHeaderProps}\r\n

\r\n )}\r\n\r\n \r\n {props.textSubProps}\r\n

\r\n \r\n );\r\n};\r\n","export enum LogicType {\r\n DataSourceRelated = \"datasourcerelated\",\r\n Reference = \"reference\",\r\n DataSourceLoad = \"datasourceload\",\r\n DataLineApprove = \"datalineapprove\",\r\n DataRelatedToLoadData = \"datareladtoloaddata\",\r\n DataAjaxLoadTable = \"dataajaxloadtable\",\r\n Permission = \"Permission\",\r\n Role = \"role\",\r\n RefInfomation = \"refinfomation\",\r\n}\r\n","import moment from \"moment\";\r\nimport { IDateAttribute } from \"../IRequestModel/ITemplateDescModel\";\r\n\r\nexport const formatDateTime = (value: any, originFormat?: string) => {\r\n if (value != \"\") {\r\n let someDateString = moment(\r\n value,\r\n originFormat ? originFormat : \"DD/MM/YYYY HH:mm:ss\"\r\n );\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n};\r\n\r\nexport const getTimeFormat = (format: IDateAttribute) => {\r\n const symbol =\r\n format.time.symbol !== \":\" && format.time.symbol !== \"\"\r\n ? format.time.symbol\r\n : \":\";\r\n const timeFormat =\r\n format.time.use === \"Y\"\r\n ? `HH${symbol}mm${format.time.useSecond === \"Y\" ? `${symbol}ss` : \"\"}`\r\n : \"\";\r\n return timeFormat;\r\n};\r\n\r\nexport const getDateFormat = (format: IDateAttribute) => {\r\n const dateFormat =\r\n \"DD\" +\r\n (format.date.symbol !== \"\" ? format.date.symbol : \" \") +\r\n \"MMM\" +\r\n (format.date.symbol !== \"\" ? format.date.symbol : \" \") +\r\n `YYYY${getTimeFormat(format)}`;\r\n\r\n return dateFormat;\r\n};\r\n","export const formatKeyLogicData = (logicData: any) => {\r\n try {\r\n let _logicData = logicData;\r\n console.log(_logicData, \"_logicData6666\");\r\n _logicData.data.unshift({ item: \"-- Please Select --\" });\r\n for (let k = 0; k < _logicData.data.length; k++) {\r\n const data = _logicData.data[k];\r\n const keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n _logicData.data[k] = keyValues[0];\r\n }\r\n console.log({ _logicData });\r\n\r\n return _logicData;\r\n } catch (error) {\r\n console.log(\"logic=>formatKeyLogicData=>error\", error);\r\n }\r\n};\r\n","import moment from \"moment\";\r\nimport {\r\n IAutoNumberAttibute,\r\n IAutoNumberFormat,\r\n IFormat,\r\n} from \"../IRequestModel/IAutoNumberFormat\";\r\nimport { IMemoDetailModel } from \"../IRequestModel/IMemoDetailModel\";\r\nimport { GetAutoNumber } from \"../Services/RequestControlService\";\r\nexport async function genAutoNum(\r\n _control: any,\r\n autoNumFormat: IAutoNumberAttibute,\r\n template_id: any,\r\n status: any\r\n) {\r\n try {\r\n if (autoNumFormat.formats.length > 0) {\r\n let autoNumberAttibute: IAutoNumberAttibute = autoNumFormat;\r\n let str: string[] = [];\r\n let isCheck: boolean = false;\r\n let requestBody: any = {};\r\n let formats: IAutoNumberFormat[] = autoNumberAttibute.formats;\r\n let choiceFormat = null;\r\n let tempLabels: string[] = [];\r\n let tempValues: string[] = [];\r\n for (let i = 0; i < formats.length; i++) {\r\n if (formats[i].condition.length > 0) {\r\n const con = formats[i].condition;\r\n for (let j = 0; j < con.length; j++) {\r\n _control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any) => {\r\n if (con[j].label === layout.template.label) {\r\n if (con[j].value === layout.data.value) {\r\n if (!tempLabels.includes(con[j].label)) {\r\n tempLabels = [...tempLabels, con[j].label];\r\n tempValues = [...tempValues, con[j].value];\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n for (let i = 0; i < formats.length; i++) {\r\n if (choiceFormat != null) {\r\n break;\r\n }\r\n\r\n if (formats[i].condition.length > 0) {\r\n const con = formats[i].condition;\r\n let tempCheck = 0;\r\n if (tempLabels.length > 0) {\r\n for (let j = 0; j < con.length; j++) {\r\n if (\r\n tempLabels.includes(con[j].label) &&\r\n tempValues.includes(con[j].value)\r\n ) {\r\n tempCheck++;\r\n }\r\n if (tempCheck != 0) {\r\n if (tempCheck == con.length) {\r\n choiceFormat = formats[i];\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n choiceFormat = formats[i];\r\n }\r\n }\r\n\r\n if (choiceFormat !== null) {\r\n choiceFormat.format.map((format: any) => {\r\n if (format.type) {\r\n if (format.type === \"pf\") {\r\n if (!str.includes(format.label)) {\r\n str.push(format.label);\r\n }\r\n } else if (format.type === \"datetime\") {\r\n const formattedYear = moment().format(format.label);\r\n str.push(formattedYear);\r\n } else if (format.type === \"ddl\") {\r\n _control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach(async (layout: any) => {\r\n if (layout.template.label === format.label) {\r\n let value: string = layout.data.value;\r\n let newPosition = format.position;\r\n\r\n if (value !== null) {\r\n if (format.condition === \"Split\") {\r\n let newFormat = value.split(format.symbol);\r\n console.log(\"autoNumFormat_str_Split\", newFormat);\r\n for (let i = 0; i < newFormat.length; i++) {\r\n newPosition = newPosition.replace(\r\n new RegExp(\"\\\\$\\\\{\" + (i + 1) + \"\\\\}\", \"gi\"),\r\n newFormat[i]\r\n );\r\n }\r\n if (\r\n newPosition.indexOf(\"(\") > -1 &&\r\n newPosition.indexOf(\")\")\r\n ) {\r\n str.push(\r\n newPosition.substring(\r\n newPosition.indexOf(\"(\") + 1,\r\n newPosition.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(newPosition);\r\n }\r\n } else {\r\n if (value.indexOf(\"(\") > -1 && value.indexOf(\")\")) {\r\n str.push(\r\n value.substring(\r\n value.indexOf(\"(\") + 1,\r\n value.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(value);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n });\r\n if (str.length === choiceFormat.format.length) {\r\n if (\r\n !str.includes(\"--select--\") &&\r\n !str.includes(\"-- select --\") &&\r\n !str.includes(\"-- please select --\") &&\r\n !str.includes(\"--- please select ---\") &&\r\n !str.includes(\"--please select--\") &&\r\n !str.includes(\"---please select---\") &&\r\n !str.includes(\"--Select--\") &&\r\n !str.includes(\"-- Select --\") &&\r\n !str.includes(\"-- Please Select --\") &&\r\n !str.includes(\"--- Please Select ---\") &&\r\n !str.includes(\"--Please Select--\") &&\r\n !str.includes(\"---Please Select---\")\r\n ) {\r\n isCheck = true;\r\n }\r\n }\r\n }\r\n if (status === \"New Request\") {\r\n if (isCheck) {\r\n const showSymbol = autoNumFormat.showSymbol;\r\n let prefix = \"\";\r\n if (showSymbol) {\r\n prefix = str.join(\"-\") + \"-\";\r\n } else {\r\n prefix = str.join(\"\");\r\n }\r\n console.log(\"autoNumFormat_str\", str);\r\n autoNumFormat.fisrtPreix = prefix;\r\n requestBody.Prefix = prefix;\r\n requestBody.Digit = autoNumFormat.digit;\r\n requestBody.TemplateId = template_id;\r\n requestBody.Status = status;\r\n requestBody.Label =\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].template.label;\r\n const dd = await GetAutoNumber(requestBody);\r\n if (dd.Message !== undefined) {\r\n } else {\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].data.value = dd;\r\n }\r\n } else if (!isCheck) {\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].data.value = \"\";\r\n }\r\n }\r\n return _control;\r\n }\r\n } catch (error) {\r\n console.error(\"auto=>error\", error);\r\n }\r\n}\r\n\r\nexport function getValueControl(\r\n controlID: string,\r\n memoDetail: IMemoDetailModel\r\n) {\r\n let strValue: string = \"\";\r\n\r\n switch (controlID.toLowerCase()) {\r\n case \"requestor id\":\r\n strValue = memoDetail.requestor.EmployeeId.toString();\r\n break;\r\n case \"requestor code\":\r\n strValue = memoDetail.requestor.EmployeeCode;\r\n break;\r\n case \"requestor name\":\r\n strValue = memoDetail.requestor.NameEn;\r\n break;\r\n case \"requestor email\":\r\n strValue = memoDetail.requestor.Email;\r\n break;\r\n case \"requestor position\":\r\n strValue = memoDetail.requestor.PositionNameEn;\r\n break;\r\n case \"requestor department\":\r\n strValue = memoDetail.requestor.DepartmentNameEn;\r\n break;\r\n default:\r\n // handle default case here\r\n break;\r\n }\r\n\r\n return strValue;\r\n}\r\n","import { Form, Input, Tooltip } from \"antd\";\r\nimport React, { useEffect } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useWatch } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\nimport $ from 'jquery'; \r\n\r\ntype InputFormProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\nexport const InputControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n {\r\n // console.log(\"rvs=>\" + template.label, field.value);\r\n console.log({ canEditDoc });\r\n\r\n // if (!field.value || field.value === \"\") {\r\n // field.value = template.attribute.default;\r\n // }\r\n let inpId = template.label.replaceAll(\" \", \"_\");\r\n return (\r\n <>\r\n \r\n \r\n \r\n {/* {`${rowIdx}${colIdx}`} */}\r\n {\r\n field.onChange(e);\r\n onControlChange(template, e.target.value);\r\n }}\r\n id={inpId}\r\n value={field.value ? field.value : undefined}\r\n readOnly={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n size={\"large\"}\r\n className=\"input-component table-input\"\r\n placeholder={\r\n template.type !== \"an\"\r\n ? template.attribute.description\r\n : \"Auto Number\"\r\n }\r\n maxLength={\r\n parseInt(template.attribute.length) === 0\r\n ? undefined\r\n : parseInt(template.attribute.length)\r\n }\r\n // defaultValue={template.attribute.default}\r\n disabled={\r\n !canEditDoc ||\r\n template.attribute.readonly === \"Y\" ||\r\n template.type === \"an\"\r\n }\r\n // onBlur={(e) => onChange(e.target.value)}\r\n status={\r\n isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n \"error\"\r\n }\r\n onKeyDown={(e) => {\r\n if(e.code?.toLocaleLowerCase() === \"tab\"){\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(inpId!)?.getAttribute(\"tabindex\")\r\n let nxtIdx = parseInt(curIndex!) + 1\r\n // console.log({id, curIndex, nxtIdx});\r\n \r\n $(\"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\").focus().click();\r\n },300)\r\n }\r\n }}\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n// export default InputControlComponent;\r\n\r\nexport const InputTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n rowIdx,\r\n colIdx,\r\n toggleEdit,\r\n ...props\r\n}) => {\r\n\r\n let nId = rowIdx + \"_\" + colIdx + \"_\" + template.label\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(nId)?.getAttribute(\"tabindex\")\r\n let nxtIdx = parseInt(curIndex!) + 1\r\n // console.log({id, curIndex, nxtIdx});\r\n \r\n $(\"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\").focus().click();\r\n },300)\r\n }\r\n \r\n if (!isEditing) {\r\n return (\r\n
\r\n {\r\n e.preventDefault()\r\n saveFunc()\r\n }}\r\n onKeyDown={(e) => {\r\n if(e.code?.toLocaleLowerCase() === \"tab\"){\r\n nextTab()\r\n }\r\n }}\r\n onFocus={(e) => {\r\n // if (toggleEdit) {\r\n // toggleEdit();\r\n // }\r\n // toggleEdit();\r\n e.target.select();\r\n }}\r\n />\r\n
\r\n );\r\n }\r\n\r\n return (\r\n <> \r\n \r\n \r\n {\r\n e.preventDefault()\r\n saveFunc()\r\n }}\r\n onKeyDown={(e) => {\r\n if(e.code?.toLocaleLowerCase() === \"tab\"){\r\n console.log(\"key down\")\r\n nextTab()\r\n }\r\n }}\r\n onFocus={(e) => {\r\n // if (toggleEdit) {\r\n // toggleEdit();\r\n // }\r\n // toggleEdit()\r\n e.target.select();\r\n }}\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n// export default InputTableControlComponent;\r\n","import { createContext, ReactNode, useEffect, useState } from \"react\";\r\nimport React from \"react\";\r\nimport { useLocation } from \"react-router\";\r\nimport { notification } from \"antd\";\r\nimport \"./AlertContext.css\";\r\nimport { RiCloseCircleFill } from \"react-icons/ri\";\r\nimport { TiWarning } from \"react-icons/ti\";\r\nimport { FaCheckCircle } from \"react-icons/fa\";\r\nimport { BsFillInfoCircleFill } from \"react-icons/bs\";\r\n\r\nimport { IconType } from \"react-icons/lib\";\r\ninterface AlertProviderProps {\r\n children: ReactNode;\r\n}\r\ndeclare const AlertType: [\"success\", \"info\", \"warning\", \"error\"];\r\ninterface IToggleAlertParams {\r\n type: (typeof AlertType)[number];\r\n message: string;\r\n description: string;\r\n\r\n onClose?: () => void;\r\n duration?: number;\r\n}\r\ninterface IAlertContextType {\r\n toggleAlert: (params: IToggleAlertParams) => void;\r\n}\r\nconst AlertContext = createContext(null);\r\nconst alertColors = {\r\n error: \"#b34045\",\r\n warning: \"#fecf6d\",\r\n info: \"#4091d7\",\r\n success: \"#2d884d\",\r\n};\r\nconst AlertContextProvider: React.FC = (props) => {\r\n const [api, contextHolder] = notification.useNotification();\r\n const handleToggleAlert = (params: IToggleAlertParams) => {\r\n let icon: JSX.Element = ;\r\n const iconSize = 28;\r\n if (params.type === \"error\") {\r\n icon = ;\r\n } else if (params.type === \"info\") {\r\n icon = ;\r\n } else if (params.type === \"success\") {\r\n icon = ;\r\n } else if (params.type === \"warning\") {\r\n icon = ;\r\n }\r\n api[params.type]({\r\n className: \"alert-custom\",\r\n message: params.message,\r\n description: params.description,\r\n placement: \"topRight\",\r\n onClose: params.onClose,\r\n duration: params.duration && params.duration,\r\n style: {\r\n borderRadius: 8,\r\n zIndex: 10000,\r\n },\r\n icon,\r\n });\r\n };\r\n return (\r\n \r\n {contextHolder}\r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { AlertContextProvider, AlertContext };\r\n","import { Button, Form, Input, Popconfirm, Table } from \"antd\";\r\nimport React from \"react\";\r\n\r\ntype EditableTableProps = Parameters[0];\r\ntype ColumnTypes = Exclude;\r\n\r\nexport const formatToColumns = (columns: any[], data: any) => {\r\n let rowData: any = {};\r\n rowData[\"key\"] = data.key;\r\n for (let i = 0; i < columns.length; i++) {\r\n const column = columns[i];\r\n rowData[column.label] = data[i].value;\r\n }\r\n return rowData;\r\n};\r\n\r\nexport const formatColumn = (columns: any[], data: any) => {\r\n let newData: any[] = [];\r\n // const dataString = JSON.stringify(data);\r\n // const _data = JSON.parse(dataString);\r\n\r\n for (let i = 0; i < data?.row?.length; i++) {\r\n const row = data.row[i];\r\n let rowData: any = {};\r\n rowData[\"key\"] = i;\r\n for (let j = 0; j < row.length; j++) {\r\n const _row = row[j];\r\n rowData[columns[j]?.label] = _row.value\r\n ? _row.value\r\n : _row.item\r\n ? _row.item\r\n .map((_item: any, idx: number) =>\r\n _item === \"Y\"\r\n ? columns[j].control.template.attribute.items[idx].item\r\n : \"\"\r\n )\r\n .toString()\r\n : _row.value;\r\n // rowData[columns[j].label] = _row.value;\r\n }\r\n console.log({ rowData, row });\r\n\r\n newData.push(rowData);\r\n }\r\n const column: any[] = [];\r\n\r\n column.push({\r\n title: \"#\",\r\n key: \"index\",\r\n width: \"80px\",\r\n align: \"center\",\r\n render: (_: any, record: { key: number }, index: number) =>\r\n record.key !== undefined ?

{record.key + 1}

:

{index + 1}

,\r\n });\r\n let cal = 0;\r\n columns.map((_column: any) => {\r\n let tableWidth = (25 / 100) * 1220;\r\n let canEdit: boolean = true;\r\n\r\n if (\r\n _column.control.template.attribute.widthInTable &&\r\n _column.control.template.attribute.widthInTable > 0\r\n ) {\r\n const width = Number(_column.control.template.attribute.widthInTable);\r\n tableWidth = (width / 100) * 1220;\r\n }\r\n cal += 200;\r\n\r\n column.push({\r\n title: (\r\n
\r\n
\r\n {_column.label}\r\n {_column.control.template.attribute.require === \"Y\" && (\r\n *\r\n )}\r\n
\r\n\r\n {_column.alter}\r\n
\r\n ),\r\n dataIndex: _column.label,\r\n editable: canEdit,\r\n width: tableWidth,\r\n isShow: _column.isShow,\r\n });\r\n });\r\n // console.log({ eee: column });\r\n\r\n return { column, newData };\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport type { DatePickerProps } from \"antd\";\r\nimport { DatePicker, Space } from \"antd\";\r\nimport moment from \"moment\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { RangePickerProps } from \"antd/lib/date-picker\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { getDateFormat } from \"../../../Helper/FormatDateTime\";\r\nimport { Form, Input } from \"antd\";\r\nimport { Store } from \"antd/lib/form/interface\";\r\nimport { IDateTemplate } from \"../../../IRequestModel/ITemplateDescModel\";\r\n\r\n\r\ntype InputDateProps = {\r\n ref?: any;\r\n template: IDateTemplate;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n actionAlert?: any;\r\n \r\n};\r\n\r\ntype IDateControlProps = {\r\n template: IDateTemplate;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n actionAlert?: any;\r\n};\r\n\r\nconst DateInputComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n actionAlert,\r\n ...props\r\n}) => {\r\n const [action, setAction] = useState(false);\r\n // console.log(\"actionAlertSelect=>\", actionAlert);\r\n // console.log(\"template=>\", template);\r\n // console.log(\"value=>\", value);\r\n useEffect(() => {\r\n checkStatus();\r\n }, [action]);\r\n\r\n const checkStatus = () => {\r\n if (actionAlert) {\r\n if (actionAlert.Data) {\r\n actionAlert.Data.map((data: any) => {\r\n if (\r\n actionAlert.ErrorType === \"SpecialError\" &&\r\n data.Label === template.label &&\r\n data.Value === value\r\n ) {\r\n setAction(true);\r\n } else {\r\n setAction(false);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n // console.log(\"actionAlert=>\", actionAlert);\r\n function formatDate(date: string) {\r\n let arrDate = date.split(\"/\");\r\n\r\n const mm = Number(arrDate[1]);\r\n if (mm === 1) {\r\n arrDate[1] = \"Jan\";\r\n } else if (mm === 2) {\r\n arrDate[1] = \"Feb\";\r\n } else if (mm === 3) {\r\n arrDate[1] = \"Mar\";\r\n } else if (mm === 4) {\r\n arrDate[1] = \"Apr\";\r\n } else if (mm === 5) {\r\n arrDate[1] = \"May\";\r\n } else if (mm === 6) {\r\n arrDate[1] = \"Jun\";\r\n } else if (mm === 7) {\r\n arrDate[1] = \"Jul\";\r\n } else if (mm === 8) {\r\n arrDate[1] = \"Aug\";\r\n } else if (mm === 9) {\r\n arrDate[1] = \"Sep\";\r\n } else if (mm === 10) {\r\n arrDate[1] = \"Oct\";\r\n } else if (mm === 11) {\r\n arrDate[1] = \"Nov\";\r\n } else if (mm === 12) {\r\n arrDate[1] = \"Dec\";\r\n }\r\n return arrDate.join(\r\n template.attribute.date.symbol !== \"\"\r\n ? template.attribute.date.symbol\r\n : \"/\"\r\n );\r\n }\r\n const getDateValue = (dateValue: any) => {\r\n // let newDate: Date = new Date();\r\n let newDate = moment(\r\n moment(new Date(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n newDate = moment(formatDate(dateValue), \"DD MMM YYYY\").toDate();\r\n } else {\r\n newDate = moment(\r\n moment(formatDate(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n console.log(\"cal=>props.data.value\", dateValue);\r\n }\r\n }\r\n // return newDate;\r\n return moment(\r\n new Date(newDate).toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"numeric\",\r\n }),\r\n getDateFormat(template.attribute)\r\n );\r\n };\r\n return (\r\n <>\r\n console.log(\"Date\",template)}\r\n value={value && getDateValue(value)}\r\n format={getDateFormat(template.attribute)}\r\n showTime={\r\n template.attribute.time.use === \"Y\"\r\n ? { defaultValue: moment(\"00:00:00\", \"HH:mm:ss\") }\r\n : false\r\n }\r\n onChange={(value) => {\r\n console.log(\r\n \"cal=>value\",\r\n value?.format(getDateFormat(template.attribute))\r\n ); \r\n onChange(\r\n value ? value?.format(getDateFormat(template.attribute)) : \"\"\r\n );\r\n }}\r\n status={action ? \"error\" : \"\"}\r\n inputReadOnly\r\n />\r\n \r\n );\r\n};\r\n// this one row col index\r\nexport const DatePickerControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n \r\n \r\n\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const DatePickerTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n {\r\n // if (value !== \"\" && value !== undefined) {\r\n // return moment(value, getDateFormat(template.attribute));\r\n // } else {\r\n // return null;\r\n // }\r\n // }}\r\n rules={[\r\n {\r\n required:\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\" &&\r\n buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n message: `${template.label} is required.`,\r\n },\r\n ]}\r\n >\r\n {\r\n saveFunc(template.type, template.type);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Form, InputNumber } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useWatch } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport $ from \"jquery\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n controlUpdate: any\r\n ) => any;\r\n controlUpdate: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputNumberProps = {\r\n ref?: any;\r\n id?: string;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n isEditing?: any;\r\n canEditDoc: boolean;\r\n toggleEdit?: any;\r\n checkActionPage: string;\r\n};\r\n\r\nexport const InputNumberComponent: React.FC = ({\r\n id,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n isEditing,\r\n toggleEdit,\r\n ref,\r\n}) => {\r\n return (\r\n <>\r\n {\r\n if (isNaN(Number(value.replaceAll(\",\", \"\")))) {\r\n return \"\";\r\n } else {\r\n if (template.attribute.useComma === \"Y\") {\r\n return Number(value.replaceAll(\",\", \"\")).toLocaleString(\"en-US\", {\r\n minimumFractionDigits: Number(template.attribute.decimal),\r\n });\r\n } else {\r\n return Number(value.replaceAll(\",\", \"\")).toFixed(\r\n Number(template.attribute.decimal)\r\n );\r\n }\r\n }\r\n }}\r\n style={{\r\n width: \"100%\",\r\n }}\r\n disabled={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n // readOnly={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n value={value && value !== \"\" ? value : \"0\"}\r\n defaultValue={template.attribute.default}\r\n onFocus={(e) => {\r\n if (toggleEdit) {\r\n toggleEdit();\r\n }\r\n e.target.select();\r\n }}\r\n onBlur={(e) => {\r\n e.preventDefault();\r\n\r\n let _value = \"\";\r\n if (isNaN(Number(e.target.value.replaceAll(\",\", \"\")))) {\r\n _value = \"0\";\r\n } else {\r\n _value = Number(e.target.value.replaceAll(\",\", \"\")).toLocaleString(\r\n \"en-US\",\r\n {\r\n minimumFractionDigits: Number(template.attribute.decimal),\r\n maximumFractionDigits: Number(template.attribute.decimal),\r\n }\r\n );\r\n }\r\n\r\n onChange(_value.replaceAll(\",\", \"\"));\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document\r\n .getElementById(id!)\r\n ?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n // console.log({id, curIndex, nxtIdx});\r\n\r\n $(\r\n \"input[tabindex=\" +\r\n nxtIdx +\r\n \"], textarea[tabindex=\" +\r\n nxtIdx +\r\n \"]\"\r\n )\r\n .focus()\r\n .click();\r\n }, 300);\r\n }\r\n }}\r\n onPressEnter={(e: any) => {\r\n e.target.blur();\r\n }}\r\n status={status}\r\n ref={ref}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const InputNumberControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n onControlChange,\r\n canEditDoc,\r\n checkActionPage,\r\n controlUpdate,\r\n buttonType,\r\n}) => {\r\n // console.log(colIdx, rowIdx, colAction, colText, col);\r\n const watchControlInput = useWatch({\r\n control,\r\n name: name,\r\n });\r\n\r\n // useEffect(() => {\r\n // // console.log({ watchControlInput });\r\n // // console.log({ watchControlSelect });\r\n // onControlChange(template, watchControlInput, controlUpdate);\r\n // }, [watchControlInput]);\r\n return (\r\n {\r\n // console.log({ errorserrorserrorserrors: errors });\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n let intValue: any = value;\r\n if (value == 0 || value == 0.0) {\r\n intValue = \"\";\r\n }\r\n onChange(intValue);\r\n onControlChange(template, intValue, false);\r\n }}\r\n value={value}\r\n status={\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n \"error\"\r\n }\r\n />\r\n {/* {errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]?.data?.value?.type ===\r\n \"required\" && (\r\n \r\n {template.label} is required.\r\n \r\n )} */}\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} : is required.\r\n \r\n )}\r\n {errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n (errors?.items[rowIdx]?.layout[colIdx]?.data?.value?.type! ===\r\n \"min\" ||\r\n errors?.items[rowIdx]?.layout[colIdx]?.data?.value\r\n ?.type! === \"max\") && (\r\n \r\n {template.label} must be between {template.attribute.min}{\" \"}\r\n to {template.attribute.max}.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport const InputNumberTableComponent: React.FC = ({\r\n rowIdx,\r\n colIdx,\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n}) => {\r\n const { toggleAlert } = useAlert();\r\n if (!isEditing) {\r\n return (\r\n <>\r\n Number(template.attribute.max)) ||\r\n (template.type === \"c\" &&\r\n Number(template.attribute.max) !== 0 &&\r\n Number(children[1]) !== 0.0 &&\r\n Number(children[1]) < Number(template.attribute.min))\r\n ? {\r\n width: \"100%\",\r\n border: \"1px solid red\",\r\n borderRadius: \"6px\",\r\n }\r\n : {\r\n width: \"100%\",\r\n }\r\n }\r\n >\r\n \r\n \r\n {template.type === \"c\" &&\r\n template.attribute.min === template.attribute.max ? (\r\n <>\r\n ) : (\r\n (template.type === \"c\" &&\r\n Number(template.attribute.max) !== 0.0 &&\r\n Number(children[1]) !== 0.0 &&\r\n Number(children[1]) > Number(template.attribute.max) && (\r\n \r\n {template.label} must be between {template.attribute.min} to{\" \"}\r\n {template.attribute.max}.\r\n \r\n )) ||\r\n (template.type === \"c\" &&\r\n Number(template.attribute.min) !== 0.0 &&\r\n Number(children[1]) !== 0.0 &&\r\n Number(children[1]) < Number(template.attribute.min) && (\r\n \r\n {template.label} must be between {template.attribute.min} to{\" \"}\r\n {template.attribute.max}.\r\n \r\n ))\r\n )}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n let correct = true;\r\n let msg = \"\";\r\n if (value) {\r\n const formatValue = Number(value);\r\n const formatMaxValue = Number(template.attribute.max);\r\n const formatMinValue = Number(template.attribute.min);\r\n\r\n console.log(\r\n \"value=>\",\r\n formatValue,\r\n formatMaxValue,\r\n formatMinValue,\r\n template.label\r\n );\r\n\r\n if (formatMaxValue !== 0 && formatValue > formatMaxValue) {\r\n correct = false;\r\n\r\n msg = `${template.label} must be between ${template.attribute.min} to ${template.attribute.max} value.`;\r\n } else if (\r\n formatMinValue !== 0 &&\r\n formatValue < formatMinValue\r\n ) {\r\n correct = false;\r\n msg = `${template.label} must be between ${template.attribute.min} to ${template.attribute.max} value.`;\r\n }\r\n } else if (!value && template.attribute.require === \"Y\") {\r\n correct = false;\r\n }\r\n if (!correct) {\r\n toggleAlert({\r\n description: ` `,\r\n message: msg,\r\n type: \"error\",\r\n });\r\n }\r\n return correct\r\n ? Promise.resolve()\r\n : Promise.reject(new Error(msg));\r\n },\r\n },\r\n ]}\r\n >\r\n {\r\n saveFunc(template.type, template.type);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Space } from \"antd\";\r\nimport { Radio } from \"antd\";\r\nimport React from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { Form } from \"antd\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { Store } from \"antd/lib/form/interface\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: any\r\n ) => any;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputRadioProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange?: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n};\r\n\r\nexport const RadioComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n return (\r\n <>\r\n \r\n {template.attribute.multipleLine === \"N\" && (\r\n \r\n {template.attribute.items.map((choice: any) => (\r\n \r\n {choice.item}\r\n \r\n ))}\r\n \r\n )}\r\n\r\n {template.attribute.multipleLine === \"Y\" && (\r\n <>\r\n {template.attribute.items.map((choice: any) => (\r\n \r\n {choice.item}\r\n \r\n ))}\r\n )}\r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport const RadioControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n onControlChange,\r\n buttonType,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n \r\n {\r\n console.log({ value });\r\n onChange(value);\r\n onControlChange(template, value.target.value, false);\r\n }}\r\n status={\r\n isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]\r\n }\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const RadioTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n value,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n value}\r\n rules={[\r\n {\r\n required:\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\" &&\r\n buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n message: `${template.label} is required.`,\r\n },\r\n ]}\r\n >\r\n {\r\n saveFunc(template.type);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Form, Select } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useWatch } from \"react-hook-form\";\r\nimport {\r\n TableInputProps,\r\n tableSelectOption,\r\n} from \"../TableComponent/TableComponent\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n controlUpdate: any;\r\n canEditDoc: boolean;\r\n buttonType: string;\r\n checkActionPage: string;\r\n actionAlert?: any;\r\n};\r\n\r\ntype SelectDropdownProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any, type: string) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n tableOptions?: any[];\r\n actionAlert?: any;\r\n};\r\n\r\nconst { Option } = Select;\r\n\r\nexport const SelectWithTableDropdownComponent: React.FC<\r\n SelectDropdownProps\r\n> = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n canEditDoc,\r\n onChange,\r\n tableOptions,\r\n actionAlert,\r\n}) => {\r\n const [action, setAction] = useState(false);\r\n useEffect(() => {\r\n checkStatus();\r\n }, [actionAlert]);\r\n\r\n const checkStatus = () => {\r\n if (actionAlert) {\r\n if (actionAlert.Data) {\r\n actionAlert.Data.map((data: any) => {\r\n if (\r\n actionAlert.ErrorType === \"SpecialError\" &&\r\n data.Label === template.label &&\r\n data.Value === value\r\n ) {\r\n setAction(true);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n // console.log(\"actionAlert=>\", actionAlert);\r\n return (\r\n <>\r\n 0\r\n ? template.attribute.items[0].item\r\n : \"--select--\"\r\n }\r\n placeholder={template.attribute.description}\r\n optionFilterProp=\"children\"\r\n onChange={(value) => onChange(value, \"dd\")}\r\n disabled={\r\n !canEditDoc ||\r\n template.attribute.readonly === \"Y\" ||\r\n template.readonly === \"Y\"\r\n }\r\n filterOption={(input, option) =>\r\n (option!.children as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase())\r\n }\r\n style={{\r\n textAlign: template.attribute.align === \"r\" ? \"right\" : \"left\",\r\n height: 38,\r\n }}\r\n size={\"large\"}\r\n status={action ? \"error\" : \"\"}\r\n >\r\n {tableOptions\r\n ? tableOptions?.map((option: any, idx: number) => (\r\n \r\n ))\r\n : template.attribute?.items?.map((option: any, idx: number) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\nexport const SelectDropdownComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n actionAlert,\r\n checkActionPage,\r\n}) => {\r\n return (\r\n <>\r\n onChange(value, \"dd\")}\r\n filterOption={(input, option) =>\r\n (option!.children as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase())\r\n }\r\n style={{\r\n textAlign: template.attribute.align === \"r\" ? \"right\" : \"left\",\r\n }}\r\n size={\"large\"}\r\n status={status && \"error\"}\r\n >\r\n {template.attribute?.items?.map((option: any, idx: number) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\nexport const SelectDropdownControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n onControlChange,\r\n controlUpdate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n actionAlert,\r\n ...props\r\n}) => {\r\n const { Option } = Select;\r\n const watchControlSelect = useWatch({\r\n control,\r\n name: name,\r\n });\r\n\r\n const formatValue = (value: string[]) => {\r\n let items = template.attribute.items;\r\n let _res: any[] = [];\r\n if (value) {\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n if (value[i] === \"Y\") {\r\n _res.push(item.item);\r\n }\r\n }\r\n return _res;\r\n }\r\n return [];\r\n };\r\n\r\n return (\r\n {\r\n if (value.data.value) {\r\n if (\r\n value.data.value !== \"---Select---\" &&\r\n value.data.value !== \"-- Please Select --\" &&\r\n value.data.value !== \"--Please Select--\" &&\r\n value.data.value !== \"--select--\"\r\n ) {\r\n return true;\r\n } else if (\r\n template.attribute.require === \"\" ||\r\n template.attribute.require === \"N\" ||\r\n buttonType === \"draft\" ||\r\n buttonType === \"cancel\"\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else if (!value.data.value) {\r\n if (\r\n !template.attribute.require ||\r\n template.attribute.require === \"\" ||\r\n template.attribute.require === \"N\" ||\r\n buttonType === \"draft\" ||\r\n buttonType === \"cancel\"\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n },\r\n }}\r\n render={({\r\n field: { onChange, value, onBlur, name, ref },\r\n formState: { errors, isSubmitted },\r\n }) => {\r\n const _value = value;\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n onChange({\r\n ..._value,\r\n data: {\r\n value,\r\n },\r\n });\r\n onControlChange(template, value);\r\n }}\r\n actionAlert={actionAlert}\r\n status={\r\n isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n _value === \"--select--\")\r\n }\r\n />\r\n\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport const SelectDropdownTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n record,\r\n tableOptions,\r\n rowIdx,\r\n colIdx,\r\n actionAlert,\r\n ...props\r\n}) => {\r\n const [customOptions, setCustomOptions] = useState();\r\n useEffect(() => {\r\n if (tableOptions) {\r\n const options = tableOptions.find((e) => {\r\n if (e.targetCol.rowIdx === rowIdx) {\r\n if (e.targetCol.colIdx === colIdx) {\r\n return e;\r\n }\r\n }\r\n });\r\n if (options) {\r\n setCustomOptions(options.targetCol.options);\r\n }\r\n }\r\n }, [tableOptions]);\r\n\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n 1,\r\n validator: (_, value) => {\r\n let res = true;\r\n\r\n if (template.attribute.items.length > 1) {\r\n if (value) {\r\n if (value !== \"--select--\" && value !== \"--Please Select--\") {\r\n res = true;\r\n } else if (template.attribute.require === \"N\") {\r\n res = true;\r\n } else {\r\n res = false;\r\n }\r\n } else {\r\n if (template.attribute.require === \"N\") {\r\n res = true;\r\n } else {\r\n res = false;\r\n }\r\n }\r\n }\r\n\r\n return res\r\n ? Promise.resolve()\r\n : Promise.reject(`${template.label} is required.`);\r\n },\r\n },\r\n ]}\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n","import { Checkbox, Form } from \"antd\";\r\nimport type { CheckboxValueType } from \"antd/es/checkbox/Group\";\r\nimport React from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\ntype CheckboxProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n};\r\nexport const CheckboxInTableComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n const onSelectChange = (\r\n checkedValues: CheckboxValueType[],\r\n _onChange: any\r\n ) => {\r\n let items = template.attribute.items;\r\n let test: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < checkedValues.length; i++) {\r\n const _value = checkedValues[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n test.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n\r\n // console.log({ resresres: res });\r\n // for (let i = 0; i < res.length; i++) {\r\n // const _res = res[i];\r\n // if (_res === \"Y\") {\r\n // _value.push(i);\r\n // }\r\n // }\r\n // console.log({\r\n // resresres: {\r\n // item: res,\r\n // value: _value.toString(),\r\n // },\r\n // });\r\n\r\n _onChange(test.toString(), \"cb\");\r\n // _onChange(res);\r\n };\r\n\r\n const formatOptions = (options: { item: string; chcked: string }[]) => {\r\n const _options = options.map(\r\n (option: { item: string; chcked: string }) => option.item\r\n );\r\n\r\n return _options;\r\n };\r\n const formatValue = (value: any) => {\r\n let items = template.attribute.items;\r\n let _res: any[] = [];\r\n // console.log({ value, _res, template });\r\n\r\n if (value && value.length > 0) {\r\n const _values = value.split(\",\");\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n for (let j = 0; j < _values.length; j++) {\r\n const _value = _values[j];\r\n if (_value === item.item) {\r\n }\r\n }\r\n // if (_value[i] === \"Y\") {\r\n // _res.push(item.item);\r\n // } else {\r\n // }\r\n }\r\n\r\n return _values;\r\n }\r\n\r\n return [];\r\n };\r\n return (\r\n <>\r\n onSelectChange(checkValue, onChange)}\r\n value={formatValue(value)}\r\n />\r\n \r\n );\r\n};\r\nexport const CheckboxComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n const onSelectChange = (\r\n checkedValues: CheckboxValueType[],\r\n _onChange: any\r\n ) => {\r\n let items = template.attribute.items;\r\n let _values: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < checkedValues.length; i++) {\r\n const _value = checkedValues[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n _values.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n // for (let i = 0; i < res.length; i++) {\r\n // const _res = res[i];\r\n // if (_res === \"Y\") {\r\n // _value.push(i);\r\n // }\r\n // }\r\n\r\n _onChange(\r\n {\r\n item: res,\r\n value: _values.toString(),\r\n },\r\n \"cb\"\r\n );\r\n // _onChange(res);\r\n };\r\n\r\n const formatOptions = (options: { item: string; chcked: string }[]) => {\r\n const _options = options.map(\r\n (option: { item: string; chcked: string }) => option.item\r\n );\r\n\r\n return _options;\r\n };\r\n const formatValue = (value: any) => {\r\n let items = template.attribute.items;\r\n let _res: any[] = [];\r\n\r\n if (value && value.item) {\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n\r\n if (value?.item[i] === \"Y\") {\r\n _res.push(item.item);\r\n } else {\r\n }\r\n }\r\n\r\n return _res;\r\n }\r\n\r\n return [];\r\n };\r\n return (\r\n <>\r\n onSelectChange(checkValue, onChange)}\r\n value={formatValue(value)}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const CheckboxControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n buttonType,\r\n checkActionPage,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\"))\r\n ? \"set-layout-required\"\r\n : \"\"\r\n }`}\r\n >\r\n {/* _value === \"N\"))\r\n ? \"checkbox-invalid\"\r\n : \"\"\r\n }\r\n options={formatOptions(template.attribute.items)}\r\n onChange={(checkValue) => onSelectChange(checkValue, onChange)}\r\n value={formatValue(value)}\r\n /> */}\r\n {\r\n onChange({\r\n ...value,\r\n data: {\r\n value,\r\n },\r\n });\r\n onControlChange(template, value.value);\r\n }}\r\n value={value}\r\n status={\r\n isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\"))\r\n }\r\n />\r\n {isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\")) && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const CheckboxTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n // console.log({ children });\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import { Form, Input, Select } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n actionAlert?: any;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\ntype SelectCheckboxProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any, type: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n actionAlert?: any;\r\n};\r\nconst SelectCheckboxInTableComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n actionAlert,\r\n checkActionPage,\r\n}) => {\r\n const { Option } = Select;\r\n\r\n const [action, setAction] = useState(false);\r\n // console.log(\"actionAlertSelect=>\", actionAlert);\r\n // console.log(\"template=>\", template);\r\n // console.log(\"value=>\", value);\r\n\r\n useEffect(() => {\r\n checkStatus();\r\n }, [actionAlert]);\r\n\r\n const onSelectChange = (value: string[]) => {\r\n let items = template.attribute.items;\r\n let test: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < value.length; i++) {\r\n const _value = value[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n test.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n\r\n onChange(test.toString(), \"cb\");\r\n };\r\n\r\n const formatValue = (value: any) => {\r\n let items = template.attribute.items;\r\n\r\n let _res: any[] = [];\r\n if (value && value.length > 0) {\r\n const _values = value.split(\",\");\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n if (value[i] === \"Y\") {\r\n _res.push(item.item);\r\n }\r\n }\r\n return _values;\r\n }\r\n return [];\r\n };\r\n\r\n const checkStatus = () => {\r\n if (actionAlert) {\r\n if (actionAlert.Data) {\r\n actionAlert.Data.map((data: any) => {\r\n let split = value.split(\",\");\r\n split.map((splitData: any) => {\r\n if (\r\n actionAlert.ErrorType === \"SpecialError\" &&\r\n data.Label === template.label &&\r\n data.Value === splitData\r\n ) {\r\n setAction(true);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n };\r\n\r\n // console.log(\"actionAlert=>\", actionAlert);\r\n return (\r\n <>\r\n {\r\n console.log({ option });\r\n return (option!.children! as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase());\r\n }}\r\n disabled={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n status={action ? \"error\" : \"\"}\r\n mode=\"tags\"\r\n >\r\n {template.attribute.items.map((option: any) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\nconst SelectCheckboxComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n const { Option } = Select;\r\n\r\n const onSelectChange = (value: string[]) => {\r\n let items = template.attribute.items;\r\n let test: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < value.length; i++) {\r\n const _value = value[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n test.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n\r\n // for (let i = 0; i < res.length; i++) {\r\n // const _res = res[i];\r\n // if (_res === \"Y\") {\r\n // _value.push(i);\r\n // }\r\n // }\r\n onChange(\r\n {\r\n item: res,\r\n value: test.toString(),\r\n },\r\n \"cb\"\r\n );\r\n };\r\n\r\n const formatValue = (value: any) => {\r\n let _res: any[] = [];\r\n if (value && value.item) {\r\n if (value.value && typeof value.value == 'string') {\r\n let namesArray = value.value.replace(/,$|,\\s+$/, '').split(\",\");\r\n _res = namesArray;\r\n }\r\n\r\n return _res;\r\n }\r\n\r\n return [];\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n console.log({ option });\r\n return (option!.children! as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase());\r\n }}\r\n disabled={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n status={status}\r\n mode=\"tags\"\r\n >\r\n {template.attribute.items.map((option: any) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport const SelectCheckboxControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n actionAlert,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n \r\n {\r\n onChange({\r\n ...value,\r\n data: {\r\n value,\r\n },\r\n });\r\n onControlChange(template, value.value);\r\n }}\r\n value={value}\r\n status={\r\n isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\")) &&\r\n \"error\"\r\n }\r\n actionAlert={actionAlert}\r\n />\r\n\r\n {isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\")) && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const SelectCheckboxTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n actionAlert,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import { Form, Input } from \"antd\";\r\nimport React from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport TextArea from \"antd/lib/input/TextArea\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\nimport $ from \"jquery\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputTextAreaProps = {\r\n id?: string;\r\n ref?: any;\r\n colIdx: number;\r\n rowIdx: number;\r\n col?: any;\r\n colText?: number;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n};\r\n\r\nexport const InputTextAreaComponent: React.FC = ({\r\n id,\r\n ref,\r\n colIdx,\r\n rowIdx,\r\n col,\r\n colText,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => { \r\n const { TextArea } = Input;\r\n let tId = replaceSpecialChar(id ?? \"\");\r\n\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state ใน onblur จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(tId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n\r\n $(\r\n \"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\"\r\n ).focus().click();\r\n }, 300);\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n onChange(e.target.value);\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n console.log(\"key down\");\r\n nextTab();\r\n }\r\n }}\r\n disabled={canEditDoc && template.attribute.readonly === \"Y\"}\r\n readOnly={canEditDoc && template.attribute.readonly === \"Y\"}\r\n status={status}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const InputTextAreaControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n const { TextArea } = Input;\r\n let tId = template.label.replaceAll(\" \", \"_\");\r\n\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state ใน onblur จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(tId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n // console.log({id, curIndex, nxtIdx});\r\n\r\n $(\r\n \"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\"\r\n ).focus();\r\n }, 300);\r\n };\r\n return (\r\n {\r\n console.log({\r\n errorserrorserrorserrors: errors,\r\n buttonType,\r\n template,\r\n field,\r\n });\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport const InputTextAreaTableComponent: React.FC = ({\r\n rowIdx,\r\n colIdx,\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n toggleEdit,\r\n ...props\r\n}) => {\r\n // const row = rowIdx?.toString();\r\n // const col = colIdx?.toString();\r\n // console.log(typeof row);\r\n let tId = rowIdx + \"_\" + colIdx + \"_\" + template.label;\r\n\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state ใน onblur จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(tId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n // console.log({id, curIndex, nxtIdx});\r\n\r\n $(\"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\")\r\n .focus()\r\n .click();\r\n }, 300);\r\n };\r\n\r\n if (!isEditing) {\r\n return (\r\n \r\n {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n onFocus={(e) => {\r\n if (toggleEdit) {\r\n toggleEdit();\r\n }\r\n e.target.select();\r\n }}\r\n />\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n console.log(\"tex\", template.attribute)}\r\n maxLength={\r\n parseInt(template.attribute.length) === 0\r\n ? undefined\r\n : parseInt(template.attribute.length)\r\n }\r\n // style={{\r\n // height: 38,\r\n // }}\r\n onBlur={(e) => {\r\n e.preventDefault();\r\n saveFunc();\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { SelectButton } from \"primereact/selectbutton\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { UploadFileAttachFiles } from \"../../../Services/AttachFileService\";\r\nimport { ConfirmDialog, confirmDialog } from \"primereact/confirmdialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport \"../mainCssControl.css\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\ntype AttachmentModalProp = {\r\n visibleDialog: boolean;\r\n setVisibleDialog: (value: boolean) => void;\r\n setCheckHasValue: (value: boolean) => void;\r\n toast: any;\r\n template: any;\r\n onChange: (value: string) => void;\r\n nameFile: string;\r\n setNameFile: (value: string) => void;\r\n value: string;\r\n setValue: (value: string) => void;\r\n link: string;\r\n setLink: (value: string) => void;\r\n SharepointSiteURL: string;\r\n TinyURL: string;\r\n visibleConfirmDialog: boolean;\r\n setVisibleConfirmDialog: (value: boolean) => void;\r\n selected: any;\r\n setSelected: any;\r\n};\r\n\r\nexport const AttachmentModal: React.FC = ({\r\n visibleDialog,\r\n setVisibleDialog,\r\n setCheckHasValue,\r\n toast,\r\n template,\r\n onChange,\r\n nameFile,\r\n setNameFile,\r\n link,\r\n setLink,\r\n SharepointSiteURL,\r\n TinyURL,\r\n visibleConfirmDialog,\r\n setVisibleConfirmDialog,\r\n selected,\r\n setSelected,\r\n value,\r\n setValue,\r\n ...props\r\n}: AttachmentModalProp) => {\r\n const [fileType, setFileType] = useState(\"Attach file\");\r\n const { toggleAlert } = useAlert();\r\n const [userData] = useUserContext();\r\n const options = [\"Attach file\", \"Attach link\"];\r\n\r\n const onFileSelected = (e: any) => {\r\n let mapData: any = [];\r\n var hasInvalidFiles = false;\r\n\r\n const file = e.dataTransfer\r\n ? e.dataTransfer.files[0]\r\n : e.currentTarget.files[0];\r\n if (file === undefined) {\r\n return false;\r\n }\r\n console.log({ filefilefile: file });\r\n if (template.description) {\r\n const myArray = template.description.split(\"*\");\r\n for (let index = 1; index < myArray.length; index++) {\r\n mapData.push(myArray[index]);\r\n if (file.name.endsWith(myArray[index])) {\r\n hasInvalidFiles = true;\r\n continue;\r\n }\r\n }\r\n }\r\n if (!hasInvalidFiles) {\r\n e.target.value = null;\r\n toggleAlert({\r\n description: `Unsupported file selected.`,\r\n message: `File type warning.`,\r\n type: \"warning\",\r\n });\r\n setSelected(undefined);\r\n return;\r\n }\r\n var filesize = file.size / 1024 / 1024;\r\n if (parseInt(template.attribute.max) < filesize) {\r\n toggleAlert({\r\n description: `File size exceeds ${template.attribute.max} MB`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n\r\n e.target.value = null;\r\n setSelected(undefined);\r\n return false;\r\n }\r\n setSelected(file);\r\n };\r\n const fileUpload = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n File Formats Accepted {template.description}\r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n const linkUpload = () => {\r\n return (\r\n
\r\n
\r\n \r\n {\r\n setNameFile(e.target.value?.replaceAll(\" \", \"_\"));\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n setLink(e.target.value?.replaceAll(\" \", \"_\"));\r\n }}\r\n />\r\n
\r\n
\r\n );\r\n };\r\n const footerDialog = (onChange: any) => {\r\n return (\r\n
\r\n setVisibleDialog(false)}\r\n label=\"Close\"\r\n id=\"CloseButton\"\r\n className=\"close-set-color-button-active-request\"\r\n />\r\n uploadFile(onChange)}\r\n style={{ height: \"38px\" }}\r\n label=\"Save Changes\"\r\n id=\"SaveChangesButton\"\r\n className=\"save-set-color-button-active-request\"\r\n />\r\n
\r\n );\r\n };\r\n const uploadFile = async (onChange: any) => {\r\n try {\r\n if (value === \"Attach file\") {\r\n if (selected) {\r\n const formData = new FormData();\r\n formData.append(`files`, selected);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", generateQuickGuid());\r\n formData.append(\"fileDesc\", \"renderControl\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n const response = await UploadFileAttachFiles(formData);\r\n console.log(response, \"response\");\r\n\r\n if (response?.data?.result) {\r\n onChange(\r\n replaceSpecialChar(selected.name) +\r\n \"|\" +\r\n replaceSpecialChar(response.data.pathUrl)\r\n );\r\n setNameFile(replaceSpecialChar(selected.name));\r\n // if (SharepointSiteURL) {\r\n // setLink(SharepointSiteURL + \"\" + response?.data.pathUrl);\r\n // } else {\r\n setLink(response?.data.pathUrl?.replaceAll(\" \", \"_\"));\r\n // }\r\n }\r\n setVisibleConfirmDialog(true);\r\n } else {\r\n confirm1(\"Please select a file.\");\r\n }\r\n } else if (value === \"Attach link\") {\r\n console.log(\"at+>\", link);\r\n if (link !== undefined) {\r\n onChange(nameFile?.replaceAll(\" \", \"_\") + \"|\" + link);\r\n setNameFile(nameFile?.replaceAll(\" \", \"_\"));\r\n setLink(link);\r\n setVisibleConfirmDialog(true);\r\n } else {\r\n confirm1(\"Please insert a link.\");\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"At=>error\", error);\r\n }\r\n };\r\n const confirm1 = (msg: string) => {\r\n confirmDialog({\r\n message: msg,\r\n header: \"Alert\",\r\n icon: \"pi pi-info-circle\",\r\n rejectClassName: \"hide-component\",\r\n });\r\n };\r\n return (\r\n <>\r\n setVisibleDialog(false)}\r\n draggable={false}\r\n footer={footerDialog(onChange)}\r\n >\r\n setValue(e.value)}\r\n >\r\n\r\n {value === \"Attach file\" && fileUpload()}\r\n {value === \"Attach link\" && linkUpload()}\r\n \r\n \r\n );\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { Form as AntForm, Popover } from \"antd\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./AttachmentComponent.css\";\r\nimport { AiOutlineClose } from \"react-icons/ai\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { AttachmentModal } from \"./AttachmentModal\";\r\n\r\ntype Props = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputAttachmentProps = {\r\n ref?: any;\r\n rowIdx?: any;\r\n colIdx?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n id?: string;\r\n};\r\n\r\nexport const AttachmentComponent: React.FC = ({\r\n ref,\r\n rowIdx,\r\n colIdx,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n id,\r\n canEditDoc,\r\n checkActionPage,\r\n ...props\r\n}: InputAttachmentProps) => {\r\n const toast = useRef(null);\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [checkHasValue, setCheckHasValue] = useState(false);\r\n const [link, setLink] = useState();\r\n const [nameFile, setNameFile] = useState(\"\");\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const [visibleConfirmDialog, setVisibleConfirmDialog] =\r\n useState(false);\r\n const [selected, setSelected] = useState();\r\n const [uploadType, setUploadType] = useState(\"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n useEffect(() => {\r\n deFaultValue();\r\n }, [value]);\r\n\r\n const deFaultValue = async () => {\r\n try {\r\n const def = template.attribute.default || \"\";\r\n if (!value && !def) {\r\n return;\r\n }\r\n if (value === \"\" && def === \"\") {\r\n return;\r\n }\r\n\r\n const [nameFile, linkFile] = value?.split(\"|\") || def?.split(\"|\");\r\n const linkUrl = linkFile;\r\n\r\n setLink(linkUrl);\r\n setNameFile(nameFile);\r\n setCheckHasValue(true);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n // function openWindow() {\r\n // var pathArray = link.split(\"/\");\r\n // console.log(\"at=>link\", link);\r\n // console.log(\"at=>pathArray\", pathArray);\r\n // console.log({ link });\r\n // const _baseUrl = window.location.hostname;\r\n\r\n // const TmpUrl =\r\n // process.env.NODE_ENV === \"development\"\r\n // ? \"qar2.wolfapprove.com\"\r\n // : _baseUrl;\r\n // console.log({ ddd: `https://${TmpUrl}/${link}` });\r\n\r\n // window.open(`https://${TmpUrl}/${link}`, \"_blank\", \"noreferrer\");\r\n // }\r\n async function openWindow() {\r\n var pathArray = link.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n console.log(\"att=>\", _link);\r\n\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n console.log(\"att=>\", `${_sharepointSiteURL}${_link}`);\r\n\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n if (location.host !== \"localhost:5001\") {\r\n let _port = location.port;\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n const confirmUploadDialog = () => {\r\n return (\r\n <>\r\n setVisibleConfirmDialog(false)}\r\n message=\"Are you sure you want to proceed?\"\r\n header=\"Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n position=\"top\"\r\n accept={acceptUpload}\r\n acceptClassName=\"p-button p-component p-button-raised p-button-success\"\r\n rejectClassName=\"p-button p-component p-button-outlined p-button-danger\"\r\n draggable={false}\r\n />\r\n \r\n );\r\n };\r\n\r\n const acceptUpload = () => {\r\n if (uploadType === \"Attach file\") {\r\n setCheckHasValue(true);\r\n setIsModalVisible(false);\r\n } else if (uploadType === \"Attach link\") {\r\n setCheckHasValue(true);\r\n setIsModalVisible(false);\r\n } else {\r\n setCheckHasValue(false);\r\n setSelected(undefined);\r\n setLink(\"\");\r\n setNameFile(\"\");\r\n setUploadType(\"Attach file\");\r\n onChange(\"\");\r\n setIsModalVisible(false);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {confirmUploadDialog()}\r\n
\r\n \r\n {\r\n if (checkHasValue) {\r\n openWindow();\r\n } else {\r\n setIsModalVisible(true);\r\n }\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderTopLeftRadius: \"6px\",\r\n borderBottomLeftRadius: \"6px\",\r\n borderTopRightRadius:\r\n checkHasValue && canEditDoc && template.attribute.readonly\r\n ? undefined\r\n : \"6px\",\r\n borderBottomRightRadius:\r\n checkHasValue && canEditDoc && template.attribute.readonly\r\n ? undefined\r\n : \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n />\r\n \r\n\r\n {checkHasValue && template.attribute.readonly !== \"Y\" && (\r\n {\r\n setUploadType(\"Clear\");\r\n\r\n setVisibleConfirmDialog(true);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const AttachmentControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n return (\r\n <>\r\n (\r\n <>\r\n \r\n \r\n
\r\n \r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n
\r\n \r\n \r\n )}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const AttachmentTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n value,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n value}\r\n rules={[\r\n {\r\n required:\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\" &&\r\n buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n message: `${template.label} is required.`,\r\n },\r\n ]}\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { createContext, useContext, useState } from \"react\";\r\nimport { IUserModel } from \"../IRequestModel/IUserModel\";\r\nconst _userData = JSON.parse(localStorage?.getItem(\"userData\") || \"null\") || { employeeData: {} };\r\n\r\n\r\nconst employeeData = _userData.employeeData;\r\nconst initialSession: IUserModel = employeeData;\r\n\r\nexport const UserContext = createContext<\r\n [IUserModel, (session: IUserModel) => void]\r\n>([initialSession, () => {}]);\r\n\r\nexport const useUserContext = () => useContext(UserContext);\r\n\r\nexport const UserContextProvider: React.FC = (props) => {\r\n const [userData, setUserData] = useState(initialSession);\r\n const defaultUserContext: [IUserModel, typeof setUserData] = [\r\n userData,\r\n setUserData,\r\n ];\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import {\r\n GetAttachmentFilesByMemoId,\r\n GetMemoById,\r\n GetRefDocFormTable,\r\n} from \"../Services/MemoService\";\r\nimport { formatColumn } from \"./formatColumn\";\r\n\r\nexport type RefResult = {\r\n items: any[];\r\n listRefDocsDetail: any[];\r\n listFileAttachDetails: any[];\r\n errorMessage?: string;\r\n};\r\n\r\nexport const onChanceRef = async (\r\n refTempSelected: any,\r\n memoDetail: any,\r\n listFormNames: any,\r\n refAttribute: any,\r\n currentTemp: any,\r\n _onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: boolean,\r\n isRef: boolean\r\n ) => void\r\n) => {\r\n let result: RefResult = {\r\n items: [],\r\n listRefDocsDetail: [],\r\n listFileAttachDetails: [],\r\n };\r\n\r\n try {\r\n if (memoDetail) {\r\n if (\r\n refTempSelected !== undefined &&\r\n refTempSelected !== null &&\r\n refTempSelected.length > 0\r\n ) {\r\n let template_desc = currentTemp;\r\n let _listRefDocsDetail: any[] = [];\r\n let listFileAttachDetails: any[] = [];\r\n let docsCode: any[] = [];\r\n let refTemp: any;\r\n const refColumn = JSON.parse(listFormNames?.RefDocColumn);\r\n if (\r\n listFormNames?.RefTemplate !== \"\" &&\r\n listFormNames?.RefTemplate !== null\r\n ) {\r\n refTemp = JSON.parse(listFormNames?.RefTemplate);\r\n refTemp.map((temp: any) => {\r\n if (temp.DocumentCode !== \"\") {\r\n docsCode.push(temp.DocumentCode);\r\n }\r\n });\r\n }\r\n\r\n for (const refTems of refTempSelected) {\r\n let refDocDetail = {\r\n memoRefdoc_id: refTems.MemoId,\r\n doc_no: refTems.DocumentNo,\r\n template_ID: listFormNames?.template_id,\r\n template_Name: listFormNames?.template_name,\r\n memoSubject: listFormNames?.subject,\r\n };\r\n console.log(\"refTems refTems\", refTems);\r\n console.log(\"refTems\", refDocDetail);\r\n console.log(\"listFormNames\", listFormNames);\r\n const selectedColumn = JSON.parse(refTems.MAdvancveForm);\r\n let valibCol: any[] = [];\r\n _listRefDocsDetail.push(refDocDetail);\r\n // docsCode.map((code: any) => {\r\n refColumn.map((col: any) => {\r\n if (col.Value !== null && col.Value !== \"\") {\r\n if (col.Value === \"_DocumentNo\") {\r\n col.ControlValue = { value: refTems.DocumentNo };\r\n } else if (col.Value === \"_DocumentAmount\") {\r\n col.ControlValue = { value: refTems.Amount };\r\n // getLineApproveForAmount(refTems.Amount, \"\", \"ref\");\r\n } else if (col.Value === \"_RequestorEmployeeName\") {\r\n col.ControlValue = { value: refTems.RNameEn };\r\n } else if (col.Value === \"_RequestorEmployeePosition\") {\r\n col.ControlValue = { value: refTems.RPositionId };\r\n } else if (col.Value === \"_RequestorEmployeeDepartment\") {\r\n col.ControlValue = { value: refTems.DepartmentId };\r\n } else if (col.Value === \"_InformationFormName\") {\r\n col.ControlValue = { value: refTems.Amount };\r\n } else if (col.Value === \"_InformationRequestDate\") {\r\n col.ControlValue = { value: refTems.RequestDate };\r\n } else if (col.Value === \"_InformationCompany\") {\r\n col.ControlValue = { value: refTems.CompanyName };\r\n } else {\r\n let selColLabel = \"\";\r\n if (col.Value.indexOf(\"_\") !== -1) {\r\n let colLabel = col.Value.split(\"_\");\r\n selColLabel = colLabel.pop();\r\n } else {\r\n selColLabel = col.Value;\r\n }\r\n if (col.TypeControl === \"Table\") {\r\n let sourceRow: any = -1;\r\n let sourceCols: any[] = [];\r\n let targetPositions: any[] = [];\r\n let originDefaultValue = \"\";\r\n selectedColumn.items.map((selCol: any, rowIdx: number) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (\r\n selColLabel === _layout.template.label &&\r\n _layout.template.type === \"tb\"\r\n ) {\r\n col.objTable?.map(\r\n (objTable: any, tarColIdx: number) => {\r\n if (objTable?.Value !== null) {\r\n _layout.template.attribute.column.map(\r\n (refTable: any, colIdx: number) => {\r\n if (refTable.label === objTable.Value) {\r\n // originDefaultValue =\r\n sourceRow = rowIdx;\r\n sourceCols.push({\r\n colIdx: colIdx,\r\n });\r\n targetPositions.push(tarColIdx);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n );\r\n }\r\n });\r\n });\r\n if (sourceRow > -1) {\r\n let tableRows: any[] = [];\r\n if (refAttribute?.mode !== \"Single\") {\r\n //adding if condition to check value of colcontrol\r\n if (col.ControlValue) {\r\n tableRows = col.ControlValue;\r\n }\r\n }\r\n selectedColumn.items[sourceRow].layout[0]?.data?.row?.map(\r\n (row: any) => {\r\n let newRow: any[] = [];\r\n\r\n for (let i = 0; i < col.objTable.length; i++) {\r\n newRow.push({ value: null });\r\n }\r\n\r\n sourceCols.map((col: any, colIdx: number) => {\r\n newRow[targetPositions[colIdx]] = row[col.colIdx];\r\n });\r\n if (newRow.length > 0) {\r\n tableRows.push(newRow);\r\n }\r\n }\r\n );\r\n console.log(\"tableRows\", tableRows);\r\n col.ControlValue = tableRows;\r\n }\r\n } else {\r\n selectedColumn.items.map((selCol: any) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (_layout.template.label === selColLabel) {\r\n col.ControlValue = _layout.data;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n valibCol.push(col);\r\n }\r\n });\r\n // });\r\n // log\r\n console.log(\"ref=>valibCol\", valibCol);\r\n template_desc.map((item: any, rowIdx: number) => {\r\n item.layout.map((_layout: any, colIdx: number) => {\r\n valibCol.map((col: any) => {\r\n if (!col.ControlValue) return;\r\n if (\r\n col.TypeControl === \"Table\" &&\r\n _layout.template.type === \"tb\"\r\n ) {\r\n if (col.Key === _layout.template.label) {\r\n if (\r\n JSON.stringify(_layout.data.row) !==\r\n JSON.stringify(col.ControlValue)\r\n ) {\r\n _layout.template.attribute.column.forEach(\r\n (originCol: any, _colIdx: number) => {\r\n col.ControlValue.map((refCol: any) => {\r\n if (refCol[_colIdx]?.value === null) {\r\n if (\r\n originCol.control.template.attribute.default !==\r\n \"\"\r\n ) {\r\n refCol[_colIdx].value =\r\n originCol.control.template.attribute.default;\r\n }\r\n }\r\n });\r\n }\r\n );\r\n\r\n _layout.data.row = [...col.ControlValue];\r\n }\r\n }\r\n } else if (\r\n col.TypeControl != \"Table\" &&\r\n _layout.template.type != \"l\"\r\n ) {\r\n if (col.Key === _layout.template.label) {\r\n if (_layout.data?.value !== col.ControlValue?.value) {\r\n _layout.data = col.ControlValue;\r\n }\r\n }\r\n } else {\r\n // Nothing do something because template type is heading\r\n }\r\n });\r\n });\r\n });\r\n if (\r\n listFormNames.RefDocDisplay.split(\",\")[5] &&\r\n listFormNames.RefDocDisplay.split(\",\")[5] === \"Yes\"\r\n ) {\r\n let _res: any[] = [];\r\n await getMemoForAttch(refTems.MemoId).then((e: any) => {\r\n if (e) {\r\n result.listFileAttachDetails = [...listFileAttachDetails, ...e];\r\n }\r\n });\r\n }\r\n }\r\n\r\n result.items = template_desc;\r\n result.listRefDocsDetail = _listRefDocsDetail;\r\n }\r\n }\r\n\r\n return result;\r\n } catch (error: any) {\r\n console.log(\"ref=>error\", error);\r\n\r\n result.errorMessage = error;\r\n return result;\r\n }\r\n};\r\n\r\nconst getMemoForAttch = async (memoId: number) => {\r\n const requestBody = {\r\n memoid: memoId,\r\n };\r\n let res: any[] = [];\r\n await GetAttachmentFilesByMemoId(requestBody).then((e: any) => {\r\n res = e;\r\n });\r\n return res;\r\n};\r\n\r\nexport const fetchRefDocFormTable = async (memoDetail: any, template: any) => {\r\n let tempAtt = template.attribute;\r\n if (tempAtt !== undefined) {\r\n if (tempAtt.refdoc !== undefined) {\r\n const dataRequest = {\r\n PageIndex: 0,\r\n PageSize: 0,\r\n CUserID: memoDetail.creator.EmployeeId.toString(),\r\n RUserID: memoDetail.requestor.EmployeeId.toString(),\r\n ConditionRefdoc:\r\n tempAtt.conditionrefdoc.length > 0\r\n ? JSON.stringify(tempAtt.conditionrefdoc)\r\n : \"\",\r\n Search: \"\",\r\n docDataSource: tempAtt.refdoc.docDataSource,\r\n docReport: tempAtt.refdoc.docReport,\r\n docCancelDoc: tempAtt.refdoc.docCancelDoc,\r\n docEditDoc: tempAtt.refdoc.docEditDoc,\r\n docNewDoc: tempAtt.refdoc.docNewDoc,\r\n doccontrol: tempAtt.refdoc.doccontrol !== \"N\",\r\n docref: tempAtt.refdoc.docref,\r\n };\r\n\r\n const refDetails = await GetRefDocFormTable(dataRequest);\r\n\r\n if (refDetails) {\r\n if (refDetails?.dt_Report?.length > 0) {\r\n // let refColumn: any[] = [];\r\n // Object.keys(refDetails.dt_Report[0]).map((key: any) => {\r\n // if (!key.includes(\"Memo_\")) {\r\n // refColumn.push({ key: key, header: key });\r\n // }\r\n // });\r\n // setRefDocOptions([...refDetails.dt_Report]);\r\n return refDetails.dt_Report;\r\n } else {\r\n return [];\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","import { useContext } from \"react\";\r\nimport { AlertContext } from \"../Context/AlertContext\";\r\n\r\nconst useAlert = () => {\r\n const context = useContext(AlertContext);\r\n if (!context)\r\n throw new Error(\"Load Context must be use inside Load Provider\");\r\n return context;\r\n};\r\n\r\nexport default useAlert;\r\n","export const GetAllDynamic = async (\r\n apiName: any,\r\n requestBody?: any,\r\n queryString?: any\r\n) => {\r\n try {\r\n if (!requestBody && window.localStorage.getItem(\"email\")) {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody = { UserPrincipal: email, ConnectionString: \"\" };\r\n }\r\n\r\n let url = \"\";\r\n if (queryString) {\r\n let urlParams = new URLSearchParams({\r\n Scopes: queryString?.Scopes || \"\",\r\n IsActiveOnly: queryString?.IsActiveOnly || \"\",\r\n });\r\n url = \"/api/\" + apiName + \"?\" + urlParams.toString();\r\n } else {\r\n url = \"/api/\" + apiName;\r\n }\r\n\r\n const respone = await fetch(url, requestBody)\r\n .then((response: any) => response.json())\r\n .then((data: any) => {\r\n return data;\r\n })\r\n .catch((ex: any) => {\r\n return ex;\r\n });\r\n\r\n return respone;\r\n } catch (error) {\r\n console.log(\"service=>GetAllDynamic=>error\", error);\r\n }\r\n};\r\n\r\nexport const updateDynamic = async (apiName: any, formBody: any) => {\r\n if (apiName.endsWith(\"s\")) {\r\n apiName = apiName.substring(0, apiName.length - 1);\r\n }\r\n\r\n const data = {\r\n name: apiName !== \"MasterData\" ? apiName.replace(\"Master\", \"\") : apiName,\r\n model: JSON.stringify(formBody),\r\n };\r\n const respone = await fetch(\"/api/MasterData/UpdateData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport NumberComponent from \"../../ControlComponents/NumberComponent/NumberComponent\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\nimport \"./CoreControllerComponent.css\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport CheckboxComponent from \"../../ControlComponents/CheckboxComponent/CheckboxComponent\";\r\nimport MainCheckboxComponents from \"../../ControlComponents/MainCheckboxComponents/MainCheckboxComponents\";\r\nimport MainTextComponents from \"../../ControlComponents/MainTextComponents/MainTextComponents\";\r\nimport AttachmentComponent from \"../../ControlComponents/AttachmentComponent/AttachmentComponent\";\r\nimport DropdownComponent from \"../../ControlComponents/DropdownComponent/DropdownComponent\";\r\nimport RadioComponent from \"../../ControlComponents/RadioComponent/RadioComponent\";\r\nimport CalendarComponent from \"../../ControlComponents/CalendarComponent/CalendarComponent\";\r\nimport ShortTextComponent from \"../../ControlComponents/InputTextComponent/ShortTextComponent/ShortTextComponent\";\r\nimport TextareaComponent from \"../../ControlComponents/InputTextComponent/TextareaComponent/TextareaComponent\";\r\nimport ButtonComponent from \"../../ControlComponents/ButtonComponent/ButtonComponent\";\r\nimport AutoNumberComponent from \"../../ControlComponents/NumberComponent/AutoNumberComponent/AutoNumberComponent\";\r\nimport RevisionComponent from \"../../ControlComponents/NumberComponent/RevisionComponent/RevisionComponent\";\r\nimport { EditorComponent } from \"../../ControlComponents/EditorComponent/EditorComponent\";\r\n// import TableComponent from \"../../ControlComponents/TableComponent/TableComponent\";\r\nimport { SummaryComponent } from \"../../ControlComponents/SummaryComponent/SummaryComponent\";\r\nimport { Item } from \"rc-menu\";\r\nimport { AnyMap } from \"@reduxjs/toolkit/node_modules/immer/dist/internal\";\r\nimport { EmptyComponent } from \"../../ControlComponents/EmptyComponent/EmptyComponent\";\r\nimport {\r\n GetAutoNumber,\r\n GetRvsRunning,\r\n // GetRunningNumber,\r\n} from \"../../../Services/RequestControlService\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport {\r\n GetAllApprovals,\r\n GetApprovalByTemplate,\r\n} from \"../../../Services/ApprovalService\";\r\nimport ImageComponent from \"../../ControlComponents/ImageComponent/ImageComponent\";\r\nimport { IListApprovalDetailsModel } from \"../../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\ninterface Props {\r\n coreRender: boolean;\r\n setCoreRender: any;\r\n formTemplate: any;\r\n setInformationMethodProp: (e: any) => void;\r\n errorResult: any;\r\n statusMemoDetail: boolean;\r\n errorTable: any;\r\n setSummary: (respone: any) => void;\r\n templateID: any;\r\n isInitialLogic: any;\r\n setIsInitialLogic: any;\r\n selectedView: any;\r\n showControl: any;\r\n setShowControl: any;\r\n requestDetail: any;\r\n setRequestDetail: any;\r\n setLineApporve: any;\r\n getInformationTemplateProp(): any;\r\n setOnLoading: any;\r\n logic: any;\r\n listLogicData: any;\r\n setListLogicData: any;\r\n}\r\n\r\nexport const CoreControllerComponent = (props: Props) => {\r\n const [advanceForm, setAdvanceForm] = useState({});\r\n const [tableSummary, setTableSummary] = useState([]);\r\n const [summary, setSummary] = useState(0);\r\n const [isShowSummary, setIsShowSummary] = useState(false);\r\n const [formLoading, setFormLoading] = useState(true);\r\n const [formComponent, setFormComponent] = useState();\r\n const [autoNumFormat, setAutoNumFormat] = useState();\r\n const [autoNumDigit, setAutoNumDigit] = useState();\r\n const [numFormulas, setNumFormulas] = useState([]);\r\n const [allLogic, setAllLogic] = useState([]);\r\n const [valueTable, setValueTable] = useState([]);\r\n const [runningNumber, setRunningNumber] = useState(\"\");\r\n const [rvsPosition, setRvsPosition] = useState();\r\n const [currentLogic, setCurrentLogic] = useState(\"\");\r\n const userData: any = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n\r\n useEffect(() => {\r\n if (isShowSummary) {\r\n sumValue();\r\n }\r\n }, [isShowSummary]);\r\n\r\n const [isFirstLoad, setIsFirstLoad] = useState(true);\r\n useEffect(() => {\r\n setAdvanceForm(JSON.parse(props.formTemplate));\r\n // console.log(\"ddddddddddddddd\");\r\n if (tableSummary.length === 0) {\r\n setSumTable();\r\n }\r\n // props.setShowControl([]);\r\n // console.log(\"props.form\", JSON.parse(props.formTemplate));\r\n }, [props.formTemplate]);\r\n\r\n useEffect(() => {\r\n if (advanceForm !== undefined && Object.keys(advanceForm).length !== 0) {\r\n // if (props.showControl?.length === 0) {\r\n // var arr = Array.from(Array(advanceForm.items.length), () =>\r\n // new Array(2).fill(true)\r\n // );\r\n // // props.setShowControl([...arr]);\r\n // }\r\n if (runningNumber === \"\") {\r\n getRevision();\r\n }\r\n // sumValue();\r\n renderControl(JSON.parse(props.formTemplate));\r\n setFormLoading(false);\r\n }\r\n }, [advanceForm]);\r\n useEffect(() => {\r\n if (valueTable.length > 0) {\r\n renderControl(JSON.parse(props.formTemplate));\r\n setFormLoading(false);\r\n }\r\n }, [valueTable]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.logic.length > 0 &&\r\n props.isInitialLogic === false &&\r\n advanceForm?.items?.length > 0\r\n ) {\r\n checkLogic();\r\n }\r\n }, [props.logic, advanceForm]);\r\n\r\n useEffect(() => {\r\n console.log(\"listLogicData\", props.listLogicData, isFirstLoad);\r\n\r\n if (props.listLogicData?.length > 0) {\r\n setIsFirstLoad(false);\r\n }\r\n if (\r\n props.listLogicData?.length > 0 &&\r\n props.isInitialLogic &&\r\n !isFirstLoad\r\n ) {\r\n console.log(\"listLogicData\", props.listLogicData, isFirstLoad);\r\n\r\n for (let i = 0; i < props.listLogicData.length; i++) {\r\n const logic = props.listLogicData[i];\r\n if (logic.name === \"datasourcerelated\") {\r\n if (logic.data.relateGroup.length > 0) {\r\n onDataSourceLoadRelated(\r\n logic.data.relateGroup,\r\n logic.data.dataJson\r\n );\r\n }\r\n }\r\n if (logic.name === \"datareladtoloaddata\") {\r\n if (logic.data.length > 0) {\r\n onChangeAttributeForm(logic.data, logic.row, logic.col);\r\n }\r\n }\r\n if (logic.name === \"dataajaxloadtable\") {\r\n onDataAjaxLoadTable(\r\n logic.row,\r\n logic.col,\r\n logic.data.label,\r\n logic.data.dataJson\r\n );\r\n }\r\n if (logic.name === \"reference\") {\r\n onDataRefLoadTable(logic.row, logic.col, logic.data.dataJson);\r\n }\r\n }\r\n }\r\n if (props.listLogicData?.length > 0 && props.isInitialLogic) {\r\n for (let i = 0; i < props.listLogicData.length; i++) {\r\n const logic = props.listLogicData[i];\r\n if (logic.name === \"datalineapprove\") {\r\n onLoadLineApproveWithLogic(logic.data.dataJson);\r\n }\r\n }\r\n }\r\n }, [props.listLogicData]);\r\n async function getRevision() {\r\n let _advanceForm: any = advanceForm;\r\n const detail = props.requestDetail;\r\n\r\n let requestBody: any = {};\r\n if (rvsPosition !== undefined) {\r\n let items: any[] = [];\r\n let rvsTemp =\r\n _advanceForm.items[rvsPosition.rowIdx].layout[rvsPosition.colIdx];\r\n requestBody.TemplateId = detail.memoDetail.template_id;\r\n requestBody.RefId = 0;\r\n requestBody.Digit = rvsTemp.template.attribute.digit;\r\n requestBody.Labelrevision = rvsTemp.template.label;\r\n requestBody.Alter = rvsTemp.template.alter;\r\n\r\n if (rvsTemp.template.attribute.conditions.length > 0) {\r\n rvsTemp.template.attribute.conditions.map((con: any) => {\r\n _advanceForm.items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (con.label === layout.template.label) {\r\n items.push({ Label: con.label, value: layout.data.value });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n requestBody.MemoId = null;\r\n requestBody.Itemlabel = items;\r\n const revision = await GetRvsRunning(requestBody);\r\n if (revision) {\r\n setRunningNumber(revision.item);\r\n }\r\n }\r\n }\r\n\r\n // useEffect(() => {\r\n // if (\r\n // // props.showControl?.length > 0 &&\r\n // // !props.showControl?.every((e: any) => e === true) &&\r\n // advanceForm !== undefined &&\r\n // Object.keys(advanceForm).length !== 0\r\n // ) {\r\n // renderControl(JSON.parse(props.formTemplate));\r\n // setFormLoading(true);\r\n // }\r\n // }, [props.showControl]);\r\n\r\n const onClickLogic = async (\r\n template: any,\r\n rowIdx: Number,\r\n colIdx: Number\r\n ) => {\r\n // console.log(\"template\", template);\r\n let mstTable = \"\";\r\n let mstType = \"\";\r\n let mColumn = \"\";\r\n let columnAll = \"\";\r\n let requestLogic: any = [];\r\n let relateGroup: any = [];\r\n let conditions: any = [];\r\n let lineLogic: string = \"\";\r\n const _logic: any = props.logic;\r\n for (let i = 0; i < _logic.length; i++) {\r\n const logic: any = _logic[i];\r\n // console.log(logic);\r\n\r\n if (logic.jsonvalue !== null) {\r\n if (logic.jsonvalue.length > 0) {\r\n const jsonObject = JSON.parse(_logic[i].jsonvalue);\r\n if (logic.logictype === \"datasourcerelated\") {\r\n for (let j = 0; j < jsonObject.relatedvalue.length; j++) {\r\n const relateValue = jsonObject.relatedvalue[j];\r\n // console.log(relateValue, template.template.description);\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (\r\n relateValue.label === _layout.template.label &&\r\n template.template.description ===\r\n _layout.template.attribute.description &&\r\n jsonObject.label === template.template.label\r\n ) {\r\n // console.log(\r\n // \"dddddddddddddddddddddddddddd\",\r\n // relateValue.label,\r\n // template.template,\r\n // _layout.template\r\n // );\r\n relateGroup.push({\r\n group: relateValue,\r\n row: k,\r\n col: l,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n const dataJson = {\r\n Key: template.template.label,\r\n Value: template.data.value,\r\n logicid: logic.logicid,\r\n };\r\n // console.log(\"ddddddddddd\", dataJson, relateGroup);\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n relateGroup,\r\n dataJson,\r\n },\r\n });\r\n // onDataSourceLoadRelated(relateGroup, dataJson);\r\n }\r\n if (logic.logictype === \"datareladtoloaddata\") {\r\n for (let j = 0; j < jsonObject.labelactions.length; j++) {\r\n const labelaction = jsonObject.labelactions[j];\r\n // console.log(jsonObject);\r\n if (labelaction.labelintablestatus !== false) {\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (\r\n labelaction.label === template.template.label &&\r\n jsonObject.autoloadvaluelabel.label ===\r\n _layout.template.label\r\n ) {\r\n // console.log(\r\n // \"labelaction.label\",\r\n // labelaction.label,\r\n // template.template.label,\r\n // _layout.template.label\r\n // );\r\n const dataJson = {\r\n Key: template.template.label,\r\n Value: template.data.value,\r\n logicid: logic.logicid,\r\n };\r\n const data: any = await onDatareladToLoadData([dataJson]);\r\n\r\n if (data.length > 0) {\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: data[0].data,\r\n row: k,\r\n col: l,\r\n });\r\n // onChangeAttributeForm(data[0].data, k, l);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (logic.logictype === \"dataajaxloadtable\") {\r\n for (let j = 0; j < jsonObject.labelactions.length; j++) {\r\n const labelaction = jsonObject.labelactions[j];\r\n // console.log(jsonObject);\r\n if (labelaction.labelintablestatus !== false) {\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (_layout.template.type === \"tb\") {\r\n // console.log(\"dsssssssssssssdasdddddddd\", _layout.template);\r\n for (\r\n let m = 0;\r\n m < _layout.template.attribute.column.length;\r\n m++\r\n ) {\r\n const tbColumn = _layout.template.attribute.column[m];\r\n if (\r\n tbColumn.label === jsonObject.autoloadvaluelabel.label\r\n ) {\r\n const dataJson = {\r\n Key: labelaction.label,\r\n Value:\r\n template.data.value !== undefined\r\n ? template.data.value.toString()\r\n : \"\",\r\n logicid: logic.logicid,\r\n };\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n label: jsonObject.autoloadvaluelabel.label,\r\n dataJson,\r\n },\r\n row: i,\r\n col: j,\r\n });\r\n // const data = onDataAjaxLoadTable(\r\n // i,\r\n // j,\r\n // jsonObject.autoloadvaluelabel.label,\r\n // dataJson\r\n // );\r\n setCurrentLogic(logic.logictype);\r\n // console.log(\"ddddddEEEEEEEEEE\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (logic.logictype === \"reference\") {\r\n let loadTo = { row: -1, col: -1 };\r\n let refFilter: any = [];\r\n let loadToField = jsonObject.Column;\r\n mstTable = jsonObject.Mastertable || \"\";\r\n mstType = jsonObject.Type || \"\";\r\n mColumn = jsonObject.MColumn || \"\";\r\n columnAll = jsonObject.ColumnAll || \"\";\r\n for (let j = 0; j < jsonObject.Filter.length; j++) {\r\n const controlFilter = jsonObject.Filter[j];\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (_layout.template.label === jsonObject.label) {\r\n loadTo = {\r\n row: k,\r\n col: l,\r\n };\r\n }\r\n if (_layout.template.label === controlFilter.TBColumn) {\r\n refFilter.push({\r\n mstColumn: controlFilter.MSTColumn,\r\n tbColumn: _layout.data.value,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n const dataJson = {\r\n mstTable,\r\n mstType,\r\n mColumn,\r\n columnAll,\r\n refFilter,\r\n loadToField,\r\n };\r\n setCurrentLogic(logic.logictype);\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n dataJson,\r\n },\r\n row: loadTo.row,\r\n col: loadTo.col,\r\n });\r\n // onDataRefLoadTable(loadTo.row, loadTo.col, dataJson);\r\n }\r\n if (logic.logictype === \"datalineapprove\") {\r\n // console.log(\"datalineapprove\");\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (jsonObject.label === _layout.template.label) {\r\n // console.log(\r\n // \"_layout.data.value\",\r\n // _layout.data.value,\r\n // _layout.template.label\r\n // );\r\n\r\n conditions.push({\r\n label: _layout.template.label,\r\n value:\r\n _layout.data.value === null\r\n ? \"\"\r\n : _layout.template.type === \"c\"\r\n ? Number(_layout.data.value).toLocaleString()\r\n : _layout.data.value,\r\n });\r\n lineLogic = logic.logicid;\r\n }\r\n }\r\n }\r\n if (conditions.length > 0) {\r\n const dataJson = {\r\n logicid: lineLogic,\r\n conditions: conditions,\r\n };\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n dataJson,\r\n },\r\n });\r\n // onLoadLineApproveWithLogic(dataJson);\r\n conditions = [];\r\n lineLogic = \"\";\r\n // console.log(\"dataJsondataJson\", dataJson);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // props.setListLogicData((prevState: any) => {\r\n // if (JSON.stringify(prevState) !== JSON.stringify(requestLogic)) {\r\n // return requestLogic;\r\n // }\r\n // });\r\n if (JSON.stringify(props.listLogicData) !== JSON.stringify(requestLogic)) {\r\n\r\n props.setListLogicData([...requestLogic]);\r\n }\r\n console.log(\"requestLogic\", requestLogic, props.listLogicData);\r\n };\r\n const checkLogic = async () => {\r\n const _logic = props.logic;\r\n props.setIsInitialLogic(true);\r\n // console.log(\"checklogic\");\r\n console.log(\"_logic_logic\", props.setIsInitialLogic);\r\n\r\n // const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empId = userData.employeeData.EmployeeId;\r\n // let _showControl: any = props.showControl;\r\n let dataSourceLoadGroup: any[] = [];\r\n let dataSourceRelatedToLoadGroup: any[] = [];\r\n let mstTable = \"\";\r\n let mstType = \"\";\r\n let mColumn = \"\";\r\n let columnAll = \"\";\r\n let lineSeq = 0;\r\n let currentApproverLevel =\r\n props.requestDetail.memoDetail.current_approval_level;\r\n // let position = [];\r\n // let labelAction = [];\r\n for (let z = 0; z < _logic.length; z++) {\r\n const element = _logic[z];\r\n if (element.jsonvalue !== null && element.jsonvalue !== \"[]\") {\r\n if (element.jsonvalue.length > 0) {\r\n const jsonObject = JSON.parse(_logic[z].jsonvalue);\r\n // console.log(\"Logic=>jsonObject\", jsonObject);\r\n\r\n let positionTable = { row: -1, col: -1 };\r\n\r\n if (element.logictype === \"datasourceload\") {\r\n for (let i = 0; i < advanceForm.items.length; i++) {\r\n const _advanceForm = advanceForm.items[i];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let j = 0; j < _advanceForm.layout.length; j++) {\r\n const _layout = _advanceForm.layout[j];\r\n if (_layout.template.label === jsonObject.label) {\r\n // console.log(\"_layout.template.label\", _layout.template.label);\r\n // const _data = await onDataSourceLoad(i, j, element.logicid);\r\n dataSourceLoadGroup.push({\r\n col: j,\r\n row: i,\r\n data: element.logicid,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n if (element.logictype === \"role\") {\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n\r\n // const _data = await onDataSourceLoad(i, j, element.logicid);\r\n if (jsonObject.action === \"show\") {\r\n for (let m = 0; m < jsonObject.fieldaction.length; m++) {\r\n const fieldaction = jsonObject.fieldaction[m];\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n\r\n if (fieldaction.lable === _layout.template.label) {\r\n // console.log(\r\n // \"_layout_layout_layout_layout.label\",\r\n // _layout\r\n // );\r\n // console.log(\r\n // \"fieldaction.label\",\r\n // fieldaction.lable,\r\n // \"_layout.template.label\",\r\n // _layout.template.label\r\n // );\r\n for (let n = 0; n < jsonObject.roleids.length; n++) {\r\n const roleid = jsonObject.roleids[n].id;\r\n for (let m = 0; m < roles.length; m++) {\r\n const role = roles[m];\r\n if (roleid != role.RoleId) {\r\n // console.log(\r\n // \"_showControl\",\r\n // _showControl,\r\n // \":\",\r\n // k,\r\n // \":\",\r\n // l\r\n // );\r\n // _showControl[k][l] = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (element.logictype === \"approvetype\") {\r\n // for (let i = 0; i < props.requestDetail.listApprovalDetails.length; i++) {\r\n // const approver = props.requestDetail.listApprovalDetails[i];\r\n // if (approver.emp_id === empId ) {\r\n // lineSeq = approver.sequence\r\n // }\r\n // }\r\n // const _data = await onDataSourceLoad(i, j, element.logicid);\r\n // const approvals = await GetAllApprovals({\r\n // memoid: props.requestDetail.memoDetail.memoid,\r\n // });\r\n const approvals = await fetch(\"api/LineApprove/GetByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n memoid: props.requestDetail.memoDetail.memoid,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n if (jsonObject.action === \"show\") {\r\n for (let m = 0; m < jsonObject.fieldaction.length; m++) {\r\n const fieldaction = jsonObject.fieldaction[m];\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n\r\n if (fieldaction.lable === _layout.template.label) {\r\n for (\r\n let n = 0;\r\n n < jsonObject.approvetypeids.length;\r\n n++\r\n ) {\r\n const typeid = jsonObject.approvetypeids[n].typeid;\r\n\r\n for (let m = 0; m < approvals.length; m++) {\r\n const approver = approvals[m];\r\n\r\n // if (\r\n // props.requestDetail.memoDetail\r\n // .current_approval_level == approver.sequence\r\n // ) {\r\n // console.log(\"dddddddddddddddddddddd\");\r\n\r\n // _showControl[k][l] = false;\r\n // }\r\n if (\r\n props.requestDetail.memoDetail\r\n .current_approval_level != approver.sequence ||\r\n approver.emp_id != empId ||\r\n typeid != approver.ApproveType\r\n ) {\r\n // _showControl[k][l] = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n let logicGroupData: any[] = [];\r\n // console.log(\"dataSourceRelatedToLoadGroup\", dataSourceRelatedToLoadGroup);\r\n if (dataSourceLoadGroup.length > 0) {\r\n const response = await onDataSourceLoad(dataSourceLoadGroup);\r\n logicGroupData.push({ type: \"onDataSourceLoad\", data: response });\r\n // console.log(\"responseGroup\", response);\r\n }\r\n if (dataSourceRelatedToLoadGroup.length > 0) {\r\n const response = await onDatareladToLoadData(\r\n dataSourceRelatedToLoadGroup\r\n );\r\n logicGroupData.push({ type: \"onDatareladToLoadData\", data: response });\r\n // console.log(\"onDatareladToLoadData\", response);\r\n }\r\n onChangeLogicForm(logicGroupData);\r\n // props.setShowControl([..._showControl]);\r\n setFormLoading(false);\r\n };\r\n const onChangeLogicForm = (logicGroupData: any) => {\r\n let _advanceForm = advanceForm;\r\n props.setIsInitialLogic(true);\r\n for (let i = 0; i < logicGroupData.length; i++) {\r\n const logicGroup = logicGroupData[i];\r\n if (logicGroup.type === \"onDataSourceLoad\") {\r\n for (let j = 0; j < logicGroup.data.length; j++) {\r\n let logicData = logicGroup.data[j];\r\n logicData.data.push({ item: \"-- Please Select --\" });\r\n for (let k = 0; k < logicData.data.length; k++) {\r\n const data = logicData.data[k];\r\n const keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n logicData.data[k] = keyValues[0];\r\n }\r\n _advanceForm.items[logicData.row].layout[\r\n logicData.col\r\n ].template.attribute.items = logicData.data;\r\n if (\r\n _advanceForm.items[logicData.row].layout[logicData.col].data\r\n .value !== \"-- Please Select --\"\r\n ) {\r\n _advanceForm.items[logicData.row].layout[logicData.col].data.value =\r\n \"-- Please Select --\";\r\n }\r\n\r\n // console.log(\"datasource\", logicData);\r\n }\r\n }\r\n }\r\n // console.log(\"JSON.stringify(_advanceForm)\", JSON.stringify(_advanceForm));\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n };\r\n\r\n function setSumTable() {\r\n const items = JSON.parse(props.formTemplate).items;\r\n let tableArray: any[] = [];\r\n\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"tb\") {\r\n console.log(\"table=>layout.template\", layout.template);\r\n if (layout.template.attribute.column) {\r\n for (let i = 0; i < layout.template.attribute.column.length; i++) {\r\n const column = layout.template.attribute.column[i];\r\n if (column.control.template.type === \"c\") {\r\n if (column.control.template.attribute.summary === \"Y\") {\r\n tableArray.push({\r\n tableLabel: layout.template.label,\r\n total: 0,\r\n });\r\n\r\n setTableSummary([...tableArray]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n const onLoadLogic = async (templateID: any) => {\r\n const dataLogic = await fetch(\"api/TemplateList/TemplateByid/LoadLogic\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ TemplateId: templateID }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(\"Logic=> \", data);\r\n\r\n setAllLogic([...data]);\r\n return data;\r\n });\r\n return dataLogic;\r\n };\r\n\r\n const onDataRefLoadTable = async (row: any, col: any, dataJson: any) => {\r\n setFormLoading(true);\r\n // console.log(\"dataJsondataJson\", dataJson);\r\n\r\n let query = `SELECT * FROM ${dataJson.mstTable} WHERE `;\r\n\r\n for (let i = 0; i < dataJson.refFilter.length; i++) {\r\n const refFilter = dataJson.refFilter[i];\r\n if (i === 0 && dataJson.refFilter.length > 1) {\r\n query = query + `${refFilter.mstColumn}='${refFilter.tbColumn}' AND `;\r\n }\r\n if (i % 2 === 0) {\r\n query = query + `${refFilter.mstColumn}='${refFilter.tbColumn}'`;\r\n }\r\n if (i % 2 !== 0 && i !== 0) {\r\n query = query + ` AND ${refFilter.mstColumn}='${refFilter.tbColumn}'`;\r\n }\r\n }\r\n if (dataJson.mstTable === \"MSTMasterData\" && dataJson.mstType.length > 0) {\r\n query = query + ` AND MasterType='${dataJson.mstType}'`;\r\n }\r\n if (dataJson.mColumn.length > 0) {\r\n query = query + ` AND ${dataJson.mColumn}='${dataJson.mstType}'`;\r\n }\r\n if (dataJson.columnAll.length > 0) {\r\n query = query + ` AND ${dataJson.columnAll}='All'`;\r\n }\r\n // console.log(\"queryquery\", query);\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControlRef\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data: any) => {\r\n console.log(\"dddddddddddddddddddsadddddata\", data);\r\n setFormLoading(false);\r\n\r\n onChangeRefValueTableForm(data.DT, dataJson.loadToField, row, col);\r\n });\r\n };\r\n const onDataAjaxLoadTable = async (\r\n row: any,\r\n col: any,\r\n autoloadvaluelabel: any,\r\n dataJson: any\r\n ) => {\r\n // console.log(\r\n // \"row, col, dataJson\",\r\n // row,\r\n // col,\r\n // JSON.stringify(dataJson),\r\n // autoloadvaluelabel\r\n // );\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n console.log(\"listLogicData\", data);\r\n\r\n onChangeAttributeTableForm(data, row, col, autoloadvaluelabel);\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n };\r\n const onLoadLineApproveWithLogic = async (dataJson: any) => {\r\n // console.log(\"row, col, dataJson\", dataGroup);\r\n // const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empData = userData.employeeData;\r\n let _dataJson = dataJson;\r\n if (_dataJson.length > 0) {\r\n for (let i = 0; i < _dataJson.length; i++) {\r\n const data = _dataJson[i];\r\n }\r\n }\r\n const requestData = {\r\n employee: empData,\r\n ComCode: props.requestDetail.memoDetail.company_id,\r\n JsonCondition: JSON.stringify(dataJson),\r\n templateForm: {\r\n ...props.requestDetail.memoDetail,\r\n TemplateApproveId: 0,\r\n },\r\n lstTRNLineApprove: [],\r\n };\r\n\r\n // console.log(\"requestData\", requestData);\r\n\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadLineApproveFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestData),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n // onChangeAttributeForm(data, row, col)\r\n let lineApproval = props.requestDetail.listApprovalDetails;\r\n let _data = data;\r\n let newData: any = [];\r\n let sequence = 0;\r\n let isHas = false;\r\n for (let i = 0; i < _data.length; i++) {\r\n const lineNew = _data[i];\r\n for (let j = 0; j < lineApproval.length; j++) {\r\n const line = lineApproval[j];\r\n if (line.emp_id === lineNew.emp_id) {\r\n newData.push(line);\r\n isHas = true;\r\n }\r\n }\r\n if (isHas) {\r\n isHas = false;\r\n } else {\r\n newData.push(lineNew);\r\n }\r\n }\r\n\r\n console.log(\"_dataLine\", newData, data);\r\n\r\n props.setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listApprovalDetails: [...data],\r\n }));\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n\r\n // return responseGroup;\r\n };\r\n const onDatareladToLoadData = async (dataGroup: any) => {\r\n // console.log(\"row, col, dataJson\", dataGroup);\r\n let responseGroup: any[] = [];\r\n setFormLoading(true);\r\n\r\n for (let i = 0; i < dataGroup.length; i++) {\r\n const dataSource: any = dataGroup[i];\r\n\r\n const dataJson = {\r\n logicid: dataSource.logicid,\r\n Key: dataSource.Key,\r\n Value: dataSource.Value,\r\n };\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n // console.log(\"dddddddddddddd\", data);\r\n setFormLoading(false);\r\n responseGroup.push({\r\n data: data,\r\n row: dataSource.row,\r\n col: dataSource.col,\r\n });\r\n // onChangeAttributeForm(data, row, col)\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n }\r\n return responseGroup;\r\n };\r\n const onDataSourceLoadRelated = async (relateGroup: any, dataJson: any) => {\r\n // console.log(\"relateGroup, dataJson\", relateGroup, dataJson);\r\n // const dataJson = {\r\n // logicid,\r\n // Key: \"\",\r\n // Value: \"\",\r\n // };\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setFormLoading(false);\r\n\r\n onChangeValueForm(data, relateGroup);\r\n });\r\n };\r\n const onDataSourceLoad = async (dataGroup: any) => {\r\n // console.log(row, col, logicid);\r\n let responseGroup: any[] = [];\r\n console.log(\"table=>dataGroup\", dataGroup);\r\n\r\n for (let i = 0; i < dataGroup.length; i++) {\r\n const dataSource: any = dataGroup[i];\r\n\r\n const dataJson = {\r\n logicid: dataSource.data,\r\n Key: \"\",\r\n Value: \"\",\r\n };\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n responseGroup.push({\r\n data: data,\r\n row: dataSource.row,\r\n col: dataSource.col,\r\n });\r\n // onChangeAttributeForm(data, row, col)\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n }\r\n return responseGroup;\r\n };\r\n const onTableDatareladToLoadData = async (\r\n row: any,\r\n advanceRow: any,\r\n advanceCol: any,\r\n tableRow: any,\r\n tableCol: any,\r\n tableActionCol: any,\r\n dataJson: any\r\n ) => {\r\n // console.log(\"row, col, dataJson tabel\", dataJson, loadToCol);\r\n let tableValue: any = row;\r\n // console.log(\"dataJson\", dataJson);\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => data);\r\n\r\n onChangeValueTableForm(\r\n row,\r\n dataSource,\r\n advanceRow,\r\n advanceCol,\r\n tableRow,\r\n tableCol,\r\n tableActionCol\r\n );\r\n\r\n // console.log(\"dsasdasdweweqweqweqewqwe\");\r\n\r\n // console.log(\r\n // \"tableValuetableValuetableValue\",\r\n // tableValue,\r\n // advanceRow,\r\n // advanceCol\r\n // );\r\n };\r\n const onChangeValueTableForm = (\r\n row: any,\r\n dataRequest: any,\r\n\r\n advanceRow: any,\r\n advanceCol: any,\r\n tableRow: any,\r\n tableCol: any,\r\n tableActionCol: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n let _valueTable = valueTable;\r\n let rowTable: any = row;\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const _colData = _dataRequest[i];\r\n const keyValues = Object.keys(_colData).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: _colData[key] };\r\n });\r\n _dataRequest[i] = keyValues[0];\r\n }\r\n rowTable[tableRow][tableActionCol] = _dataRequest;\r\n // console.log(\"eieieieieiei\", _dataRequest, rowTable, tableActionCol);\r\n setValueTable([...rowTable]);\r\n\r\n // _valueTable.push(_dataRequest[i]);\r\n };\r\n\r\n // console.log(\"onChangeValueTableForm\", _valueTable);\r\n\r\n const onChangeAttributeTableForm = (\r\n dataRequest: any,\r\n rowIdx: number,\r\n colIdx: number,\r\n autoloadvaluelabel: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n // _dataRequest.splice(0, 0, { item: \"--select--\" });\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const data = _dataRequest[i];\r\n const keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n _dataRequest[i] = keyValues[0];\r\n }\r\n // console.log(W\r\n // \"datatatatatat\",\r\n // _dataRequest,\r\n // autoloadvaluelabel,\r\n // colIdx,\r\n // rowIdx\r\n // );\r\n try {\r\n for (\r\n let i = 0;\r\n i <\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.column\r\n .length;\r\n i++\r\n ) {\r\n const col =\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.column[\r\n i\r\n ];\r\n if (col.label === autoloadvaluelabel) {\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.column[\r\n i\r\n ].control.template.attribute.items = _dataRequest;\r\n }\r\n }\r\n } catch (error) {}\r\n\r\n // if (_dataRequest.length > 0) {\r\n // _advanceForm.items[rowIdx].layout[colIdx].data = _dataRequest[0];\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n // }\r\n };\r\n const onChangeValueForm = (dataRequest: any, relateGroup: any) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n let res: any = [];\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const data = _dataRequest[i];\r\n for (const [key, value] of Object.entries(data)) {\r\n for (let j = 0; j < relateGroup.length; j++) {\r\n const relate = relateGroup[j];\r\n if (relate.group.value === key) {\r\n _advanceForm.items[relate.row].layout[relate.col].data = {\r\n value: value,\r\n };\r\n // res.push({\r\n // label: relate.group.label,\r\n // value: value,\r\n // });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // for (let i = 0; i < _dataRequest.length; i++) {\r\n // const data = _dataRequest[i];\r\n // const keyValues = Object.keys(data).map((key) => {\r\n // const newKey = \"value\";\r\n // return { [newKey]: data[key] };\r\n // });\r\n // _dataRequest[i] = keyValues[0];\r\n // }\r\n\r\n // if (_dataRequest.length > 0) {\r\n // _advanceForm.items[rowIdx].layout[colIdx].data = _dataRequest[0];\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n // }\r\n };\r\n const onChangeAttributeForm = (\r\n dataRequest: any,\r\n rowIdx: number,\r\n colIdx: number\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n // _dataRequest.splice(0, 0, { item: \"--select--\" });\r\n\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const data = _dataRequest[i];\r\n\r\n let keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n _dataRequest[i] = keyValues[0];\r\n }\r\n if (_dataRequest !== null) {\r\n let items = _dataRequest;\r\n const s = items.find((e: any) => e.item === \"-- Please Select -- \");\r\n if (s === undefined) {\r\n items.push({ item: \"-- Please Select -- \" });\r\n }\r\n _advanceForm.items[rowIdx].layout[colIdx].data.value =\r\n \"-- Please Select -- \";\r\n _dataRequest = items;\r\n }\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.items =\r\n _dataRequest;\r\n setFormLoading(false);\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n };\r\n const onChangeRefValueTableForm = (\r\n dataRequest: any,\r\n loadToField: any,\r\n advanceRow: any,\r\n advanceCol: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest: any = dataRequest;\r\n let _valueTable = valueTable;\r\n console.log(\"permittedValues\", _dataRequest, _advanceForm, advanceRow);\r\n\r\n const permittedValues = _dataRequest.map(function (value: any) {\r\n let res: any = {};\r\n for (let i = 0; i < loadToField.length; i++) {\r\n const field = loadToField[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n // ={ [field[\"TBColumn\"]]: value[field[\"MSTColumn\"]] }\r\n }\r\n return res;\r\n });\r\n\r\n let resRow: any = [];\r\n if (_advanceForm.items) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n let colData = new Array(\r\n _advanceForm?.items[advanceRow].layout[\r\n advanceCol\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n for (const [key, value] of Object.entries(perValue)) {\r\n // const dataRef = permittedValues[i];\r\n for (\r\n let j = 0;\r\n j <\r\n _advanceForm?.items[advanceRow].layout[advanceCol].template\r\n .attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n _advanceForm?.items[advanceRow].layout[advanceCol].template\r\n .attribute.column[j];\r\n\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n resRow.push(colData);\r\n }\r\n }\r\n if (_dataRequest.length > 0 && resRow.length > 0 && _advanceForm.items) {\r\n _advanceForm.items[advanceRow].layout[advanceCol].data.row = resRow;\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n }\r\n // console.log(\"onChangeValueTableForm\", _valueTable);\r\n };\r\n\r\n const onChangeEditForm = (\r\n dataRequest: any,\r\n rowIdx: number,\r\n colIdx: number\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n if (_advanceForm) {\r\n _advanceForm.items[rowIdx].layout[colIdx].data = _dataRequest;\r\n\r\n if (_advanceForm.items[rowIdx].layout[colIdx].template.type !== \"an\") {\r\n if (!props.statusMemoDetail) {\r\n genAutoNum(_advanceForm.items);\r\n \r\n }\r\n }\r\n if (\r\n (_advanceForm.items[rowIdx].layout[colIdx].template.type === \"dd\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"c\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"cb\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"r\") &&\r\n props.isInitialLogic\r\n ) {\r\n onClickLogic(_advanceForm.items[rowIdx].layout[colIdx], rowIdx, colIdx);\r\n\r\n // onCheckLogic( _advanceForm.items[rowIdx].layout[colIdx].data)\r\n\r\n // checkLogic();\r\n }\r\n if (\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"c\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"tb\"\r\n ) {\r\n sumValue();\r\n }\r\n // if (_advanceForm.items[rowIdx].layout[colIdx].template.type === \"c\") {\r\n // if (\r\n // _advanceForm.items[rowIdx].layout[colIdx].template.attribute\r\n // .formula === \"\"\r\n // ) {\r\n // calNumberWithFormula(\r\n // _advanceForm.items[rowIdx].layout[colIdx],\r\n // rowIdx,\r\n // colIdx\r\n // );\r\n // }\r\n // }\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n }\r\n // setAdvanceForm(_advanceForm);\r\n };\r\n const onChangeEditFormTable = (\r\n columns: any,\r\n row: any,\r\n dataRequest: any,\r\n rowIdx: any,\r\n colIdx: any,\r\n tableRowIdx: any,\r\n tableColIdx: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n let table = _advanceForm.items[tableRowIdx].layout[tableColIdx];\r\n\r\n const _logic: any = props.logic;\r\n\r\n for (let i = 0; i < _logic.length; i++) {\r\n const logic: any = _logic[i];\r\n\r\n if (logic.jsonvalue !== null) {\r\n if (logic.jsonvalue.length > 0) {\r\n const jsonObject = JSON.parse(_logic[i].jsonvalue);\r\n\r\n if (logic.logictype === \"datareladtoloaddata\") {\r\n let eiei: any = [];\r\n let labelAction: any = [];\r\n if (table.data.row !== null) {\r\n if (table.data.row.length > 0) {\r\n let dataJson: any = {};\r\n let tableActionCol = 0;\r\n\r\n for (let k = 0; k < jsonObject.labelactions.length; k++) {\r\n const labelaction = jsonObject.labelactions[k];\r\n\r\n if (labelaction.label === columns[colIdx].field) {\r\n dataJson = {\r\n Key: labelaction.label,\r\n Value: dataRequest.value,\r\n logicid: logic.logicid,\r\n };\r\n }\r\n }\r\n for (let k = 0; k < columns.length; k++) {\r\n const _column = columns[k];\r\n\r\n if (jsonObject.autoloadvaluelabel.label === _column.field) {\r\n tableActionCol = k;\r\n }\r\n }\r\n const data = onTableDatareladToLoadData(\r\n row,\r\n tableRowIdx,\r\n tableColIdx,\r\n rowIdx,\r\n colIdx,\r\n tableActionCol,\r\n dataJson\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n // useMemo(() => {\r\n // sumValue();\r\n // }, [tableSummary]);\r\n\r\n function onTableFooterChange(\r\n footerVal: any,\r\n footerRow: any,\r\n rowIdx: number,\r\n colIdx: number\r\n ) {\r\n let _advanceForm = advanceForm;\r\n\r\n _advanceForm.items[rowIdx].layout[\r\n colIdx\r\n ].template.attribute.footerTable.rows[footerRow].value = footerVal;\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n }\r\n\r\n async function genAutoNum(control: any[]) {\r\n if (autoNumFormat === undefined) {\r\n let formats: any[] = [];\r\n let digit: number = 0;\r\n control.forEach((item: any) => {\r\n item.layout.forEach((layout: any) => {\r\n if (layout.template.type === \"an\") {\r\n formats = layout.template.attribute.formats;\r\n digit = layout.template.digit;\r\n }\r\n });\r\n });\r\n setAutoNumDigit(digit);\r\n setAutoNumFormat(formats);\r\n } else {\r\n let str: string[] = [];\r\n let isCheck: boolean = false;\r\n control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach(async (layout: any, colIdx: number) => {\r\n if (\r\n autoNumFormat.find((format: any) => {\r\n if (\r\n format.format.find((fm: any) => {\r\n if (fm.type !== \"pf\") {\r\n if (fm.label === layout.template.label) {\r\n return true;\r\n }\r\n }\r\n })\r\n ) {\r\n return true;\r\n }\r\n })\r\n ) {\r\n let choiceFormat: any = null;\r\n let requestBody: any = {};\r\n autoNumFormat.map((format: any) => {\r\n format.condition.map((con: any) => {\r\n if (\r\n con.label === layout.template.label &&\r\n con.value === layout.data.value\r\n ) {\r\n choiceFormat = format;\r\n }\r\n });\r\n });\r\n if (choiceFormat !== null) {\r\n choiceFormat.format.map((format: any) => {\r\n if (format.type === \"pf\") {\r\n if (!str.includes(format.label)) {\r\n str.push(format.label);\r\n }\r\n } else if (layout.template.label === format.label) {\r\n let value: string = layout.data.value;\r\n if (value !== null) {\r\n if (value.indexOf(\"(\") > 0 && value.indexOf(\")\")) {\r\n str.push(\r\n value.substring(\r\n value.indexOf(\"(\") + 1,\r\n value.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(value);\r\n }\r\n }\r\n if (str.length === format.length) {\r\n isCheck = true;\r\n }\r\n }\r\n });\r\n } else {\r\n autoNumFormat.map((ft: any) => {\r\n if (ft.condition.length === 0) {\r\n ft.format.map((format: any) => {\r\n if (format.type === \"pf\") {\r\n if (!str.includes(format.label)) {\r\n str.push(format.label);\r\n }\r\n } else if (layout.template.label === format.label) {\r\n let value: string = layout.data.value;\r\n if (value !== null) {\r\n if (value.indexOf(\"(\") > 0 && value.indexOf(\")\")) {\r\n str.push(\r\n value.substring(\r\n value.indexOf(\"(\") + 1,\r\n value.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(value);\r\n }\r\n }\r\n }\r\n if (str.length === ft.format.length) {\r\n if (\r\n !str.includes(\"--Select--\") &&\r\n !str.includes(\"--select--\")\r\n ) {\r\n isCheck = true;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n if (isCheck) {\r\n requestBody.Prefix = str.join(\"-\") + \"-\";\r\n requestBody.Digit = autoNumDigit;\r\n requestBody.TemplateId = props.templateID;\r\n if (!requestBody.Prefix.toLowerCase().includes(\"select\")) {\r\n const dd = await GetAutoNumber(requestBody);\r\n if (dd.Message !== undefined) {\r\n } else {\r\n control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n if (layout.data.value !== dd) {\r\n onChangeEditForm({ value: dd }, rowIdx, colIdx);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n } else {\r\n control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n if (layout.data.value !== null) {\r\n onChangeEditForm({ value: null }, rowIdx, colIdx);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (rvsPosition !== undefined) {\r\n onChangeEditForm(\r\n { value: runningNumber },\r\n rvsPosition.rowIdx,\r\n rvsPosition.colIdx\r\n );\r\n }\r\n }, [runningNumber]);\r\n\r\n function sumValue() {\r\n if (advanceForm !== undefined && Object.keys(advanceForm).length !== 0) {\r\n let items = advanceForm.items;\r\n let sum = 0;\r\n let digit = 2;\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"c\") {\r\n if (layout.template.attribute.summary === \"Y\") {\r\n digit = Number(layout.template.attribute.decimal);\r\n if (Number(layout.data.value) !== 0) {\r\n sum = sum + Number(layout.data.value);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n tableSummary.map((table: any) => {\r\n if (table.total !== 0) {\r\n sum = sum + table.total;\r\n }\r\n });\r\n\r\n if (sum !== summary) {\r\n setSummary(sum);\r\n props.setSummary(sum.toFixed(digit));\r\n }\r\n }\r\n }\r\n\r\n function updateTableSum(tableName: string, tableSum: number) {\r\n if (tableSummary.length > 0) {\r\n const ss = JSON.stringify(tableSummary);\r\n let sumTable = JSON.parse(ss);\r\n\r\n if (tableSum !== 0) {\r\n sumTable.map((table: any) => {\r\n if (table.tableLabel === tableName) {\r\n table.total = tableSum;\r\n }\r\n });\r\n if (\r\n advanceForm !== undefined &&\r\n Object.keys(advanceForm).length !== 0\r\n ) {\r\n let items = advanceForm.items;\r\n let sum = 0;\r\n let digit = 2;\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"c\") {\r\n if (layout.template.attribute.summary === \"Y\") {\r\n digit = Number(layout.template.attribute.decimal);\r\n if (Number(layout.data.value) !== 0) {\r\n sum = sum + Number(layout.data.value);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n sumTable.map((table: any) => {\r\n if (!isNaN(table.total)) {\r\n sum = sum + table.total;\r\n }\r\n });\r\n\r\n if (!isNaN(sum)) {\r\n setSummary(sum);\r\n props.setSummary(sum.toFixed(digit));\r\n }\r\n }\r\n setTableSummary([...sumTable]);\r\n } else {\r\n setSummary(0);\r\n props.setSummary(`0.00`);\r\n }\r\n }\r\n }\r\n\r\n function calNumberWithFormula(temp: any, rowIdx: number, colIdx: number) {\r\n try {\r\n let items = advanceForm.items;\r\n let formu: string = temp.template.attribute.formula;\r\n\r\n let total = 0;\r\n if (formu !== \"\" && formu !== null) {\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (formu.includes(\"sum\")) {\r\n const match =\r\n formu\r\n .substring(formu.indexOf(\"(\"), formu.indexOf(\")\"))\r\n .match(/[a-zA-Z-'`ก-๏0-9]+[ a-zA-Z-'`ก-๏0-9]/g) || [];\r\n\r\n if (match.includes(layout.template.label)) {\r\n const selCol = match[1];\r\n layout.template.attribute.column.map(\r\n (col: any, colIdx: number) => {\r\n if (selCol === col.label) {\r\n layout.data?.row?.map((row: any, rowIdx: number) => {\r\n total += Number(row[colIdx].value);\r\n });\r\n }\r\n }\r\n );\r\n }\r\n } else {\r\n const match =\r\n formu.match(/[a-zA-Z' `ก-๏0-9]+[ a-zA-Z '`ก-๏0-9]/g) || [];\r\n\r\n if (match.includes(layout.template.label)) {\r\n if (layout.data.value !== null) {\r\n formu = formu.replace(\r\n layout.template.label,\r\n layout.data.value.toString()\r\n );\r\n } else {\r\n formu = formu.replace(layout.template.label, \"0\");\r\n }\r\n }\r\n\r\n var regExp = /[a-zA-Zก-๏]/g;\r\n if (!regExp.test(formu)) {\r\n total = eval(formu);\r\n }\r\n }\r\n });\r\n });\r\n\r\n if (total !== null && total !== NaN) {\r\n if (Number(temp.data.value) !== total) {\r\n onChangeEditForm(\r\n { value: total.toFixed(Number(temp.template.attribute.decimal)) },\r\n rowIdx,\r\n colIdx\r\n );\r\n }\r\n } else {\r\n onChangeEditForm({ value: 0 }, rowIdx, colIdx);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"number=>error\", error);\r\n }\r\n }\r\n\r\n const renderControl = async (form: any) => {\r\n setFormComponent([...controlComponent]);\r\n\r\n // setFormLoading(true);\r\n // const control = form.items;\r\n // // console.log(control);\r\n // // const show: any[] = props.showControl;\r\n // let controlComponent: any = [];\r\n // const _errorResult = props.errorResult || [];\r\n // let numFormulas: any[] = [];\r\n // let dd: string = \"set-padding-core-control\";\r\n // // if (props.showControl?.length > 0) {\r\n // for (let i = 0; i < control.length; i++) {\r\n // const _layout = control[i].layout;\r\n // const _layoutLength = _layout.length;\r\n // const grid_size = 12 / _layoutLength;\r\n // let _colText = 0;\r\n // let _colAction = 0;\r\n // if (_layoutLength == 1) {\r\n // _colText = 2;\r\n // _colAction = 10;\r\n // } else if (_layoutLength == 2) {\r\n // _colText = 2;\r\n // _colAction = 4;\r\n // }\r\n // let grid_row = (\r\n // \r\n // {_layout.map((_template: any, idx: any) => {\r\n // const error_corecontroll = _errorResult.find(\r\n // (_data: any, _idx: any) => _data.row === i && _data.col === idx\r\n // );\r\n // if (!onChangeEditForm) {\r\n // return;\r\n // }\r\n // if (\r\n // _template.template.type === \"l\"\r\n // // &&\r\n // // props.showControl[i][idx] !== false\r\n // ) {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (\r\n // _template.template.type === \"c\"\r\n // // &&\r\n // // props.showControl[i][idx] !== false\r\n // ) {\r\n // if (_template.template.attribute.formula !== \"\") {\r\n // numFormulas.push({\r\n // label: _template.template.label,\r\n // formula: _template.template.attribute.formula,\r\n // });\r\n // setNumFormulas(numFormulas);\r\n // }\r\n // if (_template.template.attribute.summary === \"Y\") {\r\n // setIsShowSummary(true);\r\n // }\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"d\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"cb\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"r\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"bt\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"an\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"rvs\") {\r\n // setRvsPosition({ rowIdx: i, colIdx: idx });\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"tb\") {\r\n // if (_template.template.attribute.column) {\r\n // for (\r\n // let i = 0;\r\n // i < _template.template.attribute.column.length;\r\n // i++\r\n // ) {\r\n // const column = _template.template.attribute.column[i];\r\n // if (column.control.template.type === \"c\") {\r\n // if (column.control.template.attribute.summary === \"Y\") {\r\n // setIsShowSummary(true);\r\n // }\r\n // }\r\n // }\r\n // }\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"ed\") {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"at\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (\r\n // _template.template.type === \"t\"\r\n // // &&\r\n // // props.showControl[i][idx] !== false\r\n // ) {\r\n // dd = \"set-padding-core-control\";\r\n // // console.log(\r\n // // \"showControl[i][idx]\",\r\n // // _template.template.label,\r\n // // showControl[i][idx],\r\n // // i,\r\n // // idx,\r\n // // showControl\r\n // // );\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"ta\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"dd\") {\r\n // if (_template.template.attribute.items !== null) {\r\n // let items = _template.template.attribute.items;\r\n // const value = _template.data.value;\r\n // if (items.find((e: any) => e.item === value)) {\r\n // // console.log(\"dropdown=>true\");\r\n // } else {\r\n // // console.log(\"dropdown=>false\");\r\n // }\r\n // }\r\n // // console.log(\"dropdown=>\" + _template.template.label, _template);\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"im\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"em\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // })}\r\n // \r\n // );\r\n // if (!grid_row.props.children.every((e: any) => e === undefined)) {\r\n // controlComponent.push(grid_row);\r\n // }\r\n // }\r\n // // controlComponent.push(\r\n // //
\r\n // // \r\n // //
\r\n // // );\r\n // setFormComponent([...controlComponent]);\r\n // // }\r\n // // setFormLoading(false);\r\n };\r\n\r\n return (\r\n
\r\n {formLoading && (\r\n
\r\n \r\n
\r\n )}\r\n {formComponent}\r\n {isShowSummary && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import { InputNumber } from \"primereact/inputnumber\";\r\nimport React, { useEffect } from \"react\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"./SummaryComponent.css\";\r\ninterface Props {\r\n headtext: string;\r\n subtext: string;\r\n summaryProps?: any;\r\n}\r\n\r\nexport const SummaryComponent = (props: Props) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, FC, useRef, Dispatch, SetStateAction } from \"react\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport \"./CoreControllerComponent.css\";\r\nimport { useFieldArray } from \"react-hook-form\";\r\n\r\nimport Controls from \"./Controls\";\r\nimport { Form, Spin } from \"antd\";\r\nimport {\r\n ILogic,\r\n ILogicReferenceField,\r\n ILogicTypeDataLineApprove,\r\n ILogicTypeReference,\r\n ILogicTypeReladToLoadData,\r\n ILogicTypeSourceRelated,\r\n} from \"../../../IRequestModel/ILogicModel\";\r\nimport { ISelectDropdownTemplate } from \"../../../IRequestModel/ITemplateDescModel\";\r\nimport { formatToColumns } from \"../../../Helper/formatColumn\";\r\nimport { formatKeyLogicData } from \"../../../Helper/formatKeyLogicData\";\r\nimport { INumberFormula } from \"../../../IRequestModel/INumberFormula\";\r\nimport {\r\n IAutoNumberAttibute,\r\n IAutoNumberFormat,\r\n IFormat,\r\n} from \"../../../IRequestModel/IAutoNumberFormat\";\r\nimport {\r\n GetAutoNumber,\r\n GetRvsRunning,\r\n} from \"../../../Services/RequestControlService\";\r\nimport { IRvsAttribute } from \"../../../IRequestModel/IRvision\";\r\nimport { onChanceRef, RefResult } from \"../../../Helper/RequestRefFunctions\";\r\nimport { GetApprovalsByMemoIDs } from \"../../../Services/LineApprovalsService\";\r\nimport { genAutoNum } from \"../../../Helper/RequestScreenHelper\";\r\nimport { tableSelectOption } from \"../../AntdControlComponent/TableComponent/TableComponent\";\r\n\r\nimport { LogicType } from \"../../../constants/logic-type\";\r\n\r\ninterface Props {\r\n templateDesc: any;\r\n setMemoDetail: any;\r\n memoDetail: any;\r\n control: any;\r\n register: any;\r\n handleSubmit: any;\r\n onSubmit: any;\r\n documentNo: any;\r\n errors: any;\r\n reset: any;\r\n allLogic: ILogic[];\r\n isFirstRun: any;\r\n jsonConditions: any;\r\n setJsonConditions: any;\r\n onControlChange: (controlName: any, controlValue: any) => any;\r\n numFormulas: INumberFormula[];\r\n lineApproval: any;\r\n setLineApproval: (value: any[]) => void;\r\n autoNumFormat: IAutoNumberAttibute;\r\n setValue: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n setButtonType: (data: any) => void;\r\n isControlLoading: boolean;\r\n setIsControlLoading: (valaue: boolean) => void;\r\n getLineApproveForAmount: (\r\n amount: number,\r\n jsonCondition?: string,\r\n logicType?: string,\r\n layout?: any\r\n ) => Promise;\r\n previousView: any;\r\n tableSummaries: any;\r\n setTableSummaries: (value: any[]) => void;\r\n refTempSelected: any[];\r\n listFormNames: any;\r\n setListRefDocDetails: (value: any[]) => void;\r\n setListFileAttachDetails: (value: any[]) => void;\r\n refAttribute: any;\r\n prepareInitialLogic: (logics: ILogic[], templateDesc: any) => void;\r\n onProcessLogicReference: (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => Promise<{\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null>;\r\n previousRefTempSelected: any;\r\n tableOptions: tableSelectOption[];\r\n setTableOptions: (value: tableSelectOption[]) => void;\r\n actionAlert: any;\r\n edFont?: any;\r\n defaultFont?: any;\r\n}\r\n\r\nexport const CoreControllerComponentTest: FC = ({\r\n onProcessLogicReference,\r\n templateDesc,\r\n setMemoDetail,\r\n isFirstRun,\r\n previousRefTempSelected,\r\n control,\r\n register,\r\n handleSubmit,\r\n onSubmit,\r\n documentNo,\r\n errors,\r\n onControlChange,\r\n reset,\r\n memoDetail,\r\n allLogic,\r\n jsonConditions,\r\n setJsonConditions,\r\n numFormulas,\r\n lineApproval,\r\n setLineApproval,\r\n autoNumFormat,\r\n setValue,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n isControlLoading,\r\n setIsControlLoading,\r\n getLineApproveForAmount,\r\n setListFileAttachDetails,\r\n tableSummaries,\r\n setTableSummaries,\r\n previousView,\r\n refTempSelected,\r\n listFormNames,\r\n refAttribute,\r\n setListRefDocDetails,\r\n prepareInitialLogic,\r\n tableOptions,\r\n setTableOptions,\r\n actionAlert,\r\n setButtonType,\r\n edFont,\r\n defaultFont,\r\n}) => {\r\n // const [isControlLoading, setIsControlLoading] = useState(false);\r\n\r\n const { fields, append, prepend, remove, swap, move, insert, update } =\r\n useFieldArray({\r\n control, // control from template_desc\r\n name: \"items\",\r\n });\r\n\r\n const controlRef = useRef([]);\r\n const logTemplateDesc = async () => {};\r\n const returnToValure = (template: any, _data: any) => {\r\n let newJa: any = [];\r\n console.log({ template, _data });\r\n // for (let i = 0; i < _data.length; i++) {\r\n // const _eiei = _data[i];\r\n let gogo = [];\r\n for (let j = 0; j < template.attribute.column.length; j++) {\r\n const column = template.attribute.column[j];\r\n gogo.push({ value: _data[column.label] });\r\n }\r\n // newJa.push(gogo);\r\n return gogo;\r\n };\r\n const checkIsSummaryWithoutLogic = (logics: any, controlTemplate: any) => {\r\n let isSummary: boolean = false;\r\n\r\n return isSummary;\r\n };\r\n useEffect(() => {\r\n processRef();\r\n }, [refAttribute, refTempSelected]);\r\n\r\n async function processRef() {\r\n try {\r\n if (refAttribute) {\r\n if (refAttribute.refIdOnQuery) {\r\n try {\r\n const refResult: RefResult = await onChanceRef(\r\n refTempSelected,\r\n memoDetail,\r\n listFormNames,\r\n refAttribute,\r\n fields,\r\n _onControlChange\r\n );\r\n\r\n if (refResult.errorMessage) {\r\n } else if (refResult.items.length > 0) {\r\n if (canEditDoc) {\r\n previousRefTempSelected.current = refTempSelected;\r\n onRefSelect(refResult, refTempSelected);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n } else if (\r\n !isFirstRun.current &&\r\n previousView.current === \"2\" &&\r\n JSON.stringify(previousRefTempSelected.current) !==\r\n JSON.stringify(refTempSelected)\r\n ) {\r\n try {\r\n const refResult: RefResult = await onChanceRef(\r\n refTempSelected,\r\n memoDetail,\r\n listFormNames,\r\n refAttribute,\r\n fields,\r\n _onControlChange\r\n );\r\n if (refResult.errorMessage) {\r\n } else if (refResult.items.length > 0) {\r\n if (canEditDoc) {\r\n previousRefTempSelected.current = refTempSelected;\r\n onRefSelect(refResult, refTempSelected);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>useEffect=>error\", error);\r\n }\r\n }\r\n\r\n const onRefSelect = async (refResult: any, refSelected: any) => {\r\n try {\r\n setIsControlLoading(true);\r\n let _listLineApprove: any[] = [...lineApproval];\r\n let listMemoIds: number[] = [];\r\n refSelected.forEach((e: any) => {\r\n listMemoIds.push(e.MemoId);\r\n });\r\n\r\n if (refAttribute?.isDefaultLineApprove) {\r\n const resApprovals: any[] = await GetApprovalsByMemoIDs(listMemoIds);\r\n if (resApprovals?.length > 0) {\r\n setLineApproval([..._listLineApprove, ...resApprovals]);\r\n }\r\n }\r\n\r\n const _control = await detechRevisionControl(\r\n memoDetail.template_id,\r\n refResult.items,\r\n listMemoIds[0]\r\n );\r\n\r\n const newControl = await _onControlChangeRef(_control);\r\n if (Array.isArray(newControl)) {\r\n setValue(\"items\", [...newControl]);\r\n } else {\r\n setValue(\"items\", [...newControl.items]);\r\n }\r\n\r\n setListRefDocDetails(refResult.listRefDocsDetail);\r\n console.log(\"ref=>refResult\", refResult);\r\n\r\n setListFileAttachDetails(refResult.listFileAttachDetails);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n };\r\n const onProcessSummary = (\r\n _control: any,\r\n jsonCondition: any,\r\n controlTemplate?: any,\r\n controlValue?: any\r\n ) => {\r\n try {\r\n let _amount = 0;\r\n let isSum = false;\r\n let isControlHasSum = false;\r\n\r\n if (\r\n controlTemplate &&\r\n controlTemplate.type === \"c\" &&\r\n controlTemplate.attribute.summary === \"Y\"\r\n ) {\r\n isControlHasSum = true;\r\n }\r\n _control?.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any) => {\r\n try {\r\n if (layout.template.type === \"c\") {\r\n if (layout.template.attribute.summary === \"Y\") {\r\n isControlHasSum = true;\r\n isSum = true;\r\n _amount += Number(layout.data.value);\r\n }\r\n } else if (layout.template.type === \"tb\") {\r\n const tableCol: any[] = layout.template.attribute.column;\r\n let tableSum: number = 0;\r\n if (controlValue?.length > 0) {\r\n const selTable =\r\n controlTemplate?.type === \"tb\"\r\n ? controlValue?.find(\r\n (e: any) => e.tableTemp.label === layout.template.label\r\n )\r\n : tableSummaries?.find(\r\n (e: any) => e.tableTemp.label === layout.template.label\r\n );\r\n\r\n tableCol.forEach((col: any, colIdx: number) => {\r\n if (col.control.template.attribute.summary === \"Y\") {\r\n if (\r\n !Number.isNaN(\r\n Number(selTable.AllCol[col.control.template.label])\r\n )\r\n ) {\r\n isSum = true;\r\n isControlHasSum = true;\r\n tableSum += Number(\r\n selTable.AllCol[col.control.template.label]\r\n );\r\n }\r\n }\r\n });\r\n } else {\r\n tableCol.forEach((col: any, colIdx: number) => {\r\n if (col.control.template.attribute.summary === \"Y\") {\r\n layout.data.row?.forEach((row: any) => {\r\n isSum = true;\r\n isControlHasSum = true;\r\n if (Number(row[colIdx]) !== 0) {\r\n tableSum += Number(row[colIdx]);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n _amount += tableSum;\r\n }\r\n } catch (error) {\r\n console.log(\"sum=>error\", error);\r\n }\r\n });\r\n });\r\n\r\n getLineApproveForAmount(_amount, undefined, undefined, controlTemplate);\r\n\r\n return {\r\n _amount: _amount,\r\n isSum: isSum,\r\n isControlHasSum: isControlHasSum,\r\n };\r\n } catch (error) {\r\n console.log(\"sum=>error\", error);\r\n }\r\n };\r\n\r\n const calCulateCorecontrol = async (\r\n currentControl: any,\r\n controlTemplate: any,\r\n controlValue: any\r\n ) => {\r\n try {\r\n setIsControlLoading(true);\r\n\r\n if (controlValue) {\r\n for (let i = 0; i < numFormulas.length; i++) {\r\n let formula = numFormulas[i];\r\n if (formula.formula) {\r\n let resulstField = formula.formula.split(\"=\");\r\n let variables = resulstField[0];\r\n let match: any = resulstField[0].match(/[^+\\-\\*\\/=]+/g) || [];\r\n let total: number = NaN;\r\n\r\n match.forEach((formu: any) => {\r\n if (formu?.includes(\"sum\")) {\r\n if (controlTemplate.type === \"tb\") {\r\n try {\r\n const selCol = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.lastIndexOf(\")\"))\r\n .split(\";\");\r\n const tableCol: any[] = controlTemplate.attribute.column;\r\n console.log(selCol);\r\n\r\n const selValue = controlValue.find(\r\n (e: any) => e.tableTemp.label === selCol[0]\r\n );\r\n\r\n tableCol?.forEach((col: any) => {\r\n if (selCol[1] === col.label) {\r\n total = 0;\r\n if (selValue?.AllCol[col.label] != undefined) {\r\n variables = variables.replace(\r\n formu,\r\n selValue.AllCol[selCol[1]].toString()\r\n );\r\n }\r\n }\r\n });\r\n } catch (error) {\r\n console.log(\"cal=>error\", error);\r\n }\r\n } else {\r\n currentControl.forEach((layout: any) => {\r\n layout.layout.forEach((col: any) => {\r\n if (col.template.type === \"tb\") {\r\n const selCol = formu\r\n .substring(\r\n formu.indexOf(\"(\") + 1,\r\n formu.lastIndexOf(\")\")\r\n )\r\n .split(\";\");\r\n const tableCol: any[] = col.template.attribute.column;\r\n\r\n const selValue = tableSummaries.find(\r\n (e: any) => e.tableTemp.label === selCol[0]\r\n );\r\n tableCol?.forEach((col: any) => {\r\n if (selCol[1] === col.label) {\r\n if (selValue?.AllCol[col.label]) {\r\n variables = variables.replace(\r\n formu,\r\n selValue.AllCol[selCol[1]].toString()\r\n );\r\n }\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n } else {\r\n currentControl?.forEach((item: any, rowIdx: number) => {\r\n item?.layout?.forEach((layout: any) => {\r\n if (match.includes(layout.template.label)) {\r\n if (layout.data.value && layout.data.value !== \"\") {\r\n variables = variables.replace(\r\n layout.template.label,\r\n layout.data.value.toString().replaceAll(\",\", \"\")\r\n );\r\n } else {\r\n variables = variables.replace(\r\n layout.template.label,\r\n \"0\"\r\n );\r\n }\r\n }\r\n });\r\n });\r\n }\r\n });\r\n var regExp = /[a-zA-Zก-๏]/g;\r\n\r\n if (!regExp.test(variables)) {\r\n total = eval(variables);\r\n }\r\n if (!isNaN(total)) {\r\n const callLogics: any[] = checkCallLogic(\r\n allLogic,\r\n currentControl[formula.rowIndex].layout[formula.colIndex]\r\n .template\r\n );\r\n\r\n currentControl[formula.rowIndex].layout[\r\n formula.colIndex\r\n ].data.value = total.toFixed(\r\n currentControl[formula.rowIndex].layout[formula.colIndex]\r\n .template.attribute.decimal\r\n );\r\n if (callLogics.length > 0) {\r\n // let _jsonConditions = jsonConditions;\r\n for (let i = 0; i < callLogics.length; i++) {\r\n const _response = await onProcessLogic(\r\n callLogics[i],\r\n currentControl[formula.rowIndex].layout[formula.colIndex]\r\n .template,\r\n currentControl[formula.rowIndex].layout[formula.colIndex]\r\n .data.value,\r\n currentControl,\r\n false\r\n );\r\n\r\n // _jsonConditions = _response || \"\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return currentControl;\r\n } catch (error) {\r\n console.log(\"cal=>error\", error);\r\n }\r\n };\r\n\r\n const updateTableSummaries = (tableTemp: any, value: any) => {\r\n if (tableSummaries) {\r\n const _tableSummaries = JSON.stringify(tableSummaries);\r\n let _sumTable = JSON.parse(_tableSummaries);\r\n\r\n _sumTable.map((e: any) => {\r\n if (e.tableTemp.label === tableTemp.label) {\r\n e.AllCol = value;\r\n }\r\n });\r\n\r\n if (JSON.stringify(_sumTable) !== JSON.stringify(tableSummaries)) {\r\n _onControlChange(tableTemp, _sumTable, true);\r\n setTableSummaries([..._sumTable]);\r\n }\r\n }\r\n };\r\n\r\n //check if control has logic\r\n const checkCallLogic = (logics: any, controlTemplate: any) => {\r\n let callLogic: any[] = [];\r\n\r\n logics.forEach((logic: ILogic) => {\r\n if (logic.logictype === LogicType.DataSourceRelated) {\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n if (controlTemplate.type === \"tb\") {\r\n for (let j = 0; j < controlTemplate.attribute.column.length; j++) {\r\n const col = controlTemplate.attribute.column[j];\r\n if (jsonValue.label === col.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n } else {\r\n if (jsonValue.label === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataAjaxLoadTable) {\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n const selectAction = jsonValue.labelactions.find(\r\n (e) => e.label === controlTemplate.label\r\n );\r\n if (selectAction) {\r\n callLogic.push(logic);\r\n }\r\n } else if (logic.logictype === LogicType.DataRelatedToLoadData) {\r\n const jsonValue: ILogicTypeReladToLoadData =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n if (controlTemplate.type === \"tb\") {\r\n for (let i = 0; i < jsonValue.labelactions.length; i++) {\r\n const labelAction = jsonValue.labelactions[i];\r\n for (let j = 0; j < controlTemplate.attribute.column.length; j++) {\r\n const col = controlTemplate.attribute.column[j];\r\n if (labelAction.label === col.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < jsonValue.labelactions.length; i++) {\r\n const labelAction = jsonValue.labelactions[i];\r\n\r\n if (labelAction.label === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.Reference) {\r\n const jsonValue: ILogicTypeReference =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n for (let i = 0; i < jsonValue.Filter.length; i++) {\r\n const filter = jsonValue.Filter[i];\r\n if (filter.TBColumn === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataLineApprove) {\r\n const jsonValue: ILogicTypeDataLineApprove =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n if (jsonValue.label === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n });\r\n\r\n return callLogic;\r\n };\r\n const _onControlChangeRef = async (refControl: any) => {\r\n let _jsonConditions = jsonConditions;\r\n let template: any = null;\r\n if (!isFirstRun?.current) {\r\n if (previousView?.current === \"2\") {\r\n const logics = allLogic;\r\n\r\n let oldRefControl = refControl;\r\n\r\n setIsControlLoading(true);\r\n\r\n oldRefControl = await prepareInitialLogic(logics, {\r\n items: oldRefControl,\r\n });\r\n\r\n for (let i = 0; i < oldRefControl.items.length; i++) {\r\n const item = oldRefControl.items[i];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n if (layout.template.type !== \"tb\") {\r\n const callLogic = checkCallLogic(logics, layout.template);\r\n\r\n if (callLogic.length > 0) {\r\n template = layout.template;\r\n }\r\n for (let i = 0; i < callLogic.length; i++) {\r\n const _response = await onProcessLogic(\r\n callLogic[i],\r\n layout.template,\r\n layout.data.value,\r\n refControl,\r\n false\r\n );\r\n\r\n _jsonConditions = _response || \"\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (autoNumFormat.formats.length > 0 && canEditDoc) {\r\n oldRefControl.items = await genAutoNum(\r\n oldRefControl.items,\r\n autoNumFormat,\r\n memoDetail.template_id,\r\n memoDetail.status\r\n );\r\n }\r\n const sumRes = await onProcessSummary(\r\n refControl,\r\n _jsonConditions,\r\n template,\r\n null\r\n );\r\n\r\n setIsControlLoading(false);\r\n if (_jsonConditions) {\r\n if (_jsonConditions.type && _jsonConditions.value) {\r\n oldRefControl = _jsonConditions.value;\r\n }\r\n }\r\n return oldRefControl;\r\n }\r\n return refControl;\r\n }\r\n return refControl;\r\n };\r\n\r\n //trigger when control value change\r\n const _onControlChange = async (\r\n controlTemplate: ISelectDropdownTemplate | any, //controled change template\r\n controlValue: any, //value\r\n isInTable: boolean = false, // if control in table\r\n isRef?: boolean\r\n ) => {\r\n try {\r\n let _amount = 0;\r\n let _jsonConditions: string = jsonConditions; //condition for datalineapprove logic\r\n setIsControlLoading(true);\r\n //for not trigger when change tap to Information screen\r\n if (controlValue && !isFirstRun?.current) {\r\n if (previousView?.current === \"2\") {\r\n const logics = allLogic; //all template logic\r\n\r\n //check if triggered control has logic or not\r\n const callLogic = checkCallLogic(logics, controlTemplate);\r\n\r\n //unrelate constant\r\n const _controlString = JSON.stringify(fields);\r\n const oldControl = JSON.parse(_controlString);\r\n const _control = JSON.parse(_controlString);\r\n\r\n const newControlString = JSON.stringify(_control);\r\n let newControl = JSON.parse(newControlString);\r\n\r\n //check if can call logic and this control not type = tb\r\n\r\n //calculate all control value to amount in memodetail\r\n newControl = await calCulateCorecontrol(\r\n _control,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n if (autoNumFormat.formats.length > 0 && canEditDoc) {\r\n newControl = await genAutoNum(\r\n newControl,\r\n autoNumFormat,\r\n memoDetail.template_id,\r\n memoDetail.status\r\n );\r\n }\r\n\r\n const sumRes = await onProcessSummary(\r\n newControl,\r\n _jsonConditions,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n if (\r\n (controlTemplate.type !== \"tb\" || isInTable) &&\r\n callLogic.length > 0\r\n ) {\r\n /*process logic return type [control,table,lineapprove] and value when fetch from api\r\n 1.control value in template\r\n 2.table value in row in table\r\n 3.lineapprove value is jsoncondition\r\n */\r\n for (let i = 0; i < callLogic.length; i++) {\r\n const { type, value, controls } = await onProcessLogic(\r\n callLogic[i],\r\n controlTemplate,\r\n controlValue,\r\n newControl,\r\n isInTable,\r\n sumRes\r\n );\r\n\r\n if (type === \"table_dd_to_dd\" && isInTable) {\r\n //setNewOptionToControl\r\n newControl[controls.row].layout[\r\n controls.layout\r\n ].template.attribute.column[\r\n controls.columnTb\r\n ].control.template.attribute.items = value;\r\n } else if (type === \"control\") {\r\n newControl = value;\r\n }\r\n //return value to save function in TableComponent\r\n if ((type === \"table\" || type === \"control\") && isInTable) {\r\n setIsControlLoading(false);\r\n return { type, value };\r\n } else if (type === \"lineapprove\" && !isInTable) {\r\n //set jsonconditions\r\n console.log(\"lineapprove=>\", value);\r\n\r\n _jsonConditions = value || \"\";\r\n }\r\n }\r\n }\r\n\r\n //set value to hook-form\r\n\r\n if (newControl && !isRef) {\r\n setValue(\"items\", [...newControl]);\r\n }\r\n }\r\n }\r\n setIsControlLoading(false);\r\n } catch (error) {\r\n setIsControlLoading(false);\r\n console.log(\"core=>error\", error);\r\n }\r\n };\r\n\r\n const detechRevisionControl = async (\r\n _templateId: any,\r\n _control: any,\r\n memoId?: number\r\n ) => {\r\n try {\r\n let requestBody: any = {};\r\n let items: any[] = [];\r\n let rowIndex = -1;\r\n let colIndex = -1;\r\n\r\n _control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"rvs\") {\r\n requestBody.TemplateId = _templateId;\r\n requestBody.RefId = memoId;\r\n requestBody.Digit = layout.template.attribute.digit;\r\n requestBody.Labelrevision = layout.template.label;\r\n requestBody.Alter = layout.template.alter;\r\n requestBody.MemoId = null;\r\n rowIndex = rowIdx;\r\n colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n if (rowIndex !== -1 && colIndex !== -1) {\r\n if (\r\n _control[rowIndex].layout[colIndex].template.attribute.conditions\r\n .length > 0\r\n ) {\r\n const rvsCon = _control[rowIndex].layout[colIndex];\r\n rvsCon.template.attribute.conditions.map((con: any) => {\r\n _control.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (con.label === layout.template.label) {\r\n items.push({\r\n Label: con.label,\r\n value: layout.data.value,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n requestBody.Itemlabel = items;\r\n\r\n if (requestBody.Itemlabel.length > 0) {\r\n let isCheck = true;\r\n\r\n requestBody.Itemlabel.forEach((item: any) => {\r\n if (!item.value || item.value === \"\") {\r\n isCheck = false;\r\n return;\r\n }\r\n });\r\n\r\n if (isCheck) {\r\n const revision = await GetRvsRunning(requestBody);\r\n _control[rowIndex].layout[colIndex].data.value = revision.item;\r\n }\r\n }\r\n }\r\n return _control;\r\n } catch (error) {\r\n console.log(\"rvs=>error\", error);\r\n }\r\n };\r\n\r\n //process datasourcerelate function\r\n const onProcessLogicDataSourceRelated = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: boolean,\r\n control: any\r\n ) => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n };\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n let jsonRelated: any = [];\r\n if (jsonValue.label === controlTemplate.label && !isInTable) {\r\n //body to fetch data\r\n const conditions = jsonValue.conditions;\r\n if (conditions.length > 1) {\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < control.length; k++) {\r\n const item = control[k];\r\n for (let l = 0; l < item.layout.length; l++) {\r\n const _layout = item.layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n if (e.label) {\r\n if (e.label === _label) {\r\n jsonRelated.push({\r\n Key: _label,\r\n Value: _layout.data.value,\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n responseDataSourceLoadRelated.data = await onDatareladToLoadData(\r\n jsonRelated\r\n );\r\n } else {\r\n const dataJson = {\r\n Key: controlTemplate.label,\r\n Value: controlValue,\r\n logicid: logic.logicid,\r\n };\r\n responseDataSourceLoadRelated.data = await onDataSourceLoadRelated(\r\n dataJson\r\n );\r\n }\r\n\r\n console.log(\"logic=>jsonRelated\", jsonRelated);\r\n\r\n //check if has response data\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n //find control position to put data in\r\n for (let i = 0; i < jsonValue.relatedvalue?.length; i++) {\r\n const relateValue = jsonValue?.relatedvalue[i];\r\n for (let j = 0; j < templateDesc?.items?.length; j++) {\r\n const item = templateDesc?.items[j];\r\n for (let k = 0; k < item.layout?.length; k++) {\r\n const layout = item?.layout[k];\r\n if (layout.template.label === relateValue.label) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: j,\r\n col: k,\r\n relateValue,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n return { responseDataSourceLoadRelated, isInTable };\r\n }\r\n } else if (isInTable) {\r\n console.log(\"logic2=>controlValue\", controlValue, jsonValue);\r\n\r\n if (controlValue.dataIndex === jsonValue.label) {\r\n const dataJson = {\r\n Key: controlValue.dataIndex,\r\n Value: controlValue.values[controlValue.dataIndex],\r\n logicid: logic.logicid,\r\n };\r\n console.log(\"logic2=>dataJson\", dataJson);\r\n\r\n const _dataJson: any[] = [];\r\n const conditions = jsonValue.conditions;\r\n const _control = controlTemplate.attribute.column;\r\n console.log(\"logic2=>jsonValue,\", jsonValue, controlValue);\r\n\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < _control.length; k++) {\r\n const item = _control[k];\r\n if (e.label === item.label) {\r\n _dataJson.push({\r\n Key: item.label,\r\n Value: controlValue[e.label],\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n });\r\n\r\n responseDataSourceLoadRelated.data = await onDatareladToLoadData(\r\n _dataJson\r\n );\r\n\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n for (let i = 0; i < jsonValue.relatedvalue.length; i++) {\r\n const relateValue = jsonValue.relatedvalue[i];\r\n for (let j = 0; j < controlTemplate.attribute.column.length; j++) {\r\n const item = controlTemplate.attribute.column[j];\r\n for (\r\n let k = 0;\r\n k < responseDataSourceLoadRelated.data.length;\r\n k++\r\n ) {\r\n const relate = responseDataSourceLoadRelated.data[k];\r\n for (const [keyRelate, valueRelate] of Object.entries(relate)) {\r\n if (\r\n keyRelate === relateValue.value &&\r\n relateValue.label === item.label\r\n ) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: controlValue.key,\r\n col: j,\r\n valueRelate,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return { responseDataSourceLoadRelated, isInTable };\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const onProcessLogicAjax = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: boolean\r\n ) => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n actionFrom: { row: -1, col: -1 },\r\n };\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n //body to fetch data\r\n const dataJson = {\r\n Key: controlTemplate.label,\r\n Value: controlValue,\r\n logicid: logic.logicid,\r\n };\r\n responseDataSourceLoadRelated.data = await onDataSourceLoadRelated(\r\n dataJson\r\n );\r\n //check if has response data\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n //find control position to put data in\r\n const relateValue = jsonValue.autoloadvaluelabel.label;\r\n for (let i = 0; i < jsonValue.labelactions.length; i++) {\r\n if (jsonValue.labelactions[i].label === controlTemplate.label) {\r\n for (let j = 0; j < templateDesc?.items?.length; j++) {\r\n const item = templateDesc?.items[j];\r\n for (let k = 0; k < item.layout?.length; k++) {\r\n const layout = item?.layout[k];\r\n if (layout.template.type === \"tb\") {\r\n layout.template.attribute.column.forEach(\r\n (col: any, colIdx: number) => {\r\n if (col.label === relateValue) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: j,\r\n col: k,\r\n relateValue,\r\n tableCol: colIdx,\r\n });\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return { responseDataSourceLoadRelated, isInTable };\r\n }\r\n\r\n return false;\r\n };\r\n\r\n //process datalineapprove logic\r\n const onProcessLogicLineApprove = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => {\r\n const jsonValue: ILogicTypeDataLineApprove =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n const conditionsValue = onFilterCondotionsValue(\r\n jsonValue,\r\n control,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n if (conditionsValue.length > 0) {\r\n return JSON.stringify({\r\n logicid: logic.logicid,\r\n conditions: conditionsValue,\r\n });\r\n }\r\n return false;\r\n };\r\n const onProcessLogicDataRelatedToLoadData = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any,\r\n isInTable: boolean\r\n ) => {\r\n const jsonValue: ILogicTypeReladToLoadData =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n const { dataJson, loadTo, actionFrom } = onFindDataJson(\r\n controlTemplate,\r\n controlValue,\r\n control,\r\n jsonValue,\r\n logic.logicid,\r\n isInTable\r\n );\r\n\r\n if (dataJson) {\r\n // check if has response data\r\n if (dataJson.length > 0) {\r\n if (isFirstRun.current || checkIfLogicsHaveValue(dataJson)) {\r\n const rawData: any = await onDatareladToLoadData(dataJson);\r\n\r\n if (rawData && loadTo) {\r\n let data = formatKeyLogicData({ data: rawData });\r\n\r\n return { data, loadTo, actionFrom };\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const checkIfLogicsHaveValue = (dataJson: any[]) => {\r\n let _bool = false;\r\n dataJson.forEach((data) => {\r\n Object.keys(data).map((key) => {\r\n if (key.toLowerCase() === \"value\") {\r\n _bool = true;\r\n }\r\n });\r\n });\r\n\r\n return _bool;\r\n };\r\n\r\n const checkIfGetData = (data: any[]) => {\r\n let _bool = true;\r\n console.log(\"logic=>data\", data);\r\n\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].item === \"\") {\r\n _bool = false;\r\n return _bool;\r\n }\r\n }\r\n if (data.length === 1 && data[0].item === \"-- Please Select --\") {\r\n _bool = false;\r\n return _bool;\r\n }\r\n return _bool;\r\n };\r\n\r\n const onProcessLogic = async (\r\n logic: ILogic,\r\n controlTemplate: ISelectDropdownTemplate | any,\r\n controlValue: any,\r\n _control: any,\r\n isInTable: boolean,\r\n sumRes?: any\r\n ): Promise<{\r\n type: \"control\" | \"lineapprove\" | \"table\" | \"table_dd_to_dd\" | null;\r\n value: any;\r\n controls?: any;\r\n }> => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n };\r\n try {\r\n const controlString = _control\r\n ? JSON.stringify(_control)\r\n : JSON.stringify(templateDesc.items);\r\n\r\n let newControl;\r\n if (controlString) {\r\n newControl = JSON.parse(controlString);\r\n }\r\n console.log(\"lineapprove=>\", {\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n _control,\r\n isInTable,\r\n });\r\n if (logic) {\r\n //find logic that control have\r\n setIsControlLoading(true);\r\n if (logic.logictype === LogicType.DataSourceRelated) {\r\n const responseData = await onProcessLogicDataSourceRelated(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n isInTable,\r\n newControl\r\n );\r\n\r\n if (responseData) {\r\n //check if this control in table\r\n if (controlTemplate.type === \"tb\" && isInTable) {\r\n //format value to data in template type = table\r\n const ee = returnToValure(controlTemplate, controlValue);\r\n\r\n let newColumn: any = {};\r\n\r\n for (\r\n let i = 0;\r\n i <\r\n responseData.responseDataSourceLoadRelated.relateGroup.length;\r\n i++\r\n ) {\r\n //put data to specific row\r\n const relateGroup =\r\n responseData.responseDataSourceLoadRelated.relateGroup[i];\r\n newControl[controlValue.rowTemplate].layout[\r\n controlValue.colTemplate\r\n ].data.row[relateGroup.row] = ee;\r\n\r\n newControl[controlValue.rowTemplate].layout[\r\n controlValue.colTemplate\r\n ].data.row[relateGroup.row][relateGroup.col].value =\r\n relateGroup.valueRelate;\r\n\r\n //format value to row value\r\n newColumn = formatToColumns(\r\n controlTemplate.attribute.column,\r\n newControl[controlValue.rowTemplate].layout[\r\n controlValue.colTemplate\r\n ].data.row[relateGroup.row]\r\n );\r\n }\r\n\r\n const responseDataTable = {\r\n ...newColumn,\r\n key: controlValue.key,\r\n };\r\n\r\n return { type: \"table\", value: responseDataTable };\r\n } else {\r\n console.log(\"logic=>datasourcerelated\", responseData);\r\n\r\n for (\r\n let i = 0;\r\n i <\r\n responseData.responseDataSourceLoadRelated.relateGroup.length;\r\n i++\r\n ) {\r\n const relateGroup =\r\n responseData.responseDataSourceLoadRelated.relateGroup[i];\r\n\r\n for (\r\n let j = 0;\r\n j < responseData.responseDataSourceLoadRelated.data.length;\r\n j++\r\n ) {\r\n const relateData =\r\n responseData.responseDataSourceLoadRelated.data[j];\r\n\r\n newControl[relateGroup.row].layout[\r\n relateGroup.col\r\n ].data.value = relateData[relateGroup.relateValue.value];\r\n }\r\n }\r\n return { type: \"control\", value: newControl };\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.Reference) {\r\n const responseData = await onProcessLogicReference(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n newControl\r\n );\r\n\r\n if (responseData) {\r\n //map data from api response\r\n const permittedValues = responseData.data.map(function (\r\n value: any\r\n ) {\r\n let res: any = {};\r\n for (let i = 0; i < responseData.loadTo.length; i++) {\r\n const field = responseData.loadTo[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n }\r\n return res;\r\n });\r\n let resRow: any[] = [];\r\n\r\n if (permittedValues) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n\r\n //create empty table data as response api length\r\n let colData = new Array(\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n\r\n //loop for put data to table\r\n for (const [key, value] of Object.entries(perValue)) {\r\n //loop throught table template column length\r\n for (\r\n let j = 0;\r\n j <\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column[j];\r\n\r\n // if column label = key of data response, put data in\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n\r\n resRow.push(colData);\r\n }\r\n\r\n newControl[responseData.row].layout[responseData.col].data.row =\r\n resRow;\r\n return { type: \"control\", value: newControl };\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataLineApprove) {\r\n const responseData = await onProcessLogicLineApprove(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n newControl\r\n );\r\n\r\n if (responseData) {\r\n await getLineApproveForAmount(\r\n sumRes?._amount,\r\n responseData,\r\n LogicType.DataLineApprove,\r\n controlTemplate\r\n );\r\n setIsControlLoading(false);\r\n\r\n // return { type: \"lineapprove\", value: responseData };\r\n }\r\n } else if (logic.logictype === LogicType.DataRelatedToLoadData) {\r\n const responseData = await onProcessLogicDataRelatedToLoadData(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n newControl,\r\n isInTable\r\n );\r\n\r\n if (responseData) {\r\n if (responseData.data) {\r\n if (!isInTable) {\r\n newControl[responseData.loadTo.row].layout[\r\n responseData.loadTo.col\r\n ].template.attribute.items = responseData.data.data;\r\n\r\n return { type: \"control\", value: newControl };\r\n } else {\r\n if (checkIfGetData(responseData.data.data)) {\r\n let positionControl: { row: number; col: number } = {\r\n row: -1,\r\n col: -1,\r\n };\r\n for (let i = 0; i < newControl.length; i++) {\r\n const items = newControl[i];\r\n for (let j = 0; j < items.layout.length; j++) {\r\n const layout = items.layout[j];\r\n if (layout.template.label === controlTemplate.label) {\r\n positionControl = { row: i, col: j };\r\n }\r\n }\r\n }\r\n //addCheckedToArray\r\n const mapDataItem: any[] = [];\r\n for (\r\n let index = 0;\r\n index < responseData.data.data.length;\r\n index++\r\n ) {\r\n const element = responseData.data.data[index];\r\n mapDataItem.push({\r\n checked: index === 0 ? \"Y\" : \"N\",\r\n ...element,\r\n });\r\n }\r\n let actionCol = null;\r\n let targetCol = null;\r\n\r\n if (responseData.actionFrom.col !== -1) {\r\n let _tableOptions = [...tableOptions];\r\n\r\n actionCol =\r\n controlTemplate.attribute.column[\r\n responseData.actionFrom?.col\r\n ];\r\n targetCol =\r\n controlTemplate.attribute.column[responseData.loadTo.col];\r\n const options = tableOptions.find(\r\n (e) =>\r\n e.actionsCol.rowIdx === responseData.actionFrom.row &&\r\n e.actionsCol.colIdx === responseData.actionFrom.col\r\n );\r\n if (options) {\r\n _tableOptions.map((e) => {\r\n if (\r\n e.actionsCol.rowIdx === responseData.actionFrom.row &&\r\n e.actionsCol.colIdx === responseData.actionFrom.col\r\n ) {\r\n e.targetCol.options = responseData.data.data;\r\n }\r\n });\r\n } else {\r\n _tableOptions.push({\r\n actionsCol: {\r\n label: actionCol.label,\r\n rowIdx: controlValue.key,\r\n colIdx: responseData.actionFrom.col,\r\n value: controlValue[actionCol.label],\r\n },\r\n targetCol: {\r\n label: targetCol.label,\r\n rowIdx: controlValue.key,\r\n colIdx: responseData.loadTo.col,\r\n options: responseData.data.data,\r\n },\r\n });\r\n }\r\n setTableOptions([..._tableOptions]);\r\n }\r\n\r\n return {\r\n type: \"table_dd_to_dd\",\r\n value: mapDataItem,\r\n controls: {\r\n row: positionControl.row,\r\n layout: positionControl.col,\r\n columnTb: responseData.loadTo.col,\r\n },\r\n };\r\n }\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataAjaxLoadTable) {\r\n const responseData = await onProcessLogicAjax(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n isInTable\r\n );\r\n if (responseData) {\r\n for (\r\n let i = 0;\r\n i < responseData.responseDataSourceLoadRelated.relateGroup.length;\r\n i++\r\n ) {\r\n const processData = formatKeyLogicData(\r\n responseData.responseDataSourceLoadRelated\r\n );\r\n\r\n _control[processData.relateGroup[i].row].layout[\r\n processData.relateGroup[i].col\r\n ].template.attribute.column[\r\n processData.relateGroup[i].tableCol\r\n ].control.template.attribute.items = processData.data;\r\n }\r\n\r\n reset({\r\n items: _control,\r\n });\r\n }\r\n }\r\n setIsControlLoading(false);\r\n }\r\n } catch (error) {\r\n console.log(\r\n \"onProcessLogic=>error\",\r\n error,\r\n \"Logic=> \" + logic,\r\n \"value=> \",\r\n controlValue\r\n );\r\n }\r\n return { type: null, value: null };\r\n };\r\n\r\n const onDataSourceLoadRelated = async (dataJson: any) => {\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n // setFormLoading(false);\r\n\r\n // onChangeValueForm(data, relateGroup);\r\n });\r\n return dataSource;\r\n };\r\n\r\n const onFindDataJson = (\r\n controlTemplate: any,\r\n controlValue: string,\r\n _control: any,\r\n jsonValue: ILogicTypeReladToLoadData,\r\n logicid: string,\r\n isInTable: boolean\r\n ) => {\r\n const response: {\r\n dataJson: any[];\r\n loadTo: { row: number; col: number };\r\n actionFrom: { row: number; col: number };\r\n } = {\r\n dataJson: [],\r\n loadTo: { row: -1, col: -1 },\r\n actionFrom: { row: -1, col: -1 },\r\n };\r\n\r\n if (!isInTable) {\r\n for (let j = 0; j < jsonValue.labelactions.length; j++) {\r\n const labelaction = jsonValue.labelactions[j].label;\r\n\r\n if (controlTemplate.label === labelaction) {\r\n const conditions = jsonValue.conditions;\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < _control.length; k++) {\r\n const item = _control[k];\r\n for (let l = 0; l < item.layout.length; l++) {\r\n const _layout = item.layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n if (e.label === _label) {\r\n response.dataJson.push({\r\n Key: _label,\r\n Value: _layout.data.value,\r\n logicid: logicid,\r\n });\r\n }\r\n if (jsonValue.autoloadvaluelabel.label === _label) {\r\n response.loadTo = {\r\n row: k,\r\n col: l,\r\n };\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n const _controlValue = controlValue as any;\r\n for (let j = 0; j < jsonValue.labelactions.length; j++) {\r\n const labelaction = jsonValue.labelactions[j];\r\n\r\n for (let k = 0; k < controlTemplate.attribute.column.length; k++) {\r\n const column = controlTemplate.attribute.column[k];\r\n\r\n if (column.control.template.label === labelaction.label) {\r\n console.log(\"logic=>TB_controlValue\", _controlValue);\r\n\r\n const conditions = jsonValue.conditions;\r\n console.log(\"logic=>TB_conditions\", conditions);\r\n\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < _control.length; k++) {\r\n const item = _control[k];\r\n for (let l = 0; l < item.layout.length; l++) {\r\n const _layout = item.layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n\r\n if (e.label === _label) {\r\n response.dataJson.push({\r\n Key: _label,\r\n Value: _layout.data.value,\r\n logicid: logicid,\r\n });\r\n } else if (column.control.template.label === e.label) {\r\n console.log(\r\n \"logic=>e.label\",\r\n column.control.template.label,\r\n e.label\r\n );\r\n const exit = response.dataJson.find(\r\n (e) => e.Key === column.control.template?.label\r\n );\r\n if (!exit) {\r\n response.dataJson.push({\r\n Key: column.control.template?.label,\r\n Value:\r\n _controlValue.values[column.control.template.label],\r\n logicid: logicid,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n response.actionFrom = { row: _controlValue.key, col: k };\r\n\r\n // }\r\n }\r\n if (\r\n column.control.template.label === jsonValue.autoloadvaluelabel.label\r\n ) {\r\n response.loadTo = {\r\n row: _controlValue.key,\r\n col: k,\r\n };\r\n }\r\n }\r\n }\r\n }\r\n console.log(\"logic=>response\", response);\r\n\r\n return response;\r\n };\r\n const onDatareladToLoadData = async (dataJson: any) => {\r\n const response = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl2\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch(() => false);\r\n return response;\r\n };\r\n\r\n const onFilterCondotionsValue = (\r\n jsonValue: ILogicTypeDataLineApprove,\r\n _control: any,\r\n controlTemplate: any,\r\n controlValue: any\r\n ) => {\r\n let conditions: { label: string; value: string; action?: string }[] = [];\r\n for (let i = 0; i < jsonValue.Conditions.length; i++) {\r\n const condition = jsonValue.Conditions[i];\r\n\r\n if (condition.label === controlTemplate.label) {\r\n conditions.push({\r\n label: condition.label,\r\n value: controlValue ? controlValue.toLocaleString() : \"0\",\r\n action: condition.action,\r\n });\r\n }\r\n if (_control) {\r\n for (let j = 0; j < _control.length; j++) {\r\n const item = _control[j];\r\n\r\n for (let k = 0; k < item.layout.length; k++) {\r\n const layout = item.layout[k];\r\n\r\n if (\r\n condition.label === layout.template.label &&\r\n layout.template.label !== controlTemplate.label\r\n ) {\r\n if (layout.template.type === \"dd\") {\r\n if (\r\n layout.template.attribute.items[0].item !== layout.data.value\r\n ) {\r\n conditions.push({\r\n label: condition.label,\r\n value: layout.data.value\r\n ? layout.data.value.toLocaleString()\r\n : \"0\",\r\n action: condition.action,\r\n });\r\n }\r\n } else {\r\n conditions.push({\r\n label: condition.label,\r\n value: layout.data.value\r\n ? layout.data.value.toLocaleString()\r\n : \"0\",\r\n action: condition.action,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // }\r\n }\r\n }\r\n return conditions;\r\n };\r\n\r\n return (\r\n \r\n {/* */}\r\n \r\n {fields.map((_control: any, idx: number) => {\r\n let dd: string = \"set-padding-core-control\";\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n","import { Dropdown, InputRef, Menu, Typography } from \"antd\";\r\nimport { Form, Table, Modal } from \"antd\";\r\nimport type { FormInstance } from \"antd/lib/form\";\r\nimport { Button } from \"primereact/button\";\r\nimport { TieredMenu } from \"primereact/tieredmenu\";\r\nimport React, {\r\n Dispatch,\r\n SetStateAction,\r\n useContext,\r\n useEffect,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { IoEllipsisVertical } from \"react-icons/io5\";\r\nimport { IMemoDetailModel } from \"../../../IRequestModel/IMemoDetailModel\";\r\nimport { GetRefDocFormTable } from \"../../../Services/MemoService\";\r\nimport {\r\n IColumn,\r\n SelectDataDialog,\r\n} from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { AttachmentTableComponent } from \"../AttachmentUploadControlComponent/AttachmentComponent\";\r\nimport { DatePickerTableComponent } from \"../DatePickerControlComponent/DatePickerControlComponent\";\r\nimport { InputTableComponent } from \"../InputControlComponent/InputControlComponent\";\r\nimport { InputNumberTableComponent } from \"../InputNumberControlComponent/InputNumberControlComponent\";\r\nimport { CheckboxTableComponent } from \"../MainCheckboxControl/CheckboxComponent\";\r\nimport { SelectCheckboxTableComponent } from \"../MainCheckboxControl/SelectCheckboxComponent\";\r\nimport { RadioTableComponent } from \"../RadioControlComponent/RadioControlComponent\";\r\nimport { SelectDropdownTableComponent } from \"../SelectDropdownContronComponent/SelectDropdownContronComponent\";\r\nimport { InputTextAreaTableComponent } from \"../TextAreaControlComponent/InputTextAreaControlComponent\";\r\nimport MoveToDialog from \"./MoveToDialog\";\r\nimport \"./TableComponentCSS.css\";\r\nimport { GetReportById } from \"../../../Services/ReportService\";\r\nimport TableFooter from \"./TableFooter\";\r\n\r\nimport moment from \"moment\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport {\r\n CheckCircleOutlined,\r\n CloseSquareOutlined,\r\n FileTextOutlined,\r\n} from \"@ant-design/icons\";\r\nimport ExcelTablePreview from \"./ExcelTablePreview\";\r\n\r\nconst { confirm } = Modal;\r\nconst { Text } = Typography;\r\n\r\nconst EditableContext = React.createContext | null>(null);\r\n\r\nexport interface tableSelectOption {\r\n actionsCol: {\r\n label: string;\r\n rowIdx: number;\r\n colIdx: number;\r\n value: any;\r\n };\r\n targetCol: {\r\n label: string;\r\n rowIdx: number;\r\n colIdx: number;\r\n options: { item: string }[];\r\n };\r\n}\r\n\r\nexport interface Item {\r\n key: string;\r\n name: string;\r\n age: string;\r\n address: string;\r\n}\r\ninterface EditableRowProps {\r\n index: number;\r\n}\r\n\r\nexport type TableInputProps = {\r\n rowIdx?: number;\r\n colIdx?: number;\r\n template: any;\r\n name: string;\r\n saveFunc: any;\r\n inputRef: any;\r\n value?: any;\r\n isEditing: boolean;\r\n onEdit: any;\r\n children: any;\r\n canEditDoc: any;\r\n checkActionPage: any;\r\n buttonType: string;\r\n record?: Item;\r\n tableOptions?: tableSelectOption[];\r\n actionAlert?: any;\r\n toggleEdit?: any;\r\n};\r\n\r\nconst EditableRow: React.FC = ({ index, ...props }) => {\r\n const [form] = Form.useForm();\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\ninterface EditableCellProps {\r\n title: React.ReactNode;\r\n editable: boolean;\r\n children: React.ReactNode;\r\n dataIndex: keyof Item;\r\n record: Item;\r\n handleSave: (record: Item, responseControlChange: any) => void;\r\n template: any;\r\n onControlChange: any;\r\n rowTemplate: any;\r\n colTemplate: any;\r\n canEditDoc: any;\r\n checkActionPage: any;\r\n buttonType: string;\r\n isError: boolean;\r\n tableOptions: tableSelectOption[];\r\n actionAlert?: any;\r\n setButtonType: (buttonType: any) => void;\r\n setTableOptions: Dispatch<\r\n SetStateAction<{ loadtoLabel: string; options: any[] }>\r\n >;\r\n // isControlLoading: any;\r\n}\r\n\r\nconst EditableCell: React.FC = ({\r\n title,\r\n editable,\r\n children,\r\n dataIndex,\r\n record,\r\n handleSave,\r\n template,\r\n onControlChange,\r\n rowTemplate,\r\n colTemplate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n setButtonType,\r\n isError,\r\n tableOptions,\r\n setTableOptions,\r\n // isControlLoading,\r\n actionAlert,\r\n ...restProps\r\n}) => {\r\n const [editing, setEditing] = useState(false);\r\n const inputRef = useRef(null);\r\n const form = useContext(EditableContext)!;\r\n // const [templateState, setTemplateState] = useTemplateDescContext();\r\n useEffect(() => {\r\n if (editing) {\r\n inputRef?.current!?.focus({\r\n cursor: \"end\",\r\n });\r\n }\r\n }, [editing]);\r\n\r\n const toggleEdit = async () => {\r\n setEditing(!editing);\r\n form.setFieldsValue({ [dataIndex]: record[dataIndex] });\r\n };\r\n\r\n const save = async (value?: any, type?: any) => {\r\n try {\r\n // let values = await form.getFieldsValue();\r\n //let values = await form.validateFields();\r\n let values = await form.getFieldsValue();\r\n let responseControlChange = null;\r\n if (type === \"dd\") {\r\n responseControlChange = await onControlChange(\r\n template,\r\n { ...record, ...values, rowTemplate, colTemplate, dataIndex, values },\r\n true\r\n );\r\n if (responseControlChange && responseControlChange.type === \"table\") {\r\n values = responseControlChange.value;\r\n }\r\n }\r\n handleSave({ ...record, ...values }, responseControlChange);\r\n\r\n toggleEdit();\r\n } catch (errInfo) {\r\n console.log(\"Save failed:\", errInfo);\r\n }\r\n };\r\n let childNode = children;\r\n\r\n if (editable) {\r\n for (let i = 0; i < template.attribute.column.length; i++) {\r\n let _col = template.attribute.column[i];\r\n const label = _col.control.template.label\r\n ? _col.control.template.label\r\n : _col.label;\r\n const type = _col.control.template.type;\r\n\r\n if (label === dataIndex) {\r\n if (type === \"ta\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"dd\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"l\") {\r\n } else if (type === \"c\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"cb\") {\r\n if (_col.control.template.attribute.display === \"dd\") {\r\n childNode = (\r\n \r\n );\r\n } else {\r\n childNode = (\r\n \r\n );\r\n }\r\n } else if (type === \"t\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"r\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"d\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"at\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"bt\") {\r\n } else if (type === \"id\") {\r\n return <>1;\r\n } else if (type === \"action\") {\r\n // return ;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n
{childNode}
\r\n \r\n );\r\n};\r\n\r\ntype EditableTableProps = Parameters[0];\r\n\r\ntype ColumnTypes = Exclude;\r\ntype TableProps = {\r\n _columns: any;\r\n _data: any;\r\n onChange: any;\r\n layout: any;\r\n isControlLoading: any;\r\n onControlChange: any;\r\n rowTemplate: any;\r\n colTemplate: any;\r\n canEditDoc: any;\r\n checkActionPage: any;\r\n buttonType: string;\r\n tableSummary?: any;\r\n onSubmit: any;\r\n isError: boolean;\r\n memoDetail: IMemoDetailModel;\r\n updateTableSummaries: (tableTemp: any, value: any) => void;\r\n tableOptions: { loadtoLabel: string; options: any[] };\r\n setTableOptions: Dispatch<\r\n SetStateAction<{ loadtoLabel: string; options: any[] }>\r\n >;\r\n actionAlert?: any;\r\n setButtonType: (data: any) => void;\r\n colText?: number;\r\n rowIdx: number;\r\n colIdx: number;\r\n};\r\n\r\nconst TableComponent: React.FC = ({\r\n _columns,\r\n _data,\r\n onChange,\r\n layout,\r\n isControlLoading,\r\n onControlChange,\r\n rowTemplate,\r\n colTemplate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n tableSummary,\r\n onSubmit,\r\n isError,\r\n memoDetail,\r\n updateTableSummaries,\r\n tableOptions,\r\n setTableOptions,\r\n actionAlert,\r\n setButtonType,\r\n colIdx,\r\n rowIdx,\r\n colText,\r\n ...props\r\n}) => {\r\n const [moveToDialogVisible, setMoveToDialogVisible] =\r\n useState(false);\r\n const [moveFormIndex, setMoveFormIndex] = useState(-1);\r\n\r\n const [summary, setSummary] = useState();\r\n const fileInputRef = useRef(null);\r\n const [tableLoad, setTableLoad] = useState(false);\r\n const [refTableDialogVisible, setRefTableDialogVisible] =\r\n useState(false);\r\n const [refTableLoading, setRefTableLoading] = useState(false);\r\n const [refDocOptions, setRefDocOptions] = useState([]);\r\n const [selectedData, setSelectedData] = useState([]);\r\n const [refTableColumn, setRefTableColumn] = useState([]);\r\n const [tableFooter, setTableFooter] = useState(\r\n layout.template.attribute?.footerTable?.rows || []\r\n );\r\n const [exportFile, setExportFile] = useState([]);\r\n const [loadFile, setLoadFile] = useState(false);\r\n useEffect(() => {\r\n if (layout.template.attribute.enabledpopupdefdoc === \"Y\") {\r\n fetchRefDocFormTable();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSummary(tableSummary);\r\n }, [tableSummary]);\r\n\r\n const handleDelete = (key: React.Key) => {\r\n const newData = _data.filter((item: any) => item.key !== key);\r\n if (newData.length === 0) {\r\n summaryFunc();\r\n }\r\n // onChange({ row: [...returnToValue(newData)] });\r\n onChange({ ...layout, data: { row: returnToValue(newData) } });\r\n\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n };\r\n\r\n const menu = useRef([]);\r\n\r\n function createRowCopy(key: number) {\r\n let newData: any = {\r\n key: key,\r\n };\r\n const cols = layout.template.attribute.column;\r\n\r\n cols.map((col: any, i: any) => {\r\n let type = col.control.template.type;\r\n if (type == \"cb\") {\r\n newData[col.label] = \"\";\r\n } else if (type == \"t\" || type == \"ta\" || type == \"c\") {\r\n newData[col.label] = col.control.template.attribute.default\r\n ? col.control.template.attribute.default\r\n : null;\r\n if (newData[col.label]) {\r\n newData[col.label] = newData[col.label].replace(\r\n /\\[.+\\]/gi,\r\n (x: any) => {\r\n let fmt = x.replace(\"[\", \"\").replace(\"]\", \"\");\r\n return moment().format(fmt);\r\n }\r\n );\r\n }\r\n } else if (type == \"dd\") {\r\n let items = col.control.template.attribute.items;\r\n newData[col.label] = items[0].item;\r\n } else {\r\n newData[col.label] = null;\r\n }\r\n });\r\n\r\n return newData;\r\n }\r\n\r\n const handleAdd = () => {\r\n let newData: any = createRowCopy(_data.length);\r\n\r\n let eiei = [..._data, newData];\r\n\r\n onChange({ ...layout, data: { row: returnToValue(eiei) } });\r\n };\r\n\r\n const handleAddMultiRow = (newRows: any[]) => {\r\n let newData: any = newRows;\r\n let rows: any[] = [..._data];\r\n newData.map((e: any) => {\r\n rows.push(e);\r\n });\r\n rows.map((e: any, idx: number) => {\r\n e.key = idx;\r\n });\r\n console.log(\"row\", rows);\r\n\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n };\r\n\r\n const returnToValue = (_data: any) => {\r\n let newJa: any = [];\r\n for (let i = 0; i < _data.length; i++) {\r\n const _eiei = _data[i];\r\n let gogo = [];\r\n for (let j = 0; j < layout.template.attribute.column.length; j++) {\r\n const column = layout.template.attribute.column[j];\r\n gogo.push({ value: _eiei[column.label] });\r\n }\r\n newJa.push(gogo);\r\n }\r\n\r\n return newJa;\r\n };\r\n\r\n const calCulateFunc = (row: any) => {\r\n try {\r\n if (layout.template.formula !== \"\") {\r\n const formulas = layout.template.formula.split(\"|\");\r\n const columns = layout.template.attribute.column;\r\n\r\n formulas.map((formula: string) => {\r\n let resulstField = formula.split(\"=\");\r\n let formu: string = resulstField[0];\r\n let resultColIdx = -1;\r\n let resultDecimal = 0;\r\n let result: number = 0;\r\n if (formu.startsWith(\"Min\") || formu.startsWith(\"Max\")) {\r\n const operator = formu.startsWith(\"Max\") ? \"Max\" : \"Min\";\r\n const fields = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.indexOf(\")\"))\r\n .split(\",\");\r\n\r\n fields.forEach((field) => {\r\n columns.forEach((col: any, colIdx: any) => {\r\n if (field === col.label) {\r\n const decimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n const value = Number(\r\n row[col.label]?.toString()?.replaceAll(\",\", \"\")\r\n );\r\n if (!Number.isNaN(value))\r\n if (\r\n result === 0 ||\r\n (operator === \"Max\" && value > result) ||\r\n (operator === \"Min\" && value < result)\r\n ) {\r\n result = value;\r\n }\r\n }\r\n if (col.label === resulstField[1]) {\r\n resultColIdx = colIdx;\r\n resultDecimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n }\r\n });\r\n });\r\n } else {\r\n const allField = formu.match(/[^+\\-\\*\\/=()\\[\\]{}]+/g) || [];\r\n\r\n allField.forEach((field: string) => {\r\n columns.forEach((col: any, colIdx: number) => {\r\n if (field === col.label) {\r\n const decimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n const value = Number(\r\n row[col.label]?.toString()?.replaceAll(\",\", \"\")\r\n ).toFixed(decimal);\r\n formu = formu.replace(\r\n col.label,\r\n value !== \"NaN\" ? value : Number(0).toFixed(decimal)\r\n );\r\n }\r\n if (col.label === resulstField[1]) {\r\n resultColIdx = colIdx;\r\n resultDecimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n }\r\n });\r\n });\r\n\r\n let dd = formu.replaceAll(\",\", \"\");\r\n result = eval(dd);\r\n }\r\n\r\n row[resulstField[1]] = result?.toFixed(resultDecimal);\r\n });\r\n }\r\n } catch (error) {\r\n console.error(\"table=>cal=>error\", error);\r\n }\r\n };\r\n\r\n const summaryFunc = () => {\r\n try {\r\n if (tableSummary) {\r\n const cols = layout.template.attribute.column;\r\n const _tableSummary = JSON.stringify(tableSummary);\r\n let _sum = JSON.parse(_tableSummary);\r\n cols.map((e: any) => {\r\n if (e.control.template.type === \"c\") {\r\n _sum[e.label] = 0;\r\n }\r\n });\r\n\r\n _data.forEach((e: any) => {\r\n cols.map((col: any, colidx: number) => {\r\n if (col.control.template.type === \"c\") {\r\n //ทำไว้เผื่อแก้โครงสร้าง object ที่ผิดรูป\r\n if (!e[col.control.template.label]) {\r\n col.control.template.label = col.label;\r\n }\r\n\r\n if (e[col.control.template.label]) {\r\n if (e[col.control.template.label]) {\r\n col.control.template.label = col.label;\r\n if (\r\n !Number.isNaN(\r\n Number(\r\n e[col.control.template.label]\r\n ?.toString()\r\n ?.replaceAll(\",\", \"\")\r\n )\r\n )\r\n ) {\r\n _sum[col.control.template.label] += Number(\r\n e[col.control.template.label]\r\n ?.toString()\r\n ?.replaceAll(\",\", \"\")\r\n );\r\n } else if (\r\n !Number.isNaN(Number(e[col.control.template.label]))\r\n ) {\r\n _sum[col.control.template.label] += Number(\r\n e[col.control.template.label]\r\n );\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n calCulateTableFooter();\r\n updateTableSummaries(layout.template, _sum);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>sum=>error\", error);\r\n }\r\n };\r\n\r\n useEffect(() => summaryFunc(), [_data]);\r\n\r\n const handleSave = (row: any, responseControlChange?: any) => {\r\n const newData = [..._data];\r\n const index = newData.findIndex((item) => row.key === item.key);\r\n\r\n calCulateFunc(row);\r\n\r\n const item = newData[index];\r\n newData.splice(index, 1, {\r\n ...item,\r\n ...row,\r\n });\r\n let res = layout;\r\n if (responseControlChange && responseControlChange.type === \"control\") {\r\n console.log(\"new render\");\r\n for (let i = 0; i < responseControlChange.value.length; i++) {\r\n const items = responseControlChange.value[i];\r\n for (let j = 0; j < items.layout.length; j++) {\r\n const _layout = items.layout[j];\r\n if (_layout.template.label === layout.template.label) {\r\n res = _layout;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // console.log(\"table=>responseControlChange\", responseControlChange);\r\n\r\n // if (responseControlChange.type === \"table_dd_to_dd\") {\r\n // res = responseControlChange.value;\r\n // }\r\n onChange({ ...res, data: { row: returnToValue(newData) } });\r\n };\r\n\r\n const defColumns: any[] = _columns.map((_col: any, idx: any) => {\r\n return {\r\n ..._col,\r\n };\r\n });\r\n\r\n if (canEditDoc) {\r\n defColumns.push({\r\n title: (\r\n {\r\n setButtonType(\"\");\r\n try {\r\n if (layout.template.attribute.enabledpopupdefdoc === \"Y\") {\r\n setRefTableDialogVisible(true);\r\n } else {\r\n handleAdd();\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n }}\r\n >\r\n ),\r\n className: \"action-column\",\r\n key: \"operation\",\r\n align: \"center\",\r\n fixed: \"right\",\r\n width: 50,\r\n render: (_: any, record: { key: number }) => (\r\n
{actionBodyTemplate(record.key)}
\r\n ),\r\n onCell: (record: any, rowIndex: number) => {\r\n return {\r\n onClick: (e: any) => {\r\n menu?.current[record?.key]?.toggle(e);\r\n },\r\n };\r\n },\r\n });\r\n }\r\n\r\n const addRowTo = (key: number) => {\r\n try {\r\n let rows: any[] = _data;\r\n let newData: any = createRowCopy(key);\r\n rows.splice(key, 0, newData);\r\n rows.map((row: any, idx: number) => (row.key = idx));\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const duplicate = (key: number) => {\r\n try {\r\n let rows: any[] = _data;\r\n let newData: any = createRowCopy(key);\r\n layout.template.attribute.column.forEach((_col: any) => {\r\n newData[_col.label] = rows[key][_col.label];\r\n });\r\n rows.splice(key, 0, newData);\r\n rows.map((row: any, idx: number) => (row.key = idx));\r\n console.log(\"table=>rows\", returnToValue(rows));\r\n\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n };\r\n\r\n const moveTo = (key: number) => {\r\n try {\r\n if (moveFormIndex !== -1) {\r\n let dd = JSON.stringify(_data);\r\n let rows: any[] = JSON.parse(dd);\r\n let updateRow = rows.splice(moveFormIndex, 1)[0];\r\n rows.splice(key, 0, updateRow);\r\n setMoveFormIndex(-1);\r\n rows.map((row: any, idx: number) => (row.key = idx));\r\n\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const actionBodyTemplate = (key: number) => {\r\n const items = [\r\n {\r\n label: \"Create new item\",\r\n icon: \"pi pi-fw pi-plus\",\r\n items: [\r\n {\r\n label: \"Create new item above\",\r\n icon: \"pi pi-fw pi-plus\",\r\n command: () => {\r\n setTableLoad(true);\r\n addRowTo(key);\r\n },\r\n },\r\n {\r\n label: \"Create new item below\",\r\n icon: \"pi pi-fw pi-plus\",\r\n command: () => {\r\n setTableLoad(true);\r\n addRowTo(key + 1);\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n label: \"Move to\",\r\n icon: \"pi pi-fw pi-sort-alt\",\r\n command: () => {\r\n setMoveFormIndex(key);\r\n setMoveToDialogVisible(true);\r\n },\r\n },\r\n {\r\n label: \"Duplicate\",\r\n icon: \"pi pi-fw pi-copy\",\r\n command: () => {\r\n setTableLoad(true);\r\n duplicate(key);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-fw pi-trash\",\r\n command: () => {\r\n setTableLoad(true);\r\n handleDelete(key);\r\n },\r\n },\r\n ];\r\n return (\r\n \r\n {\r\n menu.current[key] = el;\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const columns = defColumns.map((col: any) => {\r\n if (!col.editable) {\r\n return col;\r\n }\r\n\r\n return {\r\n ...col,\r\n onCell: (record: any) => ({\r\n record,\r\n editable: col.editable,\r\n dataIndex: col.dataIndex,\r\n title: col.title,\r\n handleSave,\r\n template: layout.template,\r\n onControlChange,\r\n rowTemplate,\r\n colTemplate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n tableOptions,\r\n setTableOptions,\r\n }),\r\n };\r\n });\r\n\r\n function renderTableFooter() {\r\n try {\r\n let footers = layout.template.attribute?.footerTable?.rows;\r\n const columns = layout.template.attribute.column;\r\n if (footers) {\r\n console.log(footers);\r\n\r\n // let attribute: any[] = [];\r\n // footers.forEach((row: any) => {\r\n // let formu = row.formula;\r\n // let decimal: number = 0;\r\n // const _row = { ...row };\r\n // const allField = formu.match(/[^+\\-\\*\\/=]+/g) || [];\r\n\r\n // columns.forEach((col: any, colIdx: number) => {\r\n // if (allField.includes(col.label)) {\r\n // decimal = Number(col.control.template.attribute.decimal);\r\n\r\n // formu = formu.replace(\r\n // col.label,\r\n // summary[col.label].toFixed(decimal) !== \"NaN\"\r\n // ? summary[col.label].toFixed(decimal)\r\n // : Number(0).toFixed(decimal)\r\n // );\r\n // }\r\n // });\r\n\r\n // const value = addbits(formu)?.toLocaleString(undefined, {\r\n // minimumFractionDigits: decimal,\r\n // });\r\n // _row.result = value;\r\n // // _row.formula = formu;\r\n // attribute.push(_row);\r\n // });\r\n\r\n // attribute.map((footer: any) => {\r\n // const footerTable = footer.formula.match(/[/[ก-๙A-Za-z.()]/g) || [];\r\n // if (footerTable.length > 0) {\r\n // let formula = footer.formula;\r\n // const allField = formula.match(/[^+\\-\\*\\/=]+/g) || [];\r\n // attribute.map((attributefooter: any) => {\r\n // let decimal: number = 5;\r\n\r\n // if (allField.includes(attributefooter.label)) {\r\n // const _val = attributefooter.result.replace(/,/g, \"\");\r\n // formula = formula.replace(\r\n // attributefooter.label,\r\n // Number(_val).toString() !== \"NaN\"\r\n // ? Number(_val).toString()\r\n // : \"0.00\"\r\n // );\r\n\r\n // const value = addbits(formula)?.toLocaleString(undefined, {\r\n // maximumFractionDigits: 3,\r\n // });\r\n\r\n // footer.result = value;\r\n // }\r\n // });\r\n // }\r\n // });\r\n setTableFooter([...footers]);\r\n // return (\r\n // <>\r\n // \r\n // \r\n // {attribute?.length > 0 &&\r\n // _data.length > 0 &&\r\n // attribute.map((row: any) => {\r\n // try {\r\n // return (\r\n // \r\n // \r\n // {row.label + \" : \"}\r\n // \r\n // \r\n // {\r\n // if (Number(e.target.value)) {\r\n // console.log(row);\r\n // row.value = Number(e.target.value);\r\n // console.log(Number(e.target.value));\r\n // }\r\n // }}\r\n // />\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // );\r\n // } catch (error) {\r\n // console.log(\"table=>error\", error);\r\n // }\r\n // })}\r\n // \r\n // \r\n // \r\n // );\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n const calCulateTableFooter = (changeObj?: any) => {\r\n try {\r\n const columns = layout.template.attribute.column;\r\n let decimal: number = 2;\r\n\r\n setTableFooter([\r\n ...tableFooter.map((footer: any) => {\r\n let formu = footer?.formula;\r\n\r\n const allField = formu.match(/[^+\\-\\*\\/=]+/g) || [];\r\n\r\n if (changeObj && changeObj.label === footer.label) {\r\n footer.value = changeObj?.value;\r\n }\r\n columns.forEach((col: any, colIdx: number) => {\r\n if (allField.includes(col.label)) {\r\n decimal = Number(col.control.template.attribute.decimal);\r\n\r\n formu = formu.replace(\r\n col.label,\r\n summary[col.label].toFixed(decimal) !== \"NaN\"\r\n ? summary[col.label].toFixed(decimal)\r\n : Number(0).toFixed(decimal)\r\n );\r\n } else if (allField.includes(\"value\")) {\r\n decimal = Number(col.control.template.attribute.decimal);\r\n\r\n formu = formu.replaceAll(\r\n \"value\",\r\n footer?.value?.toFixed(decimal)\r\n );\r\n }\r\n });\r\n const validate: any[] =\r\n formu.match(/[\\u0E00-\\u0E7FA-Za-z]+|\\([^)]+\\)+/g) || [];\r\n\r\n if (validate.length > 0) {\r\n tableFooter.map((e: any) => {\r\n if (formu.indexOf(e.label) !== -1) {\r\n formu = formu.replace(\r\n e.label,\r\n Number(e?.result.replaceAll(\",\", \"\"))\r\n );\r\n }\r\n });\r\n }\r\n\r\n if (footer?.formula.includes(\"value\")) {\r\n const value = eval(formu)?.toLocaleString(undefined, {\r\n maximumFractionDigits: 2,\r\n });\r\n\r\n footer.result = value;\r\n } else {\r\n const value = eval(formu)?.toLocaleString(undefined, {\r\n maximumFractionDigits: 2,\r\n });\r\n footer.result = value;\r\n }\r\n\r\n return footer;\r\n }),\r\n ]);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n function addbits(s: any) {\r\n try {\r\n let newForm = s.split(\"=\");\r\n var total = 0;\r\n let result =\r\n newForm[0].match(\r\n /\\((?:\\d+)((\\d{1,3})*([\\,\\ ]\\d{3})*)(\\.\\d+)?[*+/-](?:\\d+)((\\d{1,3})*([\\,\\ ]\\d{3})*)(\\.\\d+)?\\)/g\r\n ) || [];\r\n\r\n if (result.length > 0) {\r\n total = eval(result.join(\"+\"));\r\n } else {\r\n result =\r\n newForm[0].match(\r\n /(?:\\d+)((\\d{1,3})*([\\,\\ ]\\d{3})*)(\\.\\d+)?[\\,\\ ]?[*+/-][\\,\\ ]?(?:\\d+)((\\d{1,3})*([\\,\\ ]\\d{3})*)(\\.\\d+)?/g\r\n ) || [];\r\n\r\n if (result.length > 0) {\r\n let strFormula = \"\";\r\n\r\n for (let i = 0; i < result.length; i++) {\r\n strFormula = strFormula + result[i];\r\n }\r\n\r\n total = eval(strFormula);\r\n }\r\n }\r\n return total;\r\n } catch (error) {\r\n console.log(\"table=>error: \", error);\r\n }\r\n }\r\n\r\n async function fetchRefDocFormTable() {\r\n let tempAtt = layout.template.attribute;\r\n\r\n if (refDocOptions.length === 0) {\r\n setRefTableLoading(true);\r\n\r\n if (tempAtt !== undefined) {\r\n if (tempAtt.refdoc !== undefined) {\r\n const dataRequest = {\r\n PageIndex: 0,\r\n PageSize: 0,\r\n CUserID: memoDetail.creator.EmployeeId.toString(),\r\n RUserID: memoDetail.requestor.EmployeeId.toString(),\r\n ConditionRefdoc:\r\n tempAtt.conditionrefdoc.length > 0\r\n ? JSON.stringify(tempAtt.conditionrefdoc)\r\n : \"\",\r\n Search: memoDetail.creator.NameEn,\r\n docDataSource: tempAtt.refdoc.docDataSource,\r\n docReport: tempAtt.refdoc.docReport,\r\n docCancelDoc: tempAtt.refdoc.docCancelDoc,\r\n docEditDoc: tempAtt.refdoc.docEditDoc,\r\n docNewDoc: tempAtt.refdoc.docNewDoc,\r\n doccontrol: tempAtt.refdoc.doccontrol !== \"N\",\r\n docref: tempAtt.refdoc.docref,\r\n };\r\n const refDetails = await GetRefDocFormTable(dataRequest);\r\n const refReportDetail = await GetReportById(tempAtt.refdoc.docReport);\r\n\r\n if (tempAtt.refdoc.docDataSource === \"Template\") {\r\n let refColumn: any[] = [];\r\n let refOptions: any[] = [];\r\n refDetails.forEach((e: any) => {\r\n let _option: any = {};\r\n let advanceForm = JSON.parse(e.MAdvancveForm);\r\n advanceForm.items.map((a: any) => {\r\n a.layout.map((l: any) => {\r\n const target = tempAtt.mergecolumnrefdoc.find(\r\n (col: any) =>\r\n col.RefDocLabel.split(\"_\")[1] === l.template.label\r\n );\r\n if (target) {\r\n _option[target.RefDocLabel] = l.data.value;\r\n _option[l.template.label] = l.data.value;\r\n }\r\n tempAtt.mergecolumnrefdoc.map((a: any) => {\r\n if (a.RefDocLabel === \"DocumentNo\") {\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n } else if (a.RefDocLabel === \"DocumentAmount\") {\r\n _option[a.RefDocLabel] = e.Amount;\r\n _option[a.RefDocLabel] = e.Amount;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeCode\") {\r\n _option[a.RefDocLabel] = e.CreatorId;\r\n _option[a.RefDocLabel] = e.CreatorId;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeName\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.CNameEn;\r\n _option[a.RefDocLabel] = e.CNameEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.CNameTh;\r\n _option[a.RefDocLabel] = e.CNameTh;\r\n }\r\n } else if (a.RefDocLabel === \"CreatorEmployeePosition\") {\r\n _option[a.RefDocLabel] = e.CPositionEn;\r\n _option[a.RefDocLabel] = e.CPositionEn;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeDivision\") {\r\n _option[a.RefDocLabel] = e.CDivisionEn;\r\n _option[a.RefDocLabel] = e.CDivisionEn;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeDepartment\") {\r\n _option[a.RefDocLabel] = e.CDepartmentEn;\r\n _option[a.RefDocLabel] = e.CDepartmentEn;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeEmail\") {\r\n _option[a.RefDocLabel] = \"\";\r\n _option[a.RefDocLabel] = \"\";\r\n } else if (a.RefDocLabel === \"RequestorEmployeeCode\") {\r\n _option[a.RefDocLabel] = e.RequesterId;\r\n _option[a.RefDocLabel] = e.RequesterId;\r\n } else if (a.RefDocLabel === \"RequestorEmployeeName\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RNameEn;\r\n _option[a.RefDocLabel] = e.RNameEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RNameTh;\r\n _option[a.RefDocLabel] = e.RNameTh;\r\n }\r\n } else if (a.RefDocLabel === \"RequestorEmployeePosition\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RPositionEn;\r\n _option[a.RefDocLabel] = e.RPositionEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RPositionTh;\r\n _option[a.RefDocLabel] = e.RPositionTh;\r\n }\r\n } else if (a.RefDocLabel === \"RequestorEmployeeDivision\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RDivisionEn;\r\n _option[a.RefDocLabel] = e.RDivisionEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RDivisionTh;\r\n _option[a.RefDocLabel] = e.RDivisionTh;\r\n }\r\n } else if (\r\n a.RefDocLabel === \"RequestorEmployeeDepartment\"\r\n ) {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RDepartmentEn;\r\n _option[a.RefDocLabel] = e.RDepartmentEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RDepartmentTh;\r\n _option[a.RefDocLabel] = e.RDepartmentTh;\r\n }\r\n } else if (a.RefDocLabel === \"RequestorEmployeeEmail\") {\r\n _option[a.RefDocLabel] = \"\";\r\n _option[a.RefDocLabel] = \"\";\r\n } else if (a.RefDocLabel === \"InformationDocumentStatus\") {\r\n _option[a.RefDocLabel] = e.StatusName;\r\n _option[a.RefDocLabel] = e.StatusName;\r\n } else if (a.RefDocLabel === \"InformationFormName\") {\r\n _option[a.RefDocLabel] = e.TemplateName;\r\n _option[a.RefDocLabel] = e.TemplateName;\r\n } else if (a.RefDocLabel === \"InformationRequestDate\") {\r\n _option[a.RefDocLabel] = e.RequestDate;\r\n _option[a.RefDocLabel] = e.RequestDate;\r\n } else if (a.RefDocLabel === \"InformationCompany\") {\r\n _option[a.RefDocLabel] = e.CompanyName;\r\n _option[a.RefDocLabel] = e.CompanyName;\r\n } else if (a.RefDocLabel === \"InformationBranch\") {\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n } else if (a.RefDocLabel === \"InformationSubject\") {\r\n _option[a.RefDocLabel] = e.MemoSubject;\r\n _option[a.RefDocLabel] = e.MemoSubject;\r\n } else if (a.RefDocLabel === \"InformationProject\") {\r\n _option[a.RefDocLabel] = \"\";\r\n _option[a.RefDocLabel] = \"\";\r\n }\r\n });\r\n });\r\n });\r\n refOptions.push(_option);\r\n });\r\n tempAtt.mergecolumnrefdoc.forEach((e: any) => {\r\n refColumn.push({\r\n field: e.RefDocLabel,\r\n headerEn: e.RefDocLabel,\r\n });\r\n });\r\n setRefDocOptions([...refOptions]);\r\n setRefTableColumn([...refColumn]);\r\n } else if (tempAtt.refdoc.docDataSource === \"Report\") {\r\n if (refReportDetail?.dt_Report?.length > 0) {\r\n let refColumn: any[] = [];\r\n tempAtt.mergecolumnrefdoc.forEach((e: any) => {\r\n refColumn.push({\r\n field: e.RefDocLabel,\r\n headerEn: e.RefDocLabel,\r\n });\r\n });\r\n setRefTableColumn([...refColumn]);\r\n\r\n setRefDocOptions([...refReportDetail.dt_Report]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n setRefTableLoading(false);\r\n }\r\n\r\n const onImportExcel = async (dataJson: any) => {\r\n const response = await fetch(\"api/Excel/ImportData\", {\r\n method: \"POST\",\r\n body: dataJson,\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return response;\r\n };\r\n\r\n const onExportExcel = async (dataJson: any) => {\r\n try {\r\n console.log(dataJson);\r\n\r\n const fileName = \"export.xlsx\";\r\n const response = await fetch(\"api/Excel/ExportData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\", // Ensure correct content type\r\n },\r\n body: JSON.stringify({\r\n mAdvance: dataJson,\r\n }),\r\n })\r\n .then((response) => response.blob())\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(new Blob([blob]));\r\n const a = document.createElement(\"a\");\r\n a.href = url;\r\n a.download = fileName;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n })\r\n .catch((error) => console.error(\"Download failed:\", error));\r\n } catch (error) {\r\n console.error(\"Error:\", error);\r\n }\r\n };\r\n\r\n const handleFileUpload = async (file: any) => {\r\n try {\r\n const uploadFile = new FormData();\r\n uploadFile.append(\"file\", file);\r\n const respone = await onImportExcel(uploadFile);\r\n if (respone) {\r\n putExcelToTable(respone);\r\n setExportFile(respone);\r\n }\r\n } catch (error: any) {\r\n console.error(error.message);\r\n }\r\n };\r\n\r\n const putExcelToTable = (resultData: any[]) => {\r\n const result = resultData.slice(1, resultData.length);\r\n\r\n let newRows = resultData.slice(1, resultData.length);\r\n confirm({\r\n title: \"Preview data\",\r\n icon: \"\",\r\n className: \"csv-confirm-modal\",\r\n content: (\r\n {\r\n if (e) {\r\n newRows = result.slice(1, newRows.length);\r\n } else {\r\n newRows = result;\r\n }\r\n }}\r\n />\r\n ),\r\n width: \"80%\",\r\n okButtonProps: {\r\n icon: ,\r\n className: \"confirm-btn ok\",\r\n style: { display: \"flex\", alignItems: \"center\" },\r\n },\r\n onOk() {\r\n // handleAddMultiRow(newRows);\r\n\r\n onChange({ ...layout, data: { row: returnToValue(newRows) } });\r\n },\r\n cancelButtonProps: {\r\n icon: ,\r\n type: \"ghost\",\r\n className: \"cancel\",\r\n style: { display: \"flex\", alignItems: \"center\" },\r\n },\r\n onCancel() {\r\n console.log(\"Cancel\");\r\n },\r\n });\r\n };\r\n\r\n const getTable = () => {\r\n try {\r\n if (typeof memoDetail.template_desc !== \"string\") {\r\n const table = memoDetail.template_desc?.items[rowIdx].layout[colIdx];\r\n\r\n if (table) {\r\n let addRowValue: any = [];\r\n for (let i = 0; i < _data.length; i++) {\r\n const _eiei = _data[i];\r\n let gogo = [];\r\n for (let j = 0; j < layout.template.attribute.column.length; j++) {\r\n const column = layout.template.attribute.column[j];\r\n gogo.push({ value: _eiei[column.label] });\r\n }\r\n addRowValue.push(gogo);\r\n }\r\n table.data.row = addRowValue;\r\n if (table.data.row) {\r\n onExportExcel(JSON.stringify(table));\r\n }\r\n }\r\n // memoDetail.template_desc?.items?.map((items: any) => {\r\n // items.layout.map((layout: any) => {\r\n // if (layout.template.type === \"tb\" ) {\r\n // const table = layout;\r\n // let addRowValue: any = [];\r\n // for (let i = 0; i < _data.length; i++) {\r\n // const _eiei = _data[i];\r\n // let gogo = [];\r\n // for (\r\n // let j = 0;\r\n // j < layout.template.attribute.column.length;\r\n // j++\r\n // ) {\r\n // const column = layout.template.attribute.column[j];\r\n // gogo.push({ value: _eiei[column.label] });\r\n // }\r\n // addRowValue.push(gogo);\r\n // }\r\n // table.data.row = addRowValue;\r\n // if (table.data.row) {\r\n // onExportExcel(JSON.stringify(table));\r\n // }\r\n // }\r\n // });\r\n // });\r\n }\r\n } catch (error) {\r\n console.error(\"error=>excelTable\", error);\r\n }\r\n };\r\n\r\n // beforeUpload={(file) => {\r\n // handleFileUpload(file);\r\n // return false; // Prevent automatic file upload\r\n // }}\r\n\r\n const menuClickHandler = (key: string) => {\r\n if (key === \"import\") {\r\n // Trigger file input click when Import is clicked\r\n const input = document.createElement(\"input\");\r\n input.type = \"file\";\r\n input.accept = \".xlsx\";\r\n input.onchange = (e: any) => {\r\n const file = e?.target?.files[0];\r\n if (file) {\r\n handleFileUpload(file);\r\n }\r\n };\r\n input.click();\r\n } else if (key === \"export\") {\r\n getTable();\r\n }\r\n };\r\n const menuItem = (\r\n {\r\n menuClickHandler(info.key);\r\n }}\r\n >\r\n }>\r\n
Import
\r\n
\r\n\r\n }>\r\n Export\r\n \r\n \r\n );\r\n\r\n return (\r\n <>\r\n
\r\n \r\n e.preventDefault()}\r\n style={{\r\n height: \"38px\",\r\n color: \"#ffffff\",\r\n fontSize: \"1em\",\r\n borderRadius: \"6px\",\r\n margin: \" 11px 11px 0px 0px\",\r\n justifyContent: \"center\",\r\n }}\r\n />\r\n \r\n )\r\n }\r\n />\r\n {/* {layout.template.type === \"tb\" && layout.template.canImport === \"Y\" && (\r\n {\r\n if (tableLoad) {\r\n setTableLoad(false);\r\n }\r\n }}\r\n >\r\n \r\n \r\n )} */}\r\n
\r\n {\r\n if (tableLoad) {\r\n setTableLoad(false);\r\n }\r\n }}\r\n >\r\n \r\n ) => {\r\n return (\r\n \r\n );\r\n },\r\n row: EditableRow,\r\n },\r\n }\r\n : {}\r\n }\r\n dataSource={_data}\r\n loading={tableLoad}\r\n columns={columns as ColumnTypes}\r\n rowClassName={() => \"editable-row\"}\r\n bordered\r\n id=\"table-control\"\r\n scroll={{ x: 1500 - 1000, y: 500 }}\r\n footer={\r\n () => {\r\n const haveInput = tableFooter?.find((e: any) => e.useValue);\r\n console.log(haveInput);\r\n\r\n return tableFooter.map((footer: any) => {\r\n return (\r\n \r\n );\r\n });\r\n }\r\n // () => {\r\n // return (\r\n // <>\r\n // \r\n // \r\n // {tableFooter?.length > 0 &&\r\n // _data.length > 0 &&\r\n // tableFooter.map((row: any) => {\r\n // try {\r\n // return (\r\n // \r\n // \r\n // {row.label + \" : \"}\r\n // \r\n // \r\n // e.label === row.label\r\n // ).value\r\n // }\r\n // onBlur={(e) => {\r\n // if (Number(e.target.value)) {\r\n // console.log(Number(e.target.value));\r\n // if (tableFooter.length > 0) {\r\n // console.log(\r\n // tableFooter.map((e: any) => {\r\n // if (e.label === row.label) {\r\n // e.value = Number(e.target.value);\r\n // }\r\n // return e;\r\n // })\r\n // );\r\n\r\n // setTableFooter(\r\n // tableFooter.map((e: any) => {\r\n // if (e.label === row.label) {\r\n // e.value = Number(e.target.value);\r\n // }\r\n // return e;\r\n // })\r\n // );\r\n // }\r\n // }\r\n // }}\r\n // />\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // );\r\n // } catch (error) {\r\n // console.log(\"table=>error\", error);\r\n // }\r\n // })}\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n }\r\n summary={(pageData: any) => {\r\n try {\r\n const cols = layout?.template?.attribute?.column;\r\n let isShowSum = false;\r\n cols.forEach((col: any, idx: any) => {\r\n if (col.control.template.attribute.isSummary === \"Y\") {\r\n isShowSum = true;\r\n return;\r\n }\r\n });\r\n if (isShowSum && _data.length > 0 && summary) {\r\n return (\r\n \r\n \r\n \r\n Total\r\n \r\n {cols.map((col: any, idx: any) => {\r\n if (col.control.template.attribute.isSummary !== \"Y\") {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n {!isNaN(\r\n Number(summary[col.control.template.label])\r\n )\r\n ? Number(\r\n Number(\r\n summary[col.control.template.label]\r\n )\r\n ).toLocaleString(\"en-US\", {\r\n minimumFractionDigits: Number(\r\n col.control.template.attribute.decimal\r\n ),\r\n })\r\n : \"0.00\"}\r\n \r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n \r\n );\r\n }\r\n } catch (error) {\r\n console.log(\"table=>sum=>\", error);\r\n }\r\n }}\r\n />\r\n\r\n \r\n\r\n {\r\n try {\r\n if (_selectedData?.length > 0) {\r\n let newRows: any[] = [];\r\n _selectedData?.map((e: any, idx: number) => {\r\n let newRow = createRowCopy(idx);\r\n layout.template.attribute.mergecolumnrefdoc.forEach(\r\n (col: any) => {\r\n newRow[col.ColumnLabel] = e[col.RefDocLabel];\r\n }\r\n );\r\n newRows.push(newRow);\r\n });\r\n handleAddMultiRow(newRows);\r\n // setSelectedData([]);\r\n setRefTableDialogVisible(false);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>ref=>\", error);\r\n }\r\n }}\r\n // customFooter={() => {\r\n // return (\r\n // {\r\n // try {\r\n // if (selectedData?.length > 0) {\r\n // let newRows: any[] = [];\r\n // selectedData?.map((e: any, idx: number) => {\r\n // let newRow = createRowCopy(idx);\r\n // layout.template.attribute.mergecolumnrefdoc.forEach(\r\n // (col: any) => {\r\n // newRow[col.ColumnLabel] = e[col.RefDocLabel];\r\n // }\r\n // );\r\n // newRows.push(newRow);\r\n // });\r\n // handleAddMultiRow(newRows);\r\n // setSelectedData([]);\r\n // setRefTableDialogVisible(false);\r\n // }\r\n // } catch (error) {\r\n // console.log(\"table=>ref=>\", error);\r\n // }\r\n // }}\r\n // style={{\r\n // height: \"38px\",\r\n // background: \" #28a745\",\r\n // border: \"1px solid #28a745\",\r\n // color: \"#ffffff\",\r\n // fontSize: \"13px\",\r\n // borderRadius: \"6px\",\r\n // margin: \" 0px 11px 0px 0px\",\r\n // }}\r\n // />\r\n // );\r\n // }}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(TableComponent);\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport React, { useState } from \"react\";\r\n\r\ntype Props = {\r\n header: string;\r\n dataLength: number;\r\n isVisible: boolean;\r\n setIsVisible: (isVisible: boolean) => void;\r\n moveFunc: (key: number) => void;\r\n setLoading: (load: boolean) => void;\r\n};\r\n\r\nconst MoveToDialog = ({\r\n header,\r\n dataLength,\r\n isVisible,\r\n setLoading,\r\n setIsVisible,\r\n moveFunc,\r\n}: Props) => {\r\n const [moveValue, setMoveValue] = useState(1);\r\n const renderFooter = () => {\r\n return (\r\n
\r\n setIsVisible(false)}\r\n style={{ height: \"38px\" }}\r\n className=\"p-button-text\"\r\n />\r\n {\r\n setLoading(true);\r\n moveFunc(moveValue - 1);\r\n setIsVisible(false);\r\n }}\r\n style={{ height: \"38px\" }}\r\n autoFocus\r\n />\r\n
\r\n );\r\n };\r\n return (\r\n <>\r\n {\r\n setIsVisible(false);\r\n setMoveValue(1);\r\n }}\r\n footer={renderFooter}\r\n className=\"information-dialog\"\r\n draggable={false}\r\n closable={false}\r\n resizable={false}\r\n blockScroll\r\n >\r\n \r\n {\r\n if (e?.value <= dataLength) {\r\n setMoveValue(e?.value);\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MoveToDialog;\r\n","import { Input, InputNumber } from \"antd\";\r\nimport React, { useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\n\r\ntype Props = {\r\n footerAtt: any;\r\n onChange: (changeObj?: any) => void;\r\n haveInput: boolean;\r\n};\r\n\r\nconst TableFooter = ({ footerAtt, onChange, haveInput }: Props) => {\r\n const [inputValue, setInputValue] = useState(footerAtt.value);\r\n console.log(haveInput);\r\n\r\n return (\r\n
\r\n \r\n \r\n {footerAtt.label + \" : \"}\r\n \r\n {footerAtt.useValue ? (\r\n <>\r\n {\" \"}\r\n \r\n \r\n `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")\r\n }\r\n parser={(value) => value!.replace(/\\$\\s?|(,*)/g, \"\")}\r\n onChange={(e) => {\r\n setInputValue(e);\r\n }}\r\n onBlur={(e) => {\r\n if (Number(e.target.value)) {\r\n console.log(footerAtt);\r\n\r\n let dup = { ...footerAtt };\r\n dup.value = Number(e.target.value);\r\n onChange(dup);\r\n }\r\n }}\r\n controls={false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default TableFooter;\r\n","import { Checkbox, Table } from \"antd\";\r\nimport React, { useState } from \"react\";\r\n\r\ntype Props = {\r\n newRows: any[];\r\n columns: any[];\r\n onCheckedHeader: (checked: boolean) => void;\r\n};\r\n\r\nconst ExcelTablePreview = ({ newRows, columns, onCheckedHeader }: Props) => {\r\n const [sourceData, setsourceData] = useState(newRows);\r\n\r\n const [displayData, setDisplayData] = useState(newRows);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [current, setCurrent] = useState(1);\r\n console.log(\"newRows\", newRows);\r\n console.log(\"newRows=>columns\", columns);\r\n return (\r\n <>\r\n e.key !== \"operation\")}\r\n scroll={{ x: 1500 - 1000, y: 500 }}\r\n pagination={{\r\n pageSize: pageSize,\r\n onShowSizeChange: (current, size) => {\r\n setPageSize(size);\r\n },\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ExcelTablePreview;\r\n","export const GetApprovalsByMemoIDs = async (memoIds: number[]) => {\r\n const respone = await fetch(\"api/LineApprove/GetByMemoIds\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ memoIds: memoIds }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"service=>error\", err);\r\n });\r\n return respone;\r\n};\r\n","import { Form, Input, Tooltip } from \"antd\";\r\nimport React, { useEffect } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useWatch } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\ntype InputFormProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\nexport const AutoNumber: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n {\r\n console.log(\"rvs=>\" + template.label, field.value);\r\n console.log({ canEditDoc });\r\n\r\n // if (!field.value || field.value === \"\") {\r\n // field.value = template.attribute.default;\r\n // }\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n field.onChange(e);\r\n onControlChange(template, e.target.value);\r\n }}\r\n id={template.label.replaceAll(\" \", \"_\")}\r\n value={field.value ? field.value : undefined}\r\n readOnly={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n size={\"large\"}\r\n className=\"input-component\"\r\n placeholder={\r\n template.type !== \"an\"\r\n ? template.attribute.description\r\n : \"Auto Number\"\r\n }\r\n maxLength={\r\n parseInt(template.attribute.length) === 0\r\n ? undefined\r\n : parseInt(template.attribute.length)\r\n }\r\n // defaultValue={template.attribute.default}\r\n disabled={\r\n !canEditDoc ||\r\n template.attribute.readonly === \"Y\" ||\r\n template.type === \"an\"\r\n }\r\n // onBlur={(e) => onChange(e.target.value)}\r\n status={\r\n isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n \"error\"\r\n }\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n// export default InputControlComponent;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport \"./ButtonComponent.css\";\r\nimport { useHistory } from \"react-router\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport ComponentLabel from \"../ComponentLabel\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n col?: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n colText?: number;\r\n colAction?: number;\r\n documentNo: any;\r\n renderInTable?: boolean;\r\n errorValid?: any;\r\n statusMemoDetail?: boolean;\r\n name: any;\r\n control: any;\r\n canEditDoc: boolean;\r\n}\r\nexport default function ButtonComponent(props: Props) {\r\n const [url, setUrl] = useState(\"\");\r\n const history = useHistory();\r\n const [doc_no, setDoc_no] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (props.template.URL) {\r\n let newUrl: string = props.template.URL;\r\n newUrl = newUrl.replace(\"TP\", \"template\");\r\n if (newUrl.indexOf(\"/Memo?\") !== -1) {\r\n newUrl = newUrl.replace(\"/Memo?\", \"MemoID=0&\");\r\n }\r\n if (newUrl.startsWith(\"http\")) {\r\n newUrl = newUrl;\r\n } else if (!newUrl.startsWith(\"?\")) {\r\n newUrl = \"?\" + newUrl;\r\n }\r\n setUrl(newUrl);\r\n }\r\n }, []);\r\n\r\n // useEffect(() => {\r\n // const document_no = props.documentNo;\r\n\r\n // setDoc_no(document_no);\r\n // }, [props.requestDetail]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n {\r\n const temp = props.template;\r\n let str = \"\";\r\n if (props.documentNo !== \"Auto Generate\") {\r\n let param = \"\";\r\n let val = \"\";\r\n temp.attribute.items.map((item: any) => {\r\n item.layout.map((_layout: any) => {\r\n if (_layout.control.label === \"Document No\") {\r\n val = props.documentNo;\r\n }\r\n param = _layout.paramiter.value;\r\n });\r\n });\r\n str = \"&\" + param + \"=\" + val;\r\n if (!url.startsWith(\"https\")){\r\n window.open(`/Request${url + str}`, \"_blank\", \"noreferrer\");\r\n } else{\r\n window.open(`${url}`, \"_blank\",\"noreferrer\");\r\n }\r\n } else {\r\n confirmDialog({\r\n message: \"กรุณาบันทึกก่อนดำเนินการ\",\r\n header: \"Alert\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n rejectClassName: \"hide-component\",\r\n });\r\n }\r\n // console.log(`button=>/Request${url + str}`);\r\n }}\r\n />\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\n// import \"tinymce/tinymce\";\r\n// // import tinymce from \"tinymce/tinymce\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\nimport \"./EditorComponent.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { UploadTinyMce } from \"../../../Services/UploadFileService\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport ComponentLabel from \"../ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { log } from \"console\";\r\nimport { GetPort } from \"../../../Services/AttachFileService\";\r\n\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n colText: any;\r\n col?: any;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n errorValid?: any;\r\n statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n buttonType: any;\r\n canEditDoc: boolean;\r\n colAction: any;\r\n edFont?:any\r\n defaultFont?:any\r\n}\r\n\r\nexport const EditorComponent = (props: Props) => {\r\n const initialValues = {\r\n value: null,\r\n };\r\n const [contentEditor, setContentEditor] = useState(\r\n !props.data.value ? initialValues : props.data\r\n );\r\n \r\n const [loading, setLoading] = useState(true);\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n let _tinyURL = _userData.TinyURL;\r\n\r\n async function defaultValue() {\r\n if (props.data.value) {\r\n props.data.value = props.data.value\r\n .replace(/\\{/g, \"<\")\r\n .replace(/\\}/g, \">\")\r\n .replace(/\\'/g, \"\");\r\n setContentEditor((prevState: any) => ({\r\n ...prevState,\r\n value: props.data.value,\r\n }));\r\n } else {\r\n props.data.value = \"\";\r\n }\r\n }\r\n const handleEditorChange = (content: any, editor: any, onChange: any) => {\r\n onChange(content);\r\n function convertHtml(_comment: any) {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n {\r\n const _value =\r\n value?.replace(/\\{/g, \"<\").replace(/\\}/g, \">\").replace(/\\'/g, \"\") ||\r\n \"\";\r\n\r\n\r\n return (\r\n <>\r\n \r\n {props.template.attribute.readonly === \"Y\" ? (\r\n
\r\n ) : (\r\n {\r\n handleEditorChange(content, editor, onChange);\r\n }}\r\n />\r\n )}\r\n \r\n \r\n );\r\n }}\r\n name={props.name}\r\n rules={{\r\n required:\r\n props.template.attribute.require !== \"\" &&\r\n props.template.attribute.require === \"Y\" &&\r\n props.buttonType !== \"draft\" &&\r\n props.buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n }}\r\n control={props.control}\r\n />\r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\n\r\ninterface Props {\r\n key: any;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n}\r\n\r\nexport const EmptyComponent = (props: Props) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n

\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Form, Row } from \"react-bootstrap\";\r\nimport \"./ImageComponent.css\";\r\nimport { Image } from \"antd\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { RiDeleteBack2Line } from \"react-icons/ri\";\r\nimport { CgCloseR } from \"react-icons/cg\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\n\r\nimport { Controller } from \"react-hook-form\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\n\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n col?: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n renderInTable?: string;\r\n colText?: number;\r\n colAction?: number;\r\n errorValid?: string;\r\n statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n buttonType: string;\r\n canEditDoc: boolean;\r\n}\r\n\r\nexport default function ImageComponent(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = userData.SharepointSiteURL;\r\n let port = location.host === \"localhost:5001\" ? undefined : location.port;\r\n let _TinyURL =\r\n port !== undefined || \"\" ? userData.TinyURL + \":\" + port : userData.TinyURL;\r\n const initialValues = {\r\n value: null,\r\n };\r\n const [valueState, setValueState] = useState(\r\n props.data.value == null || undefined ? initialValues : props.data\r\n );\r\n const [fileType, setFileType] = useState(\"\");\r\n useEffect(() => {\r\n deFaultValue();\r\n }, []);\r\n\r\n const deFaultValue = async () => {\r\n if (props.template.fileType) {\r\n const myArray = props.template.fileType.split(\"*\");\r\n let mapData: any = [];\r\n for (let index = 1; index < myArray.length; index++) {\r\n myArray[index] = \".\" + myArray[index];\r\n mapData.push(myArray[index]);\r\n }\r\n setFileType(mapData.toString());\r\n }\r\n let _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n userData.TinyURL = userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n };\r\n async function onFileSelect(e: any, onChange: any) {\r\n if (e.target.files[0] !== null) {\r\n const files = e.target.files[0];\r\n var hasInvalidFiles = false;\r\n if (props.template?.fileType) {\r\n const myArray = props.template?.fileType.split(\"*\");\r\n for (let index = 1; index < myArray.length; index++) {\r\n if (files.name.endsWith(myArray[index])) {\r\n hasInvalidFiles = true;\r\n continue;\r\n }\r\n }\r\n }\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n userData.TinyURL = userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n if (!hasInvalidFiles) {\r\n toggleAlert({\r\n description: `Unsupported file selected.`,\r\n message: `File type warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: `Unsupported file selected.`,\r\n // life: 3000,\r\n // });\r\n setValueState((prevState: any) => ({\r\n ...prevState,\r\n value: null,\r\n }));\r\n e.target.value = null;\r\n return;\r\n }\r\n const formData = new FormData();\r\n var guid = \"imageControl\" + generateQuickGuid();\r\n formData.append(\"files\", files);\r\n formData.append(\"docSet\", guid);\r\n formData.append(\"actorID\", userData.employeeData.EmployeeId);\r\n var response = await UploadFileRenderControl(formData);\r\n console.log(\"im=>response\", { response });\r\n\r\n // setValueState((prevState: any) => ({\r\n // ...prevState,\r\n // value: response.data.pathUrl,\r\n // }));\r\n console.log(\"im=>\", replaceSpecialChar(response.data.pathUrl));\r\n onChange(replaceSpecialChar(response.data.pathUrl));\r\n // props.onChangeEditForm(\r\n // {\r\n // value: response.data.pathUrl,\r\n // },\r\n // props.rowIdx,\r\n // props.colIdx\r\n // );\r\n }\r\n }\r\n return (\r\n <>\r\n \r\n {\r\n console.log({ value });\r\n\r\n return (\r\n <>\r\n {\r\n console.log(\r\n `${_sharepointSiteURL}${value}`,\r\n \"ffffffffffffffff\"\r\n );\r\n console.log(\r\n `https://${userData.TinyURL}${value}`,\r\n \"ffffffffffffffff2\"\r\n );\r\n }}\r\n sm={props.col === undefined ? 12 : undefined}\r\n md={props.col === undefined ? props.colText : undefined}\r\n xs={props.col === undefined ? 12 : undefined}\r\n xl={props.col === undefined ? props.colText : undefined}\r\n className={\r\n props.renderInTable === undefined ? \"padding-controller\" : \"\"\r\n }\r\n >\r\n {props.renderInTable != \"renderInTable\" && (\r\n \r\n \r\n
\r\n \r\n {props.template.label}\r\n \r\n {props.template.attribute.require === \"Y\" && (\r\n \r\n *\r\n \r\n )}\r\n
\r\n

{props.template.alter}

\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {value ? (\r\n \r\n
\r\n \r\n
\r\n {props.template.attribute?.readonly === \"N\" && (\r\n
\r\n {\r\n setValueState((prevState: any) => ({\r\n ...prevState,\r\n value: null,\r\n }));\r\n onChange(null);\r\n // props.onChangeEditForm(\r\n // {\r\n // value: null,\r\n // },\r\n // props.rowIdx,\r\n // props.colIdx\r\n // );\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n ) : (\r\n <>\r\n {props.template.attribute?.readonly === \"N\" && (\r\n {\r\n console.log(fileType, \"fileType\");\r\n }}\r\n disabled={\r\n !props.canEditDoc ||\r\n props.template.attribute.readonly === \"Y\"\r\n }\r\n type=\"file\"\r\n onChange={(e: any) => {\r\n onFileSelect(e, onChange);\r\n }}\r\n // accept={fileType}\r\n className={`set-input-component-css form-control`}\r\n />\r\n )}\r\n \r\n File Formats Accepted {props.template?.fileType}\r\n \r\n \r\n )}\r\n\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[props.rowIdx] &&\r\n errors?.items[props.rowIdx].layout[props.colIdx] && (\r\n \r\n {props.template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n rules={{\r\n required:\r\n props.template.attribute.require === \"Y\" &&\r\n props.buttonType !== \"draft\" &&\r\n props.buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n }}\r\n name={props.name}\r\n control={props.control}\r\n // valueName={\"value\"}\r\n />\r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\n// import { SelectCheckboxComponent } from \"../../AntdControlComponent/MainCheckboxControl/SelectCheckboxComponent\";\r\nimport { CheckboxControlComponent } from \"../../AntdControlComponent/MainCheckboxControl/CheckboxComponent\";\r\nimport { SelectCheckboxControlComponent } from \"../../AntdControlComponent/MainCheckboxControl/SelectCheckboxComponent\";\r\nimport CheckboxDropdownComponent from \"./CheckboxDropdownComponent/CheckboxDropdownComponent\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n colText?: number;\r\n colAction?: number;\r\n renderInTable?: boolean;\r\n errorValid?: any;\r\n statusMemoDetail?: boolean;\r\n name: any;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n}\r\nexport default function MainCheckboxComponents(props: Props) {\r\n return (\r\n <>\r\n {props.template.attribute.display === \"dd\" && (\r\n \r\n )}\r\n {props.template.attribute.display !== \"dd\" && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport \"./HeadingComponent.css\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n}\r\nexport default function HeadingComponent(props: Props) {\r\n return (\r\n
\r\n

\r\n

{props.template.label}
\r\n
\r\n {props.template.alter != \"\" ? `${props.template.alter}` : \"\"}\r\n
\r\n

\r\n
\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n}\r\nexport default function HeadingComponent(props: Props) {\r\n return (\r\n <>\r\n {props.template.istext == \"Y\" ? (\r\n \r\n \r\n {props.template.textvalue}\r\n \r\n \r\n ) : (\r\n
{props.template.textvalue}
\r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport HeadingComponent from \"./HeadingComponent/HeadingComponent\";\r\nimport TextComponent from \"./TextComponent/TextComponent\";\r\n\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n}\r\nexport default function MainTextComponents(props: Props) {\r\n return (\r\n <>\r\n {props.template.istext === \"N\" && (\r\n \r\n )}\r\n {props.template.istext === \"Y\" && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React, { FC, useEffect, useState } from \"react\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller, useFieldArray } from \"react-hook-form\";\r\nimport {\r\n TemplateDescContext,\r\n TemplateDescContextProvider,\r\n} from \"../../../Context/TemplateDescContext\";\r\nimport { formatColumn } from \"../../../Helper/formatColumn\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { IAutoNumberAttibute } from \"../../../IRequestModel/IAutoNumberFormat\";\r\nimport { IMemoDetailModel } from \"../../../IRequestModel/IMemoDetailModel\";\r\nimport { AttachmentControlComponent } from \"../../AntdControlComponent/AttachmentUploadControlComponent/AttachmentComponent\";\r\nimport { AutoNumber } from \"../../AntdControlComponent/AutoNumberFix/AutoNumberFix\";\r\nimport { DatePickerControlComponent } from \"../../AntdControlComponent/DatePickerControlComponent/DatePickerControlComponent\";\r\nimport { InputControlComponent } from \"../../AntdControlComponent/InputControlComponent/InputControlComponent\";\r\nimport { InputNumberControlComponent } from \"../../AntdControlComponent/InputNumberControlComponent/InputNumberControlComponent\";\r\nimport { RadioControlComponent } from \"../../AntdControlComponent/RadioControlComponent/RadioControlComponent\";\r\nimport { SelectDropdownControlComponent } from \"../../AntdControlComponent/SelectDropdownContronComponent/SelectDropdownContronComponent\";\r\nimport TableComponent, {\r\n tableSelectOption,\r\n} from \"../../AntdControlComponent/TableComponent/TableComponent\";\r\nimport { InputTextAreaControlComponent } from \"../../AntdControlComponent/TextAreaControlComponent/InputTextAreaControlComponent\";\r\nimport ButtonComponent from \"../../ControlComponents/ButtonComponent/ButtonComponent\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { EditorComponent } from \"../../ControlComponents/EditorComponent/EditorComponent\";\r\nimport { EmptyComponent } from \"../../ControlComponents/EmptyComponent/EmptyComponent\";\r\nimport ImageComponent from \"../../ControlComponents/ImageComponent/ImageComponent\";\r\nimport MainCheckboxComponents from \"../../ControlComponents/MainCheckboxComponents/MainCheckboxComponents\";\r\nimport MainTextComponents from \"../../ControlComponents/MainTextComponents/MainTextComponents\";\r\nimport AutoNumberComponent from \"../../ControlComponents/NumberComponent/AutoNumberComponent/AutoNumberComponent\";\r\nimport RevisionNumberComponent from \"../../ControlComponents/NumberComponent/RevisionComponent/RevisionComponent\";\r\n\r\nimport $ from \"jquery\";\r\n\r\ntype Props = {\r\n nestIndex: number;\r\n control: any;\r\n register: any;\r\n documentNo: any;\r\n controlRef: any;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n controlUpdate: any;\r\n calCulateCorecontrol: any;\r\n isControlLoading: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n tableSummaries?: any[];\r\n updateTableSummaries: (tableTemp: any, value: any) => void;\r\n buttonType: string;\r\n autoNumFormat: IAutoNumberAttibute;\r\n onSubmit: any;\r\n memoDetail: IMemoDetailModel;\r\n tableOptions: tableSelectOption[];\r\n setTableOptions: (value: tableSelectOption[]) => void;\r\n actionAlert?: any;\r\n setButtonType: (data: any) => void;\r\n edFont?: any;\r\n defaultFont?: any;\r\n};\r\n\r\nconst Controls: FC = ({\r\n control,\r\n nestIndex,\r\n register,\r\n documentNo,\r\n controlRef,\r\n onControlChange,\r\n controlUpdate,\r\n autoNumFormat,\r\n isControlLoading,\r\n calCulateCorecontrol,\r\n memoDetail,\r\n onSubmit,\r\n canEditDoc,\r\n checkActionPage,\r\n tableSummaries,\r\n updateTableSummaries,\r\n buttonType,\r\n setButtonType,\r\n tableOptions,\r\n setTableOptions,\r\n actionAlert,\r\n edFont,\r\n defaultFont,\r\n}) => {\r\n const { toggleAlert } = useAlert();\r\n const { fields, remove, append, update } = useFieldArray({\r\n control,\r\n name: `items[${nestIndex}].layout`,\r\n });\r\n\r\n return (\r\n <>\r\n {/* */}\r\n {fields.map((layout: any, layoutIdx: number) => {\r\n // const layouts = fieldslayout;\r\n // console.log({ nestIndex, layoutIdx });\r\n const layoutLength = fields.length;\r\n const grid_size = 12 / layoutLength;\r\n let _colText = 0;\r\n let _colAction = 0;\r\n if (layoutLength == 1) {\r\n _colText =\r\n layout.template.type === \"tb\" || layout.template.type === \"ed\"\r\n ? 11\r\n : 2;\r\n _colAction = layout.template.type === \"ed\" ? 12 : 10;\r\n } else if (layoutLength == 2) {\r\n _colText = 2;\r\n _colAction = 4;\r\n }\r\n let _isCanEdit = canEditDoc;\r\n console.log(\"autoNumFormat=>\", autoNumFormat?.formats);\r\n console.log(\"layouttemplate=>\", layout.template.label);\r\n console.log(\"template=>\", layout.template);\r\n if (memoDetail.status !== \"New Request\") {\r\n autoNumFormat?.formats?.forEach((e) =>\r\n e.format.find((l) => {\r\n if (l.label === layout.template.label) _isCanEdit = false;\r\n })\r\n );\r\n }\r\n // if (findInAutoFormat) {\r\n // console.log(\"colAct=>\",findInAutoFormat);\r\n // if (memoDetail.status !== \"New Request\" && memoDetail.status === \"Draft\") {\r\n // canEditDoc = false;\r\n // // canEditDoc = true;\r\n // }\r\n // }\r\n if (layout.template.type === \"l\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"ed\" && layout.isShow !== false) {\r\n return (\r\n // \r\n <>\r\n \r\n \r\n \r\n // \r\n );\r\n } else if (layout.template.type === \"c\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"ta\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n // }\r\n } else if (layout.template.type === \"dd\" && layout.isShow !== false) {\r\n // incomeplete\r\n // console.log(\"canEditDoc=>\"+layout.label,canEditDoc);\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"cb\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"at\" && layout.isShow !== false) {\r\n return (\r\n \r\n // \r\n );\r\n } else if (layout.template.type === \"t\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"r\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"tb\" && layout.isShow !== false) {\r\n // check all column isShow == false\r\n // if isHideAllColumn == true then hide all table and label but save data to api on submit\r\n const columns = layout.template.attribute.column as Array<{\r\n isShow: boolean | undefined;\r\n }>;\r\n const isHideAllColumn = !columns\r\n .map((o) => (o.isShow == undefined ? true : o.isShow))\r\n .reduce((pre, cur) => pre || cur);\r\n\r\n return (\r\n <>\r\n {/* {!isHideAllColumn && (\r\n \r\n )} */}\r\n \r\n \r\n );\r\n } else if (layout.template.type === \"d\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"bt\" && layout.isShow !== false) {\r\n //incomplete\r\n\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"an\" && layout.isShow !== false) {\r\n //incomplete\r\n\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"rvs\" && layout.isShow !== false) {\r\n // incomplete\r\n // setRvsPosition({ rowIdx: i, colIdx: idx });\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"im\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (\r\n layout.template.type === \"em\" ||\r\n Object.keys(layout.template).length === 0\r\n ) {\r\n console.log({ layout });\r\n\r\n return (\r\n \r\n );\r\n }\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(Controls);\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect } from \"react\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\nimport Field from \"../Input/Field\";\r\n\r\ninterface Props {\r\n setClassNameProps?: any;\r\n setClassNameSpanProps?: any;\r\n setStyleDivProps?: any;\r\n setStyleProps?: any;\r\n onChangeProps?: any;\r\n valueProps?: any;\r\n disabledProps?: any;\r\n placeholderProps?: any;\r\n setIconProps?: any;\r\n onClickProps?: any;\r\n readOnlyProps?: any;\r\n setControllerId?: any;\r\n autoFocusProps?: any;\r\n fieldProps?: any;\r\n typeProps?: any;\r\n acceptProps?: any;\r\n keyProps?: any;\r\n onBlurProps?: any;\r\n onFocusProps?: any;\r\n}\r\n\r\nexport const InputTextComponents = (props: Props) => {\r\n return (\r\n
\r\n \r\n {props.setIconProps !== undefined ? props.setIconProps : null}\r\n props.onChangeProps(e.target.value, props.keyProps)}\r\n value={props.valueProps}\r\n \r\n disabled={props.disabledProps}\r\n placeholder={props.placeholderProps}\r\n onClick={props.onClickProps}\r\n readOnly={props.readOnlyProps}\r\n // id={props.setControllerId}\r\n // testing if id shows up in the inspect in the right format\r\n id={replaceSpecialChar(props.valueProps??\"\")}\r\n // value={replaceSpecialChar(props.valueProps??\"\")}\r\n autoFocus={props.autoFocusProps}\r\n type={props.typeProps}\r\n accept={props.acceptProps}\r\n onBlur={props.onBlurProps}\r\n onFocus={props.onFocusProps}\r\n\r\n // onBlur={(e) =>\r\n // props.onBlurProps\r\n // ? props.onBlurProps(e.target.value, props.keyProps)\r\n // : undefined\r\n // }\r\n {...props.fieldProps}\r\n />\r\n \r\n
\r\n );\r\n};\r\n","export const generateQuickGuid = () => {\r\n return (\r\n Math.random().toString(36).substring(2, 15) +\r\n Math.random().toString(36).substring(2, 15)\r\n );\r\n};\r\n","export const GetButtonMemoByMemoId = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetButtonMemoByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const ActionMemoPage = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/ActionMemoPage\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n return err;\r\n });\r\n\r\n return respone;\r\n};\r\nexport const GetMemoDetailById = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoDetailById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetMemoDetail = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoDetail\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"GetMemoDetail=>err\", err);\r\n });\r\n return respone;\r\n};\r\nexport const GetMemoById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetMemoById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetAttachmentFilesByMemoId = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetAttachmentFilesByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetMemoDetailOnlyById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetMemoDetailOnlyById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetRefDocTemp = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetRefDocTemp\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetAllMemo = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetRefDocFormTable = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetRefDocFormTable\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetMemoHistoryDetail = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoHistoryDetail\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const SetCheckAcces = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/SetCheckAccess\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n // window.location.href = \"/UnAuthorize\";\r\n });\r\n\r\n return respone;\r\n};\r\nexport const MAdvanceFormByMemoIds = async (memoIds: number[]) => {\r\n const response = await fetch(\"api/Memo/MAdvancveFormByMemoIds\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(memoIds),\r\n }) \r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n console.log(\"myres\",response);\r\nreturn response;\r\n};\r\n\r\nexport const ValidateDelegate = async (dataJson: any) => {\r\n const respone = await fetch(\"api/DelegateList/ValidateDelegate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"ValidateDelegate=>err\", err);\r\n });\r\n return respone;\r\n};\r\n// const formatDateTimeDataReQuest = (value: any) => {\r\n// if (value != \"\") {\r\n// let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n// const NewDate = moment(someDateString).format(\"DD/MM/YYYY HH:mm:ss\");\r\n// return NewDate;\r\n// } else {\r\n// const NewDate = \"\";\r\n// return NewDate;\r\n// }\r\n// };\r\n\r\n// function setdefaultMemoDetail(data: any) {\r\n// let _memo: IMemoDetailModel = data.requestDetails.memoDetail;\r\n// const _listFormName = data.requestDetails.listFormNames[0];\r\n// const newDate = new Date();\r\n// let _dataSetInformation: any = {\r\n// request_date: formatDateTimeDataReQuest(newDate),\r\n// created_date: formatDateTimeDataReQuest(newDate),\r\n// status:\r\n// location.pathname === \"/PreviewTemplate\"\r\n// ? _listFormName.status\r\n// : \"New Request\",\r\n// modified_date: formatDateTimeDataReQuest(newDate),\r\n// modified_by: window.localStorage.getItem(\"employeeId\"),\r\n// created_by: window.localStorage.getItem(\"employeeId\"),\r\n// report_lang: _listFormName.ReportLang,\r\n// auto_approve_when: _listFormName.AutoApproveWhen,\r\n// GroupTemplateName: _listFormName.GroupTemplateName,\r\n// template_id: _listFormName.TemplateId,\r\n// template_name: _listFormName.TemplateName,\r\n// template_code: _listFormName.DocumentCode,\r\n// document_no: \"Auto Generate\",\r\n// template_detail: uuidv4().replace(/-/g, \"\"),\r\n// waiting_for: window.localStorage.getItem(\"nameTh\"),\r\n// waiting_for_id: window.localStorage.getItem(\"employeeId\"),\r\n// };\r\n// }\r\n","import moment from \"moment\";\r\n\r\nexport const GetDashboardEndpoint = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const GetDashboardKeyEndpoint = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n const resultCard = result.map((_data: any) => {\r\n const [keyConfig] = _data.split(\"||\");\r\n return keyConfig;\r\n });\r\n return resultCard;\r\n};\r\n\r\nexport const GetDashboardEndpoints = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return result;\r\n};\r\n\r\nexport const GetDashboardFilterStatus = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/FilterStatus\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const GetDashboardAdvancedFilter = async () => {\r\n const configuration = await fetch(\r\n \"/api/Configuration/Dashboard/AdvancedFilter\"\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n let data: any = [];\r\n configuration.map((_data: any) => {\r\n const [keyConfig, typeConfig, displayConfig] = _data.split(\"||\");\r\n data.push({\r\n name: keyConfig,\r\n type: typeConfig,\r\n display: displayConfig,\r\n });\r\n return data;\r\n });\r\n return data;\r\n};\r\nexport const GetDashboardFilterGroupBy = async () => {\r\n const configuration = await fetch(\r\n \"/api/Configuration/Dashboard/FilterGroupBy\"\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n let data: any = [];\r\n configuration.map((_data: any) => {\r\n const [keyConfig, typeConfig, displayConfig] = _data.split(\"||\");\r\n data.push({\r\n name: keyConfig,\r\n type: typeConfig,\r\n display: displayConfig,\r\n });\r\n return data;\r\n });\r\n return data;\r\n};\r\n\r\nexport const GetDashboardStatusCard = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/StatusCard\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const LoginConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/LoginConfiguration\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const getAzureConfig = async () => {\r\n const result = await fetch(\"/api/Configuration/AzureConfig\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const GetDashboardDefaultFilterConFig = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/DefaultFilter\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const ADTitleConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/ADTitle\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const getDateDeployConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/getDateDeploy\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const getVersion = () : Promise<{apiVersion: string, webVersion: string}>=> fetch(\"/api/Configuration/getVersion\")\r\n .then((response) => response.json())\r\n\r\nexport const getUploadFileSettingConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/UploadFileSetting\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const CannotDowLoadPDFDefaultConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/CannotDowLoadPDFDefault\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport {\r\n AiOutlineReconciliation,\r\n AiOutlineSetting,\r\n AiOutlineUnorderedList,\r\n} from \"react-icons/ai\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { RiTodoLine } from \"react-icons/ri\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\n// import Popover from \"react-bootstrap/Popover\";\r\nimport { Popover } from \"antd\";\r\nimport \"./ButtonNavigation.css\";\r\nimport { log } from \"console\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\ninterface Props {\r\n data: any[];\r\n setActive: any;\r\n}\r\n\r\nexport const ButtonNavigation: React.FC = ({ data, setActive }) => {\r\n const [menuButton, setMenuButton] = useState({});\r\n const [sortableMenu, setSortableMenu] = useState([]);\r\n const [toggleState, setToggleState] = useState([]);\r\n const { t } = useTranslation([\"translation\"]);\r\n const history = useHistory();\r\n const location = useLocation();\r\n useMemo(() => {\r\n let result = data.reduce(function (r, a) {\r\n r[a.GroupMenu] = r[a.GroupMenu] || [];\r\n r[a.GroupMenu].push(a);\r\n return r;\r\n }, Object.create(null));\r\n\r\n const { Request, ...newResult } = result;\r\n\r\n let _res: any = {};\r\n for (const [key, value] of Object.entries(newResult)) {\r\n const uniqueArray = newResult[key].filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value.SubMenu);\r\n return (\r\n index ===\r\n newResult[key].findIndex((obj: any) => {\r\n return JSON.stringify(obj.SubMenu) === _value;\r\n })\r\n );\r\n });\r\n _res[key] = uniqueArray;\r\n }\r\n\r\n let sortableMenu = [];\r\n for (var menu in _res) {\r\n sortableMenu.push([menu, _res[menu]]);\r\n }\r\n\r\n sortableMenu.sort(function (a, b) {\r\n return a[1][0].OrderGroup - b[1][0].OrderGroup;\r\n });\r\n setSortableMenu([...sortableMenu]);\r\n\r\n setMenuButton({ ..._res });\r\n const toggleArray: any = [];\r\n Object.entries(menuButton).forEach(([key, value]) => {\r\n toggleArray.push(false);\r\n });\r\n console.log(\"toggleArray\", toggleArray);\r\n setToggleState([...toggleArray]);\r\n }, [data]);\r\n useEffect(() => {\r\n console.log(\"nev=>menuButton\", menuButton);\r\n console.log(\"nev=>location\", location);\r\n\r\n console.log(\"nev=>toggleState\", toggleState);\r\n\r\n Object.entries(menuButton).forEach(([key, value], _idx) => {\r\n if (location.pathname.indexOf(key) !== -1) {\r\n console.log(\"nev=>value\", value[0].OrderGroup);\r\n\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n _toggleState[value[0].OrderGroup - 1] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n\r\n if (location.pathname !== `/${key}`) {\r\n value.forEach((_data: any) => {\r\n console.log(\"_data\", _data);\r\n if (\r\n location.pathname === `/${_data.GroupMenu}` ||\r\n location.pathname.indexOf(_data.Url) !== -1\r\n ) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n\r\n _toggleState[value[0].OrderGroup - 1] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n });\r\n }\r\n });\r\n }, [location.pathname, menuButton]);\r\n useEffect(() => {\r\n const _toggleState = toggleState;\r\n if (location.pathname === \"/Request\") {\r\n setActive(true);\r\n }\r\n const res_every = _toggleState.every((b) => b === false);\r\n for (let i = 0; i < _toggleState.length; i++) {\r\n const state = _toggleState[i];\r\n if (state === true) {\r\n setActive(true);\r\n }\r\n }\r\n if (res_every && location.pathname !== \"/Request\") {\r\n setActive(false);\r\n }\r\n }, [toggleState]);\r\n const mapIcon = (key: string) => {\r\n if (key === \"Worklist\") {\r\n return ;\r\n }\r\n if (key === \"Report\") {\r\n return ;\r\n }\r\n if (key === \"Settings\") {\r\n return ;\r\n }\r\n if (key === \"List and Documents\") {\r\n return ;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {sortableMenu.map((menu, _idx) => {\r\n return (\r\n
\r\n {menu[1].length > 0 &&\r\n menu[1].every(\r\n (_data: any) => _data.SubMenu !== null && _data.SubMenu !== \"\"\r\n ) ? (\r\n (\r\n <>\r\n {menu[1]\r\n .sort(\r\n (a: any, b: any) =>\r\n Number(a.OrderSub) - Number(b.OrderSub)\r\n )\r\n .map((e: any, idx: any) => {\r\n const subMenu = replaceSpecialChar(e.SubMenu);\r\n\r\n return (\r\n <>\r\n {e.SubMenu !== \"\" &&\r\n e.SubMenu !== null &&\r\n e.GroupMenu !== \"Settings\" ? (\r\n e.InternalUrl !== 0 ? (\r\n
\r\n \r\n

\r\n {t(e.SubMenu)}\r\n

\r\n \r\n
\r\n ) : (\r\n
\r\n {\r\n // history.push(e.Url);\r\n window.open(e.Url);\r\n }}\r\n target=\"_blank\"\r\n >\r\n {t(e.SubMenu)}\r\n \r\n
\r\n )\r\n ) : e.InternalUrl !== 0 ? (\r\n
\r\n \r\n

\r\n {t(e.SubMenu)}\r\n

\r\n \r\n
\r\n ) : (\r\n
\r\n {\r\n const _url = e.Url;\r\n window.open(_url, \"blank\");\r\n }}\r\n >\r\n {t(e.SubMenu)}\r\n

\r\n
\r\n )}\r\n \r\n );\r\n })}\r\n \r\n )}\r\n trigger=\"hover\"\r\n >\r\n \r\n {mapIcon(menu[0])}\r\n

{t(menu[0])}

\r\n \r\n \r\n ) : menu[1]?.length < 2 &&\r\n `${menu[1][0]?.Url}` &&\r\n menu[1][0]?.InternalUrl === 0 ? (\r\n \r\n {mapIcon(menu[0])}\r\n

{t(menu[0])}

\r\n \r\n ) : (\r\n \r\n {mapIcon(menu[0])}\r\n

{t(menu[0])}

\r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n );\r\n};\r\n","import Cookies from \"universal-cookie\";\r\nconst cookies = new Cookies();\r\nexport type Auth = {\r\n isAuthenticated?: boolean;\r\n redirectPath: string;\r\n};\r\n\r\nexport const initialSession: Auth = {\r\n redirectPath: \"/login\",\r\n isAuthenticated: cookies.get(\"GuidVerify\") ? true : false,\r\n};\r\n","import React from \"react\";\r\nimport { createContext, useContext, useState } from \"react\";\r\nimport { initialSession, Auth } from \"../IRequestModel/IAuthModel\";\r\n\r\nexport const SessionContext = createContext<[Auth, (session: Auth) => void]>([\r\n initialSession,\r\n () => {},\r\n]);\r\nexport const useSessionContext = () => useContext(SessionContext);\r\n\r\nexport const SessionContextProvider: React.FC = (props) => {\r\n const [sessionState, setSessionState] = useState(initialSession);\r\n const defaultSessionContext: [Auth, typeof setSessionState] = [\r\n sessionState,\r\n setSessionState,\r\n ];\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","export const GetAllEmployee = async (opts?: {Scopes?: string, IsActiveOnly?: boolean}) => {\r\n let qs = new URLSearchParams({\r\n [\"Scopes\"]: opts?.Scopes || \"\",\r\n [\"IsActiveOnly\"]: (opts?.IsActiveOnly || true).toString()\r\n });\r\n const respone = await fetch(\"api/Employee/GetAll?\" + qs.toString())\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone?.filter((e: any) => e.IsActive === true);\r\n};\r\n\r\n/**\r\n * ฟังก์ชันอยู่ระหว่างพิจารณาปรับใช้งาน\r\n */\r\nexport const GetEmployeeByUserPrincipalName = async (dataEmp :any) => {\r\n try{\r\n dataEmp.UserPrincipalName = JSON.parse(localStorage.getItem(\"userData\")!).employeeData.Email;\r\n const respone = await fetch(\"api/Employee/GetEmployeeByUserPrincipalName\",{\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataEmp),\r\n })\r\n return await respone.json();\r\n\r\n // if (Array.isArray(data?.data)) {\r\n // // ใช้ filter กับข้อมูลของ Employee ได้เนื่องจาก data.data เป็นอาร์เรย์\r\n // const activeEmployees = data.data.filter((e: any) => e.IsActive === true);\r\n // return activeEmployees;\r\n // } else {\r\n // console.error(\"Invalid employee data returned from GetByIdEmployee\");\r\n // return null;\r\n // }\r\n } catch (error) {\r\n console.log(\"emp=>err\", error);\r\n return error;\r\n }\r\n};\r\n\r\nexport const UpdateEmployee = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Employee/UpdateData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"emp=>err\", err);\r\n return err;\r\n });\r\n return respone;\r\n};\r\n\r\nexport const UpdateSignature = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Employee/UpdateSignature\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"emp=>err\", err);\r\n return err;\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetUserData = async (empData: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n empData.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Employee/GetById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(empData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n return err;\r\n });\r\n\r\n return respone;\r\n};\r\n","export const GetAllPosition = async () => {\r\n const respone = await fetch(\"api/Position/AllPositionList\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone.filter((e: any) => e.IsActive === true);\r\n};\r\n\r\nexport const AddPosition = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Position/AddData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const UpdatePosition = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Position/UpdatePosition\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n });\r\n\r\n return respone;\r\n};\r\n","export const GetDepartment = async () => {\r\n const respone = await fetch(\"api/Department/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const UpdateDepartment = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const data = {\r\n name: \"Department\",\r\n model: JSON.stringify(dataJson),\r\n };\r\n const respone = await fetch(\"api/Department/AddDepartment\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n });\r\n return respone;\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport \"./EmployeeDialog.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog, ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport {\r\n GetAllEmployee,\r\n UpdateEmployee,\r\n UpdateSignature,\r\n} from \"../../../Services/EmployeeService\";\r\nimport { GetAllPosition } from \"../../../Services/PositionService\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport { FiSave, FiX } from \"react-icons/fi\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n setMainLoading?: (bool: boolean) => void;\r\n setMainDialogVisible: (...args: any) => void;\r\n}\r\n\r\nexport const EmployeeDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [formSelectedPosition, setFormSelectedPosition] = useState([]);\r\n const [formSelectedDepartment, setFormSelectedDepartment] = useState([]);\r\n const [formSelectedDivision, setFormSelectedDivision] = useState([]);\r\n const [positionList, setPositionList] = useState([]);\r\n const [deptList, setDeptList] = useState([]);\r\n const [divList, setDivtList] = useState([]);\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [report_To, setReport_To] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [uploadFile, setUploadFile] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n fetchPosition();\r\n fetchDataEmployee();\r\n fetchDivision();\r\n fetchDepartment();\r\n\r\n if (\r\n !isEmptyObject(props.formData) ||\r\n props.dialogHeader === \"Edit Profile\"\r\n ) {\r\n const rowDataPosition = {\r\n PositionId: props.formData?.PositionId,\r\n NameTh: props.formData?.PositionNameTh,\r\n NameEn: props.formData?.PositionNameEn,\r\n };\r\n const rowDataDept = {\r\n DepartmentId: props.formData?.DepartmentId,\r\n NameTh: props.formData?.DepartmentNameTh,\r\n NameEn: props.formData?.DepartmentNameEn,\r\n };\r\n setFormSelectedPosition(rowDataPosition);\r\n setFormSelectedDepartment(rowDataDept);\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n const rowDataPosition = {\r\n PositionId: props.formData?.PositionId,\r\n NameTh: props.formData?.PositionNameTh,\r\n NameEn: props.formData?.PositionNameEn,\r\n };\r\n const rowDataDept = {\r\n DepartmentId: props.formData?.DepartmentId,\r\n NameTh: props.formData?.DepartmentNameTh,\r\n NameEn: props.formData?.DepartmentNameEn,\r\n };\r\n setFormSelectedPosition(rowDataPosition);\r\n setFormSelectedDepartment(rowDataDept);\r\n fetchPosition();\r\n fetchDataEmployee();\r\n\r\n fetchDepartment();\r\n fetchDivision();\r\n setLoading(false);\r\n } else {\r\n setFormSelectedPosition(null);\r\n setFormSelectedDepartment(null);\r\n setUploadFile(undefined);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n let selectedEmp = {\r\n EmployeeId: Number,\r\n EmployeeCode: String,\r\n NameTh: String,\r\n Report_ToNameEn: String,\r\n };\r\n\r\n _dataEmployee.map((e: any) => {\r\n if (e.EmployeeId === Number(props.formData?.ReportToEmpCode)) {\r\n selectedEmp.EmployeeId = e.EmployeeId;\r\n selectedEmp.EmployeeCode = e.EmployeeCode;\r\n selectedEmp.NameTh = e.NameTh;\r\n selectedEmp.Report_ToNameEn = e.NameEn;\r\n setReport_To(selectedEmp);\r\n }\r\n });\r\n\r\n setDataEmployeeList(_dataEmployee);\r\n setSearchData(_dataEmployee);\r\n }\r\n\r\n async function fetchPosition() {\r\n let _dataPosition = await GetAllPosition();\r\n\r\n let newList: any = [];\r\n\r\n for (let i = 0; i < _dataPosition.length; i++) {\r\n let positionList = {\r\n PositionId: Number,\r\n NameTh: String,\r\n NameEn: String,\r\n };\r\n\r\n positionList.PositionId = _dataPosition[i].PositionId;\r\n positionList.NameTh = _dataPosition[i].NameTh;\r\n positionList.NameEn = _dataPosition[i].NameEn;\r\n\r\n if (positionList.PositionId === props.formData?.PositionId) {\r\n setFormSelectedPosition(positionList);\r\n }\r\n\r\n newList.push(positionList);\r\n }\r\n\r\n setPositionList(newList);\r\n }\r\n\r\n async function fetchDepartment() {\r\n let _dataOrgranize = await GetDepartment();\r\n\r\n let newList: any = [];\r\n\r\n for (let i = 0; i < _dataOrgranize.length; i++) {\r\n let deptList = {\r\n DepartmentId: Number,\r\n NameTh: String,\r\n NameEn: String,\r\n };\r\n\r\n deptList.DepartmentId = _dataOrgranize[i].DepartmentId;\r\n deptList.NameTh = _dataOrgranize[i].NameTh;\r\n deptList.NameEn = _dataOrgranize[i].NameEn;\r\n if (deptList.DepartmentId === props.formData?.DepartmentId) {\r\n setFormSelectedDepartment(deptList);\r\n }\r\n newList.push(deptList);\r\n }\r\n\r\n setDeptList(newList);\r\n }\r\n\r\n async function fetchDivision() {\r\n let _dataDivision = await GetAllDynamic(\"Division/GetAll\", undefined);\r\n\r\n let newList: any = [];\r\n\r\n for (let i = 0; i < _dataDivision.length; i++) {\r\n let divtList = {\r\n DivisionId: Number,\r\n NameTh: String,\r\n NameEn: String,\r\n };\r\n\r\n divtList.DivisionId = _dataDivision[i].DivisionId;\r\n divtList.NameTh = _dataDivision[i].NameTh;\r\n divtList.NameEn = _dataDivision[i].NameEn;\r\n if (divtList.DivisionId === props.formData?.DivisionId) {\r\n setFormSelectedDepartment(divtList);\r\n }\r\n newList.push(divtList);\r\n }\r\n\r\n setDivtList(newList);\r\n }\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && props.mainDialogVisible) {\r\n if (\r\n data.Position.PositionId !== undefined &&\r\n data.Department.DepartmentId !== undefined\r\n ) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\"\r\n ? \"Add\" + \" Confirmation\"\r\n : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n let formData: any = {};\r\n let isCodeDup = false;\r\n let isEmailDup = false;\r\n let empDup: any;\r\n dataEmployeeList.forEach((e: any) => {\r\n if (e.EmployeeId !== props.formData?.EmployeeId) {\r\n if (e.EmployeeCode === data.EmployeeCode) {\r\n isCodeDup = true;\r\n empDup = e;\r\n return;\r\n } else if (e.Email === data.Email) {\r\n isEmailDup = true;\r\n empDup = e;\r\n return;\r\n }\r\n }\r\n });\r\n if (!isCodeDup && !isEmailDup) {\r\n if (action === \"add\") {\r\n formData.EmployeeId = 0;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n formData.IsActive = data.IsActive;\r\n formData.PositionId = data.Position.PositionId;\r\n formData.PositionNameTh = data.Position.NameTh;\r\n formData.PositionNameEn = data.Position.NameEn;\r\n formData.DepartmentId = data.Department.DepartmentId;\r\n formData.DepartmentNameTh = data.Department.NameTh;\r\n formData.DepartmentNameEn = data.Department.NameEn;\r\n formData.DivisionId = data.Division.DivisionId;\r\n formData.DivisionNameTh = data.Division.NameTh;\r\n formData.DivisionNameEn = data.Division.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = report_To?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n props.dialogHeader !== \"Edit Profile\"\r\n ? data.IsActive !== undefined && data.IsActive !== \"\"\r\n ? (formData.IsActive = data.IsActive)\r\n : (formData.IsActive = false)\r\n : (formData.IsActive = true);\r\n formData.PositionId = data.Position.PositionId;\r\n formData.PositionNameTh = data.Position.NameTh;\r\n formData.PositionNameEn = data.Position.NameEn;\r\n formData.DepartmentId = data.Department.DepartmentId;\r\n formData.DepartmentNameTh = data.Department.NameTh;\r\n formData.DepartmentNameEn = data.Department.NameEn;\r\n formData.DivisionId = data.Division.DivisionId;\r\n formData.DivisionNameTh = data.Division.NameTh;\r\n formData.DivisionNameEn = data.Division.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = report_To?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n\r\n let result = await UpdateEmployee(formData);\r\n if (uploadFile !== undefined) {\r\n formData.SignPicPath = uploadFile;\r\n result = await UpdateSignature(formData);\r\n }\r\n\r\n if (result.result === \"success\") {\r\n console.log({ formData, result });\r\n\r\n if (props.dialogHeader === \"Edit Profile\") {\r\n let newUser = userData;\r\n newUser = formData;\r\n setUserData(newUser);\r\n } else {\r\n if (props.setTableData !== undefined) {\r\n let newData: any[] = await GetAllDynamic(\r\n \"Employee/GetAll\",\r\n undefined\r\n );\r\n\r\n if (newData.length > 0) {\r\n props.setTableData(newData);\r\n }\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n }\r\n props.setMainDialogVisible(false);\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n // props.toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: result.errorMessage || result.title,\r\n // life: 5000,\r\n // });\r\n }\r\n } else {\r\n if (isCodeDup) {\r\n toggleAlert({\r\n description: `This EmployeeCode ${empDup.EmployeeCode} is duplicate with ${empDup.NameEn}`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail:\r\n // \"This EmployeeCode \" +\r\n // empDup.EmployeeCode +\r\n // \" is duplicate with \" +\r\n // empDup.NameEn,\r\n // life: 5000,\r\n // });\r\n }\r\n if (isEmailDup) {\r\n toggleAlert({\r\n description: `This email ${empDup.Email} is duplicate with ${empDup.NameEn}`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail:\r\n // \"This email \" +\r\n // empDup.Email +\r\n // \" is duplicate with \" +\r\n // empDup.NameEn,\r\n // life: 5000,\r\n // });\r\n }\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n const onRowSelect = (data: any) => {\r\n setReport_To(data);\r\n setSubDialogVisible(false);\r\n setLoading(false);\r\n };\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e.target.value;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (userData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n const onFileSelect = (e: any) => {\r\n getBase64(e.target.files[0]);\r\n };\r\n\r\n function getBase64(file: any) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n setUploadFile(reader.result);\r\n };\r\n reader.onerror = function (error) {\r\n // console.log(\"Error: \", error);\r\n };\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n \r\n
\r\n {\" \"}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"EmployeeCode\")}\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Username\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Email\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {props.dialogHeader !== \"Edit Profile\" && (\r\n <>\r\n {\" \"}\r\n
\r\n \r\n
\r\n
\r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
{\" \"}\r\n \r\n )}\r\n\r\n
\r\n \r\n
\r\n
\r\n (\r\n setFormSelectedPosition(e.value)}\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"Position\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n setFormSelectedDepartment(e.value)}\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"Department\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n setFormSelectedDivision(e.value)}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n
\r\n \r\n {!isEmptyObject(report_To) && (\r\n {\r\n setReport_To(null);\r\n }}\r\n style={{\r\n height: \"38px\",\r\n }}\r\n />\r\n )}\r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {getFormErrorMessage(\"ReportToEmpCode\")}\r\n
\r\n {action !== \"add\" && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n
\r\n (\r\n
\r\n \r\n {\r\n setUploadFile(\"\");\r\n }}\r\n style={{\r\n height: \"38px\",\r\n borderRadius: \"0 6px 6px 0\",\r\n }}\r\n />\r\n
\r\n )}\r\n >\r\n {uploadFile !== undefined ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n )}\r\n
\r\n
\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n \r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n","const ignore = ['favorite', 'memoid'];\r\nexport const clearLocalStorageOnLogout = () => {\r\n Object.keys(localStorage).forEach((key) =>\r\n !ignore.includes(key) ? localStorage.removeItem(key) : \"\"\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { Collapse } from \"antd\";\r\nimport { IoLogOutSharp, IoMailOutline, IoPersonOutline } from \"react-icons/io5\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { BsFillFileEarmarkPersonFill, BsFillPersonFill } from \"react-icons/bs\";\r\nimport { EmployeeDialog } from \"../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\ninterface Props {\r\n data: any;\r\n closeDropdown: () => void;\r\n}\r\n\r\nexport const ButtonNavigationDropdown = (props: Props) => {\r\n const [menuButton, setMenuButton] = useState({});\r\n const [toggleState, setToggleState] = useState([]);\r\n const [nameUser, setNameUser] = useState(\"\");\r\n const [shortNameUser, setShortNameUser] = useState(\"\");\r\n const [emailUser, setEmailUser] = useState(\"\");\r\n const [empData, setEmpData] = useState({});\r\n const [mainDialogVisible, setMainDialogVisible] = useState(false);\r\n const cookies = new Cookies();\r\n const [sessionState, setSessionState] = useSessionContext();\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n if (empData !== null) {\r\n let name = empData.employeeData.NameEn || \"\";\r\n let email = empData.employeeData.Email || \"\";\r\n const fullName: any[] | [\"\", \"\"] = name.split(\" \");\r\n let firstName = \"\";\r\n let lastName = \"\";\r\n for (let i = 0; i < fullName.length; i++) {\r\n if (i === 0) {\r\n firstName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n if (i === 1) {\r\n lastName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n }\r\n\r\n setEmailUser(email);\r\n setShortNameUser(firstName + lastName);\r\n setNameUser(name);\r\n setEmpData(empData.employeeData);\r\n }\r\n }, [sessionState.isAuthenticated]);\r\n useEffect(() => {\r\n let result = props.data.reduce(function (r: any, a: any) {\r\n r[a.GroupMenu] = r[a.GroupMenu] || [];\r\n r[a.GroupMenu].push(a);\r\n return r;\r\n }, Object.create(null));\r\n\r\n const { Request, ...newResult } = result;\r\n let _res: any = {};\r\n for (const [key, value] of Object.entries(newResult)) {\r\n const uniqueArray = newResult[key].filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value.SubMenu);\r\n return (\r\n index ===\r\n newResult[key].findIndex((obj: any) => {\r\n return JSON.stringify(obj.SubMenu) === _value;\r\n })\r\n );\r\n });\r\n _res[key] = uniqueArray;\r\n }\r\n\r\n setMenuButton(_res);\r\n const toggleArray: any = [];\r\n Object.entries(menuButton).forEach(([key, value]) => {\r\n toggleArray.push(false);\r\n });\r\n\r\n setToggleState([...toggleArray]);\r\n }, [props.data]);\r\n const { Panel } = Collapse;\r\n const location = useLocation();\r\n const history = useHistory();\r\n useEffect(() => {\r\n Object.entries(menuButton).forEach(([key, value], _idx) => {\r\n if (location.pathname === `/${key}`) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n _toggleState[_idx] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n if (location.pathname !== `/${key}`) {\r\n value.forEach((_data: any) => {\r\n if (location.pathname === `${_data.Url}`) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n _toggleState[_idx] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n });\r\n }\r\n if (location.pathname === `/Request`) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n setToggleState([..._toggleState]);\r\n }\r\n });\r\n }, [location.pathname, menuButton]);\r\n const userPopupContent = () => {\r\n return (\r\n console.log(window.location.href)}\r\n >\r\n
\r\n
\r\n \r\n

{nameUser}

\r\n
\r\n
\r\n \r\n

{emailUser}

\r\n
\r\n
\r\n
\r\n {\r\n setMainDialogVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

Profile

\r\n
\r\n {\r\n // setVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n \r\n \r\n
\r\n

{t(\"Change Password\")}

\r\n \r\n {\r\n cookies.remove(\"GuidVerify\");\r\n\r\n clearLocalStorageOnLogout();\r\n // setPopOverClick(false);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n // signOutClickHandler(instance);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Logout\")}

\r\n \r\n \r\n \r\n );\r\n };\r\n const mapButton = () => {\r\n const map: any = [];\r\n map.push(\r\n <>\r\n \r\n
\r\n
\r\n

{shortNameUser}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n {nameUser}\r\n

\r\n
\r\n
\r\n \r\n

\r\n {emailUser}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n key=\"sadsad\"\r\n >\r\n
\r\n {\r\n setMainDialogVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Profile\")}

\r\n
\r\n {\r\n // setVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n \r\n \r\n
\r\n

{t(\"Change Password\")}

\r\n \r\n {\r\n cookies.remove(\"GuidVerify\");\r\n clearLocalStorageOnLogout();\r\n // setPopOverClick(false);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n // signOutClickHandler(instance);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Logout\")}

\r\n \r\n \r\n \r\n \r\n );\r\n Object.entries(menuButton).forEach(([key, value], _idx) => {\r\n if (key !== \"Request\") {\r\n map.push(\r\n <>\r\n {value.length > 1 ? (\r\n \r\n {value.map((e: any, idx: any) => (\r\n {\r\n history.push(\r\n \"/Settings?name=\" + e.Url.replaceAll(\"/\", \"\")\r\n );\r\n props.closeDropdown();\r\n }}\r\n >\r\n {e.SubMenu}\r\n

\r\n ))}\r\n
\r\n ) : (\r\n {\r\n history.push(`${value[0].Url}`);\r\n props.closeDropdown();\r\n }}\r\n >\r\n

{key}

\r\n \r\n )}\r\n \r\n );\r\n }\r\n });\r\n\r\n return (\r\n // \r\n // \r\n // {/* {key} */}\r\n // {/* \r\n // {value.map((e: any, idx: any) => (\r\n // {\r\n // history.push(e.Url);\r\n // props.closeDropdown();\r\n // }}\r\n // >\r\n // {e.SubMenu}\r\n //

\r\n // ))}\r\n //
*/}\r\n // {map}\r\n //
\r\n //
\r\n {map}\r\n );\r\n };\r\n return (\r\n
\r\n \r\n {props.data.length > 0 ? mapButton() : null}\r\n
\r\n );\r\n};\r\n","import { INavigationMenu } from \"../IRequestModel/INavagationModel\";\r\n\r\nexport const GetNavbarMenu = async (\r\n email: string\r\n): Promise => {\r\n const respone: INavigationMenu[] = await fetch(\r\n \"api/NavbarMenu/GetAllByEmail\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ mail: email }),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((navBarData: INavigationMenu[]) => {\r\n if (navBarData) {\r\n console.log({ navBarData });\r\n\r\n const formatNav = navBarData.map((menu) => {\r\n return {\r\n ...menu,\r\n GroupMenu:\r\n menu.GroupMenu.charAt(0).toUpperCase() + menu.GroupMenu.slice(1),\r\n };\r\n });\r\n return formatNav;\r\n }\r\n return [];\r\n });\r\n\r\n return respone;\r\n};\r\n","import { Modal } from \"antd\";\r\nimport React from \"react\";\r\nimport {\r\n Control,\r\n Controller,\r\n FieldError,\r\n UseFormHandleSubmit,\r\n} from \"react-hook-form\";\r\nimport { IoMdClose } from \"react-icons/io\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ntype ChangePasswordModalProps = {\r\n visible: boolean;\r\n handleCancel: () => void;\r\n onSubmitPassword: (data: any) => void;\r\n handleSubmit: UseFormHandleSubmit<{\r\n current_password: string;\r\n new_password: string;\r\n comfirm_password: string;\r\n }>;\r\n control: Control<\r\n {\r\n current_password: string;\r\n new_password: string;\r\n comfirm_password: string;\r\n },\r\n object\r\n >;\r\n errors: {\r\n current_password?: FieldError | undefined;\r\n new_password?: FieldError | undefined;\r\n comfirm_password?: FieldError | undefined;\r\n };\r\n isPasswordCompared: boolean;\r\n};\r\n\r\nconst ChangePasswordModal: React.FC = ({\r\n visible,\r\n handleCancel,\r\n onSubmitPassword,\r\n handleSubmit,\r\n control,\r\n errors,\r\n isPasswordCompared,\r\n}) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n }\r\n className=\"modal-password\"\r\n width={800}\r\n visible={visible}\r\n footer={false}\r\n onCancel={handleCancel}\r\n >\r\n
\r\n
\r\n

{t(\"Change Password\")}

\r\n
\r\n
\r\n
\r\n

\r\n Current Password : *\r\n

\r\n

รหัสผ่านปัจจุบัน :

\r\n
\r\n (\r\n
\r\n \r\n {errors.current_password && (\r\n

กรุณากรอกข้อมูล

\r\n )}\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n

\r\n New Password : *\r\n

\r\n

รหัสผ่านใหม่ :

\r\n
\r\n (\r\n
\r\n \r\n {errors.new_password && (\r\n

กรุณากรอกข้อมูล

\r\n )}\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n

\r\n Confirm Password : *\r\n

\r\n

ยืนยันรหัสผ่าน :

\r\n
\r\n (\r\n
\r\n \r\n {errors.comfirm_password && (\r\n

กรุณากรอกข้อมูล

\r\n )}\r\n {!isPasswordCompared && (\r\n

กรุณากรอกรหัสผ่านให้ตรงกัน

\r\n )}\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n \r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ChangePasswordModal;\r\n","export const CheckAppSetting = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckAppSetting\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CheckCanEditProfile = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckCanEditProfile\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CheckCanAdminEditCompletedMemo = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckCanAdminEditCompletedMemo\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"app=>CheckCanAdminEditCompletedMemo\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const CheckAutoReport = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckAutoReport\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CheckCanDownloadPdf = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckCanDownloadPdf\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import { Col, Row } from \"antd\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState, FC, useRef } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave, FiX } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { ProgressBar } from \"primereact/progressbar\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport {\r\n GetAllEmployee,\r\n GetUserData,\r\n UpdateEmployee,\r\n UpdateSignature,\r\n} from \"../../../Services/EmployeeService\";\r\nimport { GetAllPosition } from \"../../../Services/PositionService\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { IUserModel } from \"../../../IRequestModel/IUserModel\";\r\nimport { CheckCanEditProfile } from \"../../../Services/AppSettingService\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ntype Props = {\r\n rowData: any;\r\n dialogHeader: string;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n tableData?: any;\r\n setMainLoading?: (bool: boolean) => void;\r\n setTableData?: (items: any) => void;\r\n canEditOnlySignature?: boolean;\r\n isEditProfile?: boolean;\r\n};\r\n\r\ninterface IEmployeeForm {\r\n EmployeeId: number;\r\n EmployeeCode: string;\r\n Username: string;\r\n NameTh: string;\r\n NameEn: string;\r\n Email: string;\r\n IsActive: boolean;\r\n PositionId: number;\r\n PositionNameTh: string;\r\n PositionNameEn: string;\r\n DepartmentId: number;\r\n DepartmentNameTh: string;\r\n DepartmentNameEn: string;\r\n DivisionId: number;\r\n DivisionNameTh: string;\r\n DivisionNameEn: string;\r\n ReportToEmpCode: string;\r\n SignPicPath: string;\r\n Lang: string;\r\n AccountCode: string;\r\n AccountName: string;\r\n DefaultLang: string;\r\n CreatedDate: string;\r\n CreatedBy: string;\r\n ModifiedDate: string;\r\n ModifiedBy: string;\r\n ADTitle: string;\r\n}\r\n\r\nconst EmployeeDialogFix: FC = ({\r\n rowData,\r\n dialogHeader,\r\n mainDialogVisible,\r\n toggleMainDialog,\r\n tableData,\r\n setTableData,\r\n setMainLoading,\r\n canEditOnlySignature,\r\n isEditProfile,\r\n}) => {\r\n const [positionList, setPositionList] = useState([]);\r\n const [departmentList, setDepartmentList] = useState([]);\r\n const [divList, setDivtList] = useState([]);\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [action, setAction] = useState(\"\");\r\n const [uploadFile, setUploadFile] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [editProfileSetting, setEditProfileSetting] = useState();\r\n const toast = useRef(null);\r\n const { i18n } = useTranslation([\"translation\"]);\r\n const { toggleAlert } = useAlert();\r\n\r\n let defaultValues: IEmployeeForm = {\r\n EmployeeId: 0,\r\n EmployeeCode: \"\",\r\n Username: \"\",\r\n NameTh: \"\",\r\n NameEn: \"\",\r\n Email: \"\",\r\n IsActive: true,\r\n PositionId: 0,\r\n PositionNameTh: \"\",\r\n PositionNameEn: \"\",\r\n DepartmentId: 0,\r\n DepartmentNameTh: \"\",\r\n DepartmentNameEn: \"\",\r\n DivisionId: 0,\r\n DivisionNameTh: \"\",\r\n DivisionNameEn: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: \"\",\r\n Lang: \"\",\r\n AccountCode: \"\",\r\n AccountName: \"\",\r\n DefaultLang: \"\",\r\n CreatedDate: \"\",\r\n CreatedBy: \"\",\r\n ModifiedDate: \"\",\r\n ModifiedBy: \"\",\r\n ADTitle: \"\",\r\n };\r\n\r\n const {\r\n control,\r\n register,\r\n handleSubmit,\r\n getValues,\r\n watch,\r\n reset,\r\n setValue,\r\n setError,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues,\r\n });\r\n\r\n useEffect(() => {\r\n if (mainDialogVisible) {\r\n if (dialogHeader === \"Edit Profile\") {\r\n setAction(\"edit\");\r\n } else if (dialogHeader === \"Employee\") {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n } else {\r\n setUploadFile(undefined);\r\n }\r\n }, [mainDialogVisible]);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const acceptSave = async (data: IEmployeeForm) => {\r\n if (data.Lang === \"EN\") {\r\n i18n.changeLanguage(\"en\");\r\n } else {\r\n i18n.changeLanguage(\"th\");\r\n }\r\n localStorage.setItem(\"lang\", data.Lang);\r\n let formData: any = {};\r\n let isCodeDup = false;\r\n let isEmailDup = false;\r\n let empDup: any;\r\n dataEmployeeList.forEach((e: any) => {\r\n if (e.EmployeeId !== rowData.EmployeeId) {\r\n if (e.EmployeeCode === data.EmployeeCode) {\r\n isCodeDup = true;\r\n empDup = e;\r\n return;\r\n } else if (e.Email === data.Email) {\r\n isEmailDup = true;\r\n empDup = e;\r\n return;\r\n }\r\n }\r\n });\r\n\r\n const selectedPosition = positionList.find(\r\n (pos: any) => pos.PositionId === data.PositionId\r\n );\r\n const selectedDept = departmentList.find(\r\n (dept: any) => dept.DepartmentId === data.DepartmentId\r\n );\r\n const selectedDiv = divList.find(\r\n (div: any) => div.DivisionId === data.DivisionId\r\n );\r\n const selectedEmp = dataEmployeeList.find(\r\n (emp: any) => emp.EmployeeId == data.ReportToEmpCode\r\n );\r\n\r\n // if (!isCodeDup && !isEmailDup) {\r\n if (action === \"add\") {\r\n formData.EmployeeId = 0;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n formData.IsActive = data.IsActive;\r\n formData.PositionId = selectedPosition?.PositionId;\r\n formData.PositionNameTh = selectedPosition?.NameTh;\r\n formData.PositionNameEn = selectedPosition?.NameEn;\r\n formData.DepartmentId = selectedDept?.DepartmentId;\r\n formData.DepartmentNameTh = selectedDept?.NameTh;\r\n formData.DepartmentNameEn = selectedDept?.NameEn;\r\n formData.DivisionId = selectedDiv?.DivisionId;\r\n formData.DivisionNameTh = selectedDiv?.NameTh;\r\n formData.DivisionNameEn = selectedDiv?.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = selectedEmp?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = rowData;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n dialogHeader !== \"Edit Profile\"\r\n ? data.IsActive !== undefined && data.IsActive.toString() !== \"\"\r\n ? (formData.IsActive = data.IsActive)\r\n : (formData.IsActive = false)\r\n : (formData.IsActive = true);\r\n formData.PositionId = selectedPosition?.PositionId;\r\n formData.PositionNameTh = selectedPosition?.NameTh;\r\n formData.PositionNameEn = selectedPosition?.NameEn;\r\n formData.DepartmentId = selectedDept?.DepartmentId;\r\n formData.DepartmentNameTh = selectedDept?.NameTh;\r\n formData.DepartmentNameEn = selectedDept?.NameEn;\r\n formData.DivisionId = selectedDiv?.DivisionId;\r\n formData.DivisionNameTh = selectedDiv?.NameTh;\r\n formData.DivisionNameEn = selectedDiv?.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = selectedEmp?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n\r\n let result = await UpdateEmployee(formData);\r\n if (uploadFile !== undefined) {\r\n formData.SignPicPath = uploadFile;\r\n result = await UpdateSignature(formData);\r\n }\r\n\r\n if (result.result === \"success\") {\r\n if (dialogHeader === \"Edit Profile\") {\r\n let newUser: IUserModel = formData;\r\n setUserData({\r\n ...newUser,\r\n });\r\n } else {\r\n if (setTableData !== undefined) {\r\n let newData: any[] = await GetAllDynamic(\r\n \"Employee/GetAll\",\r\n undefined\r\n );\r\n if (newData.length > 0) {\r\n setTableData(newData);\r\n }\r\n // if (props.setMainLoading !== undefined) {\r\n // setMainLoading(false);\r\n // }\r\n setLoading(false);\r\n }\r\n }\r\n\r\n toggleMainDialog(false, \"save\");\r\n } else {\r\n // if (props.setMainLoading !== undefined) {\r\n // setMainLoading(false);\r\n // }\r\n toggleAlert({\r\n description: `${result.errorMessage || result.title}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: result.errorMessage || result.title,\r\n // life: 5000,\r\n // });\r\n setLoading(false);\r\n }\r\n // } else {\r\n // if (isCodeDup) {\r\n // toggleAlert({\r\n // description: `This EmployeeCode ${empDup.EmployeeCode} is duplicate with ${empDup.NameEn}`,\r\n // message: `Dupplicate field warning.`,\r\n // type: \"warning\",\r\n // });\r\n // }\r\n // if (isEmailDup) {\r\n // toggleAlert({\r\n // description: `This EmployeeCode ${empDup.Email} is duplicate with ${empDup.NameEn}`,\r\n // message: `Dupplicate field warning.`,\r\n // type: \"warning\",\r\n // });\r\n // }\r\n // setLoading(false);\r\n // }\r\n };\r\n\r\n const onSubmit = (data: IEmployeeForm) => {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-success table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n // if (dialogHeader !== \"Edit Profile\") {\r\n // toggleMainLoading();\r\n // } else {\r\n setLoading(true);\r\n // }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n\r\n fetchDepartment();\r\n fetchDivision();\r\n fetchDataEmployee();\r\n getSetting();\r\n fetchPosition();\r\n }, []);\r\n\r\n const getSetting = async () => {\r\n const canEditProfile = await CheckCanEditProfile();\r\n\r\n setEditProfileSetting(canEditProfile);\r\n };\r\n\r\n async function fetchPosition() {\r\n let _dataPosition = await GetAllDynamic(\"Position/GetAll\", undefined);\r\n if (_dataPosition) {\r\n _dataPosition.map((e: any) => {\r\n if (!e.CompanyCode) {\r\n e.NameEn = e.NameEn;\r\n e.NameTh = e.NameTh;\r\n return e;\r\n }\r\n e.NameEn = e.CompanyCode + \" : \" + e.NameEn;\r\n e.NameTh = e.CompanyCode + \" : \" + e.NameTh;\r\n return e;\r\n });\r\n }\r\n\r\n setPositionList(_dataPosition?.filter((e: any) => e.IsActive));\r\n }\r\n async function fetchDataEmployee() {\r\n if (rowData.EmployeeId) {\r\n let data = {\r\n EmployeeId: rowData.EmployeeId.toString(),\r\n };\r\n let user = await GetUserData(data);\r\n if (user) {\r\n reset(user);\r\n }\r\n }\r\n let _dataEmployee = await GetAllEmployee({ Scopes: \"name,email,org\" });\r\n if (_dataEmployee) {\r\n setDataEmployeeList(_dataEmployee?.filter((e: any) => e.IsActive));\r\n }\r\n setLoading(false);\r\n }\r\n\r\n async function fetchDepartment() {\r\n let _dataOrgranize = await GetDepartment();\r\n _dataOrgranize.map((e: any) => {\r\n if (!e.CompanyCode) {\r\n e.NameEn = e.NameEn;\r\n e.NameTh = e.NameTh;\r\n return e;\r\n }\r\n e.NameEn = e.CompanyCode + \" : \" + e.NameEn;\r\n e.NameTh = e.CompanyCode + \" : \" + e.NameTh;\r\n return e;\r\n });\r\n\r\n setDepartmentList(_dataOrgranize?.filter((e: any) => e.IsActive));\r\n }\r\n async function fetchDivision() {\r\n try {\r\n let _dataDivision: any[] = await GetAllDynamic(\r\n \"Division/GetAll\",\r\n undefined\r\n );\r\n _dataDivision.map((e: any) => {\r\n if (!e.DivisionCode) {\r\n e.NameEn = e.NameEn;\r\n e.NameTh = e.NameTh;\r\n return e;\r\n }\r\n e.NameEn = e.DivisionCode + \" : \" + e.NameEn;\r\n e.NameTh = e.DivisionCode + \" : \" + e.NameTh;\r\n return e;\r\n });\r\n setDivtList([..._dataDivision?.filter((e: any) => e.IsActive)]);\r\n } catch (error) {}\r\n }\r\n\r\n const getReportTo = (currentCode: any) => {\r\n let val = \"\";\r\n if (currentCode) {\r\n const emp = dataEmployeeList.find(\r\n (e: any) => e.EmployeeId == currentCode\r\n );\r\n if (emp) {\r\n if (userData?.Lang === \"EN\") {\r\n val = emp.NameEn;\r\n } else {\r\n val = emp.NameTh;\r\n }\r\n }\r\n }\r\n return val;\r\n };\r\n\r\n const onFileSelect = (e: any) => {\r\n if (e.target.files[0].size <= Number(editProfileSetting?.limitFileSize)) {\r\n getBase64(e.target.files[0]);\r\n } else {\r\n toggleAlert({\r\n description: `File upload limit 20 MB (20,971,520 bytes) per file.`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"File upload limit 20 MB (20,971,520 bytes) per file.\",\r\n // life: 5000,\r\n // });\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: string) => {\r\n const errs: any = control._formState.errors;\r\n if (errs[name]) {\r\n if (errs[name].type === \"required\") {\r\n return {errs[name].message};\r\n } else if (\r\n !!errs[name].message &&\r\n errs[name].message.match(/^customPosition:/)\r\n ) {\r\n return (\r\n \r\n {errs[name].message?.replace(\"customPosition:\", \"\")}\r\n \r\n );\r\n } else if (\r\n !!errs[name].message &&\r\n errs[name].message.match(/^customDepartment:/)\r\n ) {\r\n return (\r\n \r\n {errs[name].message?.replace(\"customDepartment:\", \"\")}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {\"This \" + name + \" is not the correct pattern\"}\r\n \r\n );\r\n }\r\n }\r\n };\r\n\r\n function getBase64(file: any) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n setUploadFile(reader.result);\r\n };\r\n reader.onerror = function (error) {};\r\n }\r\n\r\n return (\r\n
\r\n \r\n {\r\n if (toggleMainDialog) {\r\n toggleMainDialog(false, \"close\");\r\n }\r\n }}\r\n draggable={false}\r\n blockScroll\r\n >\r\n <>\r\n {loading ? (\r\n \r\n ) : (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"EmployeeCode\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Username\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Email\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !control._getWatch(field.name),\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n return (\r\n pos.PositionId === field.value\r\n )}\r\n onChange={(e: any) => {\r\n if (e.value) {\r\n field.onChange(e.value.PositionId);\r\n } else {\r\n field.onChange(null);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !control._getWatch(field.name),\r\n })}\r\n />\r\n );\r\n }}\r\n />\r\n {getFormErrorMessage(\"PositionId\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n return (\r\n dept.DepartmentId === field.value\r\n )}\r\n onChange={(e: any) => {\r\n if (e.value) {\r\n field.onChange(e.value.DepartmentId);\r\n } else {\r\n field.onChange(null);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !control._getWatch(field.name),\r\n })}\r\n />\r\n );\r\n }}\r\n />\r\n {getFormErrorMessage(\"DepartmentId\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n div.DivisionId === field.value\r\n )}\r\n onChange={(e: any) => {\r\n if (e.value) {\r\n field.onChange(e.value.DivisionId);\r\n } else {\r\n field.onChange(null);\r\n }\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n
\r\n \r\n {control._getWatch(field.name) && (\r\n {\r\n setValue(\"ReportToEmpCode\", \"\");\r\n }}\r\n disabled={\r\n canEditOnlySignature\r\n ? canEditOnlySignature\r\n : undefined\r\n }\r\n style={{\r\n height: \"38px\",\r\n }}\r\n />\r\n )}\r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n
\r\n \r\n {\r\n setUploadFile(\"\");\r\n setValue(\"SignPicPath\", \"\");\r\n }}\r\n style={{\r\n width: \"38px\",\r\n height: \"38px\",\r\n borderRadius: \"0 6px 6px 0\",\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {uploadFile && uploadFile !== \"\" ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n confirmDialog({\r\n message: \"Are you sure you want to cancel this action?\",\r\n header: \"Cancel Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n reset();\r\n toggleMainDialog(false, \"close\");\r\n },\r\n });\r\n }}\r\n type={\"button\"}\r\n className=\"button-cancle\"\r\n >\r\n \r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n {\r\n setValue(\"ReportToEmpCode\", e.EmployeeId.toString());\r\n setSubDialogVisible(false);\r\n }}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={subDialogVisible}\r\n setDialogVisible={setSubDialogVisible}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default EmployeeDialogFix;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { BsList } from \"react-icons/bs\";\r\nimport { ButtonNavigation } from \"../ButtonNav/ButtonNavigation\";\r\nimport { ButtonNavigationDropdown } from \"../ButtonNav/ButtonNavigationDropdown\";\r\n// import { Dropdown } from \"react-bootstrap\";\r\n// import { useGoogleAuth, useGoogleUser } from \"react-gapi-auth2\";\r\n\r\n// import WolfLogo from \"../../assets/WOLF_lite_logo.png\";\r\nimport WolfLogo from \"../../assets/wolfLogo.png\";\r\nimport { useLocation, useHistory, useRouteMatch } from \"react-router-dom\";\r\nimport { IoMailOutline, IoPersonOutline } from \"react-icons/io5\";\r\nimport { FaKey } from \"react-icons/fa\";\r\nimport \"./NavigationBar.css\";\r\nimport { Dropdown } from \"antd\";\r\nimport { Popover, Modal } from \"antd\";\r\nimport { IoLogOutSharp } from \"react-icons/io5\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { GetNavbarMenu } from \"../../Services/NavBarMenuService\";\r\nimport { BsFillPersonFill } from \"react-icons/bs\";\r\nimport { EmployeeDialog } from \"../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { useMsal, useIsAuthenticated } from \"@azure/msal-react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { LoginConfiguration } from \"../../Services/ConfigurationService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport ChangePasswordModal from \"./ChangePasswordModal\";\r\nimport { IChangePasswordRequest } from \"../../IRequestModel/IChangePasswordModel\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { INavigationMenu } from \"../../IRequestModel/INavagationModel\";\r\nimport EmployeeDialogFix from \"../SettingDialogComponents/EmployeeDialog/EmployeeDialogFixed\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\n\r\nexport const NavigationBar = (props: Props) => {\r\n const { toggleAlert } = useAlert();\r\n const [userData, setUserData] = useUserContext();\r\n const [navigationMenu, setNavigationMenu] = useState([]);\r\n const [toggleDropdown, setToggleDropdown] = useState(false);\r\n const [popOverClick, setPopOverClick] = useState(false);\r\n const [popOverHover, setPopOverHover] = useState(false);\r\n const [showNav, setShowNav] = useState(false);\r\n const [nameUser, setNameUser] = useState(\"\");\r\n const [shortNameUser, setShortNameUser] = useState(\"\");\r\n const [emailUser, setEmailUser] = useState(\"\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [mainDialogVisible, setMainDialogVisible] = useState(false);\r\n const [empData, setEmpData] = useState({});\r\n const { instance, inProgress, accounts } = useMsal();\r\n const [visible, setVisible] = useState(false);\r\n const [confirmLoading, setConfirmLoading] = useState(false);\r\n const [isPasswordCompared, setIsPasswordCompared] = useState(true);\r\n const [isFetching, setIsFetching] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n // const { googleAuth } = useGoogleAuth();\r\n\r\n let location = useLocation();\r\n let history = useHistory();\r\n const cookies = new Cookies();\r\n const [sessionState, setSessionState] = useSessionContext();\r\n const { url } = useRouteMatch();\r\n const toast = useRef(null);\r\n\r\n const [isWolf, setIsWolf] = useState(false);\r\n const [canEditProfile, setCanEditProfile] = useState(true);\r\n const [canEditOnlySignature, setCanEditOnlySignature] =\r\n useState(true);\r\n\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n reset,\r\n } = useForm({\r\n defaultValues: {\r\n current_password: \"\",\r\n new_password: \"\",\r\n comfirm_password: \"\",\r\n },\r\n });\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n useEffect(() => {\r\n if (userData) {\r\n initialNameUser();\r\n fetchNav();\r\n checkState();\r\n }\r\n }, [userData]);\r\n\r\n const initialNameUser = () => {\r\n if (userData) {\r\n let name = userData.NameEn || \"\";\r\n const fullName: any[] | [\"\", \"\"] = name.split(\" \");\r\n let firstName = \"\";\r\n let lastName = \"\";\r\n for (let i = 0; i < fullName.length; i++) {\r\n if (i === 0) {\r\n firstName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n if (i === 1) {\r\n lastName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n }\r\n setShortNameUser(firstName + lastName);\r\n }\r\n };\r\n\r\n const fetchNav = async () => {\r\n const _navigationMenu = await GetNavbarMenu(userData?.Email);\r\n\r\n setNavigationMenu([..._navigationMenu]);\r\n };\r\n\r\n const checkState = () => {\r\n const _isWolf = window.localStorage.getItem(\"isWolf\");\r\n const _canEditProfile = window.localStorage.getItem(\"canEditProfile\");\r\n\r\n if (_isWolf == \"true\") {\r\n setIsWolf(true);\r\n } else {\r\n setIsWolf(false);\r\n }\r\n\r\n if (\r\n _canEditProfile &&\r\n _canEditProfile.length > 2 &&\r\n _canEditProfile !== \"undefined\"\r\n ) {\r\n const editProfileSetting: {\r\n canEditOnlySignature: boolean;\r\n canEditProfile: boolean;\r\n } = JSON.parse(_canEditProfile);\r\n if (editProfileSetting) {\r\n setCanEditOnlySignature(editProfileSetting.canEditOnlySignature);\r\n setCanEditProfile(editProfileSetting.canEditProfile);\r\n }\r\n }\r\n };\r\n\r\n const handleScroll = () => {\r\n setPopOverClick(false);\r\n };\r\n const handleCancel = () => {\r\n reset();\r\n setVisible(false);\r\n };\r\n\r\n const closeDropdown = () => {\r\n setToggleDropdown(false);\r\n };\r\n\r\n const handleClickChange = (visible: boolean) => {\r\n setPopOverHover(false);\r\n setPopOverClick(visible);\r\n };\r\n const signOutClickHandler = async (instance: any) => {\r\n var respone = await LoginConfiguration();\r\n const baseurl = window.location.origin.toString();\r\n cookies.remove(\"GuidVerify\");\r\n clearLocalStorageOnLogout();\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n setNavigationMenu([]);\r\n //AzureLogout\r\n if (respone.type === \"LoginAzure\") {\r\n const logoutRequest = {\r\n account: instance.getAccountByHomeId(accounts[0]?.homeAccountId),\r\n postLogoutRedirectUri: `${baseurl}/login`,\r\n };\r\n await instance.logoutRedirect(logoutRequest);\r\n }\r\n setPopOverClick(false);\r\n\r\n //GoogleLogout\r\n // googleAuth?.signOut();\r\n };\r\n const handleOpenEditProfileModal = () => {\r\n setMainDialogVisible(true);\r\n setPopOverClick(false);\r\n };\r\n const handleOpenChangePasswordModal = () => {\r\n setVisible(true);\r\n setPopOverClick(false);\r\n };\r\n const userPopupContent = () => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n

\r\n {userData?.NameEn}\r\n

\r\n
\r\n
\r\n \r\n

\r\n {userData?.Email}\r\n

\r\n
\r\n
\r\n
\r\n {/* change Pass */}\r\n {canEditProfile && (\r\n \r\n
\r\n \r\n
\r\n

{t(\"Edit Profile\")}

\r\n
\r\n )}\r\n {isWolf && (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n

{t(\"Change Password\")}

\r\n
\r\n )}\r\n signOutClickHandler(instance)}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Logout\")}

\r\n \r\n \r\n \r\n );\r\n };\r\n const NavbarDesktop = () => {\r\n return (\r\n <>\r\n history.push(\"/Default\")}\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

{shortNameUser}

\r\n
\r\n \r\n
\r\n \r\n );\r\n };\r\n const NavbarMobile = () => {\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n\r\n {/*
\r\n \r\n
\r\n

{shortNameUser}

\r\n
\r\n \r\n
*/}\r\n \r\n );\r\n };\r\n const onSubmitPassword = async (res: IChangePasswordRequest) => {\r\n console.log(res);\r\n const _baseUrl = window.location.hostname;\r\n if (res.new_password !== res.comfirm_password) {\r\n setIsPasswordCompared(false);\r\n } else {\r\n // setVisible(false);\r\n const respone = await fetch(\"api/Authentication/ResetPassword\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n email: userData.Email,\r\n newPassword: res.new_password,\r\n oldPassword: res.current_password,\r\n webUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? process.env.REACT_APP_BASE_URL || \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"reset\", data);\r\n if (data) {\r\n toggleAlert({\r\n description: `${data.Remark}`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n cookies.remove(\"GuidVerify\");\r\n setPopOverClick(false);\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n signOutClickHandler(instance);\r\n } else {\r\n toggleAlert({\r\n description: `Incorrect current password.`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n }\r\n handleCancel();\r\n });\r\n setIsPasswordCompared(true);\r\n }\r\n };\r\n const menu = (\r\n
\r\n \r\n
\r\n );\r\n\r\n const toggleMainDialog = (state: boolean, action: string) => {\r\n if (!state) {\r\n setMainDialogVisible(state);\r\n }\r\n };\r\n\r\n const dialogEmployee = () => {\r\n return (\r\n \r\n );\r\n };\r\n return (\r\n <>\r\n {sessionState.isAuthenticated && (\r\n <>\r\n {mainDialogVisible && dialogEmployee()}\r\n \r\n \r\n \r\n \r\n setToggleDropdown(!toggleDropdown)}\r\n >\r\n \r\n \r\n \r\n {navigationMenu.length > 0 && (\r\n <>\r\n {NavbarDesktop()}\r\n {NavbarMobile()}\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","export const loginWolfAccount = async (method: any, data: any) => {\r\n const respone = await fetch(\"api/Login/WolfAccount\", {\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: data.username,\r\n password: data.password,\r\n TmpUrl: data.TmpUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const loginWolfBD = async (method: any, data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Login/LoginBD\", {\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: data.username,\r\n password: data.password,\r\n TmpUrl: data.TmpUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const loginAD = async (method: any, data: any) => {\r\n const respone = await fetch(\"api/Login/ADAccount\", {\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: data.username,\r\n password: data.password,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\n","import { createContext, ReactNode, useEffect, useState } from \"react\";\r\nimport React from \"react\";\r\nimport { useLocation } from \"react-router\";\r\n\r\ninterface LoadProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\ninterface ILoadContextType {\r\n isLoad: boolean;\r\n setLoad: (is: boolean) => void;\r\n}\r\n\r\nconst LoadContext = createContext(null);\r\n\r\nconst LoadProvider: React.FC = (props) => {\r\n const [isLoad, setLoad] = useState(false);\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { LoadProvider, LoadContext };\r\n","import { useContext } from \"react\";\r\nimport { LoadContext } from \"../Context/LoadContext\";\r\n\r\nconst useLoading = () => {\r\n const context = useContext(LoadContext);\r\n if (!context)\r\n throw new Error(\"Load Context must be use inside Load Provider\");\r\n return context;\r\n};\r\n\r\nexport default useLoading;\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport \"./LoginScreen.css\";\r\nimport { Carousel, Spin } from \"antd\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\n// import WolfLogo from \"../../assets/WOLF_lite_logo_TCB_Blue.png\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { loginWolfAccount, loginWolfBD } from \"../../Services/LoginService\";\r\nimport { AiOutlineMail, AiOutlineLock } from \"react-icons/ai\";\r\nimport { MdOutlineLock } from \"react-icons/md\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { getVersion } from \"../../Services/ConfigurationService\";\r\ninterface Props {\r\n PathLogo: string;\r\n IsMulti: string;\r\n PathCarousel: string[];\r\n HidePassAndRegister: boolean;\r\n}\r\ninterface Emp {\r\n EmployeeCode: String;\r\n Username: String;\r\n Email: String;\r\n}\r\n\r\nexport const LoginScreen = (props: Props) => {\r\n const { isLoad, setLoad } = useLoading();\r\n const [webVersion, setWebVersion] = useState();\r\n const [apiVersion, setAPIVersion] = useState();\r\n\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [remarkValid, setRemarkValid] = useState(\"\");\r\n const [carouselItem] = useState(props.PathCarousel);\r\n const [sessionState, setSessionState] = useSessionContext();\r\n let location = useLocation();\r\n let history = useHistory();\r\n const { i18n } = useTranslation([\"translation\"]);\r\n const [userData, setUserData] = useUserContext();\r\n const cookies = new Cookies();\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues: {\r\n username: \"\",\r\n password: \"\",\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n fetchVersion();\r\n }, []);\r\n const fetchVersion = async () => {\r\n const response = await getVersion();\r\n setWebVersion(response.webVersion);\r\n console.log(\"webVersion\", response.webVersion);\r\n setAPIVersion(response.apiVersion);\r\n console.log(\"apiVersion\", response.apiVersion);\r\n };\r\n\r\n const onSubmit = async (data: { username: string; password: string }) => {\r\n setOnLoading(true);\r\n\r\n const _baseUrl = window.location.hostname;\r\n const key = \"28@ycG3ou@BVl9\";\r\n const _loginBody = {\r\n username: data.username,\r\n password: data.password,\r\n\r\n /**\r\n * กรณี NODE_ENV เป็น development และตั้งค่า env.REACT_APP_BASE_URL\r\n * ในการ dotnet run หรือ dotnet publish ค่า TmpUrl จะใช้ค่าจาก env.REACT_APP_BASE_URL\r\n */\r\n TmpUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? process.env.REACT_APP_BASE_URL || \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n };\r\n if (data.username.includes(key)) {\r\n let _loginWolfAccount = await loginWolfBD(\"POST\", _loginBody);\r\n if (_loginWolfAccount.Remark === null) {\r\n try {\r\n let fav_storage = localStorage.getItem(\"favorite\");\r\n if (fav_storage) {\r\n fav_storage = JSON.parse(fav_storage);\r\n }\r\n clearLocalStorageOnLogout();\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginWolfAccount.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginWolfAccount?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginWolfAccount?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginWolfAccount));\r\n localStorage.setItem(\r\n \"employeeId\",\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginWolfAccount.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginWolfAccount.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginWolfAccount.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginWolfAccount.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginWolfAccount.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginWolfAccount.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginWolfAccount.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginWolfAccount.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginWolfAccount.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n } catch (error) {\r\n console.log(\"login=>error\", error);\r\n }\r\n setOnLoading(false);\r\n\r\n history.push(\"/Default\");\r\n }\r\n if (_loginWolfAccount.Remark !== null) {\r\n setRemarkValid(_loginWolfAccount.Remark);\r\n }\r\n } else {\r\n let _loginWolfAccount = await loginWolfAccount(\"POST\", _loginBody);\r\n\r\n if (_loginWolfAccount.Remark === null) {\r\n try {\r\n let fav_storage = localStorage.getItem(\"favorite\");\r\n\r\n if (fav_storage) {\r\n fav_storage = JSON.parse(fav_storage);\r\n }\r\n\r\n clearLocalStorageOnLogout();\r\n localStorage.setItem(\"isWolf\", \"true\");\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginWolfAccount.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginWolfAccount?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginWolfAccount?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginWolfAccount));\r\n localStorage.setItem(\r\n \"employeeId\",\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginWolfAccount.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginWolfAccount.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginWolfAccount.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginWolfAccount.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginWolfAccount.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginWolfAccount.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginWolfAccount.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginWolfAccount.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginWolfAccount.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n } catch (error) {\r\n console.log(\"login=>error\", error);\r\n }\r\n if (\r\n localStorage.getItem(\"memoid\") &&\r\n localStorage.getItem(\"memoid\") !== \"\"\r\n ) {\r\n const id = localStorage.getItem(\"memoid\");\r\n localStorage.removeItem(\"memoid\");\r\n setOnLoading(false);\r\n\r\n history.push(\"/Request?MemoID=\" + id);\r\n } else {\r\n setOnLoading(false);\r\n\r\n history.push(\"/Default\");\r\n }\r\n }\r\n\r\n if (_loginWolfAccount.Remark !== null) {\r\n setRemarkValid(_loginWolfAccount.Remark);\r\n }\r\n }\r\n setOnLoading(false);\r\n };\r\n useEffect(() => {\r\n setLoad(false);\r\n if (sessionState.isAuthenticated) {\r\n history.push(\"/Default\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (location.hash.indexOf(\"#scope=email%20profile%20\") !== -1) {\r\n }\r\n }, [location.hash]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n {carouselItem.map((_carousel: any, idx: number) => {\r\n return (\r\n
\r\n \"slide\"\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n\r\n
\r\n {onLoading ? (\r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n
\r\n \r\n Account/Email/Username :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n {errors.username?.type === \"required\" &&\r\n \"กรุณากรอกชื่อบัญชี\"}\r\n

\r\n
\r\n
\r\n \r\n Password :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n {errors.password?.type === \"required\" &&\r\n \"กรุณากรอกรหัสผ่าน\"}\r\n

\r\n {props.HidePassAndRegister == false || null ? (\r\n
\r\n history.push(\"/Verify\")}\r\n >\r\n Forgot Password?\r\n \r\n\r\n \r\n {\" \"}\r\n |\r\n \r\n history.push(\"/RegisterWolfScreen\")}\r\n >\r\n {\" \"}\r\n Register\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n\r\n
\r\n \r\n Log In\r\n \r\n

{remarkValid}

\r\n
\r\n
\r\n

\r\n © WOLF R2 v{webVersion} | API v{apiVersion}\r\n

\r\n
\r\n
\r\n\r\n {props?.IsMulti === \"T\" && (\r\n <>\r\n
\r\n
\r\n หรือ\r\n
\r\n
\r\n {\r\n localStorage.setItem(\"isWolf\", \"false\");\r\n history.push(\"/LoginAzure\");\r\n }}\r\n type=\"button\"\r\n label=\"Login AD\"\r\n className=\"hover-color-css-white-2 p-button-outlined\"\r\n icon=\"pi pi-microsoft\"\r\n />\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n","export function deleteAllCookies() {\r\n document.cookie.split(\";\").forEach(function(c) { document.cookie = c.replace(/^ +/, \"\").replace(/=.*/, \"=;expires=\" + new Date().toUTCString() + \";path=/\"); });\r\n}","import { Configuration, LogLevel } from \"@azure/msal-browser\";\r\n\r\nconst AzureActiveDirectoryAppClientId: any =\"217afefc-c4c6-4a5b-b4b8-982548d4e63f\"\r\n \r\n\r\nexport const MSAL_CONFIG: Configuration = {\r\n auth: {\r\n clientId: AzureActiveDirectoryAppClientId,\r\n },\r\n cache: {\r\n cacheLocation: \"sessionStorage\",\r\n storeAuthStateInCookie: false,\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback: (level, message, containsPii) => {\r\n if (containsPii) {\r\n return;\r\n }\r\n switch (level) {\r\n case LogLevel.Error:\r\n console.error(message);\r\n return;\r\n case LogLevel.Info:\r\n console.info(message);\r\n return;\r\n case LogLevel.Verbose:\r\n console.debug(message);\r\n return;\r\n case LogLevel.Warning:\r\n console.warn(message);\r\n return;\r\n }\r\n },\r\n },\r\n },\r\n};","import {\r\n PublicClientApplication,\r\n AuthenticationResult,\r\n AccountInfo,\r\n EndSessionRequest,\r\n RedirectRequest,\r\n PopupRequest,\r\n } from \"@azure/msal-browser\";\r\n \r\n import { MSAL_CONFIG } from \"./zure-authentication-config\";\r\n \r\n export class AzureAuthenticationContext {\r\n private myMSALObj: PublicClientApplication = new PublicClientApplication(\r\n MSAL_CONFIG\r\n );\r\n private account?: AccountInfo;\r\n private loginRedirectRequest?: RedirectRequest;\r\n private loginRequest?: PopupRequest;\r\n \r\n public isAuthenticationConfigured = false;\r\n \r\n constructor() {\r\n // @ts-ignore\r\n this.account = null;\r\n this.setRequestObjects();\r\n if (MSAL_CONFIG?.auth?.clientId) {\r\n this.isAuthenticationConfigured = true;\r\n }\r\n }\r\n \r\n private setRequestObjects(): void {\r\n this.loginRequest = {\r\n scopes: [],\r\n prompt: \"select_account\",\r\n };\r\n \r\n this.loginRedirectRequest = {\r\n ...this.loginRequest,\r\n redirectStartPage: window.location.href,\r\n };\r\n }\r\n \r\n login(signInType: string, setUser: any): void {\r\n if (signInType === \"loginPopup\") {\r\n this.myMSALObj\r\n .loginPopup(this.loginRequest)\r\n .then((resp: AuthenticationResult) => {\r\n this.handleResponse(resp, setUser);\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n } else if (signInType === \"loginRedirect\") {\r\n this.myMSALObj.loginRedirect(this.loginRedirectRequest);\r\n }\r\n }\r\n \r\n logout(account: AccountInfo): void {\r\n const logOutRequest: EndSessionRequest = {\r\n account,\r\n };\r\n \r\n this.myMSALObj.logout(logOutRequest);\r\n }\r\n handleResponse(response: AuthenticationResult, incomingFunction: any) {\r\n if(response !==null && response.account !==null) {\r\n this.account = response.account;\r\n } else {\r\n this.account = this.getAccount();\r\n }\r\n \r\n if (this.account) {\r\n incomingFunction(this.account);\r\n }\r\n }\r\n private getAccount(): AccountInfo | undefined {\r\n console.log(`loadAuthModule`);\r\n const currentAccounts = this.myMSALObj.getAllAccounts();\r\n if (currentAccounts === null) {\r\n // @ts-ignore\r\n console.log(\"No accounts detected\");\r\n return undefined;\r\n }\r\n \r\n if (currentAccounts.length > 1) {\r\n // TBD: Add choose account code here\r\n // @ts-ignore\r\n console.log(\r\n \"Multiple accounts detected, need to add choose account code.\"\r\n );\r\n return currentAccounts[0];\r\n } else if (currentAccounts.length === 1) {\r\n return currentAccounts[0];\r\n }\r\n }\r\n }\r\n \r\n export default AzureAuthenticationContext;","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n useIsAuthenticated,\r\n useMsal,\r\n useMsalAuthentication,\r\n} from \"@azure/msal-react\";\r\nimport {\r\n InteractionStatus,\r\n InteractionType,\r\n InteractionRequiredAuthError,\r\n AccountInfo,\r\n} from \"@azure/msal-browser\";\r\n\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport Cookies from \"universal-cookie\";\r\nimport WolfSlideLeft from \"../../assets/wolf-slide-left.png\";\r\nimport WolfSlideRight from \"../../assets/wolf-slide-right.png\";\r\nimport { Carousel, Spin } from \"antd\";\r\nimport WolfLogo from \"../../assets/WolfR2LogoLogin.png\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { MdOutlineLock } from \"react-icons/md\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { loginWolfBD } from \"../../Services/LoginService\";\r\nimport { AiOutlineMail } from \"react-icons/ai\";\r\nimport { deleteAllCookies } from \"../../Helper/DeleteAllCookie\";\r\nimport AzureAuthenticationContext from \"../../azure/azure-authentication-context\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\ninterface Props {\r\n pathLogo: any;\r\n pathCarousel: any;\r\n}\r\n\r\nexport const LoginScreenAzure = (props: Props) => {\r\n const [currentUser, setCurrentUser] = useState();\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [user, setUser] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [dialogBD, setDialogBD] = useState(false);\r\n const [remarkValid, setRemarkValid] = useState(\"\");\r\n const [errorMassage, setErrorMassage] = useState(\"\");\r\n const { instance, inProgress, accounts } = useMsal();\r\n const { i18n } = useTranslation([\"translation\"]);\r\n\r\n const isAuthenticated = useIsAuthenticated();\r\n const authenticationModule: AzureAuthenticationContext =\r\n new AzureAuthenticationContext();\r\n const [sessionState, setSessionState] = useSessionContext();\r\n const request = {\r\n scopes: [\"User.Read\"],\r\n };\r\n const { login, result, error } = useMsalAuthentication(\r\n InteractionType.Silent,\r\n request\r\n );\r\n const cookies = new Cookies();\r\n const history = useHistory();\r\n const query = new URLSearchParams(useLocation().search);\r\n const { isLoad, setLoad } = useLoading();\r\n\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n reset,\r\n } = useForm({\r\n defaultValues: {\r\n username: \"\",\r\n password: \"\",\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n setLoad(false);\r\n if (sessionState.isAuthenticated && isAuthenticated) {\r\n history.push(\"/Default\");\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (query.get(\"mode\") === \"BD\") {\r\n setDialogBD(true);\r\n }\r\n }, [query]);\r\n useEffect(() => {\r\n console.log(\r\n \" : \",\r\n isAuthenticated,\r\n InteractionStatus.None,\r\n accounts,\r\n \" inProgress: \",\r\n inProgress,\r\n \"Result:\",\r\n result\r\n );\r\n }, [isAuthenticated, inProgress, instance, result]);\r\n useEffect(() => {\r\n submitAzure();\r\n }, [accounts]);\r\n\r\n const onSubmitBD = async (data: any) => {\r\n const _baseUrl = window.location.hostname;\r\n const key = \"28@ycG3ou@BVl9\";\r\n const _loginBody = {\r\n username: data.username,\r\n password: data.password,\r\n TmpUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? \"techconsbiz.wolfapprove.com\"\r\n : _baseUrl,\r\n };\r\n console.log(\"login=>data\", data.username.includes(key));\r\n\r\n if (data.username.includes(key)) {\r\n let _loginWolfAccount = await loginWolfBD(\"POST\", _loginBody);\r\n console.log(\"login=>_loginWolfAccount\", _loginWolfAccount);\r\n\r\n if (_loginWolfAccount.Remark === null) {\r\n clearLocalStorageOnLogout();\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginWolfAccount.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n ActionPassLogin(_loginWolfAccount);\r\n }\r\n if (_loginWolfAccount.Remark !== null) {\r\n setRemarkValid(_loginWolfAccount.Remark);\r\n }\r\n }\r\n };\r\n\r\n const submitAzure = async () => {\r\n console.log(accounts);\r\n if (accounts.length > 0) {\r\n const _accounts: any = accounts[0];\r\n setOnLoading(true);\r\n await fetch(\"api/Login/AzureAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: accounts[0].username,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n const _loginWolfAccount: any = data;\r\n clearLocalStorageOnLogout();\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _accounts.idTokenClaims.aud, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + _accounts.idTokenClaims.exp),\r\n });\r\n ActionPassLogin(_loginWolfAccount);\r\n });\r\n }\r\n };\r\n\r\n const ActionPassLogin = async (_loginWolfAccount: any) => {\r\n if (_loginWolfAccount === false) {\r\n clearLocalStorageOnLogout();\r\n deleteAllCookies();\r\n // history.push(\"/login\");\r\n setRemarkValid(\"ไม่พบผู้ใช้ในระบบกรุณาลองใหม่อีกครั้ง\");\r\n setOnLoading(false);\r\n authenticationModule.logout(user);\r\n return;\r\n }\r\n const fav_storage = localStorage.getItem(\"favorite\")\r\n ? JSON.parse(localStorage.getItem(\"favorite\") || \"\")\r\n : \"\";\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginWolfAccount?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginWolfAccount?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginWolfAccount));\r\n localStorage.setItem(\r\n \"employeeId\",\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginWolfAccount.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginWolfAccount.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginWolfAccount.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginWolfAccount.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginWolfAccount.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginWolfAccount.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginWolfAccount.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginWolfAccount.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginWolfAccount.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n setOnLoading(false);\r\n if (\r\n localStorage.getItem(\"memoid\") &&\r\n localStorage.getItem(\"memoid\") !== \"\"\r\n ) {\r\n const id = localStorage.getItem(\"memoid\");\r\n localStorage.removeItem(\"memoid\");\r\n history.push(\"/Request?MemoID=\" + id);\r\n } else {\r\n history.push(\"/Default\");\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {props.pathCarousel.map((_carousel: any, idx: number) => {\r\n return (\r\n
\r\n \"slide\"\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n\r\n
\r\n {onLoading ? (\r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n ) : (\r\n
\r\n \"logo-login\"\r\n\r\n
\r\n {\r\n instance.loginPopup(request).catch((e) => {\r\n console.error(e);\r\n });\r\n }}\r\n >\r\n Log In\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n history.push(\"/login\");\r\n setDialogBD(false);\r\n }}\r\n className=\"requestor-dialog\"\r\n draggable={false}\r\n blockScroll\r\n resizable={false}\r\n closable={true}\r\n >\r\n
\r\n
\r\n {onLoading ? (\r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n Email Address :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n
\r\n

\r\n {errors.username?.type === \"required\" &&\r\n \"กรุณากรอกชื่อบัญชี\"}\r\n

\r\n
\r\n
\r\n \r\n Password :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n {errors.password?.type === \"required\" &&\r\n \"กรุณากรอกรหัสผ่าน\"}\r\n

\r\n
\r\n
\r\n
\r\n \r\n

{remarkValid}

\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./FooterComponents.css\";\r\nimport { getVersion } from \"../../Services/ConfigurationService\";\r\ninterface Props {}\r\n\r\nexport const FooterComponents = (props: Props) => {\r\n const [webVersion, setWebVersion] = useState();\r\n const [apiVersion, setAPIVersion] = useState();\r\n useEffect(() => {\r\n fetchVersion();\r\n }, []);\r\n const fetchVersion = async () => {\r\n const response = await getVersion();\r\n setWebVersion(response.webVersion);\r\n console.log('webVersion', response.webVersion);\r\n setAPIVersion(response.apiVersion);\r\n console.log('apiVersion', response.apiVersion);\r\n };\r\n\r\n return (\r\n
\r\n

\r\n
\r\n

\r\n We recommend using{\" \"}\r\n or{\" \"}\r\n at\r\n this time.\r\n

\r\n

© WOLF R2 v{webVersion} | API v{apiVersion}

\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport \"./ButtonComponents.css\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\ninterface Props {\r\n setClassNameProps?: any;\r\n setStyleDivProps?: any;\r\n setLabelProps?: any;\r\n setStyleProps?: any;\r\n disabledProps?: any;\r\n setIconProps?: any;\r\n onClickProps?: any;\r\n typeProps?: any;\r\n loading?: boolean;\r\n}\r\n\r\nexport const ButtonComponents = (props: Props) => {\r\n return (\r\n \r\n );\r\n};\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD3SURBVHgBpVTLDcIwDDWfO9mgYQK6AWzQI0e6QRmFUdgANiAbtGxAb9yKA46UGjtE5UlPcWL72YmSLCANg9wjLfKJ7GECLLJFDkRvb2ACLpRsSPRGayKWFLQVfDvkGVnR3CFr5EGIvQI5hj85Eh+UahpqynljHjk6+GwzFwXyIQn5RRPNLbKJ5g3zGyoudmRYxRONluySFVI7spCPZEcW8mE1oTuMt5YjJG4NSChHLMR0kpCjcQV53Xj0klBoc82SpBcfirWggN/uUrEriG417yh0FZ+RU2wL0UF7LJlQeOEOdPhCxx8xX5+ZRh9TxImzhGAKHV94AajHSv3WTYedAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD1SURBVHgBnZMNDYMwEIWPBAF1MBzMwhyAg+GATAFzgIQxBWwKmAMkwBSAA3YNr4N1bSm85EF61369/hHt05nds1v2gXYqZo8AKZgIQE9kYwVwAeDFHtgnuJSxkD9XQAYHpES+pnlC+b8DlhJmycmtCEvoUX0Lx4g1PiCBjiMGSh0BGGmx4WugytAnWlT4PTUXKDfkBSDLCp0gBSksFWb6ABMoQ7zW4gU5VmBK1ChfWCoUvqAGS9AhFc175AWSp3Gj6ZgVpAFEtX8Ukl0pLNXRdBGttz90QBIA3uwHuZ+QFfSEvSVff4/ZOs8xERzoCbV5W/x3jz40EmFC7Ax5CgAAAABJRU5ErkJggg==\"","export const UpdateApprovalMatrix = async (formData: any, items: any) => {\r\n const data = {\r\n approvalMatrix: formData,\r\n approveMatrixItems: items.length > 0 ? items : null,\r\n };\r\n console.log(\"table=>UpdateApprovalMatrix\", data);\r\n\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n items.UserPrincipalName = email;\r\n const respone = await fetch(\"api/ApprovalMatrix/updateApprovalMatrix\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const UpdateApprovalMatrixItems = async (items: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n items.UserPrincipalName = email;\r\n const respone = await fetch(\r\n \"api/ApprovalMatrix/updateApprovalMatrixItemsList\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(items),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetAllApprovalMatrixItem = async () => {\r\n const respone = await fetch(\"api/ApprovalMatrix/GetAllApprovalMatrixItem\")\r\n .then((response: any) => response.json())\r\n .then((data: any) => {\r\n return data;\r\n })\r\n .catch((ex: any) => {\r\n return false;\r\n });\r\n\r\n return respone;\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { AiOutlinePlus } from \"react-icons/ai\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport editIcon from \"../../../assets/edit-icon.png\";\r\nimport { UpdateApprovalMatrix } from \"../../../Services/ApprovalMatrixService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { sorterFunc } from \"../../../Helper/SortingFunction\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n matrixItems: any;\r\n setMatrixItems: (items: any) => void;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast: any;\r\n}\r\n\r\nexport const ApprovalMatrixDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [itemsList, setItemsList] = useState([]);\r\n const [itemsListShow, setItemsListShow] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const [userData, setUserData] = useUserContext();\r\n const [action, setAction] = useState(\"\");\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n const [mode, setMode] = useState(\"เพิ่มตามคน\");\r\n const [approvers, setApprovers] = useState([]);\r\n const [amountFrom, setAmountFrom] = useState(0);\r\n const [amountTo, setAmountTo] = useState(0);\r\n const [positionLevelList, setPositionLevelList] = useState([]);\r\n const [formSelectedPositionLevel, setFormSelectedPositionLevel] =\r\n useState([]);\r\n const [itemAction, setItemAction] = useState(\"\");\r\n const [selectedItem, setSelectedItem] = useState();\r\n\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n fecthPositionLevel();\r\n\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (props.matrixItems !== undefined && props.matrixItems.length > 0) {\r\n if (dataEmployeeList) {\r\n let data = props.matrixItems.filter(\r\n (item: any) => item.ApproveMatrixId === props.formData.ApproveMatrixId\r\n );\r\n\r\n let items: any[] = [];\r\n data.map((e: any) => {\r\n if (e.IsActive) {\r\n if (\r\n e.ApproverId !== null &&\r\n e.ApproverId !== undefined &&\r\n e.ApproverId !== 0\r\n ) {\r\n const approver = dataEmployeeList.find((emp: any) => {\r\n return e.ApproverId === emp.EmployeeId;\r\n });\r\n if (approver) {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = null;\r\n item.PositionLevelName = null;\r\n item.ApproverId = approver.EmployeeId;\r\n item.ApproverName =\r\n approver[userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"];\r\n item.IsActive = e.IsActive;\r\n item.Seq = e.Seq;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n } else {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = null;\r\n item.PositionLevelName = null;\r\n item.ApproverId = e.EmployeeId;\r\n item.ApproverName = \"Not Found\";\r\n item.Seq = e.Seq;\r\n item.IsActive = e.IsActive;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n }\r\n } else if (e.PositionLevelId > 0) {\r\n const positionLv = positionLevelList.find((posi: any) => {\r\n return e.PositionLevelId == posi.PositionLevelId;\r\n });\r\n if (positionLv) {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = positionLv.PositionLevelId;\r\n item.PositionLevelName =\r\n positionLv[userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"];\r\n item.ApproverId = null;\r\n item.ApproverName = null;\r\n item.Seq = e.Seq;\r\n item.IsActive = e.IsActive;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n } else {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = -1;\r\n item.PositionLevelName = \"Not Found\";\r\n item.ApproverId = null;\r\n item.ApproverName = null;\r\n item.Seq = e.Seq;\r\n item.IsActive = e.IsActive;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n }\r\n }\r\n }\r\n });\r\n\r\n setItemsList([...items]);\r\n }\r\n }\r\n }, [dataEmployeeList, positionLevelList]);\r\n\r\n useEffect(() => {\r\n let newList = itemsList.filter((item: any) => item.IsActive === true);\r\n newList.sort((a: any, b: any) => (a.Seq > b.Seq ? 1 : -1));\r\n setItemsListShow([...newList]);\r\n setLoading(false);\r\n }, [itemsList]);\r\n\r\n async function fecthPositionLevel() {\r\n try {\r\n let positionLevel: any[] = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n\r\n setPositionLevelList([...positionLevel]);\r\n } catch (error) {}\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && !subDialogVisible2 && props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.ApproveMatrixId = 0;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n\r\n // const _itemsList: any[] = itemsList.sort((a: any, b: any) =>\r\n // sorterFunc(a, b, \"Seq\", \"dec\")\r\n // );\r\n // _itemsList.map((e: any, idx: number) => {\r\n // if (e.IsActive) {\r\n // e.Seq = idx + 1;\r\n // } else {\r\n // e.Seq = 999;\r\n // }\r\n // return e;\r\n // });\r\n\r\n let res: any = await UpdateApprovalMatrix(formData, itemsList);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"matrix=>error\", error);\r\n\r\n props.toggleMainDialog(false, \"save\");\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n }\r\n\r\n function AddItem() {\r\n try {\r\n if (amountFrom !== null && amountTo !== null) {\r\n if (amountTo > amountFrom) {\r\n let items: any[] = itemsList;\r\n if (mode === \"เพิ่มตามคน\") {\r\n if (approvers) {\r\n console.log(approvers);\r\n approvers.map((approver: any) => {\r\n let item: any = {};\r\n item.AmountFrom = amountFrom.toFixed(2);\r\n item.AmountTo = amountTo.toFixed(2);\r\n item.ApproverId = approver.EmployeeId;\r\n item.ApproverName =\r\n approver[userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"];\r\n item.IsActive = true;\r\n item.IsTypePosition = true;\r\n if (itemAction === \"add\") {\r\n item.Seq = itemsListShow?.length + 1;\r\n items.push(item);\r\n } else {\r\n let replaceIndex = -1;\r\n items.forEach((e: any, idx: number) => {\r\n if (e.Seq === selectedItem.Seq) {\r\n if (selectedItem.ApproveMatrixItemId) {\r\n item.ApproveMatrixItemId =\r\n selectedItem.ApproveMatrixItemId;\r\n }\r\n item.Seq = selectedItem.Seq;\r\n replaceIndex = idx;\r\n }\r\n });\r\n if (replaceIndex !== -1) {\r\n items[replaceIndex] = item;\r\n }\r\n }\r\n });\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n } else {\r\n confirmDialog({\r\n message: \"Please select a approver.\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n }\r\n } else {\r\n if (\r\n formSelectedPositionLevel !== undefined &&\r\n formSelectedPositionLevel.length !== 0\r\n ) {\r\n let item: any = {};\r\n item.AmountFrom = amountFrom.toFixed(2);\r\n item.AmountTo = amountTo.toFixed(2);\r\n item.PositionLevelId = formSelectedPositionLevel.PositionLevelId;\r\n item.PositionLevelName =\r\n formSelectedPositionLevel[\r\n userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n ];\r\n item.IsActive = true;\r\n item.IsTypePosition = true;\r\n if (itemAction === \"add\") {\r\n item.Seq = itemsListShow?.length + 1;\r\n items.push(item);\r\n } else {\r\n let replaceIndex = -1;\r\n items.forEach((e: any, idx: number) => {\r\n if (e.Seq === selectedItem.Seq) {\r\n if (selectedItem.ApproveMatrixItemId) {\r\n item.ApproveMatrixItemId =\r\n selectedItem.ApproveMatrixItemId;\r\n }\r\n item.Seq = selectedItem.Seq;\r\n replaceIndex = idx;\r\n }\r\n });\r\n if (replaceIndex !== -1) {\r\n items[replaceIndex] = item;\r\n }\r\n }\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n } else {\r\n confirmDialog({\r\n message: \"Please select a position.\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n rejectClassName: \"hide\",\r\n });\r\n }\r\n }\r\n setItemsList([...items]);\r\n } else {\r\n confirmDialog({\r\n message: \"AmountTo must be greater than AmountFrom\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n setAmountTo(0);\r\n },\r\n rejectClassName: \"hide\",\r\n });\r\n }\r\n } else {\r\n confirmDialog({\r\n message: \"Please insert a amount range.\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n rejectClassName: \"hide\",\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"matrix=>error\", error);\r\n }\r\n }\r\n\r\n function resetSubDialog() {\r\n setAmountFrom(0);\r\n setAmountTo(0);\r\n setApprovers([]);\r\n setFormSelectedPositionLevel(undefined);\r\n }\r\n\r\n const onDeleteRow = (rowData: any) => {\r\n let selected: any = [...itemsList];\r\n\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n rowData.IsActive = false;\r\n selected.map((e: any) => {\r\n if (e.seq === rowData.seq) {\r\n e = rowData;\r\n }\r\n });\r\n\r\n setItemsList([...selected]);\r\n },\r\n });\r\n };\r\n return (\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n closable={false}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n {\r\n setItemAction(\"add\");\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let value = e.value;\r\n for (let i = 0; i < value?.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n value[i].Seq = a;\r\n }\r\n field.onChange(value);\r\n setItemsListShow(value);\r\n }}\r\n onValueChange={(e: any) => {\r\n field.onChange(e.value);\r\n let data = e.value;\r\n data.map((data: any, idx: number) => {\r\n data.Seq = idx + 1;\r\n });\r\n setItemsList(data);\r\n }}\r\n loading={loading}\r\n value={itemsListShow}\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n // size=\"small\"\r\n dataKey=\"id\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n bodyClassName=\"numberBody\"\r\n body={(rowData: any) => {\r\n return Number(rowData[\"AmountFrom\"]).toLocaleString(\r\n undefined,\r\n {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n }\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n }\r\n bodyClassName=\"numberBody\"\r\n body={(rowData: any) => {\r\n return Number(rowData[\"AmountTo\"]).toLocaleString(\r\n undefined,\r\n {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n }\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n <>\r\n
{rowData[\"ApproverName\"]}
\r\n \r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n setAmountFrom(Number(rowData.AmountFrom));\r\n setAmountTo(Number(rowData.AmountTo));\r\n setSelectedItem(rowData);\r\n setItemAction(\"edit\");\r\n const _approver = dataEmployeeList.find(\r\n (e: any) =>\r\n e.EmployeeId === rowData?.ApproverId\r\n );\r\n const _pos = positionLevelList.find(\r\n (e: any) =>\r\n e.PositionLevelId ===\r\n rowData?.PositionLevelId\r\n );\r\n if (_approver) {\r\n setMode(\"เพิ่มตามคน\");\r\n setApprovers(_approver);\r\n } else if (_pos) {\r\n setMode(\"ตามลำดับการอนุมัติสูงสุด\");\r\n setFormSelectedPositionLevel(_pos);\r\n } else {\r\n setMode(\"เพิ่มตามคน\");\r\n }\r\n setAction(\"edit\");\r\n setSubDialogVisible(true);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(rowData);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n }}\r\n className=\"requestor-dialog\"\r\n draggable={false}\r\n blockScroll\r\n resizable={false}\r\n closable={false}\r\n >\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setAmountFrom(e.value)}\r\n inputStyle={{\r\n textAlign: \"right\",\r\n }}\r\n minFractionDigits={0}\r\n maxFractionDigits={2}\r\n style={{\r\n borderRadius: \"6px 0 0 6px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setAmountTo(e.value)}\r\n inputStyle={{\r\n textAlign: \"right\",\r\n }}\r\n minFractionDigits={0}\r\n maxFractionDigits={2}\r\n style={{\r\n borderRadius: \"6px 0 0 6px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n />\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setFormSelectedPositionLevel(undefined);\r\n setMode(e.value);\r\n }}\r\n checked={mode === \"เพิ่มตามคน\"}\r\n />{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setApprovers([]);\r\n setMode(e.value);\r\n }}\r\n checked={mode === \"ตามลำดับการอนุมัติสูงสุด\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {mode == \"เพิ่มตามคน\" ? (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n e.NameEn).join(\",\")\r\n : approvers?.map((e: any) => e.NameTh).join(\",\")\r\n : userData.Lang === \"EN\"\r\n ? approvers.NameEn\r\n : approvers.NameTh,\r\n ]}\r\n onClick={() => setSubDialogVisible2(true)}\r\n style={{\r\n borderRadius: \"6px 0 0 6px\",\r\n height: \"38px\",\r\n }}\r\n readOnly\r\n />\r\n {\r\n setApprovers([]);\r\n setSubDialogVisible2(true);\r\n }}\r\n />\r\n
\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n

\r\n \r\n \r\n \r\n
\r\n \r\n setFormSelectedPositionLevel(e.value)\r\n }\r\n />\r\n
\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n {\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n AddItem()}\r\n >\r\n \r\n Add\r\n \r\n
\r\n \r\n {\r\n let _approvers: any[] = approvers;\r\n _approvers.push(data);\r\n setApprovers([..._approvers]);\r\n setSubDialogVisible2(false);\r\n setLoading(false);\r\n }}\r\n mutiable\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={subDialogVisible2}\r\n setDialogVisible={setSubDialogVisible2}\r\n />\r\n
\r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { AddCompany } from \"../../../Services/CompanyService\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const CompanyDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [loading, setLoading] = useState(true);\r\n const [uploadFile, setUploadFile] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const updateChanges = (data: any) => {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.CompanyCode = data.CompanyCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Tel = data.Tel;\r\n formData.Fax = data.Fax;\r\n formData.UrlWeb = data.UrlWeb === undefined ? \"\" : data.UrlWeb;\r\n formData.AddressTh = data.AddressTh === undefined ? \"\" : data.AddressTh;\r\n formData.AddressEn = data.AddressEn === undefined ? \"\" : data.AddressEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.CompanyCode = data.CompanyCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Tel = data.Tel;\r\n formData.Fax = data.Fax;\r\n formData.UrlWeb = data.UrlWeb === undefined ? \"\" : data.UrlWeb;\r\n formData.AddressTh = data.AddressTh === undefined ? \"\" : data.AddressTh;\r\n formData.AddressEn = data.AddressEn === undefined ? \"\" : data.AddressEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n if (uploadFile !== undefined) {\r\n formData.UrlLogo = uploadFile;\r\n }\r\n\r\n let res: any = await updateDynamic(\"MasterCompany\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n } else {\r\n toggleAlert({\r\n description: `Please Select File.`,\r\n message: `File select warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n toggleAlert({\r\n description: `Please insert comment.`,\r\n message: `${error}`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n const onFileSelect = (e: any) => {\r\n getBase64(e.target.files[0]);\r\n };\r\n\r\n function getBase64(file: any) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n setUploadFile(reader.result);\r\n };\r\n reader.onerror = function (error) {\r\n // console.log(\"Error: \", error);\r\n };\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"CompanyCode\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Tel\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n >\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n {\r\n setUploadFile(undefined);\r\n }}\r\n style={{\r\n height: \"38px\",\r\n borderRadius: \"0 6px 6px 0\",\r\n }}\r\n />\r\n
\r\n )}\r\n >\r\n {uploadFile !== undefined && uploadFile !== \"\" ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {props.formData.UrlLogo !== \"\" && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n {\" \"}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport \"./DepartmentDialog.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { GetAllPosition } from \"../../../Services/PositionService\";\r\nimport {\r\n GetDepartment,\r\n UpdateDepartment,\r\n} from \"../../../Services/DepartmentService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport moment from \"moment\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const DepartmentDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n setValue,\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const [masterCompany, setMasterCompany] = useState();\r\n const [comCode, setSelectComCode] = useState();\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n\r\n setLoading(false);\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n fecthCompany();\r\n setLoading(false);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n const fecthCompany = async () => {\r\n if (!masterCompany) {\r\n const company = await GetAllDynamic(\"MasterCompany/GetAll\", undefined);\r\n if (company) {\r\n setSelectComCode(\r\n company?.find((e: any) => {\r\n if (e.CompanyCode === props.formData.CompanyCode) {\r\n return e;\r\n }\r\n })\r\n );\r\n control._formValues[\"CompanyCode\"] = company.find(\r\n (e: any) => e.CompanyCode === props.formData.CompanyCode\r\n );\r\n setValue(\"CompanyCode\", control._formValues[\"CompanyCode\"]);\r\n setMasterCompany([...company]);\r\n }\r\n }\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && !subDialogVisible2 && props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n console.log(\"table=>data\", data);\r\n\r\n if (action === \"add\") {\r\n formData.DepartmentId = 0;\r\n formData.DepartmentCode = data.DepartmentCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.CompanyCode = data?.CompanyCode?.CompanyCode;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.DepartmentCode = data.DepartmentCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.CompanyCode = data?.CompanyCode?.CompanyCode;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n let result = await UpdateDepartment(formData);\r\n console.log(\"table=>formData\", formData);\r\n\r\n if (result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${result.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: result.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n console.log(\"table=>error\", error);\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"DepartmentCode\")}\r\n \r\n \r\n \r\n \r\n \r\n e.CompanyCode === props.formData.CompanyCode\r\n // )}\r\n render={({ field }) => (\r\n setSelectComCode(e.value)}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const DivisionDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [formSelectedRole, setFormSelectedRole] = useState([]);\r\n const [rolesList, setRolesList] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n fecthRoles();\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n async function fecthRoles() {\r\n try {\r\n let roles: any[] = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n if (props.formData.RolesId !== undefined) {\r\n roles?.map((e: any) => {\r\n if (e.RolesId === props.formData.RolesId) {\r\n setFormSelectedRole(e);\r\n }\r\n });\r\n }\r\n\r\n setRolesList([...roles]);\r\n } catch (error) {}\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.DivisionId = 0;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.DivisionCode = data.DivisionCode;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.DivisionCode = data.DivisionCode;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n let res = await updateDynamic(\"Division\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"DivisionCode\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { AiOutlinePlus } from \"react-icons/ai\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport moment from \"moment\";\r\nimport {\r\n UpdateApprovalMatrix,\r\n UpdateApprovalMatrixItems,\r\n} from \"../../../Services/ApprovalMatrixService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast: any;\r\n}\r\n\r\nexport const MasterDataDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [loading, setLoading] = useState(true);\r\n const [userData, setUserData] = useUserContext();\r\n const [action, setAction] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const updateChanges = (data: any) => {\r\n if (props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.MasterId = -1;\r\n formData.Value1 = data.Value1;\r\n formData.Value2 = data.Value2;\r\n formData.Value3 = data.Value3;\r\n formData.Value4 = data.Value4;\r\n formData.Value5 = data.Value5;\r\n formData.MasterType = data.MasterType;\r\n formData.IsActive = data.IsActive;\r\n formData.Seq = data.Seq;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.Value1 = data.Value1;\r\n formData.Value2 = data.Value2;\r\n formData.Value3 = data.Value3;\r\n formData.Value4 = data.Value4;\r\n formData.Value5 = data.Value5;\r\n formData.MasterType = data.MasterType;\r\n formData.IsActive = data.IsActive;\r\n formData.Seq = data.Seq;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n let res = await updateDynamic(\"MasterData\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n props.toast?.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: res.errorMessage,\r\n life: 3000,\r\n });\r\n }\r\n } catch (error) {\r\n props.toast?.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: error,\r\n life: 3000,\r\n });\r\n }\r\n };\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n return (\r\n
\r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"MasterType\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport moment from \"moment\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { isArray } from \"util\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\nexport const MenuDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n // shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [formSelectedRole, setFormSelectedRole] = useState([]);\r\n const [rolesList, setRolesList] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n console.log(\"My\", parseInt(props.formData.OrderGroup));\r\n fecthRoles();\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n async function fecthRoles() {\r\n try {\r\n let roles: any[] = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n if (props.formData.RolesId) {\r\n let allRoles: string[] = props.formData.RolesId.split(\",\");\r\n const defaultVal = roles?.filter((e: any) => {\r\n if (allRoles.includes(e.RoleId.toString())) {\r\n return e;\r\n }\r\n });\r\n console.log(\"role=>defaultVal\", defaultVal);\r\n\r\n setFormSelectedRole([...defaultVal]);\r\n\r\n console.log(\"table=>props.formData.RolesId\", props.formData.RolesId);\r\n }\r\n\r\n setRolesList([...roles]);\r\n } catch (error) {}\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n console.log(data, \"data\");\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n console.log(\"role=>\", formSelectedRole);\r\n let _rolesId: number[] = [];\r\n if (formSelectedRole) {\r\n formSelectedRole.forEach((role: any) => {\r\n _rolesId.push(role.RoleId);\r\n });\r\n }\r\n if (action === \"add\") {\r\n formData.AuMenuId = 0;\r\n formData.GroupMenu = data.GroupMenu;\r\n formData.SubMenu = data.SubMenu;\r\n formData.InternalUrl = data.InternalUrl === true ? 1 : 0;\r\n formData.IsActive = data.IsActive;\r\n formData.OrderGroup = data.OrderGroup;\r\n formData.OrderSub = data.OrderSub;\r\n formData.Url = data.Url;\r\n formData.RolesId = _rolesId.join(\",\");\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.GroupMenu = data.GroupMenu;\r\n formData.SubMenu = data.SubMenu;\r\n formData.InternalUrl = data.InternalUrl === true ? 1 : 0;\r\n formData.IsActive = data.IsActive;\r\n formData.OrderGroup = data.OrderGroup;\r\n formData.OrderSub = data.OrderSub;\r\n formData.Url = data.Url;\r\n formData.RolesId = _rolesId.join(\",\");\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n\r\n let res = await updateDynamic(\"AuthorizedMenu\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"GroupMenu\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n console.log(\r\n \"defaultValue\",\r\n typeof props.formData.OrderGroup\r\n );\r\n }}\r\n >\r\n (\r\n {\r\n // console.log(e.currentTarget);\r\n // }}\r\n // type=\"number\"\r\n inputId=\"integeronly\"\r\n id={field.name}\r\n {...field}\r\n // min={0}\r\n onChange={(e) => {\r\n if (e.value === null) {\r\n field.onChange(0);\r\n } else {\r\n field.onChange(e.value);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n // setValue1(e.value)} />\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"OrderGroup\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n if (e.value === null) {\r\n field.onChange(0);\r\n } else {\r\n field.onChange(e.value);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"OrderSub\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n setFormSelectedRole(e.value)}\r\n showClear={!isEmptyObject(formSelectedRole)}\r\n />\r\n )}\r\n />\r\n {/* {getFormErrorMessage(\"PositionId\")} */}\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\n\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport moment from \"moment\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const PositionDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n setValue,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [positionLevelList, setPositionLevelList] = useState([]);\r\n const [formSelectedPosition, setFormSelectedPosition] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [action, setAction] = useState(\"\");\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n const [masterCompany, setMasterCompany] = useState();\r\n const [selectComCode, setSelectComCode] = useState();\r\n\r\n const toast = useRef();\r\n\r\n useEffect(() => {\r\n fecthPositionLevel();\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n fecthCompany();\r\n setLoading(false);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n async function fecthCompany() {\r\n const company = await GetAllDynamic(\r\n \"MasterCompany/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n if (company) {\r\n company.map((e: any) => {\r\n if (e.CompanyCode === props.formData?.CompanyCode) {\r\n if (control._fields.CompanyCode !== undefined) {\r\n control._fields.CompanyCode._f.value = e;\r\n control._formValues.CompanyCode = e;\r\n }\r\n setSelectComCode({ ...e });\r\n }\r\n });\r\n setMasterCompany([...company]);\r\n }\r\n }\r\n\r\n async function fecthPositionLevel() {\r\n const data = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n if (data) {\r\n data.map((e: any) => {\r\n if (e.PositionLevelId === props.formData?.PositionLevelId) {\r\n if (control._fields.PositionLevel !== undefined) {\r\n control._fields.PositionLevel._f.value = e;\r\n control._formValues.PositionLevel = e;\r\n }\r\n setFormSelectedPosition({ ...e });\r\n }\r\n });\r\n setPositionLevelList([...data]);\r\n }\r\n }\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.PositionId = 0;\r\n formData.PositionLevelId = formSelectedPosition.PositionLevelId;\r\n formData.PositionLevel = formSelectedPosition.PositionLevel;\r\n // formData.PosotionLevel = data.PositionLevel.PositionLevel;\r\n formData.PositionLevelNameEn = formSelectedPosition.NameEn;\r\n formData.PositionLevelNameTh = formSelectedPosition.NameTh;\r\n formData.CompanyCode = selectComCode.CompanyCode;\r\n formData.NameEn = data.NameEn;\r\n formData.NameTh = data.NameTh;\r\n formData.IsActive = data.IsActive;\r\n formData.AccountId = userData.employeeData.EmployeeId.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n\r\n formData.PositionLevelId = formSelectedPosition.PositionLevelId;\r\n formData.PositionLevel = formSelectedPosition.PositionLevel;\r\n // formData.PosotionLevel = data.PositionLevel.PositionLevel;\r\n formData.PositionLevelNameEn = formSelectedPosition.NameEn;\r\n formData.PositionLevelNameTh = formSelectedPosition.NameTh;\r\n formData.CompanyCode = selectComCode.CompanyCode;\r\n formData.NameEn = data.NameEn;\r\n formData.NameTh = data.NameTh;\r\n formData.IsActive = data.IsActive;\r\n formData.AccountId = userData.employeeData.EmployeeId.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n\r\n let res = await updateDynamic(\"Position\", formData);\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${res.error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n }\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (\r\n !subDialogVisible &&\r\n !subDialogVisible2 &&\r\n props.mainDialogVisible &&\r\n !isEmptyObject(formSelectedPosition)\r\n ) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n setSelectComCode(e.value)}\r\n />\r\n )}\r\n />\r\n {!selectComCode ? getFormErrorMessage(\"CompanyCode\") : null}\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n setFormSelectedPosition(e.value);\r\n }}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n placeholder=\"Select a PositionLevel\"\r\n className={classNames({\r\n \"p-invalid\": fieldState.error,\r\n })}\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n />\r\n )}\r\n />\r\n {!formSelectedPosition\r\n ? getFormErrorMessage(\"PositionLevel\")\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","export const UpdateRole = async (formData: any, items: any) => {\r\n const data = {\r\n role: formData,\r\n formRoleEmployee: items,\r\n };\r\n const respone = await fetch(\"api/Roles/UpdateRole\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetRolePermission = async () => {\r\n const respone = await fetch(\"api/Roles/GetRolePermission\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetPermissionByEmpId = async (data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Roles/GetPermissionByEmpId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport moment from \"moment\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { GetRolePermission, UpdateRole } from \"../../../Services/RoleServices\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const RoleDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [itemsList, setItemsList] = useState([]);\r\n const [itemsListShow, setItemsListShow] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(\r\n window.localStorage.getItem(\"userData\") || \"null\"\r\n );\r\n const [action, setAction] = useState(\"\");\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n\r\n const toast = useRef();\r\n\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n fetchRoleItem();\r\n }, [dataEmployeeList]);\r\n\r\n async function fetchRoleItem() {\r\n let permissions = await GetRolePermission();\r\n let items: any[] = [];\r\n if (permissions) {\r\n let thisPermis = permissions.filter(\r\n (permis: any) =>\r\n permis.RoleId === props.formData.RoleId && !permis.IsDelete\r\n );\r\n\r\n thisPermis.map((permis: any, idx: number) => {\r\n let object: any = {};\r\n object.RoleId = permis.RoleId;\r\n object.EmployeeId = permis.EmployeeId;\r\n object.EmployeeCode = null;\r\n object.NameThRole = null;\r\n object.NameEnRole = null;\r\n object.Email = null;\r\n object.NameThEmployee = null;\r\n object.NameEnEmployee = null;\r\n object.IsActive = true;\r\n object.IsDelete = permis.IsDelete === null ? false : permis.IsDelete;\r\n object.Seq = idx + 1;\r\n items.push(object);\r\n });\r\n\r\n items.map((item: any) => {\r\n dataEmployeeList.map((emp: any) => {\r\n if (item.EmployeeId === emp.EmployeeId) {\r\n item.EmployeeId = emp.EmployeeId;\r\n item.EmployeeCode = emp.EmployeeCode;\r\n item.NameThEmployee = emp.NameTh;\r\n item.NameEnEmployee = emp.NameEn;\r\n item.Email = emp.Email;\r\n }\r\n });\r\n item.NameThRole = props.formData.NameTh;\r\n item.NameEnRole = props.formData.NameEn;\r\n });\r\n setSearchData([\r\n ...dataEmployeeList.filter(\r\n (data: any) =>\r\n !items.find(\r\n ({ EmployeeId, IsDelete }) =>\r\n data.EmployeeId === EmployeeId && !IsDelete\r\n )\r\n ),\r\n ]);\r\n console.log(\"role=>items\", items);\r\n\r\n setItemsList([...items]);\r\n }\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const renderHeader = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e.target.value;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n }\r\n\r\n const onDeleteRow = (data: any, setData: any, empId: string) => {\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n data.map((e: any) => {\r\n if (e[\"EmployeeId\"] === empId) {\r\n e.IsActive = false;\r\n e.IsDelete = true;\r\n }\r\n });\r\n setData([...data]);\r\n },\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n let newList = itemsList.filter((item: any) => !item.IsDelete);\r\n setItemsListShow([...newList]);\r\n }, [itemsList]);\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.RoleId = -1;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.RoleDescription = \"\";\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.RoleId = props.formData.RoleId;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.RoleDescription = \"\";\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n\r\n let res = await UpdateRole(formData, itemsList);\r\n if (itemsList > 0) {\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res.error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n }\r\n } else {\r\n if (res) {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res.error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"roles=>error\", error);\r\n\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n props.toggleMainDialog(false, \"close\");\r\n }\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && !subDialogVisible2 && props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n blockScroll\r\n closable={false}\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n \r\n \r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let items: any[] = e.value;\r\n items.map((item: any, idx: number) => {\r\n item.Seq = idx + 1;\r\n });\r\n\r\n field.onChange([...items]);\r\n setItemsList([...items]);\r\n }}\r\n value={itemsListShow}\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n // size=\"small\"\r\n dataKey=\"id\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n

Employee Code

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n >
\r\n \r\n \r\n

Name Thai

\r\n

ชื่อภาษาไทย

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Name English

\r\n

ชื่อภาษาอังกฤษ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

E-mail

\r\n

อีเมล

\r\n \r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n itemsList,\r\n setItemsList,\r\n rowData[\"EmployeeId\"]\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n \r\n
\r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n {\r\n let item = data;\r\n if (data !== undefined) {\r\n setSearchData([\r\n ...searchData.filter(\r\n (emp: any) => emp.EmployeeId !== item.EmployeeId\r\n ),\r\n ]);\r\n }\r\n let itemsShow: any[] = itemsList;\r\n let object: any = {};\r\n object.RoleId = action === \"add\" ? -1 : props.formData.RoleId;\r\n object.EmployeeId = item.EmployeeId;\r\n object.EmployeeCode = item.EmployeeCode;\r\n object.NameThRole = action === \"add\" ? \"\" : props.formData.NameTh;\r\n object.NameEnRole = action === \"add\" ? \"\" : props.formData.NameEn;\r\n object.Email = item.Email;\r\n object.NameThEmployee = item.NameTh;\r\n object.NameEnEmployee = item.NameEn;\r\n object.IsActive = true;\r\n object.IsDelete = false;\r\n object.Seq = itemsShow.length;\r\n itemsShow.push(object);\r\n\r\n setItemsList([...itemsShow]);\r\n setSubDialogVisible(false);\r\n }}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={subDialogVisible}\r\n setDialogVisible={setSubDialogVisible}\r\n />\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport \"./DropdownComponents.css\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\ninterface Props {\r\n apiName?: string;\r\n valueProps?: any;\r\n optionsProps?: any;\r\n optionLabelProps?: any;\r\n placeholderProps?: any;\r\n onChangeProps?: any;\r\n styleProps?: any;\r\n keyProps?: any;\r\n disable?: any;\r\n filterProps?: boolean;\r\n validationProps?: boolean;\r\n}\r\n\r\nexport const DropdownComponents = (props: Props) => {\r\n const [selectValue, setSelectValue] = useState();\r\n const [obtions, setObtions] = useState([]);\r\n const [style, setstyle] = useState({});\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n useEffect(() => {\r\n if (props.apiName !== undefined) {\r\n fecthData();\r\n } else {\r\n setObtions(props.optionsProps);\r\n }\r\n }, [props.optionsProps]);\r\n\r\n useEffect(() => {\r\n console.log(\"props.optionsProps=\", props.optionsProps);\r\n }, [props.optionsProps]);\r\n\r\n useEffect(() => {\r\n if (props.styleProps !== undefined) {\r\n setstyle(props.styleProps);\r\n }\r\n }, [props.styleProps]);\r\n\r\n useEffect(() => {\r\n if (obtions !== undefined) {\r\n if (props.keyProps === undefined) {\r\n obtions.map((data: any) => {\r\n if (data[props.apiName + \"Id\"] === props.valueProps.value) {\r\n setSelectValue(data);\r\n }\r\n });\r\n }\r\n }\r\n }, [obtions]);\r\n\r\n useEffect(() => {\r\n if (props.apiName !== undefined) {\r\n fecthData();\r\n }\r\n }, [props.apiName]);\r\n\r\n useEffect(() => {\r\n setSelectValue(null);\r\n }, [props.disable]);\r\n\r\n useEffect(() => {\r\n if (props.apiName != undefined) {\r\n props.onChangeProps(props.apiName, selectValue);\r\n } else if (props.keyProps !== undefined) {\r\n props.onChangeProps(selectValue, props.keyProps);\r\n } else {\r\n props.onChangeProps(selectValue);\r\n }\r\n }, [selectValue]);\r\n\r\n async function fecthData() {\r\n let _dataDynamic = await GetAllDynamic(\r\n props.apiName + \"/GetAll\",\r\n undefined\r\n );\r\n if (_dataDynamic !== false) {\r\n setObtions(_dataDynamic);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n setSelectValue(e.target.value);\r\n }}\r\n style={{\r\n width: style.width !== undefined ? style.width : \"100%\",\r\n borderRadius:\r\n style.borderRadius !== undefined\r\n ? style.borderRadius\r\n : \"6px 6px 6px 6px\",\r\n ...style,\r\n borderColor: props.validationProps === true ? \"red\" : \"\",\r\n }}\r\n filter={props.filterProps === undefined ? false : props.filterProps}\r\n panelClassName=\"background-p-highlight\"\r\n />\r\n \r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n apiName: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast?: any;\r\n}\r\n\r\nexport const DynamicDiaLog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [dynamicColumnsGrid, setDynamicColumnsGrid] = useState([]);\r\n const [obtionList, setObtionList] = useState({});\r\n const [uploadFile, setUploadFile] = useState();\r\n const [copyFormdata, setCopyFormdata] = useState();\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const toast = useRef(null);\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setCopyFormdata(props.formData);\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n getColumns();\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const GetColumns = () => {\r\n let columns: any[] = [];\r\n Object.keys(props.tableData[0] ? props.tableData[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n if (!key.toLowerCase().includes(\"id\")) {\r\n if (key !== \"SignPicPath\" && key !== \"UrlLogo\") {\r\n columns.push({\r\n key: key,\r\n dataType: typeof props.tableData[0][key],\r\n });\r\n }\r\n }\r\n }\r\n );\r\n return columns;\r\n };\r\n\r\n function getColumns() {\r\n let data: any[] = GetColumns();\r\n let grids: any[] = [];\r\n let dropdownList: string[] = [];\r\n let apiName = props.apiName;\r\n if (apiName.endsWith(\"s\")) {\r\n apiName = apiName.slice(0, -1);\r\n }\r\n\r\n data.forEach((col: any, index: number) => {\r\n if (\r\n !col.key.toLowerCase().includes(\"account\") &&\r\n !col.key.toLowerCase().includes(\"connectionstring\") &&\r\n !col.key.toLowerCase().includes(\"userprincipalname\") &&\r\n !col.key.toLowerCase().includes(\"itemmenu\") &&\r\n !col.key.toLowerCase().includes(\"orderitem\") &&\r\n !col.key.toLowerCase().includes(\"aumenuid\") &&\r\n !col.key.toLowerCase().includes(\"companycodewithname\")\r\n ) {\r\n if (col.key.includes(\"Id\")) {\r\n if (apiName !== \"MasterData\") {\r\n if (\r\n col.key !=\r\n apiName.replace(\" \", \"\").replace(\"Master\", \"\") + \"Id\"\r\n ) {\r\n if (\r\n col.key.toLowerCase().includes(\"reportto\") &&\r\n col.key.toLowerCase().includes(\"manager\")\r\n ) {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"popup\",\r\n index: index,\r\n });\r\n } else {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"object\",\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n } else if (\r\n col.key.toLowerCase() !== \"createdby\" &&\r\n col.key.toLowerCase() !== \"modifiedby\" &&\r\n col.key.toLowerCase() !== \"createddate\" &&\r\n col.key.toLowerCase() !== \"modifieddate\" &&\r\n !col.key.toLowerCase().includes(\"createdby\") &&\r\n !col.key.toLowerCase().includes(\"modifiedby\")\r\n ) {\r\n if (\r\n !dropdownList.includes(col.key.replace(\"Id\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameTh\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameEn\", \"\"))\r\n ) {\r\n if (col.key.includes(\"Pic\")) {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: \"image\",\r\n index: 999,\r\n });\r\n } else {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: col.dataType,\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n grids.sort((a, b) => a.index - b.index);\r\n\r\n setDynamicColumnsGrid(_dynamicColumnsGrid(grids));\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n function translateFunc(text: string) {\r\n let textTH = \"\";\r\n\r\n textTH = text.replace(\"PositionLevelId\", \"รหัสระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"PositionLevel\", \"ระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"Name\", \"ชื่อ\");\r\n textTH = textTH.replace(\"Th\", \"ภาษาไทย\");\r\n textTH = textTH.replace(\"En\", \"ภาษาอังกฤษ\");\r\n textTH = textTH.replace(\"RoleDescription\", \"คำอธิบายหน้าที่\");\r\n textTH = textTH.replace(\"value\", \"ค่า\");\r\n textTH = textTH.replace(\"Tel\", \"โทรศัพท์\");\r\n textTH = textTH.replace(\"Web\", \"เว็ปไซต์\");\r\n textTH = textTH.replace(\"Address\", \"ที่อยู่\");\r\n textTH = textTH.replace(\"Company\", \"บริษัท\");\r\n textTH = textTH.replace(\"Code\", \"รหัส\");\r\n textTH = textTH.replace(\"IsActive\", \"สถานะ\");\r\n textTH = textTH.replace(\"Fax\", \"แฟกซ์\");\r\n textTH = textTH.replace(\"UrlLogo\", \"Url ชองโลโก้\");\r\n\r\n return textTH;\r\n }\r\n\r\n function manageObjectDatas(fieldName: string, selectedData: any) {\r\n let obtions = obtionList;\r\n obtions[fieldName] = selectedData;\r\n setObtionList({ ...obtions });\r\n }\r\n\r\n function _dynamicColumnsGrid(grids: any) {\r\n let _dataArray: any = [];\r\n let _dataArrayCheck: any = [];\r\n let _dataArraygrid: any = [];\r\n grids.map((col: any, inx: any) => {\r\n _dataArrayCheck.push(col);\r\n if (inx % 2 !== 0) {\r\n _dataArray.push(_dataArrayCheck);\r\n _dataArrayCheck = [];\r\n }\r\n });\r\n\r\n _dataArray.map((col: any, rowIdx: number) => {\r\n let _grid = (\r\n \r\n {col.map((data: any, colIdx: number) => {\r\n let textTH = translateFunc(data.header);\r\n if (data.type === \"string\") {\r\n if (data.header.includes(\"Address\")) {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.header === \"NameTh\" || data.header === \"NameEn\") {\r\n let str = \"\";\r\n if (data.header === \"NameTh\") {\r\n str = \"Name TH\";\r\n } else {\r\n str = \"Name EN\";\r\n }\r\n\r\n return (\r\n <>\r\n {\" \"}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {getFormErrorMessage(data.header)}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n } else if (data.type === \"boolean\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"object\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"number\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"popup\") {\r\n <>\r\n
\r\n

{data.header}

\r\n

รายงานไปที่

\r\n
\r\n
\r\n (\r\n
\r\n \r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {getFormErrorMessage(\"ReportToEmpCode\")}\r\n
\r\n ;\r\n }\r\n })}\r\n
\r\n );\r\n _dataArraygrid.push(_grid);\r\n });\r\n return [..._dataArraygrid];\r\n }\r\n\r\n const updateChanges = (data: any) => {\r\n try {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n }\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n\r\n if (action === \"edit\") {\r\n formData = copyFormdata;\r\n formData[\"CreatedBy\"] = userData.employeeData.EmployeeId.toString();\r\n formData[\"CreatedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n }\r\n Object.keys(data).map((key) => {\r\n formData[key] = data[key] === undefined ? \"\" : data[key];\r\n });\r\n if (!isEmptyObject(obtionList)) {\r\n Object.keys(formData).map((key) => {\r\n if (key !== props.apiName + \"Id\") {\r\n Object.keys(obtionList).map((objectKey) => {\r\n if (key.includes(objectKey)) {\r\n Object.keys(obtionList[objectKey]).map((field) => {\r\n if (field.includes(\"Id\")) {\r\n formData[field] = obtionList[objectKey][field];\r\n } else {\r\n if (field === key) {\r\n formData[key] = obtionList[objectKey][key];\r\n } else {\r\n if (\r\n obtionList[objectKey][key.replace(objectKey, \"\")] !==\r\n undefined\r\n ) {\r\n formData[key] =\r\n obtionList[objectKey][key.replace(objectKey, \"\")];\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n formData[\"ModifiedBy\"] = userData.employeeData.EmployeeId.toString();\r\n formData[\"ModifiedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n console.log(formData);\r\n\r\n let res: any = await updateDynamic(\r\n props.apiName.replace(\" \", \"\"),\r\n formData\r\n );\r\n\r\n if (res.result === \"success\") {\r\n if (props.setTableData !== undefined) {\r\n let newData: any[] = await GetAllDynamic(\r\n props.apiName.replace(\" \", \"\") + \"/GetAll\",\r\n undefined\r\n );\r\n if (newData.length > 0) {\r\n props.setTableData(newData);\r\n }\r\n }\r\n props.setMainDialogVisible(false);\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n } else {\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // props.toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n return (\r\n
\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n breakpoints={{}}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n {dynamicColumnsGrid}\r\n
\r\n
\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ApprovalMatrixDialog } from \"../../SettingDialogComponents/ApprovalMatrixDIalog/ApprovalMatrixDialog\";\r\nimport { CompanyDialog } from \"../../SettingDialogComponents/CompanyDialog/CompanyDialog\";\r\nimport { DepartmentDialog } from \"../../SettingDialogComponents/Department/DepartmentDialog\";\r\nimport { DivisionDialog } from \"../../SettingDialogComponents/DivisionDialog/DivisionDialog\";\r\nimport { EmployeeDialog } from \"../../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { MasterDataDialog } from \"../../SettingDialogComponents/MasterDataDialog/MasterDataDialog\";\r\nimport { MenuDialog } from \"../../SettingDialogComponents/MenuDialog/MenuDialog\";\r\nimport { PositionDialog } from \"../../SettingDialogComponents/PositionDialog/PositionDialog\";\r\nimport { RoleDialog } from \"../../SettingDialogComponents/RoleDialog/RoleDialog\";\r\nimport { DynamicDiaLog } from \"./DynamicDialog\";\r\ninterface Props {\r\n dialogName: string;\r\n titleHeaderProp?: string;\r\n visibleDialogProp?: boolean;\r\n setVisibleDialogProp?: any;\r\n visibleConfirmProp?: boolean;\r\n setVisibleConfirmProp?: any;\r\n checkActionProp?: string;\r\n formDataProp?: any;\r\n dataListProp?: any;\r\n setDataListProp?: any;\r\n matrixItems: any;\r\n tableColumn: any;\r\n setMatrixItems: (items: any) => void;\r\n toastShowSuccessProp: () => void;\r\n toastShowErrorProp: () => void;\r\n messageButtonDialogProp?: string;\r\n setOnLoading?: (bool: boolean) => void;\r\n setCanTableAction: (bool: boolean) => void;\r\n toast?: any;\r\n}\r\n\r\nexport const DialogList = (props: Props) => {\r\n const [pop_up, setPop_up] = useState();\r\n const dialogs = [\r\n {\r\n name: \"Employee\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Department\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"NavbarMenu\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Division\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Approval Matrix\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Data\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Company\",\r\n item: (\r\n \r\n ),\r\n },\r\n // RoleDialog\r\n {\r\n name: \"Roles\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Position\",\r\n item: (\r\n \r\n ),\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n let dd = dialogs.filter((data, idx) => {\r\n if (data.name.includes(props.dialogName)) {\r\n return data;\r\n }\r\n });\r\n if (dd.length > 0) {\r\n setPop_up(dd[0]);\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n {pop_up !== undefined ? (\r\n
{pop_up.item}
\r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport moment from \"moment\";\r\nimport \"../Table.css\";\r\nimport \"primereact/resources/themes/saga-blue/theme.css\";\r\nimport \"primereact/resources/primereact.min.css\";\r\nimport \"primeicons/primeicons.css\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { DialogList } from \"./DialogList\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { GetAllApprovalMatrixItem } from \"../../../Services/ApprovalMatrixService\";\r\nimport {\r\n AutoComplete,\r\n AutoCompleteCompleteMethodParams,\r\n} from \"primereact/autocomplete\";\r\nimport {\r\n GetTemplateTemplateList,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../../Services/TemplateService\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\ninterface Props {\r\n tableName: string;\r\n apiName?: string;\r\n actionBody?: any;\r\n requestBody?: any;\r\n canExport?: boolean;\r\n canAction?: boolean;\r\n canReorderColumn?: boolean;\r\n rowClickFunc?: any;\r\n rowHover?: boolean;\r\n rowPointer?: boolean;\r\n onLoading?: boolean;\r\n setOnLoading?: (bool: boolean) => void;\r\n setItemsCount?: (num: number) => void;\r\n data?: any;\r\n visibleDialogAddProps?: any;\r\n isEditProps?: any;\r\n isDeleteProps?: any;\r\n displayFormDialog?: any;\r\n setDisplayFormDialog?: (bool: boolean) => void;\r\n}\r\n\r\nexport const DynamicTable = (props: Props) => {\r\n let today = new Date();\r\n let month = today.getMonth();\r\n let year = today.getFullYear();\r\n let prevMonth = month === 0 ? 11 : month - 1;\r\n let prevYear = prevMonth === 11 ? year - 1 : year;\r\n let nextMonth = month === 11 ? 0 : month + 1;\r\n let nextYear = nextMonth === 0 ? year + 1 : year;\r\n let minDate = new Date();\r\n const toast = useRef(null);\r\n minDate.setMonth(prevMonth);\r\n minDate.setFullYear(prevYear);\r\n let maxDate = new Date();\r\n maxDate.setMonth(nextMonth);\r\n maxDate.setFullYear(nextYear);\r\n const history = useHistory();\r\n const { toggleAlert } = useAlert();\r\n const [dataDynamicTable, setDataDynamicTable] = useState([]);\r\n const [showdataDynamicTable, setShowDataDynamicTable] = useState([]);\r\n const [exportData, setExportData] = useState([]);\r\n const [toggleSelect, setToggleSelect] = useState(false);\r\n const [clearFilter, setClearFilter] = useState(false);\r\n const [filters2, setFilters2] = useState();\r\n const [showClearDate, setshowClearDatel] = useState(false);\r\n const [titleHead, setTitleHead] = useState(\"\");\r\n const [dataEdit, setDataEdit] = useState({});\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n const [messageButtonDialog, setMessageButtonDialog] = useState(\"\");\r\n const [visibleConfirm, setVisibleConfirm] = useState(false);\r\n const [canReoderColumn, setCanReoderColumn] = useState(false);\r\n const [reportFileName, setReportFileName] = useState();\r\n const [colletionField, setColletionField] = useState();\r\n const [canTableAction, setCanTableAction] = useState(props.canAction);\r\n const [matrixItems, setMatrixItems] = useState([]);\r\n const [columns, setColumns] = useState([]);\r\n const [selectData, setSelectData] = useState([]);\r\n const [filteredData, setFilteredData] = useState();\r\n const userData2 = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [userData] = useUserContext();\r\n\r\n const dt = useRef(null);\r\n\r\n const [selectedColumns, setSelectedColumns] = useState([]);\r\n useEffect(() => {\r\n toggleLoading(true);\r\n }, []);\r\n useEffect(() => {\r\n toggleLoading(true);\r\n fetchData();\r\n }, [props.apiName, props.data]);\r\n\r\n useEffect(() => {\r\n if (props.visibleDialogAddProps) {\r\n if (\r\n props.visibleDialogAddProps === false &&\r\n props.apiName === \"DynamicReport/GetAll\" &&\r\n props.isEditProps !== true\r\n ) {\r\n toggleLoading(true);\r\n\r\n fetchData();\r\n }\r\n }\r\n }, [props.visibleDialogAddProps]);\r\n\r\n useEffect(() => {\r\n if (props.isDeleteProps !== undefined) {\r\n if (props.isDeleteProps) {\r\n toggleLoading(true);\r\n\r\n fetchData();\r\n }\r\n }\r\n }, [props.isDeleteProps]);\r\n\r\n useEffect(() => {\r\n if (!props?.displayFormDialog) {\r\n setDataEdit({});\r\n }\r\n }, [props?.displayFormDialog]);\r\n\r\n useEffect(() => {\r\n if (dataDynamicTable) {\r\n try {\r\n setToggleSelect(true);\r\n setDefSelected();\r\n getColumns();\r\n if (dataDynamicTable.length > 0) {\r\n if (dataDynamicTable[0] !== \"\") {\r\n dataDynamicTable.map((e: any, idx: number) => {\r\n e.rowIdx = idx;\r\n });\r\n setShowDataDynamicTable([...dataDynamicTable]);\r\n } else {\r\n setShowDataDynamicTable([]);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n }\r\n }, [dataDynamicTable]);\r\n\r\n useEffect(() => {\r\n if (showdataDynamicTable) {\r\n setTimeout(() => {\r\n toggleLoading(false);\r\n }, 3000);\r\n }\r\n }, [showdataDynamicTable]);\r\n\r\n function toggleLoading(isload: boolean) {\r\n if (props.setOnLoading !== undefined) {\r\n props.setOnLoading(isload);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setToggleSelect(true);\r\n setDefSelected();\r\n getColumns();\r\n }, []);\r\n\r\n useEffect(() => {\r\n var items_label = document.getElementsByClassName(\r\n \"p-multiselect-items-label\"\r\n );\r\n\r\n if (items_label.length > 0) {\r\n items_label[0].innerHTML = items_label[0].innerHTML.replace(\r\n \"items\",\r\n \"columns\"\r\n );\r\n }\r\n }, [selectedColumns]);\r\n\r\n // useEffect(() => {\r\n // try {\r\n // setShowDataDynamicTable([...dataDynamicTable]);\r\n // } catch (error) {}\r\n // }, [exportData, dataDynamicTable]);\r\n\r\n useEffect(() => {\r\n try {\r\n setClearFilter(false);\r\n if (props.setItemsCount !== undefined) {\r\n props.setItemsCount(showdataDynamicTable.length);\r\n }\r\n } catch (error) {}\r\n }, [showdataDynamicTable]);\r\n\r\n function getColumns() {\r\n if (dataDynamicTable !== undefined) {\r\n let arrayDataColumn: any[] = [];\r\n if (colletionField !== undefined) {\r\n colletionField.map((collection: any, idx: number) => {\r\n if (collection.isChecked > 0) {\r\n arrayDataColumn.push({\r\n field: collection.key,\r\n header: collection.dispalyLebelAndAlter,\r\n alter: collection.alter,\r\n fieldTypeFilterDynamic: collection.FieldTypeFilterDynamic,\r\n seq: idx,\r\n });\r\n }\r\n });\r\n } else {\r\n Object.keys(\r\n dataDynamicTable[0] != undefined || dataDynamicTable[0] != null\r\n ? dataDynamicTable[0]\r\n : (dataDynamicTable[0] = \"\")\r\n ).map((key: any, idx: number) => {\r\n if (\r\n props.tableName === \"Delegate List\" ||\r\n props.tableName === \"Template List\"\r\n ) {\r\n if (key !== \"ModifiedDate\" && key !== \"IsActive\") {\r\n arrayDataColumn.push({\r\n field: key,\r\n header: key.replace(\"PosotionLevel\", \"PositionLevel\"),\r\n dataType: typeof dataDynamicTable[0][key],\r\n seq: idx,\r\n });\r\n }\r\n } else {\r\n if (key !== \"Memo_MAdvancveForm\") {\r\n arrayDataColumn.push({\r\n field: key,\r\n header: key.replace(\"PosotionLevel\", \"PositionLevel\"),\r\n dataType: typeof dataDynamicTable[0][key],\r\n seq: idx,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n setColumns(arrayDataColumn);\r\n setSelectedColumns(arrayDataColumn);\r\n }\r\n }\r\n\r\n function setDefSelected() {\r\n let options: any = [];\r\n columns.map((e: any) => {\r\n if (e.field !== \"Memo_MAdvancveForm\" && !e.field.includes(\"Id\")) {\r\n options.push(e);\r\n }\r\n });\r\n\r\n setSelectedColumns(options);\r\n }\r\n\r\n const fetchData = async () => {\r\n try {\r\n toggleLoading(true);\r\n\r\n let requestBody = undefined;\r\n setDataDynamicTable([]);\r\n setFilters2(null);\r\n\r\n if (props.requestBody != undefined) {\r\n requestBody = props.requestBody;\r\n }\r\n if (props.canReorderColumn != undefined) {\r\n setCanReoderColumn(props.canReorderColumn);\r\n }\r\n\r\n let _dataDynamic;\r\n if (props.data !== undefined) {\r\n _dataDynamic = props.data;\r\n } else if (props.apiName !== undefined) {\r\n if (props.apiName === \"TemplateList/GetAll\") {\r\n requestBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n CreatedBy: userData.EmployeeId.toString(),\r\n DepartmentId: userData.DepartmentId,\r\n Username: userData.Username,\r\n }),\r\n };\r\n }\r\n _dataDynamic = await GetAllDynamic(props.apiName, requestBody);\r\n\r\n if (props.apiName === \"ApprovalMatrix/GetAll\") {\r\n let matrixItem = await GetAllApprovalMatrixItem();\r\n if (matrixItem) {\r\n setMatrixItems([\r\n ...matrixItem.filter((e: any) => e.IsActive === true),\r\n ]);\r\n }\r\n }\r\n if (props.apiName === \"TemplateList/GetAll\") {\r\n _dataDynamic = _dataDynamic.filter((e: any) => e.IsActive === true);\r\n }\r\n // if (props.apiName === \"TemplateList/GetAll\") {\r\n // const dataJson = {\r\n // CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n // DepartmentId: userData.employeeData.DepartmentId,\r\n // };\r\n // console.log(\"table=>props.apiName\", props.apiName);\r\n // _dataDynamic = await GetTemplateTemplateListVersion(dataJson);\r\n // } else {\r\n // _dataDynamic = await GetAllDynamic(props.apiName, requestBody);\r\n // if (props.apiName === \"ApprovalMatrix/GetAll\") {\r\n // let matrixItem = await GetAllApprovalMatrixItem();\r\n // if (matrixItem) {\r\n // setMatrixItems([\r\n // ...matrixItem.filter((e) => e.IsActive === true),\r\n // ]);\r\n // }\r\n // }\r\n // }\r\n }\r\n if (_dataDynamic !== undefined && _dataDynamic) {\r\n let myData: any = [];\r\n let newData: any = [];\r\n\r\n if (_dataDynamic.FieldCollection !== undefined) {\r\n setColletionField(JSON.parse(_dataDynamic.FieldCollection));\r\n }\r\n if (_dataDynamic.dt_Report === undefined) {\r\n myData = _dataDynamic[0];\r\n newData = _dataDynamic;\r\n } else {\r\n myData = _dataDynamic.dt_Report[0];\r\n newData = _dataDynamic.dt_Report;\r\n }\r\n\r\n let filters2: any = {};\r\n if (myData != undefined) {\r\n for (const [key, value] of Object.entries(myData)) {\r\n try {\r\n if (typeof value === \"number\") {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.EQUALS,\r\n };\r\n } else if (key.toLowerCase().includes(\"date\")) {\r\n if (key === \"DateFrom\") {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.DATE_AFTER,\r\n };\r\n } else if (key === \"DateTo\") {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.DATE_BEFORE,\r\n };\r\n } else {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.BETWEEN,\r\n };\r\n }\r\n } else if (key.toLowerCase().includes(\"action\")) {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.DATE_IS,\r\n };\r\n } else {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.CONTAINS,\r\n };\r\n }\r\n } catch (error) {}\r\n }\r\n }\r\n\r\n newData.map((e: any) => {\r\n Object.keys(newData[0]).map((key) => {\r\n if (\r\n key === \"ModifiedDate\" ||\r\n key.toLocaleLowerCase().includes(\"date\") ||\r\n key.includes(\"วันที่\")\r\n ) {\r\n if (e[key] !== null) {\r\n return (e[key] = new Date(e[key]));\r\n }\r\n } else if (\r\n typeof e[key] === \"number\" &&\r\n !key.toLowerCase().includes(\"id\") &&\r\n !key.toLowerCase().includes(\"id\") &&\r\n !key.toLowerCase().includes(\"modifiedby\") &&\r\n !key.toLowerCase().includes(\"createdby\")\r\n ) {\r\n e[key] = Number(e[key]);\r\n }\r\n });\r\n });\r\n\r\n if (_dataDynamic.ReportName != undefined) {\r\n setReportFileName(_dataDynamic.ReportName);\r\n }\r\n\r\n setFilters2(filters2);\r\n if (newData.length > 0) {\r\n setDataDynamicTable([...newData]);\r\n setExportData([...newData]);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"DynamicTable=>Error\", error);\r\n toggleLoading(false);\r\n }\r\n };\r\n\r\n const formatIsActive = (value: any) => {\r\n if (value == null) {\r\n return false;\r\n }\r\n return value.toString();\r\n };\r\n\r\n const statusItemTemplate = (option: any) => {\r\n return {option};\r\n };\r\n const statusRowFilterTemplate = (option: any, label: string) => {\r\n if (clearFilter) {\r\n option.value = null;\r\n option.filterApplyCallback(null);\r\n }\r\n return (\r\n option.filterApplyCallback(e.value)}\r\n itemTemplate={statusItemTemplate}\r\n placeholder={\"Search \" + label}\r\n className=\"p-column-filter\"\r\n showClear\r\n />\r\n );\r\n };\r\n\r\n const monthNavigatorTemplate = (e: any) => {\r\n return (\r\n e.onChange(event.originalEvent, event.value)}\r\n style={{ lineHeight: 1 }}\r\n />\r\n );\r\n };\r\n\r\n const dateFilterTemplate = (option: any, label: string) => {\r\n if (clearFilter) {\r\n option.value = null;\r\n option.filterApplyCallback(null);\r\n }\r\n return (\r\n {\r\n setshowClearDatel(true);\r\n\r\n option.filterApplyCallback(e.value);\r\n }}\r\n monthNavigator\r\n yearNavigator\r\n yearRange={1980 + \":\" + 2050}\r\n monthNavigatorTemplate={monthNavigatorTemplate}\r\n yearNavigatorTemplate={yearNavigatorTemplate}\r\n selectionMode=\"range\"\r\n readOnlyInput\r\n dateFormat=\"dd M yy\"\r\n />\r\n );\r\n };\r\n\r\n const normalFilterTemplate = (option: any, label: string) => {\r\n try {\r\n if (clearFilter) {\r\n option.value = \"\";\r\n option.filterApplyCallback(null);\r\n }\r\n if (option.filterModel.matchMode) {\r\n if (option.filterModel.matchMode === \"equals\") {\r\n return (\r\n option.filterApplyCallback(e.target.value)}\r\n mode=\"decimal\"\r\n minFractionDigits={label !== \"PositionLevel\" ? 2 : 0}\r\n />\r\n );\r\n } else {\r\n return (\r\n {\r\n setTimeout(() => {\r\n let datas: any[];\r\n if (!e.query.trim().length) {\r\n datas = [...dataDynamicTable];\r\n } else {\r\n datas = dataDynamicTable.filter((c: any) => {\r\n return c[option.field]\r\n ?.toLowerCase()\r\n .startsWith(e.query.toLowerCase());\r\n });\r\n }\r\n datas = getUnique(datas, option.field);\r\n setFilteredData([...datas]);\r\n }, 250);\r\n }}\r\n onSelect={(e) => {\r\n option.filterApplyCallback(e.value[option.field]);\r\n }}\r\n field={option.field}\r\n onChange={(e) => {\r\n option.filterApplyCallback(e.value);\r\n }}\r\n />\r\n );\r\n }\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n function getUnique(array: any[], key) {\r\n if (typeof key !== \"function\") {\r\n const property = key;\r\n key = function (item) {\r\n return item[property];\r\n };\r\n }\r\n return Array.from(\r\n array\r\n .reduce(function (map, item) {\r\n const k = key(item);\r\n if (!map.has(k)) map.set(k, item);\r\n return map;\r\n }, new Map())\r\n .values()\r\n );\r\n }\r\n\r\n const onColReorder = (colOrder: any) => {\r\n colOrder.columns.map((col: any, idx: number) => {\r\n selectedColumns.map((selCol: any) => {\r\n if (selCol.field === col.props.field) {\r\n selCol.seq = idx;\r\n }\r\n });\r\n });\r\n setSelectedColumns([\r\n ...selectedColumns.sort((a: any, b: any) => (a.seq > b.seq ? 1 : -1)),\r\n ]);\r\n };\r\n\r\n const formatDate = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n function reconStructionForExport() {\r\n try {\r\n let dataExport: any = [];\r\n\r\n exportData.map((data: any) => {\r\n let dataField: any = {};\r\n selectedColumns.map((col: any) => {\r\n if (col.fieldTypeFilterDynamic === \"c\") {\r\n if (data[col.field] !== null) {\r\n dataField[col.header] = data[col.field]?.toLocaleString(\r\n undefined,\r\n {\r\n minimumFractionDigits: 2,\r\n }\r\n );\r\n }\r\n } else if (\r\n col.fieldTypeFilterDynamic === \"d\" ||\r\n col.field.toLowerCase().includes(\"date\")\r\n ) {\r\n if (col.header.toLowerCase().includes(\"action\")) {\r\n let newDate = data[col.field].toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n }\r\n } else {\r\n let newDate = formatDate(data[col.field]);\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n } else {\r\n let someDateString = moment(data[col.field], \"MM/DD/YYYY\");\r\n newDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n } else {\r\n newDate = moment(data[col.field]).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n } else {\r\n dataField[col.header] = \"\";\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n dataField[col.header] = data[col.field];\r\n }\r\n });\r\n if (props.apiName === \"MasterCompany/GetAll\") {\r\n delete dataField[\"UrlLogo\"];\r\n }\r\n dataExport.push(dataField);\r\n });\r\n return dataExport;\r\n } catch (error) {}\r\n }\r\n\r\n function reconStructionForShowData() {\r\n try {\r\n let dataShow: any = [];\r\n dataDynamicTable.map((data: any) => {\r\n let dataField: any = {};\r\n selectedColumns.map((col: any) => {\r\n if (col.fieldTypeFilterDynamic === \"c\") {\r\n if (data[col.field] !== null) {\r\n dataField[col.field] = data[col.field];\r\n }\r\n } else if (\r\n col.fieldTypeFilterDynamic === \"d\" ||\r\n col.header.toLowerCase().includes(\"date\")\r\n ) {\r\n if (data[col.field] !== null && data[col.field] !== \"\") {\r\n dataField[col.field] = new Date(data[col.field]);\r\n }\r\n } else {\r\n dataField[col.field] = data[col.field];\r\n }\r\n });\r\n if (props.apiName === \"MasterCompany/GetAll\") {\r\n delete dataField[\"UrlLogo\"];\r\n }\r\n dataShow.push(dataField);\r\n });\r\n\r\n return dataShow;\r\n } catch (error) {}\r\n }\r\n\r\n const actionLinkIReport = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n const memoid = { MemoID: rowData.Memo_MemoId };\r\n window.open(`/Request?MemoID=${rowData.Memo_MemoId}`, \"blank\");\r\n // history.push(`/Request?MemoID=${rowData.Memo_MemoId}`, memoid);\r\n }}\r\n >\r\n \r\n {rowData.Memo_DocumentNo}\r\n \r\n

\r\n \r\n );\r\n };\r\n\r\n const dynamicColumns = selectedColumns.map((col: any) => {\r\n try {\r\n if (\r\n !col.field.includes(\"Form\") &&\r\n col.field !== \"ModifiedBy\" &&\r\n col.field !== \"CreatedBy\"\r\n ) {\r\n if (\r\n col.field.toLowerCase().includes(\"isactive\") ||\r\n col.field.toLowerCase().includes(\"ispublic\") ||\r\n col.field.toLowerCase().includes(\"isprivate\") ||\r\n col.field.toLowerCase().includes(\"InternalUrl\")\r\n ) {\r\n return (\r\n {\r\n try {\r\n return formatIsActive(rowData[col.field]);\r\n } catch (error) {}\r\n }}\r\n header={\r\n
\r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n
\r\n }\r\n sortable\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n statusRowFilterTemplate(option, col.header)\r\n }\r\n filterHeaderClassName={\"gggg\"}\r\n showClearButton={showClearDate}\r\n onFilterClear={() => setshowClearDatel(false)}\r\n />\r\n );\r\n } else if (\r\n col.field.includes(\"Date\") ||\r\n col.field.includes(\"วันที่\") ||\r\n col.fieldTypeFilterDynamic === \"d\"\r\n ) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n body={(rowData: any) => {\r\n try {\r\n if (col.field.toLowerCase().includes(\"action\")) {\r\n if (\r\n rowData[col.field] !== null &&\r\n rowData[col.field] !== undefined &&\r\n rowData[col.field] !== \"\"\r\n ) {\r\n let newDate = rowData[col.field].toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n if (newDate !== \"Invalid date\") {\r\n return newDate;\r\n }\r\n } else {\r\n rowData[col.field] = null;\r\n return \"\";\r\n }\r\n } else {\r\n if (\r\n rowData[col.field] !== null &&\r\n rowData[col.field] !== undefined &&\r\n rowData[col.field] !== \"\"\r\n ) {\r\n let newDate = formatDate(rowData[col.field]);\r\n if (newDate !== \"Invalid date\") {\r\n rowData[col.field] = new Date(newDate);\r\n return newDate;\r\n } else {\r\n let someDateString = moment(\r\n rowData[col.field],\r\n \"MM/DD/YYYY\"\r\n );\r\n newDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n rowData[col.field] = new Date(newDate);\r\n return newDate;\r\n } else {\r\n newDate = moment(rowData[col.field]).format(\r\n \"DD MMM yyyy\"\r\n );\r\n if (newDate !== \"Invalid date\") {\r\n rowData[col.field] = new Date(newDate);\r\n return newDate;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n }\r\n } else {\r\n rowData[col.field] = null;\r\n return \"\";\r\n }\r\n }\r\n } catch (error) {}\r\n }}\r\n sortable\r\n dataType=\"date\"\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n dateFilterTemplate(option, col.header)\r\n }\r\n showClearButton={showClearDate}\r\n onFilterClear={() => setshowClearDatel(false)}\r\n />\r\n );\r\n } else if (\r\n (!col.field.includes(\"Id\") &&\r\n col.dataType === \"number\" &&\r\n col.header !== \"PositionLevel\") ||\r\n col.fieldTypeFilterDynamic === \"c\"\r\n ) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n bodyClassName={\"number-style\"}\r\n body={(rowData: any) => {\r\n try {\r\n if (rowData[col.field] !== null) {\r\n return rowData[col.field]?.toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n });\r\n }\r\n } catch {}\r\n }}\r\n sortable\r\n dataType=\"numeric\"\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n normalFilterTemplate(option, col.header)\r\n }\r\n showClearButton={false}\r\n />\r\n );\r\n } else if (col.field.includes(\"AmountFrom_AmountTo\")) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n sortable\r\n body={(rowData: any) => {\r\n try {\r\n let mainStr = \"\";\r\n let data = matrixItems.filter(\r\n (item: any) =>\r\n item.ApproveMatrixId === rowData.ApproveMatrixId &&\r\n item.IsActive === true &&\r\n (item.ApproverId !== 0 || item.PositionLevelId !== 0)\r\n );\r\n data.sort((a, b) => (a.Seq > b.Seq ? 1 : -1));\r\n let dd = data.map((e: any, idx: number) => {\r\n if (idx < 3) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n return

{subStr}

;\r\n } else if (idx <= 4) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n return

......

;\r\n }\r\n });\r\n\r\n rowData.AmountFrom_AmountTo = mainStr;\r\n return dd;\r\n } catch {}\r\n }}\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n normalFilterTemplate(option, col.header)\r\n }\r\n showClearButton={false}\r\n />\r\n );\r\n } else if (\r\n !col.field.includes(\"Id\") &&\r\n col.field !== \"ModifiedBy\" &&\r\n col.field !== \"CreatedBy\" &&\r\n col.field !== \"SignPicPath\"\r\n ) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n sortable\r\n body={(rowData: any) => {\r\n try {\r\n if (typeof rowData[col.field] === \"string\") {\r\n let data: string = rowData[col.field];\r\n if (data.includes(\"base64\")) {\r\n var image = new Image();\r\n image.src = data;\r\n return ;\r\n } else {\r\n return col.field == \"Memo_DocumentNo\"\r\n ? actionLinkIReport(rowData)\r\n : rowData[col.field];\r\n }\r\n } else {\r\n return rowData[col.field];\r\n }\r\n } catch {}\r\n }}\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n normalFilterTemplate(option, col.header)\r\n }\r\n showClearButton={false}\r\n />\r\n );\r\n }\r\n }\r\n } catch (ex) {\r\n console.log(\"table=>ex\", ex);\r\n }\r\n });\r\n\r\n const toastShowSuccess = () => {\r\n toggleAlert({\r\n description: `Success!`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n // toast.current.show({\r\n // severity: \"success\",\r\n // summary: \"Success !\",\r\n // life: 3000,\r\n // });\r\n };\r\n const toastShowError = () => {\r\n toggleAlert({\r\n description: `Error!`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Validation failed\",\r\n // });\r\n };\r\n\r\n const actionBodyTemplate = (rowData: any) => {\r\n let selData: any[] = [];\r\n dataDynamicTable.map((e: any) => {\r\n if (e[selectedColumns[0].field] === rowData[selectedColumns[0].field]) {\r\n selData.push(e);\r\n }\r\n });\r\n return (\r\n \r\n {\r\n setDataEdit(selData[0]);\r\n setTitleHead(\"Edit Data / แก้ไขข้อมูล\");\r\n setMessageButtonDialog(\"Update Changes\");\r\n setCheckAction(\"edit\");\r\n if (props?.setDisplayFormDialog !== undefined) {\r\n props?.setDisplayFormDialog(!props?.displayFormDialog);\r\n }\r\n setVisibleConfirm(false);\r\n },\r\n },\r\n ]}\r\n dropdownIcon=\"pi pi-ellipsis-v\"\r\n />\r\n \r\n );\r\n };\r\n\r\n const onColumnToggle = (event: any) => {\r\n let selectedColumns = event.value;\r\n let orderedSelectedColumns = columns.filter((col: any) =>\r\n selectedColumns.some((sCol: any) => sCol.field === col.field)\r\n );\r\n\r\n setSelectedColumns(orderedSelectedColumns);\r\n };\r\n\r\n const exportXLSX = (selectionOnly: any) => {\r\n exportXLSX({ selectionOnly });\r\n };\r\n\r\n const exportExcel = () => {\r\n const excelData = reconStructionForExport();\r\n import(\"xlsx\").then((xlsx: any) => {\r\n const worksheet = xlsx.utils.json_to_sheet(excelData);\r\n const workbook = { Sheets: { data: worksheet }, SheetNames: [\"data\"] };\r\n const excelBuffer = xlsx.write(workbook, {\r\n bookType: \"xlsx\",\r\n type: \"array\",\r\n });\r\n saveAsExcelFile(excelBuffer, reportFileName + \" : \" + new Date());\r\n toggleLoading(false);\r\n });\r\n };\r\n\r\n const saveAsExcelFile = (buffer: any, fileName: any) => {\r\n import(\"file-saver\").then((FileSaver: any) => {\r\n let EXCEL_TYPE =\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\";\r\n let EXCEL_EXTENSION = \".xlsx\";\r\n const data = new Blob([buffer], {\r\n type: EXCEL_TYPE,\r\n });\r\n FileSaver.saveAs(\r\n data,\r\n fileName + \"_export_\" + new Date().getTime() + EXCEL_EXTENSION\r\n );\r\n });\r\n };\r\n\r\n const yearNavigatorTemplate = (e: any) => {\r\n return (\r\n e.onChange(event.originalEvent, event.value)}\r\n className=\"p-ml-2\"\r\n style={{ lineHeight: 1 }}\r\n />\r\n );\r\n };\r\n\r\n const renderHeader1 = () => {\r\n const selCol = [...selectedColumns];\r\n let showSelCol: any[] = [];\r\n const col = [...columns];\r\n let showCol: any[] = [];\r\n selCol.map((e: any) => {\r\n if (!e.field.toLowerCase().includes(\"id\")) {\r\n showSelCol.push(e);\r\n }\r\n });\r\n col.map((e: any) => {\r\n if (!e.field.toLowerCase().includes(\"id\")) {\r\n showCol.push(e);\r\n }\r\n });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n const recon = reconStructionForShowData();\r\n const uniqueArray = recon.filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value);\r\n return (\r\n index ===\r\n recon.findIndex((obj: any) => {\r\n return JSON.stringify(obj) === _value;\r\n })\r\n );\r\n });\r\n setShowDataDynamicTable([...uniqueArray]);\r\n setClearFilter(true);\r\n }}\r\n onChange={onColumnToggle}\r\n placeholder=\"Select columns\"\r\n style={{ width: \"20em\" }}\r\n />\r\n
\r\n {props.canExport && (\r\n
\r\n {\r\n toggleLoading(true);\r\n exportExcel();\r\n }}\r\n style={{\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n margin: \" 0px 11px 0px 0px\",\r\n }}\r\n data-pr-tooltip=\"XLS\"\r\n />\r\n {/* */}\r\n {props.apiName !== \"DynamicReport/GetReportDetailById\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n Import From excel\r\n \r\n \r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n };\r\n const importExcel = async (e: any) => {\r\n const file = e.target.files[0];\r\n try {\r\n if (toggleLoading != undefined) toggleLoading(true);\r\n import(\"xlsx\").then((xlsx) => {\r\n const reader = new FileReader();\r\n try {\r\n reader.onload = async (e: any) => {\r\n const wb = xlsx.read(e.target.result, { type: \"array\" });\r\n const wsname = wb.SheetNames[0];\r\n const ws = wb.Sheets[wsname];\r\n const data = xlsx.utils.sheet_to_json(ws, { header: 1 });\r\n const cols: any = data[0];\r\n data.shift();\r\n let _importedData = data.map((d: any) => {\r\n return cols.reduce((obj: any, c: any, i: any) => {\r\n obj[c] = d[i];\r\n return obj;\r\n }, {});\r\n });\r\n\r\n if (_importedData.length !== 0) {\r\n for (let i = 0; i < _importedData.length; i++) {\r\n const element = _importedData[i];\r\n var apiNamereplace = props.apiName?.replace(\"/GetAll\", \"\");\r\n\r\n let res = await updateDynamic(apiNamereplace, element);\r\n if (res.result === \"success\") {\r\n if (_importedData.length - 1 === i) {\r\n let _dataDynamic = await GetAllDynamic(\r\n props.apiName,\r\n undefined\r\n );\r\n\r\n setDataDynamicTable([..._dataDynamic]);\r\n if (toggleLoading !== undefined) {\r\n toggleLoading(false);\r\n }\r\n }\r\n } else {\r\n }\r\n }\r\n }\r\n };\r\n\r\n reader.readAsArrayBuffer(file);\r\n } catch (error) {}\r\n });\r\n } catch (error) {}\r\n };\r\n function onRowClick(rowData: any) {\r\n if (props.rowClickFunc != undefined) {\r\n props.rowClickFunc(rowData);\r\n }\r\n }\r\n\r\n const header1 = renderHeader1();\r\n\r\n function renderActionColumn() {\r\n if (props.canAction) {\r\n if (props.actionBody !== undefined) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n }\r\n\r\n const rowClassName = () => {\r\n if (props.rowPointer) {\r\n return \"row-pointer\";\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!props.onLoading && (\r\n
\r\n setSelectData(e.value)}\r\n globalFilterFields={columns.map((e: any) => e.field)}\r\n rowsPerPageOptions={[10, 15, 20, 50, 100]}\r\n rowHover={props.rowHover}\r\n onValueChange={(e: any) => {\r\n if (props.setItemsCount !== undefined) {\r\n props.setItemsCount(e.length);\r\n }\r\n setExportData(e);\r\n }}\r\n filters={filters2}\r\n filterDisplay=\"row\"\r\n paginatorTemplate=\"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink CurrentPageReport RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords} products\"\r\n responsiveLayout=\"scroll\"\r\n size=\"small\"\r\n >\r\n {dynamicColumns.length > 0 ? renderActionColumn() : null}\r\n {dynamicColumns}\r\n \r\n {visibleConfirm && props?.displayFormDialog == false && (\r\n \r\n )}\r\n {props?.displayFormDialog && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","export const GetAllTemplate = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const GetTemplateFromDDL = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const respone = await fetch(\"api/TemplateList/GetTemplateFromDDL\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateTemplateListVersion = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateBindFormNameDDL\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateeBindFormNameDDL = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateBindFormNameDDL\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetTemplateTemplateList = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateListBindGroup\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const SearchTemplateListEditing = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n console.log(\"dataJson\", dataJson);\r\n const respone = await fetch(\"api/TemplateList/SearchTemplateListEditing\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateListVersionHistory = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\r\n \"api/TemplateList/GetTemplateListVersionHistory\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateByDocTypeCode = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateByDocTypeCode\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n // window.location.href = \"/UnAuthorize\";\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetTemplate = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"table=>err\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetAllByCreateTemplate = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAllByCreateTemplate\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.filter((item: any) => {\r\n return item.IsActive === true;\r\n });\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const ReportTemplateList = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAllReportTemplateList\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetTemplateByIdDto = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateByIdDto\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetTemplateControlById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateControlById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n console.log(\"ddddddddddddddsadasdasdas\", response);\r\n\r\n return response.json();\r\n })\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((error) => {\r\n return error;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const AddTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/AddData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const AddTemplateAndVersion = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/SaveTemplateAndVersion\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const DeleteTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/DeleteTemplate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const LoadLogic = async (template_id: any) => {\r\n const dataLogic = await fetch(\"api/TemplateList/TemplateByid/LoadLogic\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ TemplateId: template_id }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(\"Logic: \", data);\r\n\r\n return data;\r\n });\r\n return dataLogic;\r\n};\r\n\r\nexport const ValidateRefTemplate = async (dataJson: any) => {\r\n const refValid = await fetch(\"api/TemplateList/ValidateRefTemplate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(\"Logic: \", data);\r\n\r\n return data;\r\n });\r\n return refValid;\r\n};","import React, { useState, useEffect } from \"react\";\r\nimport { Popover, Collapse } from \"antd\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { BsPlusCircle } from \"react-icons/bs\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { AiOutlineStar, AiFillStar } from \"react-icons/ai\";\r\nimport { BsSearch } from \"react-icons/bs\";\r\nimport { IoAdd, IoChevronForward } from \"react-icons/io5\";\r\nimport { IoChevronDownSharp } from \"react-icons/io5\";\r\nimport \"./TreeSelectNewRequest.css\";\r\nimport {\r\n GetAllTemplate,\r\n GetTemplateeBindFormNameDDL,\r\n GetTemplateFromDDL,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../Services/TemplateService\";\r\nimport { Button } from \"primereact/button\";\r\nimport { GetRolePermission } from \"../../Services/RoleServices\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface Props {\r\n setDataTemplateTreeProps?: any;\r\n}\r\n\r\nexport const TreeSelectNewRequest = (props: Props) => {\r\n const [groupDataTemplate, setGroupDataTemplate] = useState([]);\r\n const [searchTemplate, setSearchTemplate] = useState([]);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [checkActionFavorite, setCheckActionFavorite] =\r\n useState(false);\r\n const [checkActionPanel, setCheckActionPanel] = useState(false);\r\n const [checkFilter, setCheckFilter] = useState(false);\r\n const [userData] = useUserContext();\r\n const { Panel } = Collapse;\r\n const cookies = new Cookies();\r\n const location = useLocation();\r\n const history = useHistory();\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n fetchDataTemplate();\r\n window.addEventListener(\"scroll\", handleScroll);\r\n return () => window.removeEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n\r\n async function fetchDataTemplate() {\r\n try {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const empid = empData.employeeData.EmployeeId;\r\n const DepartmentId = empData.employeeData.DepartmentId;\r\n const dataJson = {\r\n Username: userData.Username,\r\n DepartmentId: Number(userData.DepartmentId),\r\n EmployeeId: Number(userData.EmployeeId),\r\n Email: userData.Email,\r\n selectAll: false,\r\n DefultMode: false,\r\n OnlyActive: true,\r\n };\r\n\r\n let _dataTemplate = await GetTemplateFromDDL(dataJson);\r\n let _groupDataTemplate: any = [{ header: \"Favorite\", data: [] }];\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || '[]';\r\n fav_cookie = JSON.parse(fav_cookie);\r\n let groupTemplate = _dataTemplate?.reduce(function (r: any, a: any) {\r\n r[a.GroupTemplateName] = r[a.GroupTemplateName] || [];\r\n r[a.GroupTemplateName].push(a);\r\n return r;\r\n }, Object.create(null));\r\n const roles = await GetRolePermission();\r\n\r\n const keyDataTemplate = Object.entries(groupTemplate)\r\n keyDataTemplate.sort((a, b) => a[0].localeCompare(b[0]))\r\n groupTemplate = Object.fromEntries(keyDataTemplate)\r\n\r\n for (const [key, value] of Object.entries(groupTemplate)) {\r\n let _value: any = value;\r\n for (let i = 0; i < _value.length; i++) {\r\n if (fav_cookie?.length > 0) {\r\n for (let k = 0; k < fav_cookie.length; k++) {\r\n if (\r\n fav_cookie[k]?.TemplateNameWithCode ===\r\n _value[i]?.TemplateNameWithCode\r\n ) {\r\n _value[i][\"favorite\"] = fav_cookie[k].favorite;\r\n _groupDataTemplate[0].data.push(_value[i]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n _groupDataTemplate.push({ header: key, data: _value });\r\n }\r\n setGroupDataTemplate(_groupDataTemplate);\r\n setSearchTemplate(_groupDataTemplate);\r\n } catch (error) {}\r\n }\r\n const onClickStar = (groupIdx: any, templateIdx: any, idx: number) => {\r\n setCheckActionFavorite(true);\r\n let _groupDataTemplate = searchTemplate;\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n if (groupIdx === _groupDataTemplate[i].header) {\r\n for (let j = 0; j < _groupDataTemplate[i].data.length; j++) {\r\n if (\r\n _groupDataTemplate[i].data[j].TemplateNameWithCode === templateIdx\r\n ) {\r\n _groupDataTemplate[i].data[j].favorite =\r\n !_groupDataTemplate[i].data[j].favorite;\r\n }\r\n }\r\n }\r\n }\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || '[]';\r\n fav_cookie = JSON.parse(fav_cookie);\r\n let checkUnClickStar: boolean = false;\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n if (\r\n _groupDataTemplate[i].header === groupIdx &&\r\n _groupDataTemplate[i].header !== \"Favorite\"\r\n ) {\r\n for (let j = 0; j < fav_cookie.length; j++) {\r\n const element2 = fav_cookie[j];\r\n if (\r\n _groupDataTemplate[i].data[idx].TemplateId === element2.TemplateId\r\n ) {\r\n fav_cookie.splice(j, 1);\r\n checkUnClickStar = true;\r\n }\r\n }\r\n if (!checkUnClickStar) {\r\n fav_cookie.push(_groupDataTemplate[i].data[idx]);\r\n }\r\n }\r\n }\r\n let checkHasFavorite: boolean = false;\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n const element = _groupDataTemplate[i];\r\n if (element.header === \"Favorite\") {\r\n checkHasFavorite = true;\r\n }\r\n }\r\n if (checkHasFavorite) {\r\n _groupDataTemplate[0].data.splice(\r\n 0,\r\n _groupDataTemplate[0].data.length,\r\n ...fav_cookie\r\n );\r\n } else {\r\n let _groupDataTemplate2: any = [{ header: \"Favorite\", data: [] }];\r\n _groupDataTemplate2[0].data = fav_cookie;\r\n console.log(fav_cookie, \"fav_cookieCheckHasFavorite\");\r\n console.log(_groupDataTemplate2, \"_groupDataTemplate2\");\r\n _groupDataTemplate.splice(0, 0, _groupDataTemplate2[0]);\r\n }\r\n\r\n window.localStorage.setItem(\"favorite\", JSON.stringify(fav_cookie));\r\n setSearchTemplate([..._groupDataTemplate]);\r\n };\r\n const onUnFavorite = (\r\n _groupTemplateName: any,\r\n _templateNameWithCode: any,\r\n idx: any\r\n ) => {\r\n setCheckActionFavorite(true);\r\n let _groupDataTemplate = groupDataTemplate;\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || '[]';\r\n fav_cookie = JSON.parse(fav_cookie);\r\n _groupDataTemplate[0].data = fav_cookie;\r\n for (let i = 0; i < _groupDataTemplate[0].data.length; i++) {\r\n _groupDataTemplate[0].data.splice(idx, 1);\r\n break;\r\n }\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n if (_groupTemplateName === _groupDataTemplate[i].header) {\r\n for (let j = 0; j < _groupDataTemplate[i].data.length; j++) {\r\n if (\r\n _groupDataTemplate[i].data[j].TemplateNameWithCode ===\r\n _templateNameWithCode\r\n ) {\r\n _groupDataTemplate[i].data[j].favorite =\r\n !_groupDataTemplate[i].data[j].favorite;\r\n }\r\n }\r\n }\r\n }\r\n window.localStorage.setItem(\r\n \"favorite\",\r\n JSON.stringify(_groupDataTemplate[0].data)\r\n );\r\n setSearchTemplate([..._groupDataTemplate]);\r\n };\r\n const mapContent = () => {\r\n try {\r\n let _groupTemplate: any = [];\r\n let activeDefault = [...Array(_groupTemplate?.length).keys()];\r\n let _searchTemplate = searchTemplate;\r\n for (let i = 0; i < _searchTemplate.length; i++) {\r\n if (_searchTemplate[i].header !== \"Favorite\") {\r\n let _group: any = (\r\n {_searchTemplate[i].header}

\r\n }\r\n className=\"group-template-panel \"\r\n >\r\n {_searchTemplate[i].data?.map((_data: any, idx: any) => {\r\n return (\r\n
\r\n {\r\n if (\r\n location.pathname === \"/Request\" &&\r\n props.setDataTemplateTreeProps !== undefined\r\n ) {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`\r\n );\r\n props.setDataTemplateTreeProps(_data);\r\n }\r\n if (location.pathname !== \"/Request\") {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`,\r\n { listFormName: _data }\r\n );\r\n }\r\n setIsOpen(false);\r\n }}\r\n >\r\n {_data.TemplateNameWithCode}\r\n

\r\n {_data.favorite ? (\r\n \r\n onClickStar(\r\n _data.GroupTemplateName,\r\n _data.TemplateNameWithCode,\r\n idx\r\n )\r\n }\r\n />\r\n ) : (\r\n \r\n onClickStar(\r\n _data.GroupTemplateName,\r\n _data.TemplateNameWithCode,\r\n idx\r\n )\r\n }\r\n />\r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n _groupTemplate.push(_group);\r\n } else {\r\n let _group: any = (\r\n {_searchTemplate[i].header}

\r\n }\r\n className=\"group-template-panel\"\r\n >\r\n {_searchTemplate[i].data?.map((_data: any, idx: any) => {\r\n return (\r\n
\r\n {\r\n if (\r\n location.pathname === \"/Request\" &&\r\n props.setDataTemplateTreeProps !== undefined\r\n ) {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`\r\n );\r\n props.setDataTemplateTreeProps(_data);\r\n }\r\n if (location.pathname !== \"/Request\") {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`,\r\n { listFormName: _data }\r\n );\r\n }\r\n setIsOpen(false);\r\n }}\r\n >\r\n {_data.TemplateNameWithCode}\r\n

\r\n\r\n \r\n onUnFavorite(\r\n _data.GroupTemplateName,\r\n _data.TemplateNameWithCode,\r\n idx\r\n )\r\n }\r\n />\r\n
\r\n );\r\n })}\r\n \r\n );\r\n _groupTemplate.push(_group);\r\n }\r\n\r\n if (checkActionFavorite) {\r\n activeDefault = [0];\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n onFilterChange(e.target.value)}\r\n />\r\n \r\n
\r\n {checkFilter && (\r\n \r\n isActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n expandIconPosition={\"right\"}\r\n >\r\n {_groupTemplate}\r\n \r\n )}\r\n {!checkFilter && !checkActionFavorite && (\r\n \r\n isActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n expandIconPosition={\"right\"}\r\n >\r\n {_groupTemplate}\r\n \r\n )}\r\n {!checkFilter && checkActionFavorite && (\r\n \r\n isActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n expandIconPosition={\"right\"}\r\n >\r\n {_groupTemplate}\r\n \r\n )}\r\n
\r\n );\r\n } catch (error) {\r\n console.log(\"MapContent=>error\", error);\r\n }\r\n };\r\n const onFilterChange = (text: string) => {\r\n setCheckActionFavorite(false);\r\n if (groupDataTemplate) {\r\n if (groupDataTemplate.length > 0) {\r\n let _groupDataTemplate = groupDataTemplate;\r\n console.log(groupDataTemplate, \"groupDataTemplate\");\r\n\r\n if (!text) {\r\n setCheckFilter(false);\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || '[]';\r\n fav_cookie = JSON.parse(fav_cookie);\r\n _groupDataTemplate[0].data = fav_cookie;\r\n setSearchTemplate([..._groupDataTemplate]);\r\n } else {\r\n setCheckFilter(true);\r\n }\r\n const _searchTemplate = _groupDataTemplate.filter(\r\n (_data: any, idx: any) => {\r\n if (_data.header === \"Favorite\") {\r\n return true;\r\n }\r\n for (let i = 0; i < _data.data.length; i++) {\r\n if (\r\n _data.data[i]?.TemplateName?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1 ||\r\n _data.data[i]?.TemplateNameWithCode?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1 ||\r\n _data.header?.toLowerCase().indexOf(text.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n }\r\n );\r\n const filteredList: any = [];\r\n\r\n for (let i = 0; i < _searchTemplate.length; i++) {\r\n const filteredGroup = _searchTemplate[i];\r\n const filtered = filteredGroup.data.filter((_data: any, idx: any) => {\r\n if (\r\n _data?.TemplateName?.toLowerCase().indexOf(text.toLowerCase()) !==\r\n -1 ||\r\n _data?.TemplateNameWithCode?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1 ||\r\n _data?.GroupTemplateName?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n if (filtered.length > 0) {\r\n filteredList.push({\r\n header: filteredGroup.header,\r\n data: filtered,\r\n });\r\n }\r\n }\r\n setSearchTemplate([...filteredList]);\r\n }\r\n }\r\n };\r\n const onVisibleChange = (visible: boolean) => {\r\n setIsOpen(visible);\r\n };\r\n return (\r\n \r\n {location.pathname !== \"/Request\" && (\r\n \r\n \r\n

{t(\"New Request\")}

\r\n \r\n )}\r\n\r\n {location.pathname === \"/Request\" && (\r\n \r\n )}\r\n {location.pathname === \"/Request\" && (\r\n \r\n )}\r\n\r\n {location.pathname !== \"/Request\" && (\r\n \r\n \r\n

{t(\"New Request\")}

\r\n \r\n )}\r\n \r\n );\r\n};\r\n","export default __webpack_public_path__ + \"static/media/LoadingWOLFmini.12fa1510.gif\";","import { Button } from \"primereact/button\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { DynamicTable } from \"../../components/TableComponents/Dynamic/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport LogoLoading from \"../../assets/LoadingWOLFmini.gif\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\ninterface Props {}\r\n\r\ntype QuizParams = {\r\n reportId: string;\r\n reportName: string;\r\n};\r\n\r\nexport const DynamicReport = (props: Props) => {\r\n let { reportId } = useParams();\r\n let { reportName } = useParams();\r\n const text = \"Report Detail\";\r\n const apiName = \"DynamicReport/GetReportDetailById\";\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const reportDetailBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n }),\r\n };\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [imgLoading, setImgLoading] = useState(LogoLoading);\r\n const [data, setData] = useState();\r\n\r\n useEffect(() => {\r\n fetchData();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (data) {\r\n setOnLoading(false);\r\n }\r\n }, [data]);\r\n\r\n async function fetchData() {\r\n try {\r\n setOnLoading(true);\r\n\r\n const _dataDynamic: any[] = await GetAllDynamic(\r\n apiName,\r\n reportDetailBody\r\n );\r\n\r\n setData(_dataDynamic);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {onLoading ? (\r\n
\r\n \"loading...\"\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {reportName.replace(\"\\\\\", \"/\") + \"(\" + itemsCount + \")\"}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n","import { AutoComplete } from \"primereact/autocomplete\";\r\nimport React, { ReactElement } from \"react\";\r\nimport \"./AutoCompleteComponents.css\";\r\ninterface Props {\r\n valueProps?: any;\r\n suggestionsProps?: any;\r\n completeMethodProps?: any;\r\n fieldProps?: any;\r\n disabledProps?: any;\r\n onChangeProps?: any;\r\n keyProps?: any;\r\n styleProps?: any;\r\n onKeyPress?: any;\r\n readOnlyprops?: any;\r\n notButton?: any;\r\n onBlur?: any;\r\n}\r\n\r\nexport default function AutoCompleteComponents(props: Props) {\r\n return (\r\n <>\r\n {\r\n if (props.onBlur) {\r\n props.onKeyPress(e.target.value, props.keyProps);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n field={props.fieldProps}\r\n className={\r\n props.notButton === true\r\n ? \"AutoCompleteComponents-autoComplete-notButton\"\r\n : \"AutoCompleteComponents-autoComplete\"\r\n }\r\n multiple\r\n panelClassName={\r\n props.notButton === true\r\n ? \"AutoCompleteComponents-autoComplete-notButton\"\r\n : \"AutoCompleteComponents-autoComplete\"\r\n }\r\n disabled={props.disabledProps}\r\n readOnly={props.readOnlyprops}\r\n onChange={(e) => props.onChangeProps(e.value, props.keyProps, e)}\r\n onMouseDown={(e: any) => {\r\n console.log(\"e\", e);\r\n }}\r\n onKeyPress={(e: any) => {\r\n console.log(\"e.code\", e.code);\r\n\r\n if (e.code === \"Enter\") {\r\n if (props.onKeyPress !== undefined)\r\n props.onKeyPress(e.target.value, props.keyProps);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n />\r\n \r\n );\r\n}\r\n","import React, { ReactElement } from \"react\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport \"./RadioButtonComponents.css\";\r\ninterface Props {\r\n inputIdProps: any;\r\n nameProps: any;\r\n valueProps: any;\r\n onChangeProps: any;\r\n checkedProps: any;\r\n keyProps: any;\r\n labelProps?: any;\r\n}\r\n\r\nexport const RadioButtonComponents = (props: Props) => {\r\n return (\r\n <>\r\n {\r\n console.log(\"report=>e\", e);\r\n props.onChangeProps(e.value, props.keyProps);\r\n }}\r\n checked={props.checkedProps}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport {\r\n AddReport,\r\n ReportListTemplateSelect,\r\n UpdateReport,\r\n} from \"../../../Services/ReportService\";\r\n\r\nimport \"./ReportDialog.css\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\n\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport EmployeeDialog from \"../../DataFechDialogComponents/EmployeeDialog/EmployeeDialog\";\r\nimport { RadioButtonComponents } from \"../../RadioButtonComponents/RadioButtonComponents\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { IReportModel } from \"../../../IRequestModel/IReportModel\";\r\nimport moment from \"moment\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { GetTemplateById } from \"../../../Services/TemplateService\";\r\nimport { filterHash } from \"@fullcalendar/react\";\r\nimport { DatePicker, Spin } from \"antd\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\ninterface Props {\r\n visible: boolean;\r\n toggleDialog: any;\r\n templateDataProps?: any;\r\n checkSetProps?: any;\r\n checkProps?: any;\r\n editProps?: any;\r\n dataEditReportProps?: any;\r\n setEditReportProps?: any;\r\n setOnLoading: (bool: boolean) => void;\r\n}\r\nconst reportModelIReportModel: IReportModel = {\r\n ReportTemplateId: 0,\r\n ReportName: \"\",\r\n TemplateId: \"\",\r\n Selectedfieldlist: [],\r\n ReportDescription: \"\",\r\n IsPrivate: false,\r\n IsActive: true,\r\n CreatedBy: \"\",\r\n CreatedByname: \"\",\r\n CreatedDate: \"\",\r\n ModifiedBy: \"\",\r\n ModifiedByname: \"\",\r\n ModifiedDate: \"\",\r\n Selectedfieldlistfilter: [],\r\n Columns: [],\r\n Rows: [],\r\n TemplateNewVersion: false,\r\n PageIndex: 0,\r\n PageSize: 10,\r\n CanDelete: false,\r\n RoleId: \"\",\r\n RoleEmp: \"\",\r\n Mode: false,\r\n};\r\n\r\nexport const ReportDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [selectedField, setSelectedField] = useState([]);\r\n const [templateKey, setTemplateKey] = useState([]);\r\n const [templateField, setTemplateField] = useState([]);\r\n const [templateMulti, setTemplateMulti] = useState([]);\r\n\r\n const [templateFieldMulti, setTemplateFieldMulti] = useState([]);\r\n\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [keyAutoComplete, setKeyAutoComplete] = useState();\r\n const [employeeRequest, setEmployeeRequest] = useState([]);\r\n const [searchData, setSearchData] = useState([]);\r\n const [employee, setEmployee] = useState([]);\r\n const [roleData, setRoleData] = useState([]);\r\n const [radioButtonCheck, setRadioButtonCheck] = useState(false);\r\n const [radioButtonCheckToday, setRadioButtonCheckToday] =\r\n useState(false);\r\n const [radioButtonCheckFrom, setRadioButtonCheckFrom] = useState(false);\r\n const [filterValue, setFilterValue] = useState([]);\r\n const [reportModel, setReportModel] = useState({});\r\n const [filterValueSelected, setFilterValueSelected] = useState([]);\r\n const [dropdownfilterValue, setDropdownfilterValue] = useState([]);\r\n const [group, setGroup] = useState([]);\r\n const [groupData, setGroupData] = useState([]);\r\n const [indexOrderBy, setIndexOrderBy] = useState([]);\r\n const [indexHideColumn, setIndexHideColumn] = useState([]);\r\n const [indexSortingBy, setIndexSortingBy] = useState([]);\r\n const [textHeader, setTextHeader] = useState(\"\");\r\n\r\n const [tableLoading, setTableLoading] = useState(true);\r\n\r\n const [templateMode, setTemplateMode] = useState({ Mode: \"Real Time\" });\r\n // const [disabledSave, setDisabledSave] = useState(true);\r\n\r\n const [validationForm, setValidationForm] = useState({\r\n TemplateIdValidation: false,\r\n FieldCollectionValidation: false,\r\n ReportNameValidation: false,\r\n ReportDescriptionValidation: false,\r\n RoleEmpValidation: false,\r\n RoleIdValidation: false,\r\n DisabledSave: true,\r\n });\r\n\r\n useEffect(() => {\r\n addTemplateKey();\r\n }, [props.templateDataProps, props.visible]);\r\n\r\n useEffect(() => {\r\n if (props.dataEditReportProps && props.editProps === true) {\r\n editData();\r\n }\r\n }, [employee, roleData, props.dataEditReportProps]);\r\n\r\n useEffect(() => {\r\n _fechData();\r\n }, [props.visible]);\r\n\r\n useEffect(() => {\r\n if (props.editProps === true) {\r\n setTextHeader(\"Edit Report / แก้ไขรายงาน\");\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n CreatedBy: props.dataEditReportProps.CreateBy,\r\n CreatedDate: props.dataEditReportProps.CreateDate,\r\n IsPrivate: props.dataEditReportProps.Isprivate,\r\n Mode: props.dataEditReportProps.Mode,\r\n ModifiedBy: props.dataEditReportProps.ModifiedBy,\r\n\r\n ReportDescription: props.dataEditReportProps.Reportdescription,\r\n ReportName: props.dataEditReportProps.Reportname,\r\n ReportTemplateId: props.dataEditReportProps.ReporttemplateID,\r\n RoleEmp: props.dataEditReportProps.RoleEmp,\r\n RoleId: props.dataEditReportProps.RoleId,\r\n SecretId: props.dataEditReportProps.SecretId,\r\n Selectedfieldlist: props.dataEditReportProps.Selectedfieldlist,\r\n\r\n Selectedfieldlistfilter:\r\n props.dataEditReportProps.Selectedfieldlistfilter,\r\n TemplateId: props.dataEditReportProps.TemplateID,\r\n TemplateNewVersion: props.dataEditReportProps.Templateversion,\r\n }));\r\n console.log(\"props.dataEditReportProps\", props.dataEditReportProps);\r\n if (props.dataEditReportProps !== undefined) {\r\n if (\r\n JSON.stringify(props.dataEditReportProps) !==\r\n JSON.stringify(reportModel)\r\n ) {\r\n editReportData();\r\n }\r\n }\r\n } else {\r\n setTextHeader(\"Create Report / สร้างรายงาน\");\r\n }\r\n }, [props.editProps, props.dataEditReportProps]);\r\n useEffect(() => {\r\n if (templateFieldMulti !== undefined && templateFieldMulti.length !== 0) {\r\n let indexGroupByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexGroupBy === \"1\"\r\n );\r\n let indexSortingByByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexSortingBy === \"1\"\r\n );\r\n let indexHideColumnByByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexHideColumn === \"1\"\r\n );\r\n let indexOrderByColumnByByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexOrderBy === \"1\"\r\n );\r\n if (indexGroupByFilter.length !== 0) {\r\n setGroupData(indexGroupByFilter);\r\n }\r\n if (indexSortingByByFilter.length !== 0) {\r\n setIndexSortingBy(indexSortingByByFilter);\r\n }\r\n if (indexHideColumnByByFilter.length !== 0) {\r\n setIndexHideColumn(indexHideColumnByByFilter);\r\n }\r\n if (indexOrderByColumnByByFilter.length !== 0) {\r\n setIndexOrderBy(indexOrderByColumnByByFilter);\r\n }\r\n }\r\n }, [templateFieldMulti]);\r\n async function Data() {\r\n setReportModel(reportModelIReportModel);\r\n\r\n setSelectedField([]);\r\n setTemplateKey([]);\r\n setTemplateField([]);\r\n setTemplateMulti([]);\r\n setTemplateFieldMulti([]);\r\n setEmployeeRequest([]);\r\n setSearchData([]);\r\n setEmployee([]);\r\n setRoleData([]);\r\n setFilterValue([]);\r\n setFilterValueSelected([]);\r\n setGroup([]);\r\n setGroupData([]);\r\n setIndexOrderBy([]);\r\n setIndexHideColumn([]);\r\n setIndexSortingBy([]);\r\n setValidationForm({\r\n TemplateIdValidation: false,\r\n FieldCollectionValidation: false,\r\n ReportNameValidation: false,\r\n ReportDescriptionValidation: false,\r\n DisabledSave: true,\r\n });\r\n }\r\n function formatDate(date: string) {\r\n let arrDate = date.split(\"/\");\r\n const mm = Number(arrDate[1]);\r\n if (mm === 1) {\r\n arrDate[1] = \"Jan\";\r\n } else if (mm === 2) {\r\n arrDate[1] = \"Feb\";\r\n } else if (mm === 3) {\r\n arrDate[1] = \"Mar\";\r\n } else if (mm === 4) {\r\n arrDate[1] = \"Apr\";\r\n } else if (mm === 5) {\r\n arrDate[1] = \"May\";\r\n } else if (mm === 6) {\r\n arrDate[1] = \"Jun\";\r\n } else if (mm === 7) {\r\n arrDate[1] = \"Jul\";\r\n } else if (mm === 8) {\r\n arrDate[1] = \"Aug\";\r\n } else if (mm === 9) {\r\n arrDate[1] = \"Sep\";\r\n } else if (mm === 10) {\r\n arrDate[1] = \"Oct\";\r\n } else if (mm === 11) {\r\n arrDate[1] = \"Nov\";\r\n } else if (mm === 12) {\r\n arrDate[1] = \"Dec\";\r\n }\r\n return arrDate.join(\" \");\r\n }\r\n\r\n async function editData() {\r\n console.log(\"props.dataEditReportProps?.Mode\", props.dataEditReportProps);\r\n onTemplateMode(\r\n props.dataEditReportProps?.Mode === false\r\n ? { Mode: \"Real Time\" }\r\n : { Mode: \"Schedule Mode\" }\r\n );\r\n if (props.dataEditReportProps !== undefined) {\r\n const _employee = await GetAllEmployee();\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n let _RoleEmpSplit =\r\n props.dataEditReportProps.RoleEmp === undefined\r\n ? []\r\n : props.dataEditReportProps.RoleEmp !== null\r\n ? props.dataEditReportProps.RoleEmp.split(\",\")\r\n : [];\r\n let _RoleIdSplit =\r\n props.dataEditReportProps.RoleId === undefined\r\n ? []\r\n : props.dataEditReportProps.RoleId !== null\r\n ? props.dataEditReportProps.RoleId.split(\",\")\r\n : [];\r\n let arrayRoleEmp: any = [];\r\n let arrayGroup: any = [];\r\n if (_RoleEmpSplit.length !== 0) {\r\n _RoleEmpSplit.map((_data: any) => {\r\n let _dataRoleEmp = _employee.filter(\r\n (item: any) => item.EmployeeId === Number(_data)\r\n );\r\n if (_dataRoleEmp.length !== 0) {\r\n arrayRoleEmp.push(_dataRoleEmp[0]);\r\n }\r\n });\r\n }\r\n if (_RoleIdSplit.length !== 0) {\r\n _RoleIdSplit.map((_data: any) => {\r\n let _dataRoleEmp = roles.filter(\r\n (item: any) => item.RoleId === Number(_data)\r\n );\r\n if (_dataRoleEmp.length !== 0) {\r\n arrayGroup.push(_dataRoleEmp[0]);\r\n }\r\n });\r\n }\r\n setEmployeeRequest([...arrayRoleEmp]);\r\n setGroup([...arrayGroup]);\r\n setRadioButtonCheck(props.dataEditReportProps?.Isprivate);\r\n }\r\n }\r\n async function editReportData() {\r\n let _dataJSONParse: any = [];\r\n var TemplateId = props.dataEditReportProps?.TemplateID?.split(\"|\");\r\n _dataJSONParse =\r\n props.dataEditReportProps.Selectedfieldlist !== undefined\r\n ? props.dataEditReportProps.Selectedfieldlist !== null &&\r\n props.dataEditReportProps.Selectedfieldlist.length !== 0 &&\r\n props.dataEditReportProps.Selectedfieldlist !== \"[]\"\r\n ? props.dataEditReportProps.Selectedfieldlist\r\n : []\r\n : [];\r\n\r\n for (let i = 0; i < _dataJSONParse.length; i++) {\r\n delete _dataJSONParse[i][\"value\"];\r\n }\r\n\r\n let _dataFavoritesItem: any = [];\r\n _dataFavoritesItem =\r\n props.dataEditReportProps.Selectedfieldlistfilter !== undefined\r\n ? props.dataEditReportProps.Selectedfieldlistfilter !== null &&\r\n props.dataEditReportProps.Selectedfieldlistfilter.length !== 0 &&\r\n props.dataEditReportProps.Selectedfieldlistfilter !== \"[]\"\r\n ? props.dataEditReportProps.Selectedfieldlistfilter\r\n : []\r\n : [];\r\n\r\n let arrayTemplate: any = [];\r\n if (TemplateId !== undefined) {\r\n if (TemplateId.length !== 0) {\r\n for (let i = 0; i < TemplateId.length; i++) {\r\n let dataFilter = props.templateDataProps?.filter(\r\n (item: any) =>\r\n item.DocumentCode === TemplateId[i] ||\r\n item.TemplateId === Number(TemplateId[i])\r\n );\r\n arrayTemplate.push(dataFilter[0]);\r\n if (TemplateId.length - 1 === i) {\r\n _SelectFormEdit(arrayTemplate, _dataJSONParse);\r\n }\r\n }\r\n }\r\n }\r\n let _arrayItes: any = [];\r\n if (_dataFavoritesItem.length !== 0) {\r\n for (let i = 0; i < _dataFavoritesItem.length; i++) {\r\n const element = _dataFavoritesItem[i];\r\n let arrayDataReplace: any = [];\r\n if (element.FieldText && element.FieldText.length !== 0) {\r\n var _dataSplit = element.FieldText?.split(\"|\");\r\n for (let j = 0; j < _dataSplit.length; j++) {\r\n arrayDataReplace.push({\r\n FieldText: _dataSplit[j].replaceAll(\";\", \"\"),\r\n });\r\n }\r\n } else {\r\n element.FieldText = [];\r\n }\r\n element.FieldText = arrayDataReplace;\r\n }\r\n\r\n for (let i = 0; i < _dataJSONParse.length; i++) {\r\n const element = _dataJSONParse[i];\r\n for (let j = 0; j < _dataFavoritesItem.length; j++) {\r\n const _element = _dataFavoritesItem[j];\r\n if (element.key === _element.FieldCode) {\r\n _arrayItes.push(element);\r\n }\r\n }\r\n }\r\n setFilterValueSelected(_dataFavoritesItem);\r\n setSelectedField(_arrayItes);\r\n } else {\r\n setFilterValueSelected([]);\r\n setSelectedField([]);\r\n }\r\n }\r\n async function _save() {\r\n if (\r\n reportModel.TemplateId === undefined ||\r\n reportModel.TemplateId === null ||\r\n reportModel.TemplateId.length === 0 ||\r\n reportModel.Selectedfieldlist === undefined ||\r\n reportModel.Selectedfieldlist === null ||\r\n reportModel.Selectedfieldlist.length === 0 ||\r\n reportModel.Selectedfieldlist === \"[]\" ||\r\n reportModel.ReportName === undefined ||\r\n reportModel.ReportName === null ||\r\n reportModel.ReportName.length === 0 ||\r\n reportModel.ReportDescription === undefined ||\r\n reportModel.ReportDescription === null ||\r\n reportModel.ReportDescription.length === 0\r\n ) {\r\n setValidationForm((dataDF: any) => ({\r\n ...dataDF,\r\n TemplateIdValidation:\r\n reportModel.TemplateId === undefined ||\r\n reportModel.TemplateId === null ||\r\n reportModel.TemplateId.length === 0\r\n ? true\r\n : false,\r\n FieldCollectionValidation:\r\n reportModel.Selectedfieldlist === undefined ||\r\n reportModel.Selectedfieldlist === null ||\r\n reportModel.Selectedfieldlist.length === 0 ||\r\n reportModel.Selectedfieldlist === \"[]\"\r\n ? true\r\n : false,\r\n ReportNameValidation:\r\n reportModel.ReportName === undefined ||\r\n reportModel.ReportName === null ||\r\n reportModel.ReportName.length === 0\r\n ? true\r\n : false,\r\n ReportDescriptionValidation:\r\n reportModel.ReportDescription === undefined ||\r\n reportModel.ReportDescription === null ||\r\n reportModel.ReportDescription.length === 0\r\n ? true\r\n : false,\r\n }));\r\n } else {\r\n let objSave = {\r\n ...reportModel,\r\n Selectedfieldlistfilter:\r\n filterValueSelected.length !== 0\r\n ? filterValueSelected\r\n : // JSON.stringify(filterValueSelected)\r\n [],\r\n };\r\n objSave.Selectedfieldlist.map((data: any) => {\r\n data[\"value\"] = null;\r\n data.reportTemplateId = null;\r\n data.isChecked = \"1\";\r\n });\r\n\r\n if (objSave.Selectedfieldlistfilter.length !== 0) {\r\n for (let i = 0; i < objSave.Selectedfieldlistfilter.length; i++) {\r\n let _arrayName: any = [];\r\n const element = objSave.Selectedfieldlistfilter[i];\r\n console.log(\"element\", element.FieldText);\r\n // remove_character\r\n if (element.FieldText.length !== 0) {\r\n for (let j = 0; j < element.FieldText.length; j++) {\r\n const _element = element.FieldText[j];\r\n _arrayName.push(_element.FieldText + \";\");\r\n }\r\n objSave.Selectedfieldlistfilter[i].FieldText = _arrayName\r\n .toString()\r\n .replaceAll(\",\", \"|;\");\r\n } else {\r\n objSave.Selectedfieldlistfilter[i].FieldText = \"\";\r\n }\r\n if (objSave.Selectedfieldlistfilter[i].FieldText.length !== 0) {\r\n objSave.Selectedfieldlistfilter[i].FieldText = remove_character(\r\n objSave.Selectedfieldlistfilter[i].FieldText,\r\n objSave.Selectedfieldlistfilter[i].FieldText.length - 1\r\n );\r\n }\r\n }\r\n } else {\r\n objSave.Selectedfieldlistfilter = [];\r\n }\r\n\r\n try {\r\n if (props.editProps !== true) {\r\n let _AddReport = await AddReport(objSave);\r\n if (_AddReport) {\r\n Data();\r\n props.checkSetProps(false);\r\n props.setOnLoading(true);\r\n props.toggleDialog();\r\n }\r\n } else {\r\n let _UpdatrReport = await UpdateReport(objSave);\r\n console.log(\"_UpdatrReport\", _UpdatrReport);\r\n\r\n if (_UpdatrReport) {\r\n Data();\r\n props.checkSetProps(false);\r\n props.setOnLoading(true);\r\n props.setEditReportProps([]);\r\n\r\n props.toggleDialog();\r\n }\r\n }\r\n } catch (error) {}\r\n }\r\n }\r\n const searchTextEnter = (event: any, key: any, rowData: any) => {\r\n if (event.length < 1) return;\r\n let _rowData: any = rowData;\r\n let _filterValueSelected = filterValueSelected;\r\n _rowData.FieldText.push({ FieldText: event });\r\n console.log(\"FilterValueSelected\", filterValueSelected, _rowData);\r\n _filterValueSelected.map((_data: any) => {\r\n if (_data.FieldCode === rowData.FieldCode) {\r\n _data.FieldText = _rowData.FieldText;\r\n }\r\n });\r\n\r\n setFilterValueSelected([..._filterValueSelected]);\r\n };\r\n function remove_character(str: any, char_pos: any) {\r\n let part1 = str.substring(0, char_pos);\r\n let part2 = str.substring(char_pos + 1, str.length);\r\n return part1 + part2;\r\n }\r\n const footer = (\r\n <>\r\n
\r\n \r\n }\r\n onClickProps={() => {\r\n Data();\r\n if (props.editProps === true) {\r\n props.setEditReportProps([]);\r\n }\r\n props.toggleDialog();\r\n }}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n\r\n }\r\n onClickProps={() => {\r\n // props.setOnLoading(true);\r\n _save();\r\n }}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n \r\n );\r\n async function _fechData() {\r\n try {\r\n // const _employee = await GetAllEmployee();\r\n // let _employee: any = [];\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n CreateBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n }));\r\n setRoleData(roles);\r\n // setEmployee(_employee);\r\n // setSearchData(_employee);\r\n } catch (error) {\r\n console.log(\"report=>error\", error);\r\n }\r\n }\r\n\r\n const onRowReorder = (e: any) => {\r\n // setTemplateFieldMulti(e.value);\r\n _SelectFliedMulti(e.value);\r\n };\r\n const onRowReorderFilter = (e: any) => {\r\n setFilterValueSelected(e.value);\r\n };\r\n const onTemplateMode = (e: any) => {\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Mode: e.Mode === \"Schedule Mode\" ? true : false,\r\n }));\r\n setTemplateMode(e);\r\n };\r\n const onChangeReportName = (e: any, key: any) => {\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: e,\r\n }));\r\n };\r\n function onChangeDropdownSelectForm(e: any, editReport?: any) {\r\n let _dataFilter: any;\r\n let _dataArrya: any = [];\r\n\r\n let dataFilterValueSelected: any = filterValueSelected;\r\n\r\n e.map((_data: any) => {\r\n const characteristics = Object.entries(_data).map((key, i) => {\r\n console.log(\"key\", key);\r\n });\r\n console.log(\"_________________________________________________________\");\r\n console.log(\"FilterValueSelected\", filterValueSelected);\r\n\r\n console.log(\"_________________________________________________________\");\r\n let _objJson = {\r\n ID: 0,\r\n FieldCode: _data.key,\r\n FieldDisplay: _data.label,\r\n IsExcludeBlankData: true,\r\n FieldType: _data.type,\r\n IsEquals: false,\r\n FieldText: [],\r\n FieldTextFrom: null,\r\n FieldTextTo: null,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: _data.FieldTypeFilterStatic,\r\n FieldTypeFilterDynamic: _data.FieldTypeFilterDynamic,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: \"\",\r\n indexHideColumn: null,\r\n SecretId: null,\r\n };\r\n if (dataFilterValueSelected.length !== 0) {\r\n let FilterValueSelected = dataFilterValueSelected.filter(\r\n (item: any) => item.FieldCode === _objJson.FieldCode\r\n );\r\n if (FilterValueSelected.length === 0) {\r\n dataFilterValueSelected.push(_objJson);\r\n } else {\r\n for (let i = 0; i < dataFilterValueSelected.length; i++) {\r\n const filter = dataFilterValueSelected[i];\r\n if (filter.FieldCode === FilterValueSelected[0].FieldCode) {\r\n dataFilterValueSelected[i] = filter;\r\n }\r\n }\r\n }\r\n } else {\r\n dataFilterValueSelected.push(_objJson);\r\n }\r\n onChangeFilterValue(dataFilterValueSelected);\r\n\r\n setFilterValueSelected([...dataFilterValueSelected]);\r\n });\r\n\r\n if (e.length !== filterValueSelected.length) {\r\n e.map((_data: any) => {\r\n _dataFilter = filterValueSelected.filter(\r\n (item: any) => _data.key === item.FieldCode\r\n );\r\n if (_dataFilter.length !== 0) {\r\n _dataArrya.push(_dataFilter[0]);\r\n }\r\n });\r\n console.log(\"dataFilterValueSelected\", _dataArrya);\r\n setFilterValueSelected([..._dataArrya]);\r\n }\r\n console.log(\"eeeeeeeeeeeeeeeeeeeee\", e);\r\n // selectedField\r\n // if (_dataArrya.length !== 0) {\r\n // let _arrayElement: any = [];\r\n // for (let i = 0; i < _dataArrya.length; i++) {\r\n // const element = _dataArrya[i];\r\n // for (let j = 0; j < e.length; j++) {\r\n // const _element = e[j];\r\n // if (element.key === _element.key) {\r\n // _arrayElement.push(element);\r\n // }\r\n // }\r\n // }\r\n // setSelectedField(_arrayElement);\r\n // } else {\r\n // setSelectedField([]);\r\n // }\r\n setSelectedField(e);\r\n }\r\n function onChangeFilterValue(e: any) {\r\n setFilterValue(e);\r\n }\r\n\r\n function onChangeFilterNo(e: any) {}\r\n\r\n function onChangeGroupData(e: any, key: any) {\r\n if (key !== undefined && key !== null) {\r\n let _FilterValueSelected = templateFieldMulti;\r\n for (let i = 0; i < _FilterValueSelected.length; i++) {\r\n const allFilter = _FilterValueSelected[i];\r\n _FilterValueSelected[i][key] = null;\r\n }\r\n for (let i = 0; i < _FilterValueSelected.length; i++) {\r\n const allFilter = _FilterValueSelected[i];\r\n for (let j = 0; j < e.length; j++) {\r\n const valueSelected = e[j];\r\n console.log(\"allFilter\", allFilter);\r\n console.log(\"allFilter\", valueSelected);\r\n\r\n if (allFilter?.key === valueSelected?.key) {\r\n _FilterValueSelected[i][key] = \"1\";\r\n }\r\n }\r\n }\r\n\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Selectedfieldlist: [..._FilterValueSelected],\r\n }));\r\n setTemplateFieldMulti([..._FilterValueSelected]);\r\n if (key === \"indexGroupBy\") {\r\n setGroupData(e);\r\n }\r\n if (key === \"indexOrderBy\") {\r\n setIndexOrderBy(e);\r\n }\r\n if (key === \"indexHideColumn\") {\r\n setIndexHideColumn(e);\r\n }\r\n if (key === \"indexSortingBy\") {\r\n setIndexSortingBy(e);\r\n }\r\n }\r\n }\r\n function onChangeDropdownfilterValue(e: any, data: any) {\r\n let _FilterValueSelected = filterValueSelected;\r\n let _dataFilter = _FilterValueSelected.filter(\r\n (item: any) => item.FieldCode === e.FieldCode\r\n );\r\n if (_dataFilter.length !== 0) {\r\n for (let index = 0; index < _FilterValueSelected.length; index++) {\r\n const element = _FilterValueSelected[index].FieldCode;\r\n if (_dataFilter[0].FieldCode === element) {\r\n _FilterValueSelected[index] = {\r\n ..._dataFilter[0],\r\n\r\n FilterParameter:\r\n data.Filter === \"Contains\"\r\n ? \"Like\"\r\n : data.Filter === \"Not Contains\"\r\n ? \"Not Like\"\r\n : data.Filter,\r\n };\r\n }\r\n }\r\n }\r\n console.log(\"_FilterValueSelected\", _FilterValueSelected);\r\n\r\n setFilterValueSelected([..._FilterValueSelected]);\r\n setDropdownfilterValue(data);\r\n }\r\n function addTemplateKey() {\r\n try {\r\n let _TemplateKey = props.templateDataProps;\r\n let _TemplateKeyArray: any = [];\r\n _TemplateKey?.map((_data: any) => {\r\n _TemplateKeyArray.push({\r\n ..._data,\r\n TemplateKey: _data.TemplateNameWithCode,\r\n });\r\n });\r\n console.log(\"_TemplateKeyArray\", _TemplateKeyArray);\r\n\r\n setTemplateKey(_TemplateKeyArray);\r\n } catch (error) {}\r\n\r\n // + \"(\" + _data.TemplateId + \")\",\r\n }\r\n async function _RadioButtonFormType(data: any, key: any, rowData: any) {\r\n let _FilterValueSelected = filterValueSelected;\r\n if (key !== \"Private\" && key !== \"Public\") {\r\n let _dataFilter = _FilterValueSelected.filter(\r\n (item: any) => item.FieldCode === rowData.FieldCode\r\n );\r\n if (_dataFilter.length !== 0) {\r\n for (let index = 0; index < _FilterValueSelected.length; index++) {\r\n const element = _FilterValueSelected[index].FieldCode;\r\n if (_dataFilter[0].FieldCode === element) {\r\n _FilterValueSelected[index] = {\r\n ..._dataFilter[0],\r\n\r\n [key]: data,\r\n };\r\n }\r\n }\r\n }\r\n\r\n setFilterValueSelected([..._FilterValueSelected]);\r\n if (key === \"IsTodayFrom\") {\r\n setRadioButtonCheckFrom(data);\r\n } else {\r\n setRadioButtonCheckToday(data);\r\n }\r\n }\r\n if (key === \"Private\" || key === \"Public\") {\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n IsPrivate: data,\r\n }));\r\n\r\n setRadioButtonCheck(data);\r\n }\r\n }\r\n async function _SelectFormEdit(e: any, _dataJSONParse: any) {\r\n let arrayTemplate: any = [];\r\n console.log(\"eeeeeeee\", e);\r\n\r\n setTemplateMulti(e);\r\n\r\n _SelectFliedEdit(e, _dataJSONParse);\r\n _SelectFliedMulti(_dataJSONParse);\r\n }\r\n async function _SelectForm(e: any) {\r\n let arrayTemplate: any = [];\r\n console.log(\"eeeeeeeeeeeeeeeeeeee\", e);\r\n if (e) {\r\n e.map((data: any) => {\r\n arrayTemplate.push(data.DocumentCode);\r\n });\r\n\r\n setTemplateMulti(e);\r\n\r\n _SelectFlied(e);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n TemplateId: arrayTemplate.toString().replaceAll(\",\", \"|\"),\r\n }));\r\n } else {\r\n setTemplateMulti([]);\r\n\r\n _SelectFlied([]);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n TemplateId: \"\",\r\n }));\r\n }\r\n }\r\n function _CalendarDate(e: any, rowdata: any, key: any) {\r\n console.log(\"rowdata\", rowdata);\r\n console.log(\"e\", e);\r\n\r\n let _FilterValueSelected = filterValueSelected;\r\n let _dataFilter = _FilterValueSelected.filter(\r\n (item: any) => item.FieldCode === rowdata.FieldCode\r\n );\r\n\r\n let _DateTime: any = formatDateTime(e);\r\n if (_dataFilter.length !== 0) {\r\n for (let index = 0; index < _FilterValueSelected.length; index++) {\r\n const element = _FilterValueSelected[index].FieldCode;\r\n if (_dataFilter[0].FieldCode === element) {\r\n _FilterValueSelected[index] = {\r\n ..._dataFilter[0],\r\n [key]: _DateTime,\r\n };\r\n }\r\n }\r\n }\r\n\r\n setFilterValueSelected([..._FilterValueSelected]);\r\n }\r\n const formatDateTime = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD/MM/yyyy\");\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n };\r\n async function _SelectFliedMulti(edit: any) {\r\n console.log(\"editeeeeeeeeeeeeeeeeeeeeee\", edit);\r\n\r\n let arrayPush: any = [];\r\n if (edit) {\r\n for (let i = 0; i < edit.length; i++) {\r\n const element = edit[i];\r\n for (let j = 0; j < filterValueSelected.length; j++) {\r\n const _element = filterValueSelected[j];\r\n\r\n if (element.key === _element.FieldCode) {\r\n arrayPush.push(_element);\r\n }\r\n }\r\n }\r\n console.log(\"arrayPush\", arrayPush);\r\n console.log(\"arrayPush\", selectedField);\r\n let arraySelected: any = [];\r\n if (arrayPush.length !== 0) {\r\n for (let i = 0; i < arrayPush.length; i++) {\r\n const element = arrayPush[i];\r\n for (let j = 0; j < selectedField.length; j++) {\r\n const _element = selectedField[j];\r\n if (element.FieldCode === _element.key) {\r\n arraySelected.push(_element);\r\n }\r\n }\r\n }\r\n setSelectedField(arraySelected);\r\n } else {\r\n setSelectedField([]);\r\n }\r\n console.log(\"filterValueSelected\", filterValueSelected);\r\n\r\n // filterValueSelected\r\n // onChangeDropdownSelectForm(edit);\r\n setFilterValueSelected(arrayPush);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Selectedfieldlist: edit,\r\n }));\r\n\r\n setTemplateFieldMulti(edit);\r\n } else {\r\n setSelectedField([]);\r\n\r\n setFilterValueSelected(arrayPush);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Selectedfieldlist: [],\r\n }));\r\n\r\n setTemplateFieldMulti([]);\r\n }\r\n }\r\n async function showModal(key: any) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(!isDialogVisible);\r\n setKeyAutoComplete(key);\r\n\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n if (tableLoading) {\r\n let _employee = await GetAllEmployee(req);\r\n setEmployee(_employee);\r\n setSearchData(_employee);\r\n setTableLoading(!tableLoading);\r\n }\r\n }\r\n async function _SelectFliedEdit(e: any, edit: any) {\r\n let arrayFlied: any = [];\r\n let arrayFliedTest: any = [];\r\n let arrayFliedId: any = [];\r\n let _selectFliedData = e;\r\n console.log(\"e\", e);\r\n\r\n // if (edit !== undefined && edit.length !== 0) {\r\n // onChangeFilterValue(edit);\r\n // }\r\n for (let i = 0; i < _selectFliedData.length; i++) {\r\n const element = _selectFliedData[i];\r\n arrayFliedId.push(_selectFliedData[i]?.TemplateId.toString());\r\n }\r\n\r\n let replaceString = arrayFliedId.toString().replaceAll(\",\", \"|\");\r\n console.log(\"replaceString\", replaceString);\r\n\r\n let _objJson = {\r\n TemplateID: replaceString,\r\n Templateversion: \"0\",\r\n ReporttemplateID: null,\r\n };\r\n\r\n if (_selectFliedData.length !== 0) {\r\n let _templateSelect: any = await ReportListTemplateSelect(_objJson);\r\n let _SelectedfieldlistAll = _templateSelect.SelectedfieldlistAll;\r\n\r\n for (let i = 0; i < _SelectedfieldlistAll.length; i++) {\r\n const element = _SelectedfieldlistAll[i];\r\n\r\n delete _SelectedfieldlistAll[i][\"value\"];\r\n arrayFliedTest.push(_SelectedfieldlistAll[i]);\r\n }\r\n console.log(\"arrayFliedTest\", arrayFliedTest);\r\n console.log(\"arrayFliedTest\", edit);\r\n for (let inx = 0; inx < edit.length; inx++) {\r\n const element = edit[inx];\r\n\r\n // for (let j = 0; j < arrayFliedTest.length; j++) {\r\n // const _element = arrayFliedTest[j];\r\n\r\n // if (element.key === _element.key) {\r\n // console.log(\"element____________\", element);\r\n // // arrayFliedTest.push(element);\r\n // }\r\n // }\r\n let _dataFilter = arrayFliedTest.filter(\r\n (item: any) => element.key === item.key\r\n );\r\n if (_dataFilter.length === 0) {\r\n arrayFliedTest.push(element);\r\n }\r\n console.log(\"_dataFilter\", _dataFilter, element);\r\n\r\n // if (_dataFilter.length !== 0) {\r\n // console.log(\"_dataFilter\", _dataFilter);\r\n // }\r\n }\r\n setTemplateField(arrayFliedTest);\r\n // setSelectedField(selectedField);\r\n } else {\r\n setTemplateField([]);\r\n }\r\n let arrayFieldMulti: any = [];\r\n if (templateFieldMulti.length !== 0) {\r\n for (let i = 0; i < templateFieldMulti.length; i++) {\r\n if (arrayFliedTest.length !== 0) {\r\n let arrayFliedFliter = arrayFliedTest.filter(\r\n (_item: any) => templateFieldMulti[i].label === _item.label\r\n );\r\n if (arrayFliedFliter.length !== 0) {\r\n arrayFieldMulti.push(arrayFliedFliter[0]);\r\n }\r\n }\r\n }\r\n console.log(\"arrayFieldMulti\", arrayFieldMulti);\r\n\r\n setTemplateFieldMulti(arrayFieldMulti);\r\n if (arrayFieldMulti.length === 0) {\r\n setFilterValueSelected([]);\r\n console.log(\"selectedFieldzzzzzzzzzzzzz\", selectedField);\r\n } else {\r\n let _arraykey: any = [];\r\n for (let i = 0; i < arrayFieldMulti.length; i++) {\r\n const element = arrayFieldMulti[i];\r\n for (let j = 0; j < selectedField.length; j++) {\r\n const _element = selectedField[j];\r\n if (element.key === _element.key) {\r\n _arraykey.push(_element);\r\n }\r\n }\r\n }\r\n console.log(\"_arraykey\", _arraykey);\r\n\r\n setFilterValueSelected(_arraykey);\r\n }\r\n }\r\n }\r\n async function _SelectFlied(e: any) {\r\n let arrayFlied: any = [];\r\n let arrayFliedTest: any = [];\r\n let arrayFliedId: any = [];\r\n let _selectFliedData = e;\r\n console.log(\"e\", e);\r\n\r\n // if (edit !== undefined && edit.length !== 0) {\r\n // onChangeFilterValue(edit);\r\n // }\r\n for (let i = 0; i < _selectFliedData.length; i++) {\r\n const element = _selectFliedData[i];\r\n arrayFliedId.push(_selectFliedData[i].TemplateId.toString());\r\n }\r\n\r\n let replaceString = arrayFliedId.toString().replaceAll(\",\", \"|\");\r\n console.log(\"replaceString\", replaceString);\r\n\r\n let _objJson = {\r\n TemplateID: replaceString,\r\n Templateversion: \"0\",\r\n ReporttemplateID: null,\r\n };\r\n\r\n if (_selectFliedData.length !== 0) {\r\n let _templateSelect: any = await ReportListTemplateSelect(_objJson);\r\n let _SelectedfieldlistAll = _templateSelect.SelectedfieldlistAll;\r\n\r\n for (let i = 0; i < _SelectedfieldlistAll.length; i++) {\r\n const element = _SelectedfieldlistAll[i];\r\n\r\n delete _SelectedfieldlistAll[i][\"value\"];\r\n arrayFliedTest.push(_SelectedfieldlistAll[i]);\r\n }\r\n console.log(\r\n \"arrayFliedTest_templateSelect_templateSelect\",\r\n arrayFliedTest,\r\n _templateSelect\r\n );\r\n\r\n setTemplateField(arrayFliedTest);\r\n // setSelectedField(selectedField);\r\n } else {\r\n setTemplateField([]);\r\n }\r\n let arrayFieldMulti: any = [];\r\n if (templateFieldMulti.length !== 0) {\r\n for (let i = 0; i < templateFieldMulti.length; i++) {\r\n if (arrayFliedTest.length !== 0) {\r\n let arrayFliedFliter = arrayFliedTest.filter(\r\n (_item: any) => templateFieldMulti[i].label === _item.label\r\n );\r\n if (arrayFliedFliter.length !== 0) {\r\n arrayFieldMulti.push(arrayFliedFliter[0]);\r\n }\r\n }\r\n }\r\n\r\n setTemplateFieldMulti(arrayFieldMulti);\r\n if (arrayFieldMulti.length === 0) {\r\n setFilterValueSelected([]);\r\n console.log(\"selectedFieldzzzzzzzzzzzzz\", selectedField);\r\n } else {\r\n let _arraykey: any = [];\r\n for (let i = 0; i < arrayFieldMulti.length; i++) {\r\n const element = arrayFieldMulti[i];\r\n for (let j = 0; j < selectedField.length; j++) {\r\n const _element = selectedField[j];\r\n if (element.key === _element.key) {\r\n _arraykey.push(_element);\r\n }\r\n }\r\n }\r\n console.log(\"_arraykey\", _arraykey);\r\n\r\n setFilterValueSelected(_arraykey);\r\n }\r\n }\r\n\r\n // selectedField\r\n console.log(\r\n \"selectedFieldjjjjjjjjjjjjjjjj\",\r\n selectedField,\r\n arrayFieldMulti\r\n );\r\n // console.log(\"selectedField\",selectedField);\r\n let _arrayKey: any = [];\r\n for (let i = 0; i < selectedField.length; i++) {\r\n const element = selectedField[i];\r\n for (let j = 0; j < arrayFieldMulti.length; j++) {\r\n const _element = arrayFieldMulti[j];\r\n if (element.key === _element.key) {\r\n _arrayKey.push(element);\r\n }\r\n }\r\n }\r\n\r\n setSelectedField(_arrayKey);\r\n _SelectFliedMulti(_arrayKey);\r\n }\r\n\r\n function _AutoComplete(data: any, key: any) {\r\n let _dataName: any = [];\r\n if (key === \"RoleEmp\") {\r\n data.map((_data: any) => {\r\n _dataName.push(_data.EmployeeId);\r\n });\r\n setEmployeeRequest(data);\r\n }\r\n if (key === \"RoleId\") {\r\n data.map((_data: any) => {\r\n _dataName.push(_data.RoleId);\r\n });\r\n setGroup(data);\r\n }\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: _dataName.toString(),\r\n }));\r\n }\r\n const _AutoCompleteText = (data: any, key: any, rowData: any) => {\r\n let _filterValueSelected = filterValueSelected;\r\n\r\n for (let i = 0; i < _filterValueSelected.length; i++) {\r\n const element = _filterValueSelected[i];\r\n if (rowData.FieldCode === element.FieldCode) {\r\n rowData.FieldText = [];\r\n\r\n _filterValueSelected[i].FieldText = data;\r\n }\r\n }\r\n setFilterValueSelected([..._filterValueSelected]);\r\n };\r\n return (\r\n <>\r\n {\r\n Data();\r\n if (props.editProps === true) {\r\n props.setEditReportProps([]);\r\n }\r\n props.toggleDialog();\r\n }}\r\n breakpoints={{ \"1348px\": \"75vw\" }}\r\n onClick={() => {\r\n console.log(\r\n \"reportModelreportModelreportModelreportModel\",\r\n reportModel,\r\n validationForm\r\n );\r\n }}\r\n className=\"header-text\"\r\n >\r\n \r\n
\r\n \r\n \r\n

\r\n {textHeader}\r\n

\r\n \r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n _SelectForm(e.value);\r\n }}\r\n optionLabel=\"TemplateKey\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n className={\r\n validationForm.TemplateIdValidation === true\r\n ? templateMulti.length !== 0\r\n ? \"\"\r\n : \"Validation\"\r\n : \"\"\r\n }\r\n filter\r\n resetFilterOnHide\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n onTemplateMode(e.value)}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n _SelectFliedMulti(e.value);\r\n }}\r\n dataKey=\"key\"\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n className={\r\n validationForm.FieldCollectionValidation === true\r\n ? templateFieldMulti.length !== 0\r\n ? \"\"\r\n : \"Validation\"\r\n : \"\"\r\n }\r\n filter\r\n resetFilterOnHide\r\n showClear\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Selected Field

\r\n
\r\n
\r\n (\r\n \r\n onChangeDropdownSelectForm(e.value)\r\n }\r\n responsiveLayout=\"scroll\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n size=\"small\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"label\"\r\n style={{ flexGrow: 1, flexBasis: \"500px\" }}\r\n >\r\n \r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n {selectedField.length !== 0 &&\r\n filterValueSelected.length !== 0 && (\r\n <>\r\n
\r\n
\r\n

Filter Value

\r\n
\r\n \r\n (\r\n \r\n onChangeFilterValue(e.value)\r\n }\r\n size=\"small\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"FieldDisplay\"\r\n style={{ flexGrow: 1, flexBasis: \"110px\" }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n return (\r\n <>\r\n {filterValueSelected !== undefined ? (\r\n filterValueSelected.length !== 0 ? (\r\n filterValueSelected.map(\r\n (data: any) => {\r\n let dateFormat: any =\r\n rowData.FieldTextFrom !==\r\n undefined &&\r\n rowData.FieldTextFrom !==\r\n null &&\r\n rowData.FieldTextFrom\r\n .length !== 0\r\n ? moment(\r\n moment(\r\n formatDate(\r\n rowData.FieldTextFrom\r\n )\r\n ).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate()\r\n : \"\";\r\n\r\n if (\r\n data.FieldCode ===\r\n rowData.FieldCode\r\n ) {\r\n return (\r\n <>\r\n

\r\n {\"From(\"}\r\n \r\n _RadioButtonFormType(\r\n e,\r\n \"IsTodayFrom\",\r\n rowData\r\n )\r\n }\r\n checkedProps={\r\n rowData.IsTodayFrom ===\r\n true\r\n }\r\n labelProps={\"\"}\r\n keyProps={\"From\"}\r\n />\r\n {\"Today\"} {\")\"}\r\n

\r\n \r\n _CalendarDate(\r\n e.value,\r\n rowData,\r\n \"FieldTextFrom\"\r\n )\r\n }\r\n style={{\r\n marginBottom: \"1em\",\r\n }}\r\n inputStyle={{\r\n borderRadius: \"6px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n showButtonBar\r\n value={dateFormat}\r\n dateFormat={\"dd M yy\"}\r\n readOnlyInput\r\n />\r\n \r\n );\r\n }\r\n }\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n }\r\n let _dataFilter: any = [];\r\n if (filterValueSelected.length !== 0) {\r\n _dataFilter = filterValueSelected.filter(\r\n (item: any) =>\r\n rowData.FieldCode === item.FieldCode\r\n );\r\n }\r\n if (\r\n rowData.FieldTypeFilterDynamic !== \"d\" &&\r\n rowData.FieldTypeFilterStatic !== \"Datetime\"\r\n ) {\r\n return (\r\n <>\r\n {\r\n onChangeDropdownfilterValue(\r\n rowData,\r\n e.value\r\n );\r\n }}\r\n />\r\n \r\n );\r\n }\r\n }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n return (\r\n <>\r\n {filterValueSelected !== undefined ? (\r\n filterValueSelected.length !== 0 ? (\r\n filterValueSelected.map(\r\n (data: any) => {\r\n let dateFormat: any =\r\n rowData.FieldTextTo !==\r\n undefined &&\r\n rowData.FieldTextTo !==\r\n null &&\r\n rowData.FieldTextTo.length !==\r\n 0\r\n ? moment(\r\n moment(\r\n formatDate(\r\n rowData.FieldTextTo\r\n )\r\n ).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate()\r\n : \"\";\r\n\r\n if (\r\n data.FieldCode ===\r\n rowData.FieldCode\r\n ) {\r\n return (\r\n <>\r\n

\r\n To (\r\n \r\n _RadioButtonFormType(\r\n e,\r\n \"IsTodayTo\",\r\n rowData\r\n )\r\n }\r\n checkedProps={\r\n rowData.IsTodayTo ===\r\n true\r\n }\r\n keyProps={\"Today\"}\r\n labelProps={\"\"}\r\n />\r\n Today )\r\n

\r\n \r\n _CalendarDate(\r\n e.value,\r\n rowData,\r\n \"FieldTextTo\"\r\n )\r\n }\r\n inputStyle={{\r\n borderRadius: \"6px\",\r\n height: \"38px\",\r\n }}\r\n showButtonBar\r\n value={dateFormat}\r\n dateFormat={\"dd M yy\"}\r\n readOnlyInput\r\n />\r\n \r\n );\r\n }\r\n }\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n {filterValueSelected !== undefined ? (\r\n filterValueSelected.length !== 0 ? (\r\n filterValueSelected.map(\r\n (data: any) => {\r\n if (\r\n data.FieldCode ===\r\n rowData.FieldCode\r\n ) {\r\n console.log(\r\n \"rowDatarowDatarowData\",\r\n rowData.FieldText\r\n );\r\n\r\n return (\r\n <>\r\n \r\n _AutoCompleteText(\r\n e,\r\n \"FieldText\",\r\n rowData\r\n )\r\n }\r\n onBlur={(e: any) =>\r\n searchTextEnter(\r\n e,\r\n \"FieldText\",\r\n rowData\r\n )\r\n }\r\n valueProps={\r\n rowData.FieldText !==\r\n undefined &&\r\n rowData.FieldText\r\n .length !== 0 &&\r\n typeof rowData.FieldText ===\r\n \"object\"\r\n ? rowData.FieldText\r\n : []\r\n }\r\n keyProps={\"FieldText\"}\r\n styleProps={{\r\n height:\r\n rowData?.FieldText !==\r\n undefined\r\n ? rowData\r\n ?.FieldText\r\n .length === 0\r\n ? \"38px\"\r\n : \"100%\"\r\n : \"38px\",\r\n width: \"100%\",\r\n borderRadius:\r\n \"6px 6px 6px 6px\",\r\n }}\r\n onKeyPress={(e: any) =>\r\n searchTextEnter(\r\n e,\r\n \"FieldText\",\r\n rowData\r\n )\r\n }\r\n />\r\n\r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n\r\n // <>\r\n // \r\n // \r\n // );\r\n }\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n onChangeReportName(e.target.value, \"ReportName\")\r\n }\r\n className={\r\n validationForm.ReportNameValidation === true\r\n ? reportModel.ReportName !== undefined &&\r\n reportModel.ReportName !== null &&\r\n reportModel.ReportName.length !== 0\r\n ? \"report-input\"\r\n : \"Validation report-input\"\r\n : \"report-input\"\r\n }\r\n value={reportModel.ReportName}\r\n // onFocus={true}\r\n // Foc\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n onChangeReportName(e.target.value, \"ReportDescription\")\r\n }\r\n className={\r\n validationForm.ReportDescriptionValidation === true\r\n ? reportModel.ReportDescription !== undefined &&\r\n reportModel.ReportDescription !== null &&\r\n reportModel.ReportDescription.length !== 0\r\n ? \"report-input\"\r\n : \"Validation report-input\"\r\n : \"report-input\"\r\n }\r\n value={reportModel.ReportDescription}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n {\r\n onChangeGroupData(e.value, \"indexGroupBy\");\r\n }}\r\n />\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n\r\n \r\n (\r\n <>\r\n {\r\n onChangeGroupData(e.value, \"indexOrderBy\");\r\n }}\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n {\r\n onChangeGroupData(e.value, \"indexHideColumn\");\r\n }}\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"95% \", fontSize: \"13px\" }}\r\n />\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n\r\n \r\n (\r\n <>\r\n {\r\n onChangeGroupData(e.value, \"indexSortingBy\");\r\n }}\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n

\r\n Edit User Permission / แก้ไขสิทธิ์\r\n

\r\n \r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n showModal(\"RoleEmp\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height:\r\n employeeRequest === undefined ||\r\n employeeRequest === null\r\n ? \"38px\"\r\n : employeeRequest.length !== 0\r\n ? \"100%\"\r\n : \"38px\",\r\n }}\r\n />\r\n
\r\n\r\n {/*

Validation Employee (s)

*/}\r\n \r\n )}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n _AutoComplete(e.value, \"RoleId\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n filter\r\n showClear\r\n resetFilterOnHide\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {\r\n try {\r\n let dataSelectEmployee: any[] = [];\r\n if (employeeRequest) {\r\n dataSelectEmployee = [...employeeRequest];\r\n }\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) =>\r\n _data.NameEn === rowData.NameEn ||\r\n _data.NameTh === rowData.NameTh\r\n );\r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(rowData);\r\n }\r\n\r\n _AutoComplete(dataSelectEmployee, keyAutoComplete);\r\n setDialogVisible(false);\r\n } catch (error) {\r\n console.log(\"report=>error\", error);\r\n }\r\n }}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={isDialogVisible}\r\n setDialogVisible={setDialogVisible}\r\n />\r\n {/* */}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport \"../../components/ErrorPageComponent/ErrorPageComponent.css\";\r\ntype Props = {};\r\n\r\nconst UnAurthorization = (props: Props) => {\r\n const history = useHistory();\r\n return (\r\n
\r\n
\r\n
\r\n {/*

404

*/}\r\n

Access denied!

\r\n

\r\n You do not have permission to perform access this resource. Please\r\n check your profile with system admin again.\r\n

\r\n
\r\n history.push(\"/Default\")}\r\n >\r\n Go back\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default UnAurthorization;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport UnAurthorization from \"../../screens/UnAuthorizePage/UnAurthorization\";\r\nimport { GetNavbarMenu } from \"../../Services/NavBarMenuService\";\r\nconst withPerMission =\r\n (Component: any) =>\r\n ({ ...props }) => {\r\n const [isAuthorize, setIsAuthorizeo] = useState(false);\r\n const [onLoading, setOnLoading] = useState(true);\r\n const history = useHistory();\r\n const location = useLocation();\r\n const isAdmin =\r\n window.localStorage.getItem(\"isAdmin\") === \"true\" ? true : false;\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const query = new URLSearchParams(useLocation().search);\r\n\r\n useEffect(() => {\r\n const fetchNav = async () => {\r\n const menus = await GetNavbarMenu(empData?.employeeData?.Email);\r\n const _query = query.get(\"name\") || \"\";\r\n\r\n let _isAuthorize: boolean = isAuthorize;\r\n for (let i = 0; i < menus.length; i++) {\r\n const menu = menus[i];\r\n\r\n if (\r\n menu?.Url?.toLowerCase() === location.pathname?.toLowerCase() ||\r\n menu?.Url?.toLowerCase() === `/${_query?.toLowerCase()}` ||\r\n location?.pathname\r\n ?.toLowerCase()\r\n .includes(menu?.Url?.toLowerCase()) ||\r\n isAdmin\r\n ) {\r\n _isAuthorize = true;\r\n }\r\n }\r\n setOnLoading(false);\r\n setIsAuthorizeo(_isAuthorize);\r\n };\r\n fetchNav();\r\n }, [query]);\r\n\r\n return onLoading ? (\r\n
\r\n ) : isAuthorize ? (\r\n \r\n ) : (\r\n \r\n );\r\n };\r\nexport default withPerMission;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n AiOutlineSortAscending,\r\n AiOutlineSortDescending,\r\n} from \"react-icons/ai\";\r\nimport { sorterFunc } from \"../../Helper/SortingFunction\";\r\n\r\ntype Props = {\r\n onClick: (type: \"dec\" | \"asc\") => void;\r\n sortType?: \"dec\" | \"asc\" | null;\r\n};\r\n\r\nconst SortingButton = ({ sortType, onClick }: Props) => {\r\n const callSortFunc = () => {\r\n if (sortType === \"dec\") {\r\n sortType = \"dec\";\r\n } else {\r\n sortType = \"asc\";\r\n }\r\n onClick(sortType);\r\n };\r\n\r\n return (\r\n
\r\n {sortType === \"dec\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default SortingButton;\r\n","export const sorterFunc = (\r\n a: any,\r\n b: any,\r\n key: string,\r\n type: \"dec\" | \"asc\" | null,\r\n filterType: string\r\n) => {\r\n try {\r\n let nameA: any;\r\n let nameB: any;\r\n\r\n if (filterType === \"date\") {\r\n nameA = a[key] || a[key] !== \"\" ? new Date(a[key]).getTime() : \"\";\r\n nameB = b[key] || b[key] !== \"\" ? new Date(b[key]).getTime() : \"\";\r\n if (type === \"asc\") {\r\n return nameA - nameB;\r\n } else {\r\n return nameB - nameA;\r\n }\r\n } else {\r\n console.log(typeof a[key]);\r\n if (typeof a[key] !== \"string\") {\r\n return 0;\r\n }\r\n if (!isNaN(a[key]?.replaceAll(\",\", \"\"))) {\r\n nameA = Number(a[key]?.replaceAll(\",\", \"\"));\r\n nameB = Number(b[key]?.replaceAll(\",\", \"\"));\r\n\r\n if (type === \"asc\") {\r\n return nameA - nameB;\r\n } else {\r\n return nameB - nameA;\r\n }\r\n } else {\r\n nameA = a[key]?.toString().toLowerCase();\r\n nameB = b[key]?.toString().toLowerCase();\r\n if (type === \"asc\") {\r\n if (nameA > nameB) {\r\n return 1;\r\n } else if (nameB > nameA) {\r\n return -1;\r\n }\r\n } else {\r\n if (nameA > nameB) {\r\n return -1;\r\n } else if (nameB > nameA) {\r\n return 1;\r\n }\r\n }\r\n return 0;\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"helper=>sorterFunc=>error\", error);\r\n return 0;\r\n }\r\n};\r\n","import moment from \"moment\";\r\nimport { GetAllDynamic, updateDynamic } from \"../Services/DynamicService\";\r\n\r\nexport const exportExcel = (\r\n fileName: string,\r\n data: any[],\r\n setLoad?: (val: boolean) => void\r\n) => {\r\n const excelData = [...data];\r\n\r\n import(\"xlsx\").then((xlsx: any) => {\r\n const worksheet = xlsx.utils.json_to_sheet(excelData);\r\n const workbook = { Sheets: { data: worksheet }, SheetNames: [\"data\"] };\r\n const excelBuffer = xlsx.write(workbook, {\r\n bookType: \"xlsx\",\r\n type: \"array\",\r\n });\r\n if (setLoad) {\r\n setLoad(true);\r\n }\r\n saveAsExcelFile(\r\n excelBuffer,\r\n fileName + \" : \" + moment(new Date()).format(\"DD MMM YYYY\")\r\n );\r\n if (setLoad) {\r\n setLoad(false);\r\n }\r\n });\r\n};\r\n\r\nconst formatDate = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\nconst saveAsExcelFile = async (buffer: any, fileName: any) => {\r\n await import(\"file-saver\").then((FileSaver: any) => {\r\n let EXCEL_TYPE =\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\";\r\n let EXCEL_EXTENSION = \".xlsx\";\r\n const data = new Blob([buffer], {\r\n type: EXCEL_TYPE,\r\n });\r\n\r\n FileSaver.saveAs(data, fileName + \"_export_\" + EXCEL_EXTENSION);\r\n });\r\n};\r\n\r\nexport const importExcel = async (e: any, apiName: string) => {\r\n try {\r\n const file = e.target.files[0];\r\n\r\n return import(\"xlsx\").then((xlsx) => {\r\n const reader = new FileReader();\r\n reader.onload = async (e: any) => {\r\n const wb = xlsx.read(e.target.result, { type: \"array\" });\r\n const wsname = wb.SheetNames[0];\r\n const ws = wb.Sheets[wsname];\r\n const data = xlsx.utils.sheet_to_json(ws, { header: 1 });\r\n const cols: any = data[0];\r\n data.shift();\r\n let _importedData = data.map((d: any) => {\r\n return cols.reduce((obj: any, c: any, i: any) => {\r\n obj[c] = d[i];\r\n return obj;\r\n }, {});\r\n });\r\n console.log(\"table=>_importedData\", _importedData);\r\n\r\n if (_importedData.length !== 0) {\r\n for (let i = 0; i < _importedData.length; i++) {\r\n const element = _importedData[i];\r\n var apiNamereplace = apiName?.replace(\"/GetAll\", \"\");\r\n let res = await updateDynamic(apiNamereplace, element);\r\n if (res.result === \"success\") {\r\n let _dataDynamic = await GetAllDynamic(apiName, undefined);\r\n return { respone: true, data: _dataDynamic };\r\n } else {\r\n return { respone: false };\r\n }\r\n }\r\n } else {\r\n return { respone: false };\r\n }\r\n };\r\n reader.readAsArrayBuffer(file);\r\n });\r\n } catch (error: any) {\r\n return { respone: false, data: error };\r\n }\r\n};\r\n","import {\r\n AutoComplete,\r\n Col,\r\n DatePicker,\r\n Row,\r\n Table,\r\n TablePaginationConfig,\r\n Tag,\r\n} from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport \"../../AntdControlComponent/TableComponent/TableComponentCSS.css\";\r\nimport \"../Table.css\";\r\nimport SortingButton from \"../../ButtonComponents/SortingButton\";\r\nimport { sorterFunc } from \"../../../Helper/SortingFunction\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { exportExcel } from \"../../../Helper/ExportExcel\";\r\nimport { updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { IPaging } from \"../../../IRequestModel/IPaginationOptionModel\";\r\nconst { RangePicker } = DatePicker;\r\n\r\ntype Props = {\r\n tableName: string;\r\n dataSource: any[];\r\n customColumns?: any[];\r\n setItemsCount?: (value: number) => void;\r\n canExport: boolean;\r\n setLoad?: (value: boolean) => void;\r\n actionBodyTemplate?: any;\r\n customImportFileButton?: any;\r\n rowClickAction?: any;\r\n canEdit?: any;\r\n toast?: any;\r\n loading?: boolean;\r\n reloadData?: (apiName: string) => void;\r\n VersionTempVCProps?: any;\r\n paginationOption?: TablePaginationConfig;\r\n onPageChange?: (paginationValue: IPaging) => void;\r\n};\r\n\r\ntype ITableFilter = {\r\n key: string;\r\n type: string;\r\n sortType: \"dec\" | \"asc\" | null;\r\n value: any;\r\n};\r\n\r\nconst DynamicTable = ({\r\n tableName,\r\n dataSource,\r\n customColumns,\r\n canExport,\r\n setItemsCount,\r\n setLoad,\r\n canEdit,\r\n actionBodyTemplate,\r\n rowClickAction,\r\n reloadData,\r\n customImportFileButton,\r\n loading,\r\n paginationOption,\r\n onPageChange,\r\n}: Props) => {\r\n const location = useLocation();\r\n const [toggleSelect, setToggleSelect] = useState(false);\r\n const [allColumns, setAllColumns] = useState();\r\n const [selectedColumns, setSelectedColumns] = useState([]);\r\n const [showData, setShowData] = useState(dataSource);\r\n const [isHoverAction, setIsHoverAction] = useState(false);\r\n const [filters, setFilters] = useState();\r\n const [canOpenMemo, setCanOpenMemo] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const [exportLoading, setExportLoading] = useState(false);\r\n const [importLoading, setImportLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n if (dataSource) {\r\n setToggleSelect(true);\r\n GetFilter();\r\n }\r\n }, [dataSource]);\r\n\r\n useEffect(() => {\r\n if (filters) {\r\n if (filters.length > 0) {\r\n GetColumns(filters);\r\n }\r\n }\r\n }, [filters]);\r\n\r\n useEffect(() => {\r\n if (allColumns) {\r\n setSelectedColumns([\r\n ...allColumns.filter((e: any) => !e.key.toLowerCase().includes(\"id\")),\r\n ]);\r\n }\r\n }, [allColumns]);\r\n\r\n useEffect(() => {\r\n if (showData) {\r\n if (setItemsCount) {\r\n setItemsCount(showData.length);\r\n }\r\n }\r\n }, [showData]);\r\n\r\n // useEffect(() => {\r\n // if (filters) {\r\n // if (filters.length > 0) {\r\n // filterFunc();\r\n // }\r\n // }\r\n // }, [filters]);\r\n\r\n const formatData = (_allColumns: any[]) => {\r\n let _data = dataSource;\r\n _allColumns.forEach((col: any) => {\r\n if (col.key.toLowerCase().includes(\"date\") || col.filterType === \"d\") {\r\n _data.forEach((e: any, index: number) => {\r\n e.key = index;\r\n if (e[col.key] && e[col.key] !== \"\") {\r\n let newDate = formatDate(e[col.key]);\r\n if (newDate !== \"Invalid date\") {\r\n e[col.key] = newDate;\r\n } else {\r\n let someDateString = moment(e[col.key], \"MM/DD/YYYY\");\r\n newDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n e[col.key] = newDate;\r\n } else {\r\n newDate = moment(e[col.key]).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n e[col.key] = newDate;\r\n } else {\r\n let someDateString = moment(e[col.key], \"DD/MM/YYYY\");\r\n newDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n e[col.key] = newDate;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n _data.forEach((e: any, index: number) => {\r\n e.key = index;\r\n if (typeof e[col.key] === \"boolean\") {\r\n e[col.key] = e[col.key].toString();\r\n } else if (e[col.key] === 0 || e[col.key] === null) {\r\n e[col.key] = \"\";\r\n }\r\n });\r\n }\r\n });\r\n setShowData([..._data]);\r\n };\r\n\r\n const formatDate = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(new Date(value), \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n const GetColumns = (tableFilter: ITableFilter[]) => {\r\n try {\r\n let columns: any[] = [];\r\n let _filters: ITableFilter[] = [];\r\n\r\n if (customColumns) {\r\n columns = getsettingReportTableColumns(customColumns, tableFilter);\r\n } else {\r\n columns = getsettingTableColumns(tableFilter);\r\n }\r\n formatData(columns);\r\n filterFunc();\r\n setFilters([..._filters]);\r\n setAllColumns([...columns]);\r\n } catch (error) {}\r\n };\r\n const GetFilter = () => {\r\n let _filters: ITableFilter[] = [];\r\n try {\r\n const action = new URLSearchParams(location.search).get(\"action\");\r\n const previousFilter = JSON.parse(\r\n sessionStorage.getItem(`filter::table::${tableName}`) || \"[]\"\r\n ) as ITableFilter[];\r\n\r\n if (action == \"back\" && previousFilter.length > 0) {\r\n _filters = previousFilter;\r\n } else if (customColumns) {\r\n customColumns.forEach((colField: any) => {\r\n const filter: ITableFilter = {\r\n key: colField.key,\r\n type: \"\",\r\n sortType: null,\r\n value: \"\",\r\n };\r\n if (colField.FieldTypeFilterDynamic) {\r\n const colType = colField.FieldTypeFilterDynamic;\r\n if (colType === \"c\") {\r\n filter.type = \"number\";\r\n } else if (colType === \"d\") {\r\n filter.type = \"date\";\r\n } else {\r\n filter.type = \"text\";\r\n }\r\n } else if (colField.FieldTypeFilterStatic) {\r\n const colType = colField.FieldTypeFilterDynamic;\r\n if (\r\n colType === \"Datetime\" ||\r\n colField.key.toLowerCase().includes(\"date\")\r\n ) {\r\n filter.type = \"date\";\r\n } else {\r\n filter.type = \"text\";\r\n }\r\n }\r\n _filters.push(filter);\r\n });\r\n } else {\r\n Object.keys(dataSource[0] ? dataSource[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n const filter: ITableFilter = {\r\n key: key,\r\n type: key.toLowerCase().includes(\"date\")\r\n ? \"date\"\r\n : typeof dataSource[0][key],\r\n sortType: null,\r\n value: \"\",\r\n };\r\n _filters.push(filter);\r\n }\r\n );\r\n }\r\n // return _filters;\r\n setFilters([..._filters]);\r\n } catch (error) {\r\n return _filters;\r\n }\r\n };\r\n\r\n const getsettingReportTableColumns = (\r\n customColumns: any[],\r\n tableFilter: ITableFilter[]\r\n ) => {\r\n let columns: any[] = [];\r\n customColumns.forEach((colField: any) => {\r\n const colWidth = Math.max(\r\n getWitdthFormText(colField.dispalyLebelAndAlter) * 2.5 + 20,\r\n getWitdthFormText(dataSource[0][colField.key])\r\n );\r\n\r\n if (colField.key !== \"operation\") {\r\n columns.push({\r\n title: () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {colField.dispalyLebelAndAlter}\r\n \r\n \r\n \r\n {getSorterButton(colField.key, tableFilter)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableFilter &&\r\n getInputFilter(\r\n tableFilter,\r\n tableFilter.filter(\r\n (e: ITableFilter) => e.key === colField.key\r\n )[0]\r\n )}\r\n \r\n \r\n
\r\n );\r\n },\r\n dataIndex: colField.key,\r\n key: colField.key,\r\n filterType: colField.FieldTypeFilterDynamic,\r\n width:\r\n colField.key.toLowerCase().includes(\"date\") ||\r\n colField.FieldTypeFilterDynamic === \"d\"\r\n ? 250\r\n : colWidth,\r\n });\r\n }\r\n });\r\n return columns;\r\n };\r\n\r\n const getsettingTableColumns = (tableFilter: ITableFilter[]) => {\r\n let columns: any[] = [];\r\n if (canEdit) {\r\n columns.push({\r\n key: \"operation\",\r\n align: \"center\",\r\n fixed: \"left\",\r\n width: 50,\r\n render: (_: any, record: any) => {\r\n if (actionBodyTemplate) {\r\n return (\r\n setIsHoverAction(true)}\r\n onMouseLeave={(e: any) => setIsHoverAction(false)}\r\n >\r\n {actionBodyTemplate(record)}\r\n
\r\n );\r\n }\r\n },\r\n });\r\n }\r\n\r\n Object.keys(dataSource[0] ? dataSource[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n const colWidth = Math.max(\r\n getWitdthFormText(key) * 3 + 20,\r\n getWitdthFormText(dataSource[0][key])\r\n );\r\n if (key !== \"operation\" && key.toLowerCase() !== \"password\") {\r\n if (key !== \"SignPicPath\" && key !== \"UrlLogo\") {\r\n if (key === \"AmountFrom_AmountTo\") {\r\n columns.push({\r\n title: () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {key}\r\n \r\n \r\n {getSorterButton(key, tableFilter)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableFilter &&\r\n getInputFilter(\r\n tableFilter,\r\n tableFilter.filter(\r\n (e: ITableFilter) => e.key === key\r\n )[0]\r\n )}\r\n \r\n \r\n
\r\n );\r\n },\r\n dataIndex: key,\r\n key: key,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n width: colWidth,\r\n render: (record: any) => {\r\n const dd = record.split(\":\");\r\n let htmlBody: any[] = [];\r\n dd.forEach((data: any, idx: number) => {\r\n if (idx < 4) {\r\n htmlBody.push(

{data}

);\r\n } else {\r\n htmlBody.push(

.......

);\r\n }\r\n });\r\n return <>{htmlBody};\r\n },\r\n });\r\n } else if (key === \"TemplateName\") {\r\n columns.push({\r\n title: () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {key}\r\n \r\n \r\n {getSorterButton(key, tableFilter)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableFilter &&\r\n getInputFilter(\r\n tableFilter,\r\n tableFilter.filter(\r\n (e: ITableFilter) => e.key === key\r\n )[0]\r\n )}\r\n \r\n \r\n
\r\n );\r\n },\r\n\r\n key: key,\r\n render: (_: any, record: any) => {\r\n return (\r\n \r\n {record[key]}\r\n {record.isPublishVersion === \"true\" && (\r\n \r\n Publish\r\n \r\n )}\r\n {record.isEditing === \"true\" && (\r\n \r\n Editing\r\n \r\n )}\r\n \r\n );\r\n },\r\n width: 350,\r\n });\r\n } else {\r\n columns.push({\r\n title: () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {key === \"Delegate_To\" ? \"Delegate To\" : key}\r\n \r\n \r\n \r\n {tableFilter && (\r\n <>{getSorterButton(key, tableFilter)}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableFilter &&\r\n getInputFilter(\r\n tableFilter,\r\n tableFilter.filter(\r\n (e: ITableFilter) => e.key === key\r\n )[0]\r\n )}\r\n \r\n \r\n
\r\n );\r\n },\r\n dataIndex: key,\r\n key: key,\r\n width:\r\n key.toLowerCase().includes(\"date\") ||\r\n (key.toLowerCase().includes(\"วัน\") &&\r\n tableName !== \"Time Stamp\")\r\n ? 250\r\n : key.toLowerCase() === \"nameth\" ||\r\n key.toLowerCase() === \"nameen\"\r\n ? 250\r\n : key.toLowerCase().includes(\"หน่วยงาน\")\r\n ? 300\r\n : key.toLowerCase().includes(\"ชื่อเอกสาร\")\r\n ? 350\r\n : colWidth,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n );\r\n return columns;\r\n };\r\n\r\n const getWitdthFormText = (str: string) => {\r\n var canvas = document.createElement(\"canvas\");\r\n\r\n var ctx = canvas.getContext(\"2d\");\r\n var width: number = 0;\r\n\r\n if (ctx) {\r\n ctx.font = \"14px \";\r\n width = ctx.measureText(str).width;\r\n }\r\n return width;\r\n };\r\n\r\n const getSorterButton = (key: string, tableFilter: ITableFilter[]) => {\r\n let filterType: string = tableFilter\r\n .find((v: ITableFilter) => v.key === key)\r\n ?.type.toString()!;\r\n return (\r\n e.key === key)\r\n ? tableFilter.find((e: ITableFilter) => e.key === key)?.sortType\r\n : \"asc\"\r\n }\r\n onClick={(type: \"dec\" | \"asc\" | null) => {\r\n // let _data: any[] = dataSource;\r\n tableFilter.map((e: ITableFilter) => {\r\n if (e.key === key) {\r\n if (e.sortType === \"dec\") {\r\n e.sortType = \"asc\";\r\n } else {\r\n e.sortType = \"dec\";\r\n }\r\n } else {\r\n e.sortType = null;\r\n }\r\n });\r\n\r\n filterFunc(key, type, filterType);\r\n\r\n // setShowData([\r\n // ..._data.sort((a: any, b: any) => {\r\n // return sorterFunc(a, b, key, type);\r\n // }),\r\n // ]);\r\n }}\r\n />\r\n );\r\n };\r\n\r\n const getInputFilter = (\r\n tableFilter: ITableFilter[],\r\n rowFilter: ITableFilter\r\n ) => {\r\n let _data: any[] = showData;\r\n if (rowFilter) {\r\n if (rowFilter.type === \"date\") {\r\n return (\r\n
\r\n \r\n moment(x, \"DD MMM YYYY\")\r\n ) as any\r\n }\r\n format={\"DD MMM YYYY\"}\r\n // id Startdate\r\n id=\"StartDate\"\r\n style={{ borderRadius: \"6px\" }}\r\n onChange={(e: any) => {\r\n let _filters: ITableFilter[] = tableFilter;\r\n if (e) {\r\n let value: any[] = e.map(\r\n (val: any) => (val = moment(val).format(\"DD MMM YYYY\"))\r\n );\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n // setFilters([..._filters]);\r\n } else {\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = \"\";\r\n }\r\n });\r\n // setFilters([..._filters]);\r\n }\r\n filterFunc();\r\n }}\r\n ranges={{\r\n Today: [moment(), moment()],\r\n \"This Month\": [\r\n moment().startOf(\"month\"),\r\n moment().endOf(\"month\"),\r\n ],\r\n \"This Year\": [moment().startOf(\"year\"), moment().endOf(\"year\")],\r\n }}\r\n allowClear\r\n />\r\n
\r\n );\r\n } else {\r\n let uniq: Set = new Set();\r\n let options: any[] = [];\r\n if (rowFilter.type === \"boolean\") {\r\n _data.forEach((e: any) => {\r\n if (e[rowFilter.key]) {\r\n e[rowFilter.key] = e[rowFilter.key].toString();\r\n } else {\r\n e[rowFilter.key] = \"\";\r\n }\r\n });\r\n }\r\n _data.forEach((e: any) => {\r\n if (e[rowFilter.key] !== \"\") {\r\n const isDuplicate = uniq.has(e[rowFilter.key]);\r\n uniq.add(e[rowFilter.key]);\r\n if (!isDuplicate) {\r\n options.push({ value: e[rowFilter.key] });\r\n }\r\n }\r\n });\r\n\r\n return (\r\n
\r\n \r\n option.value\r\n ?.toString()\r\n .toUpperCase()\r\n .indexOf(inputValue.toUpperCase()) !== -1\r\n }\r\n onChange={(e: any) => {\r\n try {\r\n let value = e;\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n filterFunc();\r\n } catch (error) {\r\n console.error(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n className={\"table-search\"}\r\n onBlur={(e: any) => {\r\n try {\r\n let value = e.target.value;\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n filterFunc();\r\n } catch (error) {\r\n console.error(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n onFocus={(e: any) => {\r\n try {\r\n let value = e.target.value;\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n filterFunc();\r\n } catch (error) {\r\n console.error(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n onSelect={(e: any) => {\r\n try {\r\n let value = e;\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n filterFunc();\r\n } catch (error) {\r\n console.error(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n allowClear\r\n onClear={() => {\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key == rowFilter.key) {\r\n filter.value = \"\";\r\n }\r\n });\r\n filterFunc();\r\n\r\n // setFilters([..._filters]);\r\n }}\r\n style={{ width: \"100%\" }}\r\n />\r\n
\r\n );\r\n }\r\n }\r\n };\r\n\r\n const filterFunc = (\r\n key?: string,\r\n type?: \"dec\" | \"asc\" | null,\r\n filterType?: string\r\n ) => {\r\n try {\r\n let _data: any[] = dataSource;\r\n\r\n filters?.forEach((filter: ITableFilter) => {\r\n if (filter.value !== \"\" && filter.value !== \"Invalid date\") {\r\n if (filter.type === \"number\") {\r\n _data = _data.filter((e: any) => {\r\n return e[filter.key] == Number(filter.value);\r\n });\r\n } else if (filter.type === \"date\") {\r\n const startDate = new Date(filter.value[0]);\r\n const endDate = new Date(filter.value[1]);\r\n _data = _data.filter((e: any) => {\r\n let date = new Date(e[filter.key]);\r\n if (date.toString() !== \"Invalid Date\") {\r\n return date >= startDate && date <= endDate;\r\n }\r\n });\r\n } else {\r\n _data = _data.filter((e: any) =>\r\n e[filter.key]\r\n ?.toString()\r\n ?.toLowerCase()\r\n .includes(filter.value.toLowerCase())\r\n );\r\n }\r\n }\r\n });\r\n\r\n if (filters) {\r\n sessionStorage.setItem(\r\n `filter::table::${tableName}`,\r\n JSON.stringify(filters)\r\n );\r\n }\r\n if (key && type && filterType) {\r\n _data.sort((a: any, b: any) => {\r\n return sorterFunc(a, b, key, type, filterType);\r\n });\r\n }\r\n setFilters(filters);\r\n setShowData([..._data]);\r\n } catch (error) {\r\n console.error(\"table=>filterFunc=>error\", error);\r\n }\r\n };\r\n\r\n const onColumnToggle = (event: any) => {\r\n try {\r\n let selectedColumns = event.value;\r\n\r\n let orderedSelectedColumns = allColumns.filter((col: any) =>\r\n selectedColumns.some(\r\n (sCol: any) =>\r\n sCol.dataIndex === col.dataIndex || col.key === \"operation\"\r\n )\r\n );\r\n setSelectedColumns(orderedSelectedColumns);\r\n } catch (error) {\r\n console.error(\"table=>onColumnToggle=>error\", error);\r\n }\r\n };\r\n\r\n function reconStructionForShowData() {\r\n try {\r\n let dataShow: any = [];\r\n dataSource.map((data: any) => {\r\n let dataField: any = {};\r\n allColumns.forEach((col: any) => {\r\n if (!col.key.toLowerCase().includes(\"id\")) {\r\n selectedColumns.forEach((selCol: any) => {\r\n if (col.key === selCol.key) {\r\n dataField[selCol.key] = data[selCol.key];\r\n }\r\n });\r\n } else {\r\n dataField[col.key] = data[col.key];\r\n }\r\n });\r\n dataShow.push(dataField);\r\n });\r\n\r\n return dataShow;\r\n } catch (error) {\r\n console.error(\"table=>reconStructionForShowData=>error\", error);\r\n }\r\n }\r\n\r\n const renderHeader1 = () => {\r\n try {\r\n if (allColumns) {\r\n const selCol: any[] = [...selectedColumns];\r\n let showSelCol: any[] = [];\r\n const col: any[] = [...allColumns];\r\n let showCol: any[] = [];\r\n selCol.forEach((e: any) => {\r\n if (\r\n e.dataIndex !== undefined &&\r\n e.dataIndex !== null &&\r\n e.dataIndex !== \"\"\r\n ) {\r\n const field: string = e.dataIndex;\r\n if (!field.toLowerCase().includes(\"id\")) {\r\n showSelCol.push(e);\r\n }\r\n }\r\n });\r\n col.map((e: any) => {\r\n if (\r\n e.dataIndex !== undefined &&\r\n e.dataIndex !== null &&\r\n e.dataIndex !== \"\"\r\n ) {\r\n if (!e.dataIndex.toLowerCase().includes(\"id\")) {\r\n showCol.push(e);\r\n }\r\n }\r\n });\r\n\r\n return (\r\n <>\r\n \r\n {\r\n try {\r\n const recon = reconStructionForShowData();\r\n const uniqueArray = recon.filter(\r\n (value: any, index: any) => {\r\n const _value = JSON.stringify(value);\r\n return (\r\n index ===\r\n recon.findIndex((obj: any) => {\r\n return JSON.stringify(obj) === _value;\r\n })\r\n );\r\n }\r\n );\r\n setShowData([...uniqueArray]);\r\n } catch (error) {\r\n console.error(\"table=>onHide=>error\", error);\r\n }\r\n }}\r\n onChange={onColumnToggle}\r\n placeholder=\"Select columns\"\r\n style={{ width: \"50%\" }}\r\n />\r\n \r\n {canExport && (\r\n <>\r\n \r\n {\r\n await exportExcel(\r\n tableName,\r\n reconStructionForExport(),\r\n setExportLoading\r\n );\r\n }}\r\n style={{\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"1em\",\r\n borderRadius: \"6px\",\r\n margin: \" 0px 11px 0px 0px\",\r\n justifyContent: \"center\",\r\n }}\r\n />\r\n {!location.pathname.includes(\"DynamicReport\") &&\r\n !location.search?.includes(\"DelegateList\") &&\r\n !location.search?.includes(\"TimeStamp\") && (\r\n <>\r\n {customImportFileButton ? (\r\n customImportFileButton\r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n Import from excel\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n } catch (error) {\r\n console.error(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const importExcel = async (e: any) => {\r\n const file = e.target.files[0];\r\n try {\r\n import(\"xlsx\").then((xlsx) => {\r\n const reader = new FileReader();\r\n try {\r\n reader.onload = async (e: any) => {\r\n const wb = xlsx.read(e.target.result, { type: \"array\" });\r\n const wsname = wb.SheetNames[0];\r\n const ws = wb.Sheets[wsname];\r\n const data = xlsx.utils.sheet_to_json(ws, { header: 1 });\r\n const cols: any = data[0];\r\n data.shift();\r\n let _importedData = data.map((d: any) => {\r\n return cols.reduce((obj: any, c: any, i: any) => {\r\n obj[c] = d[i];\r\n return obj;\r\n }, {});\r\n });\r\n if (_importedData.length !== 0) {\r\n let res = null;\r\n for (let i = 0; i < _importedData.length; i++) {\r\n const element = _importedData[i];\r\n var apiNamereplace = tableName?.replace(\"/GetAll\", \"\");\r\n if (\r\n !_importedData[i][apiNamereplace + \"Id\"] ||\r\n _importedData[i][apiNamereplace + \"Id\"] === \"\"\r\n ) {\r\n _importedData[i].CreatedBy = userData.EmployeeId.toString();\r\n _importedData[i].ModifiedBy = userData.EmployeeId.toString();\r\n } else {\r\n _importedData[i].ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n setImportLoading(true);\r\n\r\n res = await updateDynamic(apiNamereplace, element);\r\n }\r\n\r\n if (res.result === \"success\") {\r\n if (reloadData) {\r\n reloadData(tableName);\r\n }\r\n }\r\n setImportLoading(false);\r\n }\r\n };\r\n\r\n reader.readAsArrayBuffer(file);\r\n } catch (error) {\r\n setImportLoading(false);\r\n }\r\n });\r\n } catch (error) {\r\n setImportLoading(false);\r\n }\r\n e.target.value = null;\r\n };\r\n\r\n function reconStructionForExport() {\r\n try {\r\n let dataExport: any = [];\r\n showData.forEach((data: any) => {\r\n let dataField: any = {};\r\n if (customColumns) {\r\n customColumns?.forEach((col: any) => {\r\n if (col.key !== \"operation\") {\r\n if (col.key.toLowerCase().includes(\"id\")) {\r\n dataField[col.dispalyLebelAndAlter] = data[col.key];\r\n } else {\r\n selectedColumns.forEach((selCol: any) => {\r\n if (selCol.key === col.key) {\r\n dataField[col.dispalyLebelAndAlter] = data[col.key];\r\n }\r\n });\r\n }\r\n }\r\n });\r\n } else {\r\n allColumns.forEach((allCol: any) => {\r\n if (allCol.key !== \"operation\") {\r\n if (allCol.key.toLowerCase().includes(\"id\")) {\r\n dataField[allCol.key] = data[allCol.key];\r\n } else {\r\n selectedColumns.forEach((selCol: any) => {\r\n if (selCol.key === allCol.key) {\r\n dataField[selCol.key] = data[selCol.key];\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n dataExport.push(dataField);\r\n });\r\n\r\n return dataExport;\r\n } catch (error) {\r\n console.error(\"table=>error\", error);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {renderHeader1()}\r\n \r\n \r\n \r\n {\r\n return {\r\n onClick: (event: any) => {\r\n if (rowClickAction) {\r\n if (!isHoverAction) {\r\n rowClickAction(record, rowIndex, event);\r\n }\r\n }\r\n }, // click row\r\n onDoubleClick: (event: any) => {}, // double click row\r\n onContextMenu: (event: any) => {}, // right button click row\r\n onMouseEnter: (event: any) => {\r\n if (record[\"Memo_MemoId\"]) {\r\n setCanOpenMemo(true);\r\n }\r\n }, // mouse enter row\r\n onMouseLeave: (event: any) => {\r\n setCanOpenMemo(false);\r\n }, // mouse leave row\r\n };\r\n }}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DynamicTable;\r\n","enum LoadState {\r\n IDLE = 0,\r\n LOADING = 1,\r\n COMPLETE = 2,\r\n FAIL = 4,\r\n}\r\nclass GetAllMasterDataService {\r\n private static data: any = null;\r\n private static error: any = null;\r\n private static state: LoadState = LoadState.IDLE;\r\n private static queue: { resolve: Function; reject: Function }[] = [];\r\n\r\n private static responseToQueue() {\r\n if (this.state == LoadState.COMPLETE) {\r\n this.queue.forEach(({ resolve }) => {\r\n resolve(this.data);\r\n });\r\n } else if (this.state == LoadState.FAIL) {\r\n this.queue.forEach(({ reject }) => {\r\n reject(this.error);\r\n });\r\n\r\n this.state = LoadState.IDLE;\r\n this.error = null;\r\n this.data = null;\r\n }\r\n }\r\n\r\n public static retrieve() {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n // add callback to queue\r\n this.queue.push({ resolve, reject });\r\n\r\n if (this.state == LoadState.IDLE) {\r\n this.state = LoadState.LOADING;\r\n this.data = await fetch(\"/api/MasterData/GetAll\").then((r) =>\r\n r.json()\r\n );\r\n this.state = LoadState.COMPLETE;\r\n }\r\n } catch (e) {\r\n this.error = e;\r\n this.state = LoadState.FAIL;\r\n }\r\n\r\n this.responseToQueue();\r\n });\r\n }\r\n}\r\n\r\nexport const GetAllMasterData = () => {\r\n return GetAllMasterDataService.retrieve();\r\n};\r\n\r\nexport const GetSignature = async () => {\r\n const respone = await fetch(\"/api/MasterData/GetSignature\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone.filter((e: any) => e.isActive === true);\r\n};\r\nexport const GetReportSetting = async () => {\r\n const respone = await fetch(\"/api/MasterData/GetReportSetting\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone.filter((e: any) => e.isActive === true);\r\n};\r\nexport const GetIsDocControl = async () => {\r\n const respone = await fetch(\"/api/MasterData/GetIsDocControl\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const getAuthorization = async () => {\r\n const respone = await fetch(\"/api/MasterData/getAuthorization\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const getVersion = async () => {\r\n const respone = await fetch(\"/api/MasterData/getVersion\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const getVersionTempVC = async () => {\r\n const respone = await fetch(\"/api/MasterData/getVersionTempVC\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetLeaveTemplate = async () => {\r\n const respone = await fetch(\"api/MasterData/GetLeaveTemplate\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetLeaveTemplateByEmpId = async (empId: number) => {\r\n const respone = await fetch(`api/MasterData/GetLeaveTemplate/${empId}`)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetMasterDataFieldInfo = async () => {\r\n const respone = await fetch(\"api/MasterData/FieldInfo\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetMasterDataReportTem = async () => {\r\n const respone = await fetch(\"api/MasterData/GetReportTem\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetFontList = async () => {\r\n const respone = await fetch(\"api/MasterData/FontList\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetMasterDataBrowserAgent = async () => {\r\n return fetch(\"api/MasterData/GetBrowserAgent\")\r\n .then((response) => response.json() as Promise)\r\n .then((data: any[]) => {\r\n if (data.length > 0) {\r\n let mstData = {\r\n browsers: (data[0].value1 || \"\")\r\n .split(\"|\")\r\n .map((x: string) => x.trim().toLowerCase()),\r\n messages: (data[0].value2 || \"\")\r\n .split(\"|\")\r\n .map((x: string) => x.trim()),\r\n };\r\n return mstData;\r\n } else {\r\n return null;\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(GetMasterDataBrowserAgent.name, \":\", err);\r\n return Promise.reject(err);\r\n });\r\n};\r\n","import { DataTable } from \"primereact/datatable\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { RadioButtonComponents } from \"../RadioButtonComponents/RadioButtonComponents\";\r\nimport { IReportModel } from \"../../IRequestModel/IReportModel\";\r\nimport moment from \"moment\";\r\nimport { Chips } from \"primereact/chips\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { ButtonComponents } from \"../ButtonComponents/ButtonComponents\";\r\nimport { DatePicker } from \"antd\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetReportSetting } from \"../../Services/MasterDataService\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { UserContext, useUserContext } from \"../../Context/UserContext\";\r\n\r\ninterface Props {\r\n reportTemp: IReportModel;\r\n setReportColumns: (value: any[]) => void;\r\n setTableData: (value: any[]) => void;\r\n setGettingreport: (value: boolean) => void;\r\n}\r\n\r\nconst SelectedFieldComponent = ({\r\n reportTemp,\r\n setReportColumns,\r\n setTableData,\r\n setGettingreport,\r\n}: Props) => {\r\n const { control, setValue, handleSubmit } = useForm({\r\n defaultValues: reportTemp,\r\n });\r\n\r\n const [filterValue, setFilterValue] = useState([]);\r\n const [selectedField, setSelectedField] = useState([]);\r\n const [userData] = useUserContext();\r\n const [rtcon, setRtcon] = useState();\r\n\r\n useEffect(() => {\r\n findSelected();\r\n fecthMasterData();\r\n }, []);\r\n\r\n const fecthMasterData = async () => {\r\n try {\r\n const _rtcon = await GetReportSetting();\r\n if (_rtcon) {\r\n let value: string = _rtcon[0]?.value2?.split(\"|\");\r\n setRtcon(value);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const findSelected = () => {\r\n try {\r\n const _selectedfieldlist = reportTemp.Selectedfieldlist;\r\n const _selectedfieldlistfilter = reportTemp.Selectedfieldlistfilter;\r\n\r\n if (_selectedfieldlist) {\r\n const selected = _selectedfieldlist.filter((field: any) => {\r\n return _selectedfieldlistfilter?.find(\r\n (filter: any) => field.key === filter.FieldCode\r\n );\r\n });\r\n setValue(\"Selectedfieldlistfilter\", _selectedfieldlistfilter);\r\n setSelectedField(selected);\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n function formatDate(date: string) {\r\n try {\r\n let arrDate = date.split(\"/\");\r\n const mm = Number(arrDate[1]);\r\n if (mm === 1) {\r\n arrDate[1] = \"Jan\";\r\n } else if (mm === 2) {\r\n arrDate[1] = \"Feb\";\r\n } else if (mm === 3) {\r\n arrDate[1] = \"Mar\";\r\n } else if (mm === 4) {\r\n arrDate[1] = \"Apr\";\r\n } else if (mm === 5) {\r\n arrDate[1] = \"May\";\r\n } else if (mm === 6) {\r\n arrDate[1] = \"Jun\";\r\n } else if (mm === 7) {\r\n arrDate[1] = \"Jul\";\r\n } else if (mm === 8) {\r\n arrDate[1] = \"Aug\";\r\n } else if (mm === 9) {\r\n arrDate[1] = \"Sep\";\r\n } else if (mm === 10) {\r\n arrDate[1] = \"Oct\";\r\n } else if (mm === 11) {\r\n arrDate[1] = \"Nov\";\r\n } else if (mm === 12) {\r\n arrDate[1] = \"Dec\";\r\n }\r\n return arrDate.join(\" \");\r\n } catch (error) {\r\n return date;\r\n }\r\n }\r\n\r\n const validateFun = (data: any) => {\r\n let isPass = true;\r\n try {\r\n if (rtcon?.length > 0) {\r\n const request_date = data.Selectedfieldlistfilter.find(\r\n (e: any) => e.FieldCode.toLowerCase() === rtcon[0]\r\n );\r\n if (!request_date) {\r\n isPass = false;\r\n confirmDialog({\r\n message: () => {\r\n return (\r\n <>\r\n {\r\n \"Please select field Request Date for data search condition after click Generate Report button! / กรุณาเลือก field Request Date เพื่อเป็นเงื่อนไขในการค้นหาข้อมูลก่อนกดปุ่ม Generate Report !\"\r\n }\r\n \r\n );\r\n },\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else if (!request_date.FieldTextFrom && !request_date.FieldTextTo) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select filter value Memorandum - Request Date From / กรุณาเลือกค่าสำหรับการกรอง Memorandum - Request Date จาก !\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else if (request_date.FieldTextFrom && !request_date.FieldTextTo) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select filter value Memorandum - Request Date To / กรุณาเลือกค่าสำหรับการกรอง Memorandum - Request Date ถึง !\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else if (!request_date.FieldTextFrom && request_date.FieldTextTo) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select filter value Memorandum - Request Date From / กรุณาเลือกค่าสำหรับการกรอง Memorandum - Request Date จาก !\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else {\r\n const dateForm = getDateValue(request_date.FieldTextFrom);\r\n const dateTo = getDateValue(request_date.FieldTextTo);\r\n const diffDays = dateTo.diff(dateForm, \"days\");\r\n if (diffDays > rtcon[1]) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select field Request Date difference between \" +\r\n rtcon[1] +\r\n \"! / \" +\r\n \"กรุณาเลือก field Request Date ที่มีระยะห่างไม่เกิน \" +\r\n rtcon[1] +\r\n \"!\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n isPass = false;\r\n }\r\n\r\n return isPass;\r\n };\r\n\r\n const onSubmit = (data: any) => {\r\n if (validateFun(data)) {\r\n setGettingreport(true);\r\n data.Selectedfieldlistfilter?.map((e: any) => {\r\n try {\r\n if (e.FieldText && typeof e.FieldText !== \"string\") {\r\n e.FieldText = e.FieldText.join(\"|\");\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n });\r\n fecthDataReport(\r\n data.ReporttemplateID,\r\n JSON.stringify(data.Selectedfieldlistfilter)\r\n );\r\n }\r\n };\r\n\r\n function formatNumberWithTrailingZeros(\r\n number: number,\r\n decimalPlaces: number\r\n ) {\r\n let numberString = number.toString();\r\n let [integerPart, decimalPart] = numberString.split(\".\");\r\n decimalPart = decimalPart || \"\";\r\n decimalPart = decimalPart\r\n .padEnd(decimalPlaces, \"0\")\r\n .slice(0, decimalPlaces);\r\n let formattedNumber =\r\n integerPart + (decimalPart.length > 0 ? \".\" + decimalPart : \"\");\r\n return formattedNumber;\r\n }\r\n\r\n function countDigitsAfterDecimal(number: number) {\r\n let numberString = number.toString();\r\n let decimalIndex = numberString.indexOf(\".\");\r\n if (decimalIndex === -1) {\r\n return 0;\r\n }\r\n let digitsAfterDecimal = numberString.length - decimalIndex - 1;\r\n return digitsAfterDecimal;\r\n }\r\n\r\n const fecthDataReport = async (reportId: number, data: string) => {\r\n const reportDetailBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n FavoritesItem: data,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n UserPrincipalName: userData.Email,\r\n }),\r\n };\r\n\r\n const _dataDynamic: any = await GetAllDynamic(\r\n \"DynamicReport/GetReportDetailById\",\r\n reportDetailBody\r\n );\r\n if (_dataDynamic) {\r\n if (_dataDynamic.FieldCollection && _dataDynamic.FieldCollection !== \"\") {\r\n const fieldCollection: any[] = JSON.parse(_dataDynamic.FieldCollection);\r\n let numCols: Array<{\r\n key: string;\r\n suffix?: string;\r\n decimal?: number;\r\n }> = [];\r\n let dateCols: string[] = [];\r\n let edCols: string[] = [];\r\n fieldCollection.forEach((col: any) => {\r\n if (\r\n col.FieldTypeFilterDynamic === \"c\" ||\r\n col.FieldTypeFilterStatic === \"Number\"\r\n ) {\r\n numCols.push({\r\n key: col.key,\r\n suffix: col.symbol || \"\",\r\n decimal: col.Decimal,\r\n });\r\n } else if (\r\n col.FieldTypeFilterDynamic === \"d\" ||\r\n col.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n dateCols.push(col);\r\n } else if (col.FieldTypeFilterDynamic === \"ed\") {\r\n edCols.push(col);\r\n }\r\n });\r\n\r\n if (numCols.length > 0) {\r\n numCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col]) {\r\n let decimal = countDigitsAfterDecimal(data[col.key]);\r\n data[col.key] =\r\n formatNumberWithTrailingZeros(data[col.key], decimal) +\r\n \" \" +\r\n col?.suffix;\r\n }\r\n });\r\n });\r\n }\r\n if (dateCols.length > 0) {\r\n dateCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key]) {\r\n const symbol =\r\n col.symbol && col.symbol !== \"\" ? col.symbol : \" \";\r\n let newDate = moment(new Date(data[col.key]))\r\n .format(\"DD\" + symbol + \"MMM\" + symbol + \"YYYY\")\r\n .toString();\r\n data[col.key] = newDate;\r\n }\r\n });\r\n });\r\n }\r\n if (edCols.length > 0) {\r\n edCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key] && data[col.key] !== \"\") {\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(data[col.key], \"text/html\");\r\n data[col.key] = doc.body.innerText;\r\n }\r\n });\r\n });\r\n }\r\n setReportColumns([...fieldCollection]);\r\n }\r\n\r\n setTableData(_dataDynamic.dt_Report);\r\n setGettingreport(false);\r\n }\r\n };\r\n\r\n const getChipValue = (fieldValue?: any) => {\r\n let _chip: any[] = [];\r\n if (fieldValue) {\r\n if (typeof fieldValue === \"string\") {\r\n _chip = fieldValue.split(\"|\");\r\n } else {\r\n _chip = fieldValue;\r\n }\r\n return _chip;\r\n }\r\n };\r\n\r\n function onChangeSelectField(fieldValue: any[], onChange: any) {\r\n let _filters: any[] = [];\r\n selectedField.forEach((field: any) => {\r\n const exitFilter = fieldValue.find(\r\n (filter: any) => filter.FieldCode === field.key\r\n );\r\n if (exitFilter) {\r\n _filters.push(exitFilter);\r\n } else {\r\n let _objJson = {\r\n ID: 0,\r\n FieldCode: field.key,\r\n FieldDisplay: field.label,\r\n IsExcludeBlankData: true,\r\n FieldType: field.type,\r\n IsEquals: false,\r\n FieldText: [],\r\n FieldTextFrom: null,\r\n FieldTextTo: null,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: field.FieldTypeFilterStatic,\r\n FieldTypeFilterDynamic: field.FieldTypeFilterDynamic,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: \"\",\r\n indexHideColumn: null,\r\n SecretId: null,\r\n };\r\n _filters.push(_objJson);\r\n }\r\n });\r\n if (JSON.stringify(fieldValue) !== JSON.stringify(_filters)) {\r\n onChange(_filters);\r\n }\r\n return _filters;\r\n }\r\n\r\n const getDateValue = (dateValue: any) => {\r\n // let newDate: Date = new Date();\r\n\r\n let newDate = moment(\r\n moment(new Date(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n newDate = moment(formatDate(dateValue), \"DD MMM YYYY\").toDate();\r\n } else {\r\n newDate = moment(\r\n moment(formatDate(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n console.log(\"table=>dateValue\", dateValue);\r\n }\r\n }\r\n // return newDate;\r\n\r\n return moment(\r\n new Date(newDate).toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"numeric\",\r\n })\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n
\r\n
\r\n

Selected Field

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n selection={selectedField}\r\n onSelectionChange={(e: any) => {\r\n setSelectedField(e.value);\r\n }}\r\n // rowClassName={rowClassName}\r\n // isDataSelectable={isRowSelectable}\r\n responsiveLayout=\"scroll\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n size=\"small\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"label\"\r\n style={{ flexGrow: 1, flexBasis: \"500px\" }}\r\n >\r\n \r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n \r\n <>\r\n
\r\n
\r\n

Filter Value

\r\n
\r\n
\r\n (\r\n setFilterValue(e.Value)}\r\n size=\"small\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"FieldDisplay\"\r\n style={{ flexGrow: 1, flexBasis: \"110px\" }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n let dateFormat: any = rowData.FieldTextFrom\r\n ? getDateValue(rowData.FieldTextFrom)\r\n : null;\r\n\r\n return (\r\n <>\r\n

\r\n {\"From(\"}\r\n {\r\n rowData.IsTodayFrom = e;\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n checkedProps={\r\n rowData.IsTodayFrom === true\r\n }\r\n labelProps={\"\"}\r\n keyProps={\"From\"}\r\n />\r\n {\"Today\"} {\")\"}\r\n

\r\n {\r\n try {\r\n if (e) {\r\n rowData.FieldTextFrom =\r\n e.format(\"DD MMM yy\");\r\n } else {\r\n rowData.FieldTextFrom = e;\r\n }\r\n\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n } catch (error) {\r\n console.log(\"error=>\", error);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n {\r\n rowData.FilterParameter =\r\n e.value === \"Contains\"\r\n ? \"Like\"\r\n : e.value === \"Not Contains\"\r\n ? \"Not Like\"\r\n : e.value;\r\n if (field?.value) {\r\n field.value[option.rowIndex] = rowData;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n }\r\n }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n let dateFormat: any = rowData.FieldTextTo\r\n ? getDateValue(rowData.FieldTextTo)\r\n : null;\r\n\r\n return (\r\n <>\r\n

\r\n To (\r\n {\r\n rowData.IsTodayTo = e;\r\n console.log(\"report=>field\", field);\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n checkedProps={rowData.IsTodayTo === true}\r\n labelProps={\"\"}\r\n keyProps={\"Today\"}\r\n />\r\n {\"Today\"} {\")\"}\r\n

\r\n {\r\n try {\r\n if (e) {\r\n rowData.FieldTextTo =\r\n e.format(\"DD MMM yy\");\r\n } else {\r\n rowData.FieldTextTo = e;\r\n }\r\n\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n } catch (error) {\r\n console.log(\"error=>\", error);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n {\r\n if (field.value) {\r\n field.value[option.rowIndex].FieldText =\r\n e.value;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n onBlur={(e) => {\r\n if (e.target.value !== \"\") {\r\n if (field.value) {\r\n field.value[\r\n option.rowIndex\r\n ].FieldText.push(e.target.value);\r\n field.onChange(field.value);\r\n }\r\n }\r\n e.target.value = \"\";\r\n }}\r\n separator=\"|\"\r\n />\r\n \r\n );\r\n }\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SelectedFieldComponent;\r\n","import moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Panel } from \"primereact/panel\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { IoArrowBackSharp } from \"react-icons/io5\";\r\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport SelectedFieldComponent from \"../../components/ReportScreenComponent/SelectedFieldComponent\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { IReportModel } from \"../../IRequestModel/IReportModel\";\r\nimport { CheckAutoReport } from \"../../Services/AppSettingService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { ReportTemplateSelectByReportID } from \"../../Services/ReportService\";\r\nimport { Popover } from \"antd\";\r\n\r\ntype Props = {};\r\n\r\ntype QuizParams = {\r\n reportId: string;\r\n reportName: string;\r\n // isAutoReport: string;\r\n};\r\n\r\nconst reportModelIReportModel: IReportModel = {\r\n ReporttemplateID: 0,\r\n ReportName: \"\",\r\n TemplateId: \"\",\r\n Selectedfieldlist: [],\r\n ReportDescription: \"\",\r\n IsPrivate: false,\r\n IsActive: true,\r\n CreatedBy: \"\",\r\n CreatedByname: \"\",\r\n CreatedDate: \"\",\r\n ModifiedBy: \"\",\r\n ModifiedByname: \"\",\r\n ModifiedDate: \"\",\r\n Selectedfieldlistfilter: [],\r\n Columns: [],\r\n Rows: [],\r\n TemplateNewVersion: false,\r\n PageIndex: 0,\r\n PageSize: 10,\r\n CanDelete: false,\r\n RoleId: \"\",\r\n RoleEmp: \"\",\r\n Mode: false,\r\n};\r\n\r\nconst DynamicReportFix = (props: Props) => {\r\n let { reportId } = useParams();\r\n let { reportName } = useParams();\r\n // let { isAutoReport } = useParams();\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const [data, setData] = useState([]);\r\n const [_isAutoReport, setIsAutoReport] = useState(true);\r\n const [reportTemp, setReportTemp] = useState(\r\n reportModelIReportModel\r\n );\r\n const [_reportName, setReportName] = useState(\"\");\r\n const [reportColumns, setReportColumns] = useState();\r\n const [gettingFilter, setGettingFilter] = useState(false);\r\n const [gettingReport, setGettingreport] = useState(true);\r\n const history = useHistory();\r\n const [userData] = useUserContext();\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n\r\n useEffect(() => {\r\n fecthData();\r\n }, []);\r\n\r\n function openWindow(link: any) {\r\n var pathArray = link?.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n console.log(\"att=>\", _link);\r\n\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n console.log(\"att=>\", `${_sharepointSiteURL}${_link}`);\r\n\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n function formatNumberWithTrailingZeros(\r\n number: number,\r\n decimalPlaces: number\r\n ) {\r\n let numberString = number.toString();\r\n let [integerPart, decimalPart] = numberString.split(\".\");\r\n decimalPart = decimalPart || \"\";\r\n decimalPart = decimalPart\r\n .padEnd(decimalPlaces, \"0\")\r\n .slice(0, decimalPlaces);\r\n let formattedNumber =\r\n integerPart + (decimalPart.length > 0 ? \".\" + decimalPart : \"\");\r\n return formattedNumber;\r\n }\r\n\r\n function countDigitsAfterDecimal(number: number) {\r\n let numberString = number.toString();\r\n let decimalIndex = numberString.indexOf(\".\");\r\n if (decimalIndex === -1) {\r\n return 0;\r\n }\r\n let digitsAfterDecimal = numberString.length - decimalIndex - 1;\r\n return digitsAfterDecimal;\r\n }\r\n\r\n const fecthData = async () => {\r\n try {\r\n const dd = await CheckAutoReport();\r\n\r\n if (dd) {\r\n const reportDetailBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n UserPrincipalName: userData.Email,\r\n }),\r\n };\r\n const _dataDynamic: any = await GetAllDynamic(\r\n \"DynamicReport/GetReportDetailById\",\r\n reportDetailBody\r\n );\r\n\r\n if (\r\n _dataDynamic.FieldCollection &&\r\n _dataDynamic.FieldCollection !== \"\"\r\n ) {\r\n const fieldCollection: any[] = JSON.parse(\r\n _dataDynamic.FieldCollection\r\n );\r\n\r\n let numCols: Array<{\r\n key: string;\r\n suffix?: string;\r\n decimal?: number;\r\n }> = [];\r\n let dateCols: string[] = [];\r\n let edCols: string[] = [];\r\n let atCols: string[] = [];\r\n fieldCollection.forEach((col: any, index: number) => {\r\n if (\r\n col.FieldTypeFilterDynamic === \"c\" ||\r\n col.FieldTypeFilterStatic === \"Number\"\r\n ) {\r\n numCols.push({\r\n key: col.key,\r\n suffix: col.symbol || \"\",\r\n decimal: col.Decimal,\r\n });\r\n } else if (\r\n col.FieldTypeFilterDynamic === \"d\" ||\r\n col.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n dateCols.push(col);\r\n } else if (col.FieldTypeFilterDynamic === \"ed\") {\r\n edCols.push(col);\r\n } else if (col.FieldTypeFilterDynamic === \"at\") {\r\n atCols.push(col);\r\n }\r\n });\r\n\r\n if (numCols.length > 0) {\r\n numCols.forEach(\r\n (col: { key: string; suffix?: string; decimal?: number }) => {\r\n if (col.key !== \"Memo_MemoId\") {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key]) {\r\n if (col?.decimal) {\r\n data[col.key] =\r\n formatNumberWithTrailingZeros(\r\n data[col.key],\r\n col?.decimal\r\n ) +\r\n \" \" +\r\n col?.suffix;\r\n } else {\r\n let decimal = countDigitsAfterDecimal(data[col.key]);\r\n data[col.key] =\r\n formatNumberWithTrailingZeros(\r\n data[col.key],\r\n decimal\r\n ) +\r\n \" \" +\r\n col?.suffix;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n );\r\n }\r\n if (dateCols.length > 0) {\r\n dateCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key]) {\r\n const symbol =\r\n col.symbol && col.symbol !== \"\" ? col.symbol : \" \";\r\n let newDate = moment(new Date(data[col.key]))\r\n .format(\"DD\" + symbol + \"MMM\" + symbol + \"YYYY\")\r\n .toString();\r\n data[col.key] = newDate;\r\n }\r\n });\r\n });\r\n }\r\n if (edCols.length > 0) {\r\n edCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key] && data[col.key] !== \"\") {\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(data[col.key], \"text/html\");\r\n data[col.key] = doc.body.innerText;\r\n }\r\n });\r\n });\r\n }\r\n if (atCols.length > 0) {\r\n atCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key] && data[col.key] !== \"\") {\r\n const [nameFile, linkFile] = data[col.key].split(\"|\");\r\n data[col.key] = (\r\n \r\n {\r\n openWindow(linkFile);\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderRadius: \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n zIndex: \"999\",\r\n }}\r\n />\r\n \r\n );\r\n }\r\n });\r\n });\r\n }\r\n setReportColumns([...fieldCollection]);\r\n }\r\n setReportName(_dataDynamic.ReportName);\r\n setData([..._dataDynamic.dt_Report]);\r\n setGettingreport(false);\r\n } else {\r\n setGettingFilter(true);\r\n const _reportTemp: any = await ReportTemplateSelectByReportID(\r\n Number(reportId)\r\n );\r\n setReportName(reportName);\r\n if (_reportTemp) {\r\n setReportTemp(_reportTemp);\r\n setData([]);\r\n }\r\n setGettingFilter(false);\r\n setGettingreport(false);\r\n }\r\n setIsAutoReport(dd);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n const checkAutoReport = async () => {\r\n const mode = query.get(\"mode\");\r\n const isEnable = await CheckAutoReport();\r\n console.log(\"table=>isEnable\", isEnable);\r\n\r\n if (mode === \"test\") {\r\n setIsAutoReport(!isEnable);\r\n } else {\r\n setIsAutoReport(isEnable);\r\n }\r\n };\r\n\r\n const panelTemplate = (options: any, headText: string) => {\r\n const toggleIcon = options.collapsed\r\n ? \"pi pi-chevron-down\"\r\n : \"pi pi-chevron-up\";\r\n const className = `${options.className} justify-content-start`;\r\n const titleClassName = `${options.titleClassName} pl-1`;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {headText}\r\n
\r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

{_reportName + \"(\" + itemsCount + \")\"}

\r\n \r\n \r\n }\r\n onClickProps={() => {\r\n history.push(\"/DynamicReport?action=back\");\r\n // setTableData([...reportList]);\r\n // setReportColumns(undefined);\r\n // setText(\"Report List\");\r\n }}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid #F2F2F2\",\r\n fontSize: \"13px\",\r\n background: \"#F2F2F2\",\r\n color: \"#282F6A\",\r\n width: \"120px\",\r\n }}\r\n />\r\n {/* {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n {\r\n toggleDialog();\r\n }}\r\n />\r\n )} */}\r\n
\r\n
\r\n
\r\n
\r\n <>\r\n {_isAutoReport ? (\r\n <>\r\n {\r\n console.log(\"table=>record\", record);\r\n\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n canExport={true}\r\n />\r\n \r\n ) : (\r\n <>\r\n {\" \"}\r\n \r\n panelTemplate(option, \"Filter\")\r\n }\r\n toggleable\r\n >\r\n {!gettingFilter && (\r\n \r\n )}\r\n \r\n \r\n panelTemplate(option, \"Report\")\r\n }\r\n className={\"table-panel\"}\r\n toggleable\r\n >\r\n {gettingReport ? (\r\n <>\r\n {/* */}\r\n {\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n canExport={true}\r\n />\r\n \r\n ) : (\r\n <>\r\n {\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n canExport={true}\r\n />\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n{\r\n /* if (isAutoReport) {\r\n return (\r\n \r\n
\r\n {\r\n console.log(\"table=>record\", record);\r\n\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n canExport={true}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else {\r\n return
DynamicReportFix
;\r\n } */\r\n}\r\n{\r\n /* } */\r\n}\r\nexport default DynamicReportFix;\r\n","import React, { useEffect, useMemo, useState } from \"react\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useHistory, useRouteMatch, Switch, Route } from \"react-router-dom\";\r\nimport { DynamicReport } from \"./DynamicReport\";\r\nimport \"./index.css\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { ReportDialog } from \"../../components/SettingDialogComponents/ReportDialog/ReportDialog\";\r\nimport {\r\n GetTemplateeBindFormNameDDL,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../Services/TemplateService\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\nimport {\r\n DeleteReport,\r\n GetReportById,\r\n ReportTemplateSelectByReportID,\r\n} from \"../../Services/ReportService\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport DynamicReportFix from \"./DynamicReportFix\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\n\r\nconst ReportScreen = (props: Props) => {\r\n const text = \"Report List\";\r\n const location = useLocation();\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [apiName, setApiName] = useState(\r\n location.pathname.replace(\"/\", \"\")\r\n );\r\n const { isLoad, setLoad } = useLoading();\r\n const [imgLoading, setImgLoading] = useState(\r\n props.responeConfig?.pathLoading\r\n );\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [template, setTemplate] = useState([]);\r\n const [empList, setEmpList] = useState([]);\r\n const [checkReport, setCheckReport] = useState(false);\r\n const [isDelete, setIsDelete] = useState(false);\r\n const [editReport, setEditReport] = useState(false);\r\n const [dataEditReport, setDataEditReport] = useState([]);\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const [_baseUrl, setbaseUrl] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [data, setData] = useState();\r\n let history = useHistory();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n const { url } = useRouteMatch();\r\n const [isAdmin, setIsAdmin] = useState();\r\n // const [emp_data, setEmp_data] = useState();\r\n\r\n useEffect(() => {\r\n setLoad(true);\r\n fetchTemplate();\r\n fetchEmployee();\r\n fetchReport();\r\n console.log(\"table=>5555555555555555\");\r\n\r\n if (process.env.NODE_ENV !== \"development\") {\r\n setbaseUrl(window.location.hostname);\r\n }\r\n }, []);\r\n\r\n async function fetchEmployee() {\r\n setEmpList([...(await GetAllEmployee())]);\r\n }\r\n\r\n // const actionBodyTemplate = (rowData: any) => {\r\n // try {\r\n // const employee = empList.filter((e: any) => {\r\n // return e.EmployeeId === rowData.CreatedBy;\r\n // });\r\n // if (empData.employeeData.Lang === \"TH\") {\r\n // rowData.CreatedByName = employee[0]?.NameTh;\r\n // } else {\r\n // rowData.CreatedByName = employee[0]?.NameEn;\r\n // }\r\n // if (empData.employeeData.EmployeeId === rowData.CreatedBy) {\r\n // return (\r\n // \r\n // {\r\n // setVisibleDialog(true);\r\n // setCheckReport(true);\r\n // setEditReport(true);\r\n // console.log(\r\n // \"rowData.ReportTemplateId\",\r\n // rowData.ReportTemplateId\r\n // );\r\n\r\n // fetchGetReportById(rowData.ReportTemplateId);\r\n // },\r\n // },\r\n // {\r\n // label: \"Delete\",\r\n // icon: \"pi pi-trash\",\r\n // command: () => {\r\n // confirmDialog({\r\n // message: \"Do you want to delete this report.\",\r\n // header: \"Delete\",\r\n // icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n // rejectClassName: \"hide\",\r\n // acceptClassName:\r\n // \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n // accept: async () => {\r\n // const res = await DeleteReport(\r\n // rowData.ReportTemplateId\r\n // );\r\n // if (res) {\r\n // setOnLoading(true);\r\n // fetchReport();\r\n // }\r\n // },\r\n // });\r\n // },\r\n // },\r\n // ]}\r\n // dropdownIcon=\"pi pi-ellipsis-v\"\r\n // />\r\n // \r\n // );\r\n // } else {\r\n // return (\r\n // \r\n // {\r\n // setVisibleDialog(true);\r\n // setCheckReport(true);\r\n // setEditReport(true);\r\n\r\n // fetchGetReportById(rowData.ReportTemplateId);\r\n // },\r\n // },\r\n // ]}\r\n // dropdownIcon=\"pi pi-ellipsis-v\"\r\n // />\r\n // \r\n // );\r\n // }\r\n // } catch (error) {\r\n // console.log(\"report=>error\", error);\r\n // }\r\n // };\r\n\r\n function toggleDialog() {\r\n setVisibleDialog(!visibleDialog);\r\n fetchReport();\r\n setEditReport(false);\r\n }\r\n\r\n async function fetchReport() {\r\n try {\r\n const userId = query.get(\"usrid\")\r\n ? () => {\r\n setIsAdmin(false);\r\n return query.get(\"usrid\");\r\n }\r\n : userData.EmployeeId;\r\n const _dataDynamic: any[] = await GetAllDynamic(apiName + \"/GetAll\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ EmployeeId: userId?.toString() }),\r\n });\r\n setData(_dataDynamic);\r\n setLoad(false);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n setLoad(false);\r\n }\r\n }\r\n\r\n async function fetchTemplate() {\r\n const empid = userData.EmployeeId;\r\n const DepartmentId = userData.DepartmentId;\r\n\r\n const dataJsonn = {\r\n CreatedBy: empid.toString(),\r\n DepartmentId: DepartmentId,\r\n Username: userData.Username,\r\n Email: userData.Email,\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateeBindFormNameDDL(dataJsonn);\r\n console.log(\"_dataTemplatee\", _dataTemplatee);\r\n\r\n setTemplate(_dataTemplatee);\r\n }\r\n\r\n async function fetchGetReportById(rePortId: any) {\r\n let _ReportById = await ReportTemplateSelectByReportID(rePortId);\r\n\r\n setDataEditReport(_ReportById);\r\n }\r\n\r\n if (isLoad) {\r\n return <>;\r\n }\r\n\r\n const actionBodyTemplate = (record: any) => {\r\n const adminActionBody = [\r\n {\r\n label: \"Edit\",\r\n icon: \"pi pi-pencil\",\r\n command: () => {\r\n fetchGetReportById(record.ReportTemplateId);\r\n setVisibleDialog(true);\r\n setCheckReport(true);\r\n setEditReport(true);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-trash\",\r\n command: () => {\r\n confirmDialog({\r\n message: \"Do you want to delete this report.\",\r\n header: \"Delete\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: async () => {\r\n const res = await DeleteReport(record.ReportTemplateId);\r\n if (res) {\r\n setLoad(true);\r\n fetchReport();\r\n }\r\n },\r\n });\r\n },\r\n },\r\n ];\r\n let _user: any = userData;\r\n if (query.get(\"usrId\")) {\r\n _user = empList.find((e: any) => e.EmployeeId == query.get(\"usrId\"));\r\n }\r\n console.log(\"table=>isAdmin\", isAdmin);\r\n\r\n if (isAdmin && !query.get(\"usrId\")) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if (\r\n record.CreatedBy === _user.NameTh ||\r\n record.CreatedBy === _user.NameEn\r\n ) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

\r\n {apiName.replace(\"Dynamic\", \"\") + \"(\" + itemsCount + \")\"}\r\n

\r\n {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n {\r\n toggleDialog();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n\r\n {\r\n history.push(\r\n `${url}/${record.ReportName.replaceAll(\"/\", \"\\\\\")}/${\r\n record.ReportTemplateId\r\n }`\r\n );\r\n }}\r\n actionBodyTemplate={actionBodyTemplate}\r\n setItemsCount={setItemsCount}\r\n canExport={false}\r\n />\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\nexport default withPerMission(ReportScreen);\r\n","import React, { useRef, useEffect } from \"react\";\r\nimport WebViewer from \"@pdftron/webviewer\";\r\nimport \"./ShowContentScreen.css\";\r\nimport { Spin } from \"antd\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { Empty } from \"antd\";\r\ninterface Props {\r\n pdfData: string;\r\n onLoading: boolean;\r\n isShowPdfData: boolean;\r\n}\r\n\r\nexport const ShowContentScreen = (props: Props) => {\r\n const viewerDiv = useRef(null);\r\n useEffect(() => {\r\n console.log({ pdfdff: props.pdfData });\r\n }, [props.pdfData]);\r\n\r\n // useEffect(() => {\r\n // WebViewer(\r\n // {\r\n // path: \"lib\",\r\n // initialDoc:\r\n // \"https://testwolf18.wolfapprove.com/TempAttachment/ee864f46a1f14a54bf26f8d281719eb1/preview_TEST00-2021-000001.pdf\",\r\n // },\r\n // viewerDiv.current as HTMLDivElement\r\n // ).then((instance: any) => {});\r\n // }, []);\r\n // return
;\r\n return (\r\n
\r\n {props.isShowPdfData ? (\r\n props.onLoading ? (\r\n \r\n ) : props.pdfData.length > 0 ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n
\r\n {/*

404

*/}\r\n

Access denied!

\r\n

\r\n You do not have permission to perform access this resource. Please\r\n check your profile with system admin again.\r\n

\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./WorklistScreenComponent.css\";\r\ninterface Props {\r\n approvals?: any;\r\n requestor?: any;\r\n memoDetail: any;\r\n}\r\n\r\nexport const FlowCardComponent = (props: Props) => {\r\n // const [flowCardData, setFlowCardData] = useState()\r\n const [seq, setSeq] = useState();\r\n const [current, setCurrent] = useState();\r\n\r\n const highlight = () => {\r\n if (props.memoDetail) {\r\n setCurrent(\r\n props.memoDetail.requestDetails.memoDetail.current_approval_level\r\n );\r\n if (current) {\r\n props.memoDetail.requestDetails.listApprovalDetails.map((e: any) => {\r\n if (current === e.sequence) {\r\n setSeq(e.sequence);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n highlight();\r\n }, [current, props.memoDetail.memoid]);\r\n return (\r\n <>\r\n {props.approvals && props.approvals.sequence === seq ? (\r\n
\r\n
\r\n
\r\n {props.approvals && (\r\n

\r\n {props.approvals.approver &&\r\n props.approvals.approver.nameEn\r\n .substring(0, 2)\r\n .toUpperCase()}\r\n

\r\n )}\r\n {props.requestor && (\r\n

\r\n {props.requestor &&\r\n props.requestor.NameEn.substring(0, 2).toUpperCase()}\r\n

\r\n )}\r\n
\r\n {/* */}\r\n
\r\n
\r\n
\r\n {props.approvals && (\r\n <>\r\n

{props.approvals.approver.nameEn}

\r\n

\r\n {props.approvals.approver.positionNameEn}\r\n

\r\n \r\n )}\r\n {props.requestor && (\r\n <>\r\n

{props.requestor.NameEn}

\r\n

{props.requestor.PositionNameEn}

\r\n \r\n )}\r\n
\r\n {/* change text color */}\r\n

\r\n {props.approvals && props.approvals.approver.departmentNameEn}\r\n {props.requestor && props.requestor.DepartmentNameEn}\r\n

\r\n
\r\n {props.approvals && (\r\n
\r\n {props.approvals.signature_en}\r\n
\r\n )}\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n {props.approvals && (\r\n

\r\n {props.approvals.approver &&\r\n props.approvals.approver.nameEn\r\n .substring(0, 2)\r\n .toUpperCase()}\r\n

\r\n )}\r\n {props.requestor && (\r\n

\r\n {props.requestor &&\r\n props.requestor.NameEn.substring(0, 2).toUpperCase()}\r\n

\r\n )}\r\n
\r\n {/* */}\r\n
\r\n
\r\n
\r\n {props.approvals && (\r\n <>\r\n

{props.approvals.approver.nameEn}

\r\n

\r\n {props.approvals.approver.positionNameEn}\r\n

\r\n \r\n )}\r\n {props.requestor && (\r\n <>\r\n

{props.requestor.NameEn}

\r\n

{props.requestor.PositionNameEn}

\r\n \r\n )}\r\n
\r\n

\r\n {props.approvals && props.approvals.approver.departmentNameEn}\r\n {props.requestor && props.requestor.DepartmentNameEn}\r\n

\r\n
\r\n {props.approvals && (\r\n
\r\n {props.approvals.signature_en}\r\n
\r\n )}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FlowCardComponent } from \"../../components/WorklistScreenComponent/FlowCardComponent\";\r\nimport { IApproval } from \"../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport \"./FlowScreen.css\";\r\ninterface Props {\r\n approvals?: IApproval[];\r\n requestor?: IUserModel;\r\n memoDetail: any;\r\n}\r\n\r\nexport const FlowScreen = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n <>\r\n
\r\n

Flow

\r\n
\r\n

{t(\"Request By\")}

\r\n \r\n
\r\n
\r\n

Approvals

\r\n {props.approvals &&\r\n props.approvals.map((data: any, idx: any) => {\r\n return (\r\n \r\n );\r\n })}\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Table, Tag, Space, Divider, Row, Col } from \"antd\";\r\nimport \"./HistoryComponent.css\";\r\nimport moment from \"moment\";\r\nimport { AiFillAndroid, AiFillApple } from \"react-icons/ai\";\r\nimport { FaLine } from \"react-icons/fa\";\r\nimport { IoDesktopOutline } from \"react-icons/io5\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { Last } from \"react-bootstrap/esm/PageItem\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n listHistoryDetails?: any;\r\n listLineApprove?: any;\r\n t: any;\r\n}\r\nexport const HistoryComponent = (props: Props) => {\r\n const [data, setData] = useState([]);\r\n const [dataDialog, setDataDialog] = useState();\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const { t } = useTranslation([\"translation\"]);\r\n\r\n useEffect(() => {\r\n fetchData();\r\n }, []);\r\n\r\n const fetchData = () => {\r\n const responeWorkList = props.listHistoryDetails;\r\n const sortDate = responeWorkList?.sort((a: any, b: any) => {\r\n const aa = moment(a.action_date, \"DD/MM/YYYY HH:mm:ss\");\r\n const bb = moment(b.action_date, \"DD/MM/YYYY HH:mm:ss\");\r\n return moment(aa).diff(bb);\r\n });\r\n setData(sortDate);\r\n };\r\n const formatDateTime = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n return moment(momentObj).format(\"DD MMM yyyy , HH:mm:ss\");\r\n }\r\n };\r\n const convertDate = (data: any) => {\r\n return formatDateTime(data);\r\n };\r\n const formatAction = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n if (value === \"submit\") {\r\n return props.t(\"Submitted\");\r\n } else if (value === \"recall\") {\r\n return props.t(\"Recalled\");\r\n } else if (value === \"rework\") {\r\n return props.t(\"Reworked\");\r\n } else if (value === \"reject\") {\r\n return props.t(\"Rejected\");\r\n } else if (value === \"approve\") {\r\n return props.t(\"Approved\");\r\n } else if (value === \"draft\") {\r\n return props.t(\"Draft\");\r\n } else if (value === \"return\") {\r\n return props.t(\"Return\");\r\n } else if (value === \"assign\") {\r\n return props.t(\"Assign\");\r\n } else if (value === \"request comment\") {\r\n return props.t(\"Request Comment\");\r\n } else if (value === \"reply\") {\r\n return props.t(\"Reply\");\r\n } else {\r\n return value;\r\n }\r\n }\r\n };\r\n const convertAction = (data: any) => {\r\n return formatAction(data);\r\n };\r\n const formatPlatform = (value: string) => {\r\n if (value === \"web\") {\r\n return (\r\n

\r\n เว็ปไซต์ WOLF Approve | Web\r\n

\r\n );\r\n }\r\n if (value === \"ios\") {\r\n return (\r\n

\r\n แอพพลิเคชั่น WOLF Approve | IOS\r\n

\r\n );\r\n }\r\n if (value === \"android\") {\r\n return (\r\n

\r\n แอพพลิเคชั่น WOLF Approve | Andriod\r\n

\r\n );\r\n }\r\n if (value === \"line\") {\r\n return (\r\n

\r\n แอพพลิเคชั่น WOLF Approve | Line\r\n

\r\n );\r\n }\r\n };\r\n const convertPlatform = (data: any) => {\r\n return formatPlatform(data);\r\n };\r\n const bgcolor = (data: any) => {\r\n return formatPlatform(data);\r\n };\r\n\r\n function convertHtml(_comment: any, _textAbstract?: boolean) {\r\n let response: string = \"\";\r\n if (_textAbstract) {\r\n response = textAbstract(_comment, 200);\r\n } else {\r\n response =_comment;\r\n }\r\n console.log(\"tttt\", response);\r\n return
;\r\n }\r\n function textAbstract(text: any, length: any) {\r\n if (text == null) {\r\n return \"\";\r\n }\r\n if (text.length <= length) {\r\n return text;\r\n }\r\n text = text.substring(0, length);\r\n var last = text.lastIndexOf(\" \");\r\n console.log(text, \"last\");\r\n text = text.substring(0, last);\r\n return text + \"...\";\r\n }\r\n function dialogDetailText() {\r\n return (\r\n setVisibleDialog(false)}\r\n dismissableMask\r\n draggable={false}\r\n >\r\n

\r\n

\r\n
\r\n
\r\n \r\n {props.t(\"Name\")} :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? dataDialog.actor_name_en\r\n : dataDialog.actor_name_th}\r\n
\r\n {dataDialog.action == \"draft\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"approve\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"recall\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"rework\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"request comment\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"submit\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"cancel\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"assign\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"reject\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"reply\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"return\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"discard\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n
\r\n

\r\n

\r\n Position :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? dataDialog.actor_position_name_en\r\n : dataDialog.actor_position_name_th}\r\n

\r\n

\r\n {props.t(\"From Status\")} : {dataDialog.status}\r\n

\r\n

\r\n {props.t(\"Action Date\")} :{\" \"}\r\n {convertDate(dataDialog.action_date)}\r\n

\r\n \r\n {convertHtml(dataDialog.comment)}\r\n

\r\n
\r\n
\r\n
\r\n {convertPlatform(dataDialog.platform)}\r\n
\r\n
\r\n

\r\n \r\n );\r\n }\r\n return (\r\n
\r\n {dataDialog && dialogDetailText()}\r\n

{props.t(\"history\")}

\r\n\r\n
\r\n {data.length > 0 &&\r\n data.map((data, idx) => (\r\n
\r\n
\r\n
\r\n \r\n {props.t(\"Name\")} :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? data.actor_name_en\r\n : data.actor_name_th}\r\n
\r\n {data.action == \"draft\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"approve\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"recall\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"rework\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"request comment\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"submit\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"cancel\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"assign\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"reject\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"reply\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"return\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"discard\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n
\r\n

\r\n

\r\n {props.t(\"Position\")} :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? data.actor_position_name_en\r\n : data.actor_position_name_th}\r\n

\r\n

\r\n {props.t(\"From Status\")} : {data.status}\r\n

\r\n

\r\n {props.t(\"Action Date\")}: {convertDate(data.action_date)}\r\n

\r\n \r\n {convertHtml(data.comment, true)}\r\n

\r\n {data?.comment && data?.comment?.length >= 200 && (\r\n

\r\n {\r\n setVisibleDialog(true);\r\n console.log(idx, \"idx\");\r\n setDataDialog(data);\r\n }}\r\n >\r\n {props.t(\"More\")}\r\n

\r\n

\r\n )}\r\n
\r\n
\r\n
{convertPlatform(data.platform)}
\r\n
\r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { HistoryComponent } from \"../../components/RequestComponents/HistoryComponent/HistoryComponent\";\r\nimport { HistoryCardComponent } from \"../../components/WorklistScreenComponent/HistoryCardComponent\";\r\nimport { IWorklistHistory } from \"../../IRequestModel/IListHistoryDetailsModel\";\r\nimport \"./HistoryScreen.css\";\r\ninterface Props {\r\n historyData?: IWorklistHistory[];\r\n}\r\n\r\nexport const HistoryScreen = (props: Props) => {\r\n const [historyData, setHistoryData] = useState(\r\n props.historyData ? props.historyData : []\r\n );\r\n const { t } = useTranslation([\"translation\"]);\r\n\r\n return (\r\n
\r\n \r\n {/* {props.historyData.map((_data: any, idx: any) => (\r\n // \r\n undefined} />\r\n ))} */}\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./WorklistScreenComponent.css\";\r\nimport moment from \"moment\";\r\nimport {\r\n BsFileEarmarkPdfFill,\r\n BsFileEarmarkExcelFill,\r\n BsFillFileEarmarkTextFill,\r\n} from \"react-icons/bs\";\r\nimport { FaFilePowerpoint, FaFileWord } from \"react-icons/fa\";\r\ninterface Props {\r\n data: any;\r\n}\r\n\r\nexport const AttachmentCardComponent = (props: Props) => {\r\n const [comploteLink, setComploteLink] = useState(\"\");\r\n const formatDate = () => {\r\n let momentObj = moment(props.data.attach_date, \"DD/MM/yyyy HH:mm:ss\");\r\n\r\n return moment(momentObj).format(\"DD MMM yyyy , h:mm\");\r\n };\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n useEffect(() => {\r\n showFile();\r\n }, []);\r\n\r\n const showFile = async () => {\r\n let component;\r\n const attachPath = props.data.attach_path;\r\n var pathArray = attachPath.split(\"/\");\r\n let comploteLink = \"\";\r\n const _link = attachPath\r\n ? attachPath.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + attachPath\r\n : attachPath\r\n : \"\";\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n comploteLink = _link;\r\n // window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else if (_userData.TinyURL) {\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n comploteLink = `https://${_link.replaceAll(\"https://\", \"\")}`;\r\n // window.open(\r\n // `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n } else if (_link.includes(\"http\")) {\r\n comploteLink = `http://${_link.replaceAll(\"http://\", \"\")}`;\r\n // window.open(\r\n // `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n } else {\r\n comploteLink = `https://${_link}`;\r\n // window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n comploteLink = `${protocol}//${_userData.TinyURL}${_link}`;\r\n // window.open(\r\n // `${protocol}//${_userData.TinyURL}${_link}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n comploteLink = `${_link}`;\r\n // window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n setComploteLink(comploteLink);\r\n };\r\n\r\n const getFileIcon = (attachPath: string) => {\r\n if (attachPath.endsWith(\"pdf\")) {\r\n return ;\r\n } else if (\r\n attachPath.endsWith(\"png\") ||\r\n attachPath.endsWith(\"jpg\") ||\r\n attachPath.endsWith(\"jpeg\")\r\n ) {\r\n return \"flow-img\";\r\n } else if (attachPath.endsWith(\"doc\") || attachPath.endsWith(\"docx\")) {\r\n return ;\r\n } else if (\r\n attachPath.endsWith(\"csv\") ||\r\n attachPath.endsWith(\"xls\") ||\r\n attachPath.endsWith(\"xlsx\")\r\n ) {\r\n return ;\r\n } else if (attachPath.endsWith(\"pptx\") || attachPath.endsWith(\"ppt\")) {\r\n return ;\r\n } else if (attachPath.endsWith(\"txt\")) {\r\n return ;\r\n }\r\n };\r\n\r\n // const tinyURL = window.localStorage.getItem(\"tinyUrl\");\r\n return (\r\n <>\r\n {props.data && (\r\n window.open(comploteLink, \"_blank\", \"noreferrer\")}\r\n >\r\n
\r\n {getFileIcon(props.data.attach_path)}\r\n
\r\n
\r\n

{props.data.attach_file}

\r\n

15.54 MB

\r\n

{props.data.actor.NameEn}

\r\n

{props.data.description}

\r\n
\r\n

{formatDate()}

\r\n
\r\n )}\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { AttachmentCardComponent } from \"../../components/WorklistScreenComponent/AttachmentCardComponent\";\r\nimport { IAttachFile } from \"../../IRequestModel/IAttachfile\";\r\nimport \"./AttachmentScreen.css\";\r\ninterface Props {\r\n attachFiles?: IAttachFile[];\r\n}\r\n\r\nexport const AttachmentScreen = (props: Props) => {\r\n // const [attachFile, setAttachFile] = useState([]);\r\n // useEffect(() => {\r\n // setAttachFile([...props.attachFiles]);\r\n // }, [props.attachFiles]);\r\n return (\r\n
\r\n {props.attachFiles &&\r\n props.attachFiles.length > 0 &&\r\n props.attachFiles.map((data: any, idx: any) => (\r\n \r\n ))}\r\n
\r\n );\r\n};\r\n","import { InputTextarea } from \"primereact/inputtextarea\";\r\nimport React, { useRef, useState, useEffect } from \"react\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./CommentComponent.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { BiCommentDetail } from \"react-icons/bi\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\n// import { Editor } from \"primereact/editor\";\\\r\nimport \"tinymce/tinymce\";\r\n// import tinymce from \"tinymce/tinymce\";\r\nimport \"tinymce/icons/default\";\r\nimport \"tinymce/themes/silver\";\r\nimport \"tinymce/plugins/paste\";\r\nimport \"tinymce/plugins/link\";\r\nimport \"tinymce/plugins/table\";\r\nimport \"tinymce/plugins/fullscreen\";\r\nimport \"tinymce/plugins/autolink\";\r\nimport \"tinymce/plugins/autosave\";\r\nimport \"tinymce/plugins/charmap\";\r\nimport \"tinymce/plugins/image\";\r\nimport \"tinymce/plugins/imagetools\";\r\nimport \"tinymce/plugins/textpattern\";\r\nimport \"tinymce/plugins/code\";\r\nimport \"tinymce/plugins/advlist\";\r\nimport \"tinymce/plugins/lists\";\r\nimport \"tinymce/plugins/print\";\r\nimport \"tinymce/plugins/preview\";\r\nimport \"tinymce/plugins/hr\";\r\nimport \"tinymce/plugins/anchor\";\r\nimport \"tinymce/plugins/pagebreak\";\r\nimport \"tinymce/plugins/searchreplace\";\r\nimport \"tinymce/plugins/wordcount\";\r\nimport \"tinymce/plugins/insertdatetime\";\r\nimport \"tinymce/plugins/media\";\r\nimport \"tinymce/plugins/nonbreaking\";\r\nimport \"tinymce/plugins/save\";\r\nimport \"tinymce/plugins/contextmenu\";\r\nimport \"tinymce/plugins/directionality\";\r\nimport \"tinymce/plugins/template\";\r\nimport \"tinymce/plugins/textcolor\";\r\nimport \"tinymce/plugins/colorpicker\";\r\nimport \"tinymce/skins/ui/oxide/skin.min.css\";\r\nimport \"tinymce/skins/ui/oxide/content.min.css\";\r\n// import \"./EditorComponent.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { Link } from \"react-router-dom\";\r\ninterface Props {\r\n buttonType: any;\r\n commentStatus: boolean;\r\n setCommentStatus: any;\r\n require: boolean;\r\n onUpdate?: (\r\n // data: any,\r\n comment?: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => any;\r\n handleSubmit?: any;\r\n onSubmit?: any;\r\n pageName: any;\r\n lineApproval: any[];\r\n approvalSequence: number;\r\n}\r\n\r\nexport default function CommentComponent(props: Props) {\r\n const { toggleAlert } = useAlert();\r\n const [comment, setComment] = useState(\"\");\r\n const [placeholder, setPlaceholder] = useState(\"แสดงความคิดเห็น...\");\r\n const [isInvalid, setInvalid] = useState(true);\r\n const [dataEmployeeList, setDataEmployeeList] = useState();\r\n const [dataEmployee, setDataEmployee] = useState();\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [visibleConfirmDialog, setVisibleConfirmDialog] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [selectedEmployee, setSelectedEmployee] = useState([]);\r\n const userData = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const toast = useRef();\r\n const [isMultiAssign, setIsMultiAssign] = useState(\r\n sessionStorage.getItem(\"isMultiAssign\") == \"true\"\r\n );\r\n const [isMultiRequestComment, setIsMultiRequestComment] = useState(\r\n sessionStorage.getItem(\"isMultiRequestComment\") == \"true\"\r\n );\r\n const [showAll, setShowAll] = useState(false);\r\n const [selectionMode] = useState(\r\n props.buttonType == \"request comment\" && isMultiRequestComment\r\n ? \"multiple\"\r\n : props.buttonType == \"assign\" && isMultiAssign\r\n ? \"multiple\"\r\n : \"single\"\r\n );\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n }, []);\r\n\r\n useEffect(() => {}, [props.lineApproval]);\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n setSearchData(_dataEmployee);\r\n setIsLoading(false);\r\n }\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e.target.value;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh?.toLowerCase().indexOf(value?.toLowerCase()) !== -1 ||\r\n data.NameEn?.toLowerCase().indexOf(value?.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n function showModal(show = true) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(show);\r\n }\r\n\r\n const showError = () => {\r\n toggleAlert({\r\n description: `Please insert comment.`,\r\n message: `Comment field warning.`,\r\n type: \"warning\",\r\n });\r\n };\r\n const ClearMultiSelectEmployee = () => {\r\n setSelectedEmployee([]);\r\n };\r\n const ConfirmMultiSelectEmployee = () => {\r\n if (selectedEmployee.length == 0) {\r\n toggleAlert({\r\n description: `Please select at least one employee.`,\r\n message: `Select employee warning.`,\r\n type: \"warning\",\r\n });\r\n } else {\r\n let employee = selectedEmployee.reduce(\r\n (r, n) => {\r\n r.NameEn.push(n.EmployeeId);\r\n return r;\r\n },\r\n { EmployeeId: 0, NameEn: [] }\r\n );\r\n employee.NameEn = employee.NameEn.join(\",\");\r\n setVisibleConfirmDialog(true);\r\n setDataEmployee({ data: employee });\r\n }\r\n };\r\n const EmployeeDialogFooter = () => {\r\n return (\r\n <>\r\n
\r\n \r\n \r\n ClearMultiSelectEmployee()}\r\n >\r\n Clear\r\n \r\n \r\n \r\n ConfirmMultiSelectEmployee()}\r\n >\r\n Confirm\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n };\r\n const EmployeeDialog = () => {\r\n return (\r\n <>\r\n showModal(false)}\r\n draggable={false}\r\n resizable={false}\r\n closable={true}\r\n blockScroll\r\n footer={selectionMode == \"multiple\" ? EmployeeDialogFooter : false}\r\n >\r\n \r\n \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n };\r\n const onSelectionChange = (event: any) => {\r\n if (event.value) {\r\n if (selectionMode == \"single\") {\r\n setVisibleConfirmDialog(true);\r\n if (isMultiAssign || isMultiRequestComment) {\r\n setDataEmployee({\r\n data: { EmployeeId: 0, NameEn: String(event.value.EmployeeId) },\r\n });\r\n } else {\r\n setDataEmployee({ data: event.value });\r\n }\r\n } else if (selectionMode == \"multiple\") {\r\n setSelectedEmployee(event.value);\r\n }\r\n }\r\n };\r\n const confirmUploadDialog = () => {\r\n return (\r\n <>\r\n setVisibleConfirmDialog(false)}\r\n message=\"Do you want to confirm this action?\"\r\n header=\"Confirmation\"\r\n icon=\"p-confirm-dialog-icon pi pi-info-circle\"\r\n acceptClassName=\"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\"\r\n accept={() => {\r\n sentToMemo(\r\n comment,\r\n dataEmployee.data.EmployeeId,\r\n dataEmployee.data.NameEn\r\n );\r\n }}\r\n reject={() => {\r\n setVisibleConfirmDialog(false);\r\n setDataEmployee(null);\r\n }}\r\n draggable={false}\r\n resizable={false}\r\n />\r\n \r\n );\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const HeaderDialogComment = () => {\r\n try {\r\n return (\r\n <>\r\n {(props.buttonType === \"submit\" || props.buttonType === \"approve\") &&\r\n props.lineApproval?.filter((line) =>\r\n showAll\r\n ? line.sequence >= props.approvalSequence + 1\r\n : line.sequence === props.approvalSequence + 1\r\n ).length > 0 && (\r\n <>\r\n
\r\n

สายอนุมัติคนถัดไป

\r\n \r\n showAll\r\n ? line.sequence >= props.approvalSequence + 1\r\n : line.sequence === props.approvalSequence + 1\r\n )\r\n ?.map((e) => {\r\n return {\r\n name: e.approver[\r\n userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n ],\r\n position:\r\n e.approver[\r\n userData.Lang === \"EN\"\r\n ? \"PositionNameEn\"\r\n : \"PositionNameTh\"\r\n ],\r\n department:\r\n e.approver[\r\n userData.Lang === \"EN\"\r\n ? \"DepartmentNameEn\"\r\n : \"DepartmentNameTh\"\r\n ],\r\n signature:\r\n e[\r\n userData.Lang === \"EN\"\r\n ? \"signature_en\"\r\n : \"signature_th\"\r\n ],\r\n };\r\n })}\r\n >\r\n \r\n

Employee Name

\r\n

ชื่อพนักงาน

\r\n \r\n }\r\n />\r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n }\r\n />\r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n }\r\n />\r\n \r\n

Signature

\r\n

คำลงท้าย

\r\n \r\n }\r\n />\r\n \r\n {Math.max(...props.lineApproval.map((o) => o.sequence)) -\r\n (props.approvalSequence + 1) >\r\n 0 && (\r\n {\r\n setShowAll(!showAll);\r\n }}\r\n >\r\n {showAll ? (\r\n <>ย่อ\r\n ) : (\r\n <>\r\n และอีก{\" \"}\r\n {Math.max(\r\n ...props.lineApproval.map((o) => o.sequence)\r\n ) -\r\n (props.approvalSequence + 1)}{\" \"}\r\n รายการ\r\n \r\n )}\r\n \r\n )}\r\n
\r\n
\r\n \r\n )}\r\n\r\n
\r\n

Comment

\r\n {props.require === true && (\r\n

\r\n *\r\n

\r\n )}\r\n
\r\n \r\n );\r\n } catch (error) {\r\n console.error(error);\r\n return <>;\r\n }\r\n };\r\n const Footer = () => {\r\n return (\r\n
\r\n \r\n \r\n {\r\n props.setCommentStatus(false);\r\n setComment(\"\");\r\n }}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n {\r\n ConfirmCheck();\r\n }}\r\n >\r\n Confirm\r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n function ConfirmCheck() {\r\n setSearchData(dataEmployeeList);\r\n if (\r\n props.buttonType === \"submit\" ||\r\n props.buttonType === \"draft\" ||\r\n props.buttonType === \"approve\"\r\n ) {\r\n setInvalid(true);\r\n sentToMemo(comment);\r\n } else if (\r\n props.buttonType === \"cancel\" ||\r\n props.buttonType === \"recall\" ||\r\n props.buttonType === \"rework\" ||\r\n props.buttonType === \"reject\" ||\r\n props.buttonType === \"return\" ||\r\n props.buttonType === \"reply\"\r\n ) {\r\n if (!comment) {\r\n setPlaceholder(\"กรุณากรอกความคิดเห็นก่อนยืนยัน..\");\r\n setInvalid(false);\r\n showError();\r\n } else {\r\n sentToMemo(comment);\r\n }\r\n } else if (\r\n props.buttonType === \"assign\" ||\r\n props.buttonType === \"request comment\"\r\n ) {\r\n if (!comment) {\r\n setPlaceholder(\"กรุณากรอกความคิดเห็นก่อนยืนยัน..\");\r\n setInvalid(false);\r\n showError();\r\n } else {\r\n showModal();\r\n }\r\n }\r\n }\r\n const sentToMemo = (\r\n inputComment: string,\r\n waiting_for_id?: number,\r\n waiting_for?: string\r\n ) => {\r\n console.log({ inputComment });\r\n props.setCommentStatus(false);\r\n if (props.pageName.trim() === \"WorkList\" && props.onUpdate) {\r\n props.onUpdate(inputComment, waiting_for, waiting_for_id);\r\n\r\n // props.handleSubmit((e: any) => {\r\n // props.onSubmit(e, {\r\n // buttonType: props.buttonType,\r\n // inputComment: inputComment,\r\n // waitingFor: waiting_for,\r\n // waitingForId: waiting_for_id,\r\n // });\r\n // })();\r\n } else if (props.pageName.trim() === \"Request\") {\r\n console.log(\"request=>\", {\r\n buttonType: props.buttonType,\r\n inputComment: inputComment,\r\n waitingFor: waiting_for,\r\n waitingForId: waiting_for_id,\r\n });\r\n\r\n props.handleSubmit((e: any) => {\r\n console.log(\"request=>e\", e);\r\n props.onSubmit(e, {\r\n buttonType: props.buttonType,\r\n inputComment: inputComment,\r\n waitingFor: waiting_for,\r\n waitingForId: waiting_for_id,\r\n });\r\n })();\r\n }\r\n };\r\n const headerEditor = () => {\r\n return ;\r\n };\r\n\r\n return (\r\n <>\r\n props.setCommentStatus(false)}\r\n footer={Footer}\r\n >\r\n \r\n {HeaderDialogComment()}\r\n console.log(props.buttonType)}\r\n >\r\n {\r\n setIsLoading(false);\r\n }}\r\n tinymceScriptSrc={\r\n process.env.PUBLIC_URL + \"/tinymce/js/tinymce/tinymce.min.js\"\r\n }\r\n init={{\r\n // selector: \"textarea#file-picker\",\r\n statusbar: false,\r\n paste_data_images: false,\r\n menubar: \"\",\r\n content_css: false,\r\n // auto_focus: \"elm1\",\r\n height: 300,\r\n fullscreen_native: true,\r\n remove_script_host: false,\r\n relative_urls: false,\r\n image_title: true,\r\n automatic_uploads: true,\r\n image_sourcetab: false,\r\n image_advtab: false,\r\n plugins: [\r\n \"image code\",\r\n \"advlist autolink lists image charmap print preview hr anchor pagebreak\",\r\n \"searchreplace wordcount code fullscreen\",\r\n \"insertdatetime media nonbreaking save table contextmenu directionality\",\r\n \"template textcolor colorpicker textpattern imagetools image paste\",\r\n \"link\",\r\n ],\r\n toolbar: \"\",\r\n fontsize_formats:\r\n \"8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt\",\r\n font_formats:\r\n \"Angsana New=angsana new,times;\" +\r\n \"Arial=arial,helvetica,sans-serif;\" +\r\n \"Arial Black=arial black,avant garde;\" +\r\n \"Book Antiqua=book antiqua,palatino;\" +\r\n \"Comic Sans MS=comic sans ms,sans-serif;\" +\r\n \"Courier New=courier new,courier;\" +\r\n \"DB Sathorn X=DB Sathorn X;\" +\r\n \"Georgia=georgia,palatino;\" +\r\n \"Helvetica=helvetica;\" +\r\n \"Impact=impact,chicago;\" +\r\n \"Symbol=symbol;\" +\r\n \"Tahoma=tahoma,arial,helvetica,sans-serif;\" +\r\n \"Terminal=terminal,monaco;\" +\r\n \"Times New Roman=times new roman,times;\" +\r\n \"Trebuchet MS=trebuchet ms,geneva;\" +\r\n \"Verdana=verdana,geneva;\" +\r\n \"Webdings=webdings;\" +\r\n \"TH Sarabun=sarabun;\" +\r\n \"Leelawadee=Leelawadee;\" +\r\n \"Sukhumvit Set=Sukhumvit Set;\" +\r\n \"Wingdings=wingdings,zapf dingbats\",\r\n content_style:\r\n \"@import url('https://fonts.googleapis.com/css2?family=Sarabun&display=swap'); body { font-family: 'Sarabun', sans-serif; }\" +\r\n \"@import url('https://fonts.cdnfonts.com/css/leelawadee'); body { font-family: 'Leelawadee', sans-serif; }\",\r\n }}\r\n value={comment}\r\n onEditorChange={(content: any, editor: any) => {\r\n console.log({ content });\r\n\r\n setComment(content);\r\n // handleEditorChange(content, editor, onChange);\r\n }}\r\n />\r\n \r\n \r\n {EmployeeDialog()}\r\n {confirmUploadDialog()}\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./MemoButtonComponent.css\";\r\nimport { BiSend, BiCommentDetail } from \"react-icons/bi\";\r\nimport { IoCheckmarkCircleOutline } from \"react-icons/io5\";\r\n\r\nimport { AiOutlineSave } from \"react-icons/ai\";\r\nimport { MdOutlineCancel } from \"react-icons/md\";\r\nimport {\r\n IoMdCheckmarkCircleOutline,\r\n IoMdRefresh,\r\n IoMdArrowRoundBack,\r\n} from \"react-icons/io\";\r\nimport { RiDeleteBinLine, RiFileForbidLine } from \"react-icons/ri\";\r\nimport { BsArrowRight } from \"react-icons/bs\";\r\nimport CommentComponent from \"../Input/CommentComponent\";\r\nimport { ConfirmDialogComponents } from \"../ConfirmDialogComponent/ConfirmDialogComponents\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n pageName: string;\r\n handleSubmit?: any;\r\n onSubmit?: any;\r\n memoMenu: any;\r\n buttonType?: string;\r\n setButtonType: any;\r\n setSelectedView?: any;\r\n setCurPage?: any;\r\n onUpdate?: (\r\n comment?: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => void;\r\n lineApproval: any[];\r\n approvalSequence: number;\r\n}\r\n\r\nexport const MemoButtonComponent = (props: Props) => {\r\n const [memoMenuButton, setMemoMenuButton] = useState();\r\n const [commentStatus, setCommentStatus] = useState(false);\r\n const [require, setRequire] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n mapMemoButton(props.memoMenu);\r\n return memoMenuButton;\r\n }, [props.memoMenu, props.lineApproval]);\r\n\r\n const mapMemoButton = (menuData: any) => {\r\n if (typeof menuData !== \"undefined\") {\r\n const mapMenuData = menuData.map((data: any, idx: any) => {\r\n if (data.commandName === \"reply\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n\r\n props.setButtonType(\"reply\");\r\n setCommentStatus(true);\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"submit\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n\r\n props.setButtonType(\"submit\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"approve\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n props.setButtonType(\"approve\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"return\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"return\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"discard\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"discard\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n {data.text}\r\n \r\n );\r\n }\r\n if (data.commandName === \"draft\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"draft\");\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(\"Save Draft\")}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"cancel\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"cancel\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"recall\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"recall\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"rework\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"rework\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"request comment\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"request comment\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"assign\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"assign\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"reject\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"reject\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n return <>;\r\n });\r\n setMemoMenuButton(mapMenuData);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
{memoMenuButton}
\r\n {commentStatus == true && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { IUserModel } from \"../IRequestModel/IUserModel\";\r\nimport { GetMemoDetail, GetMemoDetailById } from \"./MemoService\";\r\nimport { GetTemplateById } from \"./TemplateService\";\r\n\r\nexport const GeneratePDF = async (\r\n memoId: any,\r\n userData: IUserModel,\r\n requestDetail?: any\r\n) => {\r\n let _requestDetail: any = {};\r\n let dataJson: any = {};\r\n if (!requestDetail) {\r\n const responeMemoDetail = await GetMemoDetail({\r\n Memoid: memoId,\r\n SecretId: \"\",\r\n EmployeeId: userData.EmployeeId.toString(),\r\n TemplateId: 0,\r\n DocumentCode: \"\",\r\n DocumentNo: \"\",\r\n\r\n actor: userData,\r\n });\r\n\r\n _requestDetail = responeMemoDetail.requestDetails;\r\n console.log({ requestDetail, memoId, responeMemoDetail });\r\n } else {\r\n _requestDetail = requestDetail;\r\n }\r\n\r\n _requestDetail.memoDetail.actor = userData;\r\n const responePreviewPDF = await fetch(`api/PreviewPdf/PreviewPdf`, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ MemoPage: _requestDetail }),\r\n });\r\n const respone = await responePreviewPDF.json();\r\n return respone;\r\n};\r\n\r\nexport const newGeneratePDF = async (memoId: any) => {\r\n const respone = await fetch(\"api/PreviewPdf/GenPreviewPDF\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(memoId),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","export default __webpack_public_path__ + \"static/media/ic_history.70631641.svg\";","export default __webpack_public_path__ + \"static/media/ic_attachment_file.95c72623.svg\";","import React, { useEffect, useState } from \"react\";\r\nimport { Badge, Space } from 'antd';\r\nimport IC_HISTORY from './../../../assets/ic_history.svg';\r\nimport IC_ATTACHMENT_FILE from './../../../assets/ic_attachment_file.svg'\r\n\r\ninterface BadgeNotificateProps {\r\n badgeSize?: \"default\" | \"small\";\r\n badgeColor?: string;\r\n dataDetail: any;\r\n requestData: any;\r\n dataMemo: any;\r\n type?: \"attachment\" | \"history\";\r\n children?: any;\r\n offset?: [number, number]; // [left, top]\r\n isCard?: boolean;\r\n}\r\n\r\nexport const BadgeNotificate = (props: BadgeNotificateProps) => {\r\n const [count, setCount] = useState(0)\r\n const [hasLastComment, setHasLastComment] = useState(false)\r\n\r\n useEffect(() => {\r\n setNotificate()\r\n })\r\n \r\n const setNotificate = () => {\r\n if(props.dataMemo){\r\n if(props.type === \"history\"){\r\n setHasLastComment(props.dataMemo?.IsMemoHistoryLastComment)\r\n setCount(props.dataMemo?.MemoHistoryAmount)\r\n }else{\r\n setCount(props.dataMemo?.MemoAttachFileAmount)\r\n }\r\n }else{\r\n let amountAttachment: number = 0;\r\n let history: any[] = [];\r\n let lastComment: boolean = false;\r\n\r\n if(props.dataDetail){\r\n let data = props.dataDetail\r\n amountAttachment = data?.attachfiles?.length;\r\n history = data?.history;\r\n }else if(props.requestData){\r\n const requestDetail = props.requestData;\r\n const request = requestDetail?.requestDetails\r\n amountAttachment = request?.listFileAttachDetails?.length\r\n history = request?.listHistoryDetails\r\n }\r\n history = history.sort((a: any, b: any) => a?.action_id - b?.action_id)\r\n lastComment = history.slice(-1).shift()?.comment !== \"\";\r\n let amountComment: number = history.filter((el: any) => el.comment !== \"\").length;\r\n let amount: number = 0\r\n if(props.type === \"attachment\"){\r\n amount = amountAttachment\r\n }else if(props.type === \"history\"){\r\n amount = amountComment\r\n setHasLastComment(lastComment)\r\n }\r\n setCount(amount)\r\n }\r\n }\r\n\r\n if(props.dataMemo){\r\n return (\r\n \r\n {count > 0 && (\r\n \r\n \r\n {props.type === \"attachment\" ? \"\" : \"\"}\r\n \r\n \r\n )}\r\n \r\n )\r\n }\r\n\r\n \r\n return (\r\n !props.dataDetail && !props.requestData \r\n ? props.children\r\n : (\r\n props.isCard\r\n ? ( count > 0 \r\n ?(\r\n {props.children}\r\n )\r\n : props.children\r\n )\r\n : (\r\n count > 0 \r\n ? (\r\n \r\n {props.children}\r\n \r\n )\r\n : props.children\r\n )\r\n )\r\n )\r\n}","import React, { useState, useEffect, FC } from \"react\";\r\nimport \"./DetailContentScreen.css\";\r\nimport { BsFileEarmarkRuledFill, BsClockHistory } from \"react-icons/bs\";\r\nimport { RiNodeTree } from \"react-icons/ri\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { ShowContentScreen } from \"./ShowContentScreen\";\r\nimport { FlowScreen } from \"./FlowScreen\";\r\nimport { HistoryScreen } from \"./HistoryScreen\";\r\nimport { AttachmentScreen } from \"./AttachmentScreen\";\r\nimport { IoDocumentText, IoOpenOutline } from \"react-icons/io5\";\r\nimport { MemoButtonComponent } from \"../../components/MemoButton/MemoButtonComponent\";\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport { GeneratePDF, newGeneratePDF } from \"../../Services/ReviewPdfService\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { motion, AnimatePresence } from \"framer-motion\";\r\nimport { IWorklistDetail } from \"../../IRequestModel/IWorklistModel\";\r\nimport { GetMemoDetail } from \"../../Services/MemoService\";\r\nimport { BadgeNotificate } from \"../../components/AntdControlComponent/BadgeNotificateComponent/BadgeNotificate\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\n\r\ninterface Props {\r\n data?: IWorklistDetail;\r\n menuButton: any;\r\n onUpdate: (\r\n type: any,\r\n memoId: any,\r\n comment: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => void;\r\n isShowPdfData: boolean;\r\n setButtonType: any;\r\n buttonType: string;\r\n onDetailLoading: any;\r\n}\r\n\r\nexport const DetailContentScreen: FC = ({\r\n data,\r\n menuButton,\r\n onUpdate,\r\n isShowPdfData,\r\n setButtonType,\r\n buttonType,\r\n onDetailLoading,\r\n}) => {\r\n const [userData] = useUserContext();\r\n const [page, setPage] = useState(1);\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [pdfData, setPdfData] = useState(\"\");\r\n const [memoMenu, setMemoMenu] = useState();\r\n const [memo, setMemo] = useState();\r\n\r\n useEffect(() => {\r\n setOnLoading(true);\r\n setPage(1);\r\n onFetchPdf(data?.MemoID);\r\n Fetch();\r\n \r\n }, [data]);\r\n // useEffect(() => {\r\n // Fetch();\r\n // }, []);\r\n\r\n useEffect(() => {\r\n const menuButtonSort = menuButton.sort(\r\n (x: any, y: any) => x.sequence - y.sequence\r\n );\r\n setMemoMenu(menuButtonSort);\r\n return;\r\n }, [menuButton]);\r\n const history = useHistory();\r\n\r\n async function onFetchPdf(memoId: any) {\r\n let responeData = await GeneratePDF(memoId, userData);\r\n // let responeData = await (await fetch(`api/Memo/PreviewPdfUrl?MemoId=${memoId}`)).json();\r\n\r\n setOnLoading(false);\r\n\r\n setPdfData(responeData);\r\n }\r\n async function Fetch() {\r\n const request = {\r\n Memoid: data?.MemoID,\r\n TemplateId: null,\r\n DocumentCode: null,\r\n SecretId: \"\",\r\n EmployeeId: userData.EmployeeId.toString(),\r\n actor: userData,\r\n };\r\n const response = await GetMemoDetail(request);\r\n\r\n setMemo(response);\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n {\r\n setPage(1);\r\n }}\r\n >\r\n \r\n

Content

\r\n
\r\n setPage(2)}\r\n >\r\n \r\n

Flow

\r\n
\r\n\r\n setPage(3)}\r\n >\r\n \r\n

History

\r\n \r\n }\r\n dataMemo={null}\r\n />\r\n\r\n setPage(4)}\r\n >\r\n \r\n

Attachment

\r\n \r\n }\r\n dataMemo={null}\r\n />\r\n\r\n
\r\n {\r\n const _data = {\r\n MemoID: data?.MemoID,\r\n pdfData: pdfData,\r\n };\r\n history.push(`/Request?MemoID=${_data.MemoID}`, _data);\r\n }}\r\n />\r\n
\r\n \r\n {/* */}\r\n {onDetailLoading ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {page === 1 && (\r\n \r\n )}\r\n {page === 2 && (\r\n \r\n )}\r\n {page === 3 && }\r\n {page === 4 && (\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n onUpdate(\r\n buttonType,\r\n data?.MemoID,\r\n comment,\r\n waiting_for,\r\n waiting_for_id\r\n )\r\n }\r\n pageName={\"WorkList\"}\r\n lineApproval={memo?.requestDetails?.listApprovalDetails}\r\n approvalSequence={\r\n memo?.requestDetails?.memoDetail?.current_approval_level\r\n }\r\n />\r\n
{\" \"}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { ConfigProvider, DatePicker, Space } from \"antd\";\r\nimport { BsCalendarDate } from \"react-icons/bs\";\r\nimport { GrFormNextLink } from \"react-icons/gr\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport dayjs from \"dayjs\";\r\nimport type { TimeRangePickerProps } from \"antd\";\r\nimport moment from \"moment\";\r\n\r\nconst { RangePicker } = DatePicker;\r\n\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n name: string;\r\n disable?: boolean;\r\n dates: any;\r\n onSelectChange: (e: any, f: any) => void;\r\n isFullWidth: boolean;\r\n showIcon?: boolean;\r\n}\r\n\r\nexport const SelectDate = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n const [dates, setDates] = useState(props.dates);\r\n const [isOpen, setIsOpen] = useState(false);\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n useEffect(() => {\r\n setDates(props.dates);\r\n }, [props.dates]);\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n useEffect(() => {\r\n if (!isOpen && dates !== props.dates) {\r\n props.onSelectChange(dates, props.name);\r\n }\r\n }, [isOpen]);\r\n\r\n // const rangePresets: TimeRangePickerProps[\"presets\"] = [\r\n // { label: \"Today\", value: [dayjs(), dayjs().endOf(\"day\")] },\r\n // {\r\n // label: \"This Month\",\r\n // value: [dayjs().startOf(\"month\"), dayjs().endOf(\"month\")],\r\n // },\r\n // {\r\n // label: \"This Year\",\r\n // value: [dayjs().startOf(\"year\"), dayjs().endOf(\"year\")],\r\n // },\r\n // ];\r\n\r\n return (\r\n \r\n {props.showIcon === undefined && (\r\n \r\n )}\r\n {props.showIcon !== false && (\r\n \r\n )}\r\n setIsOpen(e)}\r\n className={\"custom-date\"}\r\n value={props.dates}\r\n suffixIcon={null}\r\n placeholder={[t(\"Start date\"), t(\"End date\")]}\r\n separator={}\r\n onCalendarChange={(val) => setDates(val)}\r\n onChange={(date) => {\r\n if (!date && dates !== date) {\r\n props.onSelectChange(date, props.name);\r\n }\r\n }}\r\n ranges={{\r\n Today: [moment(), moment()],\r\n \"This Month\": [moment().startOf(\"month\"), moment().endOf(\"month\")],\r\n \"This Year\": [moment().startOf(\"year\"), moment().endOf(\"year\")],\r\n }}\r\n />\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport { Select, Divider } from \"antd\";\r\nimport \"./Select.css\";\r\nimport { MdOutlineSelectAll } from \"react-icons/md\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n name: string;\r\n icon: any;\r\n values: any[];\r\n disable?: boolean;\r\n\r\n onSelectChange: (text: string[], formSelect: string) => void;\r\n defaultVaue?: string[];\r\n}\r\n\r\nexport const MultiSelectDropdown = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]); \r\n const [selectValue, setSelectValue] = useState(\r\n props.defaultVaue ? props.defaultVaue : []\r\n );\r\n const [isOpen, setIsOpen] = useState(false);\r\n const { Option } = Select;\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n console.log(props.values, \"values\");\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSelectValue(props.defaultVaue ? props.defaultVaue : []);\r\n }, [props.defaultVaue]);\r\n const onSelectAll = () => {\r\n let selected = []\r\n for (let i = 0; i < props.values.length; i++) {\r\n selected.push(props.values[i].value);\r\n }\r\n setSelectValue([...selected]);\r\n props.onSelectChange(selected, props.name);\r\n };\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n return (\r\n
\r\n

\r\n setIsOpen(e)}\r\n mode=\"multiple\"\r\n allowClear\r\n style={{ width: \"100%\" }}\r\n placeholder={props.title}\r\n defaultValue={selectValue}\r\n value={selectValue}\r\n dropdownStyle={{ width: \"200px\" }}\r\n onClear={() => setSelectValue([])}\r\n onDeselect={(value: string) => {\r\n let selected = selectValue;\r\n const _selected = selected.filter(\r\n (valueFilter: any) => value != valueFilter\r\n );\r\n setSelectValue([..._selected]);\r\n }}\r\n onSelect={(value: string) => {\r\n let selected = selectValue;\r\n selected.push(value);\r\n setSelectValue([...selected]);\r\n }}\r\n onChange={(e: string[]) => props.onSelectChange(e, props.name)}\r\n dropdownRender={(menu) => (\r\n
\r\n onSelectAll()}\r\n >\r\n

{t(\"All\")}

\r\n
\r\n \r\n\r\n {menu}\r\n
\r\n )}\r\n options={props.values}\r\n >\r\n {props.icon}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport \"./SearchFilterComponent.css\";\r\nimport { BsSearch } from \"react-icons/bs\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n onFilterChange: (text: string) => void;\r\n searchKeyword?: string;\r\n}\r\n\r\nexport const SearchFilterComponent = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n
\r\n
\r\n \r\n props.onFilterChange(e.target.value)}\r\n placeholder={t(\"Search\") || \"\"}\r\n />\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport { Select, Divider } from \"antd\";\r\nimport \"./Select.css\";\r\nimport { MdOutlineSelectAll } from \"react-icons/md\";\r\n\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n name: string;\r\n icon: any;\r\n values: any;\r\n disable?: boolean;\r\n defaultValue?: string;\r\n alowClear?: boolean;\r\n onSelectChange: (text: string) => void;\r\n}\r\n\r\nexport const SelectDropdown = (props: Props) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n return (\r\n
\r\n setIsOpen(e)}\r\n value={props.defaultValue}\r\n allowClear={props.alowClear !== undefined ? false : true}\r\n style={{ width: \"100%\" }}\r\n placeholder=\"Please select\"\r\n onChange={(e: string) => props.onSelectChange(e)}\r\n options={props.values}\r\n >\r\n {props.icon}\r\n
\r\n );\r\n};\r\n","import React, { useEffect } from \"react\";\r\nimport { SelectDate } from \"../../components/Select/SelectDate\";\r\nimport { MultiSelectDropdown } from \"../../components/Select/MultiSelectDropdown\";\r\nimport { Divider } from \"antd\";\r\nimport { AiOutlineCalendar } from \"react-icons/ai\";\r\nimport { BsListTask } from \"react-icons/bs\";\r\nimport { IoNewspaperOutline } from \"react-icons/io5\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { BiBuildings } from \"react-icons/bi\";\r\nimport { RiNodeTree, RiListCheck2 } from \"react-icons/ri\";\r\nimport { SearchFilterComponent } from \"../../components/SearchFilterComponent/SearchFilterComponent\";\r\nimport { SelectDropdown } from \"../../components/Select/SelectDropdown\";\r\nimport { Moment } from \"moment\";\r\nimport {\r\n ISearchWorklist,\r\n WorklistHeaderType,\r\n WorklistSerachType,\r\n} from \"../../IRequestModel/IWorklistModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n searchObject?: ISearchWorklist;\r\n onSelectChange: (\r\n value: string | string[] | [Moment, Moment],\r\n formSelect: WorklistSerachType,\r\n _date?: any\r\n ) => void;\r\n onSelectTask: (text: WorklistHeaderType) => void;\r\n formType: any[];\r\n formStatus: any[];\r\n allCompany: any[];\r\n allDepartment: any[];\r\n defaultTask: string;\r\n}\r\n\r\nconst WorkListSideBarElementUse = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n const display = [\r\n {\r\n value: \"To Do List\",\r\n label: t(\"To Do List\"),\r\n },\r\n {\r\n value: \"In Process\",\r\n label: t(\"In Process\"),\r\n },\r\n {\r\n value: \"Related List\",\r\n label: t(\"Related List\"),\r\n },\r\n {\r\n value: \"Completed\",\r\n label: t(\"Completed\"),\r\n },\r\n {\r\n value: \"Cancelled\",\r\n label: t(\"Cancelled\"),\r\n },\r\n {\r\n value: \"Rejected\",\r\n label: t(\"Rejected\"),\r\n },\r\n ];\r\n return (\r\n
\r\n props.onSelectChange(e, \"keyword\")}\r\n searchKeyword={props.searchObject?.keyword}\r\n />\r\n\r\n

\r\n {t(\"Task\")}\r\n

\r\n }\r\n onSelectChange={(e: any) => props.onSelectTask(e)}\r\n defaultValue={props.defaultTask}\r\n values={display}\r\n />\r\n

\r\n {t(\"Date\")}\r\n

\r\n props.onSelectChange(e, f)}\r\n />\r\n

\r\n {t(\"Other\")}\r\n

\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n values={props.formStatus}\r\n defaultVaue={\r\n props.searchObject?.status ? props.searchObject?.status : []\r\n }\r\n />\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n defaultVaue={props.searchObject?.form ? props.searchObject?.form : []}\r\n values={props.formType}\r\n />\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n defaultVaue={\r\n props.searchObject?.company ? props.searchObject?.company : []\r\n }\r\n values={props.allCompany}\r\n />\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n defaultVaue={\r\n props.searchObject?.department ? props.searchObject?.department : []\r\n }\r\n values={props.allDepartment}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default WorkListSideBarElementUse;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport \"./WorklistCardComponent.css\";\r\nimport { FaChevronRight } from \"react-icons/fa\";\r\nimport moment from \"moment\";\r\nimport { Badge } from \"primereact/badge\";\r\nimport CommentComponent from \"../Input/CommentComponent\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { BadgeNotificate } from \"../AntdControlComponent/BadgeNotificateComponent/BadgeNotificate\";\r\nimport { Space } from \"antd\";\r\nimport { motion } from \"framer-motion\";\r\n\r\ninterface Props {\r\n dataWorklist?: any;\r\n data: any;\r\n setContent: (\r\n memoId: number,\r\n status: string,\r\n index: number,\r\n requestor: IUserModel\r\n ) => void;\r\n index: number;\r\n onUpdate: (\r\n type: any,\r\n memoid: any,\r\n comment?: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => void;\r\n taskGourp: any;\r\n currentMemoId: number;\r\n toggleDetail: any;\r\n setToggleDetail: any;\r\n setOnDetailLoading: any;\r\n}\r\n\r\nexport const WorklistCardComponent = (props: Props) => {\r\n const [data, setData] = useState(props.data || {});\r\n const [dataUrl, setDataUrl] = useState(\"\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [isCommentActive, setIsCommentActive] = useState(false);\r\n useEffect(() => {\r\n setData(props.data);\r\n setDataUrl(`/Request?MemoID=${props.data.MemoID}`);\r\n }, [props.data]);\r\n const history = useHistory();\r\n const amount_label = \"[Amount/day]\";\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n if (props.currentMemoId === props.data.MemoID) {\r\n setIsActive(true);\r\n } else {\r\n setIsActive(false);\r\n }\r\n }, [props.currentMemoId]);\r\n\r\n const formatDate = () => {\r\n let momentObj = moment(data.ModifiedDate, \"DD/MM/yyyy HH:mm:ss\");\r\n\r\n return moment(momentObj).format(\"DD MMM yyyy , HH:mm\");\r\n };\r\n const resposeComment = (comment: any) => {\r\n props.onUpdate(\"approve\", props.data.MemoID, comment);\r\n };\r\n\r\n const delegateMemo = (data: any) => {\r\n if (data.IsDelegated) {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n {\r\n let _requestor = data.Requestor || {};\r\n props.setContent(data.MemoID, data.Status, props.index, _requestor);\r\n props.setOnDetailLoading(true);\r\n }}\r\n >\r\n
\r\n
\r\n \r\n {data.DocumentNo}\r\n \r\n

{formatDate()}

\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n {data.Amount == \".00\" ? null : amount_label}\r\n

\r\n
\r\n
\r\n {data.Subject}\r\n
\r\n

\r\n {data.Amount == \".00\" ? null : data.Amount}\r\n

\r\n
\r\n
\r\n
\r\n \r\n {data.TemplateName}\r\n

\r\n {/* delegate */}\r\n \r\n {delegateMemo(data)}\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n

{t(\"Request By\")}

\r\n

\r\n {data.Requestor &&\r\n (data.Requestor.Lang === \"EN\"\r\n ? data.Requestor.NameEn\r\n : data.Requestor.NameTh)}\r\n

\r\n
\r\n \r\n
\r\n

{t(\"Waiting for\")}

\r\n

\r\n {data.WaitingFor !== null\r\n ? data.WaitingFor.Lang === \"EN\"\r\n ? data.WaitingFor.NameEn\r\n : data.WaitingFor.NameTh\r\n : \"-\"}\r\n

\r\n
\r\n
\r\n {props.taskGourp === \"todo\" && (\r\n <>\r\n {data.Status === \"Wait for Approve\" && (\r\n {\r\n setIsCommentActive(true);\r\n // props.onUpdate(\"approve\", data.MemoID)\r\n }}\r\n >\r\n {t(\"Approve\")}\r\n \r\n )}\r\n {isCommentActive && (\r\n \r\n // props.onUpdate(upDateData, comment)\r\n // }\r\n pageName={\"WorkList\"}\r\n lineApproval={[]}\r\n approvalSequence={0}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n\r\n {\r\n const memoid = { MemoID: data.MemoID };\r\n // history.push(\"/Request\", memoid);\r\n history.push(`/Request?MemoID=${data.MemoID}`, memoid);\r\n }}\r\n >\r\n
\r\n
\r\n

{data.DocumentNo}

\r\n

{data.RequestDate}

\r\n
\r\n
\r\n

\r\n {data.Amount == \".00\" ? null : amount_label}\r\n

\r\n

\r\n {data.Amount == \".00\" ? null : data.Amount}\r\n

\r\n
\r\n
\r\n

{data.Subject}

\r\n
\r\n

{data.TemplateName}

\r\n {\" \"}\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

{t(\"Request By\")}

\r\n

\r\n {data.Requestor && data.Requestor.NameTh}\r\n

\r\n
\r\n \r\n
\r\n

{t(\"Waiting for\")}

\r\n

\r\n {data.WaitingFor && data.WaitingFor.NameTh}\r\n

\r\n
\r\n
\r\n {props.taskGourp === \"todo\" && (\r\n <>\r\n {data.Status === \"Wait for Approve\" && (\r\n {\r\n setIsCommentActive(true);\r\n // props.onUpdate(\"approve\", data.MemoID)\r\n }}\r\n >\r\n Approve\r\n \r\n )}\r\n {isCommentActive && (\r\n props.onUpdate(buttonType, props.data.MemoID, comment)}\r\n pageName={\"WorkList\"}\r\n lineApproval={[]}\r\n approvalSequence={0}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n","import moment from \"moment\";\r\nimport { IUserModel } from \"../IRequestModel/IUserModel\";\r\nimport { IGetWorklistRequest, ITodo } from \"../IRequestModel/IWorklistModel\";\r\nimport { GetAllEmployee } from \"./EmployeeService\";\r\n\r\nexport const GetWorkListByTaskGroup = async (\r\n dataJson: IGetWorklistRequest\r\n): Promise => {\r\n // const email = JSON.parse(window.localStorage.getItem(\"email\") || \"\");\r\n // dataJson.UserPrincipalName = email;\r\n const response = await fetch(\"api/Worklist/GetWorkListByTaskGroup\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n \r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then(async (data: ITodo[]) => {\r\n if (data) {\r\n let req = {\r\n IsActiveOnly: true, \r\n Scopes: \"name,email\"\r\n }\r\n const employees: IUserModel[] = await GetAllEmployee(req);\r\n const todoFormatDate: ITodo[] = data.sort((a, b) => {\r\n const aa = moment(a.ModifiedDate, \"DD/MM/YYYY\");\r\n const bb = moment(b.ModifiedDate, \"DD/MM/YYYY\");\r\n return moment(bb).diff(aa);\r\n });\r\n\r\n const todoFormatWaitingFor = todoFormatDate.map((todo) => {\r\n if (employees.length > 0) {\r\n let _todo = todo;\r\n let _emp: IUserModel | null = null;\r\n for (let i = 0; i < employees.length; i++) {\r\n const employee = employees[i];\r\n if (_todo.WaitingFor === employee.EmployeeId) {\r\n _emp = employee;\r\n }\r\n }\r\n return {\r\n ..._todo,\r\n WaitingFor: _emp,\r\n };\r\n } else {\r\n return {\r\n ...todo,\r\n WaitingFor: null,\r\n Requestor: null,\r\n };\r\n }\r\n });\r\n console.log({ todoFormatWaitingFor });\r\n\r\n return todoFormatWaitingFor;\r\n } else return [];\r\n })\r\n .catch((err) => {\r\n return [];\r\n });\r\n return response;\r\n};\r\n","import { IWorklistHistory } from \"../IRequestModel/IListHistoryDetailsModel\";\r\n\r\nexport const GetAllHistory = async (\r\n dataJson: any\r\n): Promise => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/History/GetByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import { IApproval } from \"../IRequestModel/IListApprovalDetailsModel\";\r\n\r\nexport const GetApprovalByTemplate = async (dataJson: any) => {\r\n try {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/LineApprove/GetByTemplate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n response.json();\r\n console.log(response, \"_responeListApproval\");\r\n })\r\n .then((approvals) => {\r\n console.log(approvals, \"_responeListApproval\");\r\n return approvals;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n } catch (error) {\r\n console.log({ error });\r\n }\r\n};\r\nexport const GetAllApprovals = async (dataJson: any): Promise => {\r\n const response = await fetch(\"api/Approvals/GetByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log({ err });\r\n });\r\n return response;\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./WorkListScreen.css\";\r\nimport \"../../components/WorklistScreenComponent/WorklistCardComponent.css\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { Button, InputNumber, Pagination } from \"antd\";\r\nimport { DetailContentScreen } from \"./DetailContentScreen\";\r\nimport WorkListSideBarElementUse from \"./WorkListSideBarElementUse\";\r\nimport { WorklistCardComponent } from \"../../components/WorklistScreenComponent/WorklistCardComponent\";\r\n// import Pagination from \"react-bootstrap/Pagination\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport moment, { Moment } from \"moment\";\r\nimport { IMemoButtonModel } from \"../../IRequestModel/IMemoButtonModel\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { GetWorkListByTaskGroup } from \"../../Services/WorklistService\";\r\nimport { AnimatePresence, motion } from \"framer-motion\";\r\nimport {\r\n ActionMemoPage,\r\n GetButtonMemoByMemoId,\r\n GetAllMemo,\r\n GetMemoDetail,\r\n} from \"../../Services/MemoService\";\r\nimport { GetAllHistory } from \"../../Services/HistoryService\";\r\nimport { GetAllAttachFiles } from \"../../Services/AttachFileService\";\r\nimport { GetAllApprovals } from \"../../Services/ApprovalService\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\nimport { IAutoNumberAttibute } from \"../../IRequestModel/IAutoNumberFormat\";\r\nimport { GetAutoNumber } from \"../../Services/RequestControlService\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport {\r\n IGetWorklistRequest,\r\n ISearchWorklist,\r\n ITodo,\r\n IWorklistDetail,\r\n TodoType,\r\n WorklistHeaderType,\r\n WorklistSerachType,\r\n} from \"../../IRequestModel/IWorklistModel\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\nconst WorkListScreen = (props: Props) => {\r\n const [userData] = useUserContext();\r\n const { toggleAlert } = useAlert();\r\n\r\n //Worklist Data\r\n const [workListData, setWorkListData] = useState();\r\n const [dtWorkListData, setDTWorkListData] = useState();\r\n\r\n //Filter Option\r\n const [formTypeOptions, setFormTypeOptions] = useState([]);\r\n const [companiesOptions, setCompaniesOptions] = useState([]);\r\n const [departmentsOptions, setDepartmentsOptions] = useState([]);\r\n const [formStatusOptions, setFormStatusOptions] = useState([]);\r\n\r\n //Filter data\r\n const [searchObject, setSearchObject] = useState({\r\n company: [],\r\n date: [],\r\n department: [],\r\n form: [],\r\n keyword: \"\",\r\n status: [],\r\n });\r\n const { t } = useTranslation([\"translation\"]);\r\n //Pagination\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(5);\r\n const [buttonType, setButtonType] = useState(\"\");\r\n\r\n //Toggle\r\n const [isShowPdfData, setIsShowPdfData] = useState(true);\r\n const [isCardLoading, setIsCardLoading] = useState(false);\r\n const [onDetailLoading, setOnDetailLoading] = useState(false);\r\n const [toggleDetail, setToggleDetail] = useState(false);\r\n const [sidebarState, setSidebarState] = useState(false);\r\n\r\n const [currentMemoId, setCurrentMemoId] = useState(0);\r\n const [taskHeader, setTaskHeader] = useState(\"To Do List\");\r\n const [currentIndex, setCurrentIndex] = useState(-1);\r\n const [selectedCard, setSelectedCard] = useState();\r\n const [menuButton, setMenuButton] = useState([]);\r\n const [defaultTask, setDefaultTask] =\r\n useState(\"To Do List\");\r\n const [taskGourp, setTaskGourp] = useState(\"todo\");\r\n const [getMemoDetail, setGetMemoDetail] = useState();\r\n\r\n //Default item per page\r\n const _itemPerPage = itemPerPage ? Number(itemPerPage) : 1;\r\n const indexOfLastPost = currentPage * _itemPerPage;\r\n const indexOfFirstPost = indexOfLastPost - _itemPerPage;\r\n useEffect(() => {\r\n window.onpopstate = (e) => {\r\n if (location.pathname === \"/Default\") {\r\n sessionStorage.setItem(\"action_back\", \"yes\");\r\n }\r\n };\r\n\r\n window.onbeforeunload = (e) => {\r\n if (location.pathname === \"/Default\") {\r\n sessionStorage.removeItem(\"task\");\r\n sessionStorage.removeItem(\"searchObject\");\r\n sessionStorage.removeItem(\"page\");\r\n sessionStorage.removeItem(\"selectedCard\");\r\n sessionStorage.removeItem(\"headerTask\");\r\n sessionStorage.removeItem(\"currentMemoId\");\r\n sessionStorage.removeItem(\"toggleSidebar\");\r\n }\r\n };\r\n\r\n fetchWorklist();\r\n sessionStorage.removeItem(\"action_back\");\r\n\r\n return () => {\r\n window.removeEventListener(\"popstate\", (e) => {});\r\n window.removeEventListener(\"beforeunload\", (e) => {});\r\n };\r\n }, [t]);\r\n\r\n const fetchWorklist = async (\r\n task: TodoType = \"todo\",\r\n date?: [Moment?, Moment?] | null\r\n ) => {\r\n setIsCardLoading(true);\r\n // if (task !== taskGourp) {\r\n let dateFrom: any;\r\n let dateTo: any;\r\n\r\n let actionBack = sessionStorage.getItem(\"action_back\");\r\n\r\n if (!actionBack) {\r\n if (task === \"myrelate\") {\r\n // dateFrom = date ? date[0] : moment(new Date()).subtract(1, \"M\");\r\n // dateTo = date ? date[1] : moment(new Date());\r\n dateFrom = date ? date[0] : null;\r\n dateTo = date ? date[1] : null;\r\n } else {\r\n dateFrom = date ? date[0] : null;\r\n dateTo = date ? date[1] : null;\r\n }\r\n } else {\r\n dateFrom = date ? date[0] : null;\r\n dateTo = date ? date[1] : null;\r\n task = sessionStorage.getItem(\"task\")\r\n ? (sessionStorage.getItem(\"task\") as TodoType)\r\n : \"todo\";\r\n }\r\n\r\n try {\r\n const dataJson: IGetWorklistRequest = {\r\n task: task,\r\n empId: userData?.EmployeeId?.toString(),\r\n iItemPerMore: 10000,\r\n CountMoreItem: 1,\r\n FilterDateFrom: dateFrom ? dateFrom.toISOString() : \"\",\r\n FilterDateTo: dateTo ? dateTo.toISOString() : \"\",\r\n UserPrincipalName: userData.Email,\r\n };\r\n const dataWorklist = await GetWorkListByTaskGroup(dataJson);\r\n if (dataWorklist) {\r\n setDTWorkListData(dataWorklist);\r\n }\r\n\r\n if (!actionBack) {\r\n if (task === \"myrelate\" || date) {\r\n setSearchObject({\r\n form: [],\r\n status: [],\r\n company: [],\r\n department: [],\r\n keyword: \"\",\r\n date: dateFrom || dateTo ? [dateFrom, dateTo] : [],\r\n });\r\n } else {\r\n setSearchObject({\r\n date: [],\r\n form: [],\r\n status: [],\r\n company: [],\r\n department: [],\r\n keyword: \"\",\r\n });\r\n }\r\n } else {\r\n let search = sessionStorage.getItem(\"searchObject\")\r\n ? JSON.parse(sessionStorage.getItem(\"searchObject\")!)\r\n : searchObject;\r\n let page = sessionStorage.getItem(\"page\")\r\n ? parseInt(sessionStorage.getItem(\"page\")!)\r\n : 1;\r\n let selecteCard = sessionStorage.getItem(\"selectedCard\")\r\n ? (JSON.parse(\r\n sessionStorage.getItem(\"selectedCard\")!\r\n ) as IWorklistDetail)\r\n : selectedCard;\r\n let taskHeader: string = sessionStorage.getItem(\"headerTask\")\r\n ? sessionStorage.getItem(\"headerTask\")!\r\n : \"To Do List\";\r\n let currentMemoId = sessionStorage.getItem(\"currentMemoId\")\r\n ? parseInt(sessionStorage.getItem(\"currentMemoId\")!)\r\n : 0;\r\n let sidebar: boolean = sessionStorage.getItem(\"toggleSidebar\")\r\n ? JSON.parse(sessionStorage.getItem(\"toggleSidebar\")!)\r\n : false;\r\n\r\n setSearchObject(search);\r\n setCurrentPage(page);\r\n setSelectedCard(selecteCard);\r\n setDefaultTask((taskHeader as WorklistHeaderType) || \"To Do List\");\r\n setTaskHeader(taskHeader);\r\n setCurrentMemoId(currentMemoId);\r\n setSidebarState(sidebar);\r\n }\r\n setTaskGourp(task);\r\n initialWorklistOption(dataWorklist);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n // }\r\n setIsCardLoading(false);\r\n };\r\n\r\n const initialWorklistOption = (worklist: ITodo[]) => {\r\n let _formTypeOption: any[] = [];\r\n let _formStatusOption: any[] = [];\r\n let _companiesOption: any[] = [];\r\n let _departmentsOption: any[] = [];\r\n\r\n const resultFormTypeOption = worklist.reduce((r, a) => {\r\n r[a.TemplateName] = r[a.TemplateName] || [];\r\n return r;\r\n }, Object.create(null));\r\n const resultFormStatusOption = worklist.reduce((r, a) => {\r\n r[a.Status] = r[a.Status] || [];\r\n return r;\r\n }, Object.create(null));\r\n const resultAllCompanyOption = worklist.reduce((r, a) => {\r\n r[a.CompanyName] = r[a.CompanyName] || [];\r\n return r;\r\n }, Object.create(null));\r\n const resultAllDepartmentOption = worklist.reduce((r, a) => {\r\n r[a.DepartmentName] = r[a.DepartmentName] || [];\r\n return r;\r\n }, Object.create(null));\r\n for (const [key, value] of Object.entries(resultFormStatusOption)) {\r\n _formStatusOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n for (const [key, value] of Object.entries(resultFormTypeOption)) {\r\n _formTypeOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n for (const [key, value] of Object.entries(resultAllCompanyOption)) {\r\n _companiesOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n for (const [key, value] of Object.entries(resultAllDepartmentOption)) {\r\n _departmentsOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n\r\n setDepartmentsOptions([..._departmentsOption]);\r\n setCompaniesOptions([..._companiesOption]);\r\n setFormStatusOptions([..._formStatusOption]);\r\n setFormTypeOptions([..._formTypeOption]);\r\n setWorkListData([...worklist]);\r\n };\r\n function toggleSideBar() {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n sessionStorage.setItem(\"toggleSidebar\", \"false\");\r\n } else {\r\n setToggleDetail(false);\r\n setSidebarState(true);\r\n sessionStorage.setItem(\"toggleSidebar\", \"true\");\r\n }\r\n }\r\n const onUpdateMemo = async (\r\n type: any,\r\n memoId: any,\r\n comment: string,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => {\r\n try {\r\n setIsCardLoading(true);\r\n // const _empData = empData.employeeData;\r\n let ddd = document.getElementsByTagName(\"body\");\r\n ddd[0].style.overflow = \"none\";\r\n const requestBody = {\r\n Memoid: memoId,\r\n TemplateId: null,\r\n DocumentCode: null,\r\n SecretId: \"\",\r\n EmployeeId: userData.EmployeeId.toString(),\r\n actor: userData,\r\n };\r\n let _getMemoDetailById = await GetMemoDetail(requestBody);\r\n\r\n setGetMemoDetail(_getMemoDetailById);\r\n if (_getMemoDetailById) {\r\n let requestDetail = _getMemoDetailById.requestDetails;\r\n let listControlRunning = [];\r\n //set value\r\n requestDetail.memoDetail.comment = comment;\r\n requestDetail.memoDetail.actor = userData;\r\n requestDetail.memoDetail.waiting_for = waiting_for\r\n ? waiting_for\r\n : requestDetail.memoDetail.waiting_for;\r\n requestDetail.memoDetail.waiting_for_id = waiting_for_id\r\n ? waiting_for_id\r\n : requestDetail.memoDetail.waiting_for_id;\r\n\r\n if (!_getMemoDetailById.requestDetails.memoDetail.is_text_form) {\r\n //check control running\r\n if (requestDetail.memoDetail.template_desc) {\r\n let autoNumFormat: IAutoNumberAttibute = {\r\n formats: [],\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n showSymbol: false,\r\n };\r\n const templateDescJson = JSON.parse(\r\n requestDetail.memoDetail.template_desc\r\n );\r\n autoNumFormat = detechAutonumberFormula(templateDescJson);\r\n\r\n if (autoNumFormat?.rowIndex !== -1) {\r\n const runningNumber = await CheckSaveAutonumber(\r\n requestDetail.memoDetail.template_id,\r\n templateDescJson,\r\n autoNumFormat\r\n );\r\n\r\n if (runningNumber) {\r\n listControlRunning.push(runningNumber);\r\n }\r\n }\r\n }\r\n }\r\n requestDetail[\"listControlRunning\"] = listControlRunning;\r\n\r\n //updateMemo\r\n let _ActionMemoPage = await ActionMemoPage({\r\n MemoPage: {\r\n listApprovalDetails: requestDetail.listApprovalDetails,\r\n listFileAttachDetails: requestDetail.listFileAttachDetails,\r\n listFormName: requestDetail.listFormNames,\r\n listHistoryDetails: requestDetail.listHistoryDetails,\r\n listRefDocDetails: requestDetail.listRefDocDetails,\r\n memoDetail: requestDetail.memoDetail,\r\n listControlRunning: requestDetail.listControlRunning,\r\n // listFormName: requestDetail.listFormNames,\r\n // listRefDocDetails: _getMemoDetailById.refDocs,\r\n },\r\n Type: type,\r\n });\r\n\r\n if (_ActionMemoPage && !_ActionMemoPage.Message) {\r\n fetchWorklist();\r\n let desc: string = `${type} Success.`;\r\n let message: string = \"Success\";\r\n if (_ActionMemoPage === \"ValidField\") {\r\n desc = `${type} Error.`;\r\n message = _ActionMemoPage;\r\n }\r\n toggleAlert({\r\n description: desc,\r\n message: message,\r\n type: _ActionMemoPage === \"ValidField\" ? \"error\" : \"success\",\r\n // duration: 100000000,\r\n });\r\n\r\n let ddd = document.getElementsByTagName(\"body\");\r\n ddd[0].style.overflow = \"none\";\r\n setIsCardLoading(false);\r\n setToggleDetail(false);\r\n } else {\r\n toggleAlert({\r\n description: `${_ActionMemoPage.message}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n setIsCardLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"memo=>\", error);\r\n }\r\n };\r\n const detechAutonumberFormula = (templateDesc: any) => {\r\n try {\r\n let _autoFormats: IAutoNumberAttibute = {\r\n formats: [],\r\n showSymbol: true,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n };\r\n\r\n templateDesc.items.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n _autoFormats.formats = layout.template.attribute.formats;\r\n _autoFormats.showSymbol = !layout.template.alter.includes(\"|\");\r\n _autoFormats.digit = layout.template.digit;\r\n _autoFormats.rowIndex = rowIdx;\r\n _autoFormats.colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n return _autoFormats;\r\n } catch (error) {\r\n return {\r\n formats: [],\r\n showSymbol: true,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n };\r\n }\r\n };\r\n const CheckSaveAutonumber = async (\r\n templateId: Number,\r\n template_desc: any,\r\n autoNumFormat: IAutoNumberAttibute\r\n ) => {\r\n try {\r\n const rowIndex = autoNumFormat.rowIndex;\r\n const colIndex = autoNumFormat.colIndex;\r\n if (template_desc) {\r\n let value = template_desc.items[rowIndex].layout[colIndex].data.value;\r\n const autoTemp = template_desc.items[rowIndex].layout[colIndex];\r\n if (value) {\r\n const dd = value.split(\"-\");\r\n const gg = dd.slice(0, dd.length - 1);\r\n let newRunning = -1;\r\n const requestBody = {\r\n Prefix: gg.join(\"-\") + \"-\",\r\n Digit: autoTemp.template.digit,\r\n TemplateId: templateId,\r\n RunningNumber: dd.join(\"-\"),\r\n };\r\n const checkAuto = await GetAutoNumber(requestBody);\r\n const checkNum = checkAuto.split(\"-\");\r\n if (checkNum[0] !== \"\") {\r\n newRunning = checkNum[checkNum.length - 1];\r\n dd[dd.length - 1] = newRunning;\r\n requestBody.RunningNumber = newRunning;\r\n }\r\n return requestBody;\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"auto=>CheckSaveAutonumber=>error\", error);\r\n }\r\n };\r\n const setContent = async (\r\n memoId: number,\r\n status: string,\r\n index: number,\r\n requestor: IUserModel\r\n ) => {\r\n // const _empData = empData.employeeData;\r\n\r\n const _memoDetail = await GetAllMemo({\r\n memoid: memoId,\r\n EmployeeId: requestor?.EmployeeId?.toString(),\r\n SecretId: \"\",\r\n actor: userData.EmployeeId,\r\n });\r\n\r\n if (_memoDetail.length > 0) {\r\n if (_memoDetail[0].Permission !== null) {\r\n if (_memoDetail[0].Permission.View === \"F\") {\r\n setIsShowPdfData(false);\r\n }\r\n }\r\n }\r\n\r\n if (currentIndex !== index) {\r\n setCurrentMemoId(Number(memoId));\r\n setCurrentIndex(index);\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n } else {\r\n setCurrentIndex(index);\r\n\r\n if (toggleDetail) {\r\n setCurrentMemoId(0);\r\n setToggleDetail(false);\r\n sessionStorage.setItem(\"currentMemoId\", \"0\");\r\n } else {\r\n setCurrentMemoId(Number(memoId));\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n }\r\n }\r\n const actor = {\r\n EmployeeId: userData.EmployeeId,\r\n };\r\n // setToggleDetail(false);\r\n let _dataAttachfiles = await GetAllAttachFiles({ memoid: memoId });\r\n\r\n let _dataApprovals = await GetAllApprovals({ memoid: memoId });\r\n\r\n if (status !== \"Draft\") {\r\n let memoButton: IMemoButtonModel = {\r\n actor: {\r\n EmployeeId: userData.EmployeeId,\r\n },\r\n memoid: memoId,\r\n };\r\n let _dataMemobutton = await GetButtonMemoByMemoId(memoButton);\r\n setMenuButton(_dataMemobutton);\r\n } else {\r\n setMenuButton([]);\r\n }\r\n\r\n let _dataHistory = await GetAllHistory({\r\n Memoid: memoId,\r\n SecretId: \"\",\r\n actor: actor,\r\n });\r\n\r\n setOnDetailLoading(false);\r\n\r\n setSelectedCard((prevState) => ({\r\n ...prevState,\r\n approvals: _dataApprovals,\r\n attachfiles: _dataAttachfiles,\r\n requestor,\r\n MemoID: memoId,\r\n history: _dataHistory,\r\n }));\r\n\r\n sessionStorage.setItem(\r\n \"selectedCard\",\r\n selectedCard ? JSON.stringify(selectedCard) : \"{}\"\r\n );\r\n\r\n setSidebarState(false);\r\n if (currentIndex !== index) {\r\n setCurrentMemoId(Number(memoId));\r\n setCurrentIndex(index);\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n } else {\r\n setCurrentIndex(index);\r\n\r\n if (toggleDetail) {\r\n setCurrentMemoId(0);\r\n setToggleDetail(false);\r\n sessionStorage.setItem(\"currentMemoId\", \"0\");\r\n } else {\r\n setCurrentMemoId(Number(memoId));\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n }\r\n }\r\n };\r\n\r\n const onSelectTask = (text: WorklistHeaderType) => {\r\n setTaskHeader(text);\r\n let date: [Moment?, Moment?] | null = null;\r\n let task: TodoType = \"todo\";\r\n if (text === \"All Task Group\") {\r\n task = \"todo\";\r\n } else if (text === \"To Do List\") {\r\n task = \"todo\";\r\n } else if (text === \"Related List\") {\r\n date = [moment(new Date()).subtract(1, \"M\"), moment(new Date())];\r\n task = \"myrelate\";\r\n } else if (text === \"In Process\") {\r\n task = \"inprocess\";\r\n } else if (text === \"Completed\") {\r\n task = \"completed\";\r\n } else if (text === \"Cancelled\") {\r\n task = \"cancelled\";\r\n } else if (text === \"Rejected\") {\r\n task = \"rejected\";\r\n }\r\n fetchWorklist(task, date);\r\n setCurrentPage(1);\r\n setDefaultTask(text);\r\n sessionStorage.setItem(\"task\", task);\r\n sessionStorage.setItem(\"headerTask\", text);\r\n sessionStorage.setItem(\"page\", \"1\");\r\n };\r\n\r\n const onSelectChange = async (\r\n value: any | any[],\r\n formSelect: WorklistSerachType\r\n ) => {\r\n let rawObject = searchObject;\r\n\r\n if (formSelect) {\r\n rawObject[formSelect] = value;\r\n\r\n if (formSelect === \"date\") {\r\n fetchWorklist(taskGourp as TodoType, value);\r\n } else {\r\n setSearchObject((prevState: any) => ({\r\n ...prevState,\r\n ...rawObject,\r\n }));\r\n\r\n sessionStorage.setItem(\"searchObject\", JSON.stringify(searchObject));\r\n }\r\n\r\n setCurrentPage(1);\r\n sessionStorage.setItem(\"page\", \"1\");\r\n }\r\n };\r\n\r\n const clearFilter = () => {\r\n if (defaultTask !== \"Related List\") {\r\n setSearchObject({\r\n date: [],\r\n form: [],\r\n status: [],\r\n company: [],\r\n department: [],\r\n keyword: \"\",\r\n });\r\n sessionStorage.setItem(\"searchObject\", JSON.stringify(searchObject));\r\n } else {\r\n fetchWorklist(\"myrelate\", null);\r\n }\r\n };\r\n const paginate = (page: number) => {\r\n setCurrentPage(page);\r\n sessionStorage.setItem(\"page\", page.toString());\r\n };\r\n const onSetItemPerPage = (numItem: any) => {\r\n setItemPerPage(numItem);\r\n };\r\n const filterStatusWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.status.length > 0\r\n ? searchObject?.status.includes(todo.Status)\r\n : true;\r\n };\r\n const filterFormWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.form.length > 0\r\n ? searchObject?.form.includes(todo.TemplateName)\r\n : true;\r\n };\r\n const filterCompanyWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.company.length > 0\r\n ? searchObject?.company.includes(todo.CompanyName)\r\n : true;\r\n };\r\n const filterDepartmentWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.department.length > 0\r\n ? searchObject?.department.includes(todo.DepartmentName)\r\n : true;\r\n };\r\n const filterKeywordWorklistCard = (todo: ITodo) => {\r\n const _keyword = searchObject?.keyword?.toUpperCase();\r\n const waitingFor: IUserModel = todo?.WaitingFor;\r\n const requestor: IUserModel = todo?.Requestor;\r\n\r\n return _keyword?.length > 0\r\n ? todo.DepartmentName?.toUpperCase().includes(_keyword) ||\r\n todo.TemplateName?.toUpperCase().includes(_keyword) ||\r\n todo.CompanyName?.toUpperCase().includes(_keyword) ||\r\n todo.Status?.toUpperCase().includes(_keyword) ||\r\n todo.DocumentNo?.toUpperCase().includes(_keyword) ||\r\n todo.Subject?.toUpperCase().includes(_keyword) ||\r\n (waitingFor &&\r\n waitingFor?.NameEn?.toUpperCase().includes(_keyword)) ||\r\n waitingFor?.NameTh.toUpperCase().includes(_keyword) ||\r\n (requestor && requestor?.NameEn?.toUpperCase().includes(_keyword)) ||\r\n requestor?.NameTh?.toUpperCase().includes(_keyword)\r\n : true;\r\n };\r\n\r\n const _worklist = \r\n workListData?.filter((todo, idx) => {\r\n let statusFilter = true;\r\n let companyFilter = true;\r\n let departmentFilter = true;\r\n let formFilter = true;\r\n let keywordFilter = true;\r\n\r\n if (searchObject?.status.length > 0) {\r\n statusFilter = filterStatusWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.company.length > 0) {\r\n companyFilter = filterCompanyWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.department.length > 0) {\r\n departmentFilter = filterDepartmentWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.form.length > 0) {\r\n formFilter = filterFormWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.keyword.length > 0) {\r\n keywordFilter = filterKeywordWorklistCard(todo);\r\n }\r\n\r\n return statusFilter && companyFilter && departmentFilter && formFilter && keywordFilter;\r\n }) || [];\r\n\r\n const mapWorklistCard = (todo: ITodo, idx: number) => {\r\n return (\r\n \r\n );\r\n };\r\n const spring = {\r\n type: \"spring\",\r\n damping: 10,\r\n stiffness: 100,\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n {isCardLoading && (\r\n
\r\n \"loading...\"\r\n
\r\n )}\r\n
\r\n
\r\n {sidebarState ? (\r\n
\r\n
\r\n
\r\n

\r\n {t(\"Clear all\")}\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n }\r\n size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n

\r\n {t(\"Worklist\")} / {t(taskHeader)} ({_worklist?.length})\r\n

\r\n
\r\n
\r\n
\r\n
\r\n {sidebarState && (\r\n \r\n
\r\n
\r\n

\r\n {t(\"Clear all\")}\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n )}\r\n
\r\n
\r\n {t(\"Show\")}\r\n \r\n \r\n {t(\"items per page\")}\r\n \r\n
\r\n
\r\n {_worklist\r\n ?.slice(indexOfFirstPost, indexOfLastPost)\r\n ?.map(mapWorklistCard)}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {/* */}\r\n {toggleDetail && (\r\n \r\n )}\r\n {/* */}\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default withPerMission(WorkListScreen);\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport \"./LoginScreen.css\";\r\nimport { Carousel, Spin } from \"antd\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\n// import WolfLogo from \"../../assets/WOLF_lite_logo_TCB_Blue.png\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { loginWolfAccount, loginWolfBD } from \"../../Services/LoginService\";\r\nimport { AiOutlineMail } from \"react-icons/ai\";\r\nimport { MdOutlineLock } from \"react-icons/md\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { deleteAllCookies } from \"../../Helper/DeleteAllCookie\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\ninterface Props {\r\n PathLogo?: string;\r\n PathCarousel?: string[];\r\n PathCodeUrl?: any;\r\n}\r\n\r\nexport const LoginScreenOpenId = (props: Props) => {\r\n // const [onLoading, setOnLoading] = useState(false);\r\n const { isLoad, setLoad } = useLoading();\r\n\r\n const [remarkValid, setRemarkValid] = useState(\"\");\r\n const [carouselItem] = useState(props?.PathCarousel);\r\n const [sessionState, setSessionState] = useSessionContext();\r\n let location = useLocation();\r\n let history = useHistory();\r\n const { i18n } = useTranslation([\"translation\"]);\r\n const [userData, setUserData] = useUserContext();\r\n\r\n const cookies = new Cookies();\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues: {\r\n username: \"\",\r\n password: \"\",\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n // console.log(\"codeUrl=>\", props.PathCodeUrl);\r\n setLoad(false);\r\n GetOpenId();\r\n }, [props.PathCodeUrl]);\r\n\r\n const onSubmitLoginOpenId = async () => {\r\n let _loginOpenId = await fetch(\"api/Login/Authorize/OpenId\").then((res) =>\r\n res.json()\r\n );\r\n window.location.href = _loginOpenId.redirect;\r\n };\r\n\r\n const GetOpenId = async () => {\r\n let _loginOpenId = await fetch(\r\n \"api/Login/Authorize/CallBack?code=\" + props.PathCodeUrl\r\n ).then((res) => res.json());\r\n // console.log(\"loginCallbackkkkkkkkkkkkkkkkkkkkkkkkk=>\", _loginOpenId);\r\n clearLocalStorageOnLogout();\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginOpenId.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n ActionPassLogin(_loginOpenId);\r\n };\r\n\r\n const ActionPassLogin = async (_loginOpenId: any) => {\r\n if (_loginOpenId === false) {\r\n clearLocalStorageOnLogout();\r\n deleteAllCookies();\r\n // history.push(\"/login\");\r\n setRemarkValid(\"ไม่พบผู้ใช้ในระบบกรุณาลองใหม่อีกครั้ง\");\r\n // setOnLoading(false);\r\n return;\r\n }\r\n const fav_storage = localStorage.getItem(\"favorite\")\r\n ? JSON.parse(localStorage.getItem(\"favorite\") || \"\")\r\n : \"\";\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginOpenId?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginOpenId?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginOpenId));\r\n localStorage.setItem(\"employeeId\", _loginOpenId.employeeData.EmployeeId);\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginOpenId.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginOpenId.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginOpenId.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginOpenId.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginOpenId.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginOpenId.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginOpenId.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginOpenId.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginOpenId.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginOpenId.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n // setOnLoading(false);\r\n if (\r\n localStorage.getItem(\"memoid\") &&\r\n localStorage.getItem(\"memoid\") !== \"\"\r\n ) {\r\n history.push(\"/Request?MemoID=2065\");\r\n localStorage.removeItem(\"memoid\");\r\n } else {\r\n history.push(\"/Default\");\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {props.PathCarousel && props.PathLogo && (\r\n
\r\n
\r\n
\r\n \r\n {carouselItem.map((_carousel: any, idx: number) => {\r\n return (\r\n
\r\n \"slide\"\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

{remarkValid}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n {props.PathCodeUrl && (\r\n
\r\n \r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import React, { useEffect, ReactNode, useMemo } from \"react\";\r\nimport { Redirect, Route, RouteProps, useLocation } from \"react-router\";\r\nimport { LoginScreenOpenId } from \"../screens/LoginScreen/LoginScreenOpenId\";\r\nimport { useSessionContext } from \"../Context/AuthContext\";\r\nimport { clearLocalStorageOnLogout } from \"../Helper/localStoreFunction\";\r\nimport { GetAllMasterData } from \"../Services/MasterDataService\";\r\n\r\nexport type ProtectedRouteProps = {\r\n isAuthenticated: boolean;\r\n authenticationPath: string;\r\n redirectPath: string;\r\n setRedirectPath: (path: string) => void;\r\n children?: ReactNode;\r\n} & RouteProps;\r\n\r\nexport default function PrivateRoute({\r\n isAuthenticated,\r\n authenticationPath,\r\n redirectPath,\r\n setRedirectPath,\r\n children,\r\n ...routeProps\r\n}: ProtectedRouteProps) {\r\n const currentLocation = useLocation();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n let paramString = window.location.href.split(\"#\")[1];\r\n const codeURLSearch = new URLSearchParams(paramString);\r\n const _codeUrl = codeURLSearch.get(\"code\");\r\n const [sessionContext, updateSessionContext] = useSessionContext();\r\n\r\n useEffect(() => {\r\n if (!isAuthenticated) {\r\n if (query.get(\"MemoID\")) {\r\n localStorage.setItem(\"memoid\", query.get(\"MemoID\") || \"\");\r\n }\r\n } else {\r\n localStorage.removeItem(\"memoid\");\r\n chaeckLastActtion();\r\n }\r\n chaeckLastActtion();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!isAuthenticated) {\r\n setRedirectPath(\"/login\");\r\n }\r\n }, [isAuthenticated, currentLocation]);\r\n\r\n const chaeckLastActtion = async () => {\r\n try {\r\n const lastAction = Number(\r\n localStorage.getItem(\"lastAction\") || Date.now()\r\n );\r\n const diffMilliseconds = Math.abs(Date.now() - lastAction);\r\n const masterData = await GetAllMasterData();\r\n let timeout = 60 * 60 * 1000;\r\n\r\n if (masterData) {\r\n timeout = Number(\r\n masterData?.find((e: any) => e.MasterType === \"Timeout\" && e.IsActive)\r\n ?.Value2\r\n );\r\n timeout =\r\n Number(\r\n masterData.find((e: any) => e.MasterType === \"Timeout\")?.Value2\r\n ) *\r\n 60 *\r\n 1000;\r\n }\r\n\r\n localStorage.setItem(\"timer\", timeout.toString());\r\n\r\n if (diffMilliseconds >= timeout) {\r\n updateSessionContext({ ...sessionContext, isAuthenticated: false });\r\n\r\n setRedirectPath(\"/login\");\r\n clearLocalStorageOnLogout();\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n if (\r\n isAuthenticated &&\r\n redirectPath !== currentLocation.pathname &&\r\n currentLocation.pathname === \"/\"\r\n ) {\r\n return ;\r\n } else if (\r\n isAuthenticated &&\r\n redirectPath !== currentLocation.pathname &&\r\n currentLocation.pathname !== \"/login\"\r\n ) {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n } else if (\r\n // isAuthenticated &&\r\n // redirectPath !== currentLocation.pathname &&\r\n paramString &&\r\n paramString.includes(\"code\")\r\n ) {\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n /*

Oh my god

; */\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport \"./ErrorPageComponent.css\";\r\nimport blackguardPage from \"../../assets/blackguardPage.jpg\";\r\nimport { useHistory } from \"react-router-dom\";\r\ninterface Props {}\r\n\r\nexport const ErrorPageComponent = (props: Props) => {\r\n const history = useHistory();\r\n return (\r\n
\r\n
\r\n
\r\n

404

\r\n

ERROR

\r\n

PAGE NOT FOUND

\r\n
\r\n history.push(\"/Default\")}\r\n >\r\n Go back\r\n \r\n
\r\n
\r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n setAttributeButton: any;\r\n attributeButton: any;\r\n}\r\n\r\nexport const AddQueryComponent = (props: Props) => {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const valueDropdown = [{ name: \"Document No\" }];\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [selectedValue, setSelectedValue] = useState();\r\n\r\n function onSaveQuery() {\r\n console.log(inputValue, \"inputValue\");\r\n console.log(selectedValue?.name, \"inputValue\");\r\n\r\n if (!inputValue || !selectedValue?.name) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 7000,\r\n // });\r\n return;\r\n }\r\n let _items = props.attributeButton.items;\r\n const dataRequest = {\r\n layout: [\r\n {\r\n paramiter: {\r\n value: inputValue,\r\n },\r\n control: {\r\n label: selectedValue.name,\r\n },\r\n },\r\n ],\r\n };\r\n _items.push(dataRequest);\r\n props.setAttributeButton((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n props.setViewModal(false);\r\n }\r\n const footer = (\r\n
\r\n {\r\n onSaveQuery();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n\r\n return (\r\n <>\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n baseZIndex={2}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Parameter\r\n\r\n *\r\n
\r\n

ตัวแปร

\r\n \r\n \r\n
\r\n
\r\n setInputValue(e.target.value)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Control\r\n\r\n *\r\n
\r\n

ควบคุม

\r\n \r\n \r\n
\r\n
\r\n {\r\n setSelectedValue(e.value);\r\n }}\r\n optionLabel=\"name\"\r\n placeholder=\"--Select--\"\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Toast } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport { AddQueryComponent } from \"./AddQueryComponent\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n attributeButton: any;\r\n setAttributeButton: any;\r\n}\r\n\r\nexport default function ButtonComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n url: props.template.URL,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const [viewModal, setViewModal] = useState(false);\r\n function deleteAttributeButton(idx: any) {\r\n let _items = props.attributeButton.items;\r\n _items.splice(idx, 1);\r\n props.setAttributeButton((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Text Button

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

URL

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n Add http(s) prefix for external link\r\n Ex. https://my.domain.com\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

QueryString :

\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add Query\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.attributeButton.items.map((_data: any, idx: any) => {\r\n return (\r\n <>\r\n {_data.layout.map((_data2: any, idx2: any) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
\r\n

Parameter

\r\n

ตัวแปร

\r\n
\r\n

Control

\r\n

คอนโทรล

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
{_data.layout[idx2]?.paramiter?.value}{_data.layout[idx2]?.control?.label}\r\n {\r\n deleteAttributeButton(idx);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n {viewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { RiDeleteBack2Line } from \"react-icons/ri\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Button } from \"primereact/button\";\r\nimport { IoMdAlert } from \"react-icons/io\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n userData: any;\r\n uploadFileState: any;\r\n setUploadFileState: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function AttachmentComponent(props: Props) {\r\n const ref = useRef();\r\n const toast = useRef(null);\r\n const [linkFile, setLinkFile] = useState();\r\n const [nameFile, setNameFile] = useState();\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.description || \"\",\r\n maxFile: parseInt(props.template.attribute?.max) || 50,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n useEffect(() => {\r\n if (props.uploadFileState) {\r\n const [nameFile, linkFile] = props.uploadFileState.split(\"|\");\r\n setNameFile(nameFile);\r\n setLinkFile(linkFile);\r\n }\r\n }, []);\r\n\r\n const onFileSelect = async (e: any, onChange: any) => {\r\n if (e.target.files[0] !== null) {\r\n const files = e.target.files[0];\r\n const formData = new FormData();\r\n var guid = \"imageControl\" + generateQuickGuid();\r\n formData.append(\"files\", files);\r\n formData.append(\"docSet\", guid);\r\n formData.append(\"actorID\", props.userData.employeeData.EmployeeId);\r\n var response = await UploadFileRenderControl(formData);\r\n props.setUploadFileState(\r\n response?.data?.fileName + \"|\" + response?.data?.pathUrl\r\n );\r\n setNameFile(response?.data?.fileName);\r\n setLinkFile(response?.data?.pathUrl);\r\n onChange(response?.data?.fileName + \"|\" + response?.data?.pathUrl);\r\n ref.current.value = null;\r\n }\r\n };\r\n const footer = (\r\n
\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n />\r\n
\r\n );\r\n\r\n function renderDialog() {\r\n return (\r\n <>\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n }\r\n function openLink() {\r\n const _link = linkFile\r\n ? linkFile.charAt(0) !== \"/\" && !props.userData.SharepointSiteURL\r\n ? \"/\" + linkFile\r\n : linkFile\r\n : \"\";\r\n const protocol = window.location.protocol;\r\n\r\n if (props.userData.SharepointSiteURL) {\r\n window.open(\r\n `${props.userData.SharepointSiteURL}/${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (props.userData.TinyURL) {\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${props.userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!props.userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n return (\r\n
\r\n {renderDialog()}\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

File Type

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n\r\n

File Type Format : *pdf*xlsx

\r\n
\r\n {/*
\r\n {\r\n setVisibleDialog(true);\r\n }}\r\n className=\"set-css-icon-alert-in-upload-file\"\r\n />\r\n
*/}\r\n
\r\n\r\n
\r\n
\r\n

Max File Size:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n MB\r\n
\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n {\r\n onFileSelect(e, field.onChange);\r\n }}\r\n className={`set-input-component-css form-control ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.uploadFileState && (\r\n
\r\n
\r\n
\r\n
\r\n {\r\n openLink();\r\n // window.open(\r\n // `https://${props.userData.TinyURL}${linkFile}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n }}\r\n style={{ color: \"#2769b2\" }}\r\n >\r\n {nameFile}\r\n
\r\n
\r\n {\r\n props.setUploadFileState(null);\r\n setNameFile(null);\r\n setLinkFile(null);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { RiEditLine } from \"react-icons/ri\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport \"./AutoNumberComponent.css\";\r\nimport { Input } from \"antd\";\r\ninterface Props {\r\n setConditionViewModal: any;\r\n conditionViewModal: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n setAttributeNumber: any;\r\n attributeNumber: any;\r\n attributeIdx: any;\r\n checkAction: any;\r\n}\r\n\r\nexport default function AddConditionComponent(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const [selectedFormName, setSelectedFormName] = useState();\r\n const [selectedFormValue, setSelectedFormValue] = useState();\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const [defaultValueItem, setDefaultValueItem] = useState([]);\r\n const [conditions, setConditions] = useState([]);\r\n const [actionConditions, setActionConditions] = useState(\"add\");\r\n const [idxConditions, setIdxConditions] = useState();\r\n const [value, setValue] = useState();\r\n\r\n useEffect(() => {\r\n if (props.checkAction == \"editCondition\") {\r\n let _condition =\r\n props.attributeNumber.formats[props.attributeIdx]?.condition || [];\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n let arrayItem: any = [];\r\n let arrayDataItem: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label !== undefined) {\r\n if (_dataLayout.template.label !== \"\") {\r\n if (_dataLayout.template.type !== \"em\") {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n type: _dataLayout.template.type,\r\n });\r\n }\r\n }\r\n }\r\n if (selectedFormName) {\r\n if (selectedFormName.item === _dataLayout.template.label) {\r\n if (_dataLayout.template.attribute !== undefined) {\r\n if (_dataLayout.template.attribute.items) {\r\n arrayItem.push({ attribute: _dataLayout.template.attribute });\r\n arrayItem.map((_dataArray: any, index: number) => {\r\n _dataArray.attribute.items.map(\r\n (_dataItem: any, index: number) => {\r\n if (_dataItem.item !== \"--select--\") {\r\n arrayDataItem.push({ value: _dataItem.item });\r\n }\r\n }\r\n );\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n setDefaultValue([...array]);\r\n setDefaultValueItem([...arrayDataItem]);\r\n }\r\n }, [selectedFormName]);\r\n\r\n function Save() {\r\n if (props.checkAction === \"editCondition\") {\r\n let _formats = props.attributeNumber.formats;\r\n _formats[props.attributeIdx].condition = conditions.condition;\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._formats],\r\n }));\r\n props.setConditionViewModal(false);\r\n }\r\n }\r\n function onSaveToCondition() {\r\n if (\r\n inputValue === \"\" &&\r\n selectedFormName?.item === undefined &&\r\n selectedFormValue?.value === undefined\r\n ) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 6000,\r\n // });\r\n return;\r\n } else {\r\n if (actionConditions === \"edit\") {\r\n const dataRequest = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: selectedFormValue,\r\n };\r\n\r\n let _condition = conditions.condition;\r\n _condition[idxConditions] = dataRequest;\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n setActionConditions(\"add\");\r\n if (value) {\r\n const dataRequestValue = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: value,\r\n };\r\n let _condition = conditions.condition;\r\n _condition[idxConditions] = dataRequestValue;\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n setActionConditions(\"add\");\r\n }\r\n } else if (actionConditions === \"add\") {\r\n if (value) {\r\n let _condition = conditions.condition;\r\n const dataRequestValue = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: value,\r\n };\r\n _condition.push(dataRequestValue);\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n } else {\r\n let _condition = conditions.condition;\r\n const dataRequest = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: selectedFormValue,\r\n };\r\n _condition.push(dataRequest);\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n }\r\n }\r\n }\r\n setSelectedFormName([]);\r\n setSelectedFormValue([]);\r\n setInputValue(\"\");\r\n setValue(\"\");\r\n }\r\n function editCondition(_data: any, _idx: any) {\r\n console.log(\"editCondition\", _data);\r\n setSelectedFormName({\r\n item: _data.label,\r\n type: _data.type,\r\n });\r\n console.log(\"data Type\", _data.type);\r\n if (\r\n _data.type !== \"tb\" &&\r\n _data.type !== \"dd\" &&\r\n _data.type !== \"l\" &&\r\n _data.type !== \"em\"\r\n ) {\r\n setValue(_data.value);\r\n }\r\n setSelectedFormValue(_data.value);\r\n setInputValue(_data.value);\r\n setActionConditions(\"edit\");\r\n setIdxConditions(_idx);\r\n }\r\n function deleteCondition(idx: any) {\r\n let _condition = conditions.condition;\r\n _condition.splice(idx, 1);\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n }\r\n const footer = (\r\n
\r\n {\r\n Save();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n const onSelectedChange = (e: { value: any }) => {\r\n setSelectedFormName(e.value);\r\n };\r\n const onSelectedChangeValue = (e: { value: any }) => {\r\n setSelectedFormValue(e.value);\r\n };\r\n return (\r\n <>\r\n props.setConditionViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Column\r\n\r\n *\r\n
\r\n

คอลัมน์

\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {defaultValueItem.length !== 0 && (\r\n
\r\n
\r\n \r\n \r\n
\r\n Value Options\r\n
\r\n

ข้อมูลตัวเลือก

\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n (กรณีที่มีตัวเลือก)\r\n
\r\n
\r\n )}\r\n {defaultValueItem.length === 0 && (\r\n
\r\n
\r\n \r\n \r\n
\r\n Value Input\r\n
\r\n

ข้อมูลนำเข้า

\r\n \r\n \r\n
\r\n
\r\n setValue(e.target.value)}\r\n disabled={defaultValueItem.length !== 0 ? true : false}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n onSaveToCondition();\r\n }}\r\n >\r\n Save To Condition\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {conditions?.condition?.map((data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

Sequence

\r\n

ลำดับ

\r\n
\r\n

Label

\r\n

ชื่อ

\r\n
\r\n

Value Options

\r\n

ข้อมูลตัวเลือก

\r\n
\r\n

Edit

\r\n

แก้ไข

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
{idx + 1}{data.label}{data.value}\r\n {\r\n editCondition(data, idx);\r\n }}\r\n />\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col } from \"antd\";\r\nimport \"./Button.css\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\ninterface Props {\r\n title?: string;\r\n icon: any;\r\n onSelectView: (text: string) => void;\r\n page: number;\r\n curPage: any;\r\n checkTypeIcon?: string;\r\n children?: any\r\n}\r\n\r\nexport const Button = (props: Props) => {\r\n return (\r\n {\r\n props.onSelectView(props.page.toString());\r\n }}\r\n >\r\n \r\n {props.checkTypeIcon != undefined ? (\r\n \"\"\r\n ) : (\r\n props.icon\r\n )}\r\n \r\n \r\n
\r\n {props.title}\r\n {props.children && (props.children)}\r\n
\r\n \r\n \r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\r\nimport { AiOutlineFileText, AiOutlineCalendar } from \"react-icons/ai\";\r\nimport { BiArchiveIn, BiFont } from \"react-icons/bi\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { Button } from \"../../Button/Button\";\r\nimport { Col, Row } from \"antd\";\r\nimport \"./AutoNumberComponent.css\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n attributeNumber: any;\r\n setAttributeNumber: any;\r\n attributeIdx: any;\r\n checkAction: any;\r\n setCheckAction: any;\r\n}\r\n\r\nexport default function AddPreFixComponent(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const dataFormats: any = {\r\n condition: [],\r\n format: [],\r\n };\r\n const [formats, setFormats] = useState(dataFormats);\r\n const [selected, setSelected] = useState(\"1\");\r\n const [selectedFormName, setSelectedFormName] = useState();\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [dateFormat, setDateFormat] = useState(\"\");\r\n const [formatsIdx, setFormatsIdx] = useState();\r\n const [saveToFormatAction, setSaveToFormatAction] = useState(\"add\");\r\n\r\n const conditionType = [\r\n { name: \"None\", value: \"None\" },\r\n { name: \"Split\", value: \"Split\" },\r\n ];\r\n const [selectedCondition, setSelectedCondition] = useState(\"None\");\r\n const [symbolValue, setSymbolValue] = useState();\r\n const [positionValue, setPositionValue] = useState();\r\n useEffect(() => {\r\n if (props.checkAction === \"editPrefix\") {\r\n let _formats = props.attributeNumber.formats;\r\n let _format = _formats[props.attributeIdx].format;\r\n for (let i = 0; i < _format.length; i++) {\r\n if (_format[i].guid == undefined) {\r\n _format[i][\"guid\"] = generateQuickGuid();\r\n }\r\n }\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._format],\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n if (Array.isArray(_data.layout)) {\r\n _data.layout.forEach((data: any) => {\r\n if (data.template.type === \"an\") {\r\n data.template.attribute.formats.map((dtformat: any) => {\r\n if (dtformat) {\r\n dtformat.format.map((type: any) => {\r\n if (\r\n type.type === \"ddl\" &&\r\n (type.position === undefined ||\r\n type.condition === undefined ||\r\n type.symbol === undefined)\r\n ) {\r\n type.position = type.position || \"\";\r\n type.condition = type.condition || \"None\";\r\n type.symbol = type.symbol || \"\";\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n if (\r\n _dataLayout.template.type === \"t\" ||\r\n _dataLayout.template.type === \"dd\"\r\n ) {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n console.log(\"dataFormat\", array);\r\n setDefaultValue([...array]);\r\n }\r\n }, []);\r\n\r\n function SavePreFix() {\r\n if (formats?.format.length === 0) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n if (props.checkAction === \"addFormat\") {\r\n let _attribute = props.attributeNumber.formats;\r\n _attribute.push(formats);\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._attribute],\r\n }));\r\n } else if (\r\n props.checkAction === \"editPrefix\" ||\r\n saveToFormatAction === \"edit\"\r\n ) {\r\n let _formats = props.attributeNumber.formats;\r\n _formats[props.attributeIdx].format = formats.format;\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._formats],\r\n }));\r\n }\r\n props.setViewModal(false);\r\n }\r\n const footer = (\r\n
\r\n {\r\n SavePreFix();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n const onSelectedChange = (e: { value: any }) => {\r\n setSelectedFormName(e.value);\r\n };\r\n const onSelectedCondition = (e: { value: any }) => {\r\n setSelectedCondition(e.value);\r\n };\r\n\r\n function onSaveToFormat() {\r\n if (inputValue === \"\" && selected === \"1\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else if (selectedFormName?.item === undefined && selected === \"2\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else if (dateFormat === \"\" && selected === \"3\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else if (selected === \"1\") {\r\n if (saveToFormatAction === \"edit\") {\r\n let _formats = formats.format;\r\n const dataRequest = {\r\n type: \"pf\",\r\n label: inputValue,\r\n guid: generateQuickGuid(),\r\n };\r\n _formats[formatsIdx] = dataRequest;\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n } else if (saveToFormatAction === \"add\") {\r\n const dataRequest = {\r\n type: \"pf\",\r\n label: inputValue,\r\n guid: generateQuickGuid(),\r\n };\r\n let _format = formats.format;\r\n _format.push(dataRequest);\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._format],\r\n }));\r\n }\r\n } else if (selected === \"2\") {\r\n if (saveToFormatAction === \"edit\") {\r\n let _formats = formats.format;\r\n const dataRequest = {\r\n type: \"ddl\",\r\n label: selectedFormName.item,\r\n guid: generateQuickGuid(),\r\n condition: selectedCondition,\r\n symbol: symbolValue,\r\n position: positionValue,\r\n };\r\n _formats[formatsIdx] = dataRequest;\r\n setSelectedCondition(\"None\");\r\n setSymbolValue(\"\");\r\n setPositionValue(\"\");\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n } else if (saveToFormatAction === \"add\") {\r\n const dataRequest = {\r\n type: \"ddl\",\r\n label: selectedFormName.item,\r\n guid: generateQuickGuid(),\r\n condition: selectedCondition,\r\n symbol: symbolValue,\r\n position: positionValue,\r\n };\r\n let _format = formats.format;\r\n _format.push(dataRequest);\r\n setSelectedCondition(\"None\");\r\n setSymbolValue(\"\");\r\n setPositionValue(\"\");\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._format],\r\n }));\r\n }\r\n } else if (selected === \"3\") {\r\n if (saveToFormatAction === \"edit\") {\r\n let _formats = formats.format;\r\n const dataRequest = {\r\n type: \"datetime\",\r\n label: dateFormat,\r\n guid: generateQuickGuid(),\r\n };\r\n _formats[formatsIdx] = dataRequest;\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n } else if (saveToFormatAction === \"add\") {\r\n const dataRequest = {\r\n type: \"datetime\",\r\n label: dateFormat,\r\n guid: generateQuickGuid(),\r\n };\r\n let _formats = formats.format;\r\n _formats.push(dataRequest);\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n }\r\n }\r\n setSaveToFormatAction(\"add\");\r\n setInputValue(\"\");\r\n setSelectedFormName([]);\r\n }\r\n const reorder = (list: any, startIndex: any, endIndex: any) => {\r\n const result = Array.from(list);\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result;\r\n };\r\n const onDragEnd = (result: any) => {\r\n let _components = formats.format;\r\n if (!result.destination) {\r\n return;\r\n }\r\n const items = reorder(\r\n _components,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [...items],\r\n }));\r\n };\r\n\r\n const getItemStyle = (isDragging: any, draggableStyle: any) => ({\r\n userSelect: \"none\",\r\n margin: \"0 0 17px 0\",\r\n minHeight: \"82px\",\r\n ...draggableStyle,\r\n });\r\n function renderIconShowCreateControl(dataType: any) {\r\n if (dataType === \"pf\") {\r\n return (\r\n <>\r\n \r\n Fix PreFix\r\n \r\n );\r\n } else if (dataType === \"ddl\") {\r\n return (\r\n <>\r\n \r\n Advance Form\r\n \r\n );\r\n } else if (dataType === \"datetime\") {\r\n return (\r\n <>\r\n \r\n Date Time\r\n \r\n );\r\n }\r\n }\r\n function deleteFormat(idx: any) {\r\n let _formats = formats.format;\r\n _formats.splice(idx, 1);\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n }\r\n\r\n function updateFormat(data: any, idx: any) {\r\n setSaveToFormatAction(\"edit\");\r\n if (data.type === \"pf\") {\r\n setInputValue(data.label);\r\n setSelected(\"1\");\r\n } else if (data.type === \"ddl\") {\r\n const dd = {\r\n item: data.label,\r\n };\r\n setSelectedFormName(dd);\r\n setSelectedCondition(data.condition);\r\n setSymbolValue(data.symbol);\r\n setPositionValue(data.position);\r\n setSelected(\"2\");\r\n } else if (data.type === \"datetime\") {\r\n setDateFormat(data.label);\r\n setSelected(\"3\");\r\n }\r\n setFormatsIdx(idx);\r\n }\r\n \r\n\r\n return (\r\n <>\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n <>\r\n \r\n {\r\n setSelected(e);\r\n setSaveToFormatAction(\"add\");\r\n }}\r\n title={\"Fix PreFix\"}\r\n icon={}\r\n page={1}\r\n curPage={selected}\r\n />\r\n {\r\n setSelected(e);\r\n setSaveToFormatAction(\"add\");\r\n }}\r\n title={\"Advance Form\"}\r\n icon={}\r\n page={2}\r\n curPage={selected}\r\n />\r\n {\r\n setSelected(e);\r\n setSaveToFormatAction(\"add\");\r\n }}\r\n title={\"Date Time\"}\r\n icon={}\r\n page={3}\r\n curPage={selected}\r\n />\r\n
\r\n \r\n
\r\n\r\n
\r\n {selected == \"1\" && (\r\n
\r\n
\r\n

Fix Prefix :

\r\n

*

\r\n
\r\n
\r\n setInputValue(e.target.value)}\r\n />\r\n
\r\n
\r\n )}\r\n {selected == \"2\" && (\r\n
\r\n \r\n
\r\n

FormName :

\r\n

*

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

Condition :

\r\n {/*

*

*/}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

Symbol :

\r\n
\r\n
\r\n
\r\n {\r\n setSymbolValue(e.target.value);\r\n }}\r\n disabled={selectedCondition === \"None\"}\r\n />\r\n \r\n ระบุสัญลักษณ์ที่ขั้นเลขที่เอกสาร\r\n \r\n
\r\n
\r\n \r\n
\r\n

Format :

\r\n
\r\n
\r\n {\r\n setPositionValue(e.target.value);\r\n }}\r\n disabled={selectedCondition === \"None\"}\r\n />\r\n \r\n ตำแหน่งข้อมูลที่ต้องการนำไปใช้\r\n \r\n
\r\n
\r\n
\r\n )}\r\n {selected == \"3\" && (\r\n
\r\n
\r\n

Date Time :

\r\n

*

\r\n
\r\n
\r\n setDateFormat(e.target.value)}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n {\r\n if (\r\n selected === \"2\" &&\r\n selectedCondition === \"Split\" &&\r\n (positionValue === \"\" || symbolValue === \"\")\r\n ) {\r\n toggleAlert({\r\n description: `Please fill Symbol and Format`,\r\n message: `Condition Split.`,\r\n type: \"error\",\r\n });\r\n } else {\r\n onSaveToFormat();\r\n }\r\n }}\r\n >\r\n Save To Format\r\n \r\n
\r\n {formats?.format?.length >= 1 && (\r\n
\r\n <>\r\n \r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {formats?.format?.map((_data: any, idx: any) => (\r\n
\r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {\r\n updateFormat(_data, idx);\r\n }}\r\n >\r\n
\r\n \r\n {_data.label}\r\n \r\n
\r\n {renderIconShowCreateControl(\r\n _data.type\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n deleteFormat(idx);\r\n }}\r\n >\r\n \r\n

\r\n
\r\n
\r\n )}\r\n \r\n
\r\n ))}\r\n {provided.placeholder}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState } from \"react\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport { RiEditLine } from \"react-icons/ri\";\r\nimport AddConditionComponent from \"./AddConditionComponent\";\r\nimport AddPreFixComponent from \"./AddPreFixComponent\";\r\nimport \"./AutoNumberComponent.css\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n attributeNumber: any;\r\n setAttributeNumber: any;\r\n}\r\n\r\nexport default function AutoNumberComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n digit: parseInt(props.template?.digit) || 1,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n const [viewModal, setViewModal] = useState(false);\r\n const [conditionViewModal, setConditionViewModal] = useState(false);\r\n const [attributeIdx, setAttributeIdx] = useState();\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n function deleteAutoNumber(idx: any) {\r\n let _attribute = props.attributeNumber.formats;\r\n\r\n _attribute.splice(idx, 1);\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._attribute],\r\n }));\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Digit :

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n setCheckAction(\"addFormat\");\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add PreFix\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.attributeNumber.formats.map((data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

Sequence

\r\n

ลำดับ

\r\n
\r\n

Condition

\r\n

เงื่อนไข

\r\n
\r\n

Format

\r\n

รูปแบบแสดงผล

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
{idx + 1}\r\n {\" \"}\r\n \r\n {\r\n setAttributeIdx(idx);\r\n setConditionViewModal(true);\r\n setCheckAction(\"editCondition\");\r\n }}\r\n />\r\n {\" \"}\r\n \r\n \r\n {data.condition?.map((_data: any, idx2: any) => (\r\n <>\r\n {data.condition.length > 1\r\n ? data.condition.slice(-1)[0] == _data\r\n ? `${_data.label}`\r\n : `${_data.label} - `\r\n : _data.label}\r\n \r\n ))}\r\n \r\n \r\n \r\n {\r\n setAttributeIdx(idx);\r\n setViewModal(true);\r\n setCheckAction(\"editPrefix\");\r\n }}\r\n />\r\n {\" \"}\r\n \r\n \r\n {data.format.map((_data: any, idx2: any) => (\r\n <>\r\n {data.format.length > 1\r\n ? data.format.slice(-1)[0] == _data\r\n ? `${_data.label}`\r\n : `${_data.label} - `\r\n : _data.label}\r\n \r\n ))}\r\n \r\n \r\n {\r\n deleteAutoNumber(idx);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n {viewModal && (\r\n \r\n )}\r\n {conditionViewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { ControllerRenderProps, FieldValues } from \"react-hook-form\";\r\n\r\ntype Props = {\r\n field: ControllerRenderProps;\r\n disabled: boolean;\r\n};\r\n\r\nconst CalendarDefaultValueGroup = ({ field, disabled }: Props) => {\r\n useEffect(() => {\r\n if (disabled) {\r\n field.onChange(\"\");\r\n }\r\n }, [disabled]);\r\n\r\n return (\r\n
\r\n {\r\n console.log(\"valuedate\", e.target.value, field, disabled);\r\n field.onChange(e.target.value);\r\n }}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default CalendarDefaultValueGroup;\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport {\r\n Controller,\r\n FieldValues,\r\n UseFormGetValues,\r\n get,\r\n} from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport CalendarDefaultValueGroup from \"./CalendarDefaultValueGroup\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n getValues: UseFormGetValues;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function CalendarComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n symbol: props.template.attribute?.date?.symbol || \"\",\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n default: props.template.attribute?.default || \"\",\r\n defaultType: props.template.attribute?.defaultType || \"None\",\r\n };\r\n\r\n const [disabled, setDisabled] = useState(\r\n props.template.attribute?.defaultType === \"None\"\r\n );\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Symbol :

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n {/* default calendar */}\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n
\r\n (\r\n
\r\n \r\n {\r\n if (e.value !== \"None\") {\r\n setDisabled(false);\r\n } else {\r\n setDisabled(true);\r\n }\r\n field.onChange(e.value);\r\n }}\r\n options={[\r\n { name: \"None\", value: \"None\" },\r\n // { name: \"Calendar\", value: \"Calendar\" },\r\n { name: \"Days\", value: \"Days\" },\r\n // { name: \"Months\", value: \"Months\" },\r\n // { name: \"Year\", value: \"Year\" },\r\n ]}\r\n optionLabel=\"name\"\r\n />\r\n
\r\n )}\r\n />\r\n (\r\n
\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { AutoComplete } from \"primereact/autocomplete\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash, BsX } from \"react-icons/bs\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setItemsList: any;\r\n itemsList: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function ChoiceComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n item: props.template.attribute?.item || \"\",\r\n multipleLine: props.template.attribute?.multipleLine === \"Y\" ? true : false,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const [input, setInput] = useState(\"\");\r\n const { toggleAlert } = useAlert();\r\n const [checkBoxRequire, setCheckBoxRequire] = useState();\r\n useEffect(() => {\r\n if (props.template.attribute?.items !== undefined) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...props.template.attribute.items],\r\n }));\r\n }\r\n }, []);\r\n // useEffect(() => {\r\n // if (checkBoxRequire === true) {\r\n // let _components = props.itemsList.items;\r\n // const requestData: any = {\r\n // item: \"--select--\",\r\n // checked: \"N\",\r\n // };\r\n // _components.splice(0, 0, requestData);\r\n // props.setItemsList((prevState: any) => ({\r\n // ...prevState,\r\n // items: [..._components],\r\n // }));\r\n // } else if (\r\n // checkBoxRequire == false &&\r\n // props.itemsList.items[0]?.item == \"--select--\"\r\n // ) {\r\n // let _components = props.itemsList.items;\r\n // _components.splice(0, 1);\r\n // props.setItemsList((prevState: any) => ({\r\n // ...prevState,\r\n // items: [..._components],\r\n // }));\r\n // }\r\n // }, [checkBoxRequire]);\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (event.key === \"Enter\" && event.target.value !== \"\") {\r\n let _components = props.itemsList.items;\r\n let value = event.target.value;\r\n if (value.includes(\",\")) {\r\n var array = value.split(\",\");\r\n if (array[array.length - 1] === \"\") {\r\n array.pop();\r\n }\r\n let _dataFilter;\r\n for (let index = 0; index < array.length; index++) {\r\n _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === array[index].trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: array[index],\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n } else {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === value.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: value,\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n setInput(\"\");\r\n }\r\n };\r\n function onRowReorder(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: e.value,\r\n }));\r\n }\r\n function cellEditor(options: any) {\r\n return textEditor(options);\r\n }\r\n function textEditor(options: any) {\r\n return (\r\n options.editorCallback(e.target.value)}\r\n />\r\n );\r\n }\r\n const onCellEditComplete = (e: any) => {\r\n let { rowData, newValue, field, originalEvent: event } = e;\r\n let _components = props.itemsList.items;\r\n if(rowData.item !== newValue){\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === newValue.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n if (newValue.trim().length > 0) rowData[field] = newValue;\r\n else event.preventDefault();\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n const actionBodyTemplate = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n console.log(rowData, \"rowData\");\r\n let _components = props.itemsList.items.filter(\r\n (data: any) => data.item !== rowData.item\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: _components,\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Inline:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setCheckBoxRequire(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n
\r\n

Items :

\r\n

*

\r\n
\r\n
\r\n (\r\n {\r\n setInput(e.target.value);\r\n }}\r\n value={input}\r\n onKeyDown={handleKeyDown}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n

\r\n put 1 word (Enter) or multi word put (,) (Enter)\r\n

\r\n
\r\n
\r\n {props.itemsList.items.length !== 0 && (\r\n
\r\n \r\n \r\n cellEditor(options)}\r\n onCellEditComplete={onCellEditComplete}\r\n rowEditor\r\n header={\"Items\"}\r\n />\r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setItemsList: any;\r\n itemsList: any;\r\n setDisplayDropdown: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function MultiChoiceComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n item: props.template.attribute?.item || \"\",\r\n display: props.template.attribute?.display || \"cb\",\r\n multipleLine: props.template.attribute?.multipleLine === \"Y\" ? true : false,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const displayDropdown = [\r\n { name: \"Checkbox\", code: \"cb\" },\r\n { name: \"Dropdown\", code: \"dd\" },\r\n ];\r\n const [input, setInput] = useState(\"\");\r\n const [dropdown, setDropdown] = useState([]);\r\n const [checkBoxRequire, setCheckBoxRequire] = useState();\r\n const { toggleAlert } = useAlert();\r\n useEffect(() => {\r\n defaultDropDown();\r\n if (props.template.attribute?.items !== undefined) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...props.template.attribute.items],\r\n }));\r\n }\r\n }, []);\r\n function defaultDropDown() {\r\n if (dataRequest.display === \"cb\") {\r\n setDropdown(displayDropdown[0]);\r\n props.setDisplayDropdown(displayDropdown[0]);\r\n } else if (dataRequest.display === \"dd\") {\r\n setDropdown(displayDropdown[1]);\r\n props.setDisplayDropdown(displayDropdown[1]);\r\n }\r\n }\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (event.key === \"Enter\" && event.target.value !== \"\") {\r\n let _components = props.itemsList.items;\r\n let value = event.target.value;\r\n if (value.includes(\",\")) {\r\n var array = value.split(\",\");\r\n if (array[array.length - 1] === \"\") {\r\n array.pop();\r\n }\r\n let _dataFilter;\r\n for (let index = 0; index < array.length; index++) {\r\n _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === array[index].trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: array[index],\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n }else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n } else {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === value.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: value,\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n setInput(\"\");\r\n }\r\n };\r\n\r\n const deleteItems = (idx: number) => {\r\n let _components = props.itemsList.items;\r\n _components.splice(idx, 1);\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n };\r\n function deleteItemsFromDropdown(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...e.value],\r\n }));\r\n }\r\n\r\n function onRowReorder(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: e.value,\r\n }));\r\n }\r\n function cellEditor(options: any) {\r\n return textEditor(options);\r\n }\r\n function textEditor(options: any) {\r\n return (\r\n options.editorCallback(e.target.value)}\r\n />\r\n );\r\n }\r\n const onCellEditComplete = (e: any) => {\r\n let { rowData, newValue, field, originalEvent: event } = e;\r\n let _components = props.itemsList.items;\r\n\r\n if(rowData.item !== newValue){\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === newValue.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n if (newValue.trim().length > 0) rowData[field] = newValue;\r\n else event.preventDefault();\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n const actionBodyTemplate = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n console.log(rowData, \"rowData\");\r\n let _components = props.itemsList.items.filter(\r\n (data: any) => data.item !== rowData.item\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: _components,\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Inline:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setCheckBoxRequire(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n {\r\n console.log(displayDropdown);\r\n }}\r\n >\r\n
\r\n

Display:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {/* {\r\n setDropdown(e.value);\r\n props.setDisplayDropdown(e.value);\r\n field.onChange(e.value);\r\n }}\r\n options={displayDropdown}\r\n value={dropdown}\r\n /> */}\r\n {displayDropdown.map((items: any, idex: number) => {\r\n return (\r\n <>\r\n {\r\n setDropdown(e.value);\r\n props.setDisplayDropdown(e.value);\r\n field.onChange(e.value);\r\n }}\r\n checked={dropdown.name === items.name}\r\n />\r\n \r\n {items.name}\r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Items :

\r\n

*

\r\n
\r\n
\r\n (\r\n {\r\n setInput(e.target.value);\r\n }}\r\n value={input}\r\n onKeyDown={handleKeyDown}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n

\r\n If select Required, you can add first item = --select-- for active\r\n validation\r\n

\r\n
\r\n
\r\n {props.itemsList.items.length !== 0 && (\r\n
\r\n \r\n \r\n cellEditor(options)}\r\n onCellEditComplete={onCellEditComplete}\r\n rowEditor\r\n header={\"Items\"}\r\n />\r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setItemsList: any;\r\n itemsList: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function DropdownComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.description || \"\",\r\n item: props.template.attribute?.item || \"\",\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const { toggleAlert } = useAlert();\r\n const [input, setInput] = useState(\"\");\r\n const [checkBoxRequire, setCheckBoxRequire] = useState();\r\n useEffect(() => {\r\n console.log(props.template, \"readonlyreadonlyreadonlyreadonlyreadonly\");\r\n if (props.template.attribute?.items !== undefined) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...props.template.attribute.items],\r\n }));\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (\r\n checkBoxRequire === true &&\r\n props.itemsList.items[0]?.item !== \"--select--\"\r\n ) {\r\n let _components = props.itemsList.items;\r\n const requestData: any = {\r\n item: \"--select--\",\r\n checked: \"N\",\r\n };\r\n _components.splice(0, 0, requestData);\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n // else if (\r\n // checkBoxRequire === false &&\r\n // props.itemsList.items[0]?.item === \"--select--\"\r\n // ) {\r\n // let _components = props.itemsList.items;\r\n // _components.splice(0, 1);\r\n // props.setItemsList((prevState: any) => ({\r\n // ...prevState,\r\n // items: [..._components],\r\n // }));\r\n // }\r\n }, [checkBoxRequire]);\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (event.key === \"Enter\" && event.target.value !== \"\") {\r\n let _components = props.itemsList.items;\r\n let value = event.target.value;\r\n if (value.includes(\",\")) {\r\n var array = value.split(\",\");\r\n if (array[array.length - 1] === \"\") {\r\n array.pop();\r\n }\r\n let _dataFilter;\r\n for (let index = 0; index < array.length; index++) {\r\n _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === array[index].trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: array[index],\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n } else {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === value.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: value,\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n setInput(\"\");\r\n }\r\n };\r\n\r\n function onRowReorder(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: e.value,\r\n }));\r\n }\r\n function cellEditor(options: any) {\r\n return textEditor(options);\r\n }\r\n function textEditor(options: any) {\r\n return (\r\n options.editorCallback(e.target.value)}\r\n />\r\n );\r\n }\r\n const onCellEditComplete = (e: any) => {\r\n let { rowData, newValue, field, originalEvent: event } = e;\r\n let _components = props.itemsList.items;\r\n if(rowData.item !== newValue){\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === newValue.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n if (newValue.trim().length > 0) rowData[field] = newValue;\r\n else event.preventDefault();\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n const actionBodyTemplate = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n let _components = props.itemsList.items.filter(\r\n (data: any) => data.item !== rowData.item\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: _components,\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n return (\r\n {\r\n console.log(props.template, \"template\");\r\n }}\r\n >\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setCheckBoxRequire(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n
\r\n

Items :

\r\n

*

\r\n
\r\n
\r\n (\r\n {\r\n setInput(e.target.value);\r\n }}\r\n value={input}\r\n onKeyDown={handleKeyDown}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n

\r\n If select Required, you can add first item = --select-- for active\r\n validation\r\n

\r\n
\r\n
\r\n {props.itemsList.items.length !== 0 && (\r\n
\r\n \r\n \r\n cellEditor(options)}\r\n onCellEditComplete={onCellEditComplete}\r\n rowEditor\r\n header={\"Items\"}\r\n />\r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState } from \"react\";\r\n// import \"tinymce/tinymce\";\r\n// import tinymce from \"tinymce/tinymce\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\nimport \"./TemplateModal.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { UploadTinyMce } from \"../../../Services/UploadFileService\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n data: any;\r\n setRichText: any;\r\n}\r\n\r\nconst TemplateModal = (props: Props) => {\r\n const initialValues = {\r\n value: null,\r\n };\r\n const [loading, setLoading] = useState(true);\r\n const [contentEditor, setContentEditor] = useState(\r\n props.data?.value == null ? initialValues : props.data\r\n );\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n let _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const _tinyURL = _userData.TinyURL;\r\n useEffect(() => {\r\n if (!props.data?.value) {\r\n props.setRichText(initialValues);\r\n } else {\r\n props.data.value = props.data.value\r\n .replace(/\\{/g, \"<\")\r\n .replace(/\\}/g, \">\")\r\n .replace(/\\'/g, \"\");\r\n props.setRichText((prevState: any) => ({\r\n ...prevState,\r\n value: props.data.value,\r\n }));\r\n }\r\n }, []);\r\n const handleEditorChange = (content: any, editor: any) => {\r\n setContentEditor((prevState: any) => ({\r\n ...prevState,\r\n value: content,\r\n }));\r\n props.setRichText((prevState: any) => ({\r\n ...prevState,\r\n value: content,\r\n }));\r\n };\r\n const footer = (\r\n
\r\n {\r\n props.setViewModal(false);\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n\r\n return (\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n {loading && (\r\n
\r\n \r\n
\r\n )}\r\n {\r\n setLoading(false);\r\n }}\r\n init={{\r\n // selector: \"textarea#file-picker\",\r\n statusbar: false,\r\n paste_data_images: false,\r\n menubar: false,\r\n content_css: false,\r\n // auto_focus: \"elm1\",\r\n height: 300,\r\n fullscreen_native: true,\r\n remove_script_host: false,\r\n relative_urls: false,\r\n image_title: true,\r\n automatic_uploads: true,\r\n image_sourcetab: false,\r\n image_advtab: false,\r\n plugins: [\r\n \"image code\",\r\n \"advlist autolink lists image charmap print preview hr anchor pagebreak\",\r\n \"searchreplace wordcount code fullscreen\",\r\n \"insertdatetime media nonbreaking save table contextmenu directionality\",\r\n \"emoticons template paste textcolor colorpicker textpattern imagetools image\",\r\n \"link\",\r\n ],\r\n toolbar1:\r\n \"insertfile undo redo | styleselect | fontselect | fontsizeselect | bold italic underline | forecolor backcolor | alignleft aligncenter alignright alignjustify | searchreplace | bullist numlist outdent indent | pagebreak | link table | image | fullscreen\",\r\n fontsize_formats:\r\n \"8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt\",\r\n font_formats:\r\n \"Angsana New=angsana new,times;\" +\r\n \"Arial=arial,helvetica,sans-serif;\" +\r\n \"Arial Black=arial black,avant garde;\" +\r\n \"Book Antiqua=book antiqua,palatino;\" +\r\n \"Comic Sans MS=comic sans ms,sans-serif;\" +\r\n \"Courier New=courier new,courier;\" +\r\n \"DB Sathorn X=DB Sathorn X;\" +\r\n \"Georgia=georgia,palatino;\" +\r\n \"Helvetica=helvetica;\" +\r\n \"Impact=impact,chicago;\" +\r\n \"Symbol=symbol;\" +\r\n \"Tahoma=tahoma,arial,helvetica,sans-serif;\" +\r\n \"Terminal=terminal,monaco;\" +\r\n \"Times New Roman=times new roman,times;\" +\r\n \"Trebuchet MS=trebuchet ms,geneva;\" +\r\n \"Verdana=verdana,geneva;\" +\r\n \"Webdings=webdings;\" +\r\n \"TH Sarabun=sarabun;\" +\r\n \"Leelawadee=Leelawadee;\" +\r\n \"Sukhumvit Set=Sukhumvit Set;\"+\r\n \"Wingdings=wingdings,zapf dingbats\",\r\n content_style:\r\n \"@import url('https://fonts.googleapis.com/css2?family=Sarabun&display=swap'); body { font-family: 'Sarabun', sans-serif; }\" +\r\n \"@import url('https://fonts.cdnfonts.com/css/leelawadee'); body { font-family: 'Leelawadee', sans-serif; }\",\r\n\r\n images_upload_handler: async function (\r\n blobInfo,\r\n success,\r\n failure\r\n ) {\r\n var file = new File([blobInfo.blob()], blobInfo.filename(), {\r\n lastModified: Date.now(),\r\n });\r\n const formData = new FormData();\r\n const protocol = window.location.protocol;\r\n formData.append(\"file\", file);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"TinyImages\");\r\n formData.append(\"fileDesc\", \"\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n var response: any = await UploadTinyMce(formData);\r\n console.log(response, \"response\");\r\n if (response.data.result) {\r\n if (_sharepointSiteURL) {\r\n _sharepointSiteURL =\r\n _sharepointSiteURL.charAt(0) === \"/\"\r\n ? _sharepointSiteURL.substring(1)\r\n : _sharepointSiteURL;\r\n success(_sharepointSiteURL + \"/\" + response.data.pathUrl);\r\n } else {\r\n success(`${protocol}//` + _tinyURL + response.data.pathUrl);\r\n }\r\n } else {\r\n failure(response.data.pathUrl);\r\n }\r\n },\r\n }}\r\n value={contentEditor.value == null ? \"\" : contentEditor.value}\r\n onEditorChange={handleEditorChange}\r\n />\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default TemplateModal;\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { IoDocumentTextOutline } from \"react-icons/io5\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport \".././CreateControlComponents.css\";\r\nimport TemplateModal from \"./TemplateModal\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n\r\n data: any;\r\n setRichText: any;\r\n}\r\n\r\nexport default function EditorComponent(props: Props) {\r\n useEffect(() => {\r\n console.log(props.template, \"props.template.attribute?.height\");\r\n }, []);\r\n\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template?.description,\r\n height: parseInt(props.template?.height) || 400,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const [viewModal, setViewModal] = useState(false);\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Height:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n Pixel\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n console.log(\"readonly\", e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-template hover-color-css-282f6a\"\r\n >\r\n Template\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport \".././CreateControlComponents.css\";\r\ninterface Props {\r\n requestData: (templates: any, itemIdx: number, layoutIdx: number) => void;\r\n control: any;\r\n errors: any;\r\n template: any;\r\n selected: any;\r\n setCheckBoxHeading: any;\r\n checkBoxHeading: any;\r\n displayCheckBox: any;\r\n}\r\nexport default function HeadingComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n istext: props.template.istext === \"Y\" || \"\" ? true : false,\r\n textvalue: props.template.textvalue || \"\",\r\n hideInPdf: props.template.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Display:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {props.displayCheckBox.map((items: any, idex: number) => {\r\n return (\r\n <>\r\n {\r\n props.setCheckBoxHeading(e.value);\r\n field.onChange(e.value);\r\n console.log(e.value, \"sss\");\r\n }}\r\n checked={props.checkBoxHeading.name === items.name}\r\n />\r\n \r\n {items.name}\r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/*
\r\n
\r\n

Label :

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
*/}\r\n {props.checkBoxHeading.code === \"N\" && (\r\n <>\r\n
\r\n
\r\n

Label :

\r\n *\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n {props.checkBoxHeading.code === \"Y\" && (\r\n
\r\n
\r\n

Text Value

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n fromRender?: string;\r\n setValue: any;\r\n}\r\n\r\nexport default function NumberComponent(props: Props) {\r\n const [decimal, setDecimal] = useState(\r\n parseInt(props.template.attribute?.decimal) || 0\r\n );\r\n const [readonly, setReadonly] = useState(\r\n props.template.attribute?.readonly === \"Y\" ? true : false\r\n );\r\n const [summary, setSummary] = useState(\r\n props.template.attribute?.summary === \"Y\" ? true : false\r\n );\r\n const [min, setMin] = useState();\r\n const dataRequest = {\r\n label: props.template.label,\r\n alter: props.template.alter,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n formula: props.template.attribute?.formula || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n decimal: parseInt(props.template.attribute?.decimal) || 0,\r\n default: props.template.attribute?.default || \"\",\r\n align: props.template.attribute?.align === \"l\" ? true : false,\r\n min: Number(props.template.attribute?.min) || 0,\r\n max: Number(props.template.attribute?.max) || 0,\r\n useComma: props.template.attribute?.useComma === \"Y\" ? true : false,\r\n symbol: props.template.attribute?.symbol || \"\",\r\n symbolPosition:\r\n props.template.attribute?.symbolPosition === \"B\" ? true : false,\r\n summary: props.template.attribute?.summary === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: Number(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isSummary: props.template.attribute?.isSummary === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n console.log(\"hideIn=>\", props.template.attribute?.hideInPdf);\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n props.errors[name] && (\r\n {props.errors[name].message}\r\n )\r\n );\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n

Decimal:

\r\n
\r\n
\r\n (\r\n {\r\n field.onChange(e.value);\r\n setDecimal(e.value);\r\n }}\r\n min={0}\r\n max={10}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender !== \"table\" && (\r\n
\r\n
\r\n

Formula:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n

\r\n Operators for use : Addition (+), Subtraction (-), Multiplication\r\n (*), Division (/), Function sum() Ex. : Column Label 1*Column\r\n Label 2, sum(Table Label;Column Label) *sum() Function can only\r\n put 1 column label.\r\n

\r\n
\r\n
\r\n )}\r\n\r\n
\r\n
\r\n

Min:

\r\n
\r\n
\r\n (\r\n {\r\n field.onChange(e.value);\r\n setMin(e.value);\r\n }}\r\n mode=\"decimal\"\r\n minFractionDigits={decimal === undefined ? 2 : decimal}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n

Max:

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={min}\r\n minFractionDigits={decimal === undefined ? 2 : decimal}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Value Align Left:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Symbol:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n

Symbol Left:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Summary:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setSummary(e.checked);\r\n // if (field) {\r\n // setReadonly(true);\r\n // props.setValue(\"readonly\", true);\r\n // }\r\n }}\r\n checked={summary}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Comma:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n // if (!summary) {}\r\n field.onChange(e.checked);\r\n\r\n setReadonly(e.checked);\r\n }}\r\n checked={readonly}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

ShowTotal In Table:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { BiArchiveIn } from \"react-icons/bi\";\r\nimport { FaHeading } from \"react-icons/fa\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { Button } from \"../../Button/Button\";\r\nimport \"./RevisionComponent.css\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n setRevisionConditions: any;\r\n revisionConditions: any;\r\n conditionsIdx: any;\r\n checkAction: any;\r\n}\r\n\r\nexport default function AddConditionModal(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const [selectedFormName, setSelectedFormName] = useState();\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const [selected, setSelected] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (props.checkAction == \"edit\") {\r\n setSelectedFormName({\r\n item: props.revisionConditions.conditions[props.conditionsIdx]?.label,\r\n });\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n if (\r\n _dataLayout.template.type === \"t\" ||\r\n _dataLayout.template.type === \"an\"\r\n ) {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n setDefaultValue([...array]);\r\n }\r\n }, []);\r\n function saveConditions() {\r\n if (selectedFormName == undefined) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n if (props.checkAction === \"add\") {\r\n const newConditions: any = {\r\n label: selectedFormName.item,\r\n boxid: \"\",\r\n controltype: \"AdvanceForm\",\r\n };\r\n let _conditions = props.revisionConditions.conditions;\r\n _conditions.push(newConditions);\r\n props.setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [..._conditions],\r\n }));\r\n } else if (props.checkAction === \"edit\") {\r\n const newConditions: any = {\r\n label: selectedFormName.item,\r\n boxid: \"\",\r\n controltype: \"AdvanceForm\",\r\n };\r\n let _conditions = props.revisionConditions.conditions;\r\n _conditions[props.conditionsIdx] = newConditions;\r\n props.setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [..._conditions],\r\n }));\r\n }\r\n\r\n props.setViewModal(false);\r\n }\r\n const footer = (\r\n
\r\n {\r\n saveConditions();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n const onSelectedChange = (e: { value: any }) => {\r\n setSelectedFormName(e.value);\r\n };\r\n return (\r\n <>\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n
\r\n setSelected(e)}\r\n title={\"Advance Form\"}\r\n icon={}\r\n page={0}\r\n curPage={selected}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

FormName :

\r\n

*

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport AddConditionModal from \"./AddConditionModal\";\r\nimport \"./RevisionComponent.css\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n revisionConditions: any;\r\n setRevisionConditions: any;\r\n}\r\n\r\nexport default function RevisionComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n digit: parseInt(props.template.attribute?.digit) || 0,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const [viewModal, setViewModal] = useState(false);\r\n const [conditionsIdx, setConditionsIdx] = useState();\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n\r\n function deleteCondition(idx: number) {\r\n let _conditions = props.revisionConditions.conditions;\r\n _conditions.splice(idx, 1);\r\n props.setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [..._conditions],\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Digit :

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n setCheckAction(\"add\");\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add Condition\r\n \r\n
\r\n
\r\n
\r\n {props.revisionConditions.conditions.length >= 1 ? (\r\n <>\r\n
\r\n
\r\n {props.revisionConditions.conditions.map(\r\n (_data: any, idx: number) => (\r\n
\r\n {\r\n setConditionsIdx(idx);\r\n setViewModal(true);\r\n setCheckAction(\"edit\");\r\n }}\r\n >\r\n {`[${\r\n idx + 1\r\n }]`}\r\n \r\n {_data.label}\r\n \r\n
\r\n
\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n \r\n
\r\n
\r\n )\r\n )}\r\n
\r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {viewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n fromRender?: any;\r\n}\r\n\r\nexport default function ShortTextComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n default: props.template.attribute?.default || \"\",\r\n length: parseInt(props.template.attribute?.length) || 0,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Max Length:

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={5000}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { Button } from \"../../../components/Button/Button\";\r\nimport { FaHeading, FaRegImage, FaRegListAlt } from \"react-icons/fa\";\r\nimport { BiText, BiTimeFive } from \"react-icons/bi\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { AiOutlineNumber } from \"react-icons/ai\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { CgPlayButtonO } from \"react-icons/cg\";\r\nimport {\r\n BsFileEarmarkRichtext,\r\n BsSortNumericDown,\r\n BsTable,\r\n} from \"react-icons/bs\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n layoutLength?: any;\r\n renderIn?: string;\r\n}\r\n\r\nexport default function CreateControlSideBarElement(props: Props) {\r\n const SideBarData = [\r\n {\r\n component: (\r\n <>\r\n {props.layoutLength === 1 && (\r\n props.onSelectView(e)}\r\n title={\"Heading\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n )}\r\n \r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"ShortText\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiLine\"}\r\n icon={}\r\n page={3}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Number\"}\r\n icon={}\r\n page={4}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Calendar\"}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Choice\"}\r\n icon={}\r\n page={6}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiChoice\"}\r\n icon={}\r\n page={7}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Dropdown\"}\r\n icon={}\r\n page={8}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n <>\r\n {props.layoutLength === 1 && (\r\n props.onSelectView(e)}\r\n title={\"Table\"}\r\n icon={}\r\n page={9}\r\n curPage={props.curPage}\r\n />\r\n )}\r\n \r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"RichText\"}\r\n icon={}\r\n page={10}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Attachment\"}\r\n icon={}\r\n page={11}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Image\"}\r\n icon={}\r\n page={12}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n <>\r\n {/* {props.layoutLength === 2 && ( */}\r\n props.onSelectView(e)}\r\n title={\"Button\"}\r\n icon={}\r\n page={13}\r\n curPage={props.curPage}\r\n />\r\n {/* )} */}\r\n \r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Auto Number\"}\r\n icon={}\r\n page={14}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Revision\"}\r\n icon={}\r\n page={15}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n const SideBarDataInColumn = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"ShortText\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiLine\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Number\"}\r\n icon={}\r\n page={3}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Calendar\"}\r\n icon={}\r\n page={4}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Choice\"}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiChoice\"}\r\n icon={}\r\n page={6}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Dropdown\"}\r\n icon={}\r\n page={7}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Attachment\"}\r\n icon={}\r\n page={8}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n return (\r\n <>\r\n {props.renderIn === \"control\" && (\r\n {\r\n console.log(SideBarData, \"SideBarData\");\r\n }}\r\n >\r\n {SideBarData.map((data, idx) => {\r\n if (\r\n data?.component?.props?.title ||\r\n data?.component?.props?.children?.props?.title\r\n ) {\r\n return (\r\n <>\r\n
{data.component}
\r\n \r\n );\r\n }\r\n })}\r\n \r\n )}\r\n {props.renderIn === \"column\" && (\r\n \r\n {SideBarDataInColumn.map((data, idx) => {\r\n if (\r\n data?.component?.props?.title ||\r\n data?.component?.props?.children?.props?.title\r\n ) {\r\n return (\r\n <>\r\n
{data.component}
\r\n \r\n );\r\n }\r\n })}\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport \".././CreateControlComponents.css\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function TextAreaComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n default: props.template.attribute?.default || \"\",\r\n length: parseInt(props.template.attribute?.length) || 0,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n props.errors[name] && (\r\n {props.errors[name].message}\r\n )\r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Max Length:

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={5000}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport AttachmentComponent from \"../AttachmentComponent/AttachmentComponent\";\r\nimport CalendarComponent from \"../CalendarComponent/CalendarComponent\";\r\nimport ChoiceComponent from \"../ChoiceComponent/ChoiceComponent\";\r\nimport DropdownComponent from \"../DropdownComponent/DropdownComponent\";\r\nimport CreateControlSideBarElement from \"../ModalCreateComponents/CreateControlSideBarElement\";\r\nimport MultiChoiceComponent from \"../MultiChoiceComponent/MultiChoiceComponent\";\r\nimport NumberComponent from \"../NumberComponent/NumberComponent\";\r\nimport ShortTextComponent from \"../ShortTextComponent/ShortTextComponent\";\r\nimport TextAreaComponent from \"../TextAreaComponent/TextAreaComponent\";\r\nimport \"./TableCreateComponents.css\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n attributeColumn: any;\r\n setAttributeColumn: any;\r\n setFromRender: any;\r\n fromRender: string;\r\n layoutIdx: any;\r\n action: any;\r\n setUploadFileState: any;\r\n uploadFileState: any;\r\n userData: any;\r\n}\r\n\r\nexport default function ColumnComponent(props: Props) {\r\n const column: any = [\r\n {\r\n label: {},\r\n alter: null,\r\n control: {},\r\n data: {\r\n value: null,\r\n },\r\n },\r\n ];\r\n const { toggleAlert } = useAlert();\r\n const toast = useRef(null);\r\n const [selected, setSelected] = useState(\"\");\r\n const [component, setComponent] = useState();\r\n const [itemsList, setItemsList] = useState({ items: [] });\r\n const [displayDropdown, setDisplayDropdown] = useState();\r\n const {\r\n control: control2,\r\n formState: { errors: errors2 },\r\n setValue,\r\n handleSubmit: handleSubmit2,\r\n } = useForm({\r\n mode: \"onBlur\",\r\n });\r\n useEffect(() => {\r\n setSelected(\"1\");\r\n props.setFromRender(\"table\");\r\n checkType();\r\n }, []);\r\n\r\n useEffect(() => {\r\n renderComponent();\r\n }, [selected, itemsList]);\r\n\r\n const checkType = () => {\r\n if (props.action === \"edit\") {\r\n let _column = props.attributeColumn.column[props.layoutIdx];\r\n console.log(props.attributeColumn, \"_column\");\r\n checkActionButton(_column.control.template.type);\r\n }\r\n };\r\n const checkActionButton = (dataType: any) => {\r\n if (dataType === \"t\") {\r\n setSelected(\"1\");\r\n } else if (dataType === \"ta\") {\r\n setSelected(\"2\");\r\n } else if (dataType === \"c\") {\r\n setSelected(\"3\");\r\n } else if (dataType === \"d\") {\r\n setSelected(\"4\");\r\n } else if (dataType === \"r\") {\r\n setSelected(\"5\");\r\n } else if (dataType === \"cb\") {\r\n setSelected(\"6\");\r\n } else if (dataType === \"dd\") {\r\n setSelected(\"7\");\r\n } else if (dataType === \"at\") {\r\n setSelected(\"8\");\r\n } else {\r\n setSelected(\"1\");\r\n }\r\n };\r\n\r\n const requestData = (columnData: any, columnIdx?: number) => {\r\n let _column = props.attributeColumn.column;\r\n if (props.action === \"add\") {\r\n _column.push(columnData);\r\n } else if (props.action === \"edit\") {\r\n _column[props.layoutIdx] = columnData;\r\n }\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [..._column],\r\n }));\r\n props.setFromRender(\"control\");\r\n };\r\n\r\n const updateChanges2 = (data: any) => {\r\n if (itemsList.items.length === 0) {\r\n if (selected === \"5\" || selected === \"6\" || selected === \"7\") {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 7000,\r\n // });\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n }\r\n if (selected === \"1\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"t\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length?.toString() || \"0\",\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable?.toString() || \"0\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"2\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"ta\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length.toString(),\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"3\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"c\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n formula: data.formula,\r\n description: data.description,\r\n decimal: data.decimal?.toString(),\r\n default: data.default,\r\n align: data.align ? \"l\" : \"r\",\r\n min: data.min?.toString(),\r\n max: data.max?.toString(),\r\n useComma: data.useComma ? \"Y\" : \"N\",\r\n symbol: data.symbolNumber,\r\n symbolPosition: data.symbolPosition ? \"B\" : \"E\",\r\n summary: data.summary ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isSummary: data.isSummary ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"4\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"d\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n defaultType: data.defaultType,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n date: {\r\n use: \"Y\",\r\n useDate: \"Y\",\r\n fullYear: \"Y\",\r\n symbol: data.symbol,\r\n },\r\n time: {\r\n use: \"N\",\r\n useSecond: \"N\",\r\n symbol: \":\",\r\n },\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"5\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"r\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n items: itemsList.items,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"6\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"cb\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n display: displayDropdown?.code,\r\n widthInTable: data.widthInTable.toString(),\r\n items: itemsList.items,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: {\r\n items: [],\r\n },\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"7\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"dd\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.description,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n items: itemsList.items,\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"8\") {\r\n console.log(data);\r\n\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"at\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.fileTypeFile,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n max: data.maxFile.toString(),\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n default: data.defaultValueImage,\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n }\r\n\r\n props.setViewModal(false);\r\n };\r\n\r\n const renderComponent = () => {\r\n let _column: any;\r\n if (props.action === \"add\") {\r\n _column = props.attributeColumn;\r\n } else if (props.action === \"edit\") {\r\n let respone = props.attributeColumn.column[props.layoutIdx];\r\n _column = {\r\n label: respone?.label,\r\n alter: respone?.alter,\r\n description: respone?.control?.template?.description,\r\n attribute: {\r\n description: respone?.control?.template?.attribute?.description,\r\n default: respone?.control?.template?.attribute?.default,\r\n length: parseInt(respone?.control?.template?.attribute?.length),\r\n require: respone?.control?.template?.attribute?.require,\r\n readonly: respone?.control?.template?.attribute?.readonly,\r\n min: parseInt(respone?.control?.template?.attribute?.min),\r\n max: parseInt(respone?.control?.template?.attribute?.max),\r\n useComma: respone?.control?.template?.attribute?.useComma,\r\n symbol: respone?.control?.template?.attribute?.symbol,\r\n symbolPosition: respone?.control?.template?.attribute?.symbolPosition,\r\n summary: respone?.control?.template?.attribute?.summary,\r\n decimal: parseInt(respone?.control?.template?.attribute?.decimal),\r\n formula: respone?.control?.template?.attribute?.formula,\r\n align: respone?.control?.template?.attribute?.align,\r\n multipleLine: respone?.control?.template?.attribute?.multipleLine,\r\n date: {\r\n symbol: respone?.control?.template?.attribute?.date?.symbol,\r\n },\r\n items: [...(respone?.control?.template?.attribute?.items || \"\")],\r\n display: respone?.control?.template?.attribute?.display,\r\n widthInTable: parseInt(\r\n respone?.control?.template?.attribute?.widthInTable\r\n ),\r\n hideInPdf: respone?.control?.template?.attribute?.hideInPdf,\r\n isSummary: respone?.control?.template?.attribute?.isSummary,\r\n },\r\n };\r\n }\r\n if (selected === \"1\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"2\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"3\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"4\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"5\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"6\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"7\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"8\") {\r\n setComponent(\r\n \r\n );\r\n }\r\n };\r\n\r\n const handleKeyDown = (event: any, callback: any) => {\r\n if (event.key === \"Enter\" && event.shiftKey === false) {\r\n event.preventDefault();\r\n callback(handleSubmit2);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n props.setFromRender(\"control\");\r\n props.setViewModal(false);\r\n }}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n >\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n handleKeyDown(e, handleSubmit2);\r\n }}\r\n >\r\n {component}\r\n
\r\n {\r\n props.setFromRender(\"control\");\r\n props.setViewModal(false);\r\n }}\r\n type=\"button\"\r\n >\r\n \r\n Cancel\r\n \r\n\r\n \r\n Save\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import { Spin } from \"antd\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport { ReportTemplateSelectByReportID } from \"../../../Services/ReportService\";\r\nimport {\r\n GetAllByCreateTemplate,\r\n GetAllTemplate,\r\n GetTemplateByDocTypeCode,\r\n GetTemplateByIdDto,\r\n ReportTemplateList,\r\n} from \"../../../Services/TemplateService\";\r\nimport \"./TableCreateComponents.css\";\r\n\r\ninterface Props {\r\n attributeColumn: any;\r\n setAttributeColumn: any;\r\n setMergeColumnRefDoc: any;\r\n mergeColumnRefDoc: any;\r\n control: any;\r\n template: any;\r\n setDocDataSource: any;\r\n docDataSource: any;\r\n setSelectedReportRef: any;\r\n selectedReportRef: any;\r\n setSelectedTemplateRef: any;\r\n selectedTemplateRef: any;\r\n setConditions: any;\r\n conditions: any;\r\n advanceForm: any;\r\n setSelectedDocControlTemplate: any;\r\n selectedDocControlTemplate: any;\r\n setDefaultConfigColumn: any;\r\n defaultConfigColumn: any;\r\n}\r\n\r\nexport default function ReferenceDocument(props: Props) {\r\n const [loading, setLoading] = useState(true);\r\n const [visibleDocControl, setVisibleDocControl] = useState(false);\r\n const dataRequest = {\r\n enabledpopupdefdoc:\r\n props.template.attribute?.enabledpopupdefdoc === \"Y\" ? true : false,\r\n doccontrol:\r\n props.template.attribute?.refdoc?.doccontrol === true ? true : false,\r\n };\r\n\r\n const itemsType = [{ name: \"Template\" }, { name: \"Report\" }];\r\n\r\n const itemsControlLabel = [\r\n { RefDocLabel: \"Document No\", value: \"DocumentNo\" },\r\n { RefDocLabel: \"Document Amount\", value: \"DocumentAmount\" },\r\n { RefDocLabel: \"Creator Employee Code\", value: \"CreatorEmployeeCode\" },\r\n { RefDocLabel: \"Creator Employee Name\", value: \"CreatorEmployeeName\" },\r\n {\r\n RefDocLabel: \"Creator Employee Position\",\r\n value: \"CreatorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Division\",\r\n value: \"CreatorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Department\",\r\n value: \"CreatorEmployeeDepartment\",\r\n },\r\n { RefDocLabel: \"Creator Employee Email\", value: \"CreatorEmployeeEmail\" },\r\n {\r\n RefDocLabel: \"Requestor Employee Code\",\r\n value: \"RequestorEmployeeCode\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Name\",\r\n value: \"RequestorEmployeeName\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Position\",\r\n value: \"RequestorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Division\",\r\n value: \"RequestorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Department\",\r\n value: \"RequestorEmployeeDepartment\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Email\",\r\n value: \"RequestorEmployeeEmail\",\r\n },\r\n {\r\n RefDocLabel: \"Information Document Status\",\r\n value: \"InformationDocumentStatus\",\r\n },\r\n {\r\n RefDocLabel: \"Information Form Category\",\r\n value: \"InformationFormCategory\",\r\n },\r\n { RefDocLabel: \"Information Form Name\", value: \"InformationFormName\" },\r\n {\r\n RefDocLabel: \"Information RequestDate\",\r\n value: \"InformationRequestDate\",\r\n },\r\n { RefDocLabel: \"Information Company\", value: \"InformationCompany\" },\r\n { RefDocLabel: \"Information Branch\", value: \"InformationBranch\" },\r\n { RefDocLabel: \"Information Subject\", value: \"InformationSubject\" },\r\n { RefDocLabel: \"Information Project\", value: \"InformationProject\" },\r\n ];\r\n\r\n const itemsConditionList = [\r\n { name: \"ใต้สังกัด\", value: \"under\" },\r\n { name: \"ค่าคงที่\", value: \"fixed value\" },\r\n ];\r\n\r\n const conditionRefDoc: any = {\r\n label: \"\",\r\n conditionType: \"under\",\r\n value: \"\",\r\n };\r\n const [defaultValueRefDoc, setDefaultValueRefDoc] = useState();\r\n const [defaultValueRefDoc2, setDefaultValueRefDoc2] = useState();\r\n\r\n const [defaultValueReport, setDefaultValueReport] = useState([]);\r\n const [checkAction, setCheckAction] = useState();\r\n const [actionSubmit, setActionSubmit] = useState();\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const isFirstRun = useRef(true);\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n value: _dataLayout.template.label,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n setDefaultValue([...array]);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n async function fetchMyAPI() {\r\n setLoading(true);\r\n await fetchDataTemplate();\r\n await defaultValueDropDown();\r\n await defaultValueDocControl();\r\n setLoading(false);\r\n }\r\n fetchMyAPI();\r\n }, []);\r\n function defaultValueDocControl() {\r\n if (dataRequest.doccontrol) {\r\n setVisibleDocControl(true);\r\n }\r\n }\r\n function defaultValueDropDown() {\r\n if (props?.mergeColumnRefDoc?.columnRefDoc?.length >= 1) {\r\n let array: any = [];\r\n let array2: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n array.push({\r\n ColumnLabel: _data.label,\r\n });\r\n });\r\n props?.mergeColumnRefDoc?.columnRefDoc.map((_data: any, idx: any) => {\r\n array2.push({\r\n RefDocLabel: _data.RefDocLabel,\r\n });\r\n });\r\n let arr3 = array.map((item: any, i: number) =>\r\n Object.assign({}, item, array2[i])\r\n );\r\n\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...arr3],\r\n }));\r\n } else {\r\n let array: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n array.push({\r\n ColumnLabel: _data.label,\r\n RefDocLabel: \"\",\r\n });\r\n });\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...array],\r\n }));\r\n }\r\n }\r\n useEffect(() => {\r\n if (props.template.attribute.refdoc) {\r\n mapDefaultData();\r\n }\r\n }, [defaultValueRefDoc]);\r\n\r\n function mapDefaultData() {\r\n if (props.template) {\r\n let MapData = props.template.attribute.refdoc.docref.map(\r\n (item: any) => item.id\r\n );\r\n\r\n if (defaultValueRefDoc) {\r\n let dafault = defaultValueRefDoc.filter((item: any) =>\r\n MapData.includes(item.TemplateId.toString())\r\n );\r\n if (props.template.attribute.refdoc.docref) {\r\n props.setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docref: [...dafault],\r\n }));\r\n }\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n fetchDataTemplateById();\r\n }, [props.selectedReportRef]);\r\n useEffect(() => {\r\n newValueAlterSelected();\r\n }, [actionSubmit]);\r\n useEffect(() => {\r\n setValueConfigColumnTable();\r\n }, [props.selectedTemplateRef]);\r\n\r\n const setValueConfigColumnTable = async () => {\r\n let mapper: any = [];\r\n if (\r\n props.docDataSource.docDataSource === \"Report\" &&\r\n props.selectedReportRef?.docReport?.ReportTemplateId\r\n ) {\r\n let array: any[] = [];\r\n const reportId = parseInt(\r\n props.selectedReportRef?.docReport?.ReportTemplateId\r\n );\r\n const response = await ReportTemplateSelectByReportID(reportId);\r\n let selectedFieldList = response.Selectedfieldlist;\r\n for (let i = 0; i < selectedFieldList?.length; i++) {\r\n const element = selectedFieldList[i];\r\n array.push({\r\n value: element.key,\r\n RefDocLabel: element.label,\r\n });\r\n }\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n props.setDefaultConfigColumn([..._data]);\r\n } else if (\r\n props.selectedTemplateRef?.docref?.length > 0 &&\r\n props.docDataSource.docDataSource === \"Template\"\r\n ) {\r\n props.selectedTemplateRef?.docref?.map((item: any, index: number) => {\r\n if (item?.AdvanceForm) {\r\n mapper.push({\r\n AdvanceForm: JSON.parse(item?.AdvanceForm),\r\n DocumentCode: item.DocumentCode,\r\n });\r\n }\r\n });\r\n let array: any = [];\r\n mapper.map((item: any, i: number) => {\r\n item.AdvanceForm.items.map((_data: any, j: number) => {\r\n _data.layout.map((_dataLayout: any, k: number) => {\r\n if (_dataLayout.template.label) {\r\n array.push({\r\n value: item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n RefDocLabel:\r\n item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n props.setDefaultConfigColumn([..._data]);\r\n } else {\r\n const _data = itemsControlLabel;\r\n props.setDefaultConfigColumn([..._data]);\r\n defaultConfigColumn();\r\n }\r\n };\r\n function defaultConfigColumn() {\r\n let array: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n array.push({\r\n ColumnLabel: _data.label,\r\n RefDocLabel: \"\",\r\n });\r\n });\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...array],\r\n }));\r\n }\r\n async function newValueAlterSelected() {\r\n if (isFirstRun.current) {\r\n isFirstRun.current = false;\r\n } else {\r\n props.setSelectedReportRef([]);\r\n props.setSelectedTemplateRef([]);\r\n }\r\n }\r\n async function fetchDataTemplateById() {\r\n if (checkAction === \"2\") {\r\n let _dataTemplate: any[] = [];\r\n const templateCode = props.selectedReportRef?.docReport?.TemplateId;\r\n const arrayCode = templateCode?.split(\"|\");\r\n const _response = defaultValueRefDoc2?.filter((item: any) =>\r\n arrayCode?.includes(item?.DocumentCode)\r\n );\r\n const _response2 = _response?.filter((item: any) => {\r\n return item.IsActive === true;\r\n });\r\n if (_response2) {\r\n _dataTemplate.push(..._response2);\r\n } else {\r\n _dataTemplate.push();\r\n }\r\n setDefaultValueRefDoc([..._dataTemplate]);\r\n const _data = itemsControlLabel;\r\n props.setDefaultConfigColumn([..._data]);\r\n }\r\n }\r\n async function fetchDataTemplate() {\r\n if (\r\n !props.docDataSource.docDataSource ||\r\n typeof props.docDataSource.docDataSource === \"object\"\r\n ) {\r\n props.setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: \"Template\",\r\n }));\r\n }\r\n let _dataTemplate = await GetAllByCreateTemplate();\r\n let _dataReportTemplate = await ReportTemplateList();\r\n setDefaultValueRefDoc([..._dataTemplate]);\r\n setDefaultValueRefDoc2([..._dataTemplate]);\r\n console.log(_dataReportTemplate, \"_dataReportTemplate\");\r\n setDefaultValueReport([..._dataReportTemplate]);\r\n props.setDefaultConfigColumn([...itemsControlLabel]);\r\n }\r\n\r\n function deleteCondition(idx: any) {\r\n let _condition = props.conditions.conditionrefdoc;\r\n _condition.splice(idx, 1);\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc: [..._condition],\r\n }));\r\n }\r\n async function selectedReportById(idReport: number) {\r\n if (idReport) {\r\n let arrayReport: any[] = [];\r\n const response = await ReportTemplateSelectByReportID(idReport);\r\n let selectedFieldList = response.Selectedfieldlist;\r\n for (let i = 0; i < selectedFieldList.length; i++) {\r\n const element = selectedFieldList[i];\r\n arrayReport.push({\r\n value: element.key,\r\n RefDocLabel: element.label,\r\n });\r\n }\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, arrayReport);\r\n props.setDefaultConfigColumn([..._data]);\r\n let arrayMerge: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n arrayMerge.push({\r\n ColumnLabel: _data.label,\r\n RefDocLabel: \"\",\r\n });\r\n });\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...arrayMerge],\r\n }));\r\n }\r\n }\r\n function renderIsDocControl() {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n Template New Doc\r\n
\r\n

ฟอร์มสร้างใหม่

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docNewDoc: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Template Edit Doc\r\n
\r\n

ฟอร์มแก้ไข

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docEditDoc: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Template Cancel Doc\r\n
\r\n

ฟอร์มยกเลิก

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docCancelDoc: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n {!loading && (\r\n \r\n console.log(\r\n props.defaultConfigColumn,\r\n \"ee\",\r\n props.mergeColumnRefDoc\r\n )\r\n }\r\n >\r\n
\r\n
\r\n \r\n \r\n
\r\n Data source\r\n
\r\n

ประเภทข้อมูล

\r\n \r\n \r\n
\r\n
\r\n {itemsType.map((items: any) => {\r\n return (\r\n
\r\n {\r\n props.setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: e.value.name,\r\n }));\r\n setActionSubmit(!actionSubmit);\r\n setCheckAction(\"1\");\r\n if (\r\n e.value.name !== props.docDataSource.docDataSource\r\n ) {\r\n if (e.value.name === \"Template\") {\r\n setDefaultValueRefDoc([...defaultValueRefDoc2]);\r\n } else if (e.value.name === \"Report\") {\r\n console.log(\"report\", e.value.name);\r\n setDefaultValueRefDoc([]);\r\n }\r\n\r\n const _data = itemsControlLabel;\r\n props.setDefaultConfigColumn([..._data]);\r\n }\r\n defaultConfigColumn();\r\n }}\r\n checked={\r\n items.name === props.docDataSource.docDataSource\r\n }\r\n />\r\n \r\n
\r\n );\r\n })}\r\n
\r\n
\r\n {props.docDataSource.docDataSource === \"Template\" && (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Template Reference Document\r\n \r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docref: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n )}\r\n {props.docDataSource.docDataSource === \"Template\" && (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Is DocControl\r\n
\r\n

เอกสารควบคุม

\r\n \r\n \r\n
\r\n
\r\n
\r\n (\r\n \r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setVisibleDocControl(!visibleDocControl);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {visibleDocControl && renderIsDocControl()}\r\n
\r\n \r\n )}\r\n\r\n {props.docDataSource.docDataSource === \"Report\" && (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Report Reference Document\r\n \r\n
\r\n

รายงานอ้างอิง

\r\n \r\n \r\n
\r\n
\r\n {\r\n setCheckAction(\"2\");\r\n props.setSelectedReportRef((prevState: any) => ({\r\n ...prevState,\r\n docReport: e.value,\r\n }));\r\n props.setSelectedTemplateRef([]);\r\n selectedReportById(e.value?.ReportTemplateId);\r\n }}\r\n optionLabel=\"ReportName\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"ReportName\"\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n />\r\n
\r\n
\r\n )}\r\n {props.docDataSource.docDataSource === \"Report\" && (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Template Reference Document\r\n \r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docref: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Display popup Reference Document add row in table\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Enabled\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n {props.mergeColumnRefDoc?.columnRefDoc?.length !== 0 && (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n Config Column\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {props.mergeColumnRefDoc?.columnRefDoc?.map(\r\n (_data: any, idx: any) => (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {_data.ColumnLabel}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setMergeColumnRefDoc(\r\n (prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc:\r\n props.mergeColumnRefDoc.columnRefDoc.map(\r\n (_val: { ColumnLabel: any }) => {\r\n return _val.ColumnLabel ===\r\n _data.ColumnLabel\r\n ? {\r\n ColumnLabel: _val.ColumnLabel,\r\n RefDocLabel: e.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n })\r\n );\r\n }}\r\n optionLabel=\"RefDocLabel\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"RefDocLabel\"\r\n filter\r\n showClear\r\n />\r\n
\r\n
\r\n \r\n )\r\n )}\r\n
\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n
\r\n Conditions\r\n
\r\n

เงื่อนไข

\r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n let col = props.conditions.conditionrefdoc;\r\n col.push(conditionRefDoc);\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc: [...col],\r\n }));\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a set-margin-0-css\"\r\n >\r\n Add Condition\r\n \r\n
\r\n
\r\n
\r\n {props.conditions?.conditionrefdoc?.length !== 0 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.conditions?.conditionrefdoc?.map(\r\n (_data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n {props.conditions?.conditionrefdoc[idx]\r\n ?.conditionType === \"under\" && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n {props.conditions?.conditionrefdoc[idx]\r\n ?.conditionType === \"fixed value\" && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n )}\r\n \r\n
\r\n

Control Label

\r\n

ชื่อ

\r\n
\r\n

Type

\r\n

ชนิด

\r\n
\r\n

Value

\r\n

ค่า

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
\r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: e.value,\r\n conditionType: _val.conditionType,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n optionLabel=\"RefDocLabel\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"RefDocLabel\"\r\n filter\r\n showClear\r\n />\r\n \r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n conditionType: e.value,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n optionLabel=\"name\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"name\"\r\n />\r\n \r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n conditionType:\r\n _val.conditionType,\r\n value: e.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n optionLabel=\"item\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"item\"\r\n filter\r\n showClear\r\n />\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n \r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n conditionType:\r\n _val.conditionType,\r\n value: e.target.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n
\r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport React from \"react\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport \"./TableCreateComponents.css\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\ninterface Props {\r\n advanceForm: any;\r\n setFooterTable: any;\r\n footerTable: any;\r\n}\r\n\r\nexport default function FooterTableComponents(props: Props) {\r\n const footerData: any = {\r\n label: \"\",\r\n formula: \"\",\r\n symbol: \"\",\r\n useValue: false,\r\n value: \"\",\r\n };\r\n\r\n function deleteFooterTable(idx: any) {\r\n let _footerTable = props.footerTable?.rows;\r\n _footerTable.splice(idx, 1);\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: [..._footerTable],\r\n }));\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Conditions\r\n
\r\n

เงื่อนไข

\r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n let rows = props.footerTable.rows;\r\n rows.push(footerData);\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: [...rows],\r\n }));\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a set-margin-0-css\"\r\n >\r\n Add Condition\r\n \r\n
\r\n
\r\n
\r\n {props.footerTable.rows.length !== 0 && (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.footerTable?.rows?.map((_data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

Label

\r\n

ชื่อ

\r\n
\r\n

Formula

\r\n

สูตร

\r\n
\r\n

Symbol

\r\n

สัญลักษณ์

\r\n
\r\n

Input Value

\r\n

กรอกค่า

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
\r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: e.target.value,\r\n formula: _val.formula,\r\n symbol: _val.symbol,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n formula: e.target.value,\r\n symbol: _val.symbol,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n formula: _val.formula,\r\n symbol: e.target.value,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n formula: _val.formula,\r\n symbol: _val.symbol,\r\n value: _val.value,\r\n useValue: e.checked,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n checked={props.footerTable?.rows[idx]?.useValue}\r\n />\r\n \r\n {\r\n deleteFooterTable(idx);\r\n }}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TabMenu } from \"primereact/tabmenu\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport ColumnComponent from \"./ColumnComponent\";\r\nimport { BiText } from \"react-icons/bi\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { AiOutlineNumber } from \"react-icons/ai\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { FaRegListAlt } from \"react-icons/fa\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\r\nimport ReferenceDocument from \"./ReferenceDocument\";\r\nimport { TabView, TabPanel } from \"primereact/tabview\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport FooterTableComponents from \"./FooterTableComponents\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setAttributeColumn: any;\r\n attributeColumn: any;\r\n setFromRender: any;\r\n fromRender: any;\r\n setMergeColumnRefDoc: any;\r\n mergeColumnRefDoc: any;\r\n setDocDataSource: any;\r\n docDataSource: any;\r\n setSelectedReportRef: any;\r\n selectedReportRef: any;\r\n setSelectedTemplateRef: any;\r\n selectedTemplateRef: any;\r\n conditions: any;\r\n setConditions: any;\r\n advanceForm: any;\r\n setFooterTable: any;\r\n footerTable: any;\r\n setUploadFileState: any;\r\n uploadFileState: any;\r\n userData: any;\r\n setSelectedDocControlTemplate: any;\r\n selectedDocControlTemplate: any;\r\n setDefaultConfigColumn: any;\r\n defaultConfigColumn: any;\r\n}\r\n\r\nexport default function TableComponent(props: Props) {\r\n const [viewModal, setViewModal] = useState(false);\r\n const [layoutIdx, setLayoutIdx] = useState();\r\n const [action, setAction] = useState(\"\");\r\n console.log(\"props.template\", props.template);\r\n\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n formula: props.template.formula || \"\",\r\n hideInPdf: props.template?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n canImport: props.template?.canImport === \"Y\" || \"\" ? true : false,\r\n column: props.template.attribute?.column || [],\r\n };\r\n useEffect(() => {\r\n let respone = props.attributeColumn.column;\r\n for (let i = 0; i < respone.length; i++) {\r\n if (respone[i].guid == undefined) {\r\n respone[i][\"guid\"] = generateQuickGuid();\r\n }\r\n }\r\n\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [...respone],\r\n }));\r\n }, []);\r\n\r\n const items = [\r\n { label: \"Column\", icon: \"pi pi-book\" },\r\n { label: \"Reference Document\", icon: \"pi pi-folder\" },\r\n { label: \"FooterTable\", icon: \"pi pi-cog\" },\r\n ];\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n function renderIconShowCreateControl(dataType: any) {\r\n if (dataType === \"t\") {\r\n return (\r\n <>\r\n \r\n ShortText\r\n \r\n );\r\n } else if (dataType === \"ta\") {\r\n return (\r\n <>\r\n \r\n MultiLine\r\n \r\n );\r\n } else if (dataType === \"c\") {\r\n return (\r\n <>\r\n \r\n Number\r\n \r\n );\r\n } else if (dataType === \"d\") {\r\n return (\r\n <>\r\n \r\n Calendar\r\n \r\n );\r\n } else if (dataType === \"r\") {\r\n return (\r\n <>\r\n \r\n Choice\r\n \r\n );\r\n } else if (dataType === \"cb\") {\r\n return (\r\n <>\r\n \r\n MultiChoice\r\n \r\n );\r\n } else if (dataType === \"dd\") {\r\n return (\r\n <>\r\n \r\n Dropdown\r\n \r\n );\r\n } else if (dataType === \"at\") {\r\n return (\r\n <>\r\n \r\n Attachment\r\n \r\n );\r\n }\r\n }\r\n const reorder = (list: any, startIndex: any, endIndex: any) => {\r\n const result = Array.from(list);\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result;\r\n };\r\n const onDragEnd = (result: any) => {\r\n let _components = props.attributeColumn.column;\r\n if (!result.destination) {\r\n return;\r\n }\r\n const items = reorder(\r\n _components,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [...items],\r\n }));\r\n };\r\n\r\n const getItemStyle = (isDragging: any, draggableStyle: any) => ({\r\n userSelect: \"none\",\r\n margin: \"0 0 17px 0\",\r\n minHeight: \"82px\",\r\n ...draggableStyle,\r\n });\r\n function deleteColumn(idx: any) {\r\n let _components = props.attributeColumn.column;\r\n _components.splice(idx, 1);\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [..._components],\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Formula :

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n

\r\n Operators for use : Addition (+), Subtraction (-), Multiplication\r\n (*), Division (/) Ex. : Column Label 1*Column Label 2=Column Label\r\n 3\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Can Import:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setActiveIndex(e.index);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {activeIndex === 0 && (\r\n <>\r\n
\r\n {\r\n props.setFromRender(\"table\");\r\n setViewModal(true);\r\n setAction(\"add\");\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add Column\r\n \r\n
\r\n {props.attributeColumn.column.length !== 0 && (\r\n
\r\n <>\r\n \r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {props.attributeColumn.column.map(\r\n (_data: any, idx: any) => (\r\n
\r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {\r\n setViewModal(true);\r\n setLayoutIdx(idx);\r\n setAction(\"edit\");\r\n }}\r\n >\r\n
\r\n \r\n {_data.label}\r\n \r\n \r\n {_data.alter != \"\"\r\n ? ` / ${_data.alter}`\r\n : \"\"}\r\n \r\n
\r\n {renderIconShowCreateControl(\r\n _data.control.template.type\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n deleteColumn(idx);\r\n }}\r\n >\r\n \r\n

\r\n
\r\n
\r\n )}\r\n \r\n
\r\n )\r\n )}\r\n {provided.placeholder}\r\n
\r\n )}\r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n )}\r\n {activeIndex === 1 && (\r\n <>\r\n \r\n \r\n )}\r\n {activeIndex === 2 && (\r\n <>\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {viewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport { Image } from \"antd\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { RiDeleteBack2Line, RiDeleteBin2Line } from \"react-icons/ri\";\r\nimport \"./ImageComponents.css\";\r\nimport { CgCloseR } from \"react-icons/cg\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n userData: any;\r\n uploadFileState: any;\r\n setUploadFileState: any;\r\n}\r\nexport default function ImageComponents(props: Props) {\r\n const [widthControl, setWidthControl] = useState();\r\n const [heightControl, setHeightControl] = useState();\r\n const ref = useRef();\r\n const toast = useRef(null);\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n fileTypeImage: props.template.fileType || \"*jpg*jpeg*png*bmp\",\r\n maxFile: parseInt(props.template.attribute?.maxFile) || 50,\r\n width: parseInt(props.template.attribute?.width) || 310,\r\n height: parseInt(props.template.attribute?.height) || 190,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const onFileSelect = async (e: any) => {\r\n if (e.target.files[0] !== null) {\r\n const files = e.target.files[0];\r\n const formData = new FormData();\r\n var guid = \"imageControl\" + generateQuickGuid();\r\n formData.append(\"files\", files);\r\n formData.append(\"docSet\", guid);\r\n formData.append(\"actorID\", props.userData.employeeData.EmployeeId);\r\n var response = await UploadFileRenderControl(formData);\r\n props.setUploadFileState(response.data.pathUrl);\r\n ref.current.value = null;\r\n }\r\n };\r\n useEffect(() => {\r\n setWidthControl(dataRequest.width);\r\n setHeightControl(dataRequest.height);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

File Type:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n

File Type Format : *png*jpeg

\r\n
\r\n
\r\n
\r\n
\r\n

Max File Size:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n MB\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n onChange={(e: any) => {\r\n setWidthControl(e.value);\r\n if (e.value >= 300) {\r\n setWidthControl(300);\r\n }\r\n }}\r\n min={0}\r\n max={400}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n

Maximum of 400

\r\n
\r\n
\r\n

Height:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n onChange={(e: any) => {\r\n setHeightControl(e.value);\r\n if (e.value >= 300) {\r\n setHeightControl(300);\r\n }\r\n }}\r\n min={0}\r\n max={400}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n

Maximum of 400

\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n {\r\n onFileSelect(e);\r\n }}\r\n accept=\".jpg, .jpeg, .png,\"\r\n className={`set-input-component-css form-control ${classNames(\r\n {\r\n \"p-invalid\": fieldState.invalid,\r\n }\r\n )}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.uploadFileState && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n props.setUploadFileState(null);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport ButtonComponent from \"../ButtonComponent/ButtonComponent\";\r\nimport AttachmentComponent from \"../AttachmentComponent/AttachmentComponent\";\r\nimport AutoNumberComponent from \"../AutoNumberComponent/AutoNumberComponent\";\r\nimport CalendarComponent from \"../CalendarComponent/CalendarComponent\";\r\nimport ChoiceComponent from \"../ChoiceComponent/ChoiceComponent\";\r\nimport MultiChoiceComponent from \"../MultiChoiceComponent/MultiChoiceComponent\";\r\nimport DropdownComponent from \"../DropdownComponent/DropdownComponent\";\r\nimport EditorComponent from \"../EditorComponent/EditorComponent\";\r\nimport HeadingComponent from \"../HeadingComponent/HeadingComponent\";\r\nimport NumberComponent from \"../NumberComponent/NumberComponent\";\r\nimport RevisionComponent from \"../RevisionComponent/RevisionComponent\";\r\nimport ShortTextComponent from \"../ShortTextComponent/ShortTextComponent\";\r\nimport TableComponent from \"../TableComponent/TableComponent\";\r\nimport TextAreaComponent from \"../TextAreaComponent/TextAreaComponent\";\r\nimport CreateControlSideBarElement from \"./CreateControlSideBarElement\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./ModalCreateComponents.css\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport {\r\n GetAllByCreateTemplate,\r\n ReportTemplateList,\r\n} from \"../../../Services/TemplateService\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport ImageComponents from \"../ImageComponents/ImageComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { Spin } from \"antd\";\r\nimport { ReportTemplateSelectByReportID } from \"../../../Services/ReportService\";\r\ninterface Props {\r\n visibleCreateControl: boolean;\r\n setVisibleCreateControl: any;\r\n itemIdx: number;\r\n layoutIdx: number;\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n layoutLength: any;\r\n}\r\ninterface SelectedTemplateRef {\r\n docref: string[];\r\n}\r\n\r\nexport default function ModalCreateComponents(props: Props) {\r\n const itemsControlLabel = [\r\n { RefDocLabel: \"Document No\", value: \"DocumentNo\" },\r\n { RefDocLabel: \"Document Amount\", value: \"DocumentAmount\" },\r\n { RefDocLabel: \"Creator Employee Code\", value: \"CreatorEmployeeCode\" },\r\n { RefDocLabel: \"Creator Employee Name\", value: \"CreatorEmployeeName\" },\r\n {\r\n RefDocLabel: \"Creator Employee Position\",\r\n value: \"CreatorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Division\",\r\n value: \"CreatorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Department\",\r\n value: \"CreatorEmployeeDepartment\",\r\n },\r\n { RefDocLabel: \"Creator Employee Email\", value: \"CreatorEmployeeEmail\" },\r\n {\r\n RefDocLabel: \"Requestor Employee Code\",\r\n value: \"RequestorEmployeeCode\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Name\",\r\n value: \"RequestorEmployeeName\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Position\",\r\n value: \"RequestorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Division\",\r\n value: \"RequestorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Department\",\r\n value: \"RequestorEmployeeDepartment\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Email\",\r\n value: \"RequestorEmployeeEmail\",\r\n },\r\n {\r\n RefDocLabel: \"Information Document Status\",\r\n value: \"InformationDocumentStatus\",\r\n },\r\n {\r\n RefDocLabel: \"Information Form Category\",\r\n value: \"InformationFormCategory\",\r\n },\r\n { RefDocLabel: \"Information Form Name\", value: \"InformationFormName\" },\r\n {\r\n RefDocLabel: \"Information RequestDate\",\r\n value: \"InformationRequestDate\",\r\n },\r\n { RefDocLabel: \"Information Company\", value: \"InformationCompany\" },\r\n { RefDocLabel: \"Information Branch\", value: \"InformationBranch\" },\r\n { RefDocLabel: \"Information Subject\", value: \"InformationSubject\" },\r\n { RefDocLabel: \"Information Project\", value: \"InformationProject\" },\r\n ];\r\n const displayCheckBox = [\r\n { name: \"Heading\", code: \"N\" },\r\n { name: \"Text\", code: \"Y\" },\r\n ];\r\n\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const [selected, setSelected] = useState(\"\");\r\n const [component, setComponent] = useState();\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n const userData = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const [loading, setLoading] = useState(true);\r\n //checkbox-dropdown editor table\r\n const [itemsList, setItemsList] = useState({ items: [] });\r\n const [displayDropdown, setDisplayDropdown] = useState();\r\n const [fromRender, setFromRender] = useState(\"control\");\r\n const [richText, setRichText] = useState({});\r\n const [checkBoxHeading, setCheckBoxHeading] = useState({\r\n name: \"Heading\",\r\n code: \"N\",\r\n });\r\n const [attributeNumber, setAttributeNumber] = useState({\r\n formats: [],\r\n });\r\n const [revisionConditions, setRevisionConditions] = useState({\r\n conditions: [],\r\n });\r\n\r\n //table\r\n const [attributeColumn, setAttributeColumn] = useState({ column: [] });\r\n const [footerTable, setFooterTable] = useState({ rows: [] });\r\n const [mergeColumnRefDoc, setMergeColumnRefDoc] = useState({\r\n columnRefDoc: [],\r\n });\r\n const [docDataSource, setDocDataSource] = useState({\r\n docDataSource: {},\r\n });\r\n const [selectedReportRef, setSelectedReportRef] = useState({\r\n docReport: {},\r\n });\r\n const [selectedTemplateRef, setSelectedTemplateRef] = useState({\r\n docref: [],\r\n });\r\n const [selectedDocControlTemplate, setSelectedDocControlTemplate] =\r\n useState({\r\n docNewDoc: [],\r\n docEditDoc: [],\r\n docCancelDoc: [],\r\n });\r\n const [defaultConfigColumn, setDefaultConfigColumn] = useState([]);\r\n const [conditions, setConditions] = useState({ conditionrefdoc: [] });\r\n const [attributeButton, setAttributeButton] = useState({ items: [] });\r\n const [uploadFileState, setUploadFileState] = useState();\r\n\r\n const {\r\n control,\r\n formState: { errors },\r\n getValues,\r\n setValue,\r\n handleSubmit,\r\n } = useForm({\r\n mode: \"onBlur\",\r\n });\r\n useEffect(() => {\r\n setLoading(true);\r\n setFromRender(\"control\");\r\n checkType();\r\n }, []);\r\n\r\n useEffect(() => {\r\n renderComponent();\r\n }, [\r\n selected,\r\n itemsList,\r\n revisionConditions,\r\n attributeColumn,\r\n attributeNumber,\r\n mergeColumnRefDoc,\r\n docDataSource,\r\n selectedReportRef,\r\n selectedTemplateRef,\r\n conditions,\r\n props.advanceForm,\r\n attributeButton,\r\n uploadFileState,\r\n footerTable,\r\n selectedDocControlTemplate,\r\n defaultConfigColumn,\r\n checkBoxHeading,\r\n ]);\r\n const checkType = () => {\r\n let _itemsLength = props.advanceForm.items[props.itemIdx].layout.length;\r\n let _templatesDes =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].template;\r\n let _data =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].data;\r\n if (_templatesDes.type === \"em\") {\r\n setCheckAction(\"add\");\r\n addFunction();\r\n if (props.layoutLength === 1) {\r\n setSelected(\"1\");\r\n } else if (props.layoutLength === 2) {\r\n setSelected(\"2\");\r\n }\r\n setLoading(false);\r\n } else {\r\n setCheckAction(\"edit\");\r\n checkActionButton(_templatesDes.type, _templatesDes, _data, _itemsLength);\r\n }\r\n };\r\n function addFunction() {\r\n setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: \"Template\",\r\n }));\r\n }\r\n const checkActionButton = async (\r\n dataType: any,\r\n templatesDes: any,\r\n data: any,\r\n _itemsLength: any\r\n ) => {\r\n if (dataType === \"l\") {\r\n defaultCheckBoxHeading(templatesDes);\r\n setSelected(\"1\");\r\n } else if (dataType === \"t\") {\r\n setSelected(\"2\");\r\n } else if (dataType === \"ta\") {\r\n setSelected(\"3\");\r\n } else if (dataType === \"c\") {\r\n setSelected(\"4\");\r\n } else if (dataType === \"d\") {\r\n setSelected(\"5\");\r\n } else if (dataType === \"r\") {\r\n setSelected(\"6\");\r\n } else if (dataType === \"cb\") {\r\n setSelected(\"7\");\r\n } else if (dataType === \"dd\") {\r\n setSelected(\"8\");\r\n } else if (dataType === \"tb\") {\r\n await defaultValueReportTable(templatesDes);\r\n await defaultValueTemplateTable(templatesDes);\r\n await defaultValueFooterTable(templatesDes);\r\n await defaultValueConfigColumnTable(templatesDes);\r\n setSelected(\"9\");\r\n } else if (dataType === \"ed\") {\r\n setSelected(\"10\");\r\n } else if (dataType === \"at\") {\r\n setUploadFileState(data.value);\r\n setSelected(\"11\");\r\n } else if (dataType === \"im\") {\r\n setUploadFileState(data.value);\r\n setSelected(\"12\");\r\n } else if (dataType === \"bt\") {\r\n setAttributeButton((prevState: any) => ({\r\n ...prevState,\r\n items: [...templatesDes.attribute.items],\r\n }));\r\n setSelected(\"13\");\r\n } else if (dataType === \"an\") {\r\n setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [...templatesDes.attribute.formats],\r\n }));\r\n setSelected(\"14\");\r\n } else if (dataType === \"rvs\") {\r\n if (templatesDes.attribute?.conditions) {\r\n setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [...templatesDes.attribute.conditions],\r\n }));\r\n }\r\n setSelected(\"15\");\r\n } else {\r\n if (_itemsLength === 1) {\r\n setSelected(\"1\");\r\n } else {\r\n setSelected(\"2\");\r\n }\r\n }\r\n setLoading(false);\r\n };\r\n const defaultCheckBoxHeading = (templatesDes: any) => {\r\n if (templatesDes.istext === \"Y\") {\r\n setCheckBoxHeading(displayCheckBox[1]);\r\n } else if (templatesDes.istext === \"N\") {\r\n setCheckBoxHeading(displayCheckBox[0]);\r\n }\r\n };\r\n const defaultValueReportTable = async (templatesDes: any) => {\r\n setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [...templatesDes.attribute.column],\r\n }));\r\n if (templatesDes.attribute?.mergecolumnrefdoc) {\r\n setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...templatesDes.attribute.mergecolumnrefdoc],\r\n }));\r\n }\r\n if (templatesDes.attribute?.conditionrefdoc) {\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc: templatesDes.attribute.conditionrefdoc,\r\n }));\r\n }\r\n if (templatesDes.attribute?.refdoc?.docDataSource) {\r\n setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: templatesDes.attribute.refdoc.docDataSource,\r\n }));\r\n let _dataReportTemplate = await ReportTemplateList();\r\n var response = _dataReportTemplate.filter(\r\n (x: { ReportTemplateId: string }) =>\r\n x.ReportTemplateId.toString() ===\r\n templatesDes.attribute.refdoc.docReport\r\n );\r\n setSelectedReportRef((prevState: any) => ({\r\n ...prevState,\r\n docReport: response[0] || [],\r\n }));\r\n }\r\n };\r\n const defaultValueTemplateTable = async (templatesDes: any) => {\r\n if (templatesDes.attribute?.refdoc?.docref?.length >= 1) {\r\n console.log(\"refdoc\", templatesDes.attribute.refdoc.docref);\r\n let _dataTemplate = await GetAllByCreateTemplate();\r\n let _template: any[] = [];\r\n for (let i = 0; i < templatesDes.attribute?.refdoc.docref.length; i++) {\r\n const docRef = templatesDes.attribute.refdoc.docref[i];\r\n\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n console.log(\"tempp\", template);\r\n // template id\r\n\r\n if (docRef.id == template.DocumentCode) {\r\n _template.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docRef: _template,\r\n }));\r\n setDefaultValueDocControl(templatesDes, _dataTemplate);\r\n }\r\n };\r\n const defaultValueFooterTable = (templatesDes: any) => {\r\n if (templatesDes.attribute?.footerTable) {\r\n setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: [...templatesDes.attribute?.footerTable.rows],\r\n }));\r\n }\r\n };\r\n const defaultValueConfigColumnTable = async (templatesDes: any) => {\r\n let mapper: any = [];\r\n console.log(templatesDes.attribute?.refdoc?.docref, \"response1\");\r\n console.log(templatesDes.attribute?.refdoc?.docDataSource, \"response2\");\r\n\r\n if (templatesDes.attribute?.refdoc?.docDataSource === \"Report\") {\r\n let array: any[] = [];\r\n const reportId = parseInt(templatesDes.attribute?.refdoc?.docReport);\r\n const response = await ReportTemplateSelectByReportID(reportId);\r\n console.log(response, \"response\");\r\n let selectedFieldList = response.Selectedfieldlist;\r\n for (let i = 0; i < selectedFieldList.length; i++) {\r\n const element = selectedFieldList[i];\r\n array.push({\r\n value: element.key,\r\n RefDocLabel: element.label,\r\n });\r\n }\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n console.log(_data, \"_data\");\r\n setDefaultConfigColumn([..._data]);\r\n } else if (\r\n templatesDes.attribute?.refdoc?.docref > 0 &&\r\n templatesDes.attribute?.refdoc?.docDataSource === \"Template\"\r\n ) {\r\n templatesDes.attribute?.refdoc?.docref?.map(\r\n (item: any, index: number) => {\r\n console.log(\"tem\", item);\r\n\r\n if (item?.AdvanceForm) {\r\n mapper.push({\r\n AdvanceForm: JSON.parse(item?.AdvanceForm),\r\n DocumentCode: item.DocumentCode,\r\n });\r\n }\r\n }\r\n );\r\n let array: any = [];\r\n mapper.map((item: any, i: number) => {\r\n item.AdvanceForm.items.map((_data: any, j: number) => {\r\n _data.layout.map((_dataLayout: any, k: number) => {\r\n if (_dataLayout.template.label) {\r\n array.push({\r\n value: item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n RefDocLabel:\r\n item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n setDefaultConfigColumn([..._data]);\r\n } else {\r\n const _data = itemsControlLabel;\r\n setDefaultConfigColumn([..._data]);\r\n }\r\n };\r\n const setDefaultValueDocControl = async (\r\n templatesDes: any,\r\n _dataTemplate: any\r\n ) => {\r\n //docNewDoc\r\n if (templatesDes.attribute?.refdoc?.docNewDoc) {\r\n let _newDoc: any[] = [];\r\n const docNewDocArray =\r\n templatesDes.attribute?.refdoc?.docNewDoc?.split(\",\");\r\n for (let i = 0; i < docNewDocArray.length; i++) {\r\n const newDoc = docNewDocArray[i];\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n if (newDoc == template.DocumentCode) {\r\n _newDoc.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docNewDoc: _newDoc,\r\n }));\r\n }\r\n //docEditDoc\r\n if (templatesDes.attribute?.refdoc?.docEditDoc) {\r\n let _docEditDoc: any[] = [];\r\n const docEditDocArray =\r\n templatesDes.attribute?.refdoc?.docEditDoc?.split(\",\");\r\n for (let i = 0; i < docEditDocArray.length; i++) {\r\n const docEditDoc = docEditDocArray[i];\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n if (docEditDoc == template.DocumentCode) {\r\n _docEditDoc.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docEditDoc: _docEditDoc,\r\n }));\r\n }\r\n //docCancelDoc\r\n if (templatesDes.attribute?.refdoc?.docCancelDoc) {\r\n let _docCancelDoc: any[] = [];\r\n const docCancelDocArray =\r\n templatesDes.attribute?.refdoc?.docCancelDoc?.split(\",\");\r\n for (let i = 0; i < docCancelDocArray.length; i++) {\r\n const docCancelDoc = docCancelDocArray[i];\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n if (docCancelDoc == template.DocumentCode) {\r\n _docCancelDoc.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docCancelDoc: _docCancelDoc,\r\n }));\r\n }\r\n };\r\n const requestData = (\r\n templates: any,\r\n itemIdx: number,\r\n layoutIdx: number,\r\n _data?: any\r\n ) => {\r\n let _templates = templates;\r\n let _advanceForm = props.advanceForm;\r\n _advanceForm.items[itemIdx].layout[layoutIdx].template = _templates;\r\n _advanceForm.items[itemIdx].layout[layoutIdx].data = _data;\r\n props.setAdvanceForm(_advanceForm);\r\n };\r\n const requestDataToLayout = (\r\n layout: any,\r\n itemIdx: number,\r\n layoutIdx: number\r\n ) => {\r\n let _layout = layout;\r\n let _advanceForm = props.advanceForm;\r\n _advanceForm.items[itemIdx].layout[layoutIdx] = _layout;\r\n props.setAdvanceForm(_advanceForm);\r\n };\r\n\r\n const updateChanges = async (data: any) => {\r\n let checkUnique: boolean = false;\r\n\r\n if (fromRender !== \"control\") {\r\n return;\r\n }\r\n if (itemsList.items.length === 0) {\r\n if (selected === \"6\" || selected === \"7\" || selected === \"8\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n }\r\n if (props.advanceForm.items?.length >= 1) {\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index2: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n if (_dataLayout.template.type !== \"em\") {\r\n if (\r\n _dataLayout.template.label === data.label &&\r\n _dataLayout.template.label !==\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx]\r\n .template.label\r\n ) {\r\n if (!data.description) {\r\n checkUnique = true;\r\n }\r\n } else if (checkAction === \"edit\") {\r\n if (\r\n selected === \"2\" ||\r\n selected === \"4\" ||\r\n selected === \"7\" ||\r\n selected === \"8\"\r\n ) {\r\n if (\r\n data.description ===\r\n _dataLayout.template.attribute?.description &&\r\n _dataLayout.template.label === data.label &&\r\n props.advanceForm.items[props.itemIdx].layout[\r\n props.layoutIdx\r\n ].guid !== _dataLayout.guid\r\n ) {\r\n checkUnique = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n if (checkUnique) {\r\n toggleAlert({\r\n description: `Duplicate information in label.\\n please input field description.`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n\r\n if (selected === \"1\") {\r\n console.log(data, \"dataRequest\");\r\n const dataRequest = {\r\n type: \"l\",\r\n label: data.labelHeading || \"\",\r\n alter: data.alter || \"\",\r\n istext: checkBoxHeading.code,\r\n textvalue: data.textvalue || \"\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n };\r\n\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"2\") {\r\n const dataRequest = {\r\n type: \"t\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length.toString(),\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"3\") {\r\n const dataRequest = {\r\n type: \"ta\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length.toString(),\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"4\") {\r\n const dataRequest = {\r\n type: \"c\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n formula: data.formula,\r\n description: data.description,\r\n decimal: data.decimal.toString(),\r\n default: data.default,\r\n align: data.align ? \"l\" : \"r\",\r\n min: data.min.toString(),\r\n max: data.max.toString(),\r\n useComma: data.useComma ? \"Y\" : \"N\",\r\n symbol: data.symbolNumber,\r\n symbolPosition: data.symbolPosition ? \"B\" : \"E\",\r\n summary: data.summary ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"5\") {\r\n const dataRequest = {\r\n type: \"d\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n // test\r\n default: data.default,\r\n defaultType: data.defaultType,\r\n date: {\r\n use: \"Y\",\r\n useDate: \"Y\",\r\n fullYear: \"Y\",\r\n symbol: data.symbol,\r\n },\r\n time: {\r\n use: \"N\",\r\n useSecond: \"N\",\r\n symbol: \":\",\r\n },\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"6\") {\r\n const dataRequest = {\r\n type: \"r\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n items: itemsList.items,\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"7\") {\r\n const dataRequest = {\r\n type: \"cb\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n display: displayDropdown?.code,\r\n items: itemsList.items,\r\n },\r\n };\r\n const defaultDataValue = {\r\n value: null,\r\n item: [],\r\n };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"8\") {\r\n const dataRequest = {\r\n type: \"dd\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.description,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n items: itemsList.items,\r\n },\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"9\") {\r\n //functionCheckInputWidth\r\n // let checkWidthInTableDoNotHas: boolean = false;\r\n // let checkWidthInTableHasValue: boolean = false;\r\n // console.log(attributeColumn, \"_width\");\r\n\r\n // attributeColumn.column.map((_column: any) => {\r\n // if (\r\n // _column.control.template.attribute?.widthInTable === \"0\" ||\r\n // !_column.control.template.attribute?.widthInTable\r\n // ) {\r\n // checkWidthInTableDoNotHas = true;\r\n // } else {\r\n // checkWidthInTableHasValue = true;\r\n // }\r\n // });\r\n\r\n // if (checkWidthInTableHasValue && checkWidthInTableDoNotHas) {\r\n // checkWidthInTableDoNotHas = false;\r\n // attributeColumn.column.map((_column: any) => {\r\n // const _width = _column.control.template.attribute?.widthInTable || 0;\r\n // if (_width !== \"0\") {\r\n // checkWidthInTableHasValue = true;\r\n // }\r\n // });\r\n\r\n // if (checkWidthInTableHasValue) {\r\n // toggleAlert({\r\n // description: `Please fill in all required width fields.`,\r\n // message: `Width field warning.`,\r\n // type: \"warning\",\r\n // });\r\n // return;\r\n // }\r\n // }\r\n const dataRequest = {\r\n type: \"tb\",\r\n label: data.label,\r\n alter: data.alter,\r\n formula: data.formula,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n canImport: data.canImport ? \"Y\" : \"N\",\r\n attribute: {\r\n column: attributeColumn.column,\r\n enabledpopupdefdoc: data.enabledpopupdefdoc ? \"Y\" : \"N\",\r\n mergecolumnrefdoc: mergeColumnRefDoc?.columnRefDoc || [],\r\n conditionrefdoc: conditions?.conditionrefdoc,\r\n refdoc: {\r\n doccontrol:\r\n docDataSource.docDataSource === \"Template\"\r\n ? data.doccontrol\r\n : false,\r\n docDataSource: docDataSource?.docDataSource,\r\n docReport:\r\n docDataSource.docDataSource === \"Report\"\r\n ? selectedReportRef?.docReport?.ReportTemplateId?.toString() ||\r\n \"\"\r\n : \"\",\r\n docNewDoc:\r\n docDataSource.docDataSource === \"Template\"\r\n ? selectedDocControlTemplate?.docNewDoc\r\n .map((item: any) => {\r\n return item.TemplateId.toString();\r\n })\r\n .join(\",\") || \"\"\r\n : \"\",\r\n docEditDoc:\r\n docDataSource.docDataSource === \"Template\"\r\n ? selectedDocControlTemplate?.docEditDoc\r\n .map((item: any) => {\r\n return item.TemplateId.toString();\r\n })\r\n .join(\",\") || \"\"\r\n : \"\",\r\n docCancelDoc:\r\n docDataSource.docDataSource === \"Template\"\r\n ? selectedDocControlTemplate?.docCancelDoc\r\n .map((item: any) => {\r\n return item.TemplateId.toString();\r\n })\r\n .join(\",\") || \"\"\r\n : \"\",\r\n docref:\r\n selectedTemplateRef?.docref?.map((data: any, idx: any) => {\r\n return {\r\n id: data.TemplateId.toString(),\r\n };\r\n }) || [],\r\n },\r\n footerTable: footerTable,\r\n autoRowNumber: \"Y\",\r\n },\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n };\r\n const defaultDataValue = {\r\n row: null,\r\n };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"10\") {\r\n const dataRequest = {\r\n template: {\r\n type: \"ed\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: \"\",\r\n height: data.height.toString(),\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: richText.value,\r\n },\r\n guid: generateQuickGuid(),\r\n };\r\n requestDataToLayout(dataRequest, props.itemIdx, props.layoutIdx);\r\n } else if (selected === \"11\") {\r\n const dataRequest = {\r\n type: \"at\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.fileTypeFile,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n max: data.maxFile.toString(),\r\n },\r\n };\r\n let defValue: any = null;\r\n if (uploadFileState) {\r\n defValue = uploadFileState;\r\n }\r\n const defaultDataValue = { value: defValue };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"12\") {\r\n const dataRequest = {\r\n type: \"im\",\r\n label: data.label,\r\n alter: data.alter,\r\n fileType: data.fileTypeImage,\r\n attribute: {\r\n maxFile: data.maxFile.toString(),\r\n width: data.width?.toString() || \"\",\r\n height: data.height?.toString() || \"\",\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n let defValue: any = null;\r\n if (uploadFileState) {\r\n defValue = uploadFileState;\r\n }\r\n const defaultDataValue = { value: defValue };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"13\") {\r\n const dataRequest = {\r\n type: \"bt\",\r\n label: data.label,\r\n alter: data.textButton,\r\n URL: data.url,\r\n attribute: {\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n items: attributeButton.items,\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"14\") {\r\n const dataRequest = {\r\n type: \"an\",\r\n label: data.label,\r\n alter: data.alter,\r\n digit: data.digit.toString(),\r\n attribute: {\r\n formats: attributeNumber.formats,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"15\") {\r\n const dataRequest = {\r\n type: \"rvs\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n digit: data.digit.toString(),\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n conditions: revisionConditions.conditions,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n }\r\n props.setVisibleCreateControl(false);\r\n };\r\n\r\n const renderComponent = () => {\r\n let _template =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].template;\r\n let _data =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].data;\r\n\r\n if (selected === \"1\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"2\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"3\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"4\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"5\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"6\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"7\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"8\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"9\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"10\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"11\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"12\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"13\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"14\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"15\") {\r\n setComponent(\r\n \r\n );\r\n }\r\n };\r\n const handleKeyDown = (event: any, callback: any) => {\r\n if (selected === \"1\" || selected === \"3\") {\r\n return;\r\n } else if (event.key === \"Enter\" && event.shiftKey === false) {\r\n event.preventDefault();\r\n callback(handleSubmit);\r\n }\r\n };\r\n return (\r\n <>\r\n <>\r\n \r\n {props.visibleCreateControl && (\r\n \r\n props.setVisibleCreateControl(!props.visibleCreateControl)\r\n }\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n // footer\r\n >\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n handleKeyDown(e, handleSubmit);\r\n }}\r\n >\r\n
{component}
\r\n\r\n
\r\n props.setVisibleCreateControl(false)}\r\n className=\"hover-color-css-white-3 p-button-outlined\"\r\n icon=\"pi pi-times-circle\"\r\n />\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState } from \"react\";\r\n// import \"tinymce/tinymce\";\r\n// import tinymce from \"tinymce/tinymce\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\nimport \"./TinyMceComponent.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { UploadTinyMce } from \"../../Services/UploadFileService\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\n\r\ninterface Props {\r\n setTextFromValue: any;\r\n textFromValue: any;\r\n}\r\n\r\nfunction TinyMceComponent(props: Props) {\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n let _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const _tinyURL = _userData.TinyURL;\r\n const [loadingTextFromValue, setLoadingTextFromValue] =\r\n useState(true);\r\n\r\n const handleEditorChange = (content: any, editor: any) => {\r\n props.setTextFromValue(content);\r\n };\r\n return (\r\n
\r\n {loadingTextFromValue && (\r\n
\r\n \r\n
\r\n )}\r\n {\r\n setLoadingTextFromValue(false);\r\n }}\r\n init={{\r\n // selector: \"textarea#file-picker\",\r\n statusbar: false,\r\n paste_data_images: false,\r\n menubar: false,\r\n content_css: false,\r\n // auto_focus: \"elm1\",\r\n height: 500,\r\n fullscreen_native: true,\r\n remove_script_host: false,\r\n relative_urls: false,\r\n image_title: true,\r\n automatic_uploads: true,\r\n image_sourcetab: false,\r\n image_advtab: false,\r\n plugins: [\r\n \"image code\",\r\n \"advlist autolink lists image charmap print preview hr anchor pagebreak\",\r\n \"searchreplace wordcount code fullscreen\",\r\n \"insertdatetime media nonbreaking save table contextmenu directionality\",\r\n \"emoticons template paste textcolor colorpicker textpattern imagetools image\",\r\n \"link\",\r\n ],\r\n toolbar1:\r\n \"insertfile undo redo | styleselect | fontselect | fontsizeselect | bold italic underline | forecolor backcolor | alignleft aligncenter alignright alignjustify | searchreplace | bullist numlist outdent indent | pagebreak | link table | image | fullscreen\",\r\n fontsize_formats: \"8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt\",\r\n font_formats:\r\n \"Angsana New=angsana new,times;\" +\r\n \"Arial=arial,helvetica,sans-serif;\" +\r\n \"Arial Black=arial black,avant garde;\" +\r\n \"Book Antiqua=book antiqua,palatino;\" +\r\n \"Comic Sans MS=comic sans ms,sans-serif;\" +\r\n \"Courier New=courier new,courier;\" +\r\n \"DB Sathorn X=DB Sathorn X;\" +\r\n \"Georgia=georgia,palatino;\" +\r\n \"Helvetica=helvetica;\" +\r\n \"Impact=impact,chicago;\" +\r\n \"Symbol=symbol;\" +\r\n \"Tahoma=tahoma,arial,helvetica,sans-serif;\" +\r\n \"Terminal=terminal,monaco;\" +\r\n \"Times New Roman=times new roman,times;\" +\r\n \"Trebuchet MS=trebuchet ms,geneva;\" +\r\n \"Verdana=verdana,geneva;\" +\r\n \"Webdings=webdings;\" +\r\n \"TH Sarabun=sarabun;\" +\r\n \"Leelawadee=Leelawadee;\" +\r\n \"Sukhumvit Set=Sukhumvit Set;\"+\r\n \"Wingdings=wingdings,zapf dingbats\",\r\n content_style:\r\n \"@import url('https://fonts.googleapis.com/css2?family=Sarabun&display=swap'); body { font-family: 'Sarabun', sans-serif; }\" +\r\n \"@import url('https://fonts.cdnfonts.com/css/leelawadee'); body { font-family: 'Leelawadee', sans-serif; }\",\r\n images_upload_handler: async function (blobInfo, success, failure) {\r\n var file = new File([blobInfo.blob()], blobInfo.filename(), {\r\n lastModified: Date.now(),\r\n });\r\n const formData = new FormData();\r\n const protocol = window.location.protocol;\r\n formData.append(\"file\", file);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"TinyImages\");\r\n formData.append(\"fileDesc\", \"\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n var response: any = await UploadTinyMce(formData);\r\n console.log(response, \"response\");\r\n if (response.data.result) {\r\n if (_sharepointSiteURL) {\r\n _sharepointSiteURL =\r\n _sharepointSiteURL.charAt(0) === \"/\"\r\n ? _sharepointSiteURL.substring(1)\r\n : _sharepointSiteURL;\r\n success(_sharepointSiteURL + \"/\" + response.data.pathUrl);\r\n } else {\r\n success(`${protocol}//` + _tinyURL + response.data.pathUrl);\r\n }\r\n } else {\r\n failure(response.data.pathUrl);\r\n }\r\n },\r\n }}\r\n value={props.textFromValue}\r\n onEditorChange={handleEditorChange}\r\n />\r\n
\r\n );\r\n}\r\n\r\nexport default TinyMceComponent;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./FormSettingComponent.css\";\r\nimport { Row, Col } from \"antd\";\r\nimport { DragDropContext, Droppable, Draggable } from \"react-beautiful-dnd\";\r\n\r\nimport Column1 from \"../../../assets/ImageAddControl/Column1.svg\";\r\nimport Column2 from \"../../../assets/ImageAddControl/Column2.svg\";\r\nimport Field from \"../../../assets/ImageAddControl/Field.svg\";\r\nimport FluentText from \"../../../assets/ImageAddControl/FluentText.svg\";\r\n\r\nimport ModalCreateComponents from \"../../CreateControlComponents/ModalCreateComponents/ModalCreateComponents\";\r\nimport { Button as ButtonComponent } from \"../../../components/Button/Button\";\r\nimport { Button } from \"primereact/button\";\r\nimport ButtonForm from \"../../ButtonForm/ButtonForm\";\r\nimport { AiOutlineNumber, AiOutlinePlus } from \"react-icons/ai\";\r\n\r\nimport iconsDelete from \"../../../assets/ImageAddControl/ImageActionAddControl/iconsDelete.svg\";\r\nimport iconsCopy from \"../../../assets/ImageAddControl/ImageActionAddControl/iconsCopy.svg\";\r\nimport iconsEdit from \"../../../assets/ImageAddControl/ImageActionAddControl/iconsEdit.svg\";\r\nimport {\r\n BsFileEarmarkRichtext,\r\n BsFileEarmarkText,\r\n BsFileFont,\r\n BsSortNumericDown,\r\n BsTable,\r\n BsTrash,\r\n BsX,\r\n} from \"react-icons/bs\";\r\nimport { BiCopyAlt, BiText, BiTimeFive } from \"react-icons/bi\";\r\nimport { FaHeading, FaRegImage, FaRegListAlt } from \"react-icons/fa\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport { CgPlayButtonO } from \"react-icons/cg\";\r\nimport TinyMceComponent from \"../../TinyMceComponent/TinyMceComponent\";\r\ntype Props = {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n textFromValue: any;\r\n setTextFromValue: any;\r\n setViewManageComponent: any;\r\n viewManageComponent: any;\r\n setControlModel: any;\r\n};\r\n\r\nconst FormSettingComponent = (props: Props) => {\r\n const [viewModalControl, setViewModalControl] = useState(false);\r\n\r\n const [itemIdx, setItemsIdx] = useState();\r\n const [layoutIdx, setLayoutIdx] = useState();\r\n const [layoutLength, setLayoutLength] = useState();\r\n\r\n const column1: any = {\r\n layout: [\r\n {\r\n template: {\r\n alter: \"\",\r\n label: \"\",\r\n type: \"em\",\r\n attribute: {\r\n require: \"\",\r\n description: \"\",\r\n length: \"\",\r\n default: \"\",\r\n },\r\n },\r\n data: { value: null },\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n };\r\n const column2: any = {\r\n items: {\r\n layout: [\r\n {\r\n template: {\r\n alter: \"\",\r\n label: \"\",\r\n type: \"em\",\r\n attribute: {\r\n require: \"\",\r\n description: \"\",\r\n length: \"\",\r\n default: \"\",\r\n },\r\n },\r\n data: { value: null },\r\n guid: generateQuickGuid(),\r\n },\r\n {\r\n template: {\r\n alter: \"\",\r\n label: \"\",\r\n type: \"em\",\r\n attribute: {\r\n require: \"\",\r\n description: \"\",\r\n length: \"\",\r\n default: \"\",\r\n },\r\n },\r\n data: { value: null },\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n },\r\n };\r\n function findUnique(str: string, data: any) {\r\n var uniq = str;\r\n data.map((_dataLayout: any, index: number) => {\r\n _dataLayout.layout.map((_data: any, index: number) => {\r\n if (_data.template.label != undefined) {\r\n if (_data.template.type !== \"em\") {\r\n if (_data.template.label.includes(str)) {\r\n uniq = uniq + \"-copy\";\r\n console.log(str);\r\n console.log(_data.template.label);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n return uniq;\r\n }\r\n\r\n function copyLayout(itemIdx: number, layoutIdx: number, data: any) {\r\n let _components = props.advanceForm.items;\r\n if (_components[itemIdx].layout.length == 1) {\r\n var unique = findUnique(\r\n _components[itemIdx].layout[0].template.label,\r\n props.advanceForm.items\r\n );\r\n const newCol1: any = {\r\n layout: [\r\n {\r\n template: {\r\n ...data.layout[0].template,\r\n label: unique,\r\n },\r\n data: data.layout[0].data,\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n };\r\n _components.splice(itemIdx + 1, 0, newCol1);\r\n } else if (_components[itemIdx].layout.length == 2) {\r\n var unique1 = findUnique(\r\n _components[itemIdx].layout[0].template.label,\r\n props.advanceForm.items\r\n );\r\n var unique2 = findUnique(\r\n _components[itemIdx].layout[1].template.label,\r\n props.advanceForm.items\r\n );\r\n const newCol2: any = {\r\n layout: [\r\n {\r\n template: {\r\n ...data.layout[0].template,\r\n label: unique1,\r\n },\r\n data: data.layout[0].data,\r\n guid: generateQuickGuid(),\r\n },\r\n {\r\n template: {\r\n ...data.layout[1].template,\r\n label: unique2,\r\n },\r\n data: data.layout[1].data,\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n };\r\n _components.splice(itemIdx + 1, 0, newCol2);\r\n }\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n\r\n function deleteLayout(itemIdx: number, layoutIdx: number) {\r\n let _components = props.advanceForm.items;\r\n _components.splice(itemIdx, 1);\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n\r\n function deleteControl(itemIdx: number, layoutIdx: number, data: any) {\r\n let _components = props.advanceForm.items;\r\n _components[itemIdx].layout[layoutIdx].template = {};\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n\r\n const reorder = (list: any, startIndex: any, endIndex: any) => {\r\n const result = Array.from(list);\r\n\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result;\r\n };\r\n const onDragEnd = (result: any) => {\r\n let _components = props.advanceForm.items;\r\n if (!result.destination) {\r\n return;\r\n }\r\n const items = reorder(\r\n _components,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [...items],\r\n }));\r\n };\r\n\r\n function renderIconShowCreateControl(dataType: any) {\r\n if (dataType === \"l\") {\r\n return (\r\n <>\r\n \r\n Heading\r\n \r\n );\r\n } else if (dataType === \"t\") {\r\n return (\r\n <>\r\n \r\n ShortText\r\n \r\n );\r\n } else if (dataType === \"ta\") {\r\n return (\r\n <>\r\n \r\n MultiLine\r\n \r\n );\r\n } else if (dataType === \"c\") {\r\n return (\r\n <>\r\n \r\n Number\r\n \r\n );\r\n } else if (dataType === \"d\") {\r\n return (\r\n <>\r\n \r\n Calendar\r\n \r\n );\r\n } else if (dataType === \"r\") {\r\n return (\r\n <>\r\n \r\n Choice\r\n \r\n );\r\n } else if (dataType === \"cb\") {\r\n return (\r\n <>\r\n \r\n \r\n MultiChoice\r\n \r\n \r\n );\r\n } else if (dataType === \"dd\") {\r\n return (\r\n <>\r\n \r\n Dropdown\r\n \r\n );\r\n } else if (dataType === \"tb\") {\r\n return (\r\n <>\r\n \r\n Table\r\n \r\n );\r\n } else if (dataType === \"ed\") {\r\n return (\r\n <>\r\n \r\n Rich Text\r\n \r\n );\r\n } else if (dataType === \"at\") {\r\n return (\r\n <>\r\n \r\n Attachment\r\n \r\n );\r\n } else if (dataType === \"bt\") {\r\n return (\r\n <>\r\n \r\n \r\n Button\r\n \r\n \r\n );\r\n } else if (dataType === \"an\") {\r\n return (\r\n <>\r\n \r\n \r\n AutoNumber\r\n \r\n \r\n );\r\n } else if (dataType === \"rvs\") {\r\n return (\r\n <>\r\n \r\n Revision\r\n \r\n );\r\n } else if (dataType === \"im\") {\r\n return (\r\n <>\r\n \r\n Image\r\n \r\n );\r\n }\r\n }\r\n function truncate(str: any, no_words: any) {\r\n return str.split(\" \").splice(0, no_words).join(\" \");\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n console.log(props.advanceForm, \"ControlModel\");\r\n }}\r\n >\r\n
\r\n {\r\n props.setViewManageComponent(\"1\");\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: { ...prevState.templateForm, IsTextForm: false },\r\n }));\r\n }}\r\n >\r\n Field\r\n \r\n\r\n {\r\n props.setViewManageComponent(\"2\");\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: { ...prevState.templateForm, IsTextForm: true },\r\n }));\r\n }}\r\n >\r\n Text\r\n \r\n
\r\n {props.viewManageComponent == \"1\" && (\r\n
\r\n {props.advanceForm.items.length === 0 ? (\r\n
\r\n

Please Add Column

\r\n
\r\n ) : (\r\n <>\r\n \r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {props.advanceForm.items.map((data: any, idx: any) => (\r\n {\r\n setLayoutLength(data.layout.length);\r\n }}\r\n >\r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {data.layout.map((_data: any, idx2: any) => (\r\n \r\n {_data.template.label ? (\r\n
\r\n \r\n deleteControl(idx, idx2, data)\r\n }\r\n >\r\n \r\n

\r\n
\r\n ) : (\r\n <>\r\n )}\r\n\r\n
\r\n \r\n copyLayout(idx, idx2, data)\r\n }\r\n >\r\n \r\n

\r\n \r\n deleteLayout(idx, idx2)\r\n }\r\n >\r\n \r\n

\r\n
\r\n {\r\n setItemsIdx(idx);\r\n setLayoutIdx(idx2);\r\n setViewModalControl(true);\r\n }}\r\n >\r\n {_data.template?.type &&\r\n _data.template?.type != \"em\" ? (\r\n
\r\n
\r\n \r\n {/* {_data.template.label ? (\r\n _data.template.label\r\n ) : (\r\n \r\n )} */}\r\n\r\n {_data.template.textvalue ? (\r\n truncate(\r\n _data.template.textvalue,\r\n 3\r\n )\r\n ) : _data.template.label ? (\r\n _data.template.label\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {_data.template.textvalue\r\n ? \"\"\r\n : _data.template.alter\r\n ? ` / ${_data.template.alter}`\r\n : \"\"}\r\n {/* {_data.template.alter\r\n ? ` / ${_data.template.alter}`\r\n : \"\"} */}\r\n \r\n
\r\n
\r\n
\r\n {renderIconShowCreateControl(\r\n _data.template.type\r\n )}\r\n
\r\n
\r\n
\r\n ) : (\r\n

\r\n \r\n Add Control\r\n

\r\n )}\r\n
\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n ))}\r\n {provided.placeholder}\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n\r\n {props.viewManageComponent == \"1\" && (\r\n
\r\n {\r\n let col = props.advanceForm.items;\r\n col.push(column1);\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [...col],\r\n }));\r\n }}\r\n className=\"set-bg-bttn-glass hover-color-css\"\r\n >\r\n Column1\r\n \r\n {\r\n let col = props.advanceForm.items;\r\n col.push(column2.items);\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [...col],\r\n }));\r\n }}\r\n className=\"set-bg-bttn-glass hover-color-css\"\r\n >\r\n Column2\r\n \r\n
\r\n )}\r\n {props.viewManageComponent == \"2\" && (\r\n \r\n )}\r\n \r\n {viewModalControl && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FormSettingComponent;\r\n","import { isEmptyObject } from \"jquery\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { IoCloseOutline, IoSaveOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport \"../../RequestComponents/InformationComponent/InformationComponent.css\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport Item from \"antd/lib/list/Item\";\r\n\r\ninterface Props {\r\n advanceForm: any;\r\n updateData: any;\r\n setDialogVisible: any;\r\n}\r\n\r\nfunction SelectCondition(props: Props) {\r\n const [selectedColumn, setSelectedColumn] = useState();\r\n const [options, setOptions] = useState([]);\r\n const [value, setValue] = useState();\r\n\r\n const [numCondition, setNumCondition] = useState();\r\n const [isMultiValue, setIsMultiValue] = useState(false);\r\n const [multiOptions, setMultiOptions] = useState([]);\r\n const [multiValues, setMultiValues] = useState();\r\n const [isCheckBox, setIsCheckBox] = useState(false);\r\n const num_conditions = [\r\n { label: \"Equal to (=)\", value: \"Equal_to\" },\r\n { label: \"Not equal (!=)\", value: \"Not_equal\" },\r\n { label: \"Greater-Than (>)\", value: \"Greater_Than\" },\r\n { label: \"Greater-Than or Equal to (>=)\", value: \"Greater_Than_or_Equal_\" },\r\n { label: \"Less-Than (<)\", value: \"Less_Than\" },\r\n { label: \"Less-Than or Equal to (<=)\", value: \"Less_Than_or_Equal_to\" },\r\n ];\r\n\r\n useEffect(() => {\r\n const advanceForm: any[] = props.advanceForm.items;\r\n let columns: any[] = [];\r\n advanceForm.map((item: any) => {\r\n item.layout.map((layout: any) => {\r\n if (\r\n layout.template.type !== \"l\" &&\r\n layout.template.type !== \"em\" &&\r\n layout.template.type !== \"tb\" &&\r\n !isEmptyObject(layout.template)\r\n ) {\r\n columns.push({ label: layout.template.label, control: layout });\r\n }\r\n });\r\n });\r\n setOptions(columns);\r\n }, []);\r\n\r\n useEffect(() => {\r\n try {\r\n if (selectedColumn !== undefined) {\r\n if (selectedColumn.control) {\r\n if (selectedColumn.control.template.attribute !== undefined) {\r\n if (selectedColumn.control.template.attribute.items !== undefined) {\r\n setIsMultiValue(true);\r\n if (selectedColumn.control.template.type === \"cb\"){\r\n setIsCheckBox(true);\r\n } else {\r\n setIsCheckBox(false);\r\n }\r\n setMultiOptions(selectedColumn.control.template.attribute.items);\r\n } else {\r\n setIsMultiValue(false);\r\n }\r\n } else {\r\n setIsMultiValue(false);\r\n }\r\n }\r\n }\r\n } catch (error) {}\r\n }, [selectedColumn]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setSelectedColumn(e.value);\r\n setMultiValues(null);\r\n }}\r\n filter\r\n showClear\r\n filterBy=\"label\"\r\n optionLabel=\"label\"\r\n options={options}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setValue(e.target.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": value !== undefined && value !== \"\" || (multiValues !== undefined && multiValues !== \"\" && multiValues !== null)? false : true,\r\n })}\r\n autoFocus\r\n />\r\n
\r\n
\r\n {selectedColumn?.control?.template?.type === \"c\" && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setNumCondition(e.value);\r\n }}\r\n filter\r\n showClear\r\n filterBy=\"label\"\r\n optionLabel=\"label\"\r\n options={num_conditions}\r\n />\r\n
\r\n
\r\n )}\r\n {isMultiValue && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {!isCheckBox && (\r\n {\r\n setMultiValues(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\":\r\n (value !== undefined && value !== \"\") || (multiValues !== undefined && multiValues !== \"\" && multiValues !== null)\r\n ? false\r\n : true,\r\n })}\r\n filter\r\n showClear\r\n filterBy=\"item\"\r\n optionLabel=\"item\"\r\n options={multiOptions}\r\n />\r\n )}\r\n {isCheckBox && (\r\n setMultiValues(\r\n e.value\r\n )} \r\n options={multiOptions} \r\n placeholder=\" ----- Select ----- \" \r\n className={classNames({\r\n \"p-invalid\":\r\n (value !== undefined && value !== \"\") || (multiValues !== undefined && multiValues !== \"\" && multiValues !== null)\r\n ? false\r\n : true,\r\n })}\r\n />\r\n )}\r\n
\r\n
\r\n )\r\n }\r\n
\r\n \r\n }\r\n onClickProps={() => props.setDialogVisible(false)}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n width: \"100px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n\r\n {\r\n let val: any;\r\n if (selectedColumn !== undefined) {\r\n if (value !== undefined && value !== \"\") {\r\n val = value;\r\n const data: any = {\r\n field: selectedColumn.label,\r\n value: val,\r\n };\r\n if (numCondition) {\r\n val = value;\r\n data.action = numCondition;\r\n }\r\n props.updateData(data, \"condition\");\r\n }\r\n\r\n if (multiValues) {\r\n if (multiValues.item) {\r\n val = multiValues.item;\r\n const data = {\r\n field: selectedColumn.label,\r\n value: val,\r\n };\r\n props.updateData(data, \"condition\");\r\n }\r\n else{\r\n let value = multiValues.map((item:any)=>{\r\n return item.item\r\n });\r\n let newValue = value.toString();\r\n const data = {\r\n field: selectedColumn.label,\r\n value: newValue,\r\n };\r\n props.updateData(data, \"condition\");\r\n }\r\n }\r\n }\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Save\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SelectCondition;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport \"../../RequestComponents/InformationComponent/InformationComponent.css\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { FilterMatchMode, FilterOperator } from \"primereact/api\";\r\nimport \"../ReferenceDocumentComponents/ReferenceDocumentComponents.css\";\r\nimport { Button } from \"antd\";\r\ninterface Props {\r\n name: string;\r\n dataKey: string;\r\n dataList: any;\r\n columns: any[];\r\n loading: boolean;\r\n setLoading: any;\r\n updateData: any;\r\n}\r\n\r\nfunction SelectDataFormTable(props: Props) {\r\n const [globalFilterValue1, setGlobalFilterValue1] = useState(\"\");\r\n const userData = JSON.parse(\r\n window.localStorage.getItem(\"userData\") || \"null\"\r\n );\r\n const [filters1, setFilters1] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [globalFilter, setGlobalFilter] = useState(\r\n Object.keys(props.dataList[0])\r\n );\r\n const [selectedData, setSelectedData] = useState([]);\r\n\r\n const dynamicColumns = props.columns.map((col: any) => {\r\n let field = \"\";\r\n if (userData.employeeData.Lang === \"EN\") {\r\n field = col.field.replace(\"Th\", \"En\");\r\n } else {\r\n field = col.field.replace(\"En\", \"Th\");\r\n }\r\n return ;\r\n });\r\n console.log(selectedData);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n const value = e.target.value;\r\n let _filters1 = { ...filters1 };\r\n _filters1[\"global\"].value = value;\r\n setFilters1(_filters1);\r\n setGlobalFilterValue1(value);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n // props.updateData(e.data);\r\n // }}\r\n onSelectionChange={(e) => {\r\n setSelectedData(e.value);\r\n }}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n {dynamicColumns}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n selectedData.forEach((e) => {\r\n props.updateData(e);\r\n });\r\n }}\r\n >\r\n Save\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default SelectDataFormTable;\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport SelectCondition from \"./SelectCondition\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport SelectDataFormTable from \"./SelectDataFormTable\";\r\nimport moment from \"moment\";\r\nimport { InputNumber, Radio, Select } from \"antd\";\r\nimport type { SelectProps } from \"antd\";\r\nimport { ReportListTemplateSelect } from \"../../../Services/ReportService\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\n\r\ninterface Props {\r\n control: any;\r\n advanceForm: any;\r\n getFormErrorMessage: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n rowData?: any;\r\n allApproveLength: number;\r\n positionList: any;\r\n matrixList: any;\r\n signatureList: any;\r\n approveSlot?: number;\r\n}\r\n\r\nexport default function AddMatrixForm(props: Props) {\r\n const [positionLevelOptions, setPositionLevelOptions] = useState([]);\r\n const [options, setOptions] = useState([]);\r\n const [matrixOptions, setMatrixOptions] = useState([]);\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [showDialogFootter, setShowDialogFootter] = useState(true);\r\n const [maxLevel, setMaxLevel] = useState();\r\n const [positionLevel, setPositionLevel] = useState();\r\n const [approvalMatrixDD, setApprovalMatrixDD] = useState();\r\n const [conditionsValue, setConditionsValue] = useState([]);\r\n const [specficApprovals, setSpecficApprovals] = useState([]);\r\n const [dialogTitle, setDialogTitle] = useState(\"\");\r\n const [dialogBody, setDialogBody] = useState();\r\n const [loadingSelectData, setLoadingSelectData] = useState(true);\r\n const [defSignatureID, setDefSignatureID] = useState(-1);\r\n const userData = JSON.parse((window as any).localStorage.getItem(\"userData\"));\r\n const [temSeq, setTemSeq] = useState(0);\r\n const [loc, setLoc] = useState(false);\r\n const [dtp, setDtp] = useState(false);\r\n const [doa, setDoa] = useState(false);\r\n const [spc, setSpc] = useState(false);\r\n const [isParallel, setIsParallel] = useState(false);\r\n const [parallelType, setParallelType] = useState(\"\");\r\n const [approveSlot, setApproveSlot] = useState();\r\n const [readHide, setReadHide] = useState();\r\n const [isRead, setIsRead] = useState(false);\r\n const [isHide, setIsHide] = useState(false);\r\n const [isNewReq, setIsNewReq] = useState(false);\r\n const [templateField, setTemplateField] = useState([]);\r\n const [templateSelected, setTemplateSelected] = useState([]);\r\n const [templateSelectedField, setTemplateSelectedField] = useState([]);\r\n\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n\r\n useEffect(() => {\r\n if (props.rowData !== undefined) {\r\n setDefValue(props.rowData);\r\n }\r\n }, [matrixOptions]);\r\n\r\n useEffect(() => {\r\n if (props.signatureList !== undefined) {\r\n console.log(\"signature\", props.signatureList);\r\n\r\n props.signatureList.map((e: any) => {\r\n if (e.seq == 1) {\r\n setDefSignatureID(e.masterId);\r\n } else if (e.value2 == \"Approved\") {\r\n setDefSignatureID(e.masterId);\r\n }\r\n });\r\n }\r\n }, [props.signatureList]);\r\n\r\n function setDefValue(rowData: any) {\r\n try {\r\n let conditions: any[] = [];\r\n if (\r\n rowData.Conditions !== undefined &&\r\n rowData.Conditions !== null &&\r\n rowData.Conditions !== \"\"\r\n ) {\r\n if (\r\n rowData.Conditions.Conditions !== undefined &&\r\n rowData.Conditions.Conditions !== null\r\n ) {\r\n rowData.Conditions.Conditions.map((con: any) => {\r\n conditions.push({\r\n field: con.field,\r\n value: con.value,\r\n });\r\n });\r\n setConditionsValue(conditions);\r\n }\r\n }\r\n if (\r\n rowData.ColumnJsonCondValue !== undefined &&\r\n rowData.ColumnJsonCondValue !== null &&\r\n rowData.ColumnJsonCondValue !== \"\"\r\n ) {\r\n let actionFeild = rowData.ColumnJsonCondValue.fieldaction;\r\n let isNewReq =\r\n rowData.ColumnJsonCondValue.isRequester === \"Y\" ? true : false;\r\n let readHide = rowData.ColumnJsonCondValue.action;\r\n\r\n if (readHide === \"readonly\") {\r\n setIsRead(true);\r\n setIsHide(false);\r\n } else if (readHide === \"hide\") {\r\n setIsHide(true);\r\n setIsRead(false);\r\n } else {\r\n setIsHide(false);\r\n setIsRead(false);\r\n }\r\n props.control._formValues.ReadHide = readHide;\r\n props.control._formValues.isNewReq = isNewReq;\r\n props.control._formValues.fieldaction = actionFeild;\r\n setReadHide(readHide);\r\n setIsNewReq(isNewReq);\r\n setTemplateSelected(actionFeild);\r\n }\r\n\r\n if (rowData.ApproveType === 19) {\r\n setLoc(true);\r\n props.positionList.map((e: any) => {\r\n if (rowData.MaxLevelId === e.PositionLevelId) {\r\n props.control._formValues.MaxLevelId = e;\r\n setMaxLevel(e);\r\n }\r\n });\r\n props.control._formValues.Line_of_Command = true;\r\n } else if (rowData.ApproveType === 22) {\r\n setDtp(true);\r\n props.positionList.map((e: any) => {\r\n if (rowData.MaxLevelId === e.PositionLevelId) {\r\n props.control._formValues.PositionLevelId = e;\r\n setPositionLevel(e);\r\n }\r\n });\r\n props.control._formValues.Direct_to_Position = true;\r\n } else if (rowData.ApproveType === 21) {\r\n setDoa(true);\r\n props.matrixList.map((e: any) => {\r\n if (rowData.MaxLevelId === e.ApproveMatrixId) {\r\n props.control._formValues.Approval_MatrixId = e;\r\n setApprovalMatrixDD(e);\r\n }\r\n });\r\n props.control._formValues.Design_of_Authority = true;\r\n } else if (rowData.ApproveType === 20) {\r\n setSpc(true);\r\n props.control._formValues.Specific_Approver = true;\r\n props.control._formValues.spc_isParallel = rowData.IsParallel;\r\n setIsParallel(rowData.IsParallel);\r\n props.control._formValues.IsApproveAll = rowData.IsApproveAll;\r\n setParallelType(rowData.IsApproveAll ? \"all\" : \"slot\");\r\n props.control._formValues.approverSlot = rowData.ApproveSlot;\r\n setSpecficApprovals(rowData.Specific_Approver);\r\n }\r\n } catch (error) {\r\n console.error(\"matrix=>error\", error);\r\n }\r\n }\r\n\r\n const updateChanges = (data: any, componentName?: string) => {\r\n try {\r\n if (data !== undefined) {\r\n if (componentName === \"condition\") {\r\n let conditions: any[] = conditionsValue;\r\n conditions.push({\r\n field: data.field,\r\n value: data.value,\r\n action: data.action,\r\n });\r\n console.log(\"conditions\", conditions);\r\n setConditionsValue(conditions);\r\n } else if (data.EmployeeId !== undefined) {\r\n let specific_Approver: any[] = specficApprovals;\r\n const user = data;\r\n\r\n specific_Approver.push({\r\n TemLineId:\r\n props.rowData !== undefined\r\n ? props.rowData.TemLineId !== undefined\r\n ? props.rowData.TemLineId\r\n : temSeq\r\n : temSeq,\r\n Seq: specific_Approver.length + 1,\r\n EmployeeId: user.EmployeeId,\r\n EmployeeName:\r\n userData.employeeData.Lang === \"EN\" ? user.NameEn : user.NameTh,\r\n Position:\r\n userData.employeeData.Lang === \"EN\"\r\n ? user.PositionNameEn\r\n : user.PositionNameTh,\r\n SpecificTypeId: 874,\r\n SignatureID: defSignatureID,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n\r\n setSpecficApprovals([...specific_Approver]);\r\n } else if (data.RoleId !== undefined) {\r\n let specific_Approver: any[] = specficApprovals;\r\n const role = data;\r\n specific_Approver.push({\r\n TemLineId:\r\n props.rowData !== undefined\r\n ? props.rowData.TemLineId !== undefined\r\n ? props.rowData.TemLineId\r\n : temSeq\r\n : temSeq,\r\n Seq: specific_Approver.length + 1,\r\n EmployeeId: role.RoleId,\r\n EmployeeName:\r\n userData.employeeData.Lang === \"EN\" ? role.NameEn : role.NameTh,\r\n\r\n Position: role.RoleDescription,\r\n SpecificTypeId: 875,\r\n SignatureID: defSignatureID,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n setSpecficApprovals([...specific_Approver]);\r\n }\r\n } else {\r\n if (componentName === \"requestor\") {\r\n let specific_Approver: any[] = specficApprovals;\r\n specific_Approver.push({\r\n TemLineId:\r\n props.rowData !== undefined\r\n ? props.rowData.TemLineId !== undefined\r\n ? props.rowData.TemLineId\r\n : temSeq\r\n : temSeq,\r\n Seq: specific_Approver.length + 1,\r\n EmployeeId: null,\r\n EmployeeName: \"(Requestor)\",\r\n Position: \"\",\r\n SpecificTypeId: 876,\r\n SignatureID: defSignatureID,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n setSpecficApprovals([...specific_Approver]);\r\n }\r\n }\r\n setDialogVisible(false);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n function callSelectConditionForm() {\r\n setShowDialogFootter(true);\r\n setLoadingSelectData(false);\r\n setDialogBody(\r\n \r\n );\r\n }\r\n\r\n // async function fetchMasterData() {\r\n // let options: any[] = [];\r\n // let signatrue = await GetSignature();\r\n // signatrue.map((s: any) => {\r\n // if (s.value2 === \"Approved\") {\r\n // setDefSignatureID(s.masterId);\r\n // }\r\n // options.push({ id: s.masterId, value1: s.value1, value2: s.value2 });\r\n // });\r\n\r\n // setSinatureOptions([...options]);\r\n // }\r\n\r\n async function fetchMatrixData() {\r\n let matrix = await GetAllDynamic(\"ApprovalMatrix/GetAll\", undefined);\r\n setMatrixOptions([...matrix.filter((e: any) => e.IsActive === true)]);\r\n }\r\n\r\n async function callSelectUserDialog(apiName: string) {\r\n setDialogTitle(\"Add User\");\r\n let _dataDynamic = await GetAllDynamic(apiName + \"/GetAll\", undefined);\r\n let columns = [\r\n {\r\n field: \"EmployeeCode\",\r\n header: \"EmployeeCode\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n header: \"Employee Name\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n header: \"Position\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n header: \"Department\",\r\n },\r\n {\r\n field: \"Email\",\r\n header: \"Email\",\r\n },\r\n ];\r\n setShowDialogFootter(false);\r\n if (_dataDynamic !== undefined) {\r\n setLoadingSelectData(false);\r\n setDialogBody(\r\n \r\n );\r\n }\r\n }\r\n\r\n async function callSelectRoleDialog(apiName: string) {\r\n setDialogTitle(\"Add Role\");\r\n let _dataDynamic = await GetAllDynamic(apiName + \"/GetAll\", undefined);\r\n let columns = [\r\n {\r\n field: \"NameEn\",\r\n header: \"Name\",\r\n },\r\n {\r\n field: \"RoleDescription\",\r\n header: \"Description\",\r\n },\r\n ];\r\n setShowDialogFootter(false);\r\n setLoadingSelectData(false);\r\n if (_dataDynamic !== undefined) {\r\n setDialogBody(\r\n \r\n );\r\n }\r\n }\r\n\r\n const onDeleteRow = (data: any, setData: any, rowIdx: number) => {\r\n let selected: any = [...data];\r\n\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n selected.splice(rowIdx, 1);\r\n selected.map((e: any, idx: number) => {\r\n e.Seq = idx + 1;\r\n });\r\n setData(selected);\r\n },\r\n });\r\n };\r\n\r\n async function fecthPositionLevel() {\r\n let _dataDynamic: any[] = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n _dataDynamic.sort((a, b) => (a.PositionLevel < b.PositionLevel ? 1 : -1));\r\n setPositionLevelOptions(_dataDynamic);\r\n }\r\n\r\n useEffect(() => {\r\n fecthPositionLevel();\r\n // fecthPosition();\r\n fetchMatrixData();\r\n fetchTemplatData();\r\n if (props.rowData !== undefined) {\r\n setTemSeq(props.rowData.Seq - 1);\r\n } else {\r\n setTemSeq(props.allApproveLength);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (specficApprovals && specficApprovals.length > 0) {\r\n specficApprovals.map((spc: any) => {\r\n if (spc.SignatureID === 0 || spc.SignatureID === -1) {\r\n spc.SignatureID = defSignatureID;\r\n }\r\n });\r\n props.control._formValues.specific_Approver = specficApprovals;\r\n }\r\n }, [specficApprovals]);\r\n\r\n useEffect(() => {\r\n if (props.control._fields.Conditions !== undefined) {\r\n props.control._formValues.Conditions = conditionsValue;\r\n }\r\n }, [conditionsValue]);\r\n\r\n function onSelected_Sinatures(event: any, rowInx: number) {\r\n let line: any[] = specficApprovals;\r\n line[rowInx].SignatureID = event.value.masterId;\r\n setSpecficApprovals([...line]);\r\n }\r\n\r\n const statusBodyTemplate = (rowData: any, option: any) => {\r\n let selectedValue: any[] = [];\r\n\r\n specficApprovals.map((e: any) => {\r\n console.log(e);\r\n\r\n if (e.SignatureID !== undefined && e.SignatureID !== -1) {\r\n props.signatureList.map((sig: any) => {\r\n if (e.SignatureID === sig.masterId) {\r\n selectedValue.push(sig);\r\n }\r\n });\r\n } else {\r\n console.log(props.signatureList);\r\n\r\n const getSign = props.signatureList.find((sig: any) => {\r\n return sig.seq === \"1\";\r\n });\r\n\r\n selectedValue.push(getSign);\r\n }\r\n });\r\n // console.log(getSign);\r\n\r\n return (\r\n // onSelected_Sinatures(e, option.rowIndex)}\r\n // // optionLabel={userData.employeeData.Lang === \"EN\" ? \"value2\" : \"value1\"}\r\n // placeholder=\"Select a Signature\"\r\n // />\r\n <>{selectedValue[option.rowIndex]}\r\n );\r\n };\r\n\r\n async function fetchTemplatData() {\r\n let arrayFliedTest: any = [];\r\n const _advanceForm = props.advanceForm.items;\r\n let label: string;\r\n let key: string;\r\n let type: string;\r\n\r\n for (let i = 0; i < _advanceForm.length; i++) {\r\n let layout = _advanceForm[i].layout;\r\n for (let j = 0; j < layout.length; j++) {\r\n let template = layout[j].template;\r\n label = template.type + \" : \" + template.label;\r\n key = template.label;\r\n type = template.type;\r\n arrayFliedTest.push({ label, key, type });\r\n if (template.type === \"tb\") {\r\n for (let k = 0; k < template.attribute.column.length; k++) {\r\n let templateCol = template.attribute.column[k];\r\n label =\r\n template.type +\r\n \" : \" +\r\n template.label +\r\n \" : \" +\r\n templateCol.label;\r\n key = template.label + \" : \" + templateCol.label;\r\n type = template.type;\r\n arrayFliedTest.push({ label, key, type });\r\n }\r\n }\r\n }\r\n }\r\n\r\n console.log(\"arrayFliedTest_templateSelect_templateSelect\", arrayFliedTest);\r\n setTemplateField(arrayFliedTest);\r\n }\r\n\r\n function OnchangeTemplate(data: any) {\r\n let templateChange: any = [];\r\n\r\n let TemplateSelect = data;\r\n TemplateSelect.map((data: any) => {\r\n templateChange.push({\r\n key: data.key,\r\n type: data.type,\r\n lable: data.label,\r\n });\r\n });\r\n\r\n setTemplateSelectedField(templateChange);\r\n setTemplateSelected(data);\r\n }\r\n\r\n return (\r\n <>\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setDialogTitle(\"Select Condition\");\r\n callSelectConditionForm();\r\n setDialogVisible(!dialogVisible);\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add Condition\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n (\r\n <>\r\n {\r\n field.onChange(e.value);\r\n setConditionsValue(e.value);\r\n }}\r\n onValueChange={(e: any) => {\r\n field.onChange(e.value);\r\n setConditionsValue(e.value);\r\n }}\r\n value={conditionsValue}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n }\r\n body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n conditionsValue,\r\n setConditionsValue,\r\n options.rowIndex\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setReadHide(e.value);\r\n if (e.value === \"readonly\") {\r\n setIsRead(true);\r\n setIsHide(false);\r\n } else if (e.value === \"hide\") {\r\n setIsHide(true);\r\n setIsRead(false);\r\n } else {\r\n setIsHide(false);\r\n setIsRead(false);\r\n }\r\n }}\r\n optionLabel={\"label\"}\r\n filter\r\n showClear\r\n filterBy={\"label\"}\r\n options={[\r\n {\r\n value: \"readonly\",\r\n label: \"Read Only\",\r\n name: \"Read Only\",\r\n },\r\n { value: \"hide\", label: \"Hide\", name: \"Hide\" },\r\n ]}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n {isRead && !isHide && (\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n OnchangeTemplate(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n filter\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n )}\r\n {isHide && !isRead && (\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n OnchangeTemplate(e.value);\r\n field.onChange(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n {readHide && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setIsNewReq(e.checked);\r\n }}\r\n checked={isNewReq}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n ใช่\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setLoc(e.checked);\r\n setMaxLevel(null);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={loc}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n สายการบังคับบัญชา\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setDtp(e.checked);\r\n setPositionLevel(null);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={dtp}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n ส่งถึงตำแหน่ง\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setDoa(e.checked);\r\n setApprovalMatrixDD(null);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={doa}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n อนุมัติตามอำนาจการดำเนินการ\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setSpc(e.checked);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={spc}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n เลือกผู้อนุมัติเอง\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setMaxLevel(e.value);\r\n }}\r\n disabled={!loc}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n options={positionLevelOptions}\r\n />\r\n )}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setPositionLevel(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n disabled={!dtp}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n options={positionLevelOptions}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setApprovalMatrixDD(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n disabled={!doa}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n options={matrixOptions}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n
\r\n \r\n {spc && (\r\n <>\r\n \r\n \r\n {\r\n setLoadingSelectData(true);\r\n callSelectUserDialog(\"Employee\");\r\n setDialogVisible(!dialogVisible);\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add User\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n {\r\n setLoadingSelectData(true);\r\n callSelectRoleDialog(\"Roles\");\r\n setDialogVisible(!dialogVisible);\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add Role\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n {\r\n updateChanges(undefined, \"requestor\");\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add Requestor\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n if (!val.target.checked) {\r\n props.control._fields.approverSlot = 0;\r\n }\r\n setIsParallel(val.target.checked);\r\n field.onChange(val.target.checked);\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n
\r\n \r\n \r\n (\r\n {\r\n setParallelType(e.target.value);\r\n field.onChange(e.target.value);\r\n }}\r\n disabled={!isParallel}\r\n value={parallelType}\r\n >\r\n
\r\n Approve All\r\n
\r\n \r\n {/* set field cant show value */}\r\n Approve of \r\n (\r\n {\r\n field.onChange(e);\r\n\r\n console.log(\"value\", e, approveSlot);\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n )}\r\n />\r\n {/* (\r\n {\r\n field.onChange(e);\r\n }}\r\n />\r\n )}\r\n /> */}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {spc && (\r\n \r\n {\r\n console.log(\"matrix=>\", specficApprovals);\r\n }}\r\n >\r\n (\r\n {\r\n field.onChange(e.value);\r\n setSpecficApprovals([...e.value]);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n // body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n // body={statusBodyTemplate}\r\n >\r\n \r\n }\r\n body={(rowData: any, options) => {\r\n console.log({ rowData, options });\r\n let val = rowData.SignatureId;\r\n if (val === -1 || val === undefined) {\r\n val = props?.signatureList.find(\r\n (e: any) => e.seq == 1\r\n ).masterId;\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n return {\r\n label:\r\n userData.employeeData.Lang === \"EN\"\r\n ? e[\"value2\"]\r\n : e[\"value1\"],\r\n value: e.masterId,\r\n };\r\n }) || []\r\n }\r\n onChange={(e) => {\r\n // onSelected_Sinatures(e, options.rowIndex)\r\n\r\n field.onChange(\r\n field.value.map(\r\n (row: any, idx: number) => {\r\n if (idx === options.rowIndex) {\r\n row.SignatureId = e.target.value;\r\n }\r\n return row;\r\n }\r\n )\r\n );\r\n }}\r\n placeholder=\"Signature Wording\"\r\n />\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n specficApprovals,\r\n setSpecficApprovals,\r\n options.rowIndex\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n {props.getFormErrorMessage(\"specific_Approver\")}\r\n \r\n \r\n )}\r\n \r\n \r\n {\r\n setDialogVisible(false);\r\n }}\r\n blockScroll\r\n draggable={false}\r\n >\r\n {!loadingSelectData && dialogBody}\r\n \r\n \r\n \r\n );\r\n}\r\n","import { Button } from \"primereact/button\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiCopy, FiPlus } from \"react-icons/fi\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport editIcon from \"../../../assets/edit-icon.png\";\r\nimport \"../ApproveMatrixComponent/ApproveMatrix.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport SelectCondition from \"./SelectCondition\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { IoCloseOutline, IoSaveOutline } from \"react-icons/io5\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport AddMatrixCondition from \"./AddMatrixCondition\";\r\nimport moment from \"moment\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { BiCopyAlt } from \"react-icons/bi\";\r\nimport { MdOutlineContentCopy } from \"react-icons/md\";\r\nimport { RiFileCopy2Line } from \"react-icons/ri\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n positionList: any;\r\n matrixList: any;\r\n signatureList: any;\r\n setLogicsApprover: any;\r\n}\r\n\r\ninterface TemApprove {\r\n MaxLevelId?: any;\r\n ApprovalMatrixId?: any;\r\n ApproveType: number;\r\n Conditions: any;\r\n}\r\n\r\nexport default function ApproveMatrix(props: any) {\r\n const { toggleAlert } = useAlert();\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [redundant_Approver, setRedundant_Approver] = useState([]);\r\n const [auto_Approve, setAuto_Approve] = useState();\r\n const [allApprovals, setAllApprovals] = useState([]);\r\n const [selectedApprovals, setSelectedApprovals] = useState([]);\r\n const [templateLogics, setTemplateLogics] = useState([]);\r\n const [dialogTitle, setDialogTitle] = useState(\"\");\r\n const [dialogBody, setDialogBody] = useState();\r\n const userData = JSON.parse((window as any).localStorage.getItem(\"userData\"));\r\n const [dialogMode, setDialogMode] = useState(\"\");\r\n const toast = useRef(null);\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n let allSelected = allApprovals;\r\n let approveType = -1;\r\n\r\n if (\r\n data.Line_of_Command ||\r\n data.Direct_to_Position ||\r\n data.Design_of_Authority ||\r\n data.Specific_Approver\r\n ) {\r\n //for Edit\r\n if (data.Seq > 0) {\r\n let _ColumnJsonCondValue = {\r\n action: data.ReadHide,\r\n fieldaction: data.fieldaction,\r\n isRequester: data.isNewReq === true ? \"Y\" : \"N\",\r\n };\r\n allSelected.map((approval: any) => {\r\n if (approval.Seq === data.Seq) {\r\n approval.Conditions = {};\r\n if (data.Conditions.length > 0) {\r\n approval.Conditions.Conditions = data.Conditions;\r\n } else {\r\n approval.Conditions = null;\r\n }\r\n if (data.ReadHide) {\r\n approval.ColumnJsonCondValue = _ColumnJsonCondValue;\r\n } else {\r\n approval.ColumnJsonCondValue = null;\r\n }\r\n if (data.Line_of_Command) {\r\n approval.ApproveType = 19;\r\n approval.Type = \"Line of Command\";\r\n approval.MaxLevelId = data.MaxLevelId.PositionLevelId;\r\n approval.MaxLevelName =\r\n userData.employeeData === \"EN\"\r\n ? data.MaxLevelId.NameEn\r\n : data.MaxLevelId.NameTh;\r\n } else if (data.Direct_to_Position) {\r\n approval.ApproveType = 22;\r\n approval.Type = \"Direct to Position\";\r\n approval.MaxLevelId = data.PositionLevelId.PositionLevelId;\r\n approval.MaxLevelName =\r\n userData.employeeData === \"EN\"\r\n ? data.PositionLevelId.NameEn\r\n : data.PositionLevelId.NameTh;\r\n } else if (data.Design_of_Authority) {\r\n approval.ApproveType = 21;\r\n approval.Type = \"Design of Authority\";\r\n approval.MaxLevelId = data.Approval_MatrixId.ApproveMatrixId;\r\n approval.MaxLevelName =\r\n userData.employeeData === \"EN\"\r\n ? data.Approval_MatrixId.NameEn\r\n : data.Approval_MatrixId.NameTh;\r\n } else if (data.Specific_Approver) {\r\n approval.ApproveType = 20;\r\n approval.Type = \"Specific Approver\";\r\n approval.Specific_Approver = data.specific_Approver;\r\n approval.IsParallel = data.spc_isParallel;\r\n approval.IsApproveAll = data.spc_isApproveAll === \"all\";\r\n approval.ApproveSlot =\r\n data.spc_isApproveAll === \"slot\"\r\n ? data.approverSlot\r\n : data.approverSlot;\r\n }\r\n }\r\n });\r\n setAllApprovals([...allSelected]);\r\n toggleDialog();\r\n reset();\r\n } else {\r\n //for Add\r\n if (data.Line_of_Command) {\r\n approveType = 19;\r\n let _ColumnJsonCondValue: any = {};\r\n _ColumnJsonCondValue = {\r\n action: data.ReadHide,\r\n fieldaction: data.fieldaction,\r\n isRequester: data.isNewReq === true ? \"Y\" : \"N\",\r\n };\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: data.MaxLevelId.PositionLevelId,\r\n MaxLevelName:\r\n userData.employeeData === \"EN\"\r\n ? data.MaxLevelId.NameEn\r\n : data.MaxLevelId.NameTh,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Line of Command\",\r\n ColumnJsonCondValue: _ColumnJsonCondValue,\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n toggleDialog();\r\n reset();\r\n }\r\n if (data.Direct_to_Position) {\r\n approveType = 22;\r\n let _ColumnJsonCondValue: any = {};\r\n _ColumnJsonCondValue = {\r\n action: data.ReadHide,\r\n fieldaction: data.fieldaction,\r\n isRequester: data.isNewReq === true ? \"Y\" : \"N\",\r\n };\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: data.PositionLevelId.PositionLevelId,\r\n MaxLevelName:\r\n userData.employeeData === \"EN\"\r\n ? data.PositionLevelId.NameEn\r\n : data.PositionLevelId.NameTh,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Direct to Position\",\r\n ColumnJsonCondValue: _ColumnJsonCondValue,\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n toggleDialog();\r\n reset();\r\n }\r\n if (data.Design_of_Authority) {\r\n approveType = 21;\r\n let _ColumnJsonCondValue: any = {};\r\n _ColumnJsonCondValue = {\r\n action: data.ReadHide,\r\n fieldaction: data.fieldaction,\r\n isRequester: data.isNewReq === true ? \"Y\" : \"N\",\r\n };\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: data.Approval_MatrixId.ApproveMatrixId,\r\n MaxLevelName:\r\n userData.employeeData === \"EN\"\r\n ? data.Approval_MatrixId.NameEn\r\n : data.Approval_MatrixId.NameTh,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Design of Authority\",\r\n ColumnJsonCondValue: _ColumnJsonCondValue,\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n toggleDialog();\r\n reset();\r\n }\r\n if (data.Specific_Approver) {\r\n console.log(\"matrix=>data\", data);\r\n\r\n approveType = 20;\r\n let _ColumnJsonCondValue: any = {};\r\n _ColumnJsonCondValue = {\r\n action: data.ReadHide,\r\n fieldaction: data.fieldaction,\r\n isRequester: data.isNewReq === true ? \"Y\" : \"N\",\r\n };\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n Specific_Approver: data.specific_Approver,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Specific Approver\",\r\n ColumnJsonCondValue: _ColumnJsonCondValue,\r\n IsParallel: data.spc_isParallel,\r\n IsApproveAll: data.spc_isApproveAll === \"all\",\r\n ApproveSlot:\r\n data.spc_isApproveAll === \"slot\" ? data.approverSlot : null,\r\n };\r\n\r\n allSelected.push(approval);\r\n console.log(\"matrix=>\", allSelected);\r\n\r\n setAllApprovals([...allSelected]);\r\n toggleDialog();\r\n reset();\r\n }\r\n }\r\n } else {\r\n toggleAlert({\r\n description: `Type of Approval is reqiure`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Type of Approval is reqiure\",\r\n // life: 3000,\r\n // });\r\n }\r\n };\r\n\r\n function toggleDialog() {\r\n setDialogVisible(!dialogVisible);\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n if (name === \"specific_Approver\") {\r\n } else {\r\n return (\r\n errors[name] && (\r\n {errors[name].message}\r\n )\r\n );\r\n }\r\n };\r\n\r\n function callAddMatrixForm() {\r\n setDialogBody(\r\n \r\n );\r\n }\r\n\r\n const onRedundantChange = (e: any) => {\r\n let selected: any = [...redundant_Approver];\r\n\r\n if (e.checked) {\r\n selected.push(e.value);\r\n } else {\r\n selected.splice(selected.indexOf(e.value), 1);\r\n }\r\n\r\n setRedundant_Approver(selected);\r\n };\r\n\r\n useEffect(() => {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...prevState.templateForm,\r\n AutoApprove:\r\n redundant_Approver.indexOf(\"Auto Approve By System\") !== -1,\r\n ApproverCanEdit:\r\n redundant_Approver.indexOf(\"Approver Can Edit Document\") !== -1,\r\n IsCheckAccess:\r\n redundant_Approver.indexOf(\"Approver can check access document\") !==\r\n -1,\r\n },\r\n }));\r\n }, [redundant_Approver]);\r\n\r\n const onDeleteRow = (rowData: any, rowIdx: number) => {\r\n let selected: any = [...allApprovals];\r\n let newSpcApprovals: any[] = [];\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n className: \"matrix-confirmDialog\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n selected.splice(rowIdx, 1);\r\n selected.map((e: any, idx: number) => {\r\n e.Seq = idx + 1;\r\n if (e.Specific_Approver !== undefined) {\r\n e.Specific_Approver.map((spc: any) => {\r\n spc.TemLineId = e.TemLineId !== undefined ? e.TemLineId : e.Seq;\r\n newSpcApprovals.push(spc);\r\n });\r\n }\r\n });\r\n setAllApprovals([...selected]);\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n specificApprovers: newSpcApprovals,\r\n }));\r\n },\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n let TemLineApprove: any[] = [];\r\n let spc_approval: any[] = [];\r\n let conditions: any[] = [];\r\n let logic: any[] = [];\r\n let TemplateLogic: any[] = [];\r\n\r\n allApprovals.map((approval: any, index: number) => {\r\n let LstCondition: any[] = [];\r\n if (\r\n approval.Conditions !== undefined &&\r\n approval.Conditions !== null &&\r\n approval.Conditions !== \"\"\r\n ) {\r\n if (\r\n approval.Conditions.Conditions !== undefined &&\r\n approval.Conditions.Conditions !== null\r\n ) {\r\n if (approval.Conditions.Conditions.length > 0) {\r\n approval.Conditions.Conditions.map((con: any, index: number) => {\r\n const _con = {\r\n Column: con.field,\r\n Value: con.value,\r\n Seq: index + 1,\r\n TemLineId: \"\",\r\n action: con.action,\r\n Tem_LineId: index + 1,\r\n };\r\n conditions.push(_con);\r\n LstCondition.push(_con);\r\n });\r\n } else {\r\n approval.Conditions = null;\r\n }\r\n }\r\n }\r\n\r\n if (approval.ApproveType === 21) {\r\n const _approval = {\r\n TemLineId: approval.TemLineId,\r\n Seq: index + 1,\r\n MaxLevelId: null,\r\n ApprovalMatrixId: approval.MaxLevelId,\r\n CompanyCode: null,\r\n ApproveType: approval.ApproveType,\r\n Conditions: approval.Conditions\r\n ? JSON.stringify(approval.Conditions)\r\n : null,\r\n LstCondition: LstCondition,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n IsActive: true,\r\n ColumnJsonCondValue: approval.ColumnJsonCondValue\r\n ? JSON.stringify(approval.ColumnJsonCondValue)\r\n : null,\r\n };\r\n TemLineApprove.push(_approval);\r\n } else {\r\n if (approval.ApproveType === 20) {\r\n approval.Specific_Approver.map((e: any, eIdx: number) => {\r\n e.Seq = eIdx + 1;\r\n spc_approval.push(e);\r\n });\r\n }\r\n const _approval = {\r\n TemLineId: approval.TemLineId,\r\n Seq: index + 1,\r\n MaxLevelId: approval.MaxLevelId,\r\n ApprovalMatrixId: null,\r\n CompanyCode: null,\r\n ApproveType: approval.ApproveType,\r\n Conditions: approval.Conditions\r\n ? JSON.stringify(approval.Conditions)\r\n : null,\r\n LstCondition: LstCondition,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n IsActive: true,\r\n IsParallel: approval.IsParallel,\r\n IsApproveAll: approval.IsApproveAll,\r\n ApproveSlot: approval.ApproveSlot,\r\n ColumnJsonCondValue: approval.ColumnJsonCondValue\r\n ? JSON.stringify(approval.ColumnJsonCondValue)\r\n : null,\r\n };\r\n TemLineApprove.push(_approval);\r\n }\r\n });\r\n\r\n let logicControl: any[] = [];\r\n conditions.map((cons: any) => {\r\n if (\r\n logicControl.filter((e: any) => e.label === cons.Column).length === 0\r\n ) {\r\n logicControl.push({\r\n field: \"\",\r\n label: cons.Column,\r\n action: cons.action,\r\n });\r\n }\r\n });\r\n\r\n logicControl.map((con: any) => {\r\n logic.push(\r\n JSON.stringify({\r\n label: con.label,\r\n methodtype: \"ApprovalMatrix\",\r\n InsertType: \"Last\",\r\n amountstatus: \"false\",\r\n Conditions: logicControl,\r\n })\r\n );\r\n });\r\n\r\n logic.map((logic: any, idx: number) => {\r\n TemplateLogic.push({\r\n Seq: idx + 1,\r\n Logictype: \"datalineapprove\",\r\n Jsonvalue: logic,\r\n LstCondition: conditions,\r\n });\r\n });\r\n setTemplateLogics([...TemplateLogic]);\r\n props.setLogicsApprover([...TemplateLogic]);\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n TemLineApprove: [...TemLineApprove],\r\n specificApprovers: [...spc_approval],\r\n }));\r\n }, [allApprovals]);\r\n\r\n useEffect(() => {\r\n let selected: any = [...redundant_Approver];\r\n\r\n if (props.controlModel.templateForm.AutoApprove) {\r\n selected.push(\"Auto Approve By System\");\r\n }\r\n if (props.controlModel.templateForm.ApproverCanEdit) {\r\n selected.push(\"Approver Can Edit Document\");\r\n }\r\n if (props.controlModel.templateForm.IsCheckAccess) {\r\n selected.push(\"Approver can check access document\");\r\n }\r\n console.log(\"table=>6666666666666666\");\r\n\r\n setAllApprovalsForControl();\r\n setAuto_Approve(props.controlModel.templateForm.AutoApproveWhen);\r\n setRedundant_Approver(selected);\r\n }, []);\r\n\r\n function setAllApprovalsForControl() {\r\n try {\r\n let temp: any = props.controlModel.TemLineApprove;\r\n\r\n let spcApprove: any = props.controlModel.specificApprovers;\r\n\r\n let approvals: any = [];\r\n temp.map((tem: any, idx: number) => {\r\n let _con = \"\";\r\n let _ColumnJson = \"\";\r\n if (tem.Conditions !== \"\") {\r\n _con = JSON.parse(tem.Conditions);\r\n }\r\n if (tem.ColumnJsonCondValue) {\r\n if (tem.ColumnJsonCondValue !== \"\") {\r\n _ColumnJson = JSON.parse(tem.ColumnJsonCondValue);\r\n }\r\n }\r\n\r\n if (tem.ApproveType === 20) {\r\n let spcApproves: any = [];\r\n spcApprove.map((e: any) => {\r\n if (idx === e.TemLineId) {\r\n spcApproves.push(e);\r\n } else if (tem.TemLineId === e.TemLineId) {\r\n spcApproves.push(e);\r\n }\r\n });\r\n const approval: any = {\r\n IsParallel: tem.IsParallel,\r\n IsApproveAll: tem.IsApproveAll,\r\n ApproveSlot: tem.ApproveSlot,\r\n TemLineId: tem.TemLineId,\r\n Seq: tem.Seq,\r\n Specific_Approver: spcApproves,\r\n ApproveType: tem.ApproveType,\r\n Conditions: _con,\r\n ColumnJsonCondValue: _ColumnJson,\r\n Type: \"Specific Approver\",\r\n };\r\n approvals.push(approval);\r\n } else if (tem.ApproveType === 21) {\r\n let type = GetApproveType(tem.ApproveType);\r\n let maxLevelName = GetMatrixData(tem.ApprovalMatrixId);\r\n let approval: any = {\r\n TemLineId: tem.TemLineId,\r\n Seq: tem.Seq,\r\n MaxLevelId: tem.ApprovalMatrixId,\r\n MaxLevelName: maxLevelName,\r\n ApproveType: tem.ApproveType,\r\n Conditions: _con,\r\n ColumnJsonCondValue: _ColumnJson,\r\n Type: type,\r\n };\r\n approvals.push(approval);\r\n } else {\r\n let type = GetApproveType(tem.ApproveType);\r\n let maxLevelName = GetMaxLevelName(tem.MaxLevelId);\r\n let approval: any = {\r\n TemLineId: tem.TemLineId,\r\n Seq: tem.Seq,\r\n MaxLevelId: tem.MaxLevelId,\r\n MaxLevelName: maxLevelName,\r\n ApproveType: tem.ApproveType,\r\n Conditions: _con,\r\n ColumnJsonCondValue: _ColumnJson,\r\n Type: type,\r\n };\r\n approvals.push(approval);\r\n }\r\n });\r\n setAllApprovals([...approvals]);\r\n } catch (error) {\r\n console.log(\"Matrix=>\", error);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...prevState.templateForm,\r\n AutoApproveWhen: auto_Approve,\r\n },\r\n }));\r\n }, [auto_Approve]);\r\n\r\n function GetMatrixData(matrixId: number) {\r\n let name: string = \"\";\r\n const matrixes = props.matrixList;\r\n\r\n matrixes.map((e: any) => {\r\n if (e.ApproveMatrixId === matrixId) {\r\n if (userData.Leng === \"EN\") {\r\n name = e.NameEn;\r\n } else {\r\n name = e.NameTh;\r\n }\r\n }\r\n });\r\n return name;\r\n }\r\n\r\n function GetMaxLevelName(maxLevelId: number) {\r\n let name: string = \"\";\r\n const positions = props.positionList;\r\n positions.map((e: any) => {\r\n if (e.PositionLevelId === maxLevelId) {\r\n if (userData.Leng === \"EN\") {\r\n name = e.NameEn;\r\n } else {\r\n name = e.NameTh;\r\n }\r\n }\r\n });\r\n return name;\r\n }\r\n\r\n function GetApproveType(ApproveTypeId: number) {\r\n const approveType = [\r\n { id: 19, name: \"Line of Command\" },\r\n { id: 20, name: \"Specific Approver\" },\r\n { id: 21, name: \"Design of Authority\" },\r\n { id: 22, name: \"Direct to Position\" },\r\n ];\r\n let name: string = \"\";\r\n approveType.map((e: any) => {\r\n if (e.id === ApproveTypeId) {\r\n name = e.name;\r\n }\r\n });\r\n\r\n return name;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n All Approvals\r\n

\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {\r\n setDialogMode(\"Add\");\r\n setDialogTitle(\"Approve Matrix\");\r\n callAddMatrixForm();\r\n toggleDialog();\r\n }}\r\n setLabelProps={\"Add Matrix\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n {\r\n e.value.map((approval: any, index: number) => {\r\n approval.Seq = index + 1;\r\n let appSpcific: any[] = [];\r\n if (approval.Specific_Approver !== undefined) {\r\n approval.Specific_Approver.map((spc: any) => {\r\n spc.TemLineId =\r\n approval.TemLineId !== undefined\r\n ? approval.TemLineId\r\n : index;\r\n appSpcific.push(spc);\r\n });\r\n approval.Specific_Approver = appSpcific;\r\n }\r\n });\r\n\r\n setAllApprovals(e.value);\r\n }}\r\n selection={selectedApprovals}\r\n onSelectionChange={(e) => {\r\n setSelectedApprovals(e.value);\r\n }}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n body={(rowData: any) => {\r\n try {\r\n let str = \"\";\r\n\r\n if (\r\n rowData.Conditions !== null &&\r\n rowData.Conditions !== undefined &&\r\n rowData.Conditions !== \"\"\r\n ) {\r\n rowData?.Conditions?.Conditions?.map(\r\n (con: any, index: number) => {\r\n if (index === 0) {\r\n str = str + (con.field + \":\" + con.value);\r\n } else {\r\n str =\r\n str + \",\" + (con.field + \":\" + con.value);\r\n }\r\n }\r\n );\r\n }\r\n return str;\r\n } catch (error) {}\r\n }}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any) => {\r\n if (rowData[\"ApproveType\"] === 20) {\r\n if (rowData[\"Specific_Approver\"] !== undefined) {\r\n let str = \"\";\r\n\r\n rowData[\"Specific_Approver\"].map(\r\n (approver: any, index: number) => {\r\n if (index === 0) {\r\n str = str + approver.EmployeeName;\r\n } else {\r\n str = str + \",\" + approver.EmployeeName;\r\n }\r\n }\r\n );\r\n return str;\r\n }\r\n } else {\r\n return rowData.MaxLevelName;\r\n }\r\n }}\r\n >\r\n \r\n }\r\n body={(rowData: any) => (\r\n {\r\n let allSelected = [...allApprovals];\r\n if (rowData.ApproveType === 20) {\r\n let spc: any[] = [];\r\n\r\n rowData.Specific_Approver.map((e: any) => {\r\n let spc_approval = {\r\n TemLineId: rowData.Seq,\r\n Seq: e.Seq,\r\n EmployeeId: e.EmployeeId,\r\n EmployeeName: e.EmployeeName,\r\n Position: e.Position,\r\n SpecificTypeId: e.SpecificTypeId,\r\n SignatureID: e.SignatureId,\r\n CreatedDate: moment(new Date()).format(\r\n \"DD MMM YYYY\"\r\n ),\r\n CreatedBy:\r\n userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\r\n \"DD MMM YYYY\"\r\n ),\r\n ModifiedBy:\r\n userData.employeeData.EmployeeId.toString(),\r\n };\r\n spc.push(spc_approval);\r\n });\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n Specific_Approver: spc,\r\n ApproveType: rowData.ApproveType,\r\n Conditions: rowData.Conditions,\r\n Type: rowData.Type,\r\n ColumnJsonCondValue:\r\n rowData.ColumnJsonCondValue,\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n } else {\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: rowData.MaxLevelId,\r\n MaxLevelName: rowData.MaxLevelName,\r\n ApproveType: rowData.ApproveType,\r\n Conditions: rowData.Conditions,\r\n Type: rowData.Type,\r\n ColumnJsonCondValue:\r\n rowData.ColumnJsonCondValue,\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n }\r\n }}\r\n >\r\n \r\n \r\n )}\r\n >\r\n \r\n }\r\n body={(rowData: any) => (\r\n {\r\n setDialogMode(\"Edit\");\r\n setDialogBody(\r\n \r\n );\r\n toggleDialog();\r\n }}\r\n >\r\n \"logo\"\r\n \r\n )}\r\n >\r\n\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(rowData, options.rowIndex);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Redundant Approval Condition\r\n

\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ให้ระบบอนุมัติให้โดยอัตโนมัติ\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ผู้อนุมัติสามารถแก้ไขข้อมูลได้\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ผู้อนุมัติสามารถจองข้อมูลที่แก้ไขข้อมูลได้\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {redundant_Approver.indexOf(\"Auto Approve By System\") !== -1 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setAuto_Approve(e.value)}\r\n checked={auto_Approve === \"F\"}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n อนุมัติเฉพาะขั้นแรก\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n setAuto_Approve(e.value)}\r\n checked={auto_Approve === \"L\"}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n อนุมัติเฉพาะขั้นสุดท้าย\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n )}\r\n
\r\n {\r\n reset();\r\n setDialogVisible(false);\r\n }}\r\n blockScroll\r\n draggable={false}\r\n >\r\n \r\n {dialogBody}\r\n
\r\n \r\n }\r\n onClickProps={() => {\r\n reset();\r\n setDialogVisible(false);\r\n }}\r\n typeProps={\"button\"}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n width: \"100px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n
\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport \"./CheckboxCpmponents.css\";\r\n\r\ninterface Props {\r\n checkedProps?: any;\r\n onChangeProps?: any;\r\n keyProps?: any;\r\n notLable?: any;\r\n readOnlyProps?: boolean;\r\n}\r\n\r\nexport const CheckboxCpmponents = (props: Props) => {\r\n return (\r\n
\r\n props.onChangeProps(e.checked, props.keyProps)}\r\n readOnly={props.readOnlyProps}\r\n />\r\n \r\n {props.notLable !== true && <>{\"Yes\"}}\r\n \r\n
\r\n );\r\n};\r\n","import { AutoComplete, Button, Modal, Radio, Space, Table } from \"antd\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Row, Col } from \"react-bootstrap\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport type { RadioChangeEvent } from \"antd\";\r\nimport \"../TemplateDetailComponents.css\";\r\nimport { RiDeleteBin6Line } from \"react-icons/ri\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { ColumnsType } from \"antd/lib/table\";\r\ninterface Props {\r\n InformationDataProps: any;\r\n setControlModelObj?: any;\r\n state?: string;\r\n checkValidation?: any;\r\n isLoadProps: any;\r\n groupDataTemplate: any;\r\n setGroupDataTemplate: any;\r\n isVersion: boolean;\r\n}\r\n\r\nexport const InformationComponents = (props: Props) => {\r\n const [departmentList, setDepartmentList] = useState({});\r\n const [informationDataProps, setInformationDataPropst] = useState({\r\n ...props.InformationDataProps,\r\n });\r\n const [filteredAutoComplete, setFilteredAutoComplete] = useState();\r\n const [key, setKey] = useState();\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [isloading, setIsloading] = useState(false);\r\n const [employee, setEmployee] = useState({});\r\n const [departmentSelect, setDepartmentSelect] = useState({});\r\n const [toSelect, setToSelect] = useState([]);\r\n const [ccSelect, setCcSelect] = useState([]);\r\n const [toName, setToName] = useState([]);\r\n const [ccnName, setCcName] = useState([]);\r\n const [userData, setUserData] = useUserContext();\r\n const [categoryFilter, setCategoryFilter] = useState(\r\n props.groupDataTemplate\r\n );\r\n const [isMobile, setIsMobile] = useState(false);\r\n const [toValue, setToValue] = useState(toName);\r\n const [CCValue, setCCValue] = useState(ccnName);\r\n console.log(\"mylogg\",props.InformationDataProps);\r\n useEffect(() => {\r\n if (toSelect) {\r\n let filtered = toSelect.filter((e: any, idx: number) => idx <= 2);\r\n setToValue(filtered);\r\n }\r\n if (ccnName) {\r\n let filtered = ccSelect.filter((e: any, idx: number) => idx <= 2);\r\n setCCValue(filtered);\r\n }\r\n }, [toSelect, ccSelect]);\r\n\r\n useEffect(() => {\r\n checkDevice();\r\n }, []);\r\n\r\n const checkDevice = () => {\r\n let regexp = /android|iphone|kindle|ipad/i;\r\n let isMobileDevice = regexp.test(navigator.userAgent);\r\n setIsMobile(isMobileDevice);\r\n if (isMobileDevice) {\r\n console.log(\"Mobile Device\");\r\n } else {\r\n console.log(\"Desktop\");\r\n }\r\n };\r\n useEffect(() => {\r\n if (\r\n Object.keys(departmentList).length === 0 &&\r\n Object.keys(employee).length === 0\r\n ) {\r\n _fechDepartment();\r\n _fechEmployee();\r\n dataToAndCC(employee);\r\n }\r\n }, [departmentList, employee]);\r\n\r\n useEffect(() => {\r\n if (\r\n Object.keys(departmentList).length !== 0 &&\r\n Object.keys(employee).length !== 0\r\n ) {\r\n dataToAndCC(employee);\r\n }\r\n }, [props.InformationDataProps]);\r\n\r\n async function dataToAndCC(employeeData: any) {\r\n try {\r\n let _to =\r\n props.InformationDataProps.templateForm.ToId.length === 0\r\n ? []\r\n : props.InformationDataProps.templateForm.ToId.split(\",\");\r\n\r\n let _cc =\r\n props.InformationDataProps.templateForm.CcId.length === 0\r\n ? []\r\n : props.InformationDataProps.templateForm.CcId.split(\",\");\r\n let _employeeData =\r\n Object.keys(employeeData).length === 0 ? [] : employeeData;\r\n if (_employeeData.length === 0) return;\r\n let _toArray: any = [];\r\n let _toName: any = [];\r\n let _ccArray: any = [];\r\n let _ccName: any = [];\r\n if (_to.length !== 0) {\r\n for (let i = 0; i < _employeeData.length; i++) {\r\n for (let j = 0; j < _to.length; j++) {\r\n if (_employeeData[i].NameEn === _to[j]) {\r\n if (_toArray.length != 0) {\r\n let _dataFilter = _toArray.filter(\r\n (item: any) => item.NameEn === _employeeData[i].NameEn\r\n );\r\n\r\n if (_dataFilter.length === 0) {\r\n _toArray.push(_employeeData[i]);\r\n }\r\n } else {\r\n _toArray.push(employee[i]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (_to.length !== _toArray.length) {\r\n let _dataFilter = _to.filter((data: any) => {\r\n let _data = _toArray.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n _toArray.push(_event);\r\n }\r\n });\r\n }\r\n _toArray.map((e: any) => {\r\n _toName.push(userData.Lang === \"EN\" ? e.NameEn : e.NameTh);\r\n });\r\n setToName(_toName);\r\n setToSelect(_toArray);\r\n }\r\n if (_cc.length !== 0) {\r\n for (let i = 0; i < _employeeData.length; i++) {\r\n for (let j = 0; j < _cc.length; j++) {\r\n if (_employeeData[i].NameEn === _cc[j]) {\r\n if (_ccArray.length != 0) {\r\n let _dataFilter = _ccArray.filter(\r\n (item: any) => item.NameEn === _employeeData[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n _ccArray.push(_employeeData[i]);\r\n }\r\n } else {\r\n _ccArray.push(employee[i]);\r\n }\r\n }\r\n }\r\n }\r\n // ไม่รู้ว่ามีไว้ทำไมเลยคอมเมนท์ไว้ก่อน เขาเขียนไว้\r\n // _employeeData.filter((_data: any) => {\r\n // let _dataCc = _cc.filter(\r\n // (dataCc: any) => _data.NameTh === dataCc || _data.NameEn === dataCc\r\n // );\r\n\r\n // if (_dataCc.length !== 0) {\r\n // if(ccEmpCode == _data.EmployeeId){\r\n // _ccArray.push(_data);\r\n // }\r\n // }\r\n // });\r\n if (_cc.length !== _ccArray.length) {\r\n let _dataFilter = _cc.filter((data: any) => {\r\n let _data = _ccArray.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n _ccArray.push(_event);\r\n }\r\n });\r\n }\r\n _ccArray.map((e: any) => {\r\n _ccName.push(userData.Lang === \"EN\" ? e.NameEn : e.NameTh);\r\n });\r\n setCcName(_ccName);\r\n setCcSelect(_ccArray);\r\n }\r\n } catch (error) {}\r\n }\r\n const [showDialogEmp, setShowDialogEmp] = useState(true);\r\n async function showModal(key: any) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n // setDialogVisible(!isDialogVisible);\r\n // setKey(key);\r\n // _fechEmployee();\r\n // setIsloading(true);\r\n setDialogVisible(!isDialogVisible);\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n setKey(key);\r\n if (showDialogEmp) {\r\n if (employee.length <= 0) {\r\n const employeeList = await GetAllEmployee(req);\r\n setEmployee(employeeList);\r\n setSearchData(employeeList);\r\n }\r\n\r\n setShowDialogEmp(!showDialogEmp);\r\n }\r\n }\r\n function onSelectedEmployeeToAndPass(data: any) {\r\n let checkValue: boolean = false;\r\n const _value = userData.Lang === \"EN\" ? data.NameEn : data.NameTh;\r\n _AutoComplete(data, key === \"ToId\" ? key : \"CcId\");\r\n setDialogVisible(!isDialogVisible);\r\n // false;\r\n }\r\n\r\n async function _fechEmployee() {\r\n const _employee = await GetAllEmployee();\r\n dataToAndCC(_employee);\r\n setEmployee(_employee);\r\n setSearchData(_employee);\r\n setIsloading(true);\r\n }\r\n\r\n async function _fechDepartment() {\r\n const _Department = await GetDepartment();\r\n let _dataFilter = _Department.filter(\r\n (_department: any) => _department.NameEn !== null\r\n );\r\n if (props.InformationDataProps.templateForm?.DepartmentId !== 0) {\r\n let _dataFilterDepartmentId = _dataFilter.filter(\r\n (_department: any) =>\r\n _department.DepartmentId ===\r\n props.InformationDataProps.templateForm?.DepartmentId\r\n );\r\n setDepartmentSelect(_dataFilterDepartmentId[0]);\r\n }\r\n setDepartmentList(_dataFilter);\r\n }\r\n\r\n async function _DropdownDepartment(data: any, key: any) {\r\n if (data === undefined || data === null) {\r\n } else {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n DepartmentId: data.DepartmentId,\r\n },\r\n }));\r\n\r\n setDepartmentSelect(data);\r\n }\r\n }\r\n async function _RadioButtonFormType(data: any, key: any) {\r\n if (data) {\r\n setDepartmentSelect({});\r\n }\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n isPublic: data,\r\n DepartmentId:\r\n data === false\r\n ? props.InformationDataProps.templateForm.DepartmentId\r\n : 0,\r\n },\r\n }));\r\n }\r\n async function _CheckboxCpmponents(data: any, key: any) {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n [key]: data,\r\n },\r\n }));\r\n }\r\n async function _InputText(data: any, key: any) {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n [key]: data,\r\n },\r\n }));\r\n }\r\n\r\n function selecteOrTypeListInToAndPass(event: any, type: any) {\r\n let checkValue: boolean = false;\r\n const _value = event.value.map((item: any) => {\r\n if (!(typeof item === \"string\")) {\r\n return item.NameEn;\r\n } else {\r\n return item;\r\n }\r\n });\r\n if (type === \"ToId\") {\r\n let _components = toSelect;\r\n _components = [..._value];\r\n setToName([..._components]);\r\n setToSelect([..._components]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: _components.toString(),\r\n },\r\n }));\r\n } else if (type === \"CcId\") {\r\n let _components = ccSelect;\r\n _components = [..._value];\r\n\r\n setCcName([..._components]);\r\n setCcSelect([..._components]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: _components.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n async function _AutoComplete(data: any, key: any) {\r\n const _value = userData.Lang === \"EN\" ? data.NameEn : data.NameTh;\r\n let checkValue: boolean = false;\r\n\r\n if (key === \"ToId\") {\r\n let _ToArray: any = toName;\r\n _ToArray.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n _ToArray.push(_value);\r\n setToName([..._ToArray]);\r\n setToSelect([..._ToArray]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: _ToArray.toString(),\r\n },\r\n }));\r\n } else if (key === \"CcId\") {\r\n let _CcArray: any = ccnName;\r\n\r\n _CcArray.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n _CcArray.push(_value);\r\n setCcName([..._CcArray]);\r\n setCcSelect([..._CcArray]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: _CcArray.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n\r\n const searchAutoComplete = async (event: any) => {\r\n const _employee = employee;\r\n\r\n setTimeout(() => {\r\n let _filteredEmployee;\r\n if (!event.query.trim().length) {\r\n _filteredEmployee = [..._employee];\r\n } else {\r\n _filteredEmployee = _employee.filter((dataemployee: any) => {\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n });\r\n }\r\n\r\n setFilteredAutoComplete(_filteredEmployee);\r\n }, 250);\r\n };\r\n const searchEmployeeEnter = (event: any, key: any) => {\r\n console.log(\"searchEvent\", event);\r\n\r\n let dataSelectEmployee: any[] =\r\n key === \"ToId\" ? [...toSelect] : [...ccSelect];\r\n if (event.length !== 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: event,\r\n NameTh: event,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n dataSelectEmployee.push(_event);\r\n console.log(\"dataSelectEmployee\", dataSelectEmployee);\r\n\r\n _AutoComplete(dataSelectEmployee, key === \"ToId\" ? key : \"CcId\");\r\n }\r\n };\r\n const onChangeReportLang = (e: RadioChangeEvent) => {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ReportLang: e.target.value,\r\n },\r\n }));\r\n };\r\n const customModalStyle = {\r\n padding: \"30px\",\r\n maxHeight: \"20px\",\r\n };\r\n\r\n const filterToCC = (event: any, type: any) => {\r\n if (type === \"to\") {\r\n const filtered = toName.filter((e: any) => e !== event);\r\n setToName([...filtered]);\r\n setToSelect([...filtered]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: filtered.toString(),\r\n },\r\n }));\r\n\r\n Modal.destroyAll();\r\n } else if (type === \"pass\") {\r\n const filtered = ccnName.filter((e: any) => e !== event);\r\n setCcName([...filtered]);\r\n setCcSelect([...filtered]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: filtered.toString(),\r\n },\r\n }));\r\n\r\n Modal.destroyAll();\r\n }\r\n };\r\n const columnsTo: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n
\r\n \r\n }\r\n className=\"set-button-css-ref\"\r\n onClick={() => {\r\n filterToCC(record, \"to\");\r\n }}\r\n />\r\n \r\n
\r\n ),\r\n },\r\n ];\r\n\r\n const columnsCC: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n \r\n }\r\n className=\"set-button-css-ref\"\r\n onClick={() => {\r\n filterToCC(record, \"pass\");\r\n }}\r\n />\r\n \r\n ),\r\n },\r\n ];\r\n const showMore = (type: any) => {\r\n Modal.info({\r\n title: (\r\n <>\r\n {type === \"to\" ? (\r\n <>\r\n

\r\n To(เรียนถึง) ทั้งหมด\r\n

\r\n \r\n ) : (\r\n <>\r\n

\r\n CC(สำเนา) ทั้งหมด\r\n

\r\n \r\n )}\r\n \r\n ),\r\n content: (\r\n
\r\n <>\r\n {\" \"}\r\n \r\n \r\n
\r\n ),\r\n style: customModalStyle,\r\n closable: true,\r\n });\r\n };\r\n function insertDataByEnter(event: any, type: any) {\r\n let toArr: any[] = toName;\r\n let ccArr: any[] = ccnName;\r\n\r\n if (!event) {\r\n return;\r\n }\r\n if (type === \"ToId\") {\r\n let auto = event.split(\",\").join(\"\");\r\n toArr.push(auto);\r\n setToName([...toArr]);\r\n setToSelect([...toArr]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: toArr.toString(),\r\n },\r\n }));\r\n } else if (type === \"CcId\") {\r\n let auto = event.split(\",\").join(\"\");\r\n ccArr.push(auto);\r\n setCcName([...ccArr]);\r\n setCcSelect([...ccArr]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: ccArr.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n

Information

\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option?.value\r\n ?.toString()\r\n .toUpperCase()\r\n .indexOf(inputValue.toUpperCase()) !== -1\r\n }\r\n onChange={(e: any) => {\r\n try {\r\n let _filtered;\r\n let value = e;\r\n if (value === \"\") {\r\n _filtered = props.groupDataTemplate;\r\n } else {\r\n _filtered = props.groupDataTemplate.filter((e: any) => {\r\n return e.value\r\n ?.toLowerCase()\r\n .startsWith(value.toLowerCase());\r\n });\r\n }\r\n\r\n setCategoryFilter([..._filtered]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n GroupTemplateName: value,\r\n },\r\n }));\r\n } catch (error) {\r\n console.log(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n onSelect={(e: any) => {\r\n try {\r\n setCategoryFilter([...props.groupDataTemplate]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n GroupTemplateName: e,\r\n },\r\n }));\r\n } catch (error) {\r\n console.log(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n allowClear\r\n onClear={() => {\r\n setCategoryFilter([...props.groupDataTemplate]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n GroupTemplateName: \"\",\r\n },\r\n }));\r\n }}\r\n />\r\n {props.checkValidation.GroupTemplateName &&\r\n props.InformationDataProps.templateForm.GroupTemplateName\r\n .length === 0 && (\r\n Form Category is required\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.checkValidation.TemplateName &&\r\n props.InformationDataProps.templateForm.TemplateName.length ===\r\n 0 && Form Name is required}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {props.checkValidation.DocumentCode &&\r\n props.InformationDataProps.templateForm.DocumentCode.length ===\r\n 0 && DocType is required}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n selecteOrTypeListInToAndPass(e, b);\r\n }}\r\n valueProps={isMobile ? toValue : toSelect}\r\n keyProps={\"ToId\"}\r\n onKeyPress={\r\n insertDataByEnter\r\n // searchEmployeeEnter\r\n }\r\n disabledProps={isMobile && toSelect?.length > 3 ? true : false}\r\n />\r\n {isMobile && toSelect.length > 3 && (\r\n {\r\n showMore(\"to\");\r\n }}\r\n >\r\n More({toSelect.length - 3})\r\n \r\n )}\r\n\r\n showModal(\"ToId\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n selecteOrTypeListInToAndPass(e, b);\r\n }}\r\n valueProps={isMobile ? CCValue : ccSelect}\r\n keyProps={\"CcId\"}\r\n onKeyPress={\r\n insertDataByEnter\r\n // searchEmployeeEnter\r\n }\r\n disabledProps={isMobile && ccSelect?.length > 3 ? true : false}\r\n />\r\n {isMobile && ccSelect.length > 3 && (\r\n {\r\n showMore(\"pass\");\r\n }}\r\n >\r\n More({ccSelect.length - 3})\r\n \r\n )}\r\n\r\n showModal(\"CcId\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n TH\r\n EN\r\n \r\n \r\n
\r\n\r\n \r\n {/* \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n */}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/* validatt */}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/* \r\n */}\r\n\r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { BsNewspaper } from \"react-icons/bs\";\r\nimport {\r\n IoDocumentTextOutline,\r\n IoPeopleOutline,\r\n IoShieldCheckmarkOutline,\r\n IoNewspaperOutline,\r\n} from \"react-icons/io5\";\r\nimport { Button } from \"../../components/Button/Button\";\r\nimport { IoAlertCircleOutline } from \"react-icons/io5\";\r\nimport { IoMdCheckmarkCircleOutline } from \"react-icons/io\";\r\nimport { GetAllMasterData } from \"../../Services/MasterDataService\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n workList?: any;\r\n isCopy?: any;\r\n isVersion?: any;\r\n}\r\n\r\ntype SideBarData = {\r\n component: any;\r\n};\r\n\r\nexport const TemplateDetailSideBarElement = (props: Props) => {\r\n const [sideBarData, setSideBarData] = useState([]);\r\n\r\n useEffect(() => {\r\n GetAllMasterData().then((res) => {\r\n let isEnabledPDFDesign = res.find(\r\n (e: any) =>\r\n e.MasterType == \"PDFDesign\" &&\r\n e.IsActive == true &&\r\n e.Value1 == \"Enabled\"\r\n );\r\n let _sideBarData: SideBarData[] = [];\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Information\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Form Design\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Reference Document\"}\r\n icon={}\r\n page={3}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Reference Information\"}\r\n icon={}\r\n page={7}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Approval Matrix\"}\r\n icon={}\r\n page={4}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Authorization\"}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n if (isEnabledPDFDesign) {\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"PDF Design\"}\r\n icon={}\r\n page={6}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n }\r\n _sideBarData.push({\r\n component: !props.isCopy && props.isVersion === true && (\r\n props.onSelectView(e)}\r\n title={\"Version and History\"}\r\n icon={}\r\n page={8}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n\r\n setSideBarData([..._sideBarData]);\r\n });\r\n }, [props.curPage, props.isCopy, props.isVersion]);\r\n\r\n return (\r\n \r\n {sideBarData.map((data, idx) => (\r\n
{data.component}
\r\n ))}\r\n \r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\n\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\n\r\ninterface Props {\r\n dataProps?: any;\r\n searchDataProps?: any;\r\n showModalProps?: any;\r\n isDialogVisibleProps?: any;\r\n setisDialogVisibleProps?: any;\r\n keyProps?: any;\r\n onRowSelectProps?: any;\r\n valueProps?: any;\r\n setDataProps?: any;\r\n}\r\n\r\nexport default function EmployeeDialog(props: Props) {\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [userData, setUserData] = useUserContext();\r\n\r\n useEffect(() => {\r\n if (props.isDialogVisibleProps === false) {\r\n setGlobalFilterValue(\"\");\r\n }\r\n }, [props.isDialogVisibleProps]);\r\n const onRowSelect = (event: any) => {\r\n let dataSelectEmployee: any[] = [];\r\n if (props.valueProps !== undefined && props.valueProps !== null) {\r\n dataSelectEmployee = [...props.valueProps];\r\n }\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) =>\r\n _data.NameEn === event.data.NameEn ||_data.NameTh === event.data.NameTh \r\n );\r\n \r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(event.data);\r\n }\r\n\r\n // console.log(\"dataSelectEmployee\", dataSelectEmployee);\r\n // console.log(\"dataSelectEmployee\", event.data);\r\n\r\n props.onRowSelectProps(dataSelectEmployee, props.keyProps);\r\n props.setisDialogVisibleProps(false);\r\n };\r\n const onGlobalFilterChange = async (e: any) => {\r\n const value = e;\r\n const dataEmp = props.dataProps;\r\n \r\n const data = dataEmp.filter((data: any) => {\r\n let findData: any = [];\r\n columns.map((col: any) => {\r\n let field = col.field;\r\n if (\r\n data.NameEn\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n findData.push(data);\r\n }else if ( data.NameTh\r\n .toString()\r\n .indexOf(value.toLowerCase()) !== -1){\r\n findData.push(data);\r\n }\r\n });\r\n if (findData.length > 0) {\r\n return true;\r\n }\r\n });\r\n setGlobalFilterValue(value);\r\n props.setDataProps([...data]);\r\n // if (value.length === 0) {\r\n // props.setDataProps(props.searchDataProps);\r\n // }\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const columns = [\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ];\r\n const dynamicColumns = columns.map((col, i) => {\r\n return (\r\n \r\n \r\n

{col.headerEn}

\r\n

{col.headerTh}

\r\n \r\n \r\n }\r\n body={(rowData) => {\r\n console.log(\"data2\",rowData);\r\n if (rowData.Lang !== undefined) {\r\n if (userData.Lang === \"EN\") {\r\n let newField = col.field.replace(\"Th\", \"En\");\r\n return rowData[newField];\r\n } else {\r\n let newField = col.field.replace(\"En\", \"Th\");\r\n return rowData[newField];\r\n }\r\n } else {\r\n return rowData[col.field];\r\n }\r\n }}\r\n />\r\n );\r\n });\r\n return (\r\n <>\r\n \r\n \r\n {/* \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n > */}\r\n {dynamicColumns}\r\n \r\n \r\n \r\n );\r\n}\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport { DropdownComponents } from \"../../../DropdownComponents/DropdownComponents\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n departmentListProps?: any;\r\n setValueProps?: any;\r\n keyProps?: any;\r\n departmentRequestProp?: any;\r\n departmentManageProp?: any;\r\n}\r\n\r\nexport const AuthorizationTableDepartment = (props: Props) => {\r\n const [departmentSelect, setDepartmentSelect] = useState({});\r\n const [departmentPlaceholderDropdown, setDepartmentPlaceholderDropdown] =\r\n useState([]);\r\n useEffect(() => {\r\n gatPlaceholder();\r\n console.log(\"props.departmentListProps\", props.departmentListProps);\r\n }, [departmentSelect]);\r\n\r\n function gatPlaceholder() {\r\n let _array: any = [];\r\n let _arrayNull: any = [];\r\n if (\r\n props.keyProps === \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ) {\r\n props.departmentListProps.map((data: any) => {\r\n let _departmentManageFilter = props.departmentRequestProp.filter(\r\n (_department: any) => {\r\n if (_department.depID === data.DepartmentId.toString()) {\r\n _array.push({\r\n depID: _department.depID,\r\n placeholder: _department.depaction,\r\n });\r\n }\r\n }\r\n );\r\n });\r\n if (props.departmentListProps.length !== _array.length) {\r\n props.departmentListProps.map((_dataMap: any) => {\r\n let _arrayFilter = _array.filter(\r\n (_dataFilter: any) =>\r\n _dataFilter.depID === _dataMap.DepartmentId.toString()\r\n );\r\n\r\n if (_arrayFilter.length === 0) {\r\n _arrayNull.push({ placeholder: \"-- Please Select --\" });\r\n } else {\r\n _arrayNull.push(_arrayFilter[0]);\r\n }\r\n });\r\n }\r\n } else {\r\n props.departmentListProps.map((data: any) => {\r\n let _departmentManageFilter = props.departmentManageProp.filter(\r\n (_department: any) => {\r\n if (_department.depID === data.DepartmentId.toString()) {\r\n _array.push({\r\n depID: _department.depID,\r\n placeholder: _department.depaction,\r\n });\r\n }\r\n }\r\n );\r\n });\r\n if (props.departmentListProps.length !== _array.length) {\r\n props.departmentListProps.map((_dataMap: any) => {\r\n let _arrayFilter = _array.filter(\r\n (_dataFilter: any) =>\r\n _dataFilter.depID === _dataMap.DepartmentId.toString()\r\n );\r\n if (_arrayFilter.length === 0) {\r\n _arrayNull.push({ placeholder: \"-- Please Select --\" });\r\n } else {\r\n _arrayNull.push(_arrayFilter[0]);\r\n }\r\n });\r\n }\r\n }\r\n\r\n setDepartmentPlaceholderDropdown(_arrayNull);\r\n }\r\n const onClickAction = (event: any) => {\r\n // let _event: any = event;\r\n // const dataFilter = props.valueProps.filter((item: any) => _event !== item);\r\n // props.setValueProps(dataFilter, props.keyProps);\r\n };\r\n const _setDepartmentSelect = (event: any, key: any) => {\r\n if (key !== undefined && key !== null) {\r\n let _event = {\r\n depID: event.DepartmentId.toString(),\r\n depname: event.NameTh,\r\n depaction: key.Position,\r\n };\r\n console.log(\"_event\", _event);\r\n\r\n props.setValueProps(_event, props.keyProps);\r\n setDepartmentSelect(event);\r\n }\r\n // let _event: any = event;\r\n // const dataFilter = props.valueProps.filter((item: any) => _event !== item);\r\n // props.setValueProps(dataFilter, props.keyProps);\r\n };\r\n function actionBodyTemplate(rowData: any, inx: any) {\r\n return (\r\n <>\r\n rowData.rowIndex\r\n // ? props.departmentRequestProp[inx.rowIndex].depaction\r\n // : \"-- Please Select --\"\r\n // : inx.rowIndex < props.departmentManageProp.length\r\n // ? props.departmentRequestProp[inx.rowIndex].depaction\r\n // : \"-- eeee --\"\r\n // \"-- Please Select --\"\r\n // props.departmentRequestProp[inx.rowIndex].depaction ===\r\n // undefined\r\n // ? \"-- Please Select --\"\r\n // : props.departmentRequestProp[inx.rowIndex].depaction\r\n // : props.departmentManageProp[inx.rowIndex].depaction === undefined\r\n // ? \"-- Please Select --\"\r\n // : props.departmentManageProp[inx.rowIndex].depaction\r\n // \"-- Please Select --\"\r\n }\r\n onChangeProps={(e: any) => _setDepartmentSelect(rowData, e)}\r\n optionLabelProps=\"Position\"\r\n optionsProps={[{ Position: \"Above\" }, { Position: \"Below\" }]}\r\n valueProps={\r\n props.keyProps === \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ? props.departmentRequestProp\r\n : props.departmentManageProp\r\n }\r\n keyProps={\"Department\"}\r\n />\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n }\r\n >\r\n }\r\n >\r\n }\r\n headerStyle={{ width: \"5rem\" }}\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n );\r\n};\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { DropdownComponents } from \"../../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { AuthorizationTableDepartment } from \"../AuthorizationTable/AuthorizationTable\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\ninterface PropsDepartment {\r\n visibleProps?: any;\r\n setVisibleProps?: any;\r\n setControlModel?: any;\r\n departmentListProps?: any;\r\n keyProps?: any;\r\n departmentRequestProp?: any;\r\n departmentManageProp?: any;\r\n}\r\ninterface PropsPermission {\r\n visibleProps?: any;\r\n setVisibleProps?: any;\r\n keyAutoComplete?: any;\r\n roleData?: any;\r\n setDataTable?: any;\r\n companyData?: any;\r\n departmentListProps?: any;\r\n controlModel?: any;\r\n advanceFormProps?: any;\r\n actionProps?: any;\r\n setDataAuthorization_view?: any;\r\n setDataAuthorization_viewEdit?: any;\r\n\r\n editTablePermissionProps?: any;\r\n}\r\ninterface PropsPermissionEdit {\r\n visibleProps?: any;\r\n setVisibleProps?: any;\r\n keyAutoComplete?: any;\r\n // roleData?: any;\r\n // setDataTable?: any;\r\n // companyData?: any;\r\n // departmentListProps?: any;\r\n // controlModel?: any;\r\n // advanceFormProps?: any;\r\n // actionProps?: any;\r\n // setDataAuthorization_view?: any;\r\n // editTablePermissionProps?: any;\r\n}\r\n\r\nexport const AuthorizationDepartmentModel = (props: PropsDepartment) => {\r\n const [filters, setFilters] = useState();\r\n const [departmentList, setDepartmentList] = useState();\r\n const [departmentSelectManage, setDepartmentSelectManage] = useState();\r\n const [departmentSelectRequest, setDepartmentSelectRequest] = useState(\r\n []\r\n );\r\n useEffect(() => {\r\n setDepartmentSelectManage(props.departmentManageProp);\r\n setDepartmentSelectRequest(props.departmentRequestProp);\r\n }, [props.departmentManageProp, props.departmentRequestProp]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.departmentManageProp === undefined ||\r\n props.departmentManageProp === null\r\n ) {\r\n } else {\r\n setDepartmentSelectManage(props.departmentManageProp);\r\n }\r\n if (\r\n props.departmentManageProp === undefined ||\r\n props.departmentManageProp === null\r\n ) {\r\n } else {\r\n setDepartmentSelectRequest(props.departmentRequestProp);\r\n }\r\n\r\n setDepartmentList(props.departmentListProps);\r\n setFilters(props.departmentListProps);\r\n }, [\r\n props.departmentListProps,\r\n props.departmentManageProp,\r\n props.departmentManageProp,\r\n ]);\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={() => onHide()}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n const onSave = () => {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [props.keyProps]:\r\n props.keyProps == \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ? departmentSelectRequest\r\n : departmentSelectManage,\r\n }));\r\n props.setVisibleProps();\r\n };\r\n const onHide = () => {\r\n setDepartmentSelectManage(props.departmentManageProp);\r\n setDepartmentSelectRequest(props.departmentRequestProp);\r\n props.setVisibleProps();\r\n };\r\n\r\n const AuthorizationTableData = (data: any, key: any) => {\r\n if (\r\n key == \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ) {\r\n let _data: any = [...departmentSelectRequest];\r\n let _dataFilter = _data.filter((item: any) => item.depID === data.depID);\r\n if (_dataFilter.length === 0) {\r\n _data.push(data);\r\n } else {\r\n _data.map((_dataMap: any) => {\r\n if (_dataMap.depID === data.depID) {\r\n _dataMap.depaction = data.depaction;\r\n }\r\n });\r\n }\r\n setDepartmentSelectRequest(_data);\r\n } else {\r\n let _data: any = [...departmentSelectManage];\r\n // _data.push(data);\r\n let _dataFilter = _data.filter((item: any) => item.depID === data.depID);\r\n\r\n if (_dataFilter.length === 0) {\r\n _data.push(data);\r\n } else {\r\n _data.map((_dataMap: any) => {\r\n if (_dataMap.depID === data.depID) {\r\n _dataMap.depaction = data.depaction;\r\n }\r\n });\r\n } // _data.map((_dataDepart: any) => {\r\n // console.log(\"_dataDepart\", _dataDepart);\r\n // });\r\n\r\n setDepartmentSelectManage(_data);\r\n }\r\n\r\n // _ReferenceDocumentDialog(\r\n // props.TableTemplateSelectedProps.listRefTemplate,\r\n // \"listRefTemplate\"\r\n // );\r\n // _ReferenceDocumentDialog(\r\n // props.TableTemplateSelectedProps.templateForm,\r\n // \"templateForm\"\r\n // );\r\n // props.setVisibleProps();\r\n };\r\n\r\n const onGlobalFilterTemplate = (data: any, inx: any) => {\r\n const value = data;\r\n const _Arrayfilters: any = [];\r\n let _filters = { ...filters };\r\n for (const [key, value] of Object.entries(_filters)) {\r\n _Arrayfilters.push(value);\r\n }\r\n const _dataFilter = _Arrayfilters.filter((data: any) => {\r\n if (\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.DepartmentCode.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n if (data.length === 0) {\r\n setDepartmentList(props.departmentListProps);\r\n } else {\r\n setDepartmentList(_dataFilter);\r\n }\r\n };\r\n const [globalFilterValueTemplate, setGlobalFilterValueTemplate] = useState();\r\n return (\r\n <>\r\n onHide()}\r\n className=\"referenceDocumentDialog-dialog\"\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n style={{ width: \"70vw\" }}\r\n footer={renderFooter()}\r\n >\r\n
\r\n \r\n \r\n

\r\n Search Department\r\n

\r\n \r\n
\r\n
\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport const AuthorizationPermissionModel = (props: PropsPermission) => {\r\n const [permissionType, setPermissionType] = useState([]);\r\n const [role, setRole] = useState([]);\r\n const [roleName, setRoleName] = useState([]);\r\n const [advanceFormLabalSelect, setAdvanceFormLabalSelect] = useState([]);\r\n const [valueType, setValueType] = useState({\r\n ValueType: \"Information\",\r\n });\r\n const [informition, setInformition] = useState({\r\n Informition: \"Employee Code\",\r\n });\r\n\r\n const [company, setCompany] = useState([]);\r\n const [department, setDepartment] = useState([]);\r\n const [departmentName, setDepartmentName] = useState([]);\r\n const [companyAction, setCompanyAction] = useState([]);\r\n const [companyActionEdit, setCompanyActionEdit] = useState(\"\");\r\n const [advanceFormLabal, setAdvanceFormLabal] = useState([]);\r\n const [validation, setValidation] = useState({\r\n RoleValidation: false,\r\n DepartmentValidation: false,\r\n CompanyValidation: false,\r\n });\r\n // const [advanceFormLabal, setValueType] = useState([]);\r\n\r\n useEffect(() => {\r\n if (props.editTablePermissionProps !== undefined) {\r\n if (props.editTablePermissionProps.length !== 0) {\r\n if (props.editTablePermissionProps.permissiontype === \"Role\") {\r\n let arrayRole: any = [];\r\n props.editTablePermissionProps.ids.map((data: any) => {\r\n let dataRole = props.roleData.filter(\r\n (item: any) => data.id === item.RoleId.toString()\r\n );\r\n\r\n if (dataRole.length !== 0) {\r\n arrayRole.push(dataRole[0]);\r\n }\r\n });\r\n setRole(arrayRole);\r\n }\r\n if (props.editTablePermissionProps.permissiontype === \"Department\") {\r\n let arrayRole: any = [];\r\n let arrayDepartment: any = [];\r\n // let arrayRole: any = [];\r\n props.editTablePermissionProps.company?.map((data: any) => {\r\n let dataRole = props.companyData.filter(\r\n (item: any) => data.id === item.CompanyId.toString()\r\n );\r\n\r\n if (dataRole.length !== 0) {\r\n arrayRole.push(dataRole[0]);\r\n }\r\n });\r\n props.editTablePermissionProps.ids.map((data: any) => {\r\n let dataRole = props.departmentListProps.filter(\r\n (item: any) => data.id === item.DepartmentId.toString()\r\n );\r\n if (dataRole.length !== 0) {\r\n arrayDepartment.push(dataRole[0]);\r\n }\r\n setCompanyActionEdit(data.action);\r\n });\r\n\r\n setDepartment(arrayDepartment);\r\n setCompany(arrayRole);\r\n }\r\n if (props.editTablePermissionProps.permissiontype === \"FormControl\") {\r\n let arrayRole: any = [];\r\n let arrayDepartment: any = [];\r\n console.log(\r\n \"props.editTablePermissionPropseeeeeeeeeeeeee\",\r\n props.editTablePermissionProps,\r\n advanceFormLabalSelect,\r\n props.actionProps\r\n );\r\n let _arrayAdvanceFormLabal: any = [];\r\n let _advanceFormJson =\r\n props.controlModel.templateForm.AdvanceForm === undefined ||\r\n props.controlModel.templateForm.AdvanceForm === null ||\r\n props.controlModel.templateForm.AdvanceForm.length === 0\r\n ? []\r\n : props.controlModel.templateForm.IsTextForm &&\r\n props.controlModel.templateForm.AdvanceForm[\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n ] === \",\"\r\n ? JSON.parse(\r\n remove_character(\r\n props.controlModel.templateForm.AdvanceForm,\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n )\r\n )\r\n : JSON.parse(props.controlModel.templateForm.AdvanceForm);\r\n _advanceFormJson.items?.map((_data: any) => {\r\n _data.layout.map((__data: any) => {\r\n if (\r\n __data.template.type === \"t\" ||\r\n __data.template.type === \"ta\" ||\r\n __data.template.type === \"d\" ||\r\n __data.template.type === \"tb\" ||\r\n __data.template.type === \"c\"\r\n ) {\r\n if (__data.template.type !== \"tb\") {\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n });\r\n } else if (\r\n __data.template.type === \"tb\" &&\r\n __data.template.label.length !== 0\r\n ) {\r\n let _arrayColumn: any = [];\r\n\r\n __data.template.attribute.column.map((data: any) => {\r\n _arrayColumn.push({ label: data.label });\r\n });\r\n\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n column: _arrayColumn,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n // props.editTablePermissionProps.company.map((data: any) => {\r\n // let dataRole = props.companyData.filter(\r\n // (item: any) => data.id === item.CompanyId.toString()\r\n // );\r\n\r\n // if (dataRole.length !== 0) {\r\n // arrayRole.push(dataRole[0]);\r\n // }\r\n // });\r\n // props.editTablePermissionProps.ids.map((data: any) => {\r\n // let dataRole = props.departmentListProps.filter(\r\n // (item: any) => data.id === item.DepartmentId.toString()\r\n // );\r\n // if (dataRole.length !== 0) {\r\n // arrayDepartment.push(dataRole[0]);\r\n // }\r\n // setCompanyActionEdit(data.action);\r\n // });\r\n\r\n // setDepartment(arrayDepartment);\r\n // setCompany(arrayRole);\r\n let _Informition: any = informition;\r\n if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeCode\"\r\n ) {\r\n _Informition.Information = \"Employee Code\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeName\"\r\n ) {\r\n _Informition.Information = \"Employee Name\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeePosition\"\r\n ) {\r\n _Informition.Information = \"Employee Position\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeDivision\"\r\n ) {\r\n _Informition.Information = \"Employee Division\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeDepartment\"\r\n ) {\r\n _Informition.Informition = \"Employee Department\";\r\n }\r\n\r\n setInformition({ ..._Informition });\r\n // if(props.editTablePermissionProps.formcontrol.labeltype===\"Table\")\r\n // { setAdvanceFormLabalSelect((prevState: any) => ({\r\n // ...prevState,\r\n // label: props.editTablePermissionProps.formcontrol.label,\r\n // type: props.editTablePermissionProps.formcontrol.labeltype,\r\n // column: _arrayAdvanceFormLabal,\r\n // }));}else{\r\n // setAdvanceFormLabalSelect((prevState: any) => ({\r\n // ...prevState,\r\n // label: props.editTablePermissionProps.formcontrol.label,\r\n // type: props.editTablePermissionProps.formcontrol.labeltype,\r\n // column: _arrayAdvanceFormLabal,\r\n // }));\r\n // }\r\n console.log(\r\n \"props.editTablePermissionProps0,props.editTablePermissionProps\",\r\n props.editTablePermissionProps,\r\n props.actionProps,\r\n advanceFormLabalSelect,\r\n _arrayAdvanceFormLabal\r\n );\r\n }\r\n\r\n setPermissionType(props.editTablePermissionProps);\r\n }\r\n }\r\n }, [props.editTablePermissionProps]);\r\n\r\n useEffect(() => {\r\n if (props.editTablePermissionProps.length === 0) {\r\n setPermissionType([]);\r\n setRole([]);\r\n setRoleName([]);\r\n setCompany([]);\r\n setDepartment([]);\r\n setDepartmentName([]);\r\n setCompanyAction([]);\r\n }\r\n\r\n if (props.actionProps === \"edit\") {\r\n console.log(\r\n \"props.controlModel.templateForm\",\r\n props.controlModel.templateForm.IsTextForm\r\n );\r\n\r\n console.log(\r\n \"props.controlModel.templateForm\",\r\n props.controlModel.templateForm.AdvanceForm[\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n ]\r\n );\r\n\r\n let _advanceFormJson =\r\n props.controlModel.templateForm.AdvanceForm === undefined ||\r\n props.controlModel.templateForm.AdvanceForm === null ||\r\n props.controlModel.templateForm.AdvanceForm.length === 0\r\n ? []\r\n : props.controlModel.templateForm.IsTextForm &&\r\n props.controlModel.templateForm.AdvanceForm[\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n ] === \",\"\r\n ? JSON.parse(\r\n remove_character(\r\n props.controlModel.templateForm.AdvanceForm,\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n )\r\n )\r\n : JSON.parse(props.controlModel.templateForm.AdvanceForm);\r\n if (_advanceFormJson.length !== 0) {\r\n _advanceForm(_advanceFormJson);\r\n }\r\n } else {\r\n if (props.advanceFormProps.items.length !== 0) {\r\n _advanceForm(props.advanceFormProps);\r\n }\r\n }\r\n }, [props.visibleProps]);\r\n\r\n useEffect(() => {\r\n console.log(\"per=>PermissionType\", permissionType);\r\n }, [permissionType]);\r\n\r\n function remove_character(str: any, char_pos: any) {\r\n let part1 = str.substring(0, char_pos);\r\n let part2 = str.substring(char_pos + 1, str.length);\r\n return part1 + part2;\r\n }\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n function _advanceForm(data: any) {\r\n try {\r\n let _arrayAdvanceFormLabal: any = [];\r\n data.items.map((_data: any) => {\r\n // dataitems.template.type === \"dd\"\r\n // ? \"Dropdown\"\r\n // : dataitems.template.type === \"tb\"\r\n // ? \"Table\"\r\n // : dataitems.template.type === \"t\"\r\n // ? \"ShortText\"\r\n // : dataitems.template.type === \"d\"\r\n // ? \"Calendar\"\r\n // : dataitems.template.type === \"at\"\r\n // ? \"Attachmen\"\r\n // : dataitems.template.type === \"ta\"\r\n // ? \"MultiLine\"\r\n // : dataitems.template.type === \"c\"\r\n // ? \"Decimal\"\r\n // : dataitems.template.type === \"r\"\r\n // ? \"Choice\"\r\n // : dataitems.template.type === \"cb\"\r\n // ? \"MultiChoice\"\r\n // : dataitems.template.type === \"n\"\r\n // ? \"Number\"\r\n // : dataitems.template.type === \"an\"\r\n // ? \"AutoNumber\"\r\n // : dataitems.template.type === \"ed\"\r\n _data.layout.map((__data: any) => {\r\n if (\r\n __data.template.type === \"t\" ||\r\n __data.template.type === \"ta\" ||\r\n __data.template.type === \"tb\" ||\r\n __data.template.type === \"c\" ||\r\n __data.template.type === \"dd\" ||\r\n __data.template.type === \"d\" ||\r\n __data.template.type === \"at\" ||\r\n __data.template.type === \"r\" ||\r\n __data.template.type === \"cb\" ||\r\n __data.template.type === \"n\" ||\r\n __data.template.type === \"an\" ||\r\n __data.template.type === \"ed\"\r\n ) {\r\n if (__data.template.type !== \"tb\") {\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n });\r\n } else if (\r\n __data.template.type === \"tb\" &&\r\n __data.template.label.length !== 0\r\n ) {\r\n let _arrayColumn: any = [];\r\n\r\n __data.template.attribute.column.map((data: any) => {\r\n _arrayColumn.push({ label: data.label });\r\n });\r\n\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n column: _arrayColumn,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n // console.log(\"_arrayAdvanceFormLabal\", _arrayAdvanceFormLabal);\r\n console.log(\"_arrayAdvanceFormLabal\", _arrayAdvanceFormLabal);\r\n if (props.editTablePermissionProps.permissiontype === \"FormControl\") {\r\n let tableFilter = _arrayAdvanceFormLabal.filter(\r\n (item: any) =>\r\n item.label === props.editTablePermissionProps.formcontrol.label\r\n );\r\n if (tableFilter.length !== 0) {\r\n setAdvanceFormLabalSelect(tableFilter[0]);\r\n }\r\n }\r\n setAdvanceFormLabal(_arrayAdvanceFormLabal);\r\n } catch (error) {}\r\n }\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={() => onHide()}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n const onSave = () => {\r\n if (props.editTablePermissionProps.length === 0) {\r\n let _arrayRolePermission: any = [];\r\n if (\r\n permissionType !== undefined &&\r\n permissionType !== null &&\r\n Object.keys(permissionType).length !== 0\r\n ) {\r\n if (permissionType.Permission.View === \"T\") {\r\n _arrayRolePermission.push(\"View\");\r\n }\r\n if (permissionType.Permission.Print === \"T\") {\r\n _arrayRolePermission.push(\"Print\");\r\n }\r\n if (permissionType.Permission.Copy === \"T\") {\r\n _arrayRolePermission.push(\"Copy\");\r\n }\r\n if (permissionType.permissiontype === \"Public\") {\r\n let _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description: \"\",\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n props.setDataTable(_objTable);\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n props.setVisibleProps(props.keyAutoComplete);\r\n }\r\n if (permissionType.permissiontype === \"Role\") {\r\n console.log(\"permissionType\", permissionType);\r\n if (\r\n permissionType.ids !== undefined &&\r\n permissionType.ids !== null &&\r\n permissionType.ids.length !== 0\r\n ) {\r\n let _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description: roleName.length === 0 ? \"\" : roleName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n props.setDataTable(_objTable);\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n props.setVisibleProps(props.keyAutoComplete);\r\n } else {\r\n setValidation((prevState: any) => ({\r\n ...prevState,\r\n RoleValidation: true,\r\n }));\r\n // setValidation({\r\n // RoleValidation:false,\r\n // DepartmentValidation:false,\r\n // CompanyValidation:false\r\n // })\r\n }\r\n }\r\n if (permissionType.permissiontype === \"Department\") {\r\n console.log(\"permissionType\", permissionType);\r\n if (\r\n permissionType.company !== undefined &&\r\n permissionType.company !== null &&\r\n permissionType.company.length !== 0 &&\r\n permissionType.ids !== undefined &&\r\n permissionType.ids !== null &&\r\n permissionType.ids.length !== 0\r\n ) {\r\n let _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description:\r\n departmentName.length === 0 ? \"\" : departmentName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n props.setDataTable(_objTable);\r\n props.setVisibleProps(props.keyAutoComplete);\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n } else {\r\n setValidation({\r\n DepartmentValidation:\r\n permissionType.ids === undefined ||\r\n permissionType.ids === null ||\r\n permissionType.ids.length === 0\r\n ? true\r\n : false,\r\n CompanyValidation:\r\n permissionType.company === undefined ||\r\n permissionType.company === null ||\r\n permissionType.company.length === 0\r\n ? true\r\n : false,\r\n });\r\n // setValidation({\r\n // RoleValidation:false,\r\n // DepartmentValidation:false,\r\n // CompanyValidation:false\r\n // })\r\n }\r\n }\r\n if (permissionType.permissiontype === \"FormControl\") {\r\n let _objTable;\r\n if (permissionType.formcontrol.labeltype === \"Table\") {\r\n _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description:\r\n \"label:\" +\r\n permissionType.formcontrol.label +\r\n \" columnname: \" +\r\n permissionType.formcontrol.labelcolumnname +\r\n \" type:\" +\r\n permissionType.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n permissionType.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n permissionType.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n } else {\r\n _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description:\r\n \"label:\" +\r\n permissionType.formcontrol.label +\r\n \" type:\" +\r\n permissionType.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n permissionType.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n permissionType.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n }\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n console.log(\"_objTable\", { _objTable, permissionType });\r\n\r\n props.setDataTable(_objTable);\r\n props.setVisibleProps(props.keyAutoComplete);\r\n }\r\n }\r\n } else {\r\n let dataFile = props.controlModel;\r\n if (permissionType.permissiontype === \"Role\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n if (permissionType.permissiontype === \"Department\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n if (permissionType.permissiontype === \"FormControl\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n if (permissionType.permissiontype === \"Public\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n\r\n props.setVisibleProps(props.keyAutoComplete);\r\n props.setDataAuthorization_viewEdit(dataFile, \"Authorization_view\");\r\n }\r\n };\r\n const onHide = () => {\r\n props.setVisibleProps(props.keyAutoComplete);\r\n setPermissionType([]);\r\n setRole([]);\r\n setRoleName([]);\r\n setCompany([]);\r\n setDepartment([]);\r\n setDepartmentName([]);\r\n setCompanyAction([]);\r\n setAdvanceFormLabalSelect({});\r\n };\r\n\r\n function onChangeDropdow(data: any, key: any) {\r\n let _uuid = uuidv4().replace(/-/g, \"\");\r\n\r\n if (data !== null && data !== undefined) {\r\n data.id = _uuid.toString();\r\n setPermissionType(data);\r\n }\r\n }\r\n function onChangeDropdowLable(data: any, key: any) {\r\n console.log(\"dataaaaaaaaaaaaaaaa\", data);\r\n if (data !== undefined && data !== null) {\r\n console.log(\"dataaaaaaaaaaaaaaaa\", data);\r\n\r\n setAdvanceFormLabalSelect(data);\r\n\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n formcontrol: {\r\n ...permissionType.formcontrol,\r\n label: data.label,\r\n labeltype:\r\n data.type === \"dd\"\r\n ? \"Dropdown\"\r\n : data.type === \"tb\"\r\n ? \"Table\"\r\n : data.type === \"t\"\r\n ? \"ShortText\"\r\n : data.type === \"d\"\r\n ? \"Calendar\"\r\n : data.type === \"at\"\r\n ? \"Attachmen\"\r\n : data.typee === \"r\"\r\n ? \"Radio\"\r\n : data.type === \"c\"\r\n ? \"Decimal\"\r\n : \"\",\r\n\r\n labelcolumnname: \"\",\r\n },\r\n }));\r\n }\r\n }\r\n function onChangeDropdowColumnname(data: any, key: any) {\r\n if (data !== undefined && data !== null) {\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n formcontrol: {\r\n ...permissionType.formcontrol,\r\n labelcolumnname: data.label,\r\n },\r\n }));\r\n }\r\n }\r\n function onChangeDropdowValueType(data: any, key: any) {\r\n if (data !== null && data !== undefined) {\r\n setValueType(data);\r\n }\r\n // setValueType(data);\r\n }\r\n function onChangeDropdowInformition(data: any, key: any) {\r\n if (data !== null && data !== undefined) {\r\n setInformition({ ...data });\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n formcontrol: {\r\n ...permissionType.formcontrol,\r\n labelInformition: data.Informition.replaceAll(\" \", \"\"),\r\n },\r\n }));\r\n }\r\n }\r\n function _Role(data: any, key: any) {\r\n if (key === \"RoleID\") {\r\n let _arrayRole: any = [];\r\n let _arrayRoleName: any = [];\r\n let _arrayRolePermission: any = [];\r\n data.map((_dataRole: any) => {\r\n _arrayRole.push({\r\n id: _dataRole.RoleId.toString(),\r\n name: _dataRole.NameEn,\r\n });\r\n _arrayRoleName.push(_dataRole.NameEn);\r\n });\r\n setRoleName(_arrayRoleName);\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayRole,\r\n }));\r\n setRole(data);\r\n setValidation((prevState: any) => ({\r\n ...prevState,\r\n RoleValidation: false,\r\n }));\r\n }\r\n }\r\n function _Company(data: any, key: any) {\r\n let _arrayCompany: any = [];\r\n data.map((_dataCompany: any) => {\r\n _arrayCompany.push({\r\n id: _dataCompany.CompanyId.toString(),\r\n name: _dataCompany.NameEn,\r\n });\r\n });\r\n setCompany(data);\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n company: _arrayCompany,\r\n }));\r\n }\r\n function _department(data: any, key: any) {\r\n let _arrayDepartment: any = [];\r\n let _arrayDepartmentName: any = [];\r\n console.log(\"per=>data\", data);\r\n\r\n data.map((_department: any) => {\r\n _arrayDepartment.push({\r\n id: _department.DepartmentId.toString(),\r\n name: _department.NameEn,\r\n action: \"\",\r\n });\r\n _arrayDepartmentName.push(_department.NameEn);\r\n });\r\n setValidation({\r\n CompanyValidation: false,\r\n });\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayDepartment,\r\n }));\r\n setDepartmentName(_arrayDepartmentName);\r\n setDepartment(data);\r\n\r\n // setCompany(data);\r\n }\r\n\r\n function getPermissionTypeOptions(data: any, key: any) {\r\n let _arrayDepartment: any = [];\r\n let _arrayDepartmentName: any = [];\r\n props.departmentListProps.map((_department: any) => {\r\n _arrayDepartment.push({\r\n id: _department.DepartmentId.toString(),\r\n name: _department.NameEn,\r\n action: \"\",\r\n });\r\n _arrayDepartmentName.push(_department.NameEn);\r\n });\r\n\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayDepartment,\r\n }));\r\n }\r\n\r\n function _Action(data: any, key: any) {\r\n let _arrayDepartment: any = [];\r\n let _arrayDepartmentName: any = [];\r\n console.log(\"per=>data\", data);\r\n console.log(\"per=>permissionType\", permissionType);\r\n\r\n setCompanyAction(data);\r\n department.map((_department: any) => {\r\n _arrayDepartment.push({\r\n id: _department.DepartmentId.toString(),\r\n name:\r\n data === undefined || data === null\r\n ? _department.NameEn\r\n : _department.NameEn,\r\n action: data === undefined || data === null ? \"\" : data.Position,\r\n });\r\n _arrayDepartmentName.push(\r\n data === undefined || data === null\r\n ? _department.NameEn\r\n : _department.NameEn + \" | \" + data.Position\r\n );\r\n });\r\n\r\n setDepartmentName(_arrayDepartmentName);\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayDepartment,\r\n }));\r\n }\r\n async function _CheckboxCpmponents(data: any, key: any) {\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n Permission: {\r\n ...permissionType.Permission,\r\n [key]: data === true ? \"T\" : \"F\",\r\n },\r\n }));\r\n }\r\n const InformationValue = [\r\n { Informition: \"EmployeeCode\" },\r\n { Informition: \"EmployeeName\" },\r\n { Informition: \"EmployeePosition\" },\r\n { Informition: \"EmployeeDivision\" },\r\n { Informition: \"EmployeeDepartment\" },\r\n ];\r\n return (\r\n <>\r\n {\r\n // onHide()\r\n }}\r\n onClick={() => console.log(\"informition\", informition)}\r\n className=\"referenceDocumentDialog-dialog\"\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n style={{ width: \"70vw\" }}\r\n footer={renderFooter()}\r\n >\r\n {\r\n console.log(\"per=>\", { informition });\r\n }}\r\n >\r\n \r\n \r\n

\r\n Add Permission\r\n

\r\n \r\n
\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {permissionType?.permissiontype === \"Role\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Role(e.value, \"RoleID\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select Role --\"\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor: validation.RoleValidation ? \"red\" : \"\",\r\n }}\r\n />\r\n \r\n \r\n \r\n )}\r\n {permissionType?.permissiontype === \"FormControl\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {advanceFormLabalSelect !== undefined &&\r\n advanceFormLabalSelect !== null ? (\r\n Object.keys(advanceFormLabalSelect).length !== 0 ? (\r\n advanceFormLabalSelect.column !== undefined &&\r\n advanceFormLabalSelect.column !== null ? (\r\n advanceFormLabalSelect.column.length !== 0 ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {/* {\r\n console.log(\"per=>data\", data);\r\n console.log(\"per=>informition\", informition);\r\n }}\r\n style={{\r\n width: \"100%\",\r\n borderRadius: \"6px 6px 6px 6px\",\r\n }}\r\n options={[\r\n \"Employee Code\",\r\n \"Employee Name\",\r\n \"Employee Position\",\r\n \"Employee Division\",\r\n \"Employee Department\",\r\n ]}\r\n value={\r\n informition && informition. !== \"\"\r\n ? permissionType?.formcontrol?.labelaction\r\n : null\r\n }\r\n key={\"Informition\"}\r\n /> */}\r\n \r\n \r\n \r\n \r\n )}\r\n {permissionType?.permissiontype === \"Department\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Company(e.value, \"Company\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select Company --\"\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor: validation.CompanyValidation ? \"red\" : \"\",\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _department(e.value, \"RoleID\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select Department --\"\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor: validation.DepartmentValidation ? \"red\" : \"\",\r\n }}\r\n />\r\n \r\n \r\n {permissionType.ids.length !== 0 && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n {permissionType?.permissiontype === \"FormControl\" && (\r\n <>\r\n {(informition.Informition === \"Employee Department\" ||\r\n informition.Informition === \"Employee Division\") && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n let _newData = permissionType;\r\n _newData.formcontrol.labelaction = data.value;\r\n setPermissionType({ ..._newData });\r\n }}\r\n style={{\r\n width: \"100%\",\r\n borderRadius: \"6px 6px 6px 6px\",\r\n }}\r\n options={[\"Above\", \"Below\"]}\r\n value={\r\n permissionType?.formcontrol?.labelaction !== \"\"\r\n ? permissionType?.formcontrol?.labelaction\r\n : null\r\n }\r\n key={\"Position\"}\r\n />\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n {permissionType !== undefined &&\r\n permissionType !== null &&\r\n permissionType.length !== 0 && (\r\n <>\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n \r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useState, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { RiFileCopy2Line } from \"react-icons/ri\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport editIcon from \"../../../assets/edit-icon.png\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport \"./AuthorizationComponent.css\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport EmployeeDialog from \"../../DataFechDialogComponents/EmployeeDialog/EmployeeDialog\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { dataCompany } from \"../../../Services/CompanyService\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport {\r\n AuthorizationDepartmentModel,\r\n AuthorizationPermissionModel,\r\n} from \"./AuthorizationModel/AuthorizationModel\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\ntype Props = {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n actionProps?: any;\r\n objectDataAuthorizationProps: any;\r\n setIsLoad?: any;\r\n};\r\n\r\nconst AuthorizationComponent = (props: Props) => {\r\n const toast = useRef(null);\r\n // const [roleData, setRoleData] = useState([]);\r\n // const [companyData, setCompanyData] = useState([]);\r\n // const [departmentData, setDepartmentData] = useState([]);:\r\n const [visibleModel, setVisibleModel] = useState(false);\r\n const [visiblePermissionModel, setVisiblePermissionModel] =\r\n useState(false);\r\n const [departmentList, setDepartmentList] = useState({});\r\n const [roleManage, setRoleManage] = useState();\r\n const [companyManage, setCompanyManage] = useState();\r\n const [companyRequest, setCompanyRequest] = useState();\r\n const [roleManageId, setRoleManageId] = useState();\r\n const [roleRequest, setRoleRequest] = useState();\r\n const [roleRequestId, setRoleRequestId] = useState();\r\n const [departmentManage, setDepartmentManage] = useState([]);\r\n const [departmentCompanyManage, setDepartmentCompanyManage] = useState(\r\n []\r\n );\r\n const [departmentCompanyRequest, setDepartmentCompanyRequest] = useState(\r\n []\r\n );\r\n const [employeeRequest, setEmployeeRequest] = useState([]);\r\n const [departmentRequest, setDepartmentRequest] = useState([]);\r\n const [keyAutoComplete, setKeyAutoComplete] = useState();\r\n const [employee, setEmployee] = useState([]);\r\n const [searchData, setSearchData] = useState(\r\n props.objectDataAuthorizationProps.Employee\r\n );\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [employeeSelect, setEmployeeSelect] = useState([]);\r\n const [permissionTable, setPermissionTable] = useState([]);\r\n const [Authorization_view, setAuthorization_view] = useState([]);\r\n const [keyAuthorization_view, setKeyAuthorization_view] = useState(\"\");\r\n const [manageCompanyJSON, setManageCompanyJSON] = useState([]);\r\n const [editTablePermission, setEditTablePermission] = useState([]);\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n useEffect(() => {\r\n console.log(\"permissionTable\", permissionTable);\r\n }, [permissionTable]);\r\n\r\n useEffect(() => {\r\n if (props.controlModel !== undefined) {\r\n _DepartmentGetJson(props.controlModel);\r\n }\r\n if (props.controlModel === undefined || props.controlModel === null) {\r\n } else {\r\n if (props.actionProps === \"edit\") {\r\n let _dataJson =\r\n props.controlModel.Authorization_view === undefined ||\r\n props.controlModel.Authorization_view === null\r\n ? []\r\n : props.controlModel.Authorization_view.length === 0 ||\r\n Object.keys(props.controlModel.Authorization_view).length === 0\r\n ? []\r\n : props.controlModel.Authorization_view;\r\n\r\n setKeyAuthorization_view(\"Authorization_view\");\r\n if (_dataJson.length !== 0) {\r\n let _arrayRoleTable: any = [];\r\n _dataJson.map((data: any) => {\r\n let _arrayRolePermission: any = [];\r\n if (Object.keys(data).length !== 0) {\r\n if (data.Permission.View === \"T\") {\r\n _arrayRolePermission.push(\"View\");\r\n }\r\n if (data.Permission.Print === \"T\") {\r\n _arrayRolePermission.push(\"Print\");\r\n }\r\n if (data.Permission.Copy === \"T\") {\r\n _arrayRolePermission.push(\"Copy\");\r\n }\r\n if (data.permissiontype === \"Role\") {\r\n let _arrayRoleName: any = [];\r\n data.ids.map((_dataRole: any) => {\r\n _arrayRoleName.push(_dataRole.name);\r\n });\r\n\r\n let _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n _arrayRoleName.length === 0\r\n ? \"\"\r\n : _arrayRoleName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n _arrayRoleTable.push(_objTable);\r\n }\r\n if (data.permissiontype === \"Department\") {\r\n let _arrayDepartmentName: any = [];\r\n\r\n data.ids.map((_department: any) => {\r\n _arrayDepartmentName.push(\r\n data === undefined || data === null\r\n ? _department.name\r\n : _department.name + \" | \" + _department.action\r\n );\r\n });\r\n\r\n let _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n _arrayDepartmentName.length === 0\r\n ? \"\"\r\n : _arrayDepartmentName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n _arrayRoleTable.push(_objTable);\r\n }\r\n\r\n if (data.permissiontype === \"FormControl\") {\r\n let _objTable;\r\n console.log(\r\n \"data.formcontroldata.formcontrol\",\r\n data.formcontrol\r\n );\r\n\r\n if (data.formcontrol.labeltype === \"Table\") {\r\n _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n \"label:\" +\r\n data.formcontrol.label +\r\n \" columnname:\" +\r\n data.formcontrol.labelcolumnname +\r\n \" type:\" +\r\n data.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n data.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n data.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n } else {\r\n _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n \"label:\" +\r\n data.formcontrol.label +\r\n \" type:\" +\r\n data.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n data.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n data.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n }\r\n _arrayRoleTable.push(_objTable);\r\n\r\n // props.setDataAuthorization_view(permissionType, props.keyAutoComplete);\r\n // props.setDataTable(_objTable);\r\n // props.setVisibleProps(props.keyAutoComplete);\r\n // console.log(\"_objTable\", _objTable);\r\n }\r\n if (data.permissiontype === \"Public\") {\r\n let _objTable;\r\n _objTable = {\r\n Type: data.permissiontype,\r\n Description: \"\",\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n _arrayRoleTable.push(_objTable);\r\n }\r\n }\r\n });\r\n console.log(\"_arrayRoleTable_arrayRoleTable\", _arrayRoleTable);\r\n\r\n setPermissionTable(_arrayRoleTable);\r\n setAuthorization_view(_dataJson);\r\n }\r\n } else {\r\n let _dataJson =\r\n props.controlModel.Authorization_view === undefined ||\r\n props.controlModel.Authorization_view === null\r\n ? []\r\n : props.controlModel.Authorization_view.length === 0\r\n ? []\r\n : props.controlModel.Authorization_view;\r\n\r\n setKeyAuthorization_view(\"Authorization_view\");\r\n setAuthorization_view(_dataJson);\r\n }\r\n }\r\n }, [props.controlModel, props.objectDataAuthorizationProps]);\r\n\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n async function _fechDepartment() {\r\n const _Department = await GetDepartment();\r\n\r\n let _dataFilter = _Department.filter(\r\n (_department: any) => _department.NameEn !== null\r\n );\r\n console.log(\"_dataFilter\", _dataFilter);\r\n\r\n setDepartmentList(_dataFilter);\r\n }\r\n async function _dataTable(data: any) {\r\n if (editTablePermission.length === 0) {\r\n let _array: any = permissionTable;\r\n _array.push(data);\r\n console.log(\"dataaaaaaaaaaaaaaaaaa\", data, _array);\r\n setPermissionTable(_array);\r\n }\r\n }\r\n\r\n async function _dataAuthorization_view(data: any, key: any) {\r\n let _array: any = Authorization_view;\r\n console.log(\"setDataAuthorization_view=>_array\", { _array });\r\n\r\n console.log(\"setDataAuthorization_view\", { data, key });\r\n _array.push(data);\r\n setAuthorization_view(_array);\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: _array,\r\n }));\r\n }\r\n async function _dataAuthorization_viewEdit(data: any, key: any) {\r\n console.log(\"setDataAuthorization_view\", data);\r\n\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n ...data,\r\n }));\r\n }\r\n\r\n // const fetchRole = async () => {\r\n // const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n // setRoleData([...roles]);\r\n // };\r\n // const fetchCompany = async () => {\r\n // const companies = await dataCompany();\r\n // setCompanyData([...companies]);\r\n // };\r\n // const fetchDepartment = async () => {\r\n // const departments = await GetDepartment();\r\n // setDepartmentData([...departments]);\r\n // };\r\n function _VisibleModel(data: any) {\r\n setKeyAutoComplete(data);\r\n\r\n if (data === \"Authorization_view\" || data === \"Authorization_view\") {\r\n setEditTablePermission([]);\r\n setVisiblePermissionModel(!visiblePermissionModel);\r\n } else {\r\n setVisibleModel(!visibleModel);\r\n }\r\n }\r\n function _VisibleEditModel(key: any, data: any, inx: any) {\r\n setKeyAutoComplete(key);\r\n\r\n setEditTablePermission(props.controlModel.Authorization_view[inx.rowIndex]);\r\n setVisiblePermissionModel(!visiblePermissionModel);\r\n\r\n // setKeyAutoComplete(data);\r\n // if (data === \"Authorization_view\" || data === \"Authorization_view\") {\r\n // setVisiblePermissionModel(!visiblePermissionModel);\r\n // } else {\r\n // setVisibleModel(!visibleModel);\r\n // }\r\n }\r\n\r\n async function showModal(key: any) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(!isDialogVisible);\r\n setKeyAutoComplete(key);\r\n }\r\n async function onDeleteRow(dataRow: any, option: any) {\r\n let _arrayPush: any = [];\r\n let _arrayPushPermissionTable: any = [];\r\n Authorization_view.map((data: any, inx: any) => {\r\n if (option !== inx) {\r\n _arrayPush.push(data);\r\n }\r\n });\r\n permissionTable.map((data: any, inx: any) => {\r\n if (option !== inx) {\r\n _arrayPushPermissionTable.push(data);\r\n }\r\n });\r\n setAuthorization_view(_arrayPush);\r\n setPermissionTable(_arrayPushPermissionTable);\r\n if (\r\n keyAuthorization_view === undefined ||\r\n keyAuthorization_view === null ||\r\n keyAuthorization_view.length === 0\r\n ) {\r\n } else {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [keyAuthorization_view]: _arrayPush,\r\n }));\r\n }\r\n }\r\n function _GameRoleID(data: any, key: any) {\r\n var _dataRole = data.split(\",\");\r\n let _arrayRole: any = [];\r\n _dataRole.map((dataRole: any) => {\r\n let roleDataFilter = props.objectDataAuthorizationProps.Role.filter(\r\n (_dataFilter: any) => _dataFilter.RoleId.toString() === dataRole\r\n );\r\n\r\n if (roleDataFilter.length !== 0) {\r\n _arrayRole.push(roleDataFilter[0]);\r\n }\r\n });\r\n if (key === \"RoleID\") {\r\n setRoleManage(_arrayRole);\r\n } else {\r\n setRoleRequest(_arrayRole);\r\n }\r\n }\r\n function _DepartmentGetJson(data: any) {\r\n console.log(\"data\", data);\r\n\r\n if (props.actionProps === \"add\") {\r\n let _SpecificEmployeeId =\r\n data.templateForm.SpecificEmployeeId.length === 0\r\n ? []\r\n : data.templateForm.SpecificEmployeeId.split(\",\");\r\n let _specificArray: any = [];\r\n if (_SpecificEmployeeId.length !== 0) {\r\n let _employeeData =\r\n Object.keys(props.objectDataAuthorizationProps.Employee).length === 0\r\n ? []\r\n : props.objectDataAuthorizationProps.Employee;\r\n\r\n _employeeData.filter((_data: any) => {\r\n let _dataTo = _SpecificEmployeeId.filter(\r\n (dataTo: any) => _data.EmployeeId.toString() === dataTo\r\n );\r\n if (_dataTo.length !== 0) {\r\n _specificArray.push(_data);\r\n }\r\n });\r\n\r\n setEmployeeRequest(_specificArray);\r\n }\r\n if (\r\n data.templateForm.RoleID !== null &&\r\n data.templateForm.RoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.RoleID, \"RoleID\");\r\n }\r\n if (\r\n data.templateForm.SpecificRoleID !== null &&\r\n data.templateForm.SpecificRoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.SpecificRoleID, \"SpecificRoleID\");\r\n }\r\n\r\n if (data.Authorization_manage_department !== null) {\r\n if (data.Authorization_manage_department.length !== 0) {\r\n let _DepartmentData = data.Authorization_manage_department;\r\n\r\n setDepartmentManage(_DepartmentData);\r\n } else {\r\n setDepartmentManage([]);\r\n }\r\n }\r\n if (\r\n data.Authorization_request_company !== null &&\r\n data.Authorization_request_company.length !== 0\r\n ) {\r\n if (data.Authorization_request_company.length !== 0) {\r\n let _arrayManageCompanyDepartment: any = [];\r\n let _ManageCompany =\r\n data.Authorization_request_company === undefined ||\r\n data.Authorization_request_company === null ||\r\n data.Authorization_request_company.length === 0\r\n ? null\r\n : data.Authorization_request_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_arrayManageCompanyDepartment.length !== 0) {\r\n // props.setIsLoad(true);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n }\r\n // else if (\r\n // _arrayManageCompanyDepartment.length === 0 &&\r\n // _arrayManageCompany.length === 1\r\n // ) {\r\n // _arrayManageCompanyDepartment = [\r\n // ..._arrayManageCompanyDepartment,\r\n // ..._dataFilterCompany,\r\n // ];\r\n // }\r\n }\r\n });\r\n if (_arrayManageCompany.length !== 0) {\r\n setDepartmentCompanyRequest([..._arrayManageCompanyDepartment]);\r\n setCompanyRequest(_arrayManageCompany);\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n }\r\n }\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n if (\r\n data.Authorization_manage_company !== null &&\r\n data.Authorization_manage_company.length !== 0\r\n ) {\r\n if (data.Authorization_manage_company.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_manage_company === undefined ||\r\n data.Authorization_manage_company === null ||\r\n data.Authorization_manage_company.length === 0\r\n ? null\r\n : data.Authorization_manage_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n let _arrayManageCompanyDepartment: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_dataFilterCompany.length !== 0) {\r\n // _arrayManageCompanyDepartment.push(_dataFilterCompany);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // if (_arrayManageCompanyDepartment.length !== 0) {\r\n // // props.setIsLoad(true);\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n // } else if (\r\n // _arrayManageCompanyDepartment.length === 0 &&\r\n // _arrayManageCompany.length === 1\r\n // ) {\r\n // _arrayManageCompanyDepartment = [\r\n // ..._arrayManageCompanyDepartment,\r\n // ..._dataFilterCompany,\r\n // ];\r\n // }\r\n }\r\n }\r\n });\r\n\r\n if (_arrayManageCompany.length !== 0) {\r\n setDepartmentCompanyManage([..._arrayManageCompanyDepartment]);\r\n\r\n setCompanyManage(_arrayManageCompany);\r\n } else {\r\n setDepartmentCompanyManage([]);\r\n }\r\n }\r\n } else {\r\n console.log(\"aaaaaaaaaaaaaaa\");\r\n\r\n setDepartmentCompanyManage([]);\r\n }\r\n } else {\r\n setDepartmentCompanyManage([]);\r\n }\r\n if (\r\n data.Authorization_request_company !== null &&\r\n data.Authorization_request_company.length !== 0\r\n ) {\r\n if (data.Authorization_request_company.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_request_company === undefined ||\r\n data.Authorization_request_company === null ||\r\n data.Authorization_request_company.length === 0\r\n ? null\r\n : data.Authorization_request_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n }\r\n });\r\n if (_arrayManageCompany.length !== 0) {\r\n setCompanyRequest(_arrayManageCompany);\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (\r\n data.templateForm.SpecificRoleID !== null &&\r\n data.templateForm.SpecificRoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.SpecificRoleID, \"SpecificRoleID\");\r\n }\r\n\r\n if (\r\n data.templateForm.RoleID !== null &&\r\n data.templateForm.RoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.RoleID, \"RoleID\");\r\n }\r\n\r\n if (\r\n data.Authorization_manage_company !== null &&\r\n data.Authorization_manage_company.length !== 0\r\n ) {\r\n if (data.Authorization_manage_company.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_manage_company === undefined ||\r\n data.Authorization_manage_company === null ||\r\n data.Authorization_manage_company.length === 0\r\n ? null\r\n : data.Authorization_manage_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n let _arrayManageCompanyDepartment: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n console.log(\"datadatadatadatadata\", data, companyDataFilter);\r\n\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_dataFilterCompany.length !== 0) {\r\n console.log(\"_dataFilterCompany[0]\", _dataFilterCompany);\r\n // _arrayManageCompanyDepartment.push(_dataFilterCompany);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // if (_arrayManageCompanyDepartment.length !== 0) {\r\n // // props.setIsLoad(true);\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n // } else if (\r\n // _arrayManageCompanyDepartment.length === 0 &&\r\n // _arrayManageCompany.length === 1\r\n // ) {\r\n // _arrayManageCompanyDepartment = [\r\n // ..._arrayManageCompanyDepartment,\r\n // ..._dataFilterCompany,\r\n // ];\r\n // }\r\n }\r\n }\r\n });\r\n console.log(\r\n \"_arrayManageCompanyDepartment111111111111111jjjjjjjjj\",\r\n _arrayManageCompanyDepartment,\r\n _arrayManageCompany\r\n );\r\n if (_arrayManageCompany.length !== 0) {\r\n console.log(\r\n \"_arrayManageCompanyDepartment111111111111111\",\r\n _arrayManageCompanyDepartment\r\n );\r\n setDepartmentCompanyManage([..._arrayManageCompanyDepartment]);\r\n setCompanyManage(_arrayManageCompany);\r\n } else {\r\n console.log(\r\n \"_arrayManageCompanyDepartment111111111111111\",\r\n _arrayManageCompanyDepartment\r\n );\r\n setDepartmentCompanyManage([]);\r\n }\r\n }\r\n } else {\r\n console.log(\"aaaaaaaaaaaaaaa\");\r\n\r\n setDepartmentCompanyManage([]);\r\n }\r\n } else {\r\n console.log(\"aaaaaaaaaaaaaaa\");\r\n\r\n setDepartmentCompanyManage([]);\r\n }\r\n if (\r\n data.Authorization_request_company !== null &&\r\n data.Authorization_request_company.length !== 0\r\n ) {\r\n if (data.Authorization_request_company.length !== 0) {\r\n let _arrayManageCompanyDepartment: any = [];\r\n let _ManageCompany =\r\n data.Authorization_request_company === undefined ||\r\n data.Authorization_request_company === null ||\r\n data.Authorization_request_company.length === 0\r\n ? null\r\n : data.Authorization_request_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_dataFilterCompany.length !== 0) {\r\n // props.setIsLoad(true);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n }\r\n }\r\n });\r\n if (_arrayManageCompany.length !== 0) {\r\n setDepartmentCompanyRequest([..._arrayManageCompanyDepartment]);\r\n setCompanyRequest(_arrayManageCompany);\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n }\r\n }\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n if (\r\n data.Authorization_manage_department !== null &&\r\n data.Authorization_manage_department.length !== 0\r\n ) {\r\n if (data.Authorization_manage_department.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_manage_department === undefined ||\r\n data.Authorization_manage_department === null ||\r\n data.Authorization_manage_department.length === 0\r\n ? null\r\n : data.Authorization_manage_department;\r\n if (_ManageCompany === null) {\r\n } else {\r\n setDepartmentManage(_ManageCompany);\r\n }\r\n }\r\n } else {\r\n setDepartmentManage([]);\r\n }\r\n if (\r\n data.Authorization_request_department !== null &&\r\n data.Authorization_request_department.length !== 0\r\n ) {\r\n if (data.Authorization_request_department.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_request_department === undefined ||\r\n data.Authorization_request_department === null ||\r\n data.Authorization_request_department.length === 0\r\n ? null\r\n : data.Authorization_request_department;\r\n if (_ManageCompany === null) {\r\n } else {\r\n setDepartmentRequest(_ManageCompany);\r\n }\r\n }\r\n } else {\r\n setDepartmentRequest([]);\r\n }\r\n }\r\n // console.log(\"data.templateForm\", data.templateForm);\r\n\r\n let _SpecificEmployeeId =\r\n data.templateForm.SpecificEmployeeId === undefined ||\r\n data.templateForm.SpecificEmployeeId === null ||\r\n data.templateForm.SpecificEmployeeId.length === 0\r\n ? []\r\n : data.templateForm.SpecificEmployeeId.split(\",\");\r\n let _specificArray: any = [];\r\n if (_SpecificEmployeeId.length !== 0) {\r\n let _employeeData =\r\n Object.keys(props.objectDataAuthorizationProps.Employee).length === 0\r\n ? []\r\n : props.objectDataAuthorizationProps.Employee;\r\n\r\n _employeeData.filter((_data: any) => {\r\n let _dataTo = _SpecificEmployeeId.filter(\r\n (dataTo: any) => _data.EmployeeId.toString() === dataTo\r\n );\r\n if (_dataTo.length !== 0) {\r\n _specificArray.push(_data);\r\n }\r\n });\r\n\r\n setEmployeeRequest(_specificArray);\r\n }\r\n }\r\n function _AutoComplete(data: any, key: any) {\r\n let _specificEmployeeId: any = [];\r\n // let _employeeRequest=employeeRequest\r\n\r\n if (key !== \"SpecificEmployeeId\") {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: data,\r\n }));\r\n } else {\r\n let specificEmployeeId = data;\r\n specificEmployeeId.map((data: any) => {\r\n _specificEmployeeId.push(data.EmployeeId);\r\n });\r\n setEmployeeRequest(data);\r\n\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.controlModel.templateForm,\r\n [key]:\r\n _specificEmployeeId.length === 0\r\n ? \"\"\r\n : _specificEmployeeId.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n function _Role(data: any, key: any) {\r\n let _RoleIdManage: any = [];\r\n let _RoleIdRequest: any = [];\r\n if (key === \"RoleID\") {\r\n let _roleIdManage = data;\r\n _roleIdManage.map((data: any) => {\r\n _RoleIdManage.push(data.RoleId);\r\n });\r\n\r\n setRoleManage(data);\r\n }\r\n if (key === \"SpecificRoleID\") {\r\n let _roleIdRequest = data;\r\n _roleIdRequest.map((data: any) => {\r\n _RoleIdRequest.push(data.RoleId);\r\n });\r\n setRoleRequest(data);\r\n }\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.controlModel.templateForm,\r\n [key]:\r\n key === \"RoleID\"\r\n ? _RoleIdManage.toString()\r\n : _RoleIdRequest.toString(),\r\n },\r\n }));\r\n }\r\n function _Company(data: any, key: any) {\r\n let _CompanyManage: any = [];\r\n let _CompanyRequest: any = [];\r\n if (\r\n key === \"Authorization_manage_company\" ||\r\n key === \"Authorization_manage_company\"\r\n ) {\r\n let _companyManage = data;\r\n _companyManage.map((data: any) => {\r\n _CompanyManage.push({\r\n CompanyId: data.CompanyId.toString(),\r\n Name: data.NameEn,\r\n });\r\n });\r\n\r\n setCompanyManage(data);\r\n // for (let i = 0; i < _companyManage.length; i++) {\r\n\r\n // // props.objectDataAuthorizationProps.Department\r\n // let _dataFilterDepartment= props.objectDataAuthorizationProps.Department.filter((item:any)=> item.CompanyCode ===_companyManage[i].CompanyCode)\r\n // if(_dataFilterDepartment.length!==0){\r\n\r\n // }\r\n // }\r\n // console.log(\"_companyManage\", _companyManage);\r\n\r\n // setCompanyManageDepartment(data);\r\n }\r\n if (\r\n key === \"Authorization_request_company\" ||\r\n key === \"Authorization_request_company\"\r\n ) {\r\n let _companyRequest = data;\r\n _companyRequest.map((data: any) => {\r\n _CompanyRequest.push({\r\n CompanyId: data.CompanyId.toString(),\r\n Name: data.NameEn,\r\n });\r\n });\r\n setCompanyRequest(data);\r\n // setCompanyRequestDepartment(data);\r\n }\r\n\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [key]:\r\n key === \"Authorization_manage_company\" ||\r\n key === \"Authorization_manage_company\"\r\n ? _CompanyManage\r\n : _CompanyRequest,\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\r\n \r\n \r\n \r\n Authorization for Manage\r\n

\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Role(e.value, \"RoleID\");\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang == \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n placeholder=\"-- Please Select Role --\"\r\n display=\"chip\"\r\n filter\r\n resetFilterOnHide\r\n showClear\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Company(\r\n e.value,\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_manage_company\"\r\n : \"Authorization_manage_company\"\r\n );\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n placeholder=\"-- Please Select Company --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n _VisibleModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_manage_department\"\r\n : \"Authorization_manage_department\"\r\n )\r\n }\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: departmentManage.length === 0 ? \"38px\" : \"100%\",\r\n }}\r\n />\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Authorization for Request\r\n

\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n showModal(\"SpecificEmployeeId\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height:\r\n employeeRequest === undefined || employeeRequest === null\r\n ? \"38px\"\r\n : employeeRequest.length !== 0\r\n ? \"100%\"\r\n : \"38px\",\r\n }}\r\n />\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Role(e.value, \"SpecificRoleID\");\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang == \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n placeholder=\"-- Please Select Role --\"\r\n display=\"chip\"\r\n filter\r\n resetFilterOnHide\r\n showClear\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Company(\r\n e.value,\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_request_company\"\r\n : \"Authorization_request_company\"\r\n );\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n filter\r\n placeholder=\"-- Please Select Company --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n _VisibleModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_request_department\"\r\n : \"Authorization_request_department\"\r\n )\r\n }\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: departmentRequest.length === 0 ? \"38px\" : \"100%\",\r\n }}\r\n />\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Authorization for View\r\n

\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n console.log(\r\n \"Authorization for View,Authorization for View\",\r\n permissionTable\r\n )\r\n }\r\n >\r\n \r\n _VisibleModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_view\"\r\n : \"Authorization_view\"\r\n )\r\n }\r\n setLabelProps={\"Add Permission\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n {}}\r\n // selection={selectedApprovals}\r\n onSelectionChange={(e) => {\r\n // setSelectedApprovals(e.value);\r\n }}\r\n responsiveLayout=\"scroll\"\r\n >\r\n }\r\n >\r\n\r\n \r\n }\r\n >\r\n \r\n }\r\n >\r\n\r\n }\r\n body={(rowData: any, inx: any) => (\r\n {\r\n _VisibleEditModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_view\"\r\n : \"Authorization_view\",\r\n rowData,\r\n inx\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n )}\r\n >\r\n\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(rowData, options.rowIndex);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n 1 ||\r\n departmentCompanyManage.length !== 0\r\n ? departmentCompanyManage\r\n : props.objectDataAuthorizationProps.Department\r\n : keyAutoComplete === \"Authorization_request_department\"\r\n ? props.controlModel?.Authorization_request_company?.length > 1 ||\r\n departmentCompanyRequest.length !== 0\r\n ? departmentCompanyRequest\r\n : props.objectDataAuthorizationProps.Department\r\n : props.objectDataAuthorizationProps.Department\r\n }\r\n setVisibleProps={_VisibleModel}\r\n setControlModel={props.setControlModel}\r\n keyProps={keyAutoComplete}\r\n departmentRequestProp={departmentRequest}\r\n departmentManageProp={departmentManage}\r\n />\r\n \r\n {/* */}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AuthorizationComponent;\r\n","import moment from \"moment\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect } from \"react\";\r\nimport { sorterFunc } from \"../../../../Helper/SortingFunction\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ntype Props = {\r\n dataProps?: any;\r\n setDataProps?: any;\r\n versionCheckProps?: any;\r\n};\r\n\r\nexport const VersionAndHistoryTable = (props: Props) => {\r\n useEffect(() => {\r\n if (props.dataProps) {\r\n props.dataProps.sort((a: any, b: any) => {\r\n return sorterFunc(a, b, \"ModifiedDate\", \"dec\");\r\n });\r\n }\r\n }, [props.dataProps]);\r\n async function previewVersionTemplate(\r\n documentCode: string,\r\n rowIndex: number\r\n ) {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n window.open(\r\n `${baseUrl}/TemplateDetail?TemplateVersionCode=${documentCode}&VersionTemplate=${\r\n rowIndex + 1\r\n }&Version`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n\r\n // window.open(\r\n // `${baseUrl}/Request?MemoID=0&TemplateVersionCode=${documentCode}&VersionTemplate=${\r\n // rowIndex + 1\r\n // }&Version`,\r\n // \"_blank\"\r\n // );\r\n }\r\n const actionBodyTemplate = (rowData: any) => {\r\n let someDateString = moment(rowData.ModifiedDate, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy HH:mm:ss\");\r\n return NewDate;\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n }\r\n headerStyle={{ width: \"3em\" }}\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {options.rowIndex + 1}\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {data.TemplateName}\r\n \r\n );\r\n }}\r\n style={{ textAlign: \"start\" }}\r\n >\r\n \r\n }\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {data.TemplateName}\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {data.ModifiedByName}\r\n \r\n );\r\n }}\r\n >\r\n\r\n \r\n }\r\n // headerStyle={{ width: \"5rem\" }}\r\n body={actionBodyTemplate}\r\n >\r\n \r\n
\r\n );\r\n};\r\n","import { Toast } from \"primereact/toast\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { VersionAndHistoryTable } from \"./VersionAndHistoryTable/VersionAndHistoryTable\";\r\n\r\ntype Props = {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n actionProps?: any;\r\n setVersionCheckProps?: any;\r\n VersionCheckProps?: any;\r\n VersionDataProps?: any;\r\n SetVersionDataProps: any;\r\n VersionTempVCProps?: any;\r\n version?: any;\r\n templateListVersionHistoryProps?: any;\r\n ObjectDataAuthorizationProps?: any;\r\n};\r\n\r\nconst VersionAndHistoryComponents = (props: Props) => {\r\n useEffect(() => {\r\n console.log(\r\n \"props.templateListVersionHistoryPropsprops.templateListVersionHistoryProps\",\r\n props.templateListVersionHistoryProps,\r\n props.VersionTempVCProps\r\n );\r\n\r\n for (let i = 0; i < props.templateListVersionHistoryProps.length; i++) {\r\n console.log(\r\n \"props.templateListVersionHistoryProps[i]\",\r\n props.templateListVersionHistoryProps[i],\r\n props.ObjectDataAuthorizationProps\r\n );\r\n\r\n let _dataFilter = props.ObjectDataAuthorizationProps.filter(\r\n (item: any) =>\r\n Number(props.templateListVersionHistoryProps[i].ModifiedBy) ===\r\n item.EmployeeId\r\n );\r\n if (_dataFilter.length !== 0) {\r\n props.templateListVersionHistoryProps[i].ModifiedByName =\r\n _dataFilter[0].NameEn;\r\n console.log(\"_dataFilter_dataFilter_dataFilter\", _dataFilter);\r\n } else {\r\n console.log(\"_dataFilter_dataFilter_dataFilter0\", _dataFilter);\r\n }\r\n }\r\n }, [\r\n props.ObjectDataAuthorizationProps,\r\n props.templateListVersionHistoryProps,\r\n ]);\r\n // useEffect(() => {\r\n // console.log(\"props.VersionDataProps.value2\", props.VersionDataProps.value2);\r\n // }, [props.VersionDataProps.value2]);\r\n useEffect(() => {\r\n console.log(\"controlModelVersionDataProps\", props.VersionDataProps);\r\n console.log(\"controlModelVersionTempVCProps\", props.VersionTempVCProps);\r\n console.log(\"controlModelversion\", props.version);\r\n if (\r\n props.VersionDataProps.masterId !== undefined &&\r\n props.VersionDataProps.masterId !== null &&\r\n props.VersionDataProps.masterId.length !== 0\r\n ) {\r\n if (\r\n props.VersionDataProps.value2 !== undefined &&\r\n props.VersionDataProps.value2 !== null &&\r\n props.VersionDataProps.value2.length !== 0 &&\r\n Boolean(props.VersionDataProps.value2)\r\n ) {\r\n // props.SetVersionDataProps((prevState: any) => ({\r\n // ...prevState,\r\n // ...props.VersionDataProps,\r\n // }));\r\n }\r\n } else {\r\n if (\r\n props.VersionDataProps.value2 !== undefined &&\r\n props.VersionDataProps.value2 !== null &&\r\n props.VersionDataProps.value2.length !== 0 &&\r\n Boolean(props.VersionDataProps.value2)\r\n ) {\r\n let value2 = props.version.value2.split(\"|\");\r\n\r\n if (\r\n props.VersionDataProps.value2 === undefined ||\r\n props.VersionDataProps.value2 === null ||\r\n props.VersionDataProps.value2.length === 0 ||\r\n props.VersionDataProps.value3 === undefined ||\r\n props.VersionDataProps.value3 === null ||\r\n props.VersionDataProps.value3.length === 0 ||\r\n props.VersionDataProps.value5 === undefined ||\r\n props.VersionDataProps.value5 === null ||\r\n props.VersionDataProps.value5.length === 0\r\n ) {\r\n props.SetVersionDataProps((prevState: any) => ({\r\n ...prevState,\r\n\r\n ...props.VersionDataProps,\r\n value3: \"Editing\",\r\n value5:\r\n props.VersionDataProps.value5 !== undefined &&\r\n props.VersionDataProps.value5 !== null &&\r\n props.VersionDataProps.value5.length !== 0\r\n ? props.VersionDataProps.value5\r\n : value2[1],\r\n }));\r\n }\r\n }\r\n }\r\n }, [props.VersionDataProps]);\r\n async function _CheckboxCpmponents(data: any, key: any) {\r\n props.setVersionCheckProps(data);\r\n props.SetVersionDataProps((prevState: any) => ({\r\n ...prevState,\r\n\r\n ...props.VersionDataProps,\r\n [key]: data.toString(),\r\n }));\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n Version and History\r\n

\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {props.VersionCheckProps && props.VersionDataProps.masterId !== \"\" && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default VersionAndHistoryComponents;\r\n","export const dataCompany = async () => {\r\n const respone = await fetch(\"/api/MasterCompany/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return (respone || []).filter((e: any) => e.IsActive === true);\r\n};\r\nexport const AddCompany = async (dataJson: any) => {\r\n const respone = await fetch(\"api/MasterCompany/AddCompany\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const UpdateCompany = async (dataJson: any) => {\r\n const respone = await fetch(\"api/MasterCompany/UpdateCompany\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { BiSave } from \"react-icons/bi\";\r\ntype Props = {\r\n visible: boolean;\r\n setVisible: (value: boolean) => void;\r\n header: string;\r\n refTemplateList: any[];\r\n rowSelectedData: any;\r\n onSaveObjTable: (Key: string, objTable: any) => void;\r\n};\r\n\r\nconst TableTemplateDialogComponentsFixed: React.FC = ({\r\n header,\r\n setVisible,\r\n visible,\r\n refTemplateList,\r\n rowSelectedData,\r\n onSaveObjTable,\r\n ...props\r\n}) => {\r\n const [objectTable, setObjectTable] = useState([]);\r\n\r\n const onShow = () => {\r\n console.log(\"ref=>rowSelectedData.objTable\", rowSelectedData);\r\n\r\n if (rowSelectedData?.objTable && rowSelectedData?.objTable.length !== 0) {\r\n setObjectTable([...rowSelectedData.objTable]);\r\n } else {\r\n let _objTable: any[] = [];\r\n rowSelectedData.column.forEach((e: any) => {\r\n _objTable.push({\r\n Key: e.control.template.label,\r\n Template: null,\r\n Value: null,\r\n TypeControl: null,\r\n objTable: [],\r\n });\r\n });\r\n setObjectTable([..._objTable]);\r\n }\r\n };\r\n\r\n const convertType = (type: string) => {\r\n let _type = \"\";\r\n if (type === \"an\") {\r\n _type = \"AutoNumber\";\r\n } else if (type === \"tb\") {\r\n _type = \"Table\";\r\n } else if (type === \"t\") {\r\n _type = \"ShortText\";\r\n } else if (type === \"d\") {\r\n _type = \"Calendar\";\r\n } else if (type === \"at\") {\r\n _type = \"Attachmen\";\r\n } else if (type === \"r\") {\r\n _type = \"Radio\";\r\n } else if (type === \"ta\") {\r\n _type = \"MultiLine\";\r\n } else if (type === \"c\") {\r\n _type = \"Decimal\";\r\n } else if (type === \"cb\") {\r\n _type = \"MultiChoice\";\r\n } else if (type === \"dd\") {\r\n _type = \"Dropdown\";\r\n } else if (type === \"ed\") {\r\n _type = \"Editor\";\r\n }\r\n return _type;\r\n };\r\n\r\n function actionBodyTemplate(rowData: any, option: any) {\r\n let options: any[] = [];\r\n\r\n let advanceForm: any = null;\r\n\r\n refTemplateList?.map((temp: any) => {\r\n if (\r\n temp.DocumentCode ===\r\n rowSelectedData.selectedValue.selectedValue.split(\"_\")[0]\r\n ) {\r\n advanceForm = JSON.parse(temp.AdvanceForm);\r\n }\r\n });\r\n if (advanceForm) {\r\n advanceForm.items.forEach((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n _layout.template.type === \"tb\" &&\r\n _layout.template.label ===\r\n rowSelectedData.selectedValue.selectedValue.split(\"_\")[1]\r\n ) {\r\n _layout.template.attribute.column.forEach((e: any) => {\r\n options.push({\r\n Key: rowData.Key,\r\n Template: null,\r\n Value: e.control.template.label,\r\n TypeControl: convertType(e.control.template.type),\r\n objTable: [],\r\n });\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n try {\r\n let _newObj = objectTable;\r\n _newObj = _newObj.map((obj: any) => {\r\n if (e.value) {\r\n if (obj.Key === e.value.Key) {\r\n obj = e.value;\r\n }\r\n } else if (rowData.Key === obj.Key) {\r\n obj.Value = null;\r\n }\r\n return obj;\r\n });\r\n\r\n setObjectTable([..._newObj]);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n placeholder=\"--Please Select--\"\r\n />\r\n \r\n );\r\n }\r\n\r\n const dialogFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={hide}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => {\r\n onSaveObjTable(header, objectTable);\r\n }}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const hide = () => {\r\n setVisible(false);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n }\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default TableTemplateDialogComponentsFixed;\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/ReferenceDocumentDialog.css\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateComponents/TableTemplateComponents.css\";\r\nimport { AutoComplete } from \"antd\";\r\nimport TableTemplateDialogComponentsFixed from \"../../DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateDialogComponents/TableTemplateDialogComponentsFixed\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { IMasterDataModel } from \"../../../IRequestModel/IMasterDataModel\";\r\nimport \"./ReferenceDocumentComponents.css\";\r\nimport { Button } from \"primereact/button\";\r\nimport {\r\n GetTemplate,\r\n GetTemplateById,\r\n} from \"../../../Services/TemplateService\";\r\n\r\ntype Props = {\r\n listRefTemplateProps: any;\r\n templateList: any[];\r\n visibleRefenceDocumentDialog: boolean;\r\n setVisibleRefenceDocumentDialog: (val: boolean) => void;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModelObj?: any;\r\n};\r\nconst ReferenceDocumentDialogFix: React.FC = ({\r\n listRefTemplateProps,\r\n templateList,\r\n visibleRefenceDocumentDialog,\r\n setVisibleRefenceDocumentDialog,\r\n setControlModelObj,\r\n controlModel,\r\n advanceForm,\r\n ...props\r\n}) => {\r\n const [referenceDocumentDialogObject, setReferenceDocumentDialogObject] =\r\n useState({\r\n RefDocDisplay: \"\",\r\n Display: { Position: \"Top\" },\r\n Mode: { Mode: \"Single\" },\r\n Affiliation: false,\r\n Quarter: false,\r\n ReferenceAttachment: false,\r\n IsDefaultLineApprove: false,\r\n DocControl: false,\r\n selectField: { selectField: \"\" },\r\n templateForm: [],\r\n tableDialog: false,\r\n listRefTemplate: [],\r\n rowDataTable: [],\r\n ReferenceForm: \"\",\r\n TemplateNewDoc: [],\r\n TemplateEditDoc: [],\r\n TemplateCancelDoc: [],\r\n SaveDataTable: [],\r\n });\r\n const [searchTemplateList, setSearchTemplateList] = useState([]);\r\n const [selectField, setSelectField] = useState([]);\r\n const [tableRefDialog, setTableRefDialog] = useState(false);\r\n const [tableRefData, setTableRefData] = useState();\r\n const [tableRefDialogHeader, setTableRefDialogHeader] = useState(\"\");\r\n const [templateAddCodeMulti, setTemplateAddCodeMulti] = useState([]);\r\n const [selectFieldtoshow, setSelectFieldtoshow] = useState([]);\r\n const [listMasterData, setListMasterData] = useState();\r\n const [refAd, setRefAd] = useState();\r\n const onShowDialog = async () => {\r\n try {\r\n setSearchTemplateList([...templateList]);\r\n await templateAddCode();\r\n if (controlModel) {\r\n const docControl: {\r\n isDocControl: boolean;\r\n D_NewTpl: any[];\r\n D_EditTpl: any[];\r\n D_CanTpl: any[];\r\n } = _IsDocControl(controlModel);\r\n const templateForm = controlModel.templateForm;\r\n const mappingLstMaster = _IsDocControl(controlModel);\r\n setListMasterData(mappingLstMaster);\r\n console.log(\"ref=>templateForm\", templateForm);\r\n\r\n let display: string[] = templateForm?.RefDocDisplay?.split(\",\");\r\n\r\n const defaultRefModel = {\r\n RefDocDisplay: templateForm.RefDocDisplay,\r\n Display:\r\n display[0] === \"Top\"\r\n ? { Position: \"Top\" }\r\n : display[0] === \"Bottom\"\r\n ? { Position: \"Bottom\" }\r\n : { Position: \"Top\" },\r\n Mode:\r\n display[1] === \"Single\"\r\n ? { Mode: \"Single\" }\r\n : display[1] === \"Multiselect\"\r\n ? { Mode: \"Multiselect\" }\r\n : { Mode: \"Single\" },\r\n ReferenceAttachment: display[5] === \"Yes\",\r\n Affiliation: display[3] === \"Yes\",\r\n Quarter: display[4] === \"Yes\",\r\n IsDefaultLineApprove:\r\n listRefTemplateProps[0]?.IsDefaultLineApprove || false,\r\n DocControl: docControl.isDocControl,\r\n selectField: { selectField: display[2] },\r\n templateForm: [],\r\n listRefTemplate: listRefTemplateProps,\r\n tableDialog: false,\r\n rowDataTable: [],\r\n ReferenceForm: \"\",\r\n TemplateNewDoc: docControl.D_NewTpl,\r\n TemplateEditDoc: docControl.D_EditTpl,\r\n TemplateCancelDoc: docControl.D_CanTpl,\r\n SaveDataTable: [],\r\n };\r\n dynamicSelect(templateForm);\r\n\r\n setReferenceDocumentDialogObject({ ...defaultRefModel });\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n };\r\n\r\n function _IsDocControl(_dataTemplate: any) {\r\n let _lstMasterData = _dataTemplate.lstMasterData;\r\n\r\n let res: {\r\n isDocControl: boolean;\r\n D_NewTpl: any[];\r\n D_EditTpl: any[];\r\n D_CanTpl: any[];\r\n } = {\r\n isDocControl: false,\r\n D_NewTpl: [],\r\n D_EditTpl: [],\r\n D_CanTpl: [],\r\n };\r\n if (_lstMasterData) {\r\n if (_lstMasterData?.length !== 0) {\r\n res.isDocControl = true;\r\n const _lstMasterDataSplitD_NewTpl = _lstMasterData\r\n .find((e: any) => e.masterType === \"D_NewTpl\")\r\n ?.value2.split(\",\");\r\n const _lstMasterDataSplitD_EditTpl = _lstMasterData\r\n .find((e: any) => e.masterType === \"D_EditTpl\")\r\n ?.value2.split(\",\");\r\n const _lstMasterDataSplitD_CanTpl = _lstMasterData\r\n .find((e: any) => e.masterType === \"D_CanTpl\")\r\n ?.value2.split(\",\");\r\n\r\n _lstMasterDataSplitD_NewTpl.forEach((data: any, inx: any) => {\r\n templateList.forEach((_data: any, inx: any) => {\r\n if (_data.TemplateId.toString() == data) {\r\n res.D_NewTpl.push(_data);\r\n }\r\n });\r\n });\r\n\r\n _lstMasterDataSplitD_EditTpl.forEach((data: any, inx: any) => {\r\n templateList.forEach((_data: any, inx: any) => {\r\n if (_data.TemplateId.toString() === data) {\r\n res.D_EditTpl.push(_data);\r\n }\r\n });\r\n });\r\n _lstMasterDataSplitD_CanTpl.forEach((data: any, inx: any) => {\r\n templateList.forEach((_data: any, inx: any) => {\r\n if (_data.TemplateId.toString() === data) {\r\n res.D_CanTpl.push(_data);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n return res;\r\n }\r\n\r\n const dialogHeader = () => {\r\n return (\r\n \r\n \r\n

\r\n Search Reference Document\r\n

\r\n \r\n
\r\n );\r\n };\r\n\r\n const dialogFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={hide}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n\r\n // const searchTemplate = (event: any) => {\r\n // // let filteredCountries = //suggestions\r\n // // setFilteredCountries(filteredCountries);\r\n // };\r\n\r\n const hide = () => {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n };\r\n\r\n const dynamicSelect = (templateForm: any) => {\r\n let seltectItems: any[] = [];\r\n try {\r\n if (\r\n templateForm.RefDocColumn &&\r\n templateForm.RefDocColumn !== \"\" &&\r\n templateForm.RefDocColumn !== \"[]\"\r\n ) {\r\n const _RefDocColumn = JSON.parse(templateForm.RefDocColumn);\r\n console.log(\"ref=>advanceForm\", advanceForm);\r\n\r\n advanceForm.items.map((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n console.log(\"ref=>advanceForm\", advanceForm);\r\n\r\n if (\r\n _layout.template.type !== \"em\" &&\r\n _layout.template.type !== \"l\"\r\n ) {\r\n let selectedCol: any = null;\r\n const _column = _RefDocColumn?.find(\r\n (refColumn: any) => refColumn.Key === _layout.template.label\r\n );\r\n\r\n if (_column) {\r\n if (_layout.template.type === \"tb\") {\r\n const objs = _column.objTable;\r\n selectedCol = _column;\r\n\r\n selectedCol.column = _layout.template.attribute.column;\r\n let newOBJ: any[] = [];\r\n _layout.template.attribute.column.forEach((col: any) => {\r\n const selectedOBJ = objs.find(\r\n (obj: any) => obj.Key === col.label\r\n );\r\n if (selectedOBJ) {\r\n newOBJ.push(selectedOBJ);\r\n } else {\r\n newOBJ.push({\r\n Key: col.label,\r\n Template: null,\r\n Value: null,\r\n TypeControl: null,\r\n objTable: [],\r\n });\r\n }\r\n });\r\n selectedCol.objTable = newOBJ;\r\n selectedCol.selectedValue = {\r\n selectedValue: _column.Value,\r\n type: _column.TypeControl,\r\n };\r\n } else {\r\n selectedCol = _column;\r\n selectedCol.selectedValue = {\r\n selectedValue: _column.Value,\r\n type: _column.TypeControl,\r\n };\r\n }\r\n } else {\r\n if (_layout.template.type === \"tb\") {\r\n selectedCol = {\r\n Key: _layout.template.label,\r\n Template: null,\r\n TypeControl: convertType(_layout.template.type),\r\n column: _layout.template.attribute.column,\r\n objTable: null,\r\n Value: \"\",\r\n };\r\n } else {\r\n selectedCol = {\r\n Key: _layout.template.label,\r\n Template: null,\r\n TypeControl: convertType(_layout.template.type),\r\n Value: \"\",\r\n };\r\n }\r\n }\r\n\r\n if (\r\n _layout.template.type !== \"em\" ||\r\n _layout.template.type === \"l\"\r\n ) {\r\n seltectItems.push(selectedCol);\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n advanceForm.items.map((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n _layout.template.type !== \"em\" &&\r\n _layout.template.type !== \"l\"\r\n ) {\r\n if (_layout.template.type === \"tb\") {\r\n seltectItems.push({\r\n Key: _layout.template.label,\r\n Template: null,\r\n column: _layout.template.attribute.column,\r\n objTable: null,\r\n });\r\n } else {\r\n seltectItems.push({\r\n Key: _layout.template.label,\r\n selectedValue: null,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n setSelectField([...seltectItems]);\r\n };\r\n\r\n const actionBodyTemplate = (rowData: any) => {\r\n let options: any[] = [\r\n {\r\n selectedValue: \"_\" + \"DocumentNo\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"DocumentAmount\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeeName\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeePosition\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeeDepartment\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"InformationFormName\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"InformationRequestDate\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"InformationCompany\",\r\n type: \"system\",\r\n },\r\n ];\r\n referenceDocumentDialogObject?.listRefTemplate?.map((temp: any) => {\r\n const _refTemp = templateList.find(\r\n (e) => e.TemplateId === temp.TemplateId\r\n );\r\n if (_refTemp) {\r\n const advanceForm = JSON.parse(_refTemp.AdvanceForm);\r\n advanceForm.items.forEach((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n !rowData.column &&\r\n _layout.template.type !== \"em\" &&\r\n _layout.template.type !== \"l\" &&\r\n _layout.template.type !== \"tb\"\r\n ) {\r\n options.push({\r\n selectedValue: temp.DocumentCode + \"_\" + _layout.template.label,\r\n type: convertType(_layout.template.type),\r\n });\r\n } else if (rowData.column) {\r\n if (_layout.template.type === \"tb\") {\r\n options.push({\r\n selectedValue:\r\n temp.DocumentCode + \"_\" + _layout.template.label,\r\n type: convertType(_layout.template.type),\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n });\r\n if (rowData.column) {\r\n options = options.filter((e) => e.type !== \"system\");\r\n }\r\n return (\r\n {\r\n let _selectField = selectField;\r\n _selectField.map((field: any) => {\r\n if (field.Key === rowData.Key) {\r\n field.selectedValue = e.value;\r\n }\r\n });\r\n setSelectField([..._selectField]);\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n placeholder=\"--Please Select--\"\r\n />\r\n );\r\n };\r\n\r\n function _ReferenceDocumentDialog(data: any, key: any) {\r\n let _Object: any = referenceDocumentDialogObject;\r\n\r\n _Object[key] = data === null || data === undefined ? _Object[key] : data;\r\n setReferenceDocumentDialogObject((prevState: any) => ({\r\n ...prevState,\r\n ..._Object,\r\n }));\r\n\r\n if (key === \"TemplateNewDoc\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n D_NewTpl: data,\r\n }));\r\n } else if (key === \"TemplateEditDoc\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n D_EditTpl: data,\r\n }));\r\n } else if (key === \"TemplateCancelDoc\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n D_CanTpl: data,\r\n }));\r\n } else if (key === \"DocControl\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n isDocControl: data,\r\n }));\r\n }\r\n }\r\n\r\n const getOptions = () => {\r\n let _list: any[] = [];\r\n templateList.forEach((e: any) => {\r\n _list.push({ value: e.DocumentCode + \"_\" + e.TemplateName });\r\n });\r\n return _list;\r\n };\r\n\r\n const convertType = (type: string) => {\r\n let _type = \"\";\r\n if (type === \"an\") {\r\n _type = \"AutoNumber\";\r\n } else if (type === \"tb\") {\r\n _type = \"Table\";\r\n } else if (type === \"t\") {\r\n _type = \"ShortText\";\r\n } else if (type === \"d\") {\r\n _type = \"Calendar\";\r\n } else if (type === \"at\") {\r\n _type = \"Attachmen\";\r\n } else if (type === \"r\") {\r\n _type = \"Radio\";\r\n } else if (type === \"ta\") {\r\n _type = \"MultiLine\";\r\n } else if (type === \"c\") {\r\n _type = \"Decimal\";\r\n } else if (type === \"cb\") {\r\n _type = \"MultiChoice\";\r\n } else if (type === \"dd\") {\r\n _type = \"Dropdown\";\r\n } else if (type === \"ed\") {\r\n _type = \"Editor\";\r\n }\r\n return _type;\r\n };\r\n\r\n const onSave = () => {\r\n try {\r\n let _result: any[] = [];\r\n selectField.map((e: any) => {\r\n if (e.selectedValue) {\r\n if (e.selectedValue?.type === \"Table\") {\r\n _result.push({\r\n Key: e.Key,\r\n Template: null,\r\n column: e.column,\r\n objTable: e.objTable,\r\n TypeControl: e.selectedValue?.type,\r\n Value: e.selectedValue.selectedValue,\r\n });\r\n } else {\r\n _result.push({\r\n Key: e.Key,\r\n Template: null,\r\n TypeControl: e.selectedValue?.type,\r\n Value: e.selectedValue.selectedValue,\r\n });\r\n }\r\n }\r\n });\r\n const _controlModel = controlModel;\r\n let display: string[] =\r\n _controlModel?.templateForm.RefDocDisplay?.split(\",\");\r\n display[0] = referenceDocumentDialogObject.Display.Position;\r\n display[1] = referenceDocumentDialogObject.Mode.Mode;\r\n display[2] = referenceDocumentDialogObject.selectField.selectField;\r\n display[3] = referenceDocumentDialogObject.Affiliation ? \"Yes\" : \"No\";\r\n display[4] = referenceDocumentDialogObject.Quarter ? \"Yes\" : \"No\";\r\n display[5] = referenceDocumentDialogObject.ReferenceAttachment\r\n ? \"Yes\"\r\n : \"No\";\r\n let RefTemplate: any[] = [];\r\n referenceDocumentDialogObject.listRefTemplate.map((e: any) => {\r\n RefTemplate.push({\r\n TemplateId: e.TemplateId,\r\n DocumentCode: e.DocumentCode,\r\n TemplateName: e.TemplateName,\r\n TemplateSubject: e.TemplateSubject,\r\n IsDefaultLineApprove:\r\n referenceDocumentDialogObject.IsDefaultLineApprove,\r\n AdvanceForm: e.AdvanceForm,\r\n });\r\n });\r\n\r\n const lstMastData = lstMastDataFunction(\r\n _controlModel.templateForm.TemplateId,\r\n _controlModel.lstMasterData\r\n );\r\n console.log(lstMastData, \"controlModel_lstMastData\");\r\n\r\n _controlModel.lstMasterData = lstMastData;\r\n _controlModel.templateForm.RefDocDisplay = display.join(\",\");\r\n _controlModel.templateForm.RefDocColumn = JSON.stringify(_result);\r\n _controlModel.templateForm.RefTemplate = JSON.stringify(RefTemplate);\r\n _controlModel.listRefTemplate = RefTemplate;\r\n console.log(\"ref=>listRefTemplate=>error\", _controlModel);\r\n setControlModelObj({ ..._controlModel });\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n } catch (error) {\r\n console.log(\"ref=>onSave=>error\", error);\r\n }\r\n };\r\n function lstMastDataFunction(templateId: number, _lstMasterData: any) {\r\n const _list = listMasterData;\r\n let array: any[] = [];\r\n console.log(_list, \"controlModel66999\");\r\n\r\n if (_list.isDocControl) {\r\n let newTplId;\r\n let editTplId;\r\n let canTplId;\r\n for (let i = 0; i < _lstMasterData.length; i++) {\r\n const element = _lstMasterData[i];\r\n if (element.masterType === \"D_NewTpl\") {\r\n newTplId = element.masterId;\r\n } else if (element.masterType === \"D_EditTpl\") {\r\n editTplId = element.masterId;\r\n } else if (element.masterType === \"D_CanTpl\") {\r\n canTplId = element.masterId;\r\n }\r\n }\r\n var requestModelD_NewTpl: IMasterDataModel = {\r\n isActive: true,\r\n masterId: newTplId || null,\r\n masterType: \"D_NewTpl\",\r\n createdBy: null,\r\n createdDate: null,\r\n modifiedBy: null,\r\n modifiedDate: null,\r\n seq: null,\r\n value1: templateId.toString(),\r\n value2:\r\n listMasterData.D_NewTpl.map((item: any) => {\r\n return item.TemplateId;\r\n }).join(\",\") || \"\",\r\n value3: null,\r\n value4: null,\r\n value5: null,\r\n };\r\n array.push(requestModelD_NewTpl);\r\n var requestModelD_EditTpl: IMasterDataModel = {\r\n isActive: true,\r\n masterId: editTplId || null,\r\n masterType: \"D_EditTpl\",\r\n createdBy: null,\r\n createdDate: null,\r\n modifiedBy: null,\r\n modifiedDate: null,\r\n seq: null,\r\n value1: templateId.toString(),\r\n value2:\r\n listMasterData.D_EditTpl.map((item: any) => {\r\n return item.TemplateId;\r\n }).join(\",\") || \"\",\r\n value3: null,\r\n value4: null,\r\n value5: null,\r\n };\r\n array.push(requestModelD_EditTpl);\r\n var requestModelD_CanTpl: IMasterDataModel = {\r\n isActive: true,\r\n masterId: canTplId || null,\r\n masterType: \"D_CanTpl\",\r\n createdBy: null,\r\n createdDate: null,\r\n modifiedBy: null,\r\n modifiedDate: null,\r\n seq: null,\r\n value1: templateId.toString(),\r\n value2:\r\n listMasterData.D_CanTpl.map((item: any) => {\r\n return item.TemplateId;\r\n }).join(\",\") || \"\",\r\n value3: null,\r\n value4: null,\r\n value5: null,\r\n };\r\n array.push(requestModelD_CanTpl);\r\n }\r\n return array;\r\n }\r\n function actionBodyTemplateTable(rowData: any, option: any) {\r\n if (rowData?.selectedValue?.type === \"Table\") {\r\n return (\r\n <>\r\n {\r\n setTableRefData({ ...rowData });\r\n setTableRefDialogHeader(rowData.Key);\r\n setTableRefDialog(true);\r\n // props.setValueTableProps(\r\n // !props.tableDialog,\r\n // props.keyTableDialog\r\n // );\r\n // console.log(\"rowData\", rowData);\r\n // props.setValueTableProps(rowData, \"rowDataTable\");\r\n // props.setValueTableProps(\r\n // refTemplate === undefined || refTemplate === null\r\n // ? \"\"\r\n // : refTemplate.length === 0\r\n // ? null\r\n // : refTemplate[0].TemplateNameWithCode,\r\n // \"ReferenceForm\"\r\n // );\r\n }}\r\n >\r\n {rowData.Key}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n

{rowData.Key}

\r\n \r\n );\r\n }\r\n }\r\n\r\n const onTableDialogSave = (Key: string, objTable: any) => {\r\n tableRefData.objTable = objTable;\r\n let _selectField = selectField;\r\n _selectField = _selectField.map((e: any) => {\r\n if (e.Key === Key) {\r\n e.objTable = objTable;\r\n }\r\n return e;\r\n });\r\n setSelectField([..._selectField]);\r\n setTableRefDialog(false);\r\n };\r\n\r\n function templateAddCode() {\r\n let _dataTemplate: any[] = templateList;\r\n _dataTemplate.map((_dataMap: any, inx: any) => {\r\n _dataMap[\"code\"] = _dataMap.TemplateId.toString();\r\n _dataMap[\"TemplateNameWithCodeMulti\"] =\r\n _dataMap.TemplateId.toString() + \": \" + _dataMap.TemplateName;\r\n });\r\n setTemplateAddCodeMulti([..._dataTemplate]);\r\n }\r\n\r\n useEffect(() => {\r\n _MapSelectTable(referenceDocumentDialogObject.listRefTemplate);\r\n }, [referenceDocumentDialogObject]);\r\n async function _MapSelectTable(_data: any) {\r\n try {\r\n console.log(\"ref=>\", referenceDocumentDialogObject);\r\n let _arraySelect: any = [];\r\n\r\n let _referenceDocumentDialogObject =\r\n referenceDocumentDialogObject.listRefTemplate === undefined ||\r\n referenceDocumentDialogObject.listRefTemplate === null\r\n ? []\r\n : referenceDocumentDialogObject.listRefTemplate;\r\n if (\r\n _referenceDocumentDialogObject !== undefined &&\r\n _referenceDocumentDialogObject !== null &&\r\n _referenceDocumentDialogObject.length !== 0\r\n ) {\r\n _data.map((data: any, inx: any) => {\r\n let _items =\r\n data.AdvanceForm !== undefined\r\n ? data.AdvanceForm !== null\r\n ? data.AdvanceForm.length !== 0\r\n ? JSON.parse(data.AdvanceForm)\r\n : []\r\n : []\r\n : [];\r\n console.log(\"ref=>222\", _items);\r\n if (\r\n _items.items !== undefined &&\r\n _items.items !== null &&\r\n _items.items.length !== 0\r\n ) {\r\n _items.items.map((data: any, inx: any) => {\r\n _arraySelect.push(data);\r\n });\r\n }\r\n });\r\n } else {\r\n _arraySelect = [];\r\n referenceDocumentDialogObject.selectField.selectField = undefined;\r\n }\r\n if (_arraySelect.length !== 0) {\r\n _MapSelectTableItem(_arraySelect);\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n\r\n async function _MapSelectTableItem(_data: any) {\r\n try {\r\n let _dataItem = _data;\r\n let _arraylayout: any = [];\r\n _dataItem.map((data: any, inx: any) => {\r\n let layout = data.layout;\r\n\r\n for (let i = 0; i < layout.length; i++) {\r\n const element = layout[i].template;\r\n if (\r\n (element.istext !== \"Y\" && element.type === \"t\") ||\r\n (element.istext !== \"Y\" && element.type === \"dd\") ||\r\n (element.istext !== \"Y\" && element.type === \"cb\") ||\r\n (element.istext !== \"Y\" && element.type === \"ta\") ||\r\n (element.istext !== \"Y\" && element.type === \"c\") ||\r\n (element.istext !== \"Y\" && element.type === \"d\") ||\r\n (element.istext !== \"Y\" && element.type === \"an\") ||\r\n (element.istext !== \"Y\" && element.type === \"ed\")\r\n ) {\r\n _arraylayout.push({ selectField: element.label });\r\n }\r\n }\r\n });\r\n\r\n _arraylayout.push({ selectField: \"Information DocumentNo\" });\r\n setSelectFieldtoshow([..._arraylayout]);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _ReferenceDocumentDialog(e.value, \"Display\");\r\n }}\r\n options={[{ Position: \"Top\" }, { Position: \"Bottom\" }]}\r\n optionLabel={\"Position\"}\r\n />\r\n\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _ReferenceDocumentDialog(e.value, \"Mode\");\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n {referenceDocumentDialogObject.DocControl && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _ReferenceDocumentDialog(e.value, \"TemplateNewDoc\");\r\n }}\r\n optionLabel=\"TemplateNameWithCodeMulti\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor:\r\n referenceDocumentDialogObject.DocControl === true\r\n ? referenceDocumentDialogObject.TemplateNewDoc\r\n .length === 0\r\n ? \"red\"\r\n : undefined\r\n : undefined,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n _ReferenceDocumentDialog(e.value, \"TemplateEditDoc\")\r\n }\r\n optionLabel=\"TemplateNameWithCodeMulti\"\r\n placeholder=\"--Please Select--\"\r\n display=\"chip\"\r\n filter\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor:\r\n referenceDocumentDialogObject.DocControl === true\r\n ? referenceDocumentDialogObject.TemplateEditDoc\r\n .length === 0\r\n ? \"red\"\r\n : undefined\r\n : undefined,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n _ReferenceDocumentDialog(e.value, \"TemplateCancelDoc\")\r\n }\r\n optionLabel=\"TemplateNameWithCodeMulti\"\r\n placeholder=\"--Please Select--\"\r\n display=\"chip\"\r\n filter\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor:\r\n referenceDocumentDialogObject.DocControl === true\r\n ? referenceDocumentDialogObject.TemplateCancelDoc\r\n .length === 0\r\n ? \"red\"\r\n : undefined\r\n : undefined,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n // option?.DocumentCode?.toString()\r\n // .toUpperCase()\r\n // .indexOf(inputValue.toUpperCase()) !== -1\r\n option.value\r\n .toLowerCase()\r\n .includes(inputValue.toLowerCase())\r\n }\r\n onChange={(e: any) => {\r\n try {\r\n let value = e.split(\"_\")[0];\r\n setSearchTemplateList([\r\n ...templateList.filter(\r\n (template: any) =>\r\n template.DocumentCode.toLowerCase().startsWith(\r\n value.toLowerCase()\r\n ) ||\r\n template.TemplateSubject.toLowerCase().startsWith(\r\n value.toLowerCase()\r\n ) ||\r\n template.TemplateName.toLowerCase().startsWith(\r\n value.toLowerCase()\r\n )\r\n ),\r\n ]);\r\n } catch (error) {\r\n console.log(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n // onBlur={(e: any) => {\r\n // try {\r\n // let value = e.target.value;\r\n // } catch (error) {\r\n // console.log(\"table=>onFilter=>error\", error);\r\n // }\r\n // }}\r\n // onSelect={(e: any) => {\r\n // try {\r\n // let value = e;\r\n // } catch (error) {\r\n // console.log(\"table=>onFilter=>error\", error);\r\n // }\r\n allowClear\r\n // }}\r\n />\r\n
\r\n \r\n {/*
\r\n */}\r\n \r\n {\r\n let listRefTemplate = referenceDocumentDialogObject;\r\n listRefTemplate.listRefTemplate = e.value;\r\n _MapSelectTable(listRefTemplate.listRefTemplate);\r\n setReferenceDocumentDialogObject({ ...listRefTemplate });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n Selected Reference Document\r\n

\r\n

\r\n เอกสารอ้างอิงที่เลือก\r\n

\r\n \r\n
\r\n \r\n console.log(\r\n \"ref=>referenceDocumentDialogObject\",\r\n referenceDocumentDialogObject\r\n )\r\n }\r\n >\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n {\r\n let listRefTemplate = referenceDocumentDialogObject;\r\n listRefTemplate.listRefTemplate =\r\n listRefTemplate.listRefTemplate.filter(\r\n (e: any) => e.TemplateId !== rowData.TemplateId\r\n );\r\n setReferenceDocumentDialogObject({\r\n ...listRefTemplate,\r\n });\r\n }}\r\n />\r\n \r\n )}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n let _refObject = referenceDocumentDialogObject;\r\n _refObject.selectField = e.value;\r\n console.log(\"ref=>_refObject\", _refObject, selectField);\r\n\r\n setReferenceDocumentDialogObject({ ..._refObject });\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n />\r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n body={actionBodyTemplateTable}\r\n >\r\n \r\n }\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n \r\n\r\n {/* */}\r\n\r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReferenceDocumentDialogFix;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport {\r\n GetTemplateByDocTypeCode,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../../Services/TemplateService\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"./ReferenceDocumentComponents.css\";\r\nimport ReferenceDocumentDialogFix from \"./ReferenceDocumentDialogFix\";\r\ntype Props = {\r\n listRefTemplateProps: any;\r\n stateProps: any;\r\n controlModelObj: any;\r\n setControlModelObj: any;\r\n advanceForm: any;\r\n};\r\n\r\nexport const ReferenceDocumentComponentsFix = (props: Props) => {\r\n const [visibleRefenceDocumentDialog, setVisibleRefenceDocumentDialog] =\r\n useState(false);\r\n const [isLoadTemplate, setIsLoadTemplate] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const [mstTemplateList, setMstTemplateList] = useState([]);\r\n\r\n useEffect(() => {\r\n setIsLoadTemplate(true);\r\n fetchTemplate();\r\n fecthRefTemplate();\r\n }, []);\r\n\r\n async function fetchTemplate() {\r\n const empid = userData.EmployeeId;\r\n\r\n const dataJson = {\r\n CreatedBy: empid.toString(),\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateTemplateListVersion(dataJson);\r\n let arrayTemplate: any = [];\r\n _dataTemplatee.map((data: any) => {\r\n if (data.IsTextForm !== true) arrayTemplate.push(data);\r\n });\r\n // templateAddCode([...arrayTemplate]);\r\n setMstTemplateList([...arrayTemplate]);\r\n // setFilters([...arrayTemplate]);\r\n setIsLoadTemplate(false);\r\n }\r\n\r\n const fecthRefTemplate = () => {\r\n if (props.listRefTemplateProps.listRefTemplate.length > 0) {\r\n let newRef: any[] = [];\r\n let _listRefTemp = props.listRefTemplateProps;\r\n _listRefTemp.listRefTemplate.map(async (e: any) => {\r\n const ref = await GetTemplateByDocTypeCode({\r\n DocumentCode: e.DocumentCode,\r\n });\r\n if (ref) {\r\n ref.IsDefaultLineApprove = e.IsDefaultLineApprove;\r\n console.log(\"ref=> ref\", ref);\r\n\r\n newRef.push(ref);\r\n }\r\n props.listRefTemplateProps.listRefTemplate = newRef;\r\n props.setControlModelObj({ ...props.listRefTemplateProps });\r\n });\r\n }\r\n };\r\n\r\n // async function ReferenceDocumentObj(data: any, key: any) {\r\n // let _Object: any = listRefTemplate;\r\n // _Object[key] = data;\r\n\r\n // props.setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // ..._Object,\r\n // }));\r\n // }\r\n // async function ReferenceDocumentActionObj(data: any, key: any) {\r\n // let _Object: any = listRefTemplate;\r\n // _Object.templateForm.RefTemplate = JSON.stringify(data);\r\n // _Object[key] = data;\r\n // if (\r\n // _Object.templateForm.RefTemplate !== undefined &&\r\n // _Object.templateForm.RefTemplate !== null &&\r\n // (_Object.templateForm.RefTemplate.length === 0 ||\r\n // _Object.templateForm.RefTemplate === \"[]\")\r\n // ) {\r\n // _Object.templateForm.RefDocDisplay = \"\";\r\n // _Object.templateForm.RefDocColumn = \"\";\r\n // _Object.templateForm.RefTemplate = \"\";\r\n // }\r\n // props.setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // ..._Object,\r\n // }));\r\n // }\r\n function onClickVisible() {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n }\r\n\r\n const onClickAction = async (event: any) => {\r\n let _event: any = event;\r\n const dataFilter = props.listRefTemplateProps.listRefTemplate.filter(\r\n (item: any) => _event !== item\r\n );\r\n const obj = JSON.parse(\r\n props.listRefTemplateProps.templateForm.RefDocColumn\r\n );\r\n\r\n console.log(\r\n \"Ref\",\r\n obj,\r\n props.listRefTemplateProps.templateForm.RefDocColumn\r\n );\r\n\r\n const filterRefDocColum = obj.filter(\r\n (value: any) => !value.Value.includes(_event.DocumentCode)\r\n );\r\n console.log(\"filterRefDocColum\", filterRefDocColum);\r\n\r\n console.log(\"_event\", _event);\r\n\r\n props.listRefTemplateProps.templateForm.RefDocColumn =\r\n JSON.stringify(filterRefDocColum);\r\n\r\n props.listRefTemplateProps.listRefTemplate = dataFilter;\r\n props.listRefTemplateProps.templateForm.RefTemplate =\r\n JSON.stringify(dataFilter);\r\n props.setControlModelObj({ ...props.listRefTemplateProps });\r\n };\r\n function actionBodyTemplate(rowData: any) {\r\n return (\r\n <>\r\n onClickAction(rowData)}\r\n />\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n Reference Document\r\n

\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n \r\n \r\n }\r\n setClassNameProps={\"p-button-text-position\"}\r\n disabledProps={\r\n props?.listRefTemplateProps?.templateForm?.IsTextForm\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n style={{ textAlign: \"start\" }}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n >\r\n\r\n \r\n }\r\n headerStyle={{ width: \"5rem\" }}\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/ReferenceDocumentDialog.css\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateComponents/TableTemplateComponents.css\";\r\nimport \"./ReferenceInformationComponents.css\";\r\n\r\ntype Props = {\r\n visibleRefenceDocumentDialog: boolean;\r\n setVisibleRefenceDocumentDialog: (val: boolean) => void;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModelObj?: any;\r\n listRefInformationProps: any;\r\n setRefInformation: any;\r\n refInformation: any;\r\n refLogic: any;\r\n dataLogic: any;\r\n setLogicsRefIn: any;\r\n};\r\nconst ReferenceInformationDialog: React.FC = ({\r\n visibleRefenceDocumentDialog,\r\n setVisibleRefenceDocumentDialog,\r\n setControlModelObj,\r\n controlModel,\r\n advanceForm,\r\n listRefInformationProps,\r\n refInformation,\r\n setRefInformation,\r\n refLogic,\r\n dataLogic,\r\n setLogicsRefIn,\r\n ...props\r\n}) => {\r\n const [templateSelected, setTemplateSelected] = useState(\"\");\r\n const [requestSelected, setRequestorSelected] = useState(\"\");\r\n const [templateField, setTemplateField] = useState(\"\");\r\n const [requestField, setRequestorField] = useState(\"\");\r\n\r\n const dialogHeader = () => {\r\n return (\r\n \r\n \r\n

\r\n Search Reference Document\r\n

\r\n \r\n
\r\n );\r\n };\r\n\r\n const dialogFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={hide}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n useEffect(() => {\r\n fetchTemplatData();\r\n fetchRequestorData();\r\n }, []);\r\n\r\n async function fetchTemplatData() {\r\n let arrayFliedTest: any = [];\r\n const _advanceForm = advanceForm.items;\r\n let label: string;\r\n let key: string;\r\n let type: string;\r\n\r\n for (let i = 0; i < _advanceForm.length; i++) {\r\n let layout = _advanceForm[i].layout;\r\n for (let j = 0; j < layout.length; j++) {\r\n let template = layout[j].template;\r\n if (\r\n template.type !== \"tb\" &&\r\n template.type !== \"l\" &&\r\n template.type !== \"em\" &&\r\n template.type !== \"bt\" &&\r\n template.type !== \"d\"\r\n ) {\r\n label = template.label;\r\n key = template.label;\r\n type = template.type;\r\n arrayFliedTest.push({ label, key, type });\r\n }\r\n }\r\n }\r\n setTemplateField(arrayFliedTest);\r\n }\r\n\r\n async function fetchRequestorData() {\r\n const requestorLabel = [\r\n { label: \"Requestor_Employee_code\", key: \"Requestor_Employee_code\" },\r\n { label: \"Requestor_Name\", key: \"Requestor_Name\" },\r\n { label: \"Requestor_Positon\", key: \"Requestor_Positon\" },\r\n { label: \"Requestor_Division\", key: \"Requestor_Division\" },\r\n { label: \"Requestor_Department\", key: \"Requestor_Department\" },\r\n { label: \"Requestor_Email\", key: \"Requestor_Email\" },\r\n ];\r\n\r\n setRequestorField(requestorLabel);\r\n }\r\n\r\n const hide = () => {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n };\r\n\r\n const onSave = () => {\r\n try {\r\n let refValue;\r\n refValue = {\r\n condition: templateSelected.label,\r\n required: requestSelected.label,\r\n };\r\n\r\n let arrayRef = refInformation ? refInformation : [];\r\n arrayRef.push(refValue);\r\n setRefInformation(arrayRef);\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n setTemplateSelected(\"\");\r\n setRequestorSelected(\"\");\r\n\r\n let TemplateLogic: any[] = [];\r\n\r\n let logicControl: any[] = [];\r\n arrayRef.map((cons: any) => {\r\n if (\r\n logicControl.filter((e: any) => e.label === cons.condition).length ===\r\n 0\r\n ) {\r\n logicControl.push({\r\n condition: cons.condition,\r\n required: cons.required,\r\n });\r\n }\r\n });\r\n\r\n logicControl.map((logic: any, idx: number) => {\r\n TemplateLogic.push({\r\n Seq: idx + 1,\r\n Logictype: \"refinfomation\",\r\n Jsonvalue: JSON.stringify(logic),\r\n });\r\n });\r\n\r\n setLogicsRefIn([...TemplateLogic]);\r\n // if (TemplateLogic.length > 0) {\r\n // setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // cMSTTemplateLogic: [...TemplateLogic],\r\n // }));\r\n // }\r\n } catch (error) {\r\n console.error(\"ref=>onSave=>error\", error);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {\r\n console.log(controlModel, \"controlModel\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setTemplateSelected(e.value);\r\n }}\r\n optionLabel={\"label\"}\r\n filter\r\n showClear\r\n filterBy={\"label\"}\r\n options={templateField}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setRequestorSelected(e.value);\r\n }}\r\n optionLabel={\"label\"}\r\n filter\r\n showClear\r\n filterBy={\"label\"}\r\n options={requestField}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReferenceInformationDialog;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport \"./ReferenceInformationComponents.css\";\r\nimport ReferenceInformationDialog from \"./ReferenceInformationDialog\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport { ILogicReferenceInformation } from \"../../../IRequestModel/ILogicModel\";\r\n\r\ntype Props = {\r\n listRefInformationProps: any;\r\n stateProps: any;\r\n controlModelObj: any;\r\n setControlModelObj: any;\r\n advanceForm: any;\r\n dataLogic: any;\r\n setLogicsRefIn: any;\r\n};\r\n\r\nexport const ReferenceInformation = (props: Props) => {\r\n const [visibleRefenceDocumentDialog, setVisibleRefenceDocumentDialog] =\r\n useState(false);\r\n\r\n const [referenceData, setReferenceData] = useState();\r\n const [refLogic, setRefLogic] = useState([]);\r\n\r\n const [refInformation, setRefInformation] = useState();\r\n\r\n useEffect(() => {\r\n if (props.dataLogic) {\r\n let dataValue = [];\r\n for (let i = 0; i < props.dataLogic?.length; i++) {\r\n const logic = props.dataLogic[i];\r\n if (logic.logictype === \"refinfomation\") {\r\n const jsonValue: ILogicReferenceInformation =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n dataValue.push(jsonValue);\r\n refLogic.push(logic);\r\n }\r\n setReferenceData(dataValue);\r\n setRefLogic(refLogic);\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (referenceData) {\r\n //setReferenceData(props.refInformation);\r\n fecthRefInformation();\r\n }\r\n }, [referenceData]);\r\n const fecthRefInformation = () => {\r\n try {\r\n let TemplateLogic: any[] = [];\r\n let arrayRef = referenceData;\r\n let Logics = [];\r\n // TemplateLogic = Logics;\r\n let logicControl: any[] = [];\r\n arrayRef.map((cons: any) => {\r\n if (\r\n logicControl.filter((e: any) => e.label === cons.condition).length ===\r\n 0\r\n ) {\r\n logicControl.push({\r\n condition: cons.condition,\r\n required: cons.required,\r\n });\r\n }\r\n });\r\n\r\n logicControl.forEach((logic: any, idx: number) => {\r\n TemplateLogic.push({\r\n Seq: idx + 1,\r\n Logictype: \"refinfomation\",\r\n Jsonvalue: JSON.stringify(logic),\r\n LstCondition: [],\r\n });\r\n });\r\n\r\n props.setLogicsRefIn([...TemplateLogic]);\r\n // if (TemplateLogic.length > 0) {\r\n // props.setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // cMSTTemplateLogic: [...TemplateLogic],\r\n // }));\r\n // }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n function onClickVisible() {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n }\r\n\r\n const onDeleteRow = (data: any, setData: any, rowIdx: number) => {\r\n let selected: any = [...data];\r\n let TemplateLogic: any[] = [];\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n selected.splice(rowIdx, 1);\r\n selected.map((e: any, idx: number) => {\r\n e.Seq = idx + 1;\r\n });\r\n setData(selected);\r\n setRefInformation(selected);\r\n\r\n let Logics = props.dataLogic.filter(\r\n (element: any) => element.Logictype !== \"refinfomation\"\r\n );\r\n\r\n Logics.push(...selected);\r\n console.log(\"refInformationcMSTTemplateLogic\", Logics);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n cMSTTemplateLogic: Logics,\r\n }));\r\n },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Reference Information\r\n

\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n \r\n \r\n }\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n style={{ textAlign: \"start\" }}\r\n body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n style={{ textAlign: \"start\" }}\r\n >\r\n \r\n }\r\n >\r\n\r\n \r\n }\r\n headerStyle={{ width: \"5rem\" }}\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n referenceData,\r\n setReferenceData,\r\n options.rowIndex\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n","import { createContext, ReactNode, useRef, useState } from \"react\";\r\nimport React from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\ninterface PDFEditorProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport interface ILayoutTemplate {\r\n action: string;\r\n label: string;\r\n type: string;\r\n count: number;\r\n layoutType: string;\r\n value: string;\r\n attribute?: IControlProperty;\r\n}\r\n\r\nexport interface IControlProperty {\r\n default: string;\r\n fontSize: number;\r\n isItalic: boolean;\r\n isUnderlined: boolean;\r\n isBold: boolean;\r\n color: string;\r\n hAlign: string;\r\n vAlign: string;\r\n urlLink: string;\r\n fontFamily: \"Arial\";\r\n hideLabel?: boolean;\r\n column?: ILayoutTemplate[];\r\n backgroundSize: \"contain\" | \"cover\" | \"fill\";\r\n}\r\n\r\nexport interface IControlLayout {\r\n i: string;\r\n x: number;\r\n y: number;\r\n w: number;\r\n h: number;\r\n static: boolean;\r\n minW?: number;\r\n minH?: number;\r\n isDraggable?: boolean;\r\n isResizable?: boolean;\r\n moved?: boolean;\r\n type: \"header\" | \"body\" | \"footer\" | \"content\";\r\n template: ILayoutTemplate;\r\n children?: IControlLayout[];\r\n}\r\n\r\nexport interface IPageProperty {\r\n doctype: \"A4\" | \"Letter\" | \"custom\";\r\n isDragingFromOutSide: boolean;\r\n gridSize: number;\r\n padding: number;\r\n dragingType?: \"header\" | \"body\" | \"footer\" | \"content\";\r\n pageAmount: number;\r\n pageSize: { width: number; height: number };\r\n}\r\n\r\nexport interface IPaperLayout {\r\n header: IControlLayout;\r\n body: IControlLayout;\r\n foot: IControlLayout;\r\n}\r\n\r\ninterface IPDFContextType {\r\n paperLayout: IControlLayout[];\r\n pageProperty: IPageProperty;\r\n setPaperLayout: (panelLayout: IControlLayout[]) => void;\r\n addLayout: (\r\n parent: \"header\" | \"body\" | \"footer\" | \"content\",\r\n item: any,\r\n template: ILayoutTemplate\r\n ) => void;\r\n updatePageProperties: (params: Partial) => void;\r\n refHtml: React.MutableRefObject;\r\n selectionBlock?: IControlLayout;\r\n onSelectChange: (template: IControlLayout) => void;\r\n onSelectPropertyChange: (props: IControlProperty) => void;\r\n onDeselected: () => void;\r\n removeSelectedChild: (parent: string) => void;\r\n}\r\n\r\nconst PDFEditorContext = createContext(null);\r\n\r\nconst PDFEditorProvider: React.FC = (props) => {\r\n const [paperLayout, setPaperLayout] = useState([\r\n {\r\n i: \"header\",\r\n x: 0,\r\n y: 0,\r\n w: 12,\r\n h: 4,\r\n static: false,\r\n minW: 12,\r\n type: \"header\",\r\n template: {\r\n label: \"header\",\r\n type: \"header\",\r\n action: \"\",\r\n count: 0,\r\n layoutType: \"\",\r\n value: \"\",\r\n attribute: undefined,\r\n },\r\n children: [],\r\n },\r\n {\r\n i: \"body\",\r\n x: 0,\r\n y: 4,\r\n w: 12,\r\n h: 4,\r\n static: false,\r\n minW: 12,\r\n type: \"body\",\r\n template: {\r\n label: \"body\",\r\n type: \"body\",\r\n action: \"\",\r\n count: 0,\r\n layoutType: \"\",\r\n value: \"\",\r\n },\r\n children: [],\r\n },\r\n {\r\n i: \"footer\",\r\n x: 0,\r\n y: 8,\r\n w: 12,\r\n h: 4,\r\n static: false,\r\n minW: 12,\r\n type: \"footer\",\r\n template: {\r\n label: \"footer\",\r\n type: \"footer\",\r\n action: \"\",\r\n count: 0,\r\n layoutType: \"\",\r\n value: \"\",\r\n },\r\n children: [],\r\n },\r\n ]);\r\n\r\n const [pageProperty, setPageProperty] = useState({\r\n doctype: \"A4\",\r\n pageAmount: 1,\r\n gridSize: 15,\r\n padding: 5,\r\n pageSize: { width: 595, height: 842 },\r\n isDragingFromOutSide: false,\r\n });\r\n\r\n const [selectionBlock, setSelectionBlock] = useState();\r\n\r\n const refHtml = useRef(null);\r\n\r\n const addLayout = (\r\n parent: \"header\" | \"body\" | \"footer\" | \"content\",\r\n layout: any,\r\n template: ILayoutTemplate\r\n ) => {\r\n try {\r\n let targetParent: IControlLayout | undefined = paperLayout?.find(\r\n (e) => e.type === parent\r\n );\r\n\r\n if (targetParent) {\r\n let childList = targetParent.children;\r\n layout.i = uuidv4();\r\n layout.w = 4;\r\n layout.h = 1;\r\n\r\n if (template.type === \"tb\") {\r\n layout.w = Math.round(\r\n pageProperty.pageSize.width / pageProperty.gridSize\r\n );\r\n layout.h = 3;\r\n layout.minH = 3;\r\n layout.minW = Math.round(\r\n pageProperty.pageSize.width / pageProperty.gridSize\r\n );\r\n } else if (template.type === \"staticImage\") {\r\n layout.w = 10;\r\n layout.h = 10;\r\n layout.minH = 5;\r\n layout.minW = 5;\r\n }\r\n const tempAttibute = template.attribute;\r\n template.attribute = {\r\n default: tempAttibute?.default || \"\",\r\n fontSize: 14,\r\n fontFamily: \"Arial\",\r\n color: \"#000000\",\r\n isBold: false,\r\n isItalic: false,\r\n isUnderlined: false,\r\n hAlign: \"center\",\r\n vAlign: \"center\",\r\n urlLink: \"\",\r\n hideLabel: false,\r\n column: tempAttibute?.column,\r\n backgroundSize: \"contain\",\r\n };\r\n\r\n layout.template = template;\r\n\r\n childList?.push(layout);\r\n\r\n onSelectChange(layout);\r\n setPaperLayout((prev) =>\r\n prev.map((e) => {\r\n if (e.type === parent) {\r\n e.children = childList;\r\n }\r\n return e;\r\n })\r\n );\r\n }\r\n updatePageProperties({ isDragingFromOutSide: false });\r\n } catch (error) {\r\n console.error(error);\r\n updatePageProperties({ isDragingFromOutSide: false });\r\n }\r\n };\r\n\r\n const removeSelectedChild = (parent: string) => {\r\n setPaperLayout((prev) =>\r\n prev.map((e) => {\r\n if (parent === parent) {\r\n e.children = e.children?.filter(\r\n (child) => child.i !== selectionBlock?.i\r\n );\r\n }\r\n return e;\r\n })\r\n );\r\n };\r\n\r\n const updatePageProperties = (params: Partial) => {\r\n setPageProperty((prevSettings) => ({\r\n ...prevSettings,\r\n ...params,\r\n }));\r\n };\r\n\r\n const onSelectChange = (template: IControlLayout) => {\r\n setSelectionBlock(template);\r\n };\r\n\r\n const onDeselected = () => {\r\n setSelectionBlock(undefined);\r\n };\r\n\r\n const onSelectPropertyChange = (props: IControlProperty) => {\r\n if (selectionBlock) {\r\n let _selectionBlock: IControlLayout = selectionBlock;\r\n _selectionBlock.template.attribute = props;\r\n const newLayout = paperLayout.map((layout) => {\r\n layout.children = layout.children?.map((child) => {\r\n if (child.i === selectionBlock.i) {\r\n child.template = _selectionBlock.template;\r\n }\r\n return child;\r\n });\r\n return layout;\r\n });\r\n if (newLayout) setPaperLayout(newLayout);\r\n setSelectionBlock(_selectionBlock);\r\n }\r\n };\r\n\r\n const onGenHtml = () => {\r\n console.log(paperLayout);\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { PDFEditorProvider, PDFEditorContext };\r\n","import { useContext } from \"react\";\r\nimport { PDFEditorContext } from \"../Context/PDFEditorContext\";\r\n\r\nconst usePDFEditor = () => {\r\n const context = useContext(PDFEditorContext);\r\n if (!context)\r\n throw new Error(\"PDFEditor Context must be use inside PDFEditor Provider\");\r\n return context;\r\n};\r\n\r\nexport default usePDFEditor;\r\n","import { Col } from \"antd\";\r\nimport React, { useRef } from \"react\";\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\n\r\ntype Props = {\r\n label: string;\r\n type: string;\r\n attribute?: any;\r\n icon: React.ReactNode;\r\n layoutType: \"header\" | \"body\" | \"footer\" | \"content\";\r\n};\r\n\r\nconst PDFCompontButton = ({\r\n label,\r\n type,\r\n icon,\r\n layoutType,\r\n attribute,\r\n}: Props) => {\r\n const count = useRef(1);\r\n const { updatePageProperties } = usePDFEditor();\r\n\r\n return (\r\n {\r\n const dataString = JSON.stringify({\r\n action: \"add\",\r\n label: label,\r\n type: type,\r\n count: count.current,\r\n layoutType: layoutType,\r\n value: \"\",\r\n attribute: attribute,\r\n });\r\n updatePageProperties({\r\n dragingType: layoutType,\r\n isDragingFromOutSide: true,\r\n });\r\n e.dataTransfer.setData(\"application/json\", dataString);\r\n }}\r\n onDragEnd={() => {\r\n count.current += 1;\r\n updatePageProperties({\r\n isDragingFromOutSide: false,\r\n });\r\n }}\r\n >\r\n {icon}\r\n \r\n {label}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PDFCompontButton;\r\n","import { Button, Col, Collapse } from \"antd\";\r\nimport type { CollapseProps } from \"antd\";\r\nimport { MenuItem } from \"primereact/menuitem\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { FaHeading, FaRegImage, FaRegListAlt } from \"react-icons/fa\";\r\nimport { BiText, BiTimeFive } from \"react-icons/bi\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { AiOutlineNumber } from \"react-icons/ai\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { CgPlayButtonO } from \"react-icons/cg\";\r\nimport {\r\n BsFileEarmarkRichtext,\r\n BsSortNumericDown,\r\n BsTable,\r\n} from \"react-icons/bs\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\nimport PDFCompontButton from \"./PDFCompontButton\";\r\nimport CollapsePanel from \"antd/lib/collapse/CollapsePanel\";\r\n\r\ntype Props = {\r\n advanceForm: any;\r\n reportTem: any[];\r\n};\r\n\r\nfunction getItem(\r\n label: React.ReactNode,\r\n key: React.Key,\r\n icon?: React.ReactNode,\r\n children?: MenuItem[],\r\n type?: \"group\"\r\n): MenuItem {\r\n return {\r\n key,\r\n icon,\r\n children,\r\n label,\r\n type,\r\n } as MenuItem;\r\n}\r\n\r\nconst items: MenuItem[] = [getItem(\"Option 1\", \"1\"), getItem(\"Option 2\", \"2\")];\r\n\r\nconst PDFToolBar = ({ advanceForm, reportTem }: Props) => {\r\n const [controlItem, setControlItems] = useState(advanceForm.items);\r\n\r\n const { addLayout } = usePDFEditor();\r\n\r\n useEffect(() => {\r\n getItems();\r\n }, []);\r\n\r\n const getItems = () => {\r\n let items: any[] = [];\r\n advanceForm.items.forEach((item: any) => {\r\n item.layout.forEach((layout: any) => {\r\n items.push(layout);\r\n });\r\n });\r\n\r\n setControlItems((prev: any) => items);\r\n };\r\n\r\n const getIcon = (type: string) => {\r\n switch (type) {\r\n case \"l\":\r\n return ;\r\n case \"ed\":\r\n return ;\r\n case \"c\":\r\n return ;\r\n case \"Number\":\r\n return ;\r\n case \"ta\":\r\n return ;\r\n case \"dd\":\r\n return ;\r\n case \"cb\":\r\n return ;\r\n case \"at\":\r\n return ;\r\n case \"t\":\r\n return ;\r\n case \"Text\":\r\n return ;\r\n case \"r\":\r\n return ;\r\n case \"tb\":\r\n return ;\r\n case \"d\":\r\n return ;\r\n case \"Datetime\":\r\n return ;\r\n case \"bt\":\r\n return ;\r\n case \"an\":\r\n return ;\r\n case \"rvs\":\r\n return ;\r\n case \"im\":\r\n return ;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n {controlItem\r\n .filter((e: any) => e.template?.type !== \"em\")\r\n .map((item: any) => (\r\n \r\n ))}\r\n \r\n \r\n {reportTem.map((item: any) => (\r\n {\r\n return {\r\n guid: \"0gb2o3crjqs9ijcmisefv6k\",\r\n label: e,\r\n alter: \"\",\r\n control: {\r\n template: {\r\n type: \"t\",\r\n label: e,\r\n alter: \"\",\r\n attribute: {\r\n description: \"\",\r\n default: \"\",\r\n length: \"0\",\r\n require: \"N\",\r\n readonly: \"N\",\r\n widthInTable: \"0\",\r\n hideInPdf: \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n })\r\n : null,\r\n }}\r\n icon={getIcon(item?.value5)}\r\n layoutType=\"content\"\r\n />\r\n ))}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default PDFToolBar;\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\ntype Props = {\r\n items: { key: string; label: string }[];\r\n onChange: (key: string) => void;\r\n};\r\n\r\nconst TabsButton = ({ items, onChange }: Props) => {\r\n const [activeKey, setActiveKey] = useState(\"text\");\r\n\r\n useEffect(() => {\r\n onChange(activeKey);\r\n }, [activeKey]);\r\n\r\n return (\r\n <>\r\n
\r\n {items.map((e) => (\r\n {\r\n setActiveKey(e.key);\r\n }}\r\n >\r\n {e.label}\r\n
\r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TabsButton;\r\n","import { Popover, Button } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { ColorResult, SketchPicker } from \"react-color\";\r\nimport { BgColorsOutlined } from \"@ant-design/icons\";\r\n\r\ntype Props = { color: string; onChageColor: (e: ColorResult) => void };\r\n\r\nconst ColorPicker = ({ color, onChageColor }: Props) => {\r\n const [value, setValue] = useState(\"#ffff\");\r\n\r\n return (\r\n {\r\n setValue(color);\r\n }}\r\n content={\r\n {\r\n setValue(e.hex);\r\n }}\r\n onChangeComplete={onChageColor}\r\n />\r\n }\r\n trigger={\"click\"}\r\n >\r\n \r\n {remark.length > 0 && (\r\n

ไม่พบผู้ใช้อีเมลในระบบ

\r\n )}\r\n \r\n \r\n ) : (\r\n
\r\n \"img\"\r\n
\r\n {onLoading ? (\r\n \r\n

\r\n You can verify the request to use WOLF Approve via the\r\n email {getValues().email} that you have entered.\r\n ท่านสามารถยืนยันการขอใช้งานระบบผ่าน email (\r\n {getValues().email}) ที่ท่านได้กรอกมา...\r\n

\r\n history.push(\"/login\")}\r\n >\r\n ย้อนกลับไปหน้าเข้าสู่ระบบ\r\n \r\n
\r\n ) : (\r\n <>\r\n {remark.length > 0 ? (\r\n <>\r\n

ยืนยันตนไม่ถูกต้อง

\r\n

{remark}

\r\n \r\n ) : (\r\n <>\r\n

ยืนยันตนเรียบร้อย

\r\n history.push(\"/login\")}\r\n >\r\n ย้อนกลับไปหน้าเข้าสู่ระบบ\r\n \r\n \r\n )}\r\n \r\n )}\r\n
\r\n \r\n )}\r\n \r\n ) : (\r\n
\r\n \"img\"\r\n
\r\n {onLoading ? (\r\n
\r\n

Verifiying an email address / กำลังยืนยันสิทธิ์

\r\n\r\n \r\n
\r\n ) : (\r\n <>\r\n {remark.length > 0 ? (\r\n <>\r\n

You failed to verify your email address. / ยืนยันตนไม่ถูกต้อง

\r\n

{remark}

\r\n \r\n ) : (\r\n <>\r\n

You have successfully verified an email address. ยืนยันอีเมลสำเร็จ

\r\n history.push(\"/login\")}\r\n >\r\n Return to Login Page / กลับไปที่หน้าเข้าสู่ระบบ\r\n \r\n \r\n )}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ForgotPasswordScreen;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { FilterMatchMode, FilterOperator } from \"primereact/api\";\r\ntype Props = {\r\n delegateData: any;\r\n setDelegateData: any;\r\n};\r\n\r\nconst DelegateApplyTo = (props: Props) => {\r\n const [delegateTemplate, setDelegateTemplate] = useState([]);\r\n const [selectedCustomers, setSelectedCustomers] = useState([]);\r\n useEffect(() => {\r\n fetchDelegateTemplate();\r\n }, [props.delegateData]);\r\n const fetchDelegateTemplate = async () => {\r\n const dataJson = {\r\n ApproverId: props.delegateData.DelegateList.ApproverId,\r\n };\r\n const dd = await fetch(\r\n \"api/DelegateList/GetByDelegateTemplateByApproverId\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n let templateData = data;\r\n const _delegateDetail = props.delegateData.DelegateDetail;\r\n let selected: any = [];\r\n let current_sorted_idx = 0;\r\n for (let i = 0; i < _delegateDetail.length; i++) {\r\n const detail = _delegateDetail[i];\r\n for (let j = 0; j < templateData.length; j++) {\r\n const template = templateData[j];\r\n if (detail.TemplateId === template.TemplateId) {\r\n const target = templateData[current_sorted_idx];\r\n const current = template;\r\n templateData[j] = target;\r\n templateData[current_sorted_idx] = current;\r\n current_sorted_idx += 1;\r\n selected.push(template);\r\n }\r\n }\r\n }\r\n setSelectedCustomers([...selected]);\r\n setDelegateTemplate([...templateData]);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n DelegateApplyTo\r\n
\r\n {\r\n // const _delagateTemplate: any = e.value.map((data: any) => {\r\n // const res = { TemplateId: data.TemplateId };\r\n // return res;\r\n // });\r\n // console.log(\"_delagateTemplate\", _delagateTemplate);\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateDetail: [...e.value],\r\n }));\r\n setSelectedCustomers(e.value);\r\n }}\r\n dataKey=\"TemplateId\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n {/* doc code */}\r\n \r\n \r\n

Document Code

\r\n

รหัสเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Form name

\r\n

ชื่อแบบฟอร์ม

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Total

\r\n

ทั้งหมด

\r\n \r\n \r\n }\r\n >\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DelegateApplyTo;\r\n","import React, { useRef, useState } from \"react\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./AttachmentComponent.css\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { BiCommentEdit } from \"react-icons/bi\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport moment from \"moment\";\r\n\r\ninterface Props {\r\n visibleStatus: boolean;\r\n setVisibleStatus: any;\r\n Index: number;\r\n description?: string;\r\n listFileAttachDetails: any;\r\n setListFileAttachDetails: any;\r\n}\r\n\r\nexport default function DescriptionConfigComponent(props: Props) {\r\n const [description, setDescription] = useState(\r\n props.description == undefined ? \"\" : props.description\r\n );\r\n const toast = useRef();\r\n const Header = () => {\r\n return (\r\n
\r\n

Edit Description

\r\n
\r\n );\r\n };\r\n const Footer = () => {\r\n return (\r\n
\r\n {\r\n props.setVisibleStatus(false);\r\n setDescription(\"\");\r\n }}\r\n >\r\n Cancel\r\n \r\n \r\n
\r\n );\r\n };\r\n function onChangeDescription(e: any) {\r\n setDescription(e.target.value);\r\n }\r\n function saveChange() {\r\n let _listAttach = props.listFileAttachDetails;\r\n _listAttach[props.Index].description = description;\r\n _listAttach[props.Index].modified_date = moment(new Date()).format(\r\n \"DD/MM/YYYY HH:mm:ss\"\r\n );\r\n props.setListFileAttachDetails([..._listAttach]);\r\n props.setVisibleStatus(false);\r\n setDescription(\"\");\r\n }\r\n return (\r\n
\r\n props.setVisibleStatus(false)}\r\n footer={Footer}\r\n >\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n}\r\n","import moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Form, Row } from \"react-bootstrap\";\r\nimport { BiUpload } from \"react-icons/bi\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../components/CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../components/InputTextComponents/InputTextComponents\";\r\nimport DescriptionConfigComponent from \"../../components/RequestComponents/AttachmentComponent/DescriptionConfigComponent\";\r\nimport { SelectDate } from \"../../components/Select/SelectDate\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { SelectDataDialog } from \"../../components/Select/SelectionDataDialog/SelectDataDialog\";\r\nimport {\r\n UploadRequestFiles,\r\n UploadTinyMce,\r\n} from \"../../Services/UploadFileService\";\r\nimport { UploadFileAttachFiles } from \"../../Services/AttachFileService\";\r\nimport { generateQuickGuid } from \"../../Helper/GenerateGuid\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\n\r\ntype Props = {\r\n delegateData: any;\r\n setDelegateData: any;\r\n setAttachmentData: any;\r\n attachmentData: any;\r\n usePeriod: boolean;\r\n setUsePeriod: any;\r\n errorState: any;\r\n};\r\n\r\nconst DelegateInformation = (props: Props) => {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const ref = useRef();\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [attachData, setAttachData] = useState([]);\r\n const [fileData, setFileData] = useState();\r\n const [requestFile, setRequestFile] = useState(null);\r\n const [pathData, setPathData] = useState();\r\n const [selectedCustomers, setSelectedCustomers] = useState(null);\r\n const [descriptionValue, setDescriptionValue] = useState(\"\");\r\n const [description, setDescription] = useState(\"\");\r\n const [employeeData, setEmployeeData] = useState([]);\r\n const [currentModal, setCurrentModal] = useState(\"\");\r\n const [index, setIndex] = useState();\r\n const [isDialogApproverVisible, setIsDialogApproverVisible] =\r\n useState(false);\r\n const [dates, setDates] = useState([]);\r\n const [visibleStatus, setVisibleStatus] = useState(false);\r\n const [approverTextFilter, setApproverTextFilter] = useState(\"\");\r\n const [approver, setApprover] = useState({\r\n name: \"\",\r\n ApproverId: null,\r\n });\r\n const [dateRange, setDateRange] = useState(0);\r\n const [checked, setChecked] = useState([]);\r\n const [deleteVisible, setDeleteVisible] = useState(false);\r\n const [descriptionRespone, setDescriptionRespone] = useState();\r\n const [visibleConfirmProp, setVisibleConfirmProp] = useState(false);\r\n const [rowDeleted, setRowDeleted] = useState();\r\n const [searchEmployee, setSearchEmployee] = useState([]);\r\n\r\n const [delegater, setDelegater] = useState({\r\n name: \"\",\r\n DelegateToId: null,\r\n });\r\n var respone = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = respone.SharepointSiteURL;\r\n\r\n var userData = respone.employeeData;\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n }, []);\r\n // useEffect(() => {\r\n // let _attachmentData = props.attachmentData;\r\n // console.log(\"dasdasdasd\", props.attachmentData);\r\n\r\n // for (let i = 0; i < _attachmentData.length; i++) {\r\n // const attachment = _attachmentData[i];\r\n // for (let j = 0; j < employeeData.length; j++) {\r\n // const emp = employeeData[j];\r\n // if (attachment.ActorId === emp.EmployeeId) {\r\n // _attachmentData[i].ActorId = emp;\r\n // }\r\n // }\r\n // }\r\n\r\n // setAttachData([..._attachmentData]);\r\n // }, [props.attachmentData, employeeData]);\r\n useEffect(() => {\r\n let _date = new Array(2);\r\n let _attachmentData = props.delegateData.AttachmentList;\r\n const _approver = employeeData.find(\r\n (data: any) =>\r\n data.EmployeeId === props.delegateData.DelegateList.ApproverId\r\n );\r\n const _delegater = employeeData.find(\r\n (data: any) =>\r\n data.EmployeeId === props.delegateData.DelegateList.DelegateToId\r\n );\r\n if (_approver) {\r\n setApprover((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? _approver.NameEn : _approver.NameTh,\r\n ApproverId: _approver.EmployeeId,\r\n }));\r\n }\r\n if (_delegater) {\r\n setDelegater((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? _delegater.NameEn : _delegater.NameTh,\r\n DelegateToId: _delegater.EmployeeId,\r\n }));\r\n }\r\n for (let i = 0; i < _attachmentData.length; i++) {\r\n const attachment = _attachmentData[i];\r\n for (let j = 0; j < employeeData.length; j++) {\r\n const emp = employeeData[j];\r\n if (attachment.ActorId === emp.EmployeeId) {\r\n _attachmentData[i].ActorId = emp;\r\n }\r\n }\r\n }\r\n setAttachData([..._attachmentData]);\r\n if (\r\n props.delegateData.DelegateList.DateFrom &&\r\n props.delegateData.DelegateList.DateTo\r\n ) {\r\n if (\r\n props.delegateData.DelegateList.DateFrom.length > 0 &&\r\n props.delegateData.DelegateList.DateTo.length > 0\r\n ) {\r\n _date[0] = formatDateTimeToMoment(\r\n props.delegateData.DelegateList.DateFrom\r\n );\r\n _date[1] = formatDateTimeToMoment(\r\n props.delegateData.DelegateList.DateTo\r\n );\r\n }\r\n }\r\n // console.log(\r\n // \"props.delegateData.DelegateList.DateTo\",\r\n // props.delegateData.DelegateList.DateTo.length\r\n // );\r\n\r\n // console.log(\r\n // \"DateFrom\",\r\n // moment(new Date(), \"DD/MM/YYYY\").format(\"DD/MM/yyyy HH:mm:ss\")\r\n // );\r\n setDates([..._date]);\r\n console.log(approver, delegater, employeeData);\r\n }, [props.delegateData, employeeData]);\r\n\r\n const onApproverFilterChange = (e: any) => {\r\n const value = e;\r\n const dataEmp = employeeData;\r\n console.log(\"Dialog=>value \", value);\r\n setApproverTextFilter(value);\r\n\r\n const data = dataEmp.filter((data: any) => {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n userData.Lang === \"EN\"\r\n ? data.NameEn?.toLowerCase().indexOf(value?.toLowerCase()) !== -1\r\n : data.NameTh?.toLowerCase().indexOf(value?.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n setSearchEmployee([...data]);\r\n };\r\n const confirmDialogfunction = (rowDeleted: any) => {\r\n setVisibleConfirmProp(true);\r\n setRowDeleted(rowDeleted);\r\n };\r\n const onSelectCheckboxDelegate = (checked: any, keyProps: any) => {\r\n console.log(checked, keyProps);\r\n };\r\n const onSelectDate = (date: any, label: any) => {\r\n console.log(\"date\", date);\r\n if (date !== null) {\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n DateFrom: formatDateTimeWithSlash(date[0]),\r\n DateTo: formatDateTimeWithSlash(date[1]),\r\n },\r\n }));\r\n setDates([...date]);\r\n } else {\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n DateFrom: null,\r\n DateTo: null,\r\n },\r\n }));\r\n setDates([]);\r\n }\r\n };\r\n const formatDateTimeWithSlash = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/yyyy HH:mm:ss\");\r\n return moment(momentObj).format(\"DD/MM/yyyy\");\r\n }\r\n };\r\n const formatDateTime = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/yyyy HH:mm:ss\");\r\n return moment(momentObj).format(\"DD MMM yyyy\");\r\n }\r\n };\r\n const formatDateTimeAttachment = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"yyy/mm/DD HH:mm:ss\");\r\n return moment(momentObj).format(\"DD MMM yyyy\");\r\n }\r\n };\r\n const formatDateTimeToMoment = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/yyyy HH:mm:ss\");\r\n return momentObj;\r\n }\r\n };\r\n const convertDate = (data: any) => {\r\n return formatDateTime(data);\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n function showDeletedData() {\r\n toggleAlert({\r\n description: `Data delete success.`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Deleted Data\",\r\n // detail: \"\",\r\n // });\r\n }\r\n function rowDelete(rowIndex: any) {\r\n let data = attachData;\r\n\r\n data.splice(rowIndex, 1);\r\n\r\n let reoderSequence = data.map((e: any, i: number) => {\r\n e.sequence = i + 1;\r\n return e;\r\n });\r\n console.log(\"reoderSequencereoderSequence\", reoderSequence);\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n AttachmentList: [...reoderSequence],\r\n }));\r\n setAttachData([...reoderSequence]);\r\n showDeletedData();\r\n }\r\n async function onUploadFile() {\r\n if (requestFile !== null) {\r\n setOnLoading(true);\r\n const attachWorkList = attachData;\r\n const lastFile = attachWorkList[attachWorkList.length - 1];\r\n const NewDate = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n let newFile = Object.assign({}, lastFile);\r\n\r\n const formData = new FormData();\r\n formData.append(`files`, requestFile);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", generateQuickGuid());\r\n formData.append(\"fileDesc\", description);\r\n formData.append(\"actorID\", userData.EmployeeId);\r\n var response: any = await UploadFileAttachFiles(formData);\r\n console.log({ response, requestFile });\r\n\r\n if (response.data?.result === true) {\r\n if (lastFile !== undefined) {\r\n // newFile.memo_id = checking.memoid;\r\n newFile.sequence = lastFile.sequence + 1;\r\n newFile.ActorId = userData;\r\n newFile.AttachedDate = NewDate;\r\n newFile.AttachFile = response.data?.fileName;\r\n\r\n newFile.ModifiedDate = NewDate;\r\n newFile.ModifiedBy = userData.EmployeeId.toString();\r\n newFile.FileName = description;\r\n } else if (lastFile === undefined) {\r\n // newFile.memo_id = checking.memoid;\r\n newFile.sequence = 1;\r\n newFile.ActorId = userData;\r\n newFile.AttachedDate = NewDate;\r\n newFile.AttachFile = fileData;\r\n newFile.ModifiedDate = NewDate;\r\n newFile.ModifiedBy = userData.EmployeeId.toString();\r\n newFile.FileName = description;\r\n }\r\n if (_sharepointSiteURL) {\r\n newFile.FilePath = _sharepointSiteURL + \"\" + response.data.pathUrl;\r\n } else {\r\n newFile.FilePath = response.data.pathUrl;\r\n }\r\n if (lastFile != undefined) {\r\n newFile.sequence = lastFile.sequence + 1;\r\n } else {\r\n newFile.sequence = 1;\r\n }\r\n\r\n attachWorkList.push(newFile);\r\n console.log({ attachWorkList });\r\n\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n AttachmentList: [...attachWorkList],\r\n }));\r\n setAttachData([...attachWorkList]);\r\n } else {\r\n onError();\r\n }\r\n setOnLoading(false);\r\n setRequestFile(null);\r\n setDescriptionValue(\"\");\r\n setDescription(\"\");\r\n ref.current.value = null;\r\n } else {\r\n toggleAlert({\r\n description: `Please Select File.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please Select File\",\r\n // life: 3000,\r\n // });\r\n }\r\n // setOnLoading(true);\r\n // const rawData = attachData;\r\n // const lastFile = attachData[attachData.length - 1];\r\n // const NewDate = moment(new Date()).format(\"yyy/mm/DD HH:mm:ss\");\r\n // let newFile = Object.assign({}, lastFile);\r\n // if (requestFile !== null) {\r\n // if (lastFile !== undefined) {\r\n // // newFile.memo_id = checking.memoid;\r\n // newFile.sequence = lastFile.sequence + 1;\r\n // newFile.ActorId = userData;\r\n // newFile.AttachedDate = NewDate;\r\n // newFile.AttachFile = fileData;\r\n\r\n // newFile.ModifiedDate = NewDate;\r\n // newFile.ModifiedBy = userData.EmployeeId.toString();\r\n // newFile.FileName = description;\r\n // } else if (lastFile === undefined) {\r\n // // newFile.memo_id = checking.memoid;\r\n // newFile.sequence = 1;\r\n // newFile.ActorId = userData;\r\n // newFile.AttachedDate = NewDate;\r\n // newFile.AttachFile = fileData;\r\n // newFile.ModifiedDate = NewDate;\r\n // newFile.ModifiedBy = userData.EmployeeId.toString();\r\n // newFile.FileName = description;\r\n // }\r\n // let base64: any = await convertBase64(requestFile);\r\n // console.log(\"e.target\", base64);\r\n // for (let i = 0; i < base64.length; i++) {\r\n // const text = base64[i];\r\n // if (text === \",\") {\r\n // base64 = base64.substring(i + 1);\r\n // break;\r\n // }\r\n // }\r\n // const dataJson = {\r\n // FileBytes: base64,\r\n // FileName: requestFile.name,\r\n // };\r\n\r\n // console.log(\"dataJson\", dataJson);\r\n\r\n // const response = await UploadTinyMce(dataJson);\r\n // console.log(\"response\", response);\r\n // if (response.imageUrl) {\r\n // newFile.FilePath = response.imageUrl;\r\n\r\n // rawData.push(newFile);\r\n // setAttachData([...rawData]);\r\n // props.setDelegateData((prevState: any) => ({\r\n // ...prevState,\r\n // AttachmentList: [...rawData],\r\n // }));\r\n // setRequestFile(null);\r\n // setDescriptionValue(\"\");\r\n // ref.current.value = null;\r\n // }\r\n // }\r\n }\r\n const convertBase64 = (file: any) => {\r\n return new Promise((resolve, reject) => {\r\n const fileReader = new FileReader();\r\n fileReader.readAsDataURL(file);\r\n fileReader.onload = () => {\r\n resolve(fileReader.result);\r\n };\r\n fileReader.onerror = (error) => {\r\n reject(error);\r\n };\r\n });\r\n };\r\n const onUpload = () => {\r\n toast.current.show({\r\n severity: \"success\",\r\n summary: \"Success\",\r\n detail: \"File Uploaded\",\r\n life: 3000,\r\n });\r\n };\r\n const onError = () => {\r\n toggleAlert({\r\n description: `Server Error Please try again.`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Server Error Please try again\",\r\n // life: 3000,\r\n // });\r\n };\r\n const onRemove = () => {\r\n toggleAlert({\r\n description: `File Remove success.`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n // toast.current.show({\r\n // severity: \"warn\",\r\n // summary: \"Success\",\r\n // detail: \"File Removed\",\r\n // life: 1000,\r\n // });\r\n };\r\n const onFileSelect = async (e: any) => {\r\n var filename = e.target.value;\r\n var userName = filename.split(\"\\\\\").pop();\r\n setRequestFile(e.target.files[0]);\r\n\r\n setFileData(userName);\r\n setPathData(filename);\r\n };\r\n\r\n function deleteFile() {\r\n setAttachData(\r\n attachData.filter((val) => {\r\n return val.sequence !== index;\r\n })\r\n );\r\n\r\n onRemove();\r\n }\r\n async function fetchDataEmployee() {\r\n const employee = await GetAllEmployee();\r\n setSearchEmployee(employee);\r\n setEmployeeData(employee);\r\n }\r\n function showModalApprover(label: any) {\r\n if (approverTextFilter != \"\") {\r\n setApproverTextFilter(\"\");\r\n }\r\n\r\n setCurrentModal(label);\r\n setIsDialogApproverVisible(!isDialogApproverVisible);\r\n // fetchDataEmployee();\r\n }\r\n const onEmployeeSelect = (data: any, label: any) => {\r\n console.log(userData.Lang === \"EN\" ? data.NameEn : data.NameTh);\r\n if (label === \"approver\") {\r\n setApprover((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? data.NameEn : data.NameTh,\r\n ApproverId: data.EmployeeId,\r\n }));\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n ApproverId: data.EmployeeId,\r\n },\r\n }));\r\n }\r\n if (label === \"delegate\") {\r\n setDelegater((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? data.NameEn : data.NameTh,\r\n DelegateToId: data.EmployeeId,\r\n }));\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n DelegateToId: data.EmployeeId,\r\n },\r\n }));\r\n }\r\n setIsDialogApproverVisible(!isDialogApproverVisible);\r\n };\r\n return (\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n Approver : \r\n *\r\n
\r\n

ผู้อนุมัติงาน :

\r\n \r\n \r\n {\r\n console.log(approver);\r\n }}\r\n >\r\n showModalApprover(\"approver\")}\r\n readOnlyProps={true}\r\n />\r\n showModalApprover(\"approver\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n
\r\n \r\n \r\n
\r\n Delegate to : \r\n *\r\n
\r\n

ผู้อนุมัติงานแทน :

\r\n \r\n \r\n \r\n showModalApprover(\"delegate\")}\r\n readOnlyProps={true}\r\n />\r\n showModalApprover(\"delegate\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n props.setUsePeriod(e.checked)}\r\n />\r\n \r\n Delegate during Period.\r\n \r\n \r\n {/* */}\r\n \r\n {props.usePeriod && (\r\n \r\n
\r\n
\r\n
\r\n Delegate Date Period : \r\n *\r\n
\r\n

ช่วงเวลา :

\r\n
\r\n \r\n onSelectDate(e, \"Detail\")}\r\n dateRange={dateRange}\r\n showIcon={false}\r\n isFullWidth={true}\r\n />\r\n
\r\n \r\n \r\n )}\r\n
\r\n \r\n \r\n
\r\n Remark : \r\n *\r\n
\r\n

หมายเหตุ :

\r\n \r\n \r\n \r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n Remark: e,\r\n },\r\n }))\r\n }\r\n />\r\n \r\n
\r\n \r\n \r\n
\r\n Attach File : \r\n
\r\n

ไฟล์แนบ :

\r\n \r\n \r\n
\r\n onFileSelect(e)}\r\n multiple\r\n className=\"attachForm-border-fttach-file\"\r\n />\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n File Description : \r\n
\r\n

รายละเอียดไฟล์ :

\r\n \r\n \r\n
\r\n {\r\n setDescriptionValue(e.target.value);\r\n setDescription(e.target.value);\r\n }}\r\n className=\"p-d-block p-inputgroup attachForm-border-description-inputText\"\r\n />\r\n\r\n \r\n \r\n Upload\r\n \r\n
\r\n \r\n
\r\n
\r\n {attachData.length > 0 && (\r\n setSelectedCustomers(e.value)}\r\n dataKey=\"id\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n

Attach Date

\r\n

วันที่แนบไฟล์

\r\n \r\n \r\n }\r\n body={(row: any) => (\r\n {formatDateTimeAttachment(row.AttachedDate)}\r\n )}\r\n >\r\n \r\n \r\n

Attached File

\r\n

ไฟล์ที่แนบ

\r\n \r\n \r\n }\r\n body={(row: any) => (\r\n \r\n {row.AttachFile}\r\n \r\n )}\r\n >\r\n \r\n \r\n

Description

\r\n

รายละเอียด

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Actor

\r\n

ผู้ดำเนินการ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Delete

\r\n

ลบ

\r\n \r\n \r\n }\r\n body={(row: any, options: any) => (\r\n confirmDialogfunction(options.rowIndex)}\r\n />\r\n )}\r\n >\r\n \r\n )}\r\n
\r\n \r\n onEmployeeSelect(e, currentModal)}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={isDialogApproverVisible}\r\n setDialogVisible={setIsDialogApproverVisible}\r\n />\r\n setDeleteVisible(false)}\r\n message=\"Are you sure to Delete this File?\"\r\n header=\"Delete Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n acceptClassName=\"p-button-danger\"\r\n accept={deleteFile}\r\n reject={() => setDeleteVisible(false)}\r\n />\r\n {visibleStatus == true && (\r\n \r\n )}\r\n setVisibleConfirmProp(false)}\r\n message={\"Do you want to delete this row?\"}\r\n header=\"Confirmation\"\r\n icon=\"pi pi-info-circle\"\r\n className=\"z-index-confirm\"\r\n acceptClassName=\"p-button-danger table-control-confirm-button p-button-accept-cancel\"\r\n rejectClassName=\"p-button p-component p-confirm-dialog-reject p-button p-component p-button-outlined p-button-danger\"\r\n position=\"top\"\r\n accept={() => rowDelete(rowDeleted)}\r\n draggable={false}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default DelegateInformation;\r\n","import React from \"react\";\r\nimport { AiOutlineApartment } from \"react-icons/ai\";\r\nimport { BsCalendar4, BsNewspaper, BsPerson } from \"react-icons/bs\";\r\nimport { ImAttachment } from \"react-icons/im\";\r\nimport {\r\n IoDocumentTextOutline,\r\n IoNewspaperOutline,\r\n IoShieldCheckmarkOutline,\r\n} from \"react-icons/io5\";\r\nimport { Button } from \"../../components/Button/Button\";\r\n\r\nimport { IoAlertCircleOutline } from \"react-icons/io5\";\r\nimport { GrDocumentText } from \"react-icons/gr\";\r\nimport { IoMdCheckmarkCircleOutline } from \"react-icons/io\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n}\r\n\r\nexport const DelegateSideBar = (props: Props) => {\r\n const SideBarData = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Information\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Apply to Form\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n return (\r\n \r\n {SideBarData.map((data, idx) => (\r\n
{data.component}
\r\n ))}\r\n \r\n );\r\n};\r\n","import { Button } from \"antd\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport DelegateApplyTo from \"./DelegateApplyTo\";\r\nimport DelegateInformation from \"./DelegateInformation\";\r\nimport \"./DelegateScreen.css\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { DelegateSideBar } from \"./DelegateSideBar\";\r\nimport { BiSend } from \"react-icons/bi\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { MdDeleteOutline } from \"react-icons/md\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\n\r\ntype Props = {\r\n responeConfig?: any;\r\n};\r\ninterface DelegateList {\r\n ApproverId: number;\r\n CreatedBy: string;\r\n CreatedDate: string;\r\n DateFrom: string;\r\n DateTo: string;\r\n DelegateId: number;\r\n DelegateToId: number;\r\n FilterCreateDateFrom: string;\r\n FilterCreateDateTo: string;\r\n IsActive: string;\r\n ModifiedBy: string;\r\n ModifiedDate: string;\r\n Remark: string;\r\n SecretId: string;\r\n connectionString: string;\r\n dt_ExportLog: string;\r\n userPrincipalName: string;\r\n}\r\nconst DelegateScreen = (props: Props) => {\r\n const { toggleAlert } = useAlert();\r\n const [selectView, setSelectView] = useState(\"1\");\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const [attachmentData, setAttachmentData] = useState([]);\r\n const [delegateData, setDelegateData] = useState({\r\n DelegateDetail: [],\r\n DelegateList: {},\r\n AttachmentList: [],\r\n });\r\n const [errorState, setErrorState] = useState([]);\r\n const [usePeriod, setUsePeriod] = useState(false);\r\n const [delegateId, setDelegateId] = useState(0);\r\n const { isLoad, setLoad } = useLoading();\r\n const query = new URLSearchParams(useLocation().search);\r\n const userData = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const empData = userData.employeeData;\r\n const history = useHistory();\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n if (query.get(\"delegateId\") !== undefined) {\r\n // console.log(\"ddddddasd\");\r\n setDelegateId(Number(query.get(\"delegateId\")));\r\n // fetchDelegate(query.get(\"delegateId\"));\r\n }\r\n }, [query]);\r\n useEffect(() => {\r\n if (delegateId !== 0) {\r\n fetchDelegate(delegateId);\r\n fetchAttachment(delegateId);\r\n }\r\n setLoad(false);\r\n }, [delegateId]);\r\n const fetchAttachment = async (delegateId: any) => {\r\n const dataJson = {\r\n DelegateId: delegateId,\r\n };\r\n const dd = await fetch(\"api/DelegateList/GetByDelegateAttachByDelegateId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(data);\r\n setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n AttachmentList: [...data],\r\n }));\r\n // setAttachmentData([...data]);\r\n });\r\n };\r\n const fetchDelegate = async (delegateId: any) => {\r\n const dataJson = {\r\n DelegateId: delegateId,\r\n };\r\n const dd = await fetch(\"api/DelegateList/GetByDelegateId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"delegate\", data);\r\n setLoad(false);\r\n if (\r\n data.DelegateList.DateFrom &&\r\n data.DelegateList.DateTo &&\r\n data.DelegateList.DateTo.length > 0 &&\r\n data.DelegateList.DateFrom.length > 0\r\n ) {\r\n setUsePeriod(true);\r\n }\r\n setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateDetail: data.DelegateDetail,\r\n DelegateList: data.DelegateList,\r\n }));\r\n });\r\n };\r\n const onSelectView = (e: any) => {\r\n setSelectView(e);\r\n };\r\n const toggleSideBar = () => {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n } else {\r\n setSidebarState(true);\r\n }\r\n };\r\n const onSubmit = async () => {\r\n let _delegateData: any = delegateData;\r\n let validation: any = [];\r\n // setOnLoading(true);\r\n // _delegateData.DelegateList[\"CreatedBy\"] = empData.EmployeeId.toString();\r\n // _delegateData.DelegateList.DateFrom = usePeriod\r\n // ? `${_delegateData.DelegateList.DateFrom} 00:00:00`\r\n // : null;\r\n // _delegateData.DelegateList.DateTo = usePeriod\r\n // ? `${_delegateData.DelegateList.DateTo} 00:00:00`\r\n // : null;\r\n // console.log(\"_delegateData\", _delegateData);\r\n const _attachList = _delegateData.AttachmentList.map(\r\n (data: any, idx: any) => {\r\n let _data: any = {};\r\n _data[\"sequence\"] = idx;\r\n _data[\"attach_path\"] = data.FilePath;\r\n _data[\"attach_file\"] = data.AttachFile;\r\n _data[\"attach_date\"] = data.AttachedDate;\r\n _data[\"description\"] = data.FileName;\r\n _data[\"actor\"] = data.ActorId;\r\n return _data;\r\n // _data.AttachFile = \"\"\r\n // _data.AttachedDate = \"\"\r\n // _data.FileName=\"\"\r\n }\r\n );\r\n if (delegateData.DelegateList.DelegateToId === undefined) {\r\n validation.push({ label: \"Delegate to\" });\r\n }\r\n if (delegateData.DelegateList.ApproverId === undefined) {\r\n validation.push({ label: \"Aprrover\" });\r\n }\r\n if (delegateData.DelegateList.Remark === undefined) {\r\n validation.push({ label: \"Remark\" });\r\n } else {\r\n if (delegateData.DelegateList.Remark.length === 0) {\r\n validation.push({ label: \"Remark\" });\r\n }\r\n }\r\n if (delegateData.DelegateDetail.length === 0) {\r\n validation.push({ label: \"Apply To\" });\r\n }\r\n\r\n if (usePeriod) {\r\n if (\r\n delegateData.DelegateList.DateFrom === undefined &&\r\n delegateData.DelegateList.DateTo === undefined &&\r\n delegateData.DelegateList.DateTo === null &&\r\n delegateData.DelegateList.DateFrom === null &&\r\n delegateData.DelegateList.DateFrom === \"\" &&\r\n delegateData.DelegateList.DateTo === \"\"\r\n ) {\r\n validation.push({ label: \"DateFrom\" });\r\n validation.push({ label: \"DateTo\" });\r\n } else if (!delegateData.DelegateList.DateFrom) {\r\n validation.push({ label: \"DateFrom\" });\r\n } else if (!delegateData.DelegateList.DateTo) {\r\n validation.push({ label: \"DateTo\" });\r\n } else {\r\n _delegateData.DelegateList[\"CreatedBy\"] = empData.EmployeeId.toString();\r\n _delegateData.DelegateList.DateFrom = usePeriod\r\n ? `${_delegateData.DelegateList.DateFrom} 00:00:00`\r\n : null;\r\n _delegateData.DelegateList.DateTo = usePeriod\r\n ? `${_delegateData.DelegateList.DateTo} 00:00:00`\r\n : null;\r\n }\r\n }\r\n\r\n if (validation.length > 0) {\r\n let text = \"\";\r\n for (let i = 0; i < validation.length; i++) {\r\n const valid = validation[i];\r\n if (i < validation.length - 1) {\r\n text = text + valid.label + \",\";\r\n } else {\r\n text = text + valid.label;\r\n }\r\n }\r\n setErrorState([...validation]);\r\n toggleAlert({\r\n description: `${text} is require.`,\r\n message: `Require field warning`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: `${text}`,\r\n // life: 7000,\r\n // });\r\n } else {\r\n setLoad(true);\r\n _delegateData.AttachmentList = _attachList;\r\n const dd = await fetch(\"api/DelegateList/CreateDelegate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(_delegateData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setLoad(false);\r\n toggleAlert({\r\n description: `Submit success.`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n // toast.current.show({\r\n // severity: \"success\",\r\n // summary: \"Success\",\r\n // detail: `Submit complete!`,\r\n // life: 7000,\r\n // });\r\n history.push(\"/Settings?name=DelegateList\");\r\n });\r\n }\r\n };\r\n const onDelete = async () => {\r\n const _delegateData = delegateData;\r\n setLoad(true);\r\n const jsonData = {\r\n DelegateId: _delegateData.DelegateList.DelegateId,\r\n ModifiedBy: empData.EmployeeId.toString(),\r\n };\r\n\r\n const dd = await fetch(\"api/DelegateList/DeleteDelegate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(jsonData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setLoad(false);\r\n history.push(\"/Settings?name=DelegateList\");\r\n });\r\n };\r\n const onUpdate = async () => {\r\n const _delegateData = delegateData;\r\n console.log(\"_delegateData_delegateData\", _delegateData);\r\n const _attachList = _delegateData.AttachmentList.map(\r\n (data: any, idx: any) => {\r\n let _data: any = {};\r\n _data[\"sequence\"] = idx;\r\n _data[\"attach_path\"] = data.FilePath;\r\n _data[\"attach_file\"] = data.AttachFile;\r\n _data[\"attach_date\"] = data.AttachedDate;\r\n _data[\"description\"] = data.FileName;\r\n _data[\"actor\"] = data.ActorId;\r\n return _data;\r\n // _data.AttachFile = \"\"\r\n // _data.AttachedDate = \"\"\r\n // _data.FileName=\"\"\r\n }\r\n );\r\n let validation: any = [];\r\n if (delegateData.DelegateList.ApproverId === undefined) {\r\n validation.push({ label: \"Aprrover\" });\r\n }\r\n if (delegateData.DelegateList.DelegateToId === undefined) {\r\n validation.push({ label: \"Delegate to\" });\r\n }\r\n if (delegateData.DelegateList.Remark === undefined) {\r\n validation.push({ label: \"Remark\" });\r\n } else {\r\n if (delegateData.DelegateList.Remark.length === 0) {\r\n validation.push({ label: \"Remark\" });\r\n }\r\n }\r\n if (delegateData.DelegateDetail.length === 0) {\r\n validation.push({ label: \"Apply To\" });\r\n }\r\n console.log(\"usePeriod\", usePeriod);\r\n\r\n if (usePeriod) {\r\n if (\r\n delegateData.DelegateList.DateFrom === undefined ||\r\n delegateData.DelegateList.DateTo === undefined ||\r\n delegateData.DelegateList.DateTo === null ||\r\n delegateData.DelegateList.DateFrom === null ||\r\n delegateData.DelegateList.DateFrom === \"\" ||\r\n delegateData.DelegateList.DateTo === \"\"\r\n ) {\r\n validation.push({ label: \"DateFrom\" });\r\n validation.push({ label: \"DateTo\" });\r\n } else if (\r\n delegateData.DelegateList.DateFrom === undefined ||\r\n delegateData.DelegateList.DateFrom === null ||\r\n delegateData.DelegateList.DateFrom === \"\"\r\n ) {\r\n validation.push({ label: \"DateFrom\" });\r\n } else if (\r\n delegateData.DelegateList.DateTo === undefined ||\r\n delegateData.DelegateList.DateTo === null ||\r\n delegateData.DelegateList.DateTo === \"\"\r\n ) {\r\n validation.push({ label: \"DateTo\" });\r\n } else {\r\n _delegateData.DelegateList[\"CreatedBy\"] = empData.EmployeeId.toString();\r\n _delegateData.DelegateList.DateFrom = usePeriod\r\n ? `${_delegateData.DelegateList.DateFrom} 00:00:00`\r\n : null;\r\n _delegateData.DelegateList.DateTo = usePeriod\r\n ? `${_delegateData.DelegateList.DateTo} 00:00:00`\r\n : null;\r\n }\r\n }\r\n console.log(\"_delegateData\", _delegateData);\r\n\r\n if (validation.length > 0) {\r\n let text = \"\";\r\n for (let i = 0; i < validation.length; i++) {\r\n const valid = validation[i];\r\n if (i < validation.length - 1) {\r\n text = text + valid.label + \",\";\r\n } else {\r\n text = text + valid.label;\r\n }\r\n }\r\n setErrorState([...validation]);\r\n toggleAlert({\r\n description: `${text} is require.`,\r\n message: `Require field warning`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: `${text}`,\r\n // life: 7000,\r\n // });\r\n } else {\r\n setLoad(true);\r\n\r\n _delegateData.DelegateList[\"CreatedBy\"] = empData.EmployeeId.toString();\r\n _delegateData.DelegateList.DateFrom = usePeriod\r\n ? `${_delegateData.DelegateList.DateFrom}`\r\n : null;\r\n _delegateData.DelegateList.DateTo = usePeriod\r\n ? `${_delegateData.DelegateList.DateTo}`\r\n : null;\r\n const jsonData = {\r\n DelegateId: _delegateData.DelegateList.DelegateId,\r\n ModifiedBy: empData.EmployeeId.toString(),\r\n DelegateList: _delegateData.DelegateList,\r\n DelegateDetail: _delegateData.DelegateDetail,\r\n\r\n AttachmentList: _attachList,\r\n };\r\n\r\n const dd = await fetch(\"api/DelegateList/UpdateDelegate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(jsonData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setLoad(false);\r\n // console.log(data);\r\n history.push(\"/Settings?name=DelegateList\");\r\n });\r\n }\r\n };\r\n return (\r\n console.log(delegateData)}\r\n >\r\n \r\n {isLoad && (\r\n
\r\n \"loading...\"\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={() => toggleSideBar()}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n

Delegation of Authority

\r\n
\r\n {delegateId === 0 && (\r\n \r\n )}\r\n {delegateId !== 0 && (\r\n \r\n )}\r\n\r\n {delegateId !== 0 && (\r\n \r\n confirmDialog({\r\n message: \"Do you want to delete this delegation ?\",\r\n header: \"Delete\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n // rejectClassName:\r\n // \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n // acceptClassName:\r\n // \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: async () => {\r\n const res = await onDelete();\r\n },\r\n })\r\n }\r\n >\r\n Delete\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {sidebarState && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )}\r\n\r\n
\r\n {selectView === \"1\" && (\r\n \r\n )}\r\n {selectView === \"2\" && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DelegateScreen;\r\n","export const getAllEmailTemplate = async () => {\r\n const respone = await fetch(\"api/EmailTemplate/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const getEmailTemplateById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/EmailTemplate/GetById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const AddEmailTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/EmailTemplate/AddData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const updateEmailTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/EmailTemplate/updateData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"./EmailTemplateDetail.css\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\n// import \"./TemplateModal.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\n// import { Editor } from \"primereact/editor\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\n\r\nimport { UploadTinyMce } from \"../../../Services/UploadFileService\";\r\nimport { getAllEmailTemplate } from \"../../../Services/EmailTemplateService\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { useLocation, useHistory, useRouteMatch } from \"react-router-dom\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\ninterface Props {\r\n clickSelectProps: any;\r\n dataProps: any;\r\n setDataProps: any;\r\n}\r\n// import { Editor } from \"primereact/editor\";\r\nexport const EmailTemplateDetail = (props: Props) => {\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n let _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const _tinyURL = _userData.TinyURL;\r\n const toast = useRef(null);\r\n const [loading, setLoading] = useState(true);\r\n useEffect(() => {\r\n _EmailTemplate();\r\n _clickSelectText();\r\n }, [props.clickSelectProps]);\r\n useEffect(() => {\r\n console.log(\"props.dataProps\", props.dataProps);\r\n }, [props.dataProps]);\r\n\r\n function _Dropdown(data: any, key: any) {\r\n if (data === undefined || data === null) {\r\n } else {\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n [key]: data[key],\r\n }));\r\n }\r\n }\r\n function _CheckboxCpmponents(data: any, key: any) {\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n [key]: data,\r\n }));\r\n }\r\n function _InputText(data: any, key: any) {\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n EmailSubject: data,\r\n }));\r\n }\r\n async function _EmailTemplate() {\r\n let _getEmailTemplate = await getAllEmailTemplate();\r\n console.log(\"_getEmailTemplate\", _getEmailTemplate);\r\n }\r\n function _clickSelectText() {\r\n let _textEditor = props.dataProps.EmailBody;\r\n let _clickSelectProps =\r\n props.clickSelectProps === undefined ? \"\" : props.clickSelectProps;\r\n let _textEditoPropsr = _textEditor + _clickSelectProps;\r\n\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n EmailBody: _textEditoPropsr,\r\n }));\r\n }\r\n\r\n const handleEditorChange = (content: any, editor?: any) => {\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n EmailBody: content,\r\n }));\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n

Email Template

\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n {\r\n setLoading(false);\r\n }}\r\n init={{\r\n // selector: \"textarea#file-picker\",\r\n statusbar: false,\r\n paste_data_images: false,\r\n menubar: false,\r\n content_css: false,\r\n // auto_focus: \"elm1\",\r\n height: \"70vh\",\r\n fullscreen_native: true,\r\n remove_script_host: false,\r\n relative_urls: false,\r\n image_title: true,\r\n automatic_uploads: true,\r\n image_sourcetab: false,\r\n image_advtab: false,\r\n plugins: [\r\n \"image code\",\r\n \"advlist autolink lists image charmap print preview hr anchor pagebreak\",\r\n \"searchreplace wordcount code fullscreen\",\r\n \"insertdatetime media nonbreaking save table contextmenu directionality\",\r\n \"emoticons template paste textcolor colorpicker textpattern imagetools image\",\r\n \"link\",\r\n ],\r\n toolbar1:\r\n \"insertfile undo redo | styleselect | fontselect | fontsizeselect | bold italic underline | forecolor backcolor | alignleft aligncenter alignright alignjustify | searchreplace | bullist numlist outdent indent | pagebreak | link table | image | fullscreen\",\r\n fontsize_formats:\r\n \"8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt\",\r\n font_formats:\r\n \"Angsana New=angsana new,times;\" +\r\n \"Arial=arial,helvetica,sans-serif;\" +\r\n \"Arial Black=arial black,avant garde;\" +\r\n \"Book Antiqua=book antiqua,palatino;\" +\r\n \"Comic Sans MS=comic sans ms,sans-serif;\" +\r\n \"Courier New=courier new,courier;\" +\r\n \"DB Sathorn X=DB Sathorn X;\" +\r\n \"Georgia=georgia,palatino;\" +\r\n \"Helvetica=helvetica;\" +\r\n \"Impact=impact,chicago;\" +\r\n \"Symbol=symbol;\" +\r\n \"Tahoma=tahoma,arial,helvetica,sans-serif;\" +\r\n \"Terminal=terminal,monaco;\" +\r\n \"Times New Roman=times new roman,times;\" +\r\n \"Trebuchet MS=trebuchet ms,geneva;\" +\r\n \"Verdana=verdana,geneva;\" +\r\n \"Webdings=webdings;\" +\r\n \"TH Sarabun=sarabun;\" +\r\n \"Leelawadee=Leelawadee;\" +\r\n \"Sukhumvit Set=Sukhumvit Set;\"+\r\n \"Wingdings=wingdings,zapf dingbats\",\r\n content_style:\r\n \"@import url('https://fonts.googleapis.com/css2?family=Sarabun&display=swap'); body { font-family: 'Sarabun', sans-serif; }\" +\r\n \"@import url('https://fonts.cdnfonts.com/css/leelawadee'); body { font-family: 'Leelawadee', sans-serif; }\",\r\n\r\n images_upload_handler: async function (\r\n blobInfo,\r\n success,\r\n failure\r\n ) {\r\n var file = new File([blobInfo.blob()], blobInfo.filename(), {\r\n lastModified: Date.now(),\r\n });\r\n const formData = new FormData();\r\n const protocol = window.location.protocol;\r\n formData.append(\"file\", file);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"TinyImages\");\r\n formData.append(\"fileDesc\", \"\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n var response: any = await UploadTinyMce(formData);\r\n console.log(response, \"response\");\r\n if (response.data.result) {\r\n if (_sharepointSiteURL) {\r\n _sharepointSiteURL =\r\n _sharepointSiteURL.charAt(0) === \"/\"\r\n ? _sharepointSiteURL.substring(1)\r\n : _sharepointSiteURL;\r\n success(_sharepointSiteURL + \"/\" + response.data.pathUrl);\r\n } else {\r\n success(\r\n `${protocol}//` + _tinyURL + response.data.pathUrl\r\n );\r\n }\r\n } else {\r\n failure(response.data.pathUrl);\r\n }\r\n },\r\n }}\r\n value={props.dataProps.EmailBody}\r\n onEditorChange={handleEditorChange}\r\n />\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n","import { Button, Spin, Modal, Popover } from \"antd\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoArrowBackSharp, IoCloseOutline, IoMenu } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { DropdownComponents } from \"../../components/DropdownComponents/DropdownComponents\";\r\nimport { EmailTemplateDetail } from \"../../components/SettingsSpecComponents/EmailTemplateDetail/EmailTemplateDetail\";\r\nimport { TextHeaderComponents } from \"../../components/TextHeaderComponents/TextHeaderComponents\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { IEmailTemplateModel } from \"../../IRequestModel/IEmailTemplateModel\";\r\n\r\nimport {\r\n AddEmailTemplate,\r\n getEmailTemplateById,\r\n updateEmailTemplate,\r\n} from \"../../Services/EmailTemplateService\";\r\nimport {\r\n GetTemplate,\r\n GetTemplateById,\r\n GetTemplateeBindFormNameDDL,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../Services/TemplateService\";\r\nimport \"./EmailTemplateDetailScreen.css\";\r\nimport { useLocation, useHistory, useRouteMatch } from \"react-router-dom\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\ntype Props = {};\r\nconst createEmailTemplate: IEmailTemplateModel = {\r\n EmailTemplateId: 0,\r\n TemplateId: 0,\r\n TemplateName: \"\",\r\n TemplateDocumentCode: \"\",\r\n FormState: \"\",\r\n EmailTo: \"\",\r\n EmailCC: \"\",\r\n EmailSubject: \"\",\r\n EmailBody: \"\",\r\n CreatedByName: \"\",\r\n IsActive: true,\r\n ModifiedByName: \"\",\r\n CreatedBy: \"\",\r\n ModifiedDate: \"\",\r\n ModifiedBy: \"\",\r\n CreatedDate: \"\",\r\n};\r\nconst EmailTemplateDetailScreen = (props: Props) => {\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const [dataTreeSelectProps, setDataTreeSelectProps] = useState({});\r\n const [template, setTemplate] = useState({});\r\n const [formSelect, setFormSelect] = useState({});\r\n const [clickSelect, setClickSelect] = useState(\"\");\r\n const [formSelectLabel, setFormSelectLabel] = useState([]);\r\n const [visibleConfirmDialog, setVisibleConfirmDialog] = useState();\r\n const [emailTemplateObj, setEmailTemplateObj] =\r\n useState(createEmailTemplate);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n let history = useHistory();\r\n const toast = useRef();\r\n const [action, setAction] = useState(\"\");\r\n const query = new URLSearchParams(useLocation().search);\r\n useEffect(() => {\r\n let _emailTemplateId: string = query.get(\"EmailTemplateId\") || \"\";\r\n if (_emailTemplateId) {\r\n setAction(\"edit\");\r\n fetchEmailTemplateById(Number(_emailTemplateId));\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n fetchTemplate();\r\n }, []);\r\n useEffect(() => {\r\n console.log(\"emailTemplateObj\", emailTemplateObj);\r\n }, [emailTemplateObj]);\r\n function toggleSideBar() {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n } else {\r\n setSidebarState(true);\r\n }\r\n }\r\n async function onSave() {\r\n let _emailTemplateObj = emailTemplateObj;\r\n\r\n if (action === \"add\") {\r\n _emailTemplateObj.CreatedByName = userData.employeeData.NameEn;\r\n _emailTemplateObj.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n _emailTemplateObj.ModifiedBy =\r\n userData.employeeData.EmployeeId.toString();\r\n _emailTemplateObj.ModifiedByName = userData.employeeData.NameEn;\r\n _emailTemplateObj.TemplateId =\r\n _emailTemplateObj.TemplateId === 0\r\n ? null\r\n : _emailTemplateObj.TemplateId;\r\n const res = await AddEmailTemplate(_emailTemplateObj);\r\n if (res) {\r\n history.push(\"/EmailTemplateList\", {\r\n responeAddTemplate: res,\r\n typeTemplate: action,\r\n });\r\n } else {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Server Error Please try again\",\r\n life: 7000,\r\n });\r\n }\r\n console.log(\"res0\", res);\r\n } else {\r\n _emailTemplateObj.TemplateId =\r\n _emailTemplateObj.TemplateId === 0\r\n ? null\r\n : _emailTemplateObj.TemplateId;\r\n\r\n console.log(\"_emailTemplateObjeeeeeee\", _emailTemplateObj);\r\n\r\n const res = await updateEmailTemplate(_emailTemplateObj);\r\n if (res) {\r\n history.push(\"/EmailTemplateList\", {\r\n responeAddTemplate: res,\r\n typeTemplate: action,\r\n });\r\n } else {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Server Error Please try again\",\r\n life: 7000,\r\n });\r\n }\r\n }\r\n }\r\n function onClickSelect(data: any) {\r\n setClickSelect(data);\r\n }\r\n\r\n async function dataEdit(data: any) {\r\n const dataJson = {\r\n TemplateId: data,\r\n };\r\n let _responeData = await GetTemplateById(dataJson);\r\n if (_responeData !== null) {\r\n _templateDropdown(_responeData);\r\n }\r\n }\r\n async function fetchTemplate() {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empid = empData.employeeData.EmployeeId;\r\n const DepartmentId = empData.employeeData.DepartmentId;\r\n // const dataJson = {\r\n // CreatedBy: empid.toString(),\r\n // DepartmentId: DepartmentId,\r\n // };\r\n // const dataJsonn = {\r\n // CreatedBy: empid.toString(),\r\n // DepartmentId: DepartmentId,\r\n // Username: empData.employeeData.Username,\r\n // Email: empData.employeeData.Email,\r\n // };\r\n const dataJson = {\r\n CreatedBy: empid.toString(),\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateTemplateListVersion(dataJson);\r\n // let _dataTemplatee = await GetTemplateeBindFormNameDDL(dataJsonn);\r\n // let _dataTemplate = await GetTemplateTemplateListVersion(dataJson);\r\n\r\n setTemplate(_dataTemplatee);\r\n }\r\n async function fetchEmailTemplateById(data: any) {\r\n const dataJson = {\r\n EmailTemplateId: Number(data),\r\n };\r\n let _dataTemplate = await getEmailTemplateById(dataJson);\r\n\r\n setEmailTemplateObj((prevState: any) => ({\r\n ...prevState,\r\n ..._dataTemplate,\r\n }));\r\n dataEdit(_dataTemplate.TemplateId);\r\n }\r\n function _templateDropdown(data: any) {\r\n if (data !== undefined && data !== null) {\r\n let _dataAdvanceForm =\r\n data === undefined || data === null\r\n ? []\r\n : data?.AdvanceForm.length === 0\r\n ? []\r\n : JSON.parse(data?.AdvanceForm);\r\n let layout: any = [];\r\n let layoutLabel: any = [];\r\n _dataAdvanceForm.items.map((_data: any) => {\r\n layout.push(_data.layout);\r\n });\r\n layout.map((_data: any) => {\r\n if (_data.length > 1) {\r\n _data.map((data: any) => {\r\n if (data.template.label.length !== 0) {\r\n layoutLabel.push(data.template.label);\r\n }\r\n });\r\n } else {\r\n if (_data[0].template.label.length !== 0) {\r\n layoutLabel.push(_data[0].template.label);\r\n }\r\n }\r\n });\r\n setFormSelect(data);\r\n setEmailTemplateObj((prevState: any) => ({\r\n ...prevState,\r\n TemplateId: data.TemplateId,\r\n TemplateDocumentCode: data.TemplateNameWithCode,\r\n TemplateName: data.TemplateName,\r\n }));\r\n setFormSelectLabel(layoutLabel);\r\n }\r\n }\r\n const confirmDialogButton = () => {\r\n return (\r\n <>\r\n \r\n setVisibleConfirmDialog(false)}\r\n message=\"Are you sure you want to proceed?\"\r\n header=\"Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n accept={onSave}\r\n reject={() => {\r\n setVisibleConfirmDialog(false);\r\n }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n />\r\n \r\n );\r\n };\r\n return (\r\n <>\r\n {confirmDialogButton()}\r\n
\r\n
\r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n\r\n
\r\n

Create Email Template

\r\n
\r\n \r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"32px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid #F2F2F2\",\r\n fontSize: \"13px\",\r\n background: \"#F2F2F2\",\r\n color: \"#282F6A\",\r\n width: \"120px\",\r\n }}\r\n />\r\n \r\n }\r\n onClickProps={() => setVisibleConfirmDialog(true)}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n height: \"32px\",\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {sidebarState ? (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formSelectLabel.length !== 0 ? (\r\n <>\r\n {formSelectLabel.map((data: any) => {\r\n return (\r\n <>\r\n onClickSelect(data)}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid #F1F1F1 \",\r\n fontSize: \"13px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n marginBottom: \"10px\",\r\n background: \"#F1F1F1\",\r\n color: \"#262A2D\",\r\n }}\r\n />\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n \r\n \r\n
\r\n
\r\n ) : (\r\n <>\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default withPerMission(EmailTemplateDetailScreen);\r\n","import React from \"react\";\r\nimport { AiOutlineApartment } from \"react-icons/ai\";\r\nimport { BsCalendar4, BsNewspaper, BsPerson } from \"react-icons/bs\";\r\nimport { ImAttachment } from \"react-icons/im\";\r\n\r\nimport { IoAlertCircleOutline } from \"react-icons/io5\";\r\nimport { GrDocumentText } from \"react-icons/gr\";\r\nimport { IoMdCheckmarkCircleOutline } from \"react-icons/io\";\r\nimport { Button } from \"../../../components/Button/Button\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n}\r\n\r\nexport const SimLineSideBar = (props: Props) => {\r\n const SideBarData = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Initial\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Result\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n {SideBarData.map((data, idx) => (\r\n
{data.component}
\r\n ))}\r\n
\r\n );\r\n};\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport React from \"react\";\r\nimport \"../SimLineApproveScreen.css\";\r\nimport { Col,Row } from \"antd\";\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\ninterface Props {}\r\n\r\nexport const InitialComponent = (props: Props) => {\r\n const dataAutoApprove = [\r\n { nameEn: \"First Step Approve\", nameTh: \"อนุมัติเฉพาะขั้นแรก\" },\r\n { nameEn: \"Last Step Approve\", nameTh: \"อนุมัติเฉพาะขั้นสุดท้าย\" },\r\n ];\r\n return (\r\n <>\r\n \r\n \r\n
\r\n Requester (Username)\r\n \r\n
\r\n \r\n \r\n
\r\n Email (Ex. @xxx.com)\r\n \r\n
\r\n \r\n \r\n
\r\n Name\r\n \r\n
\r\n \r\n \r\n
\r\n Position Th\r\n \r\n
\r\n \r\n
\r\n
Report To
\r\n \r\n \r\n Control Label\r\n ชื่อ\r\n \r\n }\r\n />\r\n \r\n Type\r\n ชนิด\r\n \r\n }\r\n />\r\n \r\n Value\r\n ค่า\r\n \r\n }\r\n />\r\n \r\n Delete\r\n ลบ\r\n \r\n }\r\n />\r\n \r\n \r\n \r\n
\r\n Template Name\r\n \r\n
\r\n \r\n \r\n
\r\n Template ID\r\n \r\n
\r\n \r\n \r\n
\r\n Total Amount\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
Redundant Approver
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
Auto Approve
\r\n
\r\n
\r\n {dataAutoApprove.map((_data, i) => {\r\n return (\r\n \r\n \r\n \r\n
\r\n );\r\n })}\r\n
\r\n \r\n \r\n
\r\n
Approval Matrix
\r\n \r\n \r\n Seq\r\n ลำดับ\r\n \r\n }\r\n />\r\n \r\n Control Label\r\n ชื่อ\r\n \r\n }\r\n />\r\n \r\n Type\r\n ชนิด\r\n \r\n }\r\n />\r\n \r\n Value\r\n ค่า\r\n \r\n }\r\n />\r\n \r\n Delete\r\n ลบ\r\n \r\n }\r\n />\r\n \r\n
Approval Matrix Detail
\r\n \r\n \r\n Seq\r\n ลำดับ\r\n \r\n }\r\n />\r\n \r\n Control Label\r\n ชื่อ\r\n \r\n }\r\n />\r\n \r\n Type\r\n ชนิด\r\n \r\n }\r\n />\r\n \r\n Value\r\n ค่า\r\n \r\n }\r\n />\r\n \r\n Delete\r\n ลบ\r\n \r\n }\r\n />\r\n \r\n
Specific Approvals
\r\n \r\n \r\n Seq\r\n ลำดับ\r\n \r\n }\r\n />\r\n \r\n Control Label\r\n ชื่อ\r\n \r\n }\r\n />\r\n \r\n Type\r\n ชนิด\r\n \r\n }\r\n />\r\n \r\n Value\r\n ค่า\r\n \r\n }\r\n />\r\n \r\n Delete\r\n ลบ\r\n \r\n }\r\n />\r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {}\r\n\r\nexport const ResultComponent = (props: Props) => {\r\n return (\r\n <>\r\n
Approval Matrix
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Seq

\r\n

ลำดับ

\r\n
\r\n

Control Label

\r\n

ชื่อ

\r\n
\r\n

Type

\r\n

ชนิด

\r\n
\r\n

Value

\r\n

ค่า

\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import { Toast } from \"primereact/toast\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { TreeSelectNewRequest } from \"../../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { SimLineSideBar } from \"./SimLineSideBar\";\r\nimport { InitialComponent } from \"./InitialComponent/InitialComponent\";\r\nimport { ResultComponent } from \"./ResultComponent/ResultComponent\";\r\nimport { Button } from \"antd\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport withPerMission from \"../../../components/HOC/withPermission\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\n\r\nconst SimLineApproveScreen = (props: Props) => {\r\n const [selectView, setSelectView] = useState(\"1\");\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const toast = useRef(null);\r\n const [onLoading, setOnLoading] = useState(false);\r\n\r\n const toggleSideBar = () => {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n } else {\r\n setSidebarState(true);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {onLoading && (\r\n
\r\n \"loading...\"\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={() => toggleSideBar()}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n

Approval Matrix Simulator

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {sidebarState && (\r\n
\r\n
\r\n
\r\n {\r\n setSelectView(e);\r\n }}\r\n curPage={selectView}\r\n />\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n {selectView === \"1\" && }\r\n {selectView === \"2\" && }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default withPerMission(SimLineApproveScreen);\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { RiDatabase2Line } from \"react-icons/ri\";\r\nimport { useHistory } from \"react-router\";\r\nimport { Popover, Tooltip } from \"antd\";\r\n\r\ninterface Props {\r\n dashboard: any;\r\n statusCard: any;\r\n onLoading: any;\r\n endpoint: any;\r\n}\r\n\r\nexport const DashboardCard = (props: Props) => {\r\n const history = useHistory();\r\n useEffect(() => {\r\n console.log(props.dashboard, \"props.dashboard\");\r\n }, []);\r\n\r\n const MapDataFromEndpoint = (_item: any) => {\r\n let result: any = [];\r\n for (let index = 3; index < props.endpoint.length; index++) {\r\n result.push(props.endpoint[index]);\r\n }\r\n return (\r\n <>\r\n {result.map((data: any) => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n {TextAbstract(_item[data], 50)}\r\n \r\n
\r\n
\r\n \r\n );\r\n })}\r\n \r\n );\r\n };\r\n function TextAbstract(text: any, length: any) {\r\n if (text == null) {\r\n return \"\";\r\n }\r\n if (text.length <= length) {\r\n return text;\r\n }\r\n text = text.substring(0, length);\r\n var last = text.lastIndexOf(\" \");\r\n text = text.substring(0, last);\r\n return text + \"...\";\r\n }\r\n return (\r\n <>\r\n
\r\n {props.dashboard?.length >= 1 ? (\r\n <>\r\n {props.dashboard?.map((_data: any, i: number) => {\r\n return (\r\n
\r\n
\r\n {TextAbstract(_data.headData, 80)}\r\n
\r\n
\r\n {_data.items?.map((_item: any, j: number) => {\r\n let colorValue = \"\";\r\n let nameValue = \"\";\r\n props.statusCard.map((_color: any) => {\r\n const [status, color, name] = _color.split(\"||\");\r\n if (_item.Memo_StatusName === name) {\r\n colorValue = color;\r\n }\r\n });\r\n\r\n return (\r\n \r\n {\r\n window.open(\r\n `/Request?MemoID=${_item[props.endpoint[0]]}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\r\n >\r\n
\r\n
\r\n \r\n {_item[props.endpoint[1]]}\r\n \r\n
\r\n\r\n \r\n \r\n {_item[props.endpoint[2]]}\r\n \r\n
\r\n
\r\n \r\n {_item[props.endpoint[3]]}\r\n \r\n \r\n {_item[props.endpoint[6]]}\r\n \r\n \r\n {_item[props.endpoint[7]]}\r\n \r\n {/* {MapDataFromEndpoint(_item)} */}\r\n
\r\n \r\n );\r\n })}\r\n
\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n <>\r\n {props.onLoading === false && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import FullCalendar, { EventContentArg } from \"@fullcalendar/react\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\r\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\r\nimport interactionPlugin from \"@fullcalendar/interaction\";\r\nimport moment from \"moment\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { GetDashboardFilterStatus } from \"../../../Services/ConfigurationService\";\r\ninterface Props {\r\n dashboard: any;\r\n statusCard: any;\r\n onLoading: any;\r\n setValueDropdownInCalendar: any;\r\n valueDropdownInCalendar: any;\r\n endpoint: any;\r\n responeConfig: any;\r\n}\r\n\r\nexport const DashboardCalendar = (props: Props) => {\r\n const [dataCalendar, setDataCalendar] = useState();\r\n const [defaultValueDashboard, setDefaultValueDashboard] = useState();\r\n const [onLoading, setOnLoading] = useState(true);\r\n useEffect(() => {\r\n console.log(props.dashboard, \"props.dashboard\");\r\n if (props.dashboard !== undefined) {\r\n // mapDataDropDown();\r\n mapData();\r\n }\r\n }, [props.dashboard]);\r\n async function mapData() {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n const array: any[] = [];\r\n props.dashboard.map((_data: any, index: number) => {\r\n _data.items.map((_data2: any, index2: number) => {\r\n let colorValue = \"\";\r\n props.statusCard.map((_color: any) => {\r\n const [status, color, name] = _color.split(\"||\");\r\n if (_data2[props.endpoint[2]] === name) {\r\n colorValue = color;\r\n }\r\n });\r\n console.log(\"_data2=>\", _data2);\r\n\r\n array.push({\r\n id: _data2[props.endpoint[0]],\r\n status: _data2[props.endpoint[2]],\r\n title: _data2[props.endpoint[3]],\r\n date: new Date(\r\n moment(moment(_data2[props.endpoint[7]], \"DD MMMM yyyy\")).format(\r\n \"yyyy/MM/DD\"\r\n )\r\n ),\r\n url: `${baseUrl}/Request?MemoID=${_data2[\"Memo_MemoId\"]}`,\r\n allDay: true,\r\n color: colorValue,\r\n });\r\n });\r\n });\r\n console.log(\"array=>\", array);\r\n\r\n setDataCalendar([...array]);\r\n setDefaultValueDashboard([...array]);\r\n setOnLoading(false);\r\n }\r\n const renderStatusView = () => {\r\n let ss: any = props.statusCard;\r\n let dd: any = [];\r\n for (let i = 0; i < ss.length; i++) {\r\n const _status = ss[i];\r\n const [status, color, displayName] = _status.split(\"||\");\r\n console.log('_status.split(\"||\")', ss.length);\r\n\r\n for (let j = i + 1; j < ss.length; j++) {\r\n const element = ss[j];\r\n const [status2, color2, displayName2] = element.split(\"||\");\r\n if (displayName === displayName2) {\r\n console.log(\"ssssss : \", j, element, \",\", _status, \": \", i);\r\n dd.push(j);\r\n }\r\n }\r\n }\r\n var tt = props.statusCard;\r\n let _dd = [...new Set(dd)];\r\n\r\n let zz = [];\r\n let isHas = false;\r\n for (let i = 0; i < tt.length; i++) {\r\n const aa = tt[i];\r\n for (let j = 0; j < _dd.length; j++) {\r\n const element = _dd[j];\r\n if (i === element) {\r\n isHas = true;\r\n console.log(\"aaaaaaaaaaaaaaa\", aa);\r\n }\r\n }\r\n if (!isHas) {\r\n zz.push(aa);\r\n }\r\n isHas = false;\r\n }\r\n\r\n console.log(\"ssssss\", zz, \",\", [...new Set(dd)]);\r\n console.log(\"ssssss\", zz);\r\n let zz15: any = [];\r\n const l2 = zz.map((_color: any) => {\r\n const [status, color, displayName, priority] = _color.split(\"||\");\r\n zz15.push({\r\n displayName: displayName,\r\n color: color,\r\n priority: priority,\r\n });\r\n });\r\n var dd321 = zz15.sort((a: any, b: any) => {\r\n return a.priority - b.priority;\r\n });\r\n const l = dd321.map((_data: any) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return l;\r\n };\r\n // async function mapDataDropDown() {\r\n // var _filter = await GetDashboardFilterStatus();\r\n // const arrayDropDown: any[] = [];\r\n // const arrayValueDropdown: any[] = [];\r\n // _filter.map((_data: any) => {\r\n // const [value, name, status] = _data.split(\"||\");\r\n // arrayDropDown.push({\r\n // value: value,\r\n // name: name,\r\n // });\r\n // if (status) {\r\n // arrayValueDropdown.push(value);\r\n // }\r\n // });\r\n // props.setValueDropdownInCalendar([...arrayValueDropdown]);\r\n // setOptionDropdown([...arrayDropDown]);\r\n // }\r\n\r\n // function globalFilterDropDown(_data: any) {\r\n // if (props.valueDropdownInCalendar.length === 0) {\r\n // return [];\r\n // }\r\n // const _filtered = _data.filter((item: any) => {\r\n // for (let i = 0; i < props.valueDropdownInCalendar.length; i++) {\r\n // var _dataSpilt = props.valueDropdownInCalendar[i].split(\";|;\");\r\n // for (let j = 0; j < _dataSpilt.length; j++) {\r\n // if (item.status?.includes(_dataSpilt[j])) {\r\n // return true;\r\n // }\r\n // }\r\n // }\r\n // });\r\n // return _filtered;\r\n // }\r\n // useEffect(() => {\r\n // if (defaultValueDashboard !== undefined) {\r\n // let filteredData = globalFilterDropDown(defaultValueDashboard);\r\n // setDataCalendar(filteredData);\r\n // setOnLoading(false);\r\n // }\r\n // }, [props.valueDropdownInCalendar]);\r\n\r\n function renderSidebar() {\r\n return (\r\n {\r\n console.log(props.valueDropdownInCalendar);\r\n }}\r\n >\r\n
\r\n {/*
\r\n {optionDropdown?.length !== 0 && optionDropdown !== undefined && (\r\n {\r\n props.setValueDropdownInCalendar(e.value);\r\n }}\r\n />\r\n )}\r\n
*/}\r\n
\r\n <>{renderStatusView()}\r\n
\r\n
\r\n \r\n );\r\n }\r\n return (\r\n
\r\n {onLoading || props.dashboard === undefined ? (\r\n
\r\n \"loading...\"\r\n
\r\n ) : (\r\n
\r\n {props.statusCard !== undefined &&\r\n props.dashboard !== undefined &&\r\n renderSidebar()}\r\n
\r\n {\r\n info.jsEvent.preventDefault();\r\n if (info.event.url) {\r\n window.open(info.event.url, \"noreferrer\");\r\n }\r\n }}\r\n headerToolbar={{\r\n left: \"prev\",\r\n center: \"title\",\r\n right: \"next\",\r\n }}\r\n dayMaxEvents={true}\r\n // eventContent={renderEventContent}\r\n events={dataCalendar}\r\n editable={false}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import moment from \"moment\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport \"./DashboardTimeline.css\";\r\nimport Timeline, {\r\n DateHeader,\r\n SidebarHeader,\r\n TimelineHeaders,\r\n} from \"react-calendar-timeline\";\r\nimport \"react-calendar-timeline/lib/Timeline.css\";\r\nimport { RiDatabase2Line } from \"react-icons/ri\";\r\nimport { MinusCircleOutlined, PlusCircleOutlined } from \"@ant-design/icons\";\r\nimport { Tooltip } from \"antd\";\r\n\r\ntype Props = { dashboard: any; onLoading: any; statusCard: any; endpoint: any };\r\n\r\nexport const DashboardTimeline = (props: Props) => {\r\n const [dataTimeline, setDataTimeline] = useState();\r\n const [dataGroups, setDataGroups] = useState();\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n useEffect(() => {\r\n mapData();\r\n }, [props.dashboard]);\r\n\r\n async function mapData() {\r\n if (props.dashboard) {\r\n var array: any[] = [];\r\n var array2: any[] = [];\r\n console.log(props.dashboard, \"props.statusCard\");\r\n props.dashboard.map((_data: any, index: number) => {\r\n array2.push({\r\n id: index,\r\n title: _data[\"headData\"],\r\n rightTitle: _data[\"headData\"],\r\n });\r\n _data.items.map((_data2: any, index2: number) => {\r\n let colorValue = \"\";\r\n props.statusCard.map((_color: any) => {\r\n const [status, color, name] = _color.split(\"||\");\r\n if (_data2[props.endpoint[2]] === name) {\r\n colorValue = color;\r\n }\r\n });\r\n\r\n array.push({\r\n id: _data2[props.endpoint[0]] + \"\",\r\n group: index + \"\",\r\n title: _data2[props.endpoint[3]],\r\n start: moment(\r\n new Date(\r\n moment(\r\n moment(_data2[props.endpoint[7]], \"DD MMMM yyyy\")\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n end: moment(\r\n new Date(\r\n moment(\r\n moment(_data2[props.endpoint[7]], \"DD MMMM yyyy\").add(\r\n 1,\r\n \"days\"\r\n )\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n bgColor: \"rgba(225, 166, 244, 0.6)\",\r\n itemProps: {\r\n \"data-tip\": _data2[\"Memo_MemoSubject\"],\r\n\r\n onMouseUp: () => {\r\n window.open(\r\n `${baseUrl}/Request?MemoID=${_data2[\"Memo_MemoId\"]}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n },\r\n style: {\r\n background: colorValue,\r\n },\r\n },\r\n });\r\n });\r\n });\r\n console.log(array, \"array\");\r\n console.log(array2, \"array2\");\r\n setDataTimeline([...array]);\r\n setDataGroups([...array2]);\r\n } else {\r\n }\r\n }\r\n\r\n const renderStatusView = () => {\r\n let ss: any = props.statusCard;\r\n let dd: any = [];\r\n for (let i = 0; i < ss.length; i++) {\r\n const _status = ss[i];\r\n const [status, color, displayName] = _status.split(\"||\");\r\n console.log('_status.split(\"||\")', ss.length);\r\n\r\n for (let j = i + 1; j < ss.length; j++) {\r\n const element = ss[j];\r\n const [status2, color2, displayName2] = element.split(\"||\");\r\n if (displayName === displayName2) {\r\n console.log(\"ssssss : \", j, element, \",\", _status, \": \", i);\r\n dd.push(j);\r\n }\r\n }\r\n }\r\n var tt = props.statusCard;\r\n let _dd = [...new Set(dd)];\r\n\r\n let zz = [];\r\n let isHas = false;\r\n for (let i = 0; i < tt.length; i++) {\r\n const aa = tt[i];\r\n for (let j = 0; j < _dd.length; j++) {\r\n const element = _dd[j];\r\n if (i === element) {\r\n isHas = true;\r\n console.log(\"aaaaaaaaaaaaaaa\", aa);\r\n }\r\n }\r\n if (!isHas) {\r\n zz.push(aa);\r\n }\r\n isHas = false;\r\n }\r\n\r\n console.log(\"ssssss\", zz, \",\", [...new Set(dd)]);\r\n console.log(\"ssssss\", zz);\r\n let zz15: any = [];\r\n const l2 = zz.map((_color: any) => {\r\n const [status, color, displayName, priority] = _color.split(\"||\");\r\n zz15.push({\r\n displayName: displayName,\r\n color: color,\r\n priority: priority,\r\n });\r\n });\r\n var dd321 = zz15.sort((a: any, b: any) => {\r\n return a.priority - b.priority;\r\n });\r\n const l = dd321.map((_data: any) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return l;\r\n };\r\n\r\n function renderSidebar() {\r\n return (\r\n
\r\n
\r\n
\r\n <>{renderStatusView()}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n var keys = {\r\n groupIdKey: \"id\",\r\n groupTitleKey: \"title\",\r\n groupRightTitleKey: \"rightTitle\",\r\n itemIdKey: \"id\",\r\n itemTitleKey: \"title\",\r\n itemDivTitleKey: \"title\",\r\n itemGroupKey: \"group\",\r\n itemTimeStartKey: \"start\",\r\n itemTimeEndKey: \"end\",\r\n groupLabelKey: \"title\",\r\n };\r\n\r\n var [sideBarWidth, setSideBarWidth] = useState(150);\r\n\r\n function handleresize() {\r\n if (sideBarWidth >= 151) {\r\n setSideBarWidth(sideBarWidth - 50);\r\n } else {\r\n setSideBarWidth(sideBarWidth);\r\n }\r\n }\r\n return (\r\n {\r\n console.log(dataTimeline);\r\n console.log(dataGroups);\r\n }}\r\n >\r\n {dataTimeline && dataGroups && props.onLoading == false && (\r\n <>\r\n {renderSidebar()}\r\n {props.dashboard.length !== 0 ? (\r\n \r\n \r\n \r\n {({ getRootProps }) => {\r\n return (\r\n
\r\n \r\n \r\n handleresize()}\r\n className=\"set-icon\"\r\n />\r\n \r\n {\" \"}\r\n \r\n \r\n setSideBarWidth(sideBarWidth + 50)\r\n }\r\n className=\"set-icon\"\r\n />\r\n \r\n
\r\n \r\n Group By\r\n \r\n \r\n );\r\n }}\r\n
\r\n \r\n \r\n
\r\n \r\n ) : (\r\n <>\r\n {props.onLoading === false && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n};\r\n","export const GetAllProject = async () => {\r\n const respone = await fetch(\"api/Project/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import moment from \"moment\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport {\r\n BsCalendar4,\r\n BsCalendarDate,\r\n BsCalendarRange,\r\n BsChevronDown,\r\n BsLayoutThreeColumns,\r\n BsPlusSquare,\r\n} from \"react-icons/bs\";\r\n\r\nimport {\r\n FilterAdvanceSearch,\r\n MapGroupData,\r\n MapDataEndpoint,\r\n} from \"../../Services/ReportService\";\r\nimport { DashboardCard } from \"./DashboardCard/DashboardCard\";\r\nimport \"./DashboardScreen.css\";\r\nimport { DashboardCalendar } from \"./DashboardCalendar/DashboardCalendar\";\r\nimport { Button } from \"primereact/button\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport {\r\n GetDashboardStatusCard,\r\n GetDashboardAdvancedFilter,\r\n GetDashboardFilterStatus,\r\n GetDashboardKeyEndpoint,\r\n GetDashboardFilterGroupBy,\r\n GetDashboardDefaultFilterConFig,\r\n LoginConfiguration,\r\n} from \"../../Services/ConfigurationService\";\r\nimport { RiFilterOffLine } from \"react-icons/ri\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\nimport { FiFilter } from \"react-icons/fi\";\r\nimport { DashboardTimeline } from \"./DashboardTimeline/DashboardTimeline\";\r\nimport { AiOutlineClose, AiOutlineCloseCircle } from \"react-icons/ai\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { DatePicker } from \"antd\";\r\nimport {\r\n GetAllEmployee,\r\n} from \"../../Services/EmployeeService\";\r\nimport { GetAllProject } from \"../../Services/ProjectService\";\r\nimport { GrFormNextLink } from \"react-icons/gr\";\r\nimport { IoCalendarOutline } from \"react-icons/io5\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\n\r\ninterface Props {}\r\n\r\nconst DashboardScreen = (props: Props) => {\r\n const itemFilter: any = {\r\n dropdown: [],\r\n value: [],\r\n };\r\n\r\n const [responeConfig, setResponeConfig] = useState();\r\n const op = useRef(null);\r\n const ref = useRef(null);\r\n const ref2 = useRef(null);\r\n const isMounted = useRef(false);\r\n const [filterGroupBy, setFilterGroupBy] = useState([]);\r\n const [dataFilterGroupBy, setDataFilterGroupBy] = useState();\r\n const [ItemsStatus, setItemsStatus] = useState();\r\n const [dataAdvancedFilter, setDataAdvancedFilter] = useState();\r\n const [dataAdvancedFilterList, setDataAdvancedFilterList] = useState();\r\n const { RangePicker } = DatePicker;\r\n const [dashboard, setDashboard] = useState();\r\n const [defaultValueDashboard, setDefaultValueDashboard] = useState();\r\n const [data, setData] = useState();\r\n const [filter, setFilter] = useState(\"\");\r\n const [selectedFilter, setSelectedFilter] = useState();\r\n const [endpoint, setEndpoint] = useState();\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [onSelectView, onSetSelectView] = useState(\"1\");\r\n const [statusCard, setStatusCard] = useState();\r\n const [employeeList, setEmployeeList] = useState();\r\n const [selectedEmployee, setSelectedEmployee] = useState();\r\n const [dates, setDates] = useState();\r\n const [project, setProject] = useState();\r\n const [selectedProject, setSelectedProject] = useState();\r\n const [selectedStatus, setSelectedStatus] = useState();\r\n const [keyEnter, setKeyEnter] = useState(false);\r\n const [onClickFilter, setOnClickFilter] = useState(false);\r\n const [filterAttribute, setFilterAttribute] = useState({ items: [] });\r\n const [userData, setUserData] = useUserContext();\r\n const [isOpenDateFilter, setIsOpenDateFilter] = useState(false);\r\n const [valueDropdownInCalendar, setValueDropdownInCalendar] = useState();\r\n const [isFetchData, setIsFetchData] = useState(false);\r\n useEffect(() => {\r\n isMounted.current = true;\r\n window.addEventListener(\"scroll\", handleScroll);\r\n fetchData();\r\n }, []);\r\n async function fetchData() {\r\n setIsFetchData(true);\r\n var responseConfig = await LoginConfiguration();\r\n var _filter = await GetDashboardFilterStatus();\r\n var _filterProject = await GetAllProject();\r\n var _responeDefaultAdvanced = await defaultAdvancedFilter(_filter);\r\n var _endpoint = await GetDashboardKeyEndpoint();\r\n var _advancedFilter = await GetDashboardAdvancedFilter();\r\n var _filterGroupBy = await GetDashboardFilterGroupBy();\r\n var _statusCard = await GetDashboardStatusCard();\r\n var respone = await FilterAdvanceSearch({\r\n FavoritesItem: JSON.stringify(_responeDefaultAdvanced),\r\n });\r\n var _mapGroupData = await MapDataEndpoint(respone);\r\n var headData = await MapGroupData(_mapGroupData, _filterGroupBy[0]);\r\n setData(_mapGroupData);\r\n setDashboard(headData);\r\n fetchDataEmployee();\r\n fetchProject();\r\n setDataAdvancedFilter(_advancedFilter);\r\n setDataFilterGroupBy(_filterGroupBy);\r\n setStatusCard(_statusCard);\r\n setEndpoint(_endpoint);\r\n defaultFilterStatus(_filter);\r\n setSelectedFilter(_advancedFilter[0]);\r\n setFilterGroupBy(_filterGroupBy[0]);\r\n setOnLoading(false);\r\n setResponeConfig(responseConfig);\r\n }\r\n async function mapDataOptionFilter(_advancedFilter: any, _filter: any) {\r\n var _dataArray: any[] = [];\r\n _filter.map((_data: any, idx: any) => {\r\n _dataArray.push(_advancedFilter);\r\n });\r\n return _dataArray;\r\n }\r\n useEffect(() => {\r\n if (filterAttribute && dataAdvancedFilter) {\r\n var _dataArray: any[] = [];\r\n var _dataArray2: any = [];\r\n let _dataArray3: any[] = [];\r\n var _attribute = filterAttribute.items;\r\n var _advancedFilter = dataAdvancedFilter;\r\n _attribute.map((_data: any, idx: any) => {\r\n _dataArray.push(_advancedFilter);\r\n });\r\n for (let i = 0; i < _attribute.length; i++) {\r\n const element = _attribute[i];\r\n var response = _advancedFilter.filter((item: any) => {\r\n if (element.dropdown.name === item.name) {\r\n return item;\r\n }\r\n });\r\n _dataArray2.push(response[0]);\r\n }\r\n // for (let i = 0; i < _attribute.length; i++) {\r\n // const element = _attribute[i];\r\n // var response = _advancedFilter.filter((item: any) => {\r\n // if (element.dropdown.project === item.project) {\r\n // return item;\r\n // }\r\n // });\r\n // _dataArray3.push(response[0]);\r\n // }\r\n let ss: any[] = [];\r\n for (let i = 0; i < _dataArray.length; i++) {\r\n const options = _dataArray[i];\r\n let dd: any[] = [];\r\n for (let j = 0; j < _dataArray2?.length; j++) {\r\n const selected = _dataArray2[j];\r\n if (i !== j) {\r\n for (let k = 0; k < options.length; k++) {\r\n const option = options[k];\r\n if (option.name === selected?.name) {\r\n dd.push(k);\r\n }\r\n }\r\n }\r\n }\r\n ss.push({\r\n idx: i,\r\n data: dd,\r\n });\r\n }\r\n let zz = [];\r\n let isHas = false;\r\n for (let i = 0; i < _dataArray.length; i++) {\r\n const options = _dataArray[i];\r\n const element = ss[i];\r\n let jj: any[] = [];\r\n for (let k = 0; k < options?.length; k++) {\r\n const option = options[k];\r\n for (let j = 0; j < element?.data?.length; j++) {\r\n const qq = element?.data[j];\r\n if (qq === k) {\r\n isHas = true;\r\n }\r\n }\r\n if (!isHas) {\r\n jj.push(option);\r\n }\r\n isHas = false;\r\n }\r\n zz.push(jj);\r\n }\r\n setDataAdvancedFilterList(zz);\r\n }\r\n }, [filterAttribute, dataAdvancedFilter]);\r\n\r\n async function defaultAdvancedFilter(_filterStatus: any) {\r\n var _defaultFilter = await GetDashboardDefaultFilterConFig();\r\n var requestData: any[] = [];\r\n let dataMapping: any = [];\r\n let _dataItemFilter: any = [];\r\n _defaultFilter.map((_data: any, idx: any) => {\r\n let checkStatus: boolean = false;\r\n var _fieldText: any = null;\r\n var _fieldType: any = null;\r\n var _fieldTextFrom: any = null;\r\n var _fieldTextTo: any = null;\r\n var _filterParameter: string = \"\";\r\n _dataItemFilter.push(itemFilter);\r\n if (_data.fieldType === \"date\") {\r\n _filterParameter = \"Equals\";\r\n _fieldType = \"d\";\r\n _fieldText = null;\r\n _fieldTextFrom = moment()\r\n .add(parseInt(_data.fieldTextFrom), \"days\")\r\n .format(\"DD/MM/yyyy\");\r\n _fieldTextTo = moment()\r\n .add(parseInt(_data.fieldTextTo), \"days\")\r\n .format(\"DD/MM/yyyy\");\r\n setDates([\r\n moment(\r\n new Date(\r\n moment(\r\n moment().add(parseInt(_data.fieldTextFrom), \"days\")\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n moment(\r\n new Date(\r\n moment(moment().add(parseInt(_data.fieldTextTo), \"days\")).format(\r\n \"yyyy/MM/DD\"\r\n )\r\n )\r\n ),\r\n ]);\r\n const _itemFilter: any = {\r\n dropdown: {\r\n display: _data.fieldDisplay,\r\n name: _data.fieldCode,\r\n type: _data.fieldType,\r\n },\r\n value: [\r\n moment(\r\n new Date(\r\n moment(\r\n moment().add(parseInt(_data.fieldTextFrom), \"days\")\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n moment(\r\n new Date(\r\n moment(\r\n moment().add(parseInt(_data.fieldTextTo), \"days\")\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n ],\r\n };\r\n let _items = filterAttribute.items;\r\n _items.push(_itemFilter);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n } else if (_data.fieldType === \"status\") {\r\n _filterParameter = \"Equals\";\r\n _fieldType = \"t\";\r\n var fieldSpited = _data?.fieldText.split(\";|;\");\r\n const resultCard = _filterStatus.map((_data: any) => {\r\n const [value, display, defaultValue] = _data.split(\"||\");\r\n return {\r\n value: value,\r\n display: display,\r\n };\r\n });\r\n for (let i = 0; i < fieldSpited.length; i++) {\r\n const element = fieldSpited[i];\r\n for (let j = 0; j < resultCard.length; j++) {\r\n const element2 = resultCard[j];\r\n if (element === element2.display) {\r\n checkStatus = true;\r\n dataMapping.push(element2.value);\r\n }\r\n }\r\n }\r\n if (checkStatus) {\r\n _fieldText = \"\";\r\n dataMapping?.map((_data: any) => (\r\n <>\r\n {dataMapping.length > 1\r\n ? dataMapping?.slice(-1)[0] == _data\r\n ? `${(_fieldText = _fieldText + _data)}`\r\n : `${(_fieldText = _fieldText + _data + \";|;\")}`\r\n : (_fieldText = _fieldText + _data)}\r\n \r\n ));\r\n }\r\n const _itemFilter: any = {\r\n dropdown: {\r\n display: _data.fieldDisplay,\r\n name: _data.fieldCode,\r\n type: _data.fieldType,\r\n },\r\n value: [dataMapping],\r\n };\r\n let _items = filterAttribute.items;\r\n _items.push(_itemFilter);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n } else {\r\n _filterParameter = \"Like\";\r\n }\r\n requestData.push({\r\n ID: 0,\r\n FieldCode: _data?.fieldCode,\r\n FieldDisplay: _data?.fieldCode,\r\n IsExcludeBlankData: true,\r\n FieldType: _fieldType,\r\n IsEquals: false,\r\n FieldText: _fieldText,\r\n FieldTextFrom: _fieldTextFrom,\r\n FieldTextTo: _fieldTextTo,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: null,\r\n FieldTypeFilterDynamic: _fieldType,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: _filterParameter,\r\n indexHideColumn: null,\r\n userPrincipalName: null,\r\n connectionString: \"\",\r\n SecretId: null,\r\n });\r\n });\r\n\r\n return requestData;\r\n }\r\n async function fetchDataEmployee() {\r\n var _employee = await GetAllEmployee();\r\n console.log(\"_employee\", _employee);\r\n\r\n var array: any[] = [];\r\n _employee.map((_data: any) => {\r\n array.push({\r\n NameEn: _data[\"NameEn\"],\r\n NameTh: _data[\"NameTh\"],\r\n });\r\n });\r\n\r\n setEmployeeList([...array]);\r\n }\r\n async function fetchProject() {\r\n var _Project = await GetAllProject();\r\n console.log(\"_Project\", _Project);\r\n\r\n var arrayProject: any[] = [];\r\n _Project.map((_data: any) => {\r\n arrayProject.push({\r\n ProjectName: _data[\"ProjectName\"],\r\n });\r\n });\r\n\r\n setProject([...arrayProject]);\r\n }\r\n async function defaultFilterStatus(_filter: any) {\r\n let _filterStatus: any;\r\n const resultCard = _filter.map((_data: any) => {\r\n const [value, display, defaultValue] = _data.split(\"||\");\r\n _filterStatus = {\r\n value: value,\r\n display: display,\r\n };\r\n return _filterStatus;\r\n });\r\n setItemsStatus(resultCard);\r\n }\r\n function sleep(ms: any) {\r\n return new Promise((resolve) => setTimeout(resolve, ms));\r\n }\r\n async function timeoutHandler() {\r\n await sleep(1);\r\n }\r\n\r\n function globalFilterInput(_data: any) {\r\n if (!filter) {\r\n return _data;\r\n }\r\n const result: any[] = [];\r\n endpoint.map((_endpoint: any) => {\r\n const res = _data.filter((item: any) => {\r\n return item[_endpoint]\r\n .toString()\r\n .toLowerCase()\r\n .includes(filter.toLowerCase());\r\n });\r\n if (res.length >= 1) {\r\n result.push(...res);\r\n }\r\n });\r\n return result;\r\n }\r\n async function advancedSearch(_data: any) {\r\n setOnLoading(true);\r\n console.log(\"_data\", _data, filterAttribute);\r\n\r\n if (filterAttribute?.items[0]?.value?.length === 0) {\r\n return _data;\r\n } else if (filterAttribute?.items[0]?.value?.length !== 0) {\r\n const result: any[] = [];\r\n let _isHasStatus: boolean = false;\r\n filterAttribute.items.map((_dropdown: any, index: number) => {\r\n if (_dropdown.value.length === 0) {\r\n return;\r\n }\r\n var _fieldText: any = null;\r\n var _fieldTextFrom: any = null;\r\n var _fieldTextTo: any = null;\r\n var _fieldType: any = \"t\";\r\n var _filterParameter: string = \"\";\r\n if (_dropdown.dropdown.type === \"status\") {\r\n _isHasStatus = true;\r\n _filterParameter = \"Equals\";\r\n }\r\n if (_dropdown.dropdown.type === \"project\") {\r\n _fieldText = selectedProject;\r\n _filterParameter = \"Equals\";\r\n console.log(\"projectIF\", _fieldText, _filterParameter);\r\n }\r\n if (_dropdown.dropdown.type === \"name\") {\r\n _fieldText = selectedEmployee;\r\n _filterParameter = \"Equals\";\r\n console.log(\"EmployeeIF\", _fieldText, _filterParameter);\r\n } else if (_dropdown.dropdown.type === \"status\") {\r\n _filterParameter = \"Equals\";\r\n let statusValue: any = \"\";\r\n _dropdown.value[0].map((_data: any) => (\r\n <>\r\n {_dropdown.value[0]?.length > 1\r\n ? _dropdown.value[0]?.slice(-1)[0] == _data\r\n ? `${(statusValue = statusValue + _data)}`\r\n : `${(statusValue = statusValue + _data + \";|;\")}`\r\n : (statusValue = statusValue + _data)}\r\n \r\n ));\r\n _fieldText = statusValue;\r\n } else if (_dropdown.dropdown.type === \"date\") {\r\n _filterParameter = \"Equals\";\r\n _fieldText = null;\r\n _fieldTextFrom = moment(_dropdown?.value[0]).format(\"DD/MM/yyyy\");\r\n _fieldTextTo = moment(_dropdown?.value[1]).format(\"DD/MM/yyyy\");\r\n _fieldType = \"d\";\r\n } else {\r\n _fieldText = _dropdown?.value[0];\r\n _filterParameter = \"Like\";\r\n }\r\n result.push({\r\n ID: 0,\r\n FieldCode: _dropdown?.dropdown?.name || _dropdown?.dropdown?.project,\r\n FieldDisplay:\r\n _dropdown?.dropdown?.name || _dropdown?.dropdown?.project,\r\n IsExcludeBlankData: true,\r\n FieldType: _fieldType,\r\n IsEquals: false,\r\n FieldText: _fieldText,\r\n FieldTextFrom: _fieldTextFrom,\r\n FieldTextTo: _fieldTextTo,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: null,\r\n FieldTypeFilterDynamic: _fieldType,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: _filterParameter,\r\n indexHideColumn: null,\r\n userPrincipalName: null,\r\n connectionString: \"\",\r\n SecretId: null,\r\n });\r\n });\r\n\r\n var dd = await FilterAdvanceSearch({\r\n FavoritesItem: JSON.stringify(result),\r\n });\r\n var responeTest = await MapDataEndpoint(dd);\r\n return responeTest;\r\n }\r\n setOnLoading(false);\r\n }\r\n\r\n useEffect(() => {\r\n async function fetchMyAPI() {\r\n if (!onLoading && !isFetchData) {\r\n let filteredData = await advancedSearch(data);\r\n filteredData = globalFilterInput(filteredData);\r\n var respone = await MapGroupData(filteredData, filterGroupBy);\r\n setDashboard(respone);\r\n setOnLoading(false);\r\n setIsFetchData(false);\r\n }\r\n }\r\n fetchMyAPI();\r\n }, [selectedFilter, filterGroupBy, keyEnter]);\r\n function handleKeyFilter(event: any) {\r\n setTimeout(\"1000\");\r\n if (event.key === \"Enter\") {\r\n setFilter(ref.current?.value);\r\n setKeyEnter(!keyEnter);\r\n setIsFetchData(false);\r\n }\r\n }\r\n\r\n function getHeader() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* {\r\n setFilter(e.target.value);\r\n // if (!e.target.value) {\r\n // let filteredData = globalFilterInput(data);\r\n // var respone = await MapGroupData(\r\n // filteredData,\r\n // filterGroupBy\r\n // );\r\n // setDashboard(respone);\r\n // }\r\n }}\r\n className=\"set-input-global-dashboard\"\r\n placeholder=\"Global Search\"\r\n onKeyPress={handleKeyFilter}\r\n ref={ref}\r\n /> */}\r\n {/* {\r\n setKeyEnter(!keyEnter);\r\n setIsFetchData(false);\r\n }}\r\n /> */}\r\n
\r\n
\r\n
\r\n \r\n {\r\n op?.current?.toggle(e, null);\r\n setOnClickFilter(true);\r\n }}\r\n aria-haspopup\r\n aria-controls=\"overlay_panel\"\r\n className={`set-css-card-filter-adv set-border-css-filter ${\r\n onClickFilter ? \"activeFilter\" : \"\"\r\n }`}\r\n >\r\n
\r\n
\r\n \r\n
\r\n
Filter
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {/* */}\r\n
\r\n \r\n {(onSelectView === \"1\" || onSelectView === \"3\") && (\r\n
\r\n
group by
\r\n
\r\n {\r\n setFilterGroupBy(e.value);\r\n setIsFetchData(false);\r\n }}\r\n className=\"with-height-css-dd-calendar set-text-css-dashboard\"\r\n optionLabel=\"display\"\r\n />\r\n
\r\n
\r\n )}\r\n \r\n );\r\n }\r\n const handleScroll = (e: any) => {\r\n setIsOpenDateFilter(false);\r\n };\r\n\r\n const OverlayPanelTemplate = () => {\r\n return (\r\n
\r\n
\r\n {\r\n setOnClickFilter(false);\r\n op?.current?.hide();\r\n }}\r\n breakpoints={{ \"960px\": \"75vw\", \"640px\": \"85vw\" }}\r\n style={{ width: \"450px\" }}\r\n className=\"overlaypanel-demo overlay-layout-show-css set-css-border-card-filter\"\r\n >\r\n
\r\n
\r\n Advanced filters\r\n
\r\n {\r\n let _data: any = [];\r\n _data.push(itemFilter);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._data],\r\n }));\r\n // ref.current.value = \"\";\r\n setKeyEnter(!keyEnter);\r\n setFilter(\"\");\r\n op?.current?.hide();\r\n }}\r\n >\r\n Clear all\r\n
\r\n
\r\n
\r\n {filterAttribute.items.map((_items: any, idx: any) => (\r\n <>\r\n
{}}>\r\n {filterAttribute && dataAdvancedFilterList && (\r\n
\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: e.value,\r\n value: [],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n className=\"set-layout-dd-filter-dashboard\"\r\n optionLabel=\"display\"\r\n placeholder=\"--Please Select--\"\r\n />\r\n
\r\n )}\r\n\r\n
\r\n {filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"status\" && (\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n setSelectedStatus(e.value);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: [e.value],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n placeholder=\"Select Status\"\r\n filter\r\n className=\"set-layout-dd-filter-dashboard width-100-multi-select\"\r\n />\r\n )}\r\n {(filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"string\" ||\r\n filterAttribute?.items[idx]?.dropdown.length === 0) && (\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: [e.target.value],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n placeholder=\"Value\"\r\n />\r\n )}\r\n {filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"date\" && (\r\n \r\n \r\n setIsOpenDateFilter(e)}\r\n className={\"custom-date\"}\r\n value={dates}\r\n suffixIcon={null}\r\n style={{ height: \"38px\" }}\r\n separator={}\r\n onCalendarChange={(val) => {\r\n setDates(val);\r\n }}\r\n onChange={(e: any) => {\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: e,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n ranges={{\r\n Today: [moment(), moment()],\r\n \"This Month\": [\r\n moment().startOf(\"month\"),\r\n moment().endOf(\"month\"),\r\n ],\r\n \"This Year\": [\r\n moment().startOf(\"year\"),\r\n moment().endOf(\"year\"),\r\n ],\r\n }}\r\n />\r\n
\r\n )}\r\n {filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"name\" && (\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n let nameValue: any = \"\";\r\n e.value?.map((_data: any) => {\r\n var _dataByLang: any;\r\n if (userData.Lang === \"EN\") {\r\n _dataByLang = _data.NameEn;\r\n } else {\r\n _dataByLang = _data.NameTh;\r\n }\r\n <>\r\n {e.value?.length > 1\r\n ? e.value?.slice(-1)[0] == _dataByLang\r\n ? `${(nameValue = nameValue + _dataByLang)}`\r\n : `${(nameValue =\r\n nameValue + _dataByLang + \";|;\")}`\r\n : (nameValue = nameValue + _dataByLang)}\r\n ;\r\n });\r\n setSelectedEmployee(nameValue);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: [e.value],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n )}\r\n {filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"project\" && (\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n var projectValue: any = \"\";\r\n e.value?.map((_data: any) => {\r\n var _dataByProject: any;\r\n _dataByProject = _data.ProjectName;\r\n <>\r\n {e.value?.length > 1\r\n ? e.value?.slice(-1)[0] == _dataByProject\r\n ? `${(projectValue =\r\n projectValue + _dataByProject)}`\r\n : `${(projectValue =\r\n projectValue + _dataByProject + \";|;\")}`\r\n : (projectValue =\r\n projectValue + _dataByProject)}\r\n ;\r\n });\r\n setSelectedProject(projectValue);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: [e.value],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n )}\r\n
\r\n\r\n {idx !== 0 && (\r\n
\r\n {\r\n let _data = filterAttribute.items;\r\n _data.splice(idx, 1);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._data],\r\n }));\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n {filterAttribute?.items.length < dataAdvancedFilter?.length ? (\r\n {\r\n let _data = filterAttribute.items;\r\n _data.push(itemFilter);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._data],\r\n }));\r\n }}\r\n >\r\n + Add new filter\r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n {\r\n setOnClickFilter(false);\r\n op?.current?.hide();\r\n setKeyEnter(!keyEnter);\r\n setIsFetchData(false);\r\n }}\r\n />\r\n
\r\n \r\n\r\n {/*
\r\n
\r\n
*/}\r\n
\r\n \r\n \r\n );\r\n };\r\n return (\r\n <>\r\n {OverlayPanelTemplate()}\r\n
\r\n
\r\n
\r\n
\r\n \r\n Dashboard {\">\"} Project Tracker\r\n \r\n \r\n {\r\n onSetSelectView(\"1\");\r\n }}\r\n >\r\n \r\n
\r\n {\r\n onSetSelectView(\"2\");\r\n }}\r\n >\r\n \r\n
\r\n {\r\n onSetSelectView(\"3\");\r\n }}\r\n >\r\n \r\n
\r\n \r\n
\r\n \r\n
{getHeader()}
\r\n {onLoading ? (\r\n
\r\n \"loading...\"\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n {onSelectView === \"1\" && (\r\n \r\n )}\r\n {statusCard !== undefined &&\r\n onSelectView === \"2\" &&\r\n dashboard && (\r\n \r\n )}\r\n {onSelectView === \"3\" && dashboard && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default withPerMission(DashboardScreen);\r\n","export const GetLogApi = async (dataJson: any) => {\r\n const respone = await fetch(\r\n \"api/log/getlogtextfile\",\r\n\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n PostedDate: dataJson,\r\n }),\r\n }\r\n )\r\n .then((response) => response.json())\r\n\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n","import { Input, Space } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { GetLogApi } from \"../../Services/LogApiService\";\r\n\r\nexport const LogApi = () => {\r\n const [postDate, setPostDate] = useState();\r\n const [textLog, setTextLog] = useState();\r\n useEffect(() => {\r\n fetchGetLogApi();\r\n }, []);\r\n\r\n async function fetchGetLogApi() {\r\n var request = postDate;\r\n console.log(\"Before=>PostedDate\", request);\r\n var _Log = await GetLogApi(request);\r\n setTextLog(_Log);\r\n console.log(\"_Log\", _Log);\r\n console.log(\"PostedDate\", request);\r\n }\r\n const { Search } = Input;\r\n return (\r\n
\r\n \r\n {\r\n setPostDate(e.target.value);\r\n }}\r\n />\r\n \r\n
\r\n {textLog?.map((x) => (\r\n

{x}

\r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport React, { useState, useRef, useEffect } from \"react\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport moment from \"moment\";\r\ninterface Props {\r\n valueProps: any;\r\n}\r\n\r\nexport const EmailTemplateList = (props: Props) => {\r\n const [first, setFirst] = useState(0);\r\n const [rows, setRows] = useState(10);\r\n const [columnsHeader, setcolumnsHeader] = useState([]);\r\n const [selectedColumns, setSelectedColumns] = useState([]);\r\n const [filters2, setFilters2] = useState();\r\n const history = useHistory();\r\n useEffect(() => {\r\n if (props.valueProps.length !== 0) {\r\n arrayHeader();\r\n _formatDate();\r\n }\r\n }, [props.valueProps]);\r\n\r\n function arrayHeader() {\r\n let array = [];\r\n\r\n for (const [key, value] of Object.entries(props.valueProps[0])) {\r\n if (\r\n key === \"IsActive\" ||\r\n key === \"userPrincipalName\" ||\r\n key === \"connectionString\" ||\r\n key === \"SecretId\" ||\r\n key === \"EmailBody\"\r\n ) {\r\n } else {\r\n array.push({ Header: key, field: key });\r\n }\r\n }\r\n setcolumnsHeader(array);\r\n setSelectedColumns(array);\r\n }\r\n function _formatDate() {\r\n let _data = props.valueProps;\r\n _data.map((data: any) => {\r\n if (data.ModifiedDate !== null && data.ModifiedDate !== null) {\r\n if (data.ModifiedDate.length !== 0) {\r\n data.ModifiedDate = formatDateTime(data.ModifiedDate);\r\n }\r\n }\r\n if (data.CreatedDate !== null && data.CreatedDate !== null) {\r\n if (data.CreatedDate.length !== 0) {\r\n data.CreatedDate = formatDateTime(data.CreatedDate);\r\n }\r\n }\r\n });\r\n }\r\n\r\n function onRowSelect(data: any) {\r\n history.push(\r\n \"/EmailTemplateDetail?EmailTemplateId=\" + data[0].EmailTemplateId\r\n );\r\n }\r\n const onColumnToggle = (event: any) => {\r\n let selectedColumns = event.value;\r\n let orderedSelectedColumns = columnsHeader.filter((col: any) =>\r\n selectedColumns.some((sCol: any) => sCol.field === col.field)\r\n );\r\n setSelectedColumns(orderedSelectedColumns);\r\n };\r\n const header = (\r\n
\r\n \r\n
\r\n );\r\n const columnComponents = selectedColumns.map((col: any) => {\r\n return (\r\n }\r\n sortable\r\n />\r\n );\r\n });\r\n const formatDateTime = (value: any) => {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n };\r\n return (\r\n <>\r\n onRowSelect(e.value)}\r\n // globalFilterFields={[\"DocumentCode\", \"TemplateName\", \"TemplateSubject\"]}\r\n // filters={filters2}\r\n >\r\n {columnComponents}\r\n \r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport withPerMission from \"../../../components/HOC/withPermission\";\r\nimport { EmailTemplateList } from \"../../../components/SettingsSpecComponents/EmailTemplateList/EmailTemplateList\";\r\nimport { TreeSelectNewRequest } from \"../../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { getAllEmailTemplate } from \"../../../Services/EmailTemplateService\";\r\n\r\ntype Props = {};\r\n\r\nconst EmailTemplateListScreen = (props: Props) => {\r\n const [emailTemplate, setEmailTemplate] = useState([]);\r\n\r\n useEffect(() => {\r\n _EmailTemplate();\r\n }, []);\r\n\r\n async function _EmailTemplate() {\r\n let _getEmailTemplate = await getAllEmailTemplate();\r\n _getEmailTemplate.map((data: any) => {\r\n for (const [key, value] of Object.entries(data)) {\r\n if (value === null) {\r\n data[key] = \"\";\r\n }\r\n }\r\n });\r\n setEmailTemplate(_getEmailTemplate);\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

\r\n {\"Email Template List\" + \"(\" + emailTemplate.length + \")\"}\r\n

\r\n
\r\n
\r\n\r\n <>\r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};\r\nexport default withPerMission(EmailTemplateListScreen);\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n leaveTypeTable: any;\r\n}\r\n\r\nexport default function LeaveTypeComponents(props: Props) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* if master date LR */}\r\n {props.leaveTypeTable?.map((_data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

\r\n

#

\r\n
\r\n

Leave Type

\r\n

ประเภทของการขอลา

\r\n
\r\n

Package

\r\n

จำนวนวันลาตั้งต้น

\r\n
\r\n

Used

\r\n

จำนวนวันลาที่ใช้ไป

\r\n
\r\n

Balance

\r\n

จำนวนวันลาที่เหลืออยู่

\r\n
{idx + 1}{_data.Value2}{(_data.Value3)}{(_data.Value4)}{(_data.Value5)}
\r\n
\r\n );\r\n}\r\n","import React, { useState, useEffect, useRef, useMemo } from \"react\";\r\n\r\nimport \"./InformationComponent.css\";\r\nimport moment from \"moment\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Spin, Space } from \"antd\";\r\nimport { Dialog } from \"primereact/dialog\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\nimport { CoreControllerComponent } from \"../CoreControllerComponent/CoreControllerComponent\";\r\nimport { Badge } from \"primereact/badge\";\r\nimport { AutoComplete } from \"primereact/autocomplete\";\r\n\r\nimport { dataCompany } from \"../../../Services/CompanyService\";\r\nimport { GetApprovalByTemplate } from \"../../../Services/ApprovalService\";\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport { GetAllProject } from \"../../../Services/ProjectService\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport {\r\n GetAllTemplate,\r\n GetTemplateById,\r\n SearchTemplateListEditing,\r\n} from \"../../../Services/TemplateService\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { GetRefDocTemp } from \"../../../Services/MemoService\";\r\nimport { count, log } from \"console\";\r\nimport TinyMceComponent from \"../../TinyMceComponent/TinyMceComponent\";\r\nimport { GetSignature } from \"../../../Services/MasterDataService\";\r\nimport LeaveTypeComponents from \"./LeaveTypeComponents/LeaveTypeComponents\";\r\nimport { MdPreview } from \"react-icons/md\";\r\nimport { json } from \"stream/consumers\";\r\ninterface Props {\r\n onLoadLineApprove: boolean;\r\n setOnLoadLineApprove: any;\r\n workList?: any;\r\n setFormCategory?: any;\r\n formCategory?: any;\r\n form?: any;\r\n setForm?: any;\r\n getLineApprove: () => any;\r\n getInformationMethodProp: () => any;\r\n setInformationMethodProp: (respone: any) => any;\r\n getInformationTemplateProp: () => any;\r\n getInformationTemplateSetDataProp: any;\r\n setLineApporve: (respone: any) => any;\r\n setListFormName: (respone: any) => void;\r\n setListRefDocsDetail: (respone: any) => void;\r\n errorResult: any;\r\n setOnLoading: any;\r\n errorTable: any;\r\n isLoading: boolean;\r\n requestDetail: any;\r\n setInformationTemplate_Desc: (respone: any) => any;\r\n isInitialLogic: any;\r\n setIsInitialLogic: any;\r\n onLoading: any;\r\n setSummary?: (respone: any) => any;\r\n selectedView: any;\r\n showControl: any;\r\n setShowControl: any;\r\n setTextFromValue: any;\r\n textFromValue: any;\r\n isTextFromValue: any;\r\n setRequestDetail: any;\r\n leaveTypeTable: any;\r\n checkTypeLeave: any;\r\n isSetCanEdit: boolean;\r\n setIsSetCanEdit: (_state: any) => void;\r\n isCopyProps?: any;\r\n isHideProject: any;\r\n logic: any;\r\n listLogicData: any;\r\n setListLogicData: any;\r\n branchFromADTitle: any;\r\n isBranchFromADTitle: any;\r\n refTempSelectedProps: any;\r\n refAttibuteProps: any;\r\n}\r\nexport const InformationComponent = (props: Props) => {\r\n const query = new URLSearchParams(useLocation().search);\r\n let location = useLocation();\r\n const [projectData, setProjectData] = useState([]);\r\n const [canEdit, setCanNotEdit] = useState(true);\r\n const [treeTemplate, setTreeTemplate] = useState();\r\n const [companyList, setCompanyList] = useState([]);\r\n const [nameEnCompanyTo, setNameEnCompanyTo] = useState([]);\r\n const [nameEnCompanyCc, setNameEnCompanyCc] = useState([]);\r\n const [employee, setEmployee] = useState([]);\r\n const [searchData, setSearchData] = useState([]);\r\n const [searchDataCc, setSearchDataCc] = useState([]);\r\n const [searchCompanyData, setSearchCompanyData] = useState([]);\r\n const [searchRefDocData, setSearchRefDocData] = useState([]);\r\n const [subject, setSubject] = useState(\"\");\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [globalFilterValueCc, setGlobalFilterValueCc] = useState(\"\");\r\n const [globalFilterCompanyValue, setGlobalFilterCompanyValue] = useState(\"\");\r\n const [globalFilterRefTempValue, setGlobalFilterRefTempValue] =\r\n useState(\"\");\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [isDialogVisibleCc, setDialogVisibleCc] = useState(false);\r\n const [isDialogVisibleCompany, setDialogVisibleCompany] = useState(false);\r\n const [isDialogVisibleRefTemp, setDialogVisibleRefTemp] = useState(false);\r\n const [selectProject, setSelectProject] = useState([]);\r\n const [selectedEmployeeTo, setSelectedEmployeeTo] = useState([]);\r\n const [filteredEmployeeTo, setFilteredEmployeeTo] = useState();\r\n const [selectedEmployeeCc, setSelectedEmployeeCc] = useState([]);\r\n const [filteredEmployeeCc, setFilteredEmployeeCc] = useState();\r\n const [refTempSelected, setRefTempSelected] = useState(\r\n props.refTempSelectedProps\r\n );\r\n const [selectFormTemplate, setSelectFormTemplate] = useState([]);\r\n const [searchTemplateListEditing, setSearchTemplateListEditing] =\r\n useState([]);\r\n const [isSearchTemplateEditing, setIsSearchTemplateEditing] =\r\n useState(false);\r\n const [locationPathName, setLocationPathName] = useState(\r\n location.pathname\r\n );\r\n const [coreRender, setCoreRender] = useState(true);\r\n const [disabled, setDisabled] = useState(false);\r\n const [onLazyLoad, setOnLazyLoad] = useState(false);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n if (props.refAttibuteProps) {\r\n setSearchRefDocData([...props.refAttibuteProps.option]);\r\n }\r\n props.setOnLoading(false);\r\n }, [props.refAttibuteProps]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.getInformationMethodProp() !== undefined &&\r\n onLazyLoad === false\r\n ) {\r\n checkTextSubject();\r\n checkCanEdit();\r\n }\r\n }, [props.getInformationMethodProp()]);\r\n\r\n useEffect(() => {\r\n if (props.getInformationMethodProp().pass.length === 0) {\r\n setSelectedEmployeeCc([]);\r\n setNameEnCompanyCc([]);\r\n }\r\n if (props.getInformationMethodProp().to.length === 0) {\r\n setSelectedEmployeeTo([]);\r\n setNameEnCompanyTo([]);\r\n }\r\n }, [props.getInformationMethodProp(), props.getInformationTemplateProp()]);\r\n\r\n useEffect(() => {\r\n if (props.getInformationMethodProp() !== undefined) {\r\n if (\r\n props.getInformationMethodProp().status === \"Draft\" ||\r\n props.getInformationMethodProp().status === \"New Request\" ||\r\n props.getInformationMethodProp().status === \"Rework\" ||\r\n props.getInformationMethodProp().status === \"Recall\"\r\n ) {\r\n setDisabled(false);\r\n } else {\r\n setDisabled(true);\r\n }\r\n checkCanEdit();\r\n TemplateListEditing();\r\n }\r\n if (\r\n props.getInformationTemplateProp() !== undefined &&\r\n props.getInformationTemplateProp() !== null &&\r\n Object.keys(props.getInformationTemplateProp()).length !== 0 &&\r\n props.getInformationMethodProp() !== undefined\r\n ) {\r\n // checkRefTemplate();\r\n }\r\n if (props.getInformationMethodProp() !== undefined) {\r\n if (props.getInformationMethodProp().template_desc.length !== 0) {\r\n // checkRefTemplate();\r\n setTreeTemplate(props.getInformationMethodProp().template_desc);\r\n fetchDataEmployee();\r\n }\r\n }\r\n\r\n // fetchDataEmployee();\r\n }, [props.getInformationMethodProp()]);\r\n useEffect(() => {\r\n if (searchRefDocData.length > 0) {\r\n if (query.get(\"RefID\") !== undefined && query.get(\"RefID\") !== null) {\r\n const refId = query.get(\"RefID\");\r\n let selQuery: any[] = [];\r\n searchRefDocData.map((refDoc: any) => {\r\n if (refDoc.DocumentNo === refId) {\r\n selQuery.push(refDoc);\r\n }\r\n });\r\n\r\n setRefTempSelected([...selQuery]);\r\n }\r\n }\r\n }, [searchRefDocData]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.getInformationTemplateProp() !== undefined &&\r\n props.getInformationTemplateProp() !== null &&\r\n Object.keys(props.getInformationTemplateProp()).length !== 0 &&\r\n props.getInformationMethodProp() !== undefined\r\n ) {\r\n getInformation();\r\n setOnLazyLoad(false);\r\n } else if (\r\n props.getInformationTemplateProp() !== undefined &&\r\n props.getInformationTemplateProp() !== null &&\r\n Object.keys(props.getInformationTemplateProp()).length === 0 &&\r\n props.getInformationMethodProp() !== undefined\r\n ) {\r\n getInformation();\r\n setOnLazyLoad(false);\r\n }\r\n }, [props.getInformationTemplateProp()]);\r\n\r\n useEffect(() => {}, [treeTemplate]);\r\n useEffect(() => {\r\n if (companyList.length === 1) {\r\n props.setInformationTemplate_Desc({\r\n company_name: companyList[0].CompanyCodeWithName,\r\n\r\n company_id: companyList[0].CompanyId,\r\n });\r\n }\r\n }, [companyList]);\r\n\r\n function onChanceRef(refTempSelected: any) {\r\n try {\r\n if (props.requestDetail !== undefined && props.requestDetail !== null) {\r\n if (\r\n props.requestDetail.memoDetail !== null &&\r\n props.requestDetail.listFormName[0] !== null\r\n ) {\r\n let listFormName = props.requestDetail.listFormName[0];\r\n if (\r\n refTempSelected !== undefined &&\r\n refTempSelected !== null &&\r\n refTempSelected.length > 0\r\n ) {\r\n let docsCode: any[] = [];\r\n let template_desc = JSON.parse(listFormName.AdvanceForm);\r\n let _listRefDocsDetail: any[] = [];\r\n let refTemp: any;\r\n const refColumn = JSON.parse(listFormName.RefDocColumn);\r\n if (\r\n listFormName.RefTemplate !== \"\" &&\r\n listFormName.RefTemplate !== null\r\n ) {\r\n refTemp = JSON.parse(listFormName.RefTemplate);\r\n refTemp.map((temp: any) => {\r\n if (temp.DocumentCode !== \"\") {\r\n docsCode.push(temp.DocumentCode);\r\n }\r\n });\r\n }\r\n refTempSelected.map((refTems: any) => {\r\n let refDocDetail = {\r\n memoRefdoc_id: refTems.MemoId,\r\n doc_no: refTems.DocumentNo,\r\n template_ID: listFormName.template_id,\r\n template_Name: listFormName.template_name,\r\n memoSubject: listFormName.subject,\r\n };\r\n const selectedColumn = JSON.parse(refTems.MAdvancveForm);\r\n let valibCol: any[] = [];\r\n _listRefDocsDetail.push(refDocDetail);\r\n docsCode.map((code: any) => {\r\n refColumn.map((col: any) => {\r\n if (col.Value !== null && col.Value !== \"\") {\r\n if (col.Value === \"_DocumentNo\") {\r\n col.ControlValue = { value: refTems.DocumentNo };\r\n } else {\r\n let selColLabel = \"\";\r\n if (col.Value.indexOf(\"_\") !== -1) {\r\n let colLabel = col.Value.split(\"_\");\r\n selColLabel = colLabel[1];\r\n } else {\r\n selColLabel = col.Value;\r\n }\r\n if (col.TypeControl === \"Table\") {\r\n let sourceRow: any = -1;\r\n let sourceCols: any[] = [];\r\n let targetPositions: any[] = [];\r\n\r\n selectedColumn.items.map(\r\n (selCol: any, rowIdx: number) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (selColLabel === _layout.template.label) {\r\n col.objTable?.map(\r\n (objTable: any, tarColIdx: number) => {\r\n if (objTable?.Value !== null) {\r\n _layout.template.attribute.column.map(\r\n (refTable: any, colIdx: number) => {\r\n if (\r\n refTable.label === objTable.Value\r\n ) {\r\n sourceRow = rowIdx;\r\n sourceCols.push({\r\n colIdx: colIdx,\r\n });\r\n targetPositions.push(tarColIdx);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n );\r\n }\r\n });\r\n }\r\n );\r\n if (sourceRow > -1) {\r\n let tableRows: any[] = [];\r\n if (props.refAttibuteProps.mode !== \"Single\") {\r\n tableRows = col.ControlValue;\r\n }\r\n selectedColumn.items[\r\n sourceRow\r\n ].layout[0]?.data?.row?.map((row: any) => {\r\n let newRow: any[] = [];\r\n\r\n for (let i = 0; i < col.objTable.length; i++) {\r\n newRow.push({ value: \"\" });\r\n }\r\n\r\n sourceCols.map((col: any, colIdx: number) => {\r\n newRow[targetPositions[colIdx]] = row[col.colIdx];\r\n });\r\n if (newRow.length > 0) {\r\n tableRows.push(newRow);\r\n }\r\n });\r\n\r\n col.ControlValue = tableRows;\r\n }\r\n } else {\r\n selectedColumn.items.map((selCol: any) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (_layout.template.label === selColLabel) {\r\n col.ControlValue = _layout.data;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n valibCol.push(col);\r\n }\r\n });\r\n });\r\n\r\n valibCol.map((col: any) => {\r\n template_desc.items.map((item: any) => {\r\n item.layout.map((_layout: any) => {\r\n if (col.ControlValue !== undefined) {\r\n if (\r\n col.TypeControl === \"Table\" &&\r\n _layout.template.type === \"tb\"\r\n ) {\r\n if (col.Key === _layout.template.label) {\r\n _layout.data.row = [...col.ControlValue];\r\n }\r\n } else {\r\n if (col.Key === _layout.template.label) {\r\n _layout.data = col.ControlValue;\r\n }\r\n }\r\n }\r\n });\r\n });\r\n });\r\n });\r\n props.setListRefDocsDetail(_listRefDocsDetail);\r\n props.setInformationMethodProp(JSON.stringify(template_desc));\r\n } else {\r\n let template_desc = JSON.parse(listFormName.AdvanceForm);\r\n props.setListRefDocsDetail([]);\r\n props.setInformationMethodProp(JSON.stringify(template_desc));\r\n }\r\n }\r\n if (props.refAttibuteProps.mode === \"Single\") {\r\n setDialogVisibleRefTemp(!isDialogVisibleRefTemp);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n\r\n // useEffect(() => {\r\n // props.setOnLoading(false);\r\n // }, [props.refAttibuteProps]);\r\n\r\n async function previewTemplate() {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n\r\n window.open(\r\n `${baseUrl}/PreviewTemplate?MemoID=0&template=${selectFormTemplate.TemplateId}&preview`,\r\n \"_blank\"\r\n );\r\n }\r\n function checkTextSubject() {\r\n if (props.getInformationTemplateProp() != undefined) {\r\n if (\r\n props.getInformationMethodProp().subject === undefined ||\r\n props.getInformationMethodProp().subject === null ||\r\n props.getInformationMethodProp().subject.length === 0\r\n ) {\r\n props.setInformationTemplate_Desc({\r\n subject: props.getInformationTemplateProp().TemplateSubject,\r\n });\r\n setSubject(props.getInformationTemplateProp().TemplateSubject);\r\n } else if (props.getInformationMethodProp().subject.length !== 0) {\r\n setSubject(props.getInformationMethodProp().subject);\r\n }\r\n setOnLazyLoad(true);\r\n }\r\n }\r\n async function TemplateListEditing() {\r\n if (\r\n props.requestDetail.listFormName !== undefined &&\r\n props.requestDetail.listFormName !== null &&\r\n props.requestDetail.listFormName.length !== 0\r\n ) {\r\n if (props.requestDetail.listFormName[0].isFormControl) {\r\n let searchTemplate = await SearchTemplateListEditing({\r\n TemplateId: null,\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n let searchTemplateEdit: any;\r\n if (\r\n props.requestDetail.memoDetail.TemplateApproveId !== undefined &&\r\n props.requestDetail.memoDetail.TemplateApproveId !== null &&\r\n props.requestDetail.memoDetail.TemplateApproveId.length !== 0\r\n ) {\r\n searchTemplateEdit = await SearchTemplateListEditing({\r\n TemplateId: Number(\r\n props.requestDetail.memoDetail.TemplateApproveId\r\n ),\r\n });\r\n if (\r\n searchTemplateEdit === undefined ||\r\n searchTemplateEdit === null ||\r\n searchTemplateEdit.length === 0\r\n ) {\r\n searchTemplateEdit = await GetTemplateById({\r\n TemplateId: Number(\r\n props.requestDetail.memoDetail.TemplateApproveId\r\n ),\r\n });\r\n }\r\n console.log(\r\n \"searchTemplateEdit\",\r\n searchTemplateEdit,\r\n props.requestDetail.memoDetail\r\n );\r\n\r\n setSelectFormTemplate(\r\n searchTemplateEdit[0] === undefined ||\r\n searchTemplateEdit[0] === null ||\r\n searchTemplateEdit[0].length === 0\r\n ? searchTemplateEdit\r\n : searchTemplateEdit[0]\r\n );\r\n }\r\n\r\n setSearchTemplateListEditing(searchTemplate);\r\n setIsSearchTemplateEditing(true);\r\n }\r\n }\r\n }\r\n\r\n function dataStatusDraftSetDateNew() {\r\n const newDate = new Date();\r\n\r\n props.setInformationTemplate_Desc({\r\n request_date: formatDateTimeDataReQuest(newDate),\r\n created_date: formatDateTimeDataReQuest(newDate),\r\n });\r\n }\r\n\r\n function checkCanEdit() {\r\n let info = props.getInformationMethodProp();\r\n\r\n if (info.status === \"Completed\" || info.status === \"Reject\") {\r\n setCanNotEdit(true);\r\n } else if (\r\n info.status === \"Draft\" ||\r\n info.status === \"New Request\" ||\r\n info.status === \"Rework\" ||\r\n info.status === \"Recall\"\r\n ) {\r\n props.setIsSetCanEdit(true);\r\n\r\n setCanNotEdit(false);\r\n } else {\r\n const detail = props.requestDetail;\r\n if (detail?.listFormName[0]?.ApproverCanEdit) {\r\n props.setIsSetCanEdit(true);\r\n setDisabled(false);\r\n setCanNotEdit(false);\r\n } else {\r\n props.setIsSetCanEdit(true);\r\n\r\n setCanNotEdit(true);\r\n }\r\n }\r\n }\r\n\r\n async function getInformation() {\r\n if (companyList !== [] || employee !== []) {\r\n fetchDataCompany();\r\n fetchDataEmployee();\r\n }\r\n\r\n let info_template = props.getInformationMethodProp();\r\n if (\r\n props.getInformationMethodProp().project === null ||\r\n props.getInformationMethodProp().project === undefined\r\n ) {\r\n props.getInformationMethodProp().project = \"\";\r\n props.setInformationTemplate_Desc({ project: \"\" });\r\n }\r\n if (props.getInformationMethodProp().copyInformation === undefined) {\r\n props.getInformationMethodProp().copyInformation = \"N\";\r\n props.setInformationTemplate_Desc({ copyInformation: \"N\" });\r\n }\r\n\r\n if (\r\n props.getInformationMethodProp().memoid === 0 &&\r\n props.getInformationMethodProp().copyInformation === \"N\"\r\n ) {\r\n if (\r\n props.getInformationTemplateProp() !== undefined &&\r\n props.getInformationTemplateProp() !== null &&\r\n Object.keys(props.getInformationTemplateProp()).length !== 0\r\n ) {\r\n fetchDataTemplateByid();\r\n }\r\n\r\n if (\r\n props.getInformationMethodProp().template_desc.trim() !== \"\" &&\r\n props.getInformationMethodProp().template_desc.trim() !==\r\n props.getInformationTemplateProp().AdvanceForm\r\n ) {\r\n if (\r\n props.getInformationMethodProp().template_id !==\r\n props.getInformationTemplateProp().TemplateId\r\n ) {\r\n props.setInformationMethodProp(\r\n props.getInformationTemplateProp().AdvanceForm\r\n );\r\n props.getInformationMethodProp().subject = \"\";\r\n setTreeTemplate(props.getInformationTemplateProp().AdvanceForm);\r\n await dataGetInformationMethodProp();\r\n } else {\r\n setTreeTemplate(info_template.template_desc);\r\n\r\n await dataGetInformationMethodProp();\r\n }\r\n } else {\r\n setTreeTemplate(props.getInformationTemplateProp().AdvanceForm);\r\n await dataGetInformationMethodProp();\r\n }\r\n } else if (\r\n props.getInformationMethodProp().memoid !== 0 &&\r\n props.getInformationMethodProp().copyInformation === \"N\"\r\n ) {\r\n templateListFormName();\r\n if (props.getInformationMethodProp().template_detail.length === 0) {\r\n setGuid();\r\n }\r\n props.setInformationTemplate_Desc({\r\n document_set: props.getInformationMethodProp().template_detail,\r\n });\r\n if (props.getInformationMethodProp().status === \"Draft\") {\r\n dataStatusDraftSetDateNew();\r\n }\r\n if (Object.keys(props.getInformationTemplateProp()).length !== 0) {\r\n setTreeTemplate(props.getInformationTemplateProp().AdvanceForm);\r\n props.setInformationTemplate_Desc({\r\n subject: props.getInformationTemplateProp().TemplateName,\r\n });\r\n dataGetInformationMethodMemoProp();\r\n } else {\r\n setTreeTemplate(props.getInformationMethodProp().template_desc);\r\n }\r\n setSubject(props.getInformationMethodProp().subject);\r\n }\r\n if (\r\n props.getInformationMethodProp().memoid === 0 &&\r\n props.getInformationMethodProp().copyInformation === \"Y\"\r\n ) {\r\n templateListFormName();\r\n dataStatusDraftSetDateNew();\r\n if (Object.keys(props.getInformationTemplateProp()).length !== 0) {\r\n setTreeTemplate(props.getInformationTemplateProp().AdvanceForm);\r\n dataGetInformationMethodMemoProp();\r\n } else {\r\n setTreeTemplate(props.getInformationMethodProp().template_desc);\r\n }\r\n setSubject(props.getInformationMethodProp().subject);\r\n // props.setOnLoading(false);\r\n }\r\n }\r\n async function setGuid() {\r\n let _uuid = uuidv4().replace(/-/g, \"\");\r\n await props.setInformationTemplate_Desc({\r\n template_detail: _uuid,\r\n document_set: _uuid,\r\n });\r\n }\r\n async function templateListFormName() {\r\n const dataJson = {\r\n TemplateId: props.requestDetail?.memoDetail.template_id,\r\n };\r\n if (dataJson.TemplateId !== null) {\r\n let _templateIdListFormName: any = await GetTemplateById(dataJson);\r\n if (\r\n _templateIdListFormName === null ||\r\n _templateIdListFormName === undefined\r\n ) {\r\n _templateIdListFormName = [];\r\n }\r\n props.setListFormName(_templateIdListFormName);\r\n }\r\n }\r\n\r\n async function dataGetInformationMethodProp() {\r\n const newDate = new Date();\r\n let _dataSetInformation: any = {\r\n request_date: formatDateTimeDataReQuest(newDate),\r\n created_date: formatDateTimeDataReQuest(newDate),\r\n status:\r\n location.pathname === \"/PreviewTemplate\"\r\n ? props.getInformationMethodProp().status\r\n : \"New Request\",\r\n modified_date: formatDateTimeDataReQuest(newDate),\r\n modified_by: window.localStorage.getItem(\"employeeId\"),\r\n created_by: window.localStorage.getItem(\"employeeId\"),\r\n report_lang: props.getInformationTemplateProp().ReportLang,\r\n auto_approve_when: props.getInformationTemplateProp().AutoApproveWhen,\r\n GroupTemplateName: props.getInformationTemplateProp().GroupTemplateName,\r\n template_id: props.getInformationTemplateProp().TemplateId,\r\n template_name: props.getInformationTemplateProp().TemplateName,\r\n template_code: props.getInformationTemplateProp().DocumentCode,\r\n document_no: \"Auto Generate\",\r\n template_detail: uuidv4().replace(/-/g, \"\"),\r\n waiting_for: window.localStorage.getItem(\"nameTh\"),\r\n waiting_for_id: window.localStorage.getItem(\"employeeId\"),\r\n };\r\n await props.setInformationTemplate_Desc(_dataSetInformation);\r\n }\r\n function dataGetInformationMethodMemoProp() {\r\n const newDate = new Date();\r\n props.setInformationTemplate_Desc({\r\n memoid: 0,\r\n request_date: formatDateTimeDataReQuest(newDate),\r\n created_date: formatDateTimeDataReQuest(newDate),\r\n status: \"New Request\",\r\n modified_date: formatDateTimeDataReQuest(newDate),\r\n modified_by: window.localStorage.getItem(\"employeeId\"),\r\n created_by: window.localStorage.getItem(\"employeeId\"),\r\n report_lang: props.getInformationTemplateProp().ReportLang,\r\n\r\n auto_approve_when: props.getInformationTemplateProp().AutoApproveWhen,\r\n\r\n GroupTemplateName: props.getInformationTemplateProp().GroupTemplateName,\r\n template_id: props.getInformationTemplateProp().TemplateId,\r\n\r\n template_name: props.getInformationTemplateProp().TemplateName,\r\n template_code: props.getInformationTemplateProp().DocumentCode,\r\n document_no: \"Auto Generate\",\r\n waiting_for: window.localStorage.getItem(\"nameTh\"),\r\n waiting_for_id: window.localStorage.getItem(\"employeeId\"),\r\n company_name: \"\",\r\n company_id: 0,\r\n project_id: 0,\r\n project: \"\",\r\n subject: \"\",\r\n amount: \"\",\r\n to: \"\",\r\n pass: \"\",\r\n });\r\n }\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e;\r\n const dataEmp = employee;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n let findData: any = [];\r\n columns.map((col: any) => {\r\n let field = col.field;\r\n if (userData !== undefined) {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n field = field.replaceAll(\"Th\", \"En\");\r\n } else {\r\n field = field.replaceAll(\"En\", \"Th\");\r\n }\r\n }\r\n if (data[field].toLowerCase().indexOf(value.toLowerCase()) !== -1) {\r\n findData.push(data);\r\n }\r\n });\r\n if (findData.length > 0) {\r\n return true;\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n const columns = [\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ];\r\n const dynamicColumns = columns.map((col, i) => {\r\n return (\r\n \r\n \r\n

{col.headerEn}

\r\n

{col.headerTh}

\r\n \r\n \r\n }\r\n body={(rowData) => {\r\n if (rowData.Lang !== undefined) {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n let newField = col.field.replace(\"Th\", \"En\");\r\n return rowData[newField];\r\n } else {\r\n let newField = col.field.replace(\"En\", \"Th\");\r\n return rowData[newField];\r\n }\r\n } else {\r\n return rowData[col.field];\r\n }\r\n }}\r\n />\r\n );\r\n });\r\n const onGlobalFilterChangeCc = (e: any) => {\r\n const value = e;\r\n const dataEmp = employee;\r\n setGlobalFilterValueCc(value);\r\n const data = dataEmp.filter((data: any) => {\r\n let findData: any = [];\r\n columns.map((col: any) => {\r\n let field = col.field;\r\n if (userData !== undefined) {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n field = field.replaceAll(\"Th\", \"En\");\r\n } else {\r\n field = field.replaceAll(\"En\", \"Th\");\r\n }\r\n }\r\n if (data[field].toLowerCase().indexOf(value.toLowerCase()) !== -1) {\r\n findData.push(data);\r\n }\r\n });\r\n if (findData.length > 0) {\r\n return true;\r\n }\r\n });\r\n\r\n setSearchDataCc([...data]);\r\n };\r\n const onGlobalFilterCompanyChange = (e: any) => {\r\n const value = e;\r\n const dataCpl = companyList;\r\n setGlobalFilterCompanyValue(value);\r\n const data = dataCpl.filter((data: any) => {\r\n if (\r\n data.CompanyCode?.toLowerCase().includes(value?.toLowerCase()) ||\r\n empData.employeeData.Lang === \"EN\"\r\n ? data.NameEn?.toLowerCase().includes(value?.toLowerCase())\r\n : data.NameTh?.toLowerCase().includes(value?.toLowerCase()) ||\r\n data.AddressEn?.toLowerCase().includes(value?.toLowerCase())\r\n ) {\r\n return true;\r\n }\r\n });\r\n setSearchCompanyData([...data]);\r\n };\r\n\r\n // const onGlobalFilterRefTempChange = (e: any) => {\r\n // const value = e;\r\n // const dataOption = props.refAttibuteProps.option;\r\n // setGlobalFilterRefTempValue(value);\r\n // const data = dataOption.filter((data: any) => {\r\n // if (\r\n // data.DocumentNo.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n // data.TemplateName.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n // data.MemoSubject.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n // ) {\r\n // return true;\r\n // }\r\n // });\r\n // setSearchRefDocData([...data]);\r\n // };\r\n useEffect(() => {\r\n try {\r\n if (props.refAttibuteProps !== undefined) {\r\n console.log(\"ref=>\", props.refAttibuteProps.option);\r\n\r\n const dataOption = props.refAttibuteProps.option;\r\n const data = dataOption.filter((data: any) => {\r\n if (\r\n data.DocumentNo.toLowerCase().indexOf(\r\n globalFilterRefTempValue.toLowerCase()\r\n ) !== -1 ||\r\n data.TemplateName.toLowerCase().indexOf(\r\n globalFilterRefTempValue.toLowerCase()\r\n ) !== -1 ||\r\n data.MemoSubject.toLowerCase().indexOf(\r\n globalFilterRefTempValue.toLowerCase()\r\n ) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n setSearchRefDocData([...data]);\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>\", error);\r\n }\r\n }, [globalFilterRefTempValue]);\r\n\r\n //Test\r\n useEffect(() => {\r\n fetchData();\r\n }, []);\r\n\r\n async function fetchData() {\r\n const _project = await GetAllProject();\r\n setProjectData(_project);\r\n }\r\n\r\n async function fetchDataEmployee() {\r\n const employee = await GetAllEmployee();\r\n setEmployee(employee);\r\n setSearchData(employee);\r\n setSearchDataCc(employee);\r\n if (\r\n (props.getInformationMethodProp().pass.length !== 0 &&\r\n props.getInformationMethodProp().pass !== undefined) ||\r\n (Object.keys(props.getInformationTemplateProp()).length !== 0 &&\r\n props.getInformationTemplateProp().CcId.length !== 0)\r\n ) {\r\n let answer_array = [];\r\n if (props.getInformationMethodProp().memoid === 0) {\r\n answer_array =\r\n props.getInformationMethodProp().pass.length !== 0\r\n ? props.getInformationMethodProp().pass.split(\",\")\r\n : Object.keys(props.getInformationTemplateProp()).length !== 0\r\n ? props.getInformationTemplateProp().CcId.length !== 0\r\n ? props.getInformationTemplateProp().CcId.split(\",\")\r\n : []\r\n : [];\r\n } else {\r\n answer_array =\r\n Object.keys(props.getInformationMethodProp()).length !== 0\r\n ? props.getInformationMethodProp().pass.length === 0\r\n ? []\r\n : props.getInformationMethodProp().pass.split(\",\")\r\n : props.getInformationMethodProp().pass.split(\",\");\r\n }\r\n\r\n let dataName: any = [];\r\n let res: any = [];\r\n for (let i = 0; i < employee.length; i++) {\r\n for (let j = 0; j < answer_array.length; j++) {\r\n if (employee[i].NameEn === answer_array[j]) {\r\n if (res.length != 0) {\r\n let _dataFilter = res.filter(\r\n (item: any) => item.NameEn === employee[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n res.push(employee[i]);\r\n }\r\n } else {\r\n res.push(employee[i]);\r\n }\r\n\r\n if (dataName.length !== 0) {\r\n let _dataFilter = dataName.filter(\r\n (item: any) => item === employee[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n dataName.push(employee[i].NameEn);\r\n }\r\n } else {\r\n dataName.push(employee[i].NameEn);\r\n }\r\n }\r\n }\r\n }\r\n if (answer_array.length !== res.length) {\r\n let _dataFilter = answer_array.filter((data: any) => {\r\n let _data = res.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n dataName.push(data);\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n res.push(_event);\r\n }\r\n });\r\n }\r\n\r\n setSelectedEmployeeCc(res);\r\n setNameEnCompanyCc([...dataName]);\r\n\r\n if (props.getInformationMethodProp().pass.length === 0) {\r\n props.setInformationTemplate_Desc({ pass: dataName.toString() });\r\n }\r\n } else {\r\n setSelectedEmployeeCc([]);\r\n setNameEnCompanyCc([]);\r\n }\r\n // (props.getInformationMethodProp().pass.length !== 0 &&\r\n // props.getInformationMethodProp().pass !== undefined) ||\r\n if (\r\n (props.getInformationMethodProp().to !== undefined &&\r\n props.getInformationMethodProp().to.length !== 0) ||\r\n (Object.keys(props.getInformationTemplateProp()).length !== 0 &&\r\n props.getInformationTemplateProp().ToId.length !== 0)\r\n ) {\r\n let answer_array: any = [];\r\n if (props.getInformationMethodProp().memoid === 0) {\r\n answer_array =\r\n props.getInformationMethodProp().to.length !== 0\r\n ? props.getInformationMethodProp().to.split(\",\")\r\n : Object.keys(props.getInformationTemplateProp()).length !== 0\r\n ? props.getInformationTemplateProp().ToId.length !== 0\r\n ? props.getInformationTemplateProp().ToId.split(\",\")\r\n : []\r\n : [];\r\n } else {\r\n answer_array =\r\n Object.keys(props.getInformationMethodProp()).length !== 0\r\n ? props.getInformationMethodProp().to.length === 0\r\n ? []\r\n : props.getInformationMethodProp().to.split(\",\")\r\n : props.getInformationMethodProp().to.split(\",\");\r\n }\r\n console.log(\"answer_array\", answer_array);\r\n\r\n let dataName: any = [];\r\n let res: any = [];\r\n for (let i = 0; i < employee.length; i++) {\r\n for (let j = 0; j < answer_array.length; j++) {\r\n if (employee[i].NameEn === answer_array[j]) {\r\n if (res.length != 0) {\r\n let _dataFilter = res.filter(\r\n (item: any) => item.NameEn === employee[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n res.push(employee[i]);\r\n }\r\n } else {\r\n res.push(employee[i]);\r\n }\r\n\r\n if (dataName.length !== 0) {\r\n let _dataFilter = dataName.filter(\r\n (item: any) => item === employee[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n dataName.push(employee[i].NameEn);\r\n }\r\n } else {\r\n dataName.push(employee[i].NameEn);\r\n }\r\n }\r\n }\r\n }\r\n if (answer_array.length !== res.length) {\r\n let _dataFilter = answer_array.filter((data: any) => {\r\n let _data = res.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n dataName.push(data);\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n res.push(_event);\r\n }\r\n });\r\n }\r\n\r\n setSelectedEmployeeTo(res);\r\n setNameEnCompanyTo([...dataName]);\r\n\r\n if (props.getInformationMethodProp().to.length === 0) {\r\n props.setInformationTemplate_Desc({ to: dataName.toString() });\r\n }\r\n // props.setInformationTemplate_Desc({ to: dataName.toString() });\r\n } else {\r\n setSelectedEmployeeTo([]);\r\n setNameEnCompanyTo([]);\r\n }\r\n\r\n const project =\r\n projectData === undefined ||\r\n projectData === null ||\r\n projectData.length === 0\r\n ? await GetAllProject()\r\n : projectData;\r\n\r\n if (\r\n props.getInformationMethodProp().project !== 0 &&\r\n props.getInformationMethodProp().project !== undefined\r\n ) {\r\n const dataFilter = project.filter(\r\n (item: any) =>\r\n item.ProjectName === props.getInformationMethodProp().project\r\n );\r\n\r\n setSelectProject(dataFilter[0]);\r\n }\r\n setProjectData(project);\r\n }\r\n\r\n async function fetchDataTemplateByid() {\r\n const dataJson = {\r\n TemplateId: props.getInformationTemplateProp().TemplateId,\r\n };\r\n\r\n if (!props.isInitialLogic) {\r\n console.log(\"props.isInitialLogic\", props.isInitialLogic);\r\n\r\n props.setOnLoadLineApprove(true);\r\n await fetchDataLineApproveWithTemplate(await GetTemplateById(dataJson));\r\n }\r\n }\r\n\r\n async function fetchDataLineApproveWithTemplate(data: any) {\r\n let localStorageData: any = window.localStorage.getItem(\"userData\");\r\n const userData = JSON.parse(localStorageData);\r\n const _templateByid = data;\r\n const lineApprove = props.getLineApprove();\r\n let Template: any = {};\r\n if (Object.keys(props.getInformationTemplateProp()).length !== 0) {\r\n Template = props.getInformationTemplateProp();\r\n } else {\r\n Template = _templateByid;\r\n }\r\n console.log(\"Template\", Template);\r\n\r\n const dataJson = {\r\n templateForm: Template,\r\n lstTRNLineApprove: [],\r\n VEmployee: userData.employeeData,\r\n };\r\n console.log(\"dataJson\", dataJson);\r\n\r\n if (lineApprove.length === 0) {\r\n let responeAprovaWithTemplate: any = await GetApprovalByTemplate(\r\n dataJson\r\n );\r\n props.setLineApporve(responeAprovaWithTemplate);\r\n\r\n props.setOnLoading(false);\r\n }\r\n props.setOnLoadLineApprove(false);\r\n }\r\n async function fetchDataCompany() {\r\n let responeCompanyData = await dataCompany();\r\n console.log(\"responeCompanyData\", responeCompanyData);\r\n\r\n if (responeCompanyData.length !== companyList.length) {\r\n setCompanyList(responeCompanyData);\r\n }\r\n setSearchCompanyData(responeCompanyData);\r\n }\r\n function onChangeSubjectMemo(value: any) {\r\n let temp = props.getInformationMethodProp();\r\n let _listRefDocsDetail: any[] = [];\r\n refTempSelected.map((refTems: any) => {\r\n let refDocDetail = {\r\n memoRefdoc_id: refTems.MemoId,\r\n doc_no: refTems.DocumentNo,\r\n template_ID: temp.template_id,\r\n template_Name: temp.template_name,\r\n memoSubject: value,\r\n };\r\n _listRefDocsDetail.push(refDocDetail);\r\n });\r\n props.setListRefDocsDetail(_listRefDocsDetail);\r\n props.setInformationTemplate_Desc({\r\n subject: value,\r\n });\r\n setSubject(value);\r\n }\r\n const formatDateTimeDataReQuest = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD/MM/YYYY HH:mm:ss\");\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n };\r\n const formatDateTime = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const renderHeaderCc = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const renderHeaderCompany = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const renderHeaderReftemp = () => {\r\n return (\r\n
\r\n setGlobalFilterRefTempValue(e)}\r\n placeholderProps={\"Search\"}\r\n setIconProps={}\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n function showModal() {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(!isDialogVisible);\r\n fetchDataEmployee();\r\n }\r\n function showModalCompany() {\r\n if (globalFilterCompanyValue != \"\") {\r\n setGlobalFilterCompanyValue(\"\");\r\n }\r\n fetchDataCompany();\r\n setDialogVisibleCompany(!isDialogVisibleCompany);\r\n }\r\n function showModalRefTemp() {\r\n setGlobalFilterRefTempValue(\"\");\r\n setDialogVisibleRefTemp(!isDialogVisibleRefTemp);\r\n }\r\n function showModalCc() {\r\n if (globalFilterValueCc != \"\") {\r\n setGlobalFilterValueCc(\"\");\r\n }\r\n setDialogVisibleCc(!isDialogVisibleCc);\r\n fetchDataEmployee();\r\n }\r\n const onRowSelect = (event: any) => {\r\n let dataName: any[] = nameEnCompanyTo;\r\n let dataSelectEmployee: any[] = [...selectedEmployeeTo];\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) => _data.EmployeeId === event.data.EmployeeId\r\n );\r\n console.log(\"datafilterEmployee\", datafilterEmployee);\r\n\r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(event.data);\r\n dataName.push(event.data.NameEn);\r\n }\r\n console.log(\"dataName\", dataName);\r\n\r\n setSelectedEmployeeTo(dataSelectEmployee);\r\n setNameEnCompanyTo([...dataName]);\r\n props.setInformationTemplate_Desc({ to: dataName.toString() });\r\n\r\n setDialogVisible(false);\r\n };\r\n const onRowSelectCc = (event: any) => {\r\n let dataName: any[] = nameEnCompanyCc;\r\n let dataSelectEmployee: any[] = [...selectedEmployeeCc];\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) => _data.EmployeeId === event.data.EmployeeId\r\n );\r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(event.data);\r\n dataName.push(event.data.NameEn);\r\n }\r\n setSelectedEmployeeCc(dataSelectEmployee);\r\n setNameEnCompanyCc([...dataName]);\r\n props.setInformationTemplate_Desc({ pass: dataName.toString() });\r\n setDialogVisibleCc(false);\r\n };\r\n const onRowSelectCompany = (event: any) => {\r\n if (\r\n props.getInformationMethodProp().status.trim() === \"Wait for Approve\" ||\r\n props.getInformationMethodProp().status.trim() === \"Completed\"\r\n ) {\r\n } else {\r\n props.getInformationMethodProp().company_id = event.data.CompanyId;\r\n props.getInformationMethodProp().company_name =\r\n event.data.CompanyCodeWithName;\r\n }\r\n setDialogVisibleCompany(false);\r\n };\r\n\r\n const onChangeSelectProject = (data: any) => {\r\n setSelectProject(data);\r\n props.setInformationTemplate_Desc({\r\n project_id: data.ProjectId,\r\n project: data.ProjectName,\r\n });\r\n };\r\n const onChangeSelectFormTemplate = (data: any) => {\r\n setSelectFormTemplate(data);\r\n props.setInformationTemplate_Desc({\r\n TemplateApproveId: data.TemplateId.toString(),\r\n });\r\n };\r\n\r\n const searchEmployeeTo = (event: any) => {\r\n setTimeout(() => {\r\n let _filteredEmployee;\r\n if (!event.query.trim().length) {\r\n _filteredEmployee = [...employee];\r\n } else {\r\n _filteredEmployee = employee.filter((dataemployee: any) => {\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n });\r\n }\r\n\r\n setFilteredEmployeeTo(_filteredEmployee);\r\n }, 250);\r\n };\r\n const searchEmployeeToEnter = (event: any) => {\r\n let dataSelectEmployee: any[] = [...selectedEmployeeTo];\r\n if (event.length !== 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName: \"\",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: event,\r\n NameTh: event,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n dataSelectEmployee.push(_event);\r\n setSelectedEmployeeToFunction(dataSelectEmployee);\r\n }\r\n // setSelectedEmployeeTo(dataSelectEmployee);\r\n // setFilteredEmployeeTo(_event);\r\n };\r\n\r\n const searchEmployeeCc = (event: any) => {\r\n setTimeout(() => {\r\n let _filteredEmployee;\r\n if (!event.query.trim().length) {\r\n _filteredEmployee = [...employee];\r\n } else {\r\n _filteredEmployee = employee.filter((dataemployee: any) => {\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n });\r\n }\r\n\r\n setFilteredEmployeeCc(_filteredEmployee);\r\n }, 250);\r\n };\r\n const searchEmployeeCcEnter = (event: any) => {\r\n let dataSelectEmployee: any[] = [...selectedEmployeeCc];\r\n if (event.length !== 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: event,\r\n NameTh: event,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n dataSelectEmployee.push(_event);\r\n setSelectedEmployeeCcFunction(dataSelectEmployee);\r\n }\r\n // setSelectedEmployeeTo(dataSelectEmployee);\r\n // setFilteredEmployeeTo(_event);\r\n };\r\n\r\n const setSelectedEmployeeToFunction = (event: any) => {\r\n let dataName: any[] = [];\r\n\r\n event.map((d: any) => dataName.push(d.NameEn));\r\n setNameEnCompanyTo([...dataName]);\r\n setSelectedEmployeeTo(event);\r\n\r\n props.setInformationTemplate_Desc({ to: dataName.toString() });\r\n };\r\n const setSelectedEmployeeCcFunction = (event: any) => {\r\n let dataName: any[] = [];\r\n event.map((d: any) => dataName.push(d.NameEn));\r\n setNameEnCompanyCc([...dataName]);\r\n setSelectedEmployeeCc(event);\r\n props.setInformationTemplate_Desc({ pass: dataName.toString() });\r\n };\r\n\r\n const rowClassName = () => {\r\n return \"row-pointer\";\r\n };\r\n\r\n return (\r\n <>\r\n {!props.onLoading && (\r\n
\r\n \r\n <>\r\n \r\n \r\n
\r\n

Information

\r\n {locationPathName === \"/PreviewTemplate\" ? null : (\r\n \r\n )}\r\n
\r\n \r\n {props.getInformationMethodProp().memoid === 0 &&\r\n !props.isCopyProps\r\n ? props.getInformationMethodProp().template_code +\r\n \": \" +\r\n props.getInformationMethodProp().template_name\r\n : props.getInformationMethodProp().template_name}\r\n

\r\n \r\n \r\n
\r\n \r\n {locationPathName === \"/PreviewTemplate\" ? null : (\r\n \r\n )}\r\n \r\n\r\n \r\n {locationPathName !== \"/PreviewTemplate\" && (\r\n <> {props.getInformationMethodProp().document_no}\r\n )}\r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Request Date\r\n

\r\n \r\n วันที่ร้องขอเอกสาร\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n {formatDateTime(\r\n props.getInformationMethodProp().request_date\r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Company\r\n

\r\n \r\n *\r\n \r\n
\r\n \r\n บริษัท\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {props.isBranchFromADTitle && (\r\n <>\r\n \r\n \r\n \r\n \r\n Branch\r\n

\r\n \r\n สาขา\r\n

\r\n \r\n \r\n \r\n\r\n {\r\n console.log(props.isBranchFromADTitle);\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n To\r\n

\r\n \r\n เรียน\r\n

\r\n \r\n \r\n \r\n\r\n \r\n 0 ? \"100%\" : \"38px\"\r\n }`,\r\n }}\r\n >\r\n {\r\n if (e.code === \"Enter\") {\r\n searchEmployeeToEnter(e.target.value);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n onChange={(e) => setSelectedEmployeeToFunction(e.value)}\r\n />\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n Cc\r\n

\r\n \r\n สำเนา\r\n

\r\n \r\n \r\n \r\n \r\n 0 ? \"100%\" : \"38px\"\r\n }`,\r\n }}\r\n >\r\n {\r\n if (e.code === \"Enter\") {\r\n searchEmployeeCcEnter(e.target.value);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n onChange={(e) => setSelectedEmployeeCcFunction(e.value)}\r\n />\r\n \r\n \r\n \r\n
\r\n {!props.isHideProject && (\r\n <>\r\n {props.getInformationMethodProp().project?.length !== 0 ? (\r\n \r\n \r\n \r\n \r\n

\r\n Project\r\n

\r\n

โครงการ

\r\n \r\n \r\n \r\n\r\n \r\n {props.getInformationMethodProp().memoid !== 0 ? (\r\n onChangeSelectProject(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\r\n props.getInformationMethodProp().project ==\r\n undefined\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n .length === 0\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n ) : (\r\n onChangeSelectProject(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\r\n props.getInformationMethodProp().project ==\r\n undefined\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n .length === 0\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n )}\r\n \r\n
\r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n

\r\n Project\r\n

\r\n

\r\n โครงการ\r\n

\r\n \r\n \r\n \r\n\r\n \r\n {props.getInformationMethodProp().memoid !== 0 ? (\r\n onChangeSelectProject(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\r\n props.getInformationMethodProp().project ==\r\n undefined\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n .length === 0\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n ) : (\r\n onChangeSelectProject(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\r\n props.getInformationMethodProp().project ==\r\n undefined\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n .length === 0\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n )}\r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Subject\r\n

\r\n \r\n *\r\n \r\n
\r\n \r\n เรื่อง\r\n

\r\n \r\n \r\n \r\n\r\n \r\n {props.getInformationMethodProp().memoid !== 0 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n {props.requestDetail.listFormName !== undefined &&\r\n props.requestDetail.listFormName !== null &&\r\n props.requestDetail.listFormName.length !== 0 &&\r\n props.requestDetail.listFormName[0].isFormControl && (\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Select Form Template\r\n

\r\n
\r\n

\r\n เลือกฟอร์มที่ต้องการขออนุมัติ\r\n

\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n onChangeSelectFormTemplate(e.value)\r\n }\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{\r\n fontSize: \"13px\",\r\n justifyContent: \"start\",\r\n }}\r\n optionLabel=\"TemplateNameWithCode\"\r\n placeholder={\r\n selectFormTemplate !== undefined &&\r\n selectFormTemplate !== null &&\r\n Object.keys(selectFormTemplate).length !== 0\r\n ? selectFormTemplate.TemplateNameWithCode\r\n : \"Select Form Template\"\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n width: \"300px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n {selectFormTemplate !== undefined &&\r\n selectFormTemplate !== null &&\r\n Object.keys(selectFormTemplate).length !== 0 && (\r\n
\r\n \r\n }\r\n onClickProps={previewTemplate}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n height: \"32px\",\r\n }}\r\n disabledProps={canEdit}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n
\r\n )}\r\n\r\n {props.refAttibuteProps?.option.length > 0 && (\r\n <>\r\n {props.refAttibuteProps?.position === \"Top\" && (\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

\r\n เอกสารอ้างอิง\r\n

\r\n \r\n \r\n \r\n \r\n {!canEdit && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n {\r\n const urlElelement: any =\r\n window.location.href.split(\"/\");\r\n const url = urlElelement[2];\r\n\r\n window.open(\r\n `https://${url}/Request?MemoID=${rowData.data.MemoId}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\r\n size=\"small\"\r\n rows={5}\r\n >\r\n \r\n options.rowIndex + 1\r\n }\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n {props.refAttibuteProps?.optionLabel ===\r\n \"เลขที่เอกสาร\" ? (\r\n \r\n \r\n

\r\n เลขที่เอกสาร\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

\r\n Document No.\r\n

\r\n

\r\n รหัสเอกสาร\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n )}\r\n \r\n \r\n

\r\n Form Template\r\n

\r\n

\r\n ชื่อเอกสาร\r\n

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

\r\n หัวข้อเอกสาร\r\n

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n )}\r\n {props.leaveTypeTable.length !== 0 &&\r\n props.checkTypeLeave === true && (\r\n \r\n )}\r\n\r\n {treeTemplate !== undefined && (\r\n <>\r\n {props.requestDetail !== undefined && (\r\n <>\r\n {props.isTextFromValue === true && (\r\n <>\r\n \r\n \r\n )}\r\n {props.isTextFromValue === false && (\r\n <>\r\n \r\n props.setInformationMethodProp(e)\r\n }\r\n getInformationTemplateProp={\r\n props.getInformationTemplateProp\r\n }\r\n onLoading={props.onLoading}\r\n setOnLoading={props.setOnLoading}\r\n setSummary={props.setSummary}\r\n />\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n\r\n {props.refAttibuteProps?.option.length > 0 && (\r\n <>\r\n {props.refAttibuteProps?.position === \"Bottom\" && (\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

\r\n เอกสารอ้าง\r\n

\r\n \r\n \r\n \r\n \r\n {!canEdit && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n options.rowIndex + 1\r\n }\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n {props.refAttibuteProps?.optionLabel ===\r\n \"เลขที่เอกสาร\" ? (\r\n \r\n \r\n

\r\n เลขที่เอกสาร\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

\r\n Document No.\r\n

\r\n

\r\n รหัสเอกสาร\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n )}\r\n \r\n \r\n

\r\n Form Template\r\n

\r\n

\r\n ชื่อเอกสาร\r\n

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

\r\n หัวข้อเอกสาร\r\n

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {/* \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n > */}\r\n {dynamicColumns}\r\n \r\n \r\n\r\n \r\n \r\n {/* \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n > */}\r\n {dynamicColumns}\r\n \r\n \r\n {companyList.length !== 0 && (\r\n \r\n \r\n \r\n \r\n

CompanyCode

\r\n

รหัสบริษัท

\r\n \r\n \r\n }\r\n sortable\r\n style={{ width: \"10%\" }}\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n style={{ width: \"20%\" }}\r\n >\r\n \r\n \r\n

Address

\r\n

ที่อยู่

\r\n \r\n \r\n }\r\n style={{ width: \"30%\" }}\r\n >\r\n \r\n \r\n )}\r\n\r\n {\r\n setGlobalFilterRefTempValue(\"\");\r\n }}\r\n onHide={showModalRefTemp}\r\n dismissableMask\r\n className=\"information-dialog\"\r\n draggable={false}\r\n resizable={false}\r\n >\r\n {\r\n if (Array.isArray(e.value)) {\r\n setRefTempSelected([...e.value]);\r\n onChanceRef(e.value);\r\n } else {\r\n let val: any[] = [];\r\n val.push(e.value);\r\n setRefTempSelected([...val]);\r\n onChanceRef(val);\r\n }\r\n }}\r\n selectionMode={\r\n props.refAttibuteProps?.mode === \"Single\"\r\n ? \"radiobutton\"\r\n : \"checkbox\"\r\n }\r\n dataKey=\"DocumentNo\"\r\n responsiveLayout=\"scroll\"\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n sortField=\"DocumentNo\"\r\n sortOrder={1}\r\n >\r\n \r\n {props.refAttibuteProps?.optionLabel !==\r\n \"Information DocumentNo\" ? (\r\n \r\n \r\n

\r\n {props.refAttibuteProps?.optionLabel}\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

Document No.

\r\n

รหัสเอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n )}\r\n\r\n \r\n \r\n

Form Template

\r\n

ชื่อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

หัวข้อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Grid } from \"antd\";\r\nimport \"./LineApprovalsComponent.css\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { IListApprovalDetailsModel } from \"../../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { IApproverModel } from \"../../../IRequestModel/IApproverModel\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { GetSignature } from \"../../../Services/MasterDataService\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { useLocation } from \"react-router\";\r\nimport { Row } from \"react-bootstrap\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\n\r\ninterface Props {\r\n getLineAproveMethodProp: any;\r\n setLineApproveMethodProp: any;\r\n getRequestorDetailProp: any;\r\n dataEmployeeList: any;\r\n signature: any;\r\n onLoading: boolean;\r\n}\r\nconst { useBreakpoint } = Grid;\r\n\r\nconst LineApprovalsComponent: React.FC = (props: Props) => {\r\n const [lineData, setLineData] = useState([]);\r\n const [dataEmployeeList, setdataEmployeeList] = useState([]);\r\n const [searchData, setSearchData] = useState([]);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const toast = useRef(null);\r\n const isMounted = useRef(false);\r\n const [globalFilterValue2, setGlobalFilterValue2] = useState(\"\");\r\n const [visibleConfirmProp, setVisibleConfirmProp] = useState(false);\r\n const [rowDeleted, setRowDeleted] = useState();\r\n const [canEdit, setCanEdit] = useState();\r\n const [sinatures_Seleted, setSinatures_Seleted] = useState([]);\r\n const [sinatureOptions, setSinatureOptions] = useState([]);\r\n const [defSignatureID, setDefSignatureID] = useState(-1);\r\n const [isLoading, setIsLoading] = useState(true);\r\n let location = useLocation();\r\n const { lg } = useBreakpoint();\r\n const [locationPathName, setLocationPathName] = useState(\r\n location.pathname\r\n );\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const [moveToDialogVisible, setMoveToDialogVisible] = useState(false);\r\n const [fromIndex, setFromIndex] = useState(1);\r\n const [moveToNumber, setMoveToNumber] = useState(1);\r\n useEffect(() => {\r\n try {\r\n let responeMemoDetail = props.getRequestorDetailProp;\r\n fetchMasterData();\r\n fetchEmployee();\r\n if (responeMemoDetail.memoDetail.memoid == 0) {\r\n fetchApprovals();\r\n setCanEdit(responeMemoDetail.listFormName[0].isRequesterEditApproval);\r\n } else {\r\n fetchApprovals();\r\n if (responeMemoDetail.listFormName[0].isRequesterEditApproval) {\r\n if (\r\n responeMemoDetail.memoDetail.status === \"Completed\" ||\r\n responeMemoDetail.memoDetail.status === \"Rejected\"\r\n ) {\r\n setCanEdit(false);\r\n } else if (\r\n responeMemoDetail.memoDetail.status === \"Draft\" ||\r\n responeMemoDetail.memoDetail.status === \"Rework\" ||\r\n responeMemoDetail.memoDetail.status === \"Recall\"\r\n ) {\r\n setCanEdit(true);\r\n }\r\n } else {\r\n setCanEdit(responeMemoDetail.listFormName[0].isRequesterEditApproval);\r\n }\r\n }\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n props.setLineApproveMethodProp(lineData);\r\n }, [lineData]);\r\n\r\n useEffect(() => {\r\n fetchMasterData();\r\n }, [props.signature]);\r\n\r\n async function fetchApprovals() {\r\n let options: any[] = [];\r\n let signatrue = props.signature;\r\n const responeData = props.getLineAproveMethodProp();\r\n let id = -1;\r\n signatrue.map((s: any) => {\r\n if (s.value2 === \"Approved\") {\r\n id = s.id;\r\n }\r\n options.push({ id: s.id, value1: s.value1, value2: s.value2 });\r\n });\r\n\r\n responeData.map((e: any) => {\r\n if (\r\n e.signature_id === 0 &&\r\n (e.signature_en === null || e.signature_th === null)\r\n ) {\r\n e.signature_id = id;\r\n e.signature_en = \"Approved\";\r\n e.signature_th = \"อนุมัติ\";\r\n } else {\r\n options.map((sig: any) => {\r\n if (sig.id === e.signature_id) {\r\n e.signature_en = sig.value2;\r\n e.signature_th = sig.value1;\r\n }\r\n });\r\n }\r\n });\r\n setDefSignatureID(id);\r\n setSinatureOptions([...options]);\r\n setLineData([...responeData]);\r\n }\r\n\r\n function fetchMasterData() {\r\n props.signature.map((s: any) => {\r\n if (s.value2 === \"Approved\") {\r\n setDefSignatureID(s.id);\r\n }\r\n });\r\n }\r\n\r\n async function fetchEmployee() {\r\n setdataEmployeeList([...props.dataEmployeeList]);\r\n setSearchData([...props.dataEmployeeList]);\r\n }\r\n\r\n function addData(empData: any) {\r\n const raw = lineData;\r\n const lastData = lineData[lineData.length - 1];\r\n let data: IApproverModel = empData;\r\n if (lastData != undefined) {\r\n let newData: IListApprovalDetailsModel = {\r\n approver: data,\r\n emp_id: data.EmployeeId,\r\n lineid: lastData.lineid + 1,\r\n sequence: lastData.sequence + 1,\r\n signature_en: \"Approved\",\r\n signature_id: defSignatureID,\r\n signature_th: \"อนุมัติ\",\r\n };\r\n raw.push(newData);\r\n } else {\r\n let newData: IListApprovalDetailsModel = {\r\n approver: data,\r\n emp_id: data.EmployeeId,\r\n lineid: 1,\r\n sequence: 1,\r\n signature_en: \"Approved\",\r\n signature_id: defSignatureID,\r\n signature_th: \"อนุมัติ\",\r\n };\r\n raw.push(newData);\r\n }\r\n setLineData([...raw]);\r\n setDialogVisible(!isDialogVisible);\r\n }\r\n\r\n const onGlobalFilterChange2 = (e: any) => {\r\n const value = e;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue2(value);\r\n\r\n const data = dataEmp.filter((data: any) => {\r\n if (empData.employeeData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n useEffect(() => {\r\n isMounted.current = true;\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left\"}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const onRowReorder = (e: any) => {\r\n for (let i = 0; i < e.value.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n e.value[i].sequence = a;\r\n }\r\n\r\n setLineData(e.value);\r\n };\r\n\r\n function onSelected_Sinatures(event: any, sinatures: any, rowInx: number) {\r\n let line: any = lineData;\r\n line[rowInx].signature_id = event.value.id;\r\n line[rowInx].signature_th = event.value.value1;\r\n line[rowInx].signature_en = event.value.value2;\r\n setLineData([...line]);\r\n }\r\n\r\n const statusBodyTemplate = (rowData: any, option: any) => {\r\n if (canEdit) {\r\n let sinatures = sinatures_Seleted;\r\n let selectedValue: any[] = [];\r\n lineData.map((e: any) => {\r\n selectedValue.push({\r\n id: e.signature_id,\r\n value1: e.signature_th,\r\n value2: e.signature_en,\r\n });\r\n });\r\n\r\n return (\r\n onSelected_Sinatures(e, sinatures, option.rowIndex)}\r\n optionLabel={empData.employeeData.Lang === \"EN\" ? \"value2\" : \"value1\"}\r\n placeholder=\"Select a Signature\"\r\n />\r\n );\r\n } else {\r\n return (\r\n
\r\n {rowData.signature_en}\r\n
\r\n );\r\n }\r\n };\r\n\r\n const onRowSelect = (event: any) => {\r\n addData(event.data);\r\n };\r\n\r\n function toggleModal() {\r\n setGlobalFilterValue2(\"\");\r\n setDialogVisible(!isDialogVisible);\r\n }\r\n\r\n const confirmDialogfunction = (rowDeleted: any) => {\r\n setVisibleConfirmProp(true);\r\n setRowDeleted(rowDeleted);\r\n };\r\n\r\n function rowDelete(rowIndex: any) {\r\n let data = lineData;\r\n\r\n data.splice(rowIndex, 1);\r\n\r\n let reoderSequence = data.map((e: any, i: number) => {\r\n e.sequence = i + 1;\r\n return e;\r\n });\r\n\r\n setLineData([...reoderSequence]);\r\n }\r\n\r\n const actionBodyTemplate = (rowData: any, options: any) => {\r\n return (\r\n \r\n confirmDialogfunction(options.rowIndex)}\r\n />\r\n \r\n );\r\n };\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n setMoveToDialogVisible(false)}\r\n style={{ height: \"38px\" }}\r\n className=\"p-button-text\"\r\n />\r\n acceptMoveto(fromIndex, moveToNumber)}\r\n style={{ height: \"38px\" }}\r\n autoFocus\r\n />\r\n
\r\n );\r\n };\r\n\r\n const acceptMoveto = (fromIndex: number, targetIndex: number) => {\r\n setIsLoading(true);\r\n moveItem(fromIndex, targetIndex - 1);\r\n };\r\n\r\n const moveItem = (fromIndex: number, targetIndex: number) => {\r\n try {\r\n let rows = lineData !== null ? [...lineData] : [];\r\n let updateRow = rows[fromIndex];\r\n rows[fromIndex] = rows[targetIndex];\r\n rows[targetIndex] = updateRow;\r\n for (let i = 0; i < rows.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n rows[i].sequence = a;\r\n }\r\n setLineData([...rows]);\r\n setMoveToDialogVisible(false);\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n setVisibleConfirmProp(false)}\r\n message={\"Do you want to delete this row?\"}\r\n header=\"Confirmation\"\r\n icon=\"pi pi-info-circle\"\r\n className=\"z-index-confirm\"\r\n acceptClassName=\"p-button-danger table-control-confirm-button p-button-accept-cancel\"\r\n rejectClassName=\"p-button p-component p-confirm-dialog-reject p-button p-component p-button-outlined p-button-danger\"\r\n position=\"top\"\r\n accept={() => rowDelete(rowDeleted)}\r\n draggable={false}\r\n />\r\n

Approvals

\r\n {!isLoading && (\r\n <>\r\n {canEdit ? (\r\n <>\r\n toggleModal()}\r\n />\r\n\r\n \r\n {\r\n return (\r\n {\r\n setFromIndex(options.rowIndex);\r\n setMoveToDialogVisible(true);\r\n }}\r\n />\r\n );\r\n }}\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n options.rowIndex + 1}\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n {/* {dynamicColumns} */}\r\n \r\n \r\n

Employee Name

\r\n

ชื่อพนักงาน

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n />\r\n\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n />\r\n\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n />\r\n\r\n \r\n \r\n

Signature

\r\n

คำลงท้าย

\r\n \r\n \r\n }\r\n body={statusBodyTemplate}\r\n style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n />\r\n\r\n {\r\n return (\r\n <>\r\n
\r\n
\r\n Action\r\n {/* {col.control.template.attribute.require === \"Y\" && (\r\n *\r\n )} */}\r\n
\r\n\r\n {/* \r\n {col.control.template.alter}\r\n */}\r\n
\r\n \r\n );\r\n }}\r\n body={actionBodyTemplate}\r\n exportable={false}\r\n >\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n options.rowIndex + 1}\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n \r\n \r\n

Employee Name

\r\n

ชื่อพนักงาน

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n />\r\n\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n />\r\n\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"20%\" }}\r\n />\r\n\r\n \r\n \r\n

Signature

\r\n

คำลงท้าย

\r\n \r\n \r\n }\r\n body={statusBodyTemplate}\r\n style={{ flexGrow: 1, flexBasis: \"20%\" }}\r\n />\r\n \r\n \r\n )}\r\n \r\n )}\r\n setMoveToDialogVisible(false)}\r\n >\r\n \r\n {\r\n if (e.value <= lineData?.length) {\r\n setMoveToNumber(e.value);\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\nexport default LineApprovalsComponent;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Divider, Input, Space } from \"antd\";\r\nimport \"./RequestorComponent.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { GetApprovalByTemplate } from \"../../../Services/ApprovalService\";\r\nimport { Tooltip } from \"primereact/tooltip\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\n\r\ninterface Props {\r\n setMemoDetail: any;\r\n memoDetail: any;\r\n canEditDoc: any;\r\n masterEmployee: any;\r\n setLineApproval: any;\r\n isADTitleToPosition: any;\r\n setRequestor: any;\r\n requestor: any;\r\n creator: any;\r\n jsonCondition: any;\r\n lineApproval: any;\r\n onLoadDataLiveApprove: any;\r\n userData: any;\r\n renderSelectedRequestor: any;\r\n t: any;\r\n}\r\n\r\nexport const RequestorComponent = (props: Props) => {\r\n const toast = useRef(null);\r\n const { Search } = Input;\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [actionAdd, setIsActionAdd] = useState(false);\r\n const [isAdmin, setIsAdmin] = useState(\r\n window.localStorage.getItem(\"isAdmin\") === \"true\" ? true : false\r\n );\r\n const [loading, setLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n mapData();\r\n }, []);\r\n const mapData = () => {\r\n setSearchData([...props.masterEmployee]);\r\n if (props.memoDetail.memoid !== 0) {\r\n setIsActionAdd(true);\r\n }\r\n };\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e;\r\n const dataEmp = props.masterEmployee;\r\n\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (props.userData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n async function showModal() {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n\r\n setDialogVisible(!dialogVisible);\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n if (loading) {\r\n let empData = await GetAllEmployee(req);\r\n setSearchData(empData);\r\n setLoading(!loading);\r\n }\r\n }\r\n\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog\"}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const onRowSelect = async (data: any) => {\r\n if (props.requestor.EmployeeId != data.EmployeeId) {\r\n props.setRequestor(data);\r\n props.setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n requestor: data,\r\n }));\r\n if (props.renderSelectedRequestor) {\r\n props.renderSelectedRequestor(data);\r\n }\r\n }\r\n setDialogVisible(false);\r\n };\r\n\r\n function showSuccess() {\r\n return (\r\n
\r\n

{props.t(\"creator\")}

\r\n \r\n \r\n \r\n \r\n

Employee Code

\r\n

รหัสพนักงาน

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Division

\r\n

ฝ่ายงาน

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Email

\r\n

อีเมล

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n useEffect(() => {\r\n console.log({ ss: props.userData });\r\n }, [props.userData]);\r\n\r\n return (\r\n
\r\n {actionAdd && showSuccess()}\r\n \r\n

{props.t(\"Requestor\")}

\r\n \r\n \r\n \r\n \r\n

Employee Code

\r\n

รหัสพนักงาน

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Division

\r\n

ฝ่ายงาน

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Email

\r\n

อีเมล

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {/* \r\n \r\n \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n className={\"showId\"}\r\n body={(rowData: any) => {\r\n return (\r\n \r\n \r\n {rowData.EmployeeCode}\r\n {isAdmin && (\r\n
\r\n )}\r\n
\r\n );\r\n }}\r\n sortable\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n */}\r\n\r\n \r\n \r\n );\r\n};\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport \"./AttachmentComponent.css\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Button } from \"primereact/button\";\r\nimport moment from \"moment\";\r\n\r\nimport { AiFillEye } from \"react-icons/ai\";\r\nimport LogoLoading from \"../../../assets/LoadingWOLFmini.gif\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { BiUpload } from \"react-icons/bi\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport DescriptionConfigComponent from \"./DescriptionConfigComponent\";\r\nimport axios from \"axios\";\r\nimport { UploadFileAttachFiles } from \"../../../Services/AttachFileService\";\r\nimport { IoMdAlert } from \"react-icons/io\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetPermissionByEmpId } from \"../../../Services/RoleServices\";\r\nimport {\r\n CannotDowLoadPDFDefaultConfiguration,\r\n getUploadFileSettingConfiguration,\r\n} from \"../../../Services/ConfigurationService\";\r\nimport { Badge } from \"antd\";\r\nimport { set } from \"react-hook-form\";\r\ninterface Props {\r\n listFileAttachDetails: any;\r\n setListFileAttachDetails: any;\r\n setMemoDetail: any;\r\n memoDetail: any;\r\n userData: any;\r\n canEditDoc: boolean;\r\n listFormNames: any;\r\n checkActionPage: string;\r\n masterATDLFT: any;\r\n t: any;\r\n}\r\n\r\nconst AttachmentComponent: React.FC = ({\r\n t,\r\n listFileAttachDetails,\r\n setListFileAttachDetails,\r\n setMemoDetail,\r\n memoDetail,\r\n userData,\r\n canEditDoc,\r\n listFormNames,\r\n checkActionPage,\r\n masterATDLFT,\r\n}) => {\r\n const { toggleAlert } = useAlert();\r\n const toast = useRef(null);\r\n const ref = React.useRef();\r\n var _localStorage = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _localStorage.SharepointSiteURL;\r\n let _tinyURL = _localStorage.TinyURL;\r\n const [requestFile, setRequestFile] = useState(null);\r\n\r\n const [deleteVisible, setDeleteVisible] = useState(false);\r\n const [value, setValue] = useState(\"\");\r\n const [visibleStatus, setVisibleStatus] = useState(false);\r\n\r\n const [fileData, setFileData] = useState();\r\n const [pathData, setPathData] = useState();\r\n const [description, setDescription] = useState(\"\");\r\n\r\n const [selectedRows, setSelectedRows] = useState([]);\r\n const [indexState, setIndexState] = useState(0);\r\n const [descriptionRespone, setDescriptionRespone] = useState();\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [configFile, setConfigFile] = useState({});\r\n useEffect(() => {\r\n console.log(userData, \"userData\");\r\n console.log(_localStorage, \"userData\");\r\n console.log(memoDetail, \"userData\");\r\n console.log(listFileAttachDetails, \"userData\");\r\n fechData();\r\n\r\n const defaultSeq = listFileAttachDetails.map((e: any) =>\r\n listFileAttachDetails.length > 0\r\n ? { name: e.attach_file, seq: e.sequence }\r\n : { name: \"\", seq: 0 }\r\n );\r\n const filterArr = defaultSeq.filter((e: any) => e.seq !== 0);\r\n setSelectedRows(filterArr);\r\n }, []);\r\n\r\n async function fechData() {\r\n const config = await getUploadFileSettingConfiguration();\r\n\r\n setConfigFile(config);\r\n }\r\n const formatDateTime = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/yyyy HH:mm:ss\");\r\n return moment(momentObj).format(\"DD MMM yyyy\");\r\n }\r\n };\r\n const convertDate = (data: any) => {\r\n return formatDateTime(data);\r\n };\r\n\r\n const onError = () => {\r\n toggleAlert({\r\n description: `Server Error Please try again.`,\r\n message: `Server Error`,\r\n type: \"error\",\r\n });\r\n };\r\n useEffect(() => {\r\n console.log(masterATDLFT, \"masterATDLFT\");\r\n }, []);\r\n\r\n const onFileSelect = async (e: any) => {\r\n var filename = e.target.value;\r\n var userName = filename.split(\"\\\\\").pop();\r\n const files = e.target.files;\r\n const maxLength = parseInt(configFile.limitFileSize);\r\n const maxMb = 20971520 / 1024 / 1024;\r\n for (let i = 0; i < files.length; i++) {\r\n if (files[i].size >= maxLength) {\r\n toggleAlert({\r\n description: `Can not upload file size more than ${maxMb}.MB File name is ${files[i].name}`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n ref.current.value = null;\r\n return;\r\n }\r\n }\r\n\r\n setRequestFile(e.target.files);\r\n setFileData(userName);\r\n setPathData(filename);\r\n };\r\n\r\n function deleteFile() {\r\n setListFileAttachDetails(\r\n listFileAttachDetails.filter((_val: any, _idx: number) => {\r\n return _idx !== indexState;\r\n })\r\n );\r\n }\r\n\r\n async function onUploadFile() {\r\n if (requestFile !== null) {\r\n setOnLoading(true);\r\n for (let i = 0; i < requestFile.length; i++) {\r\n const attachWorkList = listFileAttachDetails;\r\n const lastFile = attachWorkList[attachWorkList.length - 1];\r\n const NewDate = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n let newFile = Object.assign({}, lastFile);\r\n const formData = new FormData();\r\n formData.append(`files`, requestFile[i]);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", memoDetail.template_detail);\r\n formData.append(\"fileDesc\", description);\r\n formData.append(\"actorID\", userData.EmployeeId);\r\n console.log(formData, \"formData\");\r\n\r\n var response: any = await UploadFileAttachFiles(formData);\r\n if (response.data?.result === true) {\r\n if (_sharepointSiteURL) {\r\n newFile.attach_path =\r\n _sharepointSiteURL + \"\" + response.data.pathUrl;\r\n } else {\r\n newFile.attach_path = response.data.pathUrl;\r\n }\r\n newFile.sequence = 0;\r\n newFile.memo_id = memoDetail.memoid;\r\n newFile.actor = userData;\r\n newFile.attach_date = NewDate;\r\n newFile.attach_file = response.data.fileName;\r\n newFile.is_merge_pdf = false;\r\n newFile.modified_date = NewDate;\r\n newFile.modified_by = userData.EmployeeId.toString();\r\n newFile.description = description;\r\n attachWorkList.push(newFile);\r\n setListFileAttachDetails([...attachWorkList]);\r\n } else {\r\n onError();\r\n }\r\n }\r\n setOnLoading(false);\r\n setRequestFile(null);\r\n setValue(\"\");\r\n setDescription(\"\");\r\n ref.current.value = null;\r\n } else {\r\n toggleAlert({\r\n description: `Please Select File.`,\r\n message: `File select warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n const footer = (\r\n
\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n />\r\n
\r\n );\r\n\r\n function renderDialog() {\r\n return (\r\n <>\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n const handleCheckboxChange = (event: any, name: any) => {\r\n if (event.target.checked) {\r\n let _selectedRows = selectedRows;\r\n _selectedRows.push({\r\n name: name,\r\n seq: _selectedRows.length + 1,\r\n });\r\n setSelectedRows([..._selectedRows]);\r\n } else {\r\n let _SecRow = selectedRows\r\n .filter((e) => e.name !== name)\r\n .map((e: any, idx: number) => {\r\n let mergeObj: { name: string; seq: number } = {\r\n name: e.name,\r\n seq: idx + 1,\r\n };\r\n\r\n return mergeObj;\r\n });\r\n\r\n listFileAttachDetails.map((e: any) => {\r\n e.sequence = 0;\r\n });\r\n setSelectedRows(_SecRow);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n selectedRows.map((item: any) => {\r\n listFileAttachDetails.map((e: any) => {\r\n if (e.attach_file === item.name) {\r\n e.sequence = item.seq;\r\n }\r\n });\r\n });\r\n }, [selectedRows, listFileAttachDetails]);\r\n\r\n return (\r\n
\r\n {renderDialog()}\r\n \r\n {onLoading && (\r\n
\r\n \"loading...\"\r\n
\r\n )}\r\n
\r\n

{t(\"attachment\")}

\r\n
\r\n <>\r\n
\r\n {t(\"Attach File\")} : \r\n
\r\n onFileSelect(e)}\r\n multiple\r\n className=\"attachForm-border-fttach-file\"\r\n placeholder=\"fdfsd\"\r\n />\r\n {\r\n setVisibleDialog(true);\r\n }}\r\n className=\"set-css-icon-alert-in-upload-file\"\r\n />\r\n
\r\n
\r\n
\r\n {t(\"Description\")} : \r\n
\r\n {\r\n setValue(e.target.value);\r\n setDescription(e.target.value);\r\n }}\r\n className=\"p-d-block p-inputgroup attachForm-border-description-inputText\"\r\n />\r\n \r\n \r\n {t(\"Upload\")}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n {listFileAttachDetails?.length > 0 && (\r\n <>\r\n

Attached File

\r\n
\r\n
\r\n
\r\n

#

\r\n
\r\n
\r\n

Date

\r\n
\r\n
\r\n

Attached File

\r\n
\r\n
\r\n

Description

\r\n
\r\n
\r\n

Operator

\r\n
\r\n
\r\n

Merge

\r\n
\r\n
\r\n
\r\n

Action

\r\n
\r\n
\r\n {listFileAttachDetails?.length > 0 &&\r\n listFileAttachDetails.map((attachData: any, idx: number) => (\r\n
\r\n
\r\n

{idx + 1}

\r\n
\r\n
\r\n

{convertDate(attachData.attach_date)}

\r\n
\r\n
\r\n <>\r\n {\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n _tinyURL = _tinyURL + \":\" + _port;\r\n }\r\n }\r\n var link = \"\";\r\n const protocol = window.location.protocol;\r\n const attachPath = attachData.attach_path\r\n ? attachData.attach_path.charAt(0) !== \"/\"\r\n ? \"/\" + attachData.attach_path\r\n : attachData.attach_path\r\n : \"\";\r\n const splitPath =\r\n attachData.attach_path.split(\"/\") || [];\r\n console.log(_sharepointSiteURL, \"att=>\");\r\n const cannotDownloadPdfAppSetting =\r\n await CannotDowLoadPDFDefaultConfiguration();\r\n if (!_sharepointSiteURL) {\r\n const rootPath = splitPath[1] || \"\";\r\n const docPath = splitPath[2] || \"\";\r\n const fullName = splitPath[3] || \"\";\r\n const lastIndex = fullName.lastIndexOf(\".\");\r\n let extension = fullName.substring(\r\n lastIndex + 1\r\n );\r\n const name = fullName.substring(0, lastIndex);\r\n link = `${protocol}//` + _tinyURL + attachPath;\r\n console.log(\"att=>!_sharepointSiteURL\", {\r\n protocol,\r\n _tinyURL,\r\n attachPath,\r\n splitPath,\r\n });\r\n\r\n const checkCanDownload =\r\n listFormNames?.RefDocDisplay?.split(\",\");\r\n const checkCanDownloadAttach =\r\n checkCanDownload?.length >= 5\r\n ? checkCanDownload[5]\r\n : \"\";\r\n const response = await GetPermissionByEmpId({\r\n EmployeeId: userData.EmployeeId,\r\n });\r\n let checkRoleId = false;\r\n for (let i = 0; i < response.length; i++) {\r\n const element = response[i];\r\n if (element?.roleId === 1) {\r\n checkRoleId = true;\r\n break;\r\n } else {\r\n checkRoleId = false;\r\n }\r\n }\r\n let checkDLAttach = false;\r\n if (masterATDLFT) {\r\n const downloadFileType =\r\n masterATDLFT.Value1.split(\",\");\r\n if (downloadFileType?.length > 0) {\r\n downloadFileType.map((fileType: any) => {\r\n if (\r\n link.toLowerCase().endsWith(fileType)\r\n ) {\r\n checkDLAttach = true;\r\n }\r\n });\r\n }\r\n }\r\n if (checkRoleId) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (checkDLAttach) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (\r\n memoDetail?.Permission?.AttachDownload === \"F\"\r\n ) {\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (\r\n checkCanDownloadAttach?.toLowerCase() ===\r\n \"yes\" &&\r\n checkActionPage === \"add\"\r\n ) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (\r\n cannotDownloadPdfAppSetting?.cannotDowLoadPDFDefault\r\n ) {\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n }\r\n console.log(\r\n cannotDownloadPdfAppSetting,\r\n \"cannotDownloadPdfAppSetting\"\r\n );\r\n }\r\n //_sharepointSiteURL\r\n else {\r\n const rootPath = splitPath[5] || \"\";\r\n const docPath = splitPath[6] || \"\";\r\n const fullName = splitPath[7] || \"\";\r\n const lastIndex = fullName.lastIndexOf(\".\");\r\n let extension = fullName.substring(\r\n lastIndex + 1\r\n );\r\n const name = fullName.substring(0, lastIndex);\r\n link = attachPath;\r\n console.log(\"att=>\", {\r\n protocol,\r\n _tinyURL,\r\n attachPath,\r\n splitPath,\r\n });\r\n console.log({\r\n link,\r\n });\r\n link =\r\n attachPath.charAt(0) === \"/\"\r\n ? attachPath.substring(1)\r\n : attachPath;\r\n const checkCanDownload =\r\n listFormNames?.RefDocDisplay?.split(\",\");\r\n const checkCanDownloadAttach =\r\n checkCanDownload?.length >= 5\r\n ? checkCanDownload[5]\r\n : \"\";\r\n let checkDLAttach = false;\r\n if (masterATDLFT) {\r\n const downloadFileType =\r\n masterATDLFT.Value1.split(\",\");\r\n if (downloadFileType?.length > 0) {\r\n downloadFileType.map((fileType: any) => {\r\n if (\r\n link.toLowerCase().endsWith(fileType)\r\n ) {\r\n checkDLAttach = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n const response = await GetPermissionByEmpId({\r\n EmployeeId: userData.EmployeeId,\r\n });\r\n let checkRoleId = false;\r\n for (let i = 0; i < response.length; i++) {\r\n const element = response[i];\r\n if (element?.roleId === 1) {\r\n checkRoleId = true;\r\n break;\r\n } else {\r\n checkRoleId = false;\r\n }\r\n }\r\n\r\n if (checkRoleId) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (checkDLAttach) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (\r\n memoDetail?.Permission?.AttachDownload === \"F\"\r\n ) {\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (\r\n checkCanDownloadAttach?.toLowerCase() ===\r\n \"yes\" &&\r\n checkActionPage === \"add\"\r\n ) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (\r\n cannotDownloadPdfAppSetting?.cannotDowLoadPDFDefault\r\n ) {\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n }\r\n console.log(\r\n cannotDownloadPdfAppSetting,\r\n \"cannotDownloadPdfAppSetting\"\r\n );\r\n console.log(response, \"response\");\r\n console.log(checkDLAttach, \"checkDLAttach\");\r\n console.log(masterATDLFT, \"masterATDLFT\");\r\n }\r\n }}\r\n style={{ color: \"#2769b2\" }}\r\n >\r\n {attachData.attach_file}\r\n \r\n \r\n
\r\n
\r\n

{attachData.description}

\r\n
\r\n\r\n
\r\n

\r\n {userData.Lang === \"EN\"\r\n ? attachData.actor.NameEn\r\n : attachData.actor.NameTh}\r\n

\r\n
\r\n
\r\n {attachData?.attach_file\r\n .toLowerCase()\r\n .endsWith(\"pdf\") ? (\r\n
\r\n e.name === attachData.attach_file\r\n )?.seq\r\n }\r\n size=\"small\"\r\n >\r\n {\r\n let _listAttach = listFileAttachDetails;\r\n _listAttach[idx].is_merge_pdf = e.checked;\r\n _listAttach[idx].modified_date = moment(\r\n new Date()\r\n ).format(\"DD/MM/YYYY HH:mm:ss\");\r\n setListFileAttachDetails([..._listAttach]);\r\n handleCheckboxChange(\r\n e,\r\n attachData.attach_file\r\n );\r\n }}\r\n checked={\r\n listFileAttachDetails[idx].is_merge_pdf\r\n }\r\n >\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {canEditDoc ? (\r\n
\r\n {\r\n setIndexState(idx);\r\n setDescriptionRespone(attachData.description);\r\n setVisibleStatus(true);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-trash\",\r\n command: () => {\r\n setIndexState(idx);\r\n setDeleteVisible(true);\r\n },\r\n },\r\n ]}\r\n dropdownIcon=\"pi pi-ellipsis-v\"\r\n />\r\n
\r\n ) : (\r\n listFormNames.ApproverCanEdit === false &&\r\n userData.EmployeeId === attachData.actor.EmployeeId && (\r\n
\r\n {\r\n setIndexState(idx);\r\n setDescriptionRespone(\r\n attachData.description\r\n );\r\n setVisibleStatus(true);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-trash\",\r\n command: () => {\r\n setIndexState(idx);\r\n setDeleteVisible(true);\r\n },\r\n },\r\n ]}\r\n dropdownIcon=\"pi pi-ellipsis-v\"\r\n />\r\n
\r\n )\r\n )}\r\n
\r\n ))}\r\n
\r\n \r\n )}\r\n
\r\n
\r\n setDeleteVisible(false)}\r\n message=\"Are you sure to Delete this File?\"\r\n header=\"Delete Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n acceptClassName=\"p-button-danger\"\r\n accept={deleteFile}\r\n reject={() => setDeleteVisible(false)}\r\n />\r\n {visibleStatus == true && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default AttachmentComponent;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button } from \"../../components/Button/Button\";\r\nimport { AiOutlineApartment, AiOutlineHistory } from \"react-icons/ai\";\r\nimport { BsPerson } from \"react-icons/bs\";\r\nimport { IoNewspaperOutline } from \"react-icons/io5\";\r\nimport { ImAttachment } from \"react-icons/im\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { BadgeNotificate } from \"../../components/AntdControlComponent/BadgeNotificateComponent/BadgeNotificate\";\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n workList?: any;\r\n requestData?: any\r\n}\r\nconst RequestSideBarElement = (props: Props) => {\r\n const [sidebar, setSidebar] = useState([]);\r\n const [sidebarM, setSidebarM] = useState([]);\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n const SideBarData = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"Requestor\")!}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"information\")!}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"lineApprovals\")!}\r\n icon={}\r\n page={3}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"attachment\")!}\r\n icon={}\r\n page={4}\r\n curPage={props.curPage}\r\n children={null}\r\n />\r\n }\r\n />\r\n \r\n ),\r\n },\r\n ];\r\n\r\n const SideBarDataResponsive = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n page={1}\r\n title={\"\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n title={\"\"}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n page={3}\r\n title={\"\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n page={4}\r\n title={\"\"}\r\n curPage={props.curPage}\r\n />\r\n } \r\n />\r\n \r\n ),\r\n },\r\n ];\r\n if (props.workList !== undefined && props.workList !== 0) {\r\n SideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"history\")!}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n children={null}\r\n />\r\n }\r\n />\r\n ),\r\n });\r\n SideBarDataResponsive.push({\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n title={\"\"}\r\n />\r\n }\r\n />\r\n ),\r\n });\r\n }\r\n setSidebar([...SideBarData]);\r\n setSidebarM([...SideBarDataResponsive]);\r\n }, [props.workList, props.curPage, t]);\r\n\r\n return (\r\n <>\r\n
\r\n {sidebar.map((data, idx) => (\r\n
{data.component}
\r\n ))}\r\n
\r\n
\r\n {sidebarM.map((data, idx) => (\r\n
\r\n {data.component}\r\n
\r\n ))}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default RequestSideBarElement;\r\n","import React, { useRef, useState } from \"react\";\r\nimport { BiSend } from \"react-icons/bi\";\r\nimport { AiOutlineSave } from \"react-icons/ai\";\r\nimport { ConfirmDialogComponents } from \"../ConfirmDialogComponent/ConfirmDialogComponents\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport CommentComponent from \"../Input/CommentComponent\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n type: string;\r\n // onUpdate: (\r\n // data: any,\r\n // comment?: any,\r\n // waiting_for?: string,\r\n // waiting_for_id?: number\r\n // ) => any;\r\n pageName: string;\r\n handleSubmit: any;\r\n onSubmit: any;\r\n buttonType: any;\r\n setButtonType: any;\r\n setSelectedView: any;\r\n setCurPage: any;\r\n lineApproval: any[];\r\n approvalSequence: number;\r\n}\r\n\r\nexport const MemoSingleButton = (props: Props) => {\r\n const [commentStatus, setCommentStatus] = useState(false);\r\n const [require, setRequire] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n <>\r\n {props.type === \"submit\" && (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n props.setButtonType(\"submit\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(\"Submit\")}

\r\n \r\n )}\r\n {props.type === \"draft\" && (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n\r\n props.setButtonType(\"draft\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(\"Save Draft\")}

\r\n \r\n )}\r\n {commentStatus === true && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { GetAllDynamic } from \"./DynamicService\";\r\nimport { GetRolePermission } from \"./RoleServices\";\r\n\r\nexport const GetAllAuthorized = async () => {\r\n const respone = await fetch(\"api/Authorized/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetMemoAuthorized = async (request: any) => {\r\n console.log(\"request\", request);\r\n\r\n const respone = await fetch(\"api/Memo/GetMemoPermission\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const GetMemoAuthorizedViewAndPrint = async (request: any) => {\r\n console.log(\"request\", request);\r\n\r\n const respone = await fetch(\"api/Memo/GetMemoPermissionViewAndPrint\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const RegisterWolfAccount = async (request: any) => {\r\n console.log(\"request\", request);\r\n\r\n const respone = await fetch(\"api/Authentication/RegisterWolfAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const CheckRolePermission = async (EmployeeId: number) => {\r\n let isAdmin: boolean = false;\r\n let permissions: any[] = await GetRolePermission();\r\n let roles: any[] = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n\r\n if (permissions) {\r\n let thispermiss = permissions.filter(\r\n (permiss: any) => permiss.EmployeeId === EmployeeId\r\n );\r\n\r\n roles?.forEach((role: any) => {\r\n thispermiss.forEach((permis: any) => {\r\n if (permis.IsDelete !== true) {\r\n if (permis.RoleId === role.RoleId) {\r\n if (role.RoleId === 1) {\r\n isAdmin = true;\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n return isAdmin;\r\n};\r\n","import React, { useRef, useState, useEffect, useMemo } from \"react\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { InformationComponent } from \"../../components/RequestComponents/InformationComponent/InformationComponent\";\r\nimport LineApprovalsComponent from \"../../components/RequestComponents/LineApprovalsComponent/LineApprovalsComponent\";\r\nimport { RequestorComponent } from \"../../components/RequestComponents/RequestorComponent/RequestorComponent\";\r\nimport AttachmentComponent from \"../../components/RequestComponents/AttachmentComponent/AttachmentComponent\";\r\n\r\nimport { Button, Spin, Modal, Popover } from \"antd\";\r\nimport { BsPlusCircle } from \"react-icons/bs\";\r\nimport { MenuOutlined } from \"@ant-design/icons\";\r\nimport \"./index.css\";\r\nimport RequestSideBarElement from \"./RequestSideBarElement\";\r\nimport { HistoryComponent } from \"../../components/RequestComponents/HistoryComponent/HistoryComponent\";\r\nimport { MemoButtonComponent } from \"../../components/MemoButton/MemoButtonComponent\";\r\n// import { MemoButtonetcComponent } from \"../../components/MemoButton/MemoButtonetcComponent\";\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { CoreControllerComponent } from \"../../components/RequestComponents/CoreControllerComponent/CoreControllerComponent\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { IMemoPageModel } from \"../../IRequestModel/IMemoPageModel\";\r\nimport { IListApprovalDetailsModel } from \"../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { IActorModel } from \"../../IRequestModel/IActorModel\";\r\nimport { IListFormNameModel } from \"../../IRequestModel/IListFormNameModel\";\r\nimport LogoLoading from \"../../assets/LoadingWOLFmini.gif\";\r\nimport { IMemoButtonModel } from \"../../IRequestModel/IMemoButtonModel\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { on } from \"events\";\r\nimport {\r\n ActionMemoPage,\r\n GetButtonMemoByMemoId,\r\n GetMemoDetailById,\r\n GetRefDocTemp,\r\n} from \"../../Services/MemoService\";\r\n\r\nimport {\r\n GetTemplateByDocTypeCode,\r\n GetTemplateById,\r\n} from \"../../Services/TemplateService\";\r\nimport { GeneratePDF } from \"../../Services/ReviewPdfService\";\r\n\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { json } from \"stream/consumers\";\r\nimport {\r\n GetAutoNumber,\r\n GetSaveRunningNumber,\r\n} from \"../../Services/RequestControlService\";\r\nimport { GetMemoAuthorized } from \"../../Services/AuthorizedService\";\r\nimport {\r\n GetLeaveTemplate,\r\n GetLeaveTemplateByEmpId,\r\n GetMasterDataFieldInfo,\r\n GetSignature,\r\n} from \"../../Services/MasterDataService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { GetRolePermission } from \"../../Services/RoleServices\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { GetApprovalByTemplate } from \"../../Services/ApprovalService\";\r\nimport { ADTitleConfiguration } from \"../../Services/ConfigurationService\";\r\n\r\ninterface Props {}\r\n\r\nexport const RequestScreen = (props: Props) => {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const [templateId, setTtemplateId] = useState();\r\n const [memoId, setMemoId] = useState();\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const [selectedView, setSelectedView] = useState(\"2\");\r\n const [menuButton, setMenuButton] = useState([]);\r\n const [dataTreeSelectProps, setDataTreeSelectProps] = useState({});\r\n const [curPage, setCurPage] = useState(\"2\");\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [listFormNameState, setListFormNameState] = useState();\r\n const location = useLocation();\r\n const [isSetCanEdit, setIsSetCanEdit] = useState(false);\r\n // const query = new URLSearchParams(useLocation().search);\r\n const [templateTree, setTemplateTree] = useState({});\r\n const [check, setCheck] = useState(\"\");\r\n const [requestDetail, setRequestDetail] = useState();\r\n const [imgLoading, setImgLoading] = useState(null);\r\n const [errorResult, setErrorResult] = useState([]);\r\n const [visibleComfirm, setVisibleComfirm] = useState(false);\r\n const [errorTable, setErrorTable] = useState([]);\r\n const [isInitialLogic, setIsInitialLogic] = useState(false);\r\n const [showControl, setShowControl] = useState([]);\r\n const [isActionPdf, setIsActionPdf] = useState(false);\r\n const [textFromValue, setTextFromValue] = useState(\"\");\r\n const [isTextFromValue, setIsTextFromValue] = useState();\r\n const [isCopyValue, setIsCopyValue] = useState(false);\r\n const [isShowPdfButton, setIsShowPdfButton] = useState(true);\r\n const [requestorId, setRequestorId] = useState();\r\n const [checkTypeLeave, setCheckTypeLeave] = useState(false);\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [sinatureOptions, setSinatureOptions] = useState([]);\r\n const [allLogic, setAllLogic] = useState([]);\r\n const [listLogicData, setListLogicData] = useState([]);\r\n const [onLoadLineApprove, setOnLoadLineApprove] = useState(false);\r\n\r\n const [previewTemplate, setPreviewTemplate] = useState(false);\r\n const [isHideProject, setIsHideProject] = useState(false);\r\n const [branchFromADTitle, setBranchFromADTitle] = useState();\r\n const [isBranchFromADTitle, setIsBranchFromADTitle] =\r\n useState(false);\r\n const [activeADTitleToPosition, setActiveADTitleToPosition] = useState();\r\n const [isActiveADTitleToPosition, setIsActiveADTitleToPosition] =\r\n useState(false);\r\n const toast = useRef(null);\r\n const { search } = useLocation();\r\n var respone = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n var userData = respone.employeeData;\r\n const [refTempSelected, setRefTempSelected] = useState([]);\r\n const [refAttibute, setRefAttibute] = useState();\r\n const [searchRefDocData, setSearchRefDocData] = useState([]);\r\n let history = useHistory();\r\n let memoPageModel: IMemoPageModel = {\r\n listApprovalDetails: [],\r\n listFormName: [],\r\n listFileAttachDetails: [],\r\n listHistoryDetails: [],\r\n listControlRunning: [],\r\n listRefDocDetails: [],\r\n // HistoryView: [],\r\n // listActionButtonDetails: [],\r\n // listCompany: [],\r\n // listLogic: [],\r\n // listLogicloaddata: null,\r\n // listProject: [],\r\n // listSignatureWording: [],\r\n memoDetail: {\r\n GroupTemplateName: \"\",\r\n actor: userData,\r\n TemplateApproveId: \"\",\r\n requestor: userData,\r\n amount: \"\",\r\n memoid: 0,\r\n\r\n approver_can_edit: false,\r\n auto_approve: false,\r\n auto_approve_when: \"\",\r\n comment: \"\",\r\n company_id: 0,\r\n company_name: \"\",\r\n costcenter: \"\",\r\n created_by: \"\",\r\n created_date: \"\",\r\n creator: userData,\r\n current_approval_level: 0,\r\n department_id: 0,\r\n document_library: \"\",\r\n document_no: \"\",\r\n document_set: \"\",\r\n is_editable: false,\r\n is_public: false,\r\n is_text_form: false,\r\n last_action_by: \"\",\r\n last_status_id: 0,\r\n last_status_name: \"\",\r\n location: \"\",\r\n modified_by: \"\",\r\n modified_date: \"\",\r\n pass: \"\",\r\n project: \"\",\r\n project_id: 0,\r\n report_lang: \"\",\r\n request_date: \"\",\r\n status_id: 0,\r\n status: \"\",\r\n subject: \"\",\r\n template_code: \"\",\r\n template_desc: \"\",\r\n template_detail: \"\",\r\n template_id: 0,\r\n template_name: \"\",\r\n to: \"\",\r\n waiting_for: \"\",\r\n waiting_for_id: 0,\r\n copyInformation: \"N\",\r\n },\r\n };\r\n const [leaveTypeTable, setLeaveTypeTable] = useState([]);\r\n\r\n useEffect(() => {\r\n setImgLoading(LogoLoading);\r\n fetchMasterData();\r\n fetchEmployee();\r\n }, []);\r\n useEffect(() => {\r\n if (\r\n requestDetail?.memoDetail?.amount &&\r\n requestDetail?.memoDetail?.amount !== \"0.00\" &&\r\n requestDetail?.memoDetail?.memoid === 0\r\n ) {\r\n fetchLineApproveWithSummary();\r\n }\r\n }, [requestDetail?.memoDetail?.amount]);\r\n\r\n function toggleSideBar() {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n } else {\r\n setSidebarState(true);\r\n }\r\n }\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n\r\n useEffect(() => {\r\n setShowControl([]);\r\n\r\n queryData();\r\n }, [query]);\r\n const fetchLineApproveWithSummary = async () => {\r\n const dataJson = {\r\n templateForm: requestDetail?.listFormName[0],\r\n lstTRNLineApprove: [],\r\n VEmployee: userData,\r\n Amount: requestDetail?.memoDetail?.amount,\r\n };\r\n\r\n let responeAprovaWithTemplate = await GetApprovalByTemplate(dataJson);\r\n\r\n let newData: IListApprovalDetailsModel[] = [];\r\n if (responeAprovaWithTemplate.length > 0) {\r\n newData = responeAprovaWithTemplate;\r\n } else {\r\n newData = requestDetail?.listApprovalDetails!;\r\n }\r\n };\r\n async function queryData() {\r\n let _templateId: any;\r\n if (query.get(\"DocTypeCode\") && !query.get(\"template\")) {\r\n _templateId = await fetchTemplateDocTypeCode(query.get(\"DocTypeCode\"));\r\n console.log(\"_templateid\", _templateId);\r\n setTtemplateId(_templateId);\r\n }\r\n if (query.get(\"template\") && !query.get(\"DocTypeCode\")) {\r\n _templateId = Number(query.get(\"template\"));\r\n console.log(\"_templateid2\", _templateId);\r\n setTtemplateId(_templateId);\r\n }\r\n if (query.get(\"MemoID\") !== undefined && query.get(\"MemoID\") !== null) {\r\n let memoid = Number(query.get(\"MemoID\"));\r\n\r\n onCheckPermission(memoid);\r\n setMemoId(memoid);\r\n }\r\n if (query.get(\"isCopy\") !== undefined && query.get(\"isCopy\") !== null) {\r\n setIsCopyValue(true);\r\n }\r\n if (query.get(\"preview\") !== undefined && query.get(\"preview\") !== null) {\r\n setPreviewTemplate(true);\r\n }\r\n }\r\n const onCheckPermission = async (memoid: any) => {\r\n const request = {\r\n MemoId: memoid,\r\n RequesterId: userData.EmployeeId,\r\n RNameEn: userData.Email,\r\n };\r\n console.log(\"responseCheck\", request);\r\n\r\n const response = await GetMemoAuthorized(request);\r\n if (response === false) {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n console.log(\"responseCheck\", response);\r\n };\r\n useEffect(() => {\r\n if (memoId !== undefined) {\r\n let templateCode: any = \"\";\r\n setOnLoading(true);\r\n fetchTemplate().then(async (_listFormName) => {\r\n setListFormNameState(_listFormName);\r\n let _memoPageModel: any = memoPageModel;\r\n _memoPageModel.listFormName = [_listFormName];\r\n setIsSetCanEdit(false);\r\n setRequestorId(memoPageModel.memoDetail.requestor.EmployeeId);\r\n // if (_memoPageModel.listFormName[0] === null) {\r\n // window.location.href = \"/UnAuthorize\";\r\n // console.log(_memoPageModel, \"_memoPageModel\");\r\n // }\r\n if (memoId === 0) {\r\n setIsInitialLogic(false);\r\n\r\n const dataJson = {\r\n TemplateId: templateId,\r\n };\r\n let _template: any = await GetTemplateById(dataJson);\r\n await onLoadLogic(templateId);\r\n if (!_template) {\r\n return;\r\n }\r\n console.log(dataJson, \"_templateid\");\r\n console.log(_template, \"_templateid\");\r\n let empid: any = userData.EmployeeId;\r\n\r\n console.log(\"_respone_respone\", _respone);\r\n const emp_authorize: any =\r\n _template?.SpecificEmployeeId?.length > 0\r\n ? _template?.SpecificEmployeeId?.split(\",\").map(Number)\r\n : [];\r\n const role_authorize: any =\r\n _template?.SpecificRoleID?.length > 0\r\n ? _template?.SpecificRoleID?.split(\",\").map(Number)\r\n : [];\r\n let isEmpAuthorize =\r\n emp_authorize.length > 0 || role_authorize.length > 0\r\n ? false\r\n : true;\r\n let isRoleAuthorize =\r\n role_authorize.length > 0 || emp_authorize.length > 0\r\n ? false\r\n : true;\r\n console.log(\r\n \"role\",\r\n isRoleAuthorize,\r\n role_authorize,\r\n _template,\r\n emp_authorize,\r\n isEmpAuthorize\r\n );\r\n for (let j = 0; j < emp_authorize.length; j++) {\r\n const _emp_authorize_id = emp_authorize[j];\r\n if (_emp_authorize_id === empid) {\r\n isEmpAuthorize = true;\r\n }\r\n }\r\n const roles = await GetRolePermission();\r\n for (let i = 0; i < roles.length; i++) {\r\n const role = roles[i];\r\n if (role.EmployeeId === empid) {\r\n for (let j = 0; j < role_authorize.length; j++) {\r\n const _role_authorize = role_authorize[j];\r\n if (_role_authorize === role.RoleId && !role.IsDelete) {\r\n isRoleAuthorize = true;\r\n }\r\n }\r\n }\r\n }\r\n console.log(\r\n \"role2\",\r\n roles,\r\n isRoleAuthorize,\r\n role_authorize,\r\n _template,\r\n emp_authorize,\r\n isEmpAuthorize\r\n );\r\n if (!isEmpAuthorize && !isRoleAuthorize) {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n console.log(\"_memoPageModel\", _memoPageModel);\r\n _memoPageModel.memoDetail.status =\r\n previewTemplate === true ? \"New Request\" : \"\";\r\n\r\n setSelectedView(\"2\");\r\n setCurPage(\"2\");\r\n setCheck(\"add\");\r\n setErrorResult([]);\r\n setRequestDetail(_memoPageModel);\r\n setTemplateTree(_memoPageModel.listFormName[0]);\r\n setIsTextFromValue(_memoPageModel.listFormName[0].IsTextForm);\r\n setTextFromValue(_memoPageModel.listFormName[0].TextForm);\r\n // if (previewTemplate) {\r\n // var editDataMemoDetail = _memoPageModel.memoDetail;\r\n // editDataMemoDetail.memoid = 0;\r\n // editDataMemoDetail.status = \"New Request\";\r\n // editDataMemoDetail.document_no = \"Auto Generate\";\r\n // editDataMemoDetail.copyInformation = \"Y\";\r\n\r\n // console.log(\"editDataMemoDetail\", editDataMemoDetail);\r\n\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: editDataMemoDetail,\r\n // }));\r\n // }\r\n\r\n templateCode = _memoPageModel.listFormName[0].DocumentCode;\r\n replaceTitleInfo(_memoPageModel, \"add\");\r\n } else if (memoId !== 0) {\r\n setIsInitialLogic(true);\r\n\r\n var _respone: any = await fechMemoDetail();\r\n let empid: any = userData.EmployeeId;\r\n const dataJson = {\r\n TemplateId: _respone.memoDetail.template_id,\r\n };\r\n console.log(\"dataJson\", dataJson);\r\n\r\n let _template: any = await GetTemplateById(dataJson);\r\n console.log(\"ddddddddddddddddddddddddddddddddddddd\", _template);\r\n await onLoadLogic(_respone.memoDetail.template_id);\r\n setListFormNameState(_template);\r\n const emp_authorize: any =\r\n _template.SpecificEmployeeId !== undefined &&\r\n _template.SpecificEmployeeId !== null &&\r\n _template.SpecificEmployeeId?.length > 0\r\n ? _template.SpecificEmployeeId?.split(\",\").map(Number)\r\n : [];\r\n const role_authorize: any =\r\n _template.SpecificRoleID !== undefined &&\r\n _template.SpecificRoleID !== null &&\r\n _template.SpecificRoleID?.length > 0\r\n ? _template.SpecificRoleID?.split(\",\").map(Number)\r\n : [];\r\n let isEmpAuthorize = emp_authorize.length > 0 ? false : true;\r\n let isRoleAuthorize = role_authorize.length > 0 ? false : true;\r\n console.log(\r\n \"role\",\r\n isRoleAuthorize,\r\n role_authorize,\r\n _template,\r\n emp_authorize,\r\n isEmpAuthorize\r\n );\r\n for (let j = 0; j < emp_authorize.length; j++) {\r\n const _emp_authorize_id = emp_authorize[j];\r\n if (_emp_authorize_id === empid) {\r\n isEmpAuthorize = true;\r\n }\r\n }\r\n const roles = await GetRolePermission();\r\n for (let i = 0; i < roles.length; i++) {\r\n const role = roles[i];\r\n if (role.EmployeeId === empid) {\r\n for (let j = 0; j < role_authorize.length; j++) {\r\n const _role_authorize = role_authorize[j];\r\n if (_role_authorize === role.RoleId) {\r\n isRoleAuthorize = true;\r\n }\r\n }\r\n }\r\n }\r\n console.log(\r\n \"role2\",\r\n isRoleAuthorize,\r\n role_authorize,\r\n _template,\r\n emp_authorize,\r\n isEmpAuthorize\r\n );\r\n if (!isEmpAuthorize && !isRoleAuthorize) {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n\r\n fechMemoButton();\r\n setSelectedView(\"2\");\r\n setCurPage(\"2\");\r\n setErrorResult([]);\r\n _respone[\"listFormName\"] = [_template];\r\n _respone[\"listControlRunning\"] = [];\r\n templateCode = _respone.memoDetail.template_code;\r\n\r\n if (_respone.memoDetail.Permission !== null) {\r\n const permission: any = _respone.memoDetail.Permission;\r\n if (permission.View === \"F\") {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n if (permission.Print === \"F\") {\r\n setIsShowPdfButton(false);\r\n }\r\n }\r\n console.log(\"_respone_respone_respone_respone_respone\", _respone);\r\n // setRequestDetail(_respone);\r\n\r\n if (isCopyValue) {\r\n setCheck(\"add\");\r\n var editDataMemoDetail = _respone.memoDetail;\r\n editDataMemoDetail.memoid = 0;\r\n editDataMemoDetail.status = \"New Request\";\r\n editDataMemoDetail.document_no = \"Auto Generate\";\r\n editDataMemoDetail.copyInformation = \"Y\";\r\n editDataMemoDetail.creator = empData.employeeData;\r\n editDataMemoDetail.requestor = empData.employeeData;\r\n console.log(\"editDataMemoDetail\", editDataMemoDetail);\r\n\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: editDataMemoDetail,\r\n listHistoryDetails: [],\r\n listFileAttachDetails: _respone.listFileAttachDetails,\r\n listApprovalDetails: _respone.listApprovalDetails,\r\n listRefDocDetails: _respone.listRefDocDetails,\r\n listFormName: _respone.listFormName,\r\n listControlRunning: _respone.listControlRunning,\r\n }));\r\n } else if (!isCopyValue) {\r\n setRequestDetail(_respone);\r\n setCheck(\"edit\");\r\n replaceTitleInfo(_respone, \"edit\");\r\n }\r\n }\r\n checkLeaveRequestTemplate(templateCode);\r\n });\r\n }\r\n }, [memoId, templateId]);\r\n\r\n useEffect(() => {\r\n if (\r\n requestDetail?.listFormName[0] !== undefined &&\r\n requestDetail?.listFormName[0] !== null\r\n ) {\r\n checkRefTemplate(requestDetail?.listFormName[0]);\r\n }\r\n }, [requestDetail?.listFormName]);\r\n\r\n async function checkRefTemplate(_template: any) {\r\n const temp = _template;\r\n try {\r\n if (temp !== undefined && temp !== null) {\r\n if (temp?.RefDocDisplay !== null) {\r\n console.log(\"ref=>temp\", temp);\r\n let _refDoc: any[] = [];\r\n const dataRequest = {\r\n template_ID: temp?.TemplateId,\r\n ConnectionString: \"\",\r\n UserPrincipalName: \"\",\r\n };\r\n const display = temp?.RefDocDisplay.split(\",\");\r\n let refDoc = await GetRefDocTemp(dataRequest);\r\n console.log(\"ref=>refDoc\", refDoc);\r\n refDoc.map((ref: any) => {\r\n if (ref !== null) {\r\n if (display[2] !== \"Information DocumentNo\") {\r\n let refTemp = JSON.parse(ref.MAdvancveForm);\r\n refTemp.items.map((col: any) => {\r\n col.layout.map((_layout: any) => {\r\n if (_layout.template.label === display[2]) {\r\n if (\r\n _layout.data.value !== null &&\r\n _layout.data.value !== \"\"\r\n ) {\r\n ref[display[2]] = _layout.data.value;\r\n _refDoc.push(ref);\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n _refDoc.push(ref);\r\n }\r\n }\r\n });\r\n console.log(\"ref=>display\", display);\r\n\r\n let refObject: any = {\r\n option: _refDoc,\r\n position: display[0],\r\n mode: display[1],\r\n optionLabel: display[2],\r\n };\r\n\r\n if (memoPageModel?.listRefDocDetails?.length > 0) {\r\n const refDocsDetail = memoPageModel?.listRefDocDetails;\r\n const results = refObject.option.filter((refDoc: any) =>\r\n refDocsDetail.some(\r\n (docDetail: any) => docDetail.doc_no === refDoc.DocumentNo\r\n )\r\n );\r\n setRefTempSelected(results);\r\n }\r\n setSearchRefDocData([..._refDoc]);\r\n setRefAttibute(refObject);\r\n } else {\r\n setRefTempSelected([]);\r\n setRefAttibute(undefined);\r\n }\r\n }\r\n setOnLoading(false);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n setOnLoading(false);\r\n }\r\n }\r\n\r\n async function replaceTitleInfo(respone: any, action: any) {\r\n console.log(respone, \"ADTitleConfiguration/\");\r\n console.log(action, \"ADTitleConfiguration/\");\r\n var _responeADTitle = await ADTitleConfiguration();\r\n if (_responeADTitle.activeBranchFromADTitle?.toLowerCase() === \"true\") {\r\n if (action === \"add\") {\r\n setBranchFromADTitle(respone?.memoDetail?.requestor?.ADTitle);\r\n } else if (action === \"edit\") {\r\n setBranchFromADTitle(respone?.memoDetail?.requestor?.ADTitle);\r\n }\r\n setIsBranchFromADTitle(true);\r\n }\r\n if (_responeADTitle.activeADTitleToPosition.toLowerCase() === \"true\") {\r\n if (respone?.memoDetail?.requestor.ADTitle) {\r\n setIsActiveADTitleToPosition(true);\r\n }\r\n }\r\n var _respone = await GetMasterDataFieldInfo();\r\n console.log(_respone, \"_respone\");\r\n if (_respone.length > 0) {\r\n if (_respone[0].Value4?.toLowerCase() === \"true\") {\r\n if (_respone[0]?.Value3) {\r\n setIsHideProject(true);\r\n const _display = _respone[0].Value1.split(\"|\");\r\n const _dataReplace = _respone[0].Value2.split(\"|\");\r\n for (let index = 0; index < _display.length; index++) {\r\n const element = _display[index];\r\n const element2 = _dataReplace[index];\r\n var documentElement: any = document.getElementById(\r\n element\r\n ) as HTMLDivElement | null;\r\n if (documentElement) {\r\n documentElement.innerHTML = element2;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n async function checkLeaveRequestTemplate(templateCode: string) {\r\n var respone = await GetLeaveTemplate();\r\n let _leaveTemplate: any = respone;\r\n if (_leaveTemplate) {\r\n for (let index = 0; index < _leaveTemplate.length; index++) {\r\n if (_leaveTemplate[index].Value1 === templateCode) {\r\n setCheckTypeLeave(true);\r\n } else {\r\n setCheckTypeLeave(false);\r\n }\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n async function fetchLeaveTemplate() {\r\n console.log(checkTypeLeave, \"checkTypeLeave\");\r\n console.log(requestorId, \"requestorId\");\r\n if (checkTypeLeave) {\r\n var _responeData = await GetLeaveTemplateByEmpId(requestorId);\r\n console.log(_responeData, \"_responeData\");\r\n setLeaveTypeTable(_responeData);\r\n } else {\r\n setLeaveTypeTable([]);\r\n }\r\n }\r\n fetchLeaveTemplate();\r\n }, [requestorId, checkTypeLeave]);\r\n\r\n const onLoadLogic = async (templateID: any) => {\r\n const dataLogic = await fetch(\"api/TemplateList/TemplateByid/LoadLogic\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ TemplateId: templateID }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"Logic=> \", data);\r\n\r\n setAllLogic([...data]);\r\n return data;\r\n });\r\n return dataLogic;\r\n };\r\n const fetchTemplate = async () => {\r\n const dataJson = {\r\n TemplateId: templateId,\r\n };\r\n let _templateIdListFormName: any = await GetTemplateById(dataJson);\r\n console.log(_templateIdListFormName, \"_memoPageModel\");\r\n console.log(memoId, \"_memoPageModel\");\r\n checkRefTemplate(_templateIdListFormName);\r\n if (_templateIdListFormName === null && memoId === 0) {\r\n history.push(\"/UnAuthorize\");\r\n return;\r\n }\r\n return _templateIdListFormName;\r\n };\r\n async function fetchTemplateDocTypeCode(DocumentCode: any) {\r\n let _data = await GetTemplateByDocTypeCode({\r\n DocumentCode: DocumentCode,\r\n });\r\n\r\n if (_data) {\r\n return _data.TemplateId;\r\n } else {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n }\r\n\r\n async function fetchMasterData() {\r\n let options: any[] = [];\r\n let signatrue = await GetSignature();\r\n signatrue.map((s: any) => {\r\n options.push({ id: s.masterId, value1: s.value1, value2: s.value2 });\r\n });\r\n setSinatureOptions([...options]);\r\n }\r\n\r\n const fechMemoDetail = async () => {\r\n setOnLoading(true);\r\n const requestBody = {\r\n Memoid: memoId,\r\n SecretId: \"\",\r\n EmployeeId: window.localStorage.getItem(\"employeeId\"),\r\n actor: userData,\r\n };\r\n let _respone = await GetMemoDetailById(requestBody);\r\n setIsTextFromValue(_respone.memoDetail.is_text_form);\r\n setTextFromValue(_respone.memoDetail.template_desc);\r\n return _respone;\r\n };\r\n\r\n async function fetchEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n }\r\n function setSummary(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n amount: respone,\r\n },\r\n }));\r\n }\r\n function setRequestor(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n requestor: {\r\n ...respone,\r\n },\r\n },\r\n }));\r\n }\r\n function setCreator(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n creator: {\r\n ...respone,\r\n },\r\n },\r\n }));\r\n }\r\n\r\n function setInformation(respone: any) {\r\n setIsLoading(false);\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n template_desc: respone,\r\n },\r\n }));\r\n }\r\n function setInformationTemplate_Desc(respone: any) {\r\n setIsLoading(false);\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n ...respone,\r\n },\r\n }));\r\n }\r\n\r\n function setListFormName(respone: IListFormNameModel) {\r\n let _listFormName: IListFormNameModel = respone;\r\n setIsLoading(false);\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listFormName: [_listFormName],\r\n }));\r\n }\r\n function setListRefDocsDetail(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listRefDocDetails: respone,\r\n }));\r\n }\r\n function setLineApprove(respone: any) {\r\n console.log(\"ddddddddddddereline\", respone);\r\n\r\n respone.sort((a: any, b: any) => (a.sequence > b.sequence ? 1 : -1));\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listApprovalDetails: [...respone],\r\n }));\r\n }\r\n function setFileAttach(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listFileAttachDetails: [...respone],\r\n }));\r\n }\r\n\r\n function getRequestor() {\r\n return requestDetail?.memoDetail;\r\n }\r\n function getInformation() {\r\n return requestDetail?.memoDetail;\r\n }\r\n function getLineApprove() {\r\n return requestDetail?.listApprovalDetails;\r\n }\r\n function getFileAttach() {\r\n return requestDetail;\r\n }\r\n function getHistory() {\r\n return requestDetail?.listHistoryDetails;\r\n }\r\n function getTemplateTree() {\r\n return templateTree;\r\n }\r\n\r\n const fechMemoButton = async () => {\r\n setOnLoading(true);\r\n let _memoId: any = memoId;\r\n let memoButton: IMemoButtonModel = {\r\n actor: {\r\n EmployeeId: empData.employeeData.EmployeeId,\r\n },\r\n memoid: _memoId,\r\n };\r\n let _dataDynamic = await GetButtonMemoByMemoId(memoButton);\r\n\r\n const menuButtonSort = _dataDynamic.sort(\r\n (x: any, y: any) => x.sequence - y.sequence\r\n );\r\n setMenuButton(menuButtonSort);\r\n };\r\n const actionNavContent = () => {\r\n return (\r\n
\r\n {check == \"edit\" && (\r\n null}\r\n onUpdate={onUpdateMemo}\r\n pageName={\"Request\"}\r\n />\r\n )}\r\n {check == \"add\" && fechMemoButtonDefault()}\r\n
\r\n );\r\n };\r\n const fechMemoButtonDefault = () => {\r\n if (previewTemplate === false) {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n };\r\n const onSelectView = (text: string) => {\r\n setCurPage(text);\r\n setSelectedView(text);\r\n };\r\n function toggleDialog() {\r\n setVisibleComfirm(!visibleComfirm);\r\n }\r\n\r\n const onUpdateMemo = async (\r\n type: string,\r\n comment: string,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => {\r\n setOnLoading(true);\r\n let _requestDetail: any = requestDetail;\r\n let error_result: any[] = [];\r\n let error_table: any[] = [];\r\n let ess_: any = [];\r\n console.log(_requestDetail, \"_requestDetail\");\r\n _requestDetail.memoDetail.actor = userData;\r\n if (_requestDetail.memoDetail.memoid === undefined) {\r\n _requestDetail.memoDetail.memoid = 0;\r\n }\r\n if (comment) {\r\n _requestDetail.memoDetail.comment = comment;\r\n if (waiting_for != undefined || waiting_for_id != undefined) {\r\n _requestDetail.memoDetail.waiting_for = waiting_for;\r\n _requestDetail.memoDetail.waiting_for_id = waiting_for_id;\r\n }\r\n }\r\n if (_requestDetail.listFormName[0]) {\r\n if (_requestDetail?.listFormName[0]?.IsTextForm === true) {\r\n _requestDetail.memoDetail.is_text_form = true;\r\n _requestDetail.memoDetail.template_desc = textFromValue;\r\n }\r\n }\r\n if (type === \"draft\" || type === \"cancel\") {\r\n if (_requestDetail.memoDetail.company_name === \"\") {\r\n ess_.push(\"Company\");\r\n }\r\n if (\r\n _requestDetail.memoDetail.subject === undefined ||\r\n _requestDetail.memoDetail.subject === null ||\r\n _requestDetail.memoDetail.subject.length === 0\r\n ) {\r\n ess_.push(\"Subject\");\r\n }\r\n if (ess_.length >= 1) {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Please fill \" + ess_.join(\" , \"),\r\n life: 7000,\r\n });\r\n setOnLoading(false);\r\n } else {\r\n let newRunning = \"\";\r\n const _template_desc: any = JSON.parse(\r\n _requestDetail?.memoDetail?.template_desc\r\n );\r\n for (let i = 0; i < _template_desc.items.length; i++) {\r\n const _layout = _template_desc.items[i].layout;\r\n const _layoutLength = _layout.length;\r\n for (let j = 0; j < _layout.length; j++) {\r\n const _template = _layout[j];\r\n if (_template.template.type === \"an\") {\r\n if (type === \"draft\") {\r\n let value: string = _template.data.value;\r\n if (value) {\r\n let runControls = requestDetail?.listControlRunning;\r\n\r\n const dd = value.split(\"-\");\r\n const gg = dd.slice(0, dd.length - 1);\r\n\r\n const requestBody = {\r\n Prefix: gg.join(\"-\") + \"-\",\r\n Digit: _template.template.digit,\r\n TemplateId: templateId,\r\n RunningNumber: dd.join(\"-\"),\r\n };\r\n\r\n const checkAuto = await GetSaveRunningNumber(requestBody);\r\n\r\n const checkNum = checkAuto.split(\"-\");\r\n if (checkNum[0] !== \"\") {\r\n if (dd[dd.length - 1] !== checkNum[check.length - 1]) {\r\n newRunning = checkNum[checkNum.length - 1];\r\n dd[dd.length - 1] = newRunning;\r\n _template.data.value = newRunning;\r\n requestBody.RunningNumber = newRunning;\r\n }\r\n runControls.push(requestBody);\r\n }\r\n\r\n _requestDetail.listControlRunning = runControls;\r\n }\r\n }\r\n }\r\n if (_template.template.type === \"rvs\") {\r\n if (newRunning !== \"\") {\r\n _template.data.value = newRunning;\r\n }\r\n }\r\n }\r\n }\r\n const dataJson = { MemoPage: _requestDetail, Type: type };\r\n console.log(\"_requestDetail\", _requestDetail);\r\n\r\n let _dataDynamic = await ActionMemoPage(dataJson);\r\n var checkAction: boolean = false;\r\n if (_dataDynamic.includes(\"done\")) {\r\n checkAction = true;\r\n }\r\n if (checkAction && check === \"add\") {\r\n history.push(\"/Default\", {\r\n responeData: _dataDynamic,\r\n msg: `${type} success`,\r\n });\r\n } else if (checkAction && check !== \"add\" && type !== \"draft\") {\r\n history.push(\"/Default\", {\r\n responeData: checkAction,\r\n msg: `${type} success`,\r\n });\r\n } else if (checkAction && check !== \"add\" && type === \"draft\") {\r\n setIsActionPdf(!isActionPdf);\r\n\r\n setOnLoading(false);\r\n } else {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: `${_dataDynamic}`,\r\n life: 7000,\r\n });\r\n setOnLoading(false);\r\n }\r\n }\r\n } else {\r\n if (_requestDetail?.listFormName[0]?.IsTextForm === false) {\r\n let newRunning = \"\";\r\n const _template_desc: any = JSON.parse(\r\n _requestDetail?.memoDetail?.template_desc\r\n );\r\n for (let i = 0; i < _template_desc.items.length; i++) {\r\n const _layout = _template_desc.items[i].layout;\r\n const _layoutLength = _layout.length;\r\n for (let j = 0; j < _layout.length; j++) {\r\n const _template = _layout[j];\r\n if (_template.template.type === \"l\") {\r\n }\r\n\r\n if (_template.template.type === \"c\") {\r\n }\r\n\r\n if (_template.template.type === \"cb\") {\r\n if (_template.template.attribute.require === \"Y\") {\r\n if (\r\n _template.data.value === null ||\r\n _template.data.value.length === 0\r\n ) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n }\r\n }\r\n\r\n if (_template.template.type === \"bt\") {\r\n }\r\n if (_template.template.type === \"an\") {\r\n if (type === \"draft\" || type === \"submit\") {\r\n let value: string = _template.data.value;\r\n if (value) {\r\n let runControls = requestDetail?.listControlRunning;\r\n\r\n const dd = value.split(\"-\");\r\n const gg = dd.slice(0, dd.length - 1);\r\n\r\n const requestBody = {\r\n Prefix: gg.join(\"-\") + \"-\",\r\n Digit: _template.template.digit,\r\n TemplateId: templateId,\r\n RunningNumber: dd.join(\"-\"),\r\n };\r\n\r\n const checkAuto = await GetSaveRunningNumber(requestBody);\r\n\r\n const checkNum = checkAuto.split(\"-\");\r\n if (checkNum[0] !== \"\") {\r\n if (dd[dd.length - 1] !== checkNum[check.length - 1]) {\r\n newRunning = checkNum[checkNum.length - 1];\r\n dd[dd.length - 1] = newRunning;\r\n _template.data.value = newRunning;\r\n requestBody.RunningNumber = newRunning;\r\n }\r\n runControls.push(requestBody);\r\n }\r\n\r\n _requestDetail.listControlRunning = runControls;\r\n }\r\n }\r\n }\r\n if (_template.template.type === \"rvs\") {\r\n if (newRunning !== \"\") {\r\n _template.data.value = newRunning;\r\n }\r\n }\r\n if (_template.template.type === \"tb\") {\r\n const column = _template.template.attribute.column;\r\n // let error_table: any = [];\r\n let isTableRequire = false;\r\n for (let i = 0; i < column.length; i++) {\r\n const _column = column[i];\r\n if (_column.control.template.attribute.require === \"Y\") {\r\n if (\r\n _template.data.row !== null &&\r\n _template.data.row.length !== 0\r\n ) {\r\n for (let j = 0; j < _template.data.row.length; j++) {\r\n const _row = _template.data.row[j][i];\r\n if (_row.value !== undefined) {\r\n if (_row.value === null || _row.value === \"\") {\r\n error_table.push({ table_row: j, table_col: i });\r\n } else if (Number(_row.value) === 0) {\r\n error_table.push({ table_row: j, table_col: i });\r\n } else {\r\n if (\r\n _column.control.template.attribute.items !==\r\n undefined\r\n ) {\r\n if (\r\n _row.value ===\r\n _column.control.template.attribute?.items[0].item\r\n ) {\r\n error_table.push({ table_row: j, table_col: i });\r\n }\r\n }\r\n }\r\n }\r\n if (_row.item !== undefined) {\r\n if (_row.item === null || _row.item === \"\") {\r\n if (_row.item.length === 0) {\r\n error_table.push({ table_row: j, table_col: i });\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n isTableRequire = true;\r\n }\r\n }\r\n }\r\n if (isTableRequire) {\r\n if (\r\n _template.data.row === null ||\r\n _template.data.row.length === 0\r\n ) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n }\r\n }\r\n if (_template.template.type === \"ed\") {\r\n }\r\n if (_template.template.type === \"at\") {\r\n }\r\n if (\r\n _template.template.type === \"t\" ||\r\n _template.template.type === \"ta\" ||\r\n _template.template.type === \"d\" ||\r\n _template.template.type === \"r\"\r\n ) {\r\n if (_template.template.attribute.require === \"Y\") {\r\n if (_template.data.value === null) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n if (_template.data.value !== null) {\r\n if (_template.data.value.length === 0) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n if (_template.template.type === \"dd\") {\r\n if (_template.template.attribute.require === \"Y\") {\r\n if (_template.data.value === null) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n\r\n if (_template.data.value !== null) {\r\n if (\r\n _template.data.value.length === 0 ||\r\n _template.data.value === \"--select--\"\r\n ) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (_requestDetail.memoDetail.company_name === \"\") {\r\n ess_.push(\"Company\");\r\n }\r\n if (_requestDetail.memoDetail.subject === \"\") {\r\n ess_.push(\"Subject\");\r\n }\r\n if (_requestDetail.listApprovalDetails.length <= 0) {\r\n ess_.push(\"Line Approve\");\r\n }\r\n if (ess_.length > 0) {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Please fill \" + ess_.join(\" , \"),\r\n life: 7000,\r\n });\r\n setOnLoading(false);\r\n } else if (error_result.length === 0 && error_table.length === 0) {\r\n const dataJson = { MemoPage: _requestDetail, Type: type };\r\n let _respone = await ActionMemoPage(dataJson);\r\n if (_respone && check === \"add\") {\r\n history.push(\"/Default\", {\r\n responeData: _respone,\r\n msg: `${type} success`,\r\n });\r\n } else if (_respone && check !== \"add\" && type !== \"draft\") {\r\n history.push(\"/Default\", {\r\n responeData: _respone,\r\n msg: `${type} success`,\r\n });\r\n } else if (_respone && check !== \"add\" && type === \"draft\") {\r\n setIsActionPdf(true);\r\n } else {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Server Error Please try again\",\r\n life: 7000,\r\n });\r\n }\r\n } else if (error_result.length >= 1 || error_table.length >= 1) {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: `Please fill in all required fields. ${error_result.map(\r\n (_errpr) => _errpr.label\r\n )}`,\r\n life: 7000,\r\n });\r\n setOnLoading(false);\r\n }\r\n }\r\n setErrorTable([...error_table]);\r\n setErrorResult([...error_result]);\r\n console.log(_requestDetail, \"_requestDetail\");\r\n };\r\n\r\n return (\r\n {\r\n console.log(requestDetail);\r\n }}\r\n >\r\n \r\n {onLoading && (\r\n console.log(onLoading, onLoadLineApprove)}\r\n >\r\n \"loading...\"\r\n \r\n )}\r\n
\r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n {check == \"edit\" && (\r\n null}\r\n onUpdate={onUpdateMemo}\r\n pageName={\"Request\"}\r\n />\r\n )}\r\n {check == \"add\" && fechMemoButtonDefault()}\r\n {check == \"edit\" && (\r\n <>\r\n {/* {isActionPdf === false && isShowPdfButton && (\r\n \r\n )}\r\n {isActionPdf === true && isShowPdfButton && (\r\n \r\n )} */}\r\n \r\n )}\r\n
\r\n
\r\n\r\n {sidebarState ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n )}\r\n\r\n
\r\n
\r\n {sidebarState ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n )}\r\n {check === \"add\" && getInformation() !== undefined && (\r\n
\r\n {selectedView === \"1\" && (\r\n \r\n )}\r\n {selectedView === \"2\" && (\r\n \r\n )}\r\n {selectedView === \"3\" && (\r\n \r\n )}\r\n {selectedView === \"4\" && (\r\n \r\n )}\r\n
\r\n )}\r\n {check === \"edit\" && getInformation() !== undefined && (\r\n
\r\n {selectedView === \"1\" && (\r\n \r\n )}\r\n {selectedView === \"2\" && (\r\n \r\n )}\r\n {selectedView === \"3\" && (\r\n \r\n )}\r\n {selectedView === \"4\" && (\r\n \r\n )}\r\n {selectedView === \"5\" && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n","import { Button, Popover } from \"antd\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useRef, useState, useEffect } from \"react\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { IListFormNameModel } from \"../../IRequestModel/IListFormNameModel\";\r\nimport {\r\n ActionMemoPage,\r\n GetButtonMemoByMemoId,\r\n GetMemoDetailById,\r\n} from \"../../Services/MemoService\";\r\nimport { MenuOutlined } from \"@ant-design/icons\";\r\nimport RequestSideBarElement from \"../Request/RequestSideBarElement\";\r\nimport { RequestorComponent } from \"../../components/RequestComponents/RequestorComponent/RequestorComponent\";\r\n\r\nimport LineApprovalsComponent from \"../../components/RequestComponents/LineApprovalsComponent/LineApprovalsComponent\";\r\nimport AttachmentComponent from \"../../components/RequestComponents/AttachmentComponent/AttachmentComponent\";\r\nimport { HistoryComponent } from \"../../components/RequestComponents/HistoryComponent/HistoryComponent\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport LogoLoading from \"../../assets/LoadingWOLFmini.gif\";\r\nimport { IMemoPageModel } from \"../../IRequestModel/IMemoPageModel\";\r\nimport { IMemoButtonModel } from \"../../IRequestModel/IMemoButtonModel\";\r\nimport { MemoButtonComponent } from \"../../components/MemoButton/MemoButtonComponent\";\r\nimport { OtherButtonMemoComponent } from \"../../components/MemoButton/MemoButtonetcComponent\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { InformationComponent } from \"../../components/RequestComponents/InformationComponent/InformationComponent\";\r\nimport { GetTemplateById } from \"../../Services/TemplateService\";\r\nimport { RequestScreen } from \"../Request/RequestScreen\";\r\ninterface Props {\r\n // copyFunction: (respone: any) => void;\r\n copyMemo?: any;\r\n}\r\n\r\nexport const PreviewTemplateScreen = (props: Props) => {\r\n return ;\r\n // const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n // const [templateId, setTtemplateId] = useState();\r\n // const [memoId, setMemoId] = useState();\r\n // const [sidebarState, setSidebarState] = useState(true);\r\n // const [selectedView, setSelectedView] = useState(\"2\");\r\n // const [menuButton, setMenuButton] = useState([]);\r\n // const [dataTreeSelectProps, setDataTreeSelectProps] = useState({});\r\n // const [curPage, setCurPage] = useState(\"2\");\r\n // const [onLoading, setOnLoading] = useState(false);\r\n // const [isLoading, setIsLoading] = useState(false);\r\n // const location = useLocation();\r\n // const query = new URLSearchParams(useLocation().search);\r\n // const [templateTree, setTemplateTree] = useState({});\r\n // const [check, setCheck] = useState(\"\");\r\n // const [requestDetail, setRequestDetail] = useState();\r\n // const [imgLoading, setImgLoading] = useState(null);\r\n // const [errorResult, setErrorResult] = useState([]);\r\n // const [visibleComfirm, setVisibleComfirm] = useState(false);\r\n // const [errorTable, setErrorTable] = useState([]);\r\n // const toast = useRef(null);\r\n // const [showControl, setShowControl] = useState([]);\r\n // const [textFromValue, setTextFromValue] = useState(\"\");\r\n // var respone = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n // const [isTextFromValue, setIsTextFromValue] = useState();\r\n // var userData = respone.employeeData;\r\n // let history = useHistory();\r\n // const [isInitialLogic, setIsInitialLogic] = useState(false);\r\n // let memoPageModel: IMemoPageModel = {\r\n // listApprovalDetails: [],\r\n // listFormName: [],\r\n // listFileAttachDetails: [],\r\n // listHistoryDetails: [],\r\n // memoDetail: {\r\n // GroupTemplateName: \"\",\r\n // actor: userData,\r\n // requestor: userData,\r\n // amount: \"\",\r\n // memoid: 0,\r\n\r\n // approver_can_edit: false,\r\n // auto_approve: false,\r\n // auto_approve_when: \"\",\r\n // comment: \"\",\r\n // company_id: 0,\r\n // company_name: \"\",\r\n // costcenter: \"\",\r\n // created_by: \"\",\r\n // created_date: \"\",\r\n // creator: userData,\r\n // current_approval_level: 0,\r\n // department_id: 0,\r\n // document_library: \"\",\r\n // document_no: \"\",\r\n // document_set: \"\",\r\n // is_editable: false,\r\n // is_public: false,\r\n // is_text_form: false,\r\n // last_action_by: \"\",\r\n // last_status_id: 0,\r\n // last_status_name: \"\",\r\n // location: \"\",\r\n // modified_by: \"\",\r\n // modified_date: \"\",\r\n // pass: \"\",\r\n // project: \"\",\r\n // project_id: 0,\r\n // report_lang: \"\",\r\n // request_date: \"\",\r\n // status_id: 0,\r\n // status: \"\",\r\n // subject: \"\",\r\n // template_code: \"\",\r\n // template_desc: \"\",\r\n // template_detail: \"\",\r\n // template_id: 0,\r\n // template_name: \"\",\r\n // to: \"\",\r\n // // toId:0,\r\n // waiting_for: \"\",\r\n // waiting_for_id: 0,\r\n // copyInformation: \"N\",\r\n // },\r\n // };\r\n // useEffect(() => {\r\n // async function fetchLeaveTemplate() {\r\n // console.log(checkTypeLeave, \"checkTypeLeave\");\r\n\r\n // if (checkTypeLeave) {\r\n // var _responeData = await GetLeaveTemplateByEmpId(requestorId);\r\n // console.log(_responeData, \"_responeData\");\r\n // setLeaveTypeTable(_responeData);\r\n // } else {\r\n // setLeaveTypeTable([]);\r\n // }\r\n // }\r\n // fetchLeaveTemplate();\r\n // }, [requestorId, checkTypeLeave]);\r\n // function toggleSideBar() {\r\n // if (sidebarState) {\r\n // setSidebarState(false);\r\n // } else {\r\n // setSidebarState(true);\r\n // }\r\n // }\r\n // useEffect(() => {\r\n // setImgLoading(LogoLoading);\r\n // }, []);\r\n // useEffect(() => {\r\n // if (query.get(\"MemoID\") !== undefined && query.get(\"MemoID\") !== null) {\r\n // let memoid = Number(query.get(\"MemoID\"));\r\n // setMemoId(memoid);\r\n // }\r\n // if (query.get(\"template\") !== undefined && query.get(\"template\") !== null) {\r\n // let templateid = Number(query.get(\"template\"));\r\n // setTtemplateId(templateid);\r\n // }\r\n // }, [query]);\r\n // useEffect(() => {\r\n // if (memoId !== undefined) {\r\n // fetchTemplate().then((_listFormName) => {\r\n // let _memoPageModel = memoPageModel;\r\n // _memoPageModel.listFormName = [_listFormName];\r\n // if (memoId !== 0) {\r\n // fechMemoDetail();\r\n // fechMemoButton();\r\n // setSelectedView(\"2\");\r\n // setCurPage(\"2\");\r\n // setErrorResult([]);\r\n // _memoPageModel.memoDetail.status = \"Draft\";\r\n // setRequestDetail(_memoPageModel);\r\n // }\r\n // if (memoId === 0) {\r\n // setSelectedView(\"2\");\r\n // setCurPage(\"2\");\r\n // setCheck(\"add\");\r\n // setErrorResult([]);\r\n // _memoPageModel.memoDetail.status = \"Draft\";\r\n // setRequestDetail(_memoPageModel);\r\n // setTemplateTree(_memoPageModel.listFormName[0]);\r\n // setIsTextFromValue(_memoPageModel.listFormName[0].IsTextForm);\r\n\r\n // setTextFromValue(_memoPageModel.listFormName[0].TextForm);\r\n // }\r\n // });\r\n // }\r\n // }, [memoId, templateId]);\r\n\r\n // const fetchTemplate = async () => {\r\n // const dataJson = {\r\n // TemplateId: templateId,\r\n // };\r\n // let _templateIdListFormName: any = await GetTemplateById(dataJson);\r\n // // console.log(\"_templateIdListFormName\", _templateIdListFormName);\r\n\r\n // return _templateIdListFormName;\r\n // };\r\n // const fechMemoDetail = async () => {\r\n // setOnLoading(true);\r\n // const requestBody = {\r\n // Memoid: memoId,\r\n // SecretId: \"\",\r\n // EmployeeId: window.localStorage.getItem(\"employeeId\"),\r\n // };\r\n // let _respone = await GetMemoDetailById(requestBody);\r\n // //\"Completed\"\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: _respone.memoDetail,\r\n // listHistoryDetails: _respone.listHistoryDetails,\r\n // listFileAttachDetails: _respone.listFileAttachDetails,\r\n // listApprovalDetails: _respone.listApprovalDetails,\r\n // }));\r\n // setCheck(\"edit\");\r\n // setOnLoading(false);\r\n // };\r\n\r\n // function setSummary(respone: any) {\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // amount: respone,\r\n // },\r\n // }));\r\n // }\r\n // function setRequestor(respone: any) {\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // requestor: {\r\n // ...respone,\r\n // },\r\n // },\r\n // }));\r\n // }\r\n // function setCreator(respone: any) {\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // creator: {\r\n // ...respone,\r\n // },\r\n // },\r\n // }));\r\n // }\r\n\r\n // function setInformation(respone: any) {\r\n // setIsLoading(false);\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // template_desc: respone,\r\n // },\r\n // }));\r\n // }\r\n // function setInformationTemplate_Desc(respone: any) {\r\n // setIsLoading(false);\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // ...respone,\r\n // },\r\n // }));\r\n // }\r\n\r\n // function setListFormName(respone: IListFormNameModel) {\r\n // let _listFormName: IListFormNameModel = respone;\r\n // setIsLoading(false);\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // listFormName: [_listFormName],\r\n // }));\r\n // }\r\n\r\n // function setLineApprove(respone: any) {\r\n // respone.sort((a: any, b: any) => (a.sequence > b.sequence ? 1 : -1));\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // listApprovalDetails: [...respone],\r\n // }));\r\n // }\r\n // function setFileAttach(respone: any) {\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // listFileAttachDetails: [...respone],\r\n // }));\r\n // }\r\n\r\n // function getRequestor() {\r\n // return requestDetail?.memoDetail;\r\n // }\r\n // function getInformation() {\r\n // return requestDetail?.memoDetail;\r\n // }\r\n // function getLineAprove() {\r\n // return requestDetail?.listApprovalDetails;\r\n // }\r\n // function getFileAttach() {\r\n // return requestDetail;\r\n // }\r\n // function getHistory() {\r\n // return requestDetail?.listHistoryDetails;\r\n // }\r\n // function getTemplateTree() {\r\n // return templateTree;\r\n // }\r\n // function setListActionButtonDetails(respone: any) {\r\n // // console.log(\"eeeeeeeeeeeee\", respone);\r\n // // fetch(\"/api/Company/companyWithName\")\r\n // // .then((response) => response.json())\r\n // // .then((data) => {\r\n // // console.log(\"compa\", data);\r\n // // setRequestDetail((prevState: any) => ({\r\n // // ...prevState,\r\n // // listActionButtonDetails: respone,\r\n // // listCompany: data,\r\n // // }));\r\n // // });\r\n // }\r\n // const fechMemoButton = async () => {\r\n // setOnLoading(true);\r\n // let _memoId: any = memoId;\r\n // let memoButton: IMemoButtonModel = {\r\n // actor: {\r\n // EmployeeId: empData.employeeData.EmployeeId,\r\n // },\r\n // memoid: _memoId,\r\n // };\r\n // let _dataDynamic = await GetButtonMemoByMemoId(memoButton);\r\n\r\n // const menuButtonSort = _dataDynamic.sort(\r\n // (x: any, y: any) => x.sequence - y.sequence\r\n // );\r\n // setListActionButtonDetails(_dataDynamic);\r\n // setMenuButton(menuButtonSort);\r\n // };\r\n // const actionNavContent = () => {\r\n // return (\r\n //
\r\n // {check == \"edit\" && (\r\n // null}\r\n // onUpdate={onUpdateMemo}\r\n // pageName={\"Request\"}\r\n // />\r\n // )}\r\n // {check == \"add\" && fechMemoButtonDefault()}\r\n //
\r\n // );\r\n // };\r\n // function setListRefDocsDetail(respone: any) {\r\n // // console.log(\"eeeeeeeeeeeee\", respone);\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // listRefDocDetails: respone,\r\n // }));\r\n // }\r\n // const fechMemoButtonDefault = () => {};\r\n // const onSelectView = (text: string) => {\r\n // setCurPage(text);\r\n // setSelectedView(text);\r\n // };\r\n // const onUpdateMemo = async (\r\n // type: string,\r\n // comment: any,\r\n // waiting_for?: string,\r\n // waiting_for_id?: number\r\n // ) => {\r\n // setOnLoading(true);\r\n // let _requestDetail: any = requestDetail;\r\n\r\n // let error_result: any[] = [];\r\n // let error_table: any[] = [];\r\n // let ess_: any = [];\r\n // const _template_desc: any = JSON.parse(\r\n // _requestDetail.memoDetail.template_desc\r\n // );\r\n\r\n // _requestDetail.memoDetail.actor = userData;\r\n // if (_requestDetail.memoDetail.memoid === undefined) {\r\n // _requestDetail.memoDetail.memoid = 0;\r\n // }\r\n // if (comment !== undefined) {\r\n // if (comment.length > 0) {\r\n // _requestDetail.memoDetail.comment = comment;\r\n // if (waiting_for != undefined || waiting_for_id != undefined) {\r\n // _requestDetail.memoDetail.waiting_for = waiting_for;\r\n // _requestDetail.memoDetail.waiting_for_id = waiting_for_id;\r\n // }\r\n // }\r\n // }\r\n // if (type === \"draft\" || type === \"cancel\") {\r\n // if (_requestDetail.memoDetail.company_name === \"\") {\r\n // ess_.push(\"Company\");\r\n // }\r\n // if (_requestDetail.memoDetail.subject === \"\") {\r\n // ess_.push(\"Subject\");\r\n // }\r\n // if (ess_.length >= 1) {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill \" + ess_.join(\" , \"),\r\n // life: 7000,\r\n // });\r\n // setOnLoading(false);\r\n // } else {\r\n // const dataJson = { MemoPage: _requestDetail, Type: type };\r\n // let _dataDynamic = await ActionMemoPage(dataJson);\r\n\r\n // if (_dataDynamic && check === \"add\") {\r\n // history.push(\"/Default\", {\r\n // responeData: _dataDynamic,\r\n // msg: `${type} success`,\r\n // });\r\n // } else if (_dataDynamic && check !== \"add\" && type !== \"draft\") {\r\n // history.push(\"/Default\", {\r\n // responeData: _dataDynamic,\r\n // msg: `${type} success`,\r\n // });\r\n // } else if (_dataDynamic && check !== \"add\" && type === \"draft\") {\r\n // toast.current.show({\r\n // severity: \"success\",\r\n // summary: \"Success Message\",\r\n // detail: `${type} success`,\r\n // life: 3000,\r\n // });\r\n // setOnLoading(false);\r\n // } else {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Server Error Please try again\",\r\n // life: 7000,\r\n // });\r\n // setOnLoading(false);\r\n // }\r\n // }\r\n // } else {\r\n // for (let i = 0; i < _template_desc.items.length; i++) {\r\n // const _layout = _template_desc.items[i].layout;\r\n // const _layoutLength = _layout.length;\r\n // for (let j = 0; j < _layout.length; j++) {\r\n // const _template = _layout[j];\r\n // if (_template.template.type === \"l\") {\r\n // }\r\n // if (_template.template.type === \"c\") {\r\n // }\r\n\r\n // if (_template.template.type === \"cb\") {\r\n // if (_template.template.attribute.require === \"Y\") {\r\n // if (\r\n // _template.data.value === null ||\r\n // _template.data.value.length === 0\r\n // ) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n // }\r\n // }\r\n\r\n // if (_template.template.type === \"bt\") {\r\n // }\r\n // if (_template.template.type === \"an\") {\r\n // }\r\n // if (_template.template.type === \"rvs\") {\r\n // }\r\n // if (_template.template.type === \"tb\") {\r\n // const column = _template.template.attribute.column;\r\n // // let error_table: any = [];\r\n\r\n // if (_template.data.row !== null) {\r\n // for (let i = 0; i < column.length; i++) {\r\n // const _column = column[i];\r\n // if (_column.control.template.attribute.require === \"Y\") {\r\n // for (let j = 0; j < _template.data.row.length; j++) {\r\n // const _row = _template.data.row[j][i];\r\n // if (_row.value !== undefined) {\r\n // if (_row.value.length === 0) {\r\n // error_table.push({ table_row: j, table_col: i });\r\n // }\r\n // }\r\n // if (_row.item !== undefined) {\r\n // if (_row.item.length === 0) {\r\n // error_table.push({ table_row: j, table_col: i });\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // if (_template.template.type === \"ed\") {\r\n // }\r\n // if (_template.template.type === \"at\") {\r\n // }\r\n // if (\r\n // _template.template.type === \"t\" ||\r\n // _template.template.type === \"ta\" ||\r\n // _template.template.type === \"d\" ||\r\n // _template.template.type === \"r\"\r\n // ) {\r\n // // if (_template.data.value === null) {\r\n // // }\r\n // if (_template.template.attribute.require === \"Y\") {\r\n // if (_template.data.value === null) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n // if (_template.data.value !== null) {\r\n // if (_template.data.value.length === 0) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n // }\r\n // }\r\n // }\r\n // if (_template.template.type === \"dd\") {\r\n // if (_template.template.attribute.require === \"Y\") {\r\n // if (_template.data.value === null) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n\r\n // if (_template.data.value !== null) {\r\n // // console.log(\"_template: \", _template);\r\n\r\n // if (\r\n // _template.data.value.length === 0 ||\r\n // _template.data.value === \"--select--\"\r\n // ) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // if (_requestDetail.memoDetail.company_name === \"\") {\r\n // ess_.push(\"Company\");\r\n // }\r\n // if (_requestDetail.memoDetail.subject === \"\") {\r\n // ess_.push(\"Subject\");\r\n // }\r\n // if (_requestDetail.listApprovalDetails.length <= 0) {\r\n // ess_.push(\"Line Approve\");\r\n // }\r\n // if (ess_.length > 0) {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill \" + ess_.join(\" , \"),\r\n // life: 7000,\r\n // });\r\n // setOnLoading(false);\r\n // } else if (error_result.length === 0 && error_table.length === 0) {\r\n // const dataJson = { MemoPage: _requestDetail, Type: type };\r\n // let _respone = await ActionMemoPage(dataJson);\r\n // console.log(\"type\", type);\r\n\r\n // if (_respone && check === \"add\") {\r\n // history.push(\"/Default\", {\r\n // responeData: _respone,\r\n // msg: `${type} success`,\r\n // });\r\n // } else if (_respone && check !== \"add\" && type !== \"draft\") {\r\n // history.push(\"/Default\", {\r\n // responeData: _respone,\r\n // msg: `${type} success`,\r\n // });\r\n // } else if (_respone && check !== \"add\" && type === \"draft\") {\r\n // toast.current.show({\r\n // severity: \"success\",\r\n // summary: \"Success Message\",\r\n // detail: `${type} success`,\r\n // life: 3000,\r\n // });\r\n // setOnLoading(false);\r\n // } else {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Server Error Please try again\",\r\n // life: 7000,\r\n // });\r\n // }\r\n // } else if (error_result.length >= 1 || error_table.length >= 1) {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 7000,\r\n // });\r\n // setOnLoading(false);\r\n // }\r\n // }\r\n\r\n // setErrorTable([...error_table]);\r\n // setErrorResult([...error_result]);\r\n // };\r\n\r\n // return (\r\n // {\r\n // console.log(requestDetail);\r\n // }}\r\n // >\r\n // \r\n\r\n // {onLoading && (\r\n //
\r\n // \"loading...\"\r\n //
\r\n // )}\r\n //
\r\n //
\r\n //
\r\n // }\r\n // size=\"large\"\r\n // onClick={toggleSideBar}\r\n // style={{ background: \"transparent \" }}\r\n // />\r\n // \r\n //
\r\n //
\r\n\r\n // {sidebarState ? (\r\n //
\r\n // \r\n //
\r\n // ) : (\r\n //
\r\n // )}\r\n\r\n //
\r\n //
\r\n // {sidebarState ? (\r\n //
\r\n //
\r\n // \r\n //
\r\n //
\r\n // ) : (\r\n //
\r\n // )}\r\n // {check == \"add\" && (\r\n //
\r\n // {selectedView === \"1\" && (\r\n // \r\n // )}\r\n // {selectedView === \"2\" && (\r\n // \r\n // )}\r\n // {selectedView === \"3\" && (\r\n // \r\n // )}\r\n // {selectedView === \"4\" && (\r\n // \r\n // )}\r\n // {selectedView === \"5\" && (\r\n // \r\n // )}\r\n //
\r\n // )}\r\n // {check == \"edit\" && (\r\n //
\r\n // {selectedView === \"1\" && (\r\n // \r\n // )}\r\n // {selectedView === \"2\" && (\r\n // \r\n // )}\r\n // {selectedView === \"3\" && (\r\n // \r\n // )}\r\n // {selectedView === \"4\" && (\r\n // \r\n // )}\r\n // {selectedView === \"5\" && (\r\n // \r\n // )}\r\n //
\r\n // )}\r\n //
\r\n //
\r\n //
\r\n // \r\n // \r\n // \r\n //
\r\n // \r\n //
\r\n // \r\n // );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useGoogleAuth, useGoogleUser } from \"react-gapi-auth2\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nexport const LoginGoogle = () => {\r\n // const [user, setUser] = useState(null);\r\n // const [sessionState, setSessionState] = useSessionContext();\r\n // const { googleAuth } = useGoogleAuth();\r\n // const cookies = new Cookies();\r\n // const { currentUser } = useGoogleUser();\r\n // const history = useHistory();\r\n // useEffect(() => {\r\n // console.log(\"user\", user);\r\n // if (!user && googleAuth) {\r\n // // googleAuth?.signIn();\r\n // checkAuth();\r\n // }\r\n // }, [user, googleAuth]);\r\n // const checkAuth = async () => {\r\n // if (googleAuth?.isSignedIn.get()) {\r\n // setUser(googleAuth?.currentUser.get().getBasicProfile().getName());\r\n // submitGoogle();\r\n // } else {\r\n // console.log(\"dd\", googleAuth?.isSignedIn.get());\r\n // googleAuth?.signIn();\r\n // }\r\n // };\r\n // const submitGoogle = async () => {\r\n // if (googleAuth?.isSignedIn.get()) {\r\n // const _accounts: any = googleAuth?.currentUser\r\n // .get()\r\n // .getBasicProfile()\r\n // .getEmail();\r\n // await fetch(\"api/Login/GoogleAccount\", {\r\n // method: \"POST\",\r\n // headers: {\r\n // \"Content-Type\": \"application/json\",\r\n // },\r\n // body: JSON.stringify({\r\n // username: _accounts,\r\n // }),\r\n // })\r\n // .then((response) => response.json())\r\n // .then((data) => {\r\n // const _loginWolfAccount: any = data;\r\n // console.log(\"datadatadata\", data);\r\n\r\n // if (data) {\r\n // const fav_storage = JSON.parse(\r\n // localStorage.getItem(\"favorite\")\r\n // );\r\n // localStorage.removeItem(\"userData\");\r\n // localStorage.removeItem(\"tinyUrl\");\r\n // cookies.remove(\"GuidVerify\");\r\n // cookies.set(\r\n // \"GuidVerify\",\r\n // googleAuth?.currentUser.get().getAuthResponse().access_token,\r\n // {\r\n // path: \"/\",\r\n // expires: new Date(\r\n // Date.now() +\r\n // googleAuth?.currentUser.get().getAuthResponse().expires_in\r\n // ),\r\n // }\r\n // );\r\n // if (fav_storage !== null) {\r\n // if (fav_storage.length > 0) {\r\n // localStorage.setItem(\r\n // \"favorite\",\r\n // JSON.stringify(fav_storage)\r\n // );\r\n // }\r\n // } else {\r\n // localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n // }\r\n\r\n // localStorage.setItem(\r\n // \"userData\",\r\n // JSON.stringify(_loginWolfAccount)\r\n // );\r\n // localStorage.setItem(\r\n // \"employeeId\",\r\n // _loginWolfAccount.employeeData.EmployeeId\r\n // );\r\n // localStorage.setItem(\r\n // \"employeeCode\",\r\n // _loginWolfAccount.employeeData.EmployeeCode\r\n // );\r\n // localStorage.setItem(\r\n // \"nameEn\",\r\n // _loginWolfAccount.employeeData.NameEn\r\n // );\r\n // localStorage.setItem(\r\n // \"nameTh\",\r\n // _loginWolfAccount.employeeData.NameTh\r\n // );\r\n // localStorage.setItem(\r\n // \"email\",\r\n // _loginWolfAccount.employeeData.Email\r\n // );\r\n // localStorage.setItem(\r\n // \"positionNameTh\",\r\n // _loginWolfAccount.employeeData.PositionNameTh\r\n // );\r\n // localStorage.setItem(\r\n // \"positionNameEn\",\r\n // _loginWolfAccount.employeeData.PositionNameEn\r\n // );\r\n // localStorage.setItem(\r\n // \"departmentId\",\r\n // _loginWolfAccount.employeeData.DepartmentId\r\n // );\r\n // localStorage.setItem(\r\n // \"departmentNameTh\",\r\n // _loginWolfAccount.employeeData.DepartmentNameEn\r\n // );\r\n // localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n // setSessionState({ ...sessionState, isAuthenticated: true });\r\n // history.push(\"/Default\");\r\n // } else {\r\n // console.log(\"ddddeee\");\r\n // }\r\n // });\r\n // }\r\n // };\r\n // // if (googleAuth?.isSignedIn.get()) {\r\n // // return (\r\n // // <>\r\n // // {\r\n // // console.log(\r\n // // \"googleAuth?.isSignedIn\",\r\n // // googleAuth?.currentUser.get().getBasicProfile().getName()\r\n // // );\r\n // // }}\r\n // // >\r\n // // Welcome user{\" \"}\r\n // // {googleAuth?.currentUser.get().getBasicProfile().getName()}\r\n // //

\r\n // // {\r\n // // console.log(\"googleAuth?.isSignedIn\", googleAuth?.isSignedIn.get());\r\n // // googleAuth.signOut();\r\n // // setUser(null);\r\n // // location.reload();\r\n // // }}\r\n // // >\r\n // // Sign Out\r\n // // \r\n // // \r\n // // );\r\n // // }\r\n return (\r\n
\r\n {/* {\r\n console.log(\"googleAuth?.isSignedIn\", googleAuth?.isSignedIn.get());\r\n }}\r\n >\r\n Click here to sign in:\r\n

\r\n {\r\n console.log(\"googleAuth?.isSignedIn\", googleAuth?.isSignedIn);\r\n\r\n googleAuth?.signIn();\r\n }}\r\n >\r\n Sign In\r\n */}\r\n
\r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiChevronLeft } from \"react-icons/fi\";\r\nimport { useHistory } from \"react-router\";\r\nimport { RegisterWolfAccount } from \"../../Services/AuthorizedService\";\r\ntype Props = { PathLogo: any; responeConfig: any };\r\n\r\nconst RegisterWolfScreen = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n setValue,\r\n getValues,\r\n handleSubmit,\r\n } = useForm({\r\n mode: \"onBlur\",\r\n defaultValues: {\r\n email: \"\",\r\n new_password: \"\",\r\n confirm_password: \"\",\r\n },\r\n });\r\n const [isPasswordCompared, setIsPasswordCompared] = useState(true);\r\n const [checkLength, setCheckLength] = useState(true);\r\n const [checkEmail, setCheckEmail] = useState(true);\r\n const [loading, setLoading] = useState(false);\r\n const [displayPopup, setDisplayPopup] = useState(false);\r\n const [dataRemark, setDataRemark] = useState(\"\");\r\n const history = useHistory();\r\n\r\n async function onSubmit(data: any) {\r\n setCheckLength(true);\r\n setIsPasswordCompared(true);\r\n setCheckEmail(true);\r\n\r\n var validated = validateEmail(data.email);\r\n if (!validated) {\r\n setCheckEmail(false);\r\n }\r\n if (data.confirm_password.length < 8) {\r\n setCheckLength(false);\r\n return;\r\n } else if (data.confirm_password !== data.new_password) {\r\n setIsPasswordCompared(false);\r\n return;\r\n }\r\n setLoading(true);\r\n const _baseUrl = window.location.hostname;\r\n\r\n var dataRequest = {\r\n Username: data.email,\r\n Password: data.confirm_password,\r\n Note: data.new_password,\r\n // Remark: \"https://qar2.wolfapprove.com\",\r\n Remark:\r\n process.env.NODE_ENV === \"development\"\r\n ? \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n };\r\n console.log({\r\n Regis: {\r\n Username: data.email,\r\n Remark:\r\n process.env.NODE_ENV === \"development\"\r\n ? \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n },\r\n });\r\n\r\n const respone = await RegisterWolfAccount(dataRequest);\r\n if (respone.IsActive) {\r\n var replace = respone.Remark.replaceAll(\"([-EMAIL-])\", data.email);\r\n replace = replace.replaceAll(\"
\", \"\\n\");\r\n setDisplayPopup(true);\r\n setDataRemark(replace);\r\n } else {\r\n if (respone.Remark.includes(\"Your username is duplicate\")) {\r\n setDisplayPopup(true);\r\n setDataRemark(respone.Remark);\r\n }\r\n }\r\n setLoading(false);\r\n }\r\n const validateEmail = (email: any) => {\r\n return String(email)\r\n .toLowerCase()\r\n .match(\r\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n );\r\n };\r\n function popupRespone() {\r\n return (\r\n
\r\n \"img\"\r\n
\r\n \r\n

\r\n {dataRemark}\r\n

\r\n history.push(\"/login\")}\r\n >\r\n Return to Login Page / กลับไปที่หน้าเข้าสู่ระบบ\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n function form() {\r\n return (\r\n <>\r\n
\r\n
\r\n history.push(\"/login\")}\r\n className={\"back-button\"}\r\n />\r\n\r\n \"img\"\r\n\r\n
\r\n

Register / สมัครใช้งาน

\r\n
\r\n
\r\n

Email / อีเมล

\r\n (\r\n \r\n )}\r\n />\r\n {errors.email &&

กรุณากรอกอีเมลใหม่

}\r\n {!checkEmail && (\r\n

รูปแบบอีเมลไม่ถูกต้อง

\r\n )}\r\n
\r\n
\r\n

Password / รหัสผ่าน

\r\n (\r\n \r\n )}\r\n />\r\n {errors.new_password && (\r\n

กรุณากรอกรหัสผ่านใหม่

\r\n )}\r\n
\r\n
\r\n

Confirm Password / ยืนยันรหัสผ่าน

\r\n (\r\n \r\n )}\r\n />\r\n {errors.confirm_password && isPasswordCompared && (\r\n

กรุณากรอกยืนยันรหัสผ่าน

\r\n )}\r\n {!checkLength && isPasswordCompared && (\r\n

รหัสผ่านอย่างน้อย 8 ตัวอักษร

\r\n )}\r\n {!isPasswordCompared && (\r\n

กรุณากรอกรหัสผ่านให้ตรงกัน

\r\n )}\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n return (\r\n
\r\n {!loading ? (\r\n <>{!displayPopup ? form() : popupRespone()}\r\n ) : (\r\n \"loading...\"\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default RegisterWolfScreen;\r\n","import { Button } from \"primereact/button\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState, FC } from \"react\";\r\nimport \"./index.css\";\r\ntype Props = {\r\n canEditDoc: boolean;\r\n refAttribute: any;\r\n refTempSelected: any;\r\n refLoading: boolean;\r\n setRefTempSelected: any;\r\n status: any;\r\n};\r\n\r\nconst TableReferenceComponent = (props: Props) => {\r\n const deleteBodyTemplate = (selected: any) => {\r\n return (\r\n <>\r\n {\r\n props.setRefTempSelected(\r\n props.refTempSelected.filter((_val: any, _idx: number) => {\r\n return selected.MemoId !== _val.MemoId;\r\n })\r\n );\r\n }}\r\n />\r\n \r\n );\r\n };\r\n\r\n function ConvertSelectedtoTable(refTempSelected: any) {\r\n console.log(\"refTempSelected\", refTempSelected, props.refAttribute);\r\n }\r\n useEffect(() => {\r\n ConvertSelectedtoTable(props.refTempSelected);\r\n }, [props.refTempSelected]);\r\n\r\n return (\r\n
\r\n \"row-pointer\"}\r\n onRowClick={(rowData: any) => {\r\n const urlElelement: any = window.location.href.split(\"/\");\r\n const url = urlElelement[2];\r\n window.open(\r\n `/Request?MemoID=${rowData.data.MemoId}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\r\n size=\"small\"\r\n rows={5}\r\n >\r\n options.rowIndex + 1}\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n {props.refAttribute?.optionLabel === \"เลขที่เอกสาร\" ? (\r\n \r\n \r\n

เลขที่เอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : props.refAttribute?.optionLabel === \"หมายเลขเอกสาร\" ? (\r\n \r\n \r\n

หมายเลขเอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : props.refAttribute?.optionLabel === \"รหัสเอกสาร\" ? (\r\n \r\n \r\n

รหัสเอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

\r\n {props.refAttribute.optionLabel}\r\n

\r\n {/*

รหัสเอกสาร

*/}\r\n \r\n \r\n }\r\n sortable\r\n body={(rowData: any) => rowData[props.refAttribute.optionLabel]}\r\n >\r\n )}\r\n\r\n \r\n \r\n

Form Template

\r\n

ชื่อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

หัวข้อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n {props.status !== \"Completed\" && (\r\n \r\n \r\n

Delete

\r\n

ลบ

\r\n \r\n \r\n }\r\n >\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default TableReferenceComponent;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState, FC, useRef } from \"react\";\r\nimport { InputTextComponents } from \"../../../InputTextComponents/InputTextComponents\";\r\nimport { ValidateRefTemplate } from \"../../../../Services/TemplateService\";\r\nimport useAlert from \"../../../../hooks/useAlert\";\r\nimport { MAdvanceFormByMemoIds } from \"../../../../Services/MemoService\";\r\n\r\ntype Props = {\r\n refAttribute: any;\r\n dialogVisibleInRefTemplate: any;\r\n setDialogVisibleInRefTemplate: any;\r\n refTempSelected: any;\r\n refObtions: any[];\r\n setRefTempSelected: any;\r\n setSearchRefDocData: any;\r\n searchRefDocData: any;\r\n previousRefTempSelected: any;\r\n memoDetail : any;\r\n};\r\n\r\nconst DialogRefTemplateComponent = (props: Props) => {\r\n const [filterRefTempValue, setFilterRefTempValue] = useState(\"\");\r\n const [refSelected, setRefSelected] = useState();\r\n\r\n const assignMAdvancveForm = (\r\n selectedList: any[],\r\n advanceFormList: Array<{ MemoId: number; MAdvancveForm: string }>\r\n ) => {\r\n return selectedList.map((x) => {\r\n let matchedItem = advanceFormList.find((y) => y.MemoId == x.MemoId);\r\n if (matchedItem != null) {\r\n x.MAdvancveForm = matchedItem.MAdvancveForm;\r\n } else {\r\n x.MAdvacveForm = \"[]\";\r\n }\r\n return x;\r\n });\r\n };\r\n useEffect(() => {\r\n try {\r\n if (refSelected) {\r\n if (\r\n JSON.stringify(refSelected) !== JSON.stringify(props.refTempSelected)\r\n ) {\r\n if (props.refAttribute.mode.toLowerCase() === \"single\") {\r\n onHide();\r\n }\r\n }\r\n }\r\n } catch (error) {}\r\n }, [refSelected]);\r\n useEffect(() => {\r\n try {\r\n const dataOption = props.refObtions;\r\n const data = dataOption.filter((data: any, index: number) => {\r\n if (\r\n data.DocumentNo.toLowerCase().includes(\r\n filterRefTempValue.toLowerCase()\r\n ) ||\r\n data.TemplateName.toLowerCase().includes(\r\n filterRefTempValue.toLowerCase()\r\n ) ||\r\n data.MemoSubject.toLowerCase().includes(\r\n filterRefTempValue.toLowerCase()\r\n ) ||\r\n data[props.refAttribute.optionLabel]\r\n ?.toLowerCase()\r\n .includes(filterRefTempValue.toLowerCase())\r\n ) {\r\n return true;\r\n }\r\n });\r\n props.setSearchRefDocData([...data]);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }, [filterRefTempValue]);\r\n\r\n const renderHeaderRefTemplate = () => {\r\n return (\r\n
\r\n setFilterRefTempValue(e)}\r\n placeholderProps={\"Search\"}\r\n setIconProps={}\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const onHide = () => {\r\n if (refSelected && refSelected.length > 0) {\r\n MAdvanceFormByMemoIds(refSelected.map((x) => x.MemoId)).then((refMemoId) => {\r\n const RefSelected = assignMAdvancveForm(refSelected, refMemoId);\r\n\r\n props.setRefTempSelected(RefSelected);\r\n });\r\n }\r\n props.setDialogVisibleInRefTemplate(false);\r\n setFilterRefTempValue(\"\");\r\n };\r\n\r\n async function onSelect(refTemp: any) {\r\n const validate = await ValidateSelected(refTemp);\r\n\r\n if (validate) {\r\n try {\r\n if (refTemp === null) {\r\n setRefSelected([...[]]);\r\n } else if (!refTemp) {\r\n setRefSelected([]);\r\n } else if (Array.isArray(refTemp)) {\r\n setRefSelected([...refTemp]);\r\n } else {\r\n if (Array.isArray(refTemp)) {\r\n setRefSelected([...refTemp]);\r\n } else {\r\n if (Array.isArray(refTemp)) {\r\n setRefSelected([...refTemp]);\r\n } else {\r\n let val: any[] = [];\r\n val.push(refTemp);\r\n setRefSelected([...val]);\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n }\r\n const { toggleAlert } = useAlert();\r\n\r\n async function ValidateSelected(refTempSelected: any) {\r\n let respone;\r\n let valid: boolean = true;\r\n let val: any[] = [];\r\n if (refTempSelected) {\r\n if (Array.isArray(refTempSelected)) {\r\n val = refTempSelected;\r\n } else {\r\n val.push(refTempSelected);\r\n }\r\n for (let i = 0; i < val.length; i++) {\r\n if (val[i].SelectField) {\r\n const dataJson = {\r\n TemplateId: props.memoDetail.template_id,\r\n Label: val[i].SelectField.label,\r\n DocNo: val[i].SelectField.value,\r\n };\r\n respone = await ValidateRefTemplate(dataJson);\r\n if (respone.ValidateRef === false) {\r\n toggleAlert({\r\n description: respone.Message,\r\n message: \"Reference Document Warning.\",\r\n type: \"warning\",\r\n duration: 6,\r\n });\r\n valid = false;\r\n }\r\n }\r\n }\r\n return valid;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n if (props.refTempSelected) {\r\n setRefSelected([...props.refTempSelected]);\r\n }\r\n }}\r\n onHide={onHide}\r\n dismissableMask\r\n className=\"information-dialog\"\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n closable\r\n >\r\n e)}\r\n selection={refSelected}\r\n onSelectionChange={(e: any) => {\r\n onSelect(e.value);\r\n }}\r\n selectionMode={\r\n props.refAttribute?.mode.toLowerCase() === \"single\"\r\n ? \"single\"\r\n : \"multiple\"\r\n }\r\n dataKey=\"DocumentNo\"\r\n responsiveLayout=\"scroll\"\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n sortField=\"DocumentNo\"\r\n sortOrder={1}\r\n >\r\n \r\n {props.refAttribute?.optionLabel !== \"Information DocumentNo\" ? (\r\n \r\n \r\n

\r\n {props.refAttribute?.optionLabel}\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

Document No.

\r\n

รหัสเอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n )}\r\n\r\n \r\n \r\n

Form Template

\r\n

ชื่อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

หัวข้อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DialogRefTemplateComponent;\r\n","import React, { useEffect, useState, FC } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\n\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { MdPreview } from \"react-icons/md\";\r\n\r\ntype Props = {\r\n setSelectedTemplateVersion: any;\r\n selectedTemplateVersion: any;\r\n templateListVersion: any;\r\n canEditDoc: any;\r\n status: any;\r\n};\r\nconst TemplateVersionComponent = (props: Props) => {\r\n async function previewTemplate() {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n window.open(\r\n `${baseUrl}/Request?MemoID=0&template=${props.selectedTemplateVersion.TemplateId}`,\r\n \"_blank\"\r\n );\r\n }\r\n useEffect(() => {\r\n console.log(props.status, \"statusstatus\");\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Select Form Template\r\n

\r\n
\r\n

\r\n เลือกฟอร์มที่ต้องการขออนุมัติ\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n props.setSelectedTemplateVersion(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{\r\n fontSize: \"13px\",\r\n justifyContent: \"start\",\r\n }}\r\n optionLabel=\"TemplateNameWithCode\"\r\n placeholder={\r\n props.selectedTemplateVersion\r\n ? props.selectedTemplateVersion.TemplateNameWithCode\r\n : \"Select Form Template\"\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n width: \"60%\",\r\n }}\r\n disabled={!props.canEditDoc}\r\n />\r\n {props.selectedTemplateVersion && (\r\n
\r\n \r\n }\r\n onClickProps={previewTemplate}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n }}\r\n // disabledProps={!props.canEditDoc}\r\n />\r\n
\r\n )}\r\n {props.status === \"Draft\" ||\r\n props.status === \"Recall\" ||\r\n props.status === \"Rework\" ? (\r\n {\r\n console.log(props.status, \"statusstatus\");\r\n props.setSelectedTemplateVersion(null);\r\n }}\r\n setStyleProps={{\r\n backgroundColor: \"red\",\r\n border: \"1px solid red\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n />\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default TemplateVersionComponent;\r\n","import { Space, Input, Modal, Table } from \"antd\";\r\nimport React, { useEffect, useState, FC } from \"react\";\r\nimport { CoreControllerComponentTest } from \"../CoreControllerComponent/CoreControllerComponentTest\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Badge } from \"primereact/badge\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { AutoComplete } from \"primereact/autocomplete\";\r\nimport { formatDateTime } from \"../../../Helper/FormatDateTime\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport LeaveTypeComponents from \"./LeaveTypeComponents/LeaveTypeComponents\";\r\nimport TinyMceComponent from \"../../TinyMceComponent/TinyMceComponent\";\r\nimport TableReferenceComponent from \"./RefTemplateComponent/TableRefTemplateComponent\";\r\nimport DialogRefTemplateComponent from \"./RefTemplateComponent/DialogRefTemplateComponent\";\r\nimport TemplateVersionComponent from \"./TemplateVersionComponent/TemplateVersionComponent\";\r\nimport { INumberFormula } from \"../../../IRequestModel/INumberFormula\";\r\nimport { IAutoNumberAttibute } from \"../../../IRequestModel/IAutoNumberFormat\";\r\nimport { IRvsAttribute } from \"../../../IRequestModel/IRvision\";\r\nimport { ILogic } from \"../../../IRequestModel/ILogicModel\";\r\nimport { tableSelectOption } from \"../../AntdControlComponent/TableComponent/TableComponent\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Button } from \"primereact/button\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { GetAllMasterData } from \"../../../Services/MasterDataService\";\r\nimport { ColumnsType } from \"antd/lib/table\";\r\n\r\ntype Props = {\r\n t: any;\r\n memoDetail: any;\r\n setMemoDetail: any;\r\n masterCompanies: any;\r\n masterEmployee: any;\r\n canEditDoc: boolean;\r\n control: any;\r\n register: any;\r\n handleSubmit: any;\r\n onSubmit: any;\r\n setListInToAndPass: any;\r\n listInToAndPass: any;\r\n masterProjects: any;\r\n project: any;\r\n setProject: any;\r\n finFo: any;\r\n isBranchFromADTitle: boolean;\r\n checkedLeaveTemplate: boolean | undefined;\r\n leaveTypeTable: any;\r\n errors: any;\r\n isTextFromValue: boolean;\r\n setTextFromValue: any;\r\n textFromValue: any;\r\n refTempSelected: any;\r\n setRefTempSelected: any;\r\n setSearchRefDocData: any;\r\n searchRefDocData: any;\r\n refAttribute: any;\r\n refOptions: any[];\r\n templateListVersion: any;\r\n selectedTemplateVersion: any;\r\n setSelectedTemplateVersion: any;\r\n isTemplateVersion: boolean;\r\n dialogVisibleInRefTemplate: boolean;\r\n setDialogVisibleInRefTemplate: (value: boolean) => void;\r\n allLogic: any;\r\n reset: any;\r\n onControlChange: any;\r\n jsonConditions: any;\r\n setJsonConditions: any;\r\n numFormulas: INumberFormula[];\r\n lineApproval: any;\r\n setLineApproval: (value: any[]) => void;\r\n autoNumFormat: IAutoNumberAttibute;\r\n setValue: any;\r\n checkActionPage: string;\r\n buttonType: string;\r\n isControlLoading: boolean;\r\n setIsControlLoading: (valaue: boolean) => void;\r\n getLineApproveForAmount: (\r\n amount: number,\r\n jsonCondition?: string,\r\n logicType?: string,\r\n layout?: any\r\n ) => Promise;\r\n previousView: any;\r\n tableSummaries: any;\r\n setTableSummaries: (value: any[]) => void;\r\n isFirstRun: any;\r\n listFormNames: any;\r\n setListRefDocDetails: (value: any[]) => void;\r\n isShowSum: boolean;\r\n canEditRefDoc: boolean;\r\n refLoading: boolean;\r\n previousRefTempSelected: any;\r\n setListFileAttachDetails: (value: any[]) => void;\r\n prepareInitialLogic: (logics: ILogic[], templateDesc: any) => void;\r\n onProcessLogicReference: (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => Promise<{\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null>;\r\n tableOptions: tableSelectOption[];\r\n setTableOptions: (value: tableSelectOption[]) => void;\r\n actionAlert?: any;\r\n setButtonType: (data: any) => void;\r\n onFocusProps?: () => void;\r\n onBlurProps?: () => void;\r\n setEmployeeList: any;\r\n employeeList: any;\r\n edFont?: any;\r\n defaultFont?: any;\r\n};\r\n\r\nconst InformationComponentFix: FC = ({\r\n t,\r\n onProcessLogicReference,\r\n isFirstRun,\r\n memoDetail,\r\n setMemoDetail,\r\n canEditDoc,\r\n masterCompanies,\r\n masterEmployee,\r\n control,\r\n register,\r\n previousRefTempSelected,\r\n isShowSum,\r\n refOptions,\r\n canEditRefDoc,\r\n handleSubmit,\r\n setListFileAttachDetails,\r\n onSubmit,\r\n setListInToAndPass,\r\n listInToAndPass,\r\n masterProjects,\r\n setProject,\r\n project,\r\n finFo,\r\n isBranchFromADTitle,\r\n checkedLeaveTemplate,\r\n leaveTypeTable,\r\n errors,\r\n isTextFromValue,\r\n setTextFromValue,\r\n textFromValue,\r\n refTempSelected,\r\n setRefTempSelected,\r\n setSearchRefDocData,\r\n searchRefDocData,\r\n refAttribute,\r\n templateListVersion,\r\n setSelectedTemplateVersion,\r\n selectedTemplateVersion,\r\n isTemplateVersion,\r\n dialogVisibleInRefTemplate,\r\n setDialogVisibleInRefTemplate,\r\n allLogic,\r\n reset,\r\n onControlChange,\r\n jsonConditions,\r\n setJsonConditions,\r\n numFormulas,\r\n setLineApproval,\r\n autoNumFormat,\r\n lineApproval,\r\n setValue,\r\n checkActionPage,\r\n buttonType,\r\n isControlLoading,\r\n setIsControlLoading,\r\n getLineApproveForAmount,\r\n previousView,\r\n tableSummaries,\r\n setTableSummaries,\r\n listFormNames,\r\n setListRefDocDetails,\r\n refLoading,\r\n prepareInitialLogic,\r\n tableOptions,\r\n setTableOptions,\r\n actionAlert,\r\n setButtonType,\r\n onBlurProps,\r\n onFocusProps,\r\n setEmployeeList,\r\n employeeList,\r\n edFont,\r\n defaultFont,\r\n}) => {\r\n const [dialogVisibleInCompany, setDialogVisibleInCompany] = useState(false);\r\n const [dialogVisibleInEmployee, setDialogVisibleInEmployee] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const [hideProject, setIsHideProject] = useState(false);\r\n const [hideBranch, setIsHideBranch] = useState(false);\r\n const [hideTo, setIsHideTo] = useState(false);\r\n const [hideCc, setIsHideCc] = useState(false);\r\n const [hideSubject, setIsHideSubject] = useState(false);\r\n const [typeEmployeeDialog, setTypeEmployeeDialog] = useState(\"\");\r\n const [filteredEmployee, setFilteredEmployee] = useState([]);\r\n const [filterCompany, setFilterCompany] = useState();\r\n const [nameFile, setNameFile] = useState();\r\n const [linkFile, setLinkFile] = useState();\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const [hasUserManual, setHasUserManual] = useState();\r\n const [searchData, setSearchData] = useState(masterEmployee);\r\n const [isMobile, setIsMobile] = useState(false);\r\n const [toValue, setToValue] = useState(listInToAndPass.to);\r\n const [CCValue, setCCValue] = useState(listInToAndPass.pass);\r\n\r\n useEffect(() => {\r\n if (listInToAndPass.to) {\r\n let filtered = listInToAndPass.to.filter(\r\n (e: any, idx: number) => idx <= 2\r\n );\r\n setToValue(filtered);\r\n }\r\n if (listInToAndPass.pass) {\r\n let filtered = listInToAndPass.pass.filter(\r\n (e: any, idx: number) => idx <= 2\r\n );\r\n setCCValue(filtered);\r\n }\r\n }, [listInToAndPass.to, listInToAndPass.pass]);\r\n\r\n useEffect(() => {\r\n fetchMasterData();\r\n checkHasFifoFunction();\r\n }, []);\r\n\r\n useEffect(() => {\r\n checkDevice();\r\n }, []);\r\n\r\n const checkDevice = () => {\r\n let regexp = /android|iphone|kindle|ipad/i;\r\n let isMobileDevice = regexp.test(navigator.userAgent);\r\n setIsMobile(isMobileDevice);\r\n if (isMobileDevice) {\r\n console.log(\"Mobile Device\");\r\n } else {\r\n console.log(\"Desktop\");\r\n }\r\n };\r\n\r\n function checkHasFifoFunction() {\r\n var _finFo = finFo;\r\n if (_finFo) {\r\n if (_finFo.Value4?.toLowerCase() === \"true\") {\r\n if (_finFo.Value1 && _finFo.Value2) {\r\n const _display = _finFo.Value1.split(\"|\");\r\n const _dataReplace = _finFo.Value2.split(\"|\");\r\n for (let index = 0; index < _display.length; index++) {\r\n const element = _display[index];\r\n const element2 = _dataReplace[index];\r\n var documentElement: any = document.getElementById(\r\n element\r\n ) as HTMLDivElement | null;\r\n if (documentElement) {\r\n documentElement.innerHTML = element2;\r\n }\r\n }\r\n }\r\n if (_finFo.Value3 === \"true\") {\r\n setIsHideProject(true);\r\n }\r\n if (_finFo.Value5 !== \"\" && _finFo.Value5 !== null) {\r\n const _showBranch = _finFo.Value5.split(\"|\");\r\n if (_showBranch.length >= 1) {\r\n if (_showBranch[0] == \"true\") {\r\n setIsHideBranch(true);\r\n }\r\n }\r\n if (_showBranch.length >= 2) {\r\n if (_showBranch[1] === \"true\") {\r\n setIsHideTo(true);\r\n }\r\n }\r\n if (_showBranch.length >= 3) {\r\n if (_showBranch[2] === \"true\") {\r\n setIsHideCc(true);\r\n }\r\n }\r\n if (_showBranch.length >= 4) {\r\n if (_showBranch[3] === \"true\") {\r\n setIsHideSubject(true);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n function showModalCompany() {\r\n if (filterCompany != \"\") {\r\n setFilterCompany(\"\");\r\n }\r\n setDialogVisibleInCompany(!dialogVisibleInCompany);\r\n }\r\n\r\n const onSelectedCompany = (data: any) => {\r\n let com_name = data.CompanyCode + \" : \";\r\n if (userData.Lang === \"EN\") {\r\n com_name = com_name + data.NameEn;\r\n } else {\r\n com_name = com_name + data.NameTh;\r\n }\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n company_id: data.CompanyId,\r\n company_name: com_name,\r\n checkChangeComp: true,\r\n }));\r\n setDialogVisibleInCompany(false);\r\n };\r\n\r\n const searchEmployeeToAndPass = (event: any) => {\r\n setTimeout(async () => {\r\n let _filteredEmployee;\r\n if (employeeList.length <= 0) {\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n const employee = await GetAllEmployee(req);\r\n setEmployeeList(employee);\r\n }\r\n if (!event.query.trim().length) {\r\n if (employeeList.length > 0) {\r\n _filteredEmployee = [...employeeList];\r\n }\r\n } else {\r\n _filteredEmployee = employeeList.filter((_dataEmployee: any) => {\r\n if (\r\n _dataEmployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return true;\r\n } else if (\r\n _dataEmployee.NameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return true;\r\n } else if (\r\n _dataEmployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return true;\r\n } else if (\r\n _dataEmployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return true;\r\n }\r\n });\r\n }\r\n\r\n setFilteredEmployee(_filteredEmployee);\r\n }, 250);\r\n };\r\n const [showDialogEmp, setShowDialogEmp] = useState(true);\r\n async function showModalInEmployeeToAndPass(type: string) {\r\n if (filteredEmployee) {\r\n setFilteredEmployee(\"\");\r\n }\r\n setDialogVisibleInEmployee(!dialogVisibleInEmployee);\r\n console.log({ type });\r\n setTypeEmployeeDialog(type);\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n if (showDialogEmp) {\r\n if (employeeList.length <= 0) {\r\n const employee = await GetAllEmployee(req);\r\n setEmployeeList(employee);\r\n setSearchData(employee);\r\n }\r\n setShowDialogEmp(!showDialogEmp);\r\n }\r\n }\r\n\r\n function insertDataByEnter(event: any, type: any) {\r\n if (!event) {\r\n return;\r\n }\r\n if (type === \"to\") {\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: [...listInToAndPass.to, ...event],\r\n }));\r\n } else if (type === \"pass\") {\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: [...listInToAndPass.pass, ...event],\r\n }));\r\n }\r\n }\r\n function onSelectedEmployeeToAndPass(data: any) {\r\n let checkValue: boolean = false;\r\n const _value = userData.Lang === \"EN\" ? data.NameEn : data.NameTh;\r\n if (typeEmployeeDialog === \"to\") {\r\n let _components = listInToAndPass;\r\n _components.to.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n if (checkValue) {\r\n setDialogVisibleInEmployee(false);\r\n return;\r\n }\r\n _components.to.push(_value);\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: [..._components.to],\r\n }));\r\n } else if (typeEmployeeDialog === \"pass\") {\r\n let _components = listInToAndPass;\r\n _components.pass.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n if (checkValue) {\r\n setDialogVisibleInEmployee(false);\r\n return;\r\n }\r\n _components.pass.push(_value);\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: [..._components.pass],\r\n }));\r\n }\r\n setDialogVisibleInEmployee(false);\r\n }\r\n function selecteOrTypeListInToAndPass(event: any, type: any) {\r\n const _value = event.value.map((item: any) => {\r\n if (!(typeof item === \"string\")) {\r\n return item.NameEn;\r\n } else {\r\n return item;\r\n }\r\n });\r\n\r\n if (type === \"to\") {\r\n let _components = listInToAndPass.to;\r\n _components = [..._value];\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: [..._components],\r\n }));\r\n } else if (type === \"pass\") {\r\n let _components = listInToAndPass.pass;\r\n _components = [..._value];\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: [..._components],\r\n }));\r\n }\r\n }\r\n\r\n async function openWindow(link: any) {\r\n var pathArray = link?.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n console.log(\"att=>\", _link);\r\n\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n console.log(\"att=>\", `${_sharepointSiteURL}${_link}`);\r\n\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n const fetchMasterData = async () => {\r\n const masterDataList = await GetAllMasterData();\r\n let masterData: any[] = [];\r\n let userManual: any[] = [];\r\n if (masterDataList) {\r\n const masterDataType = masterDataList.filter((e: any) => {\r\n return e.MasterType === \"UserManual\" && e.IsActive === true;\r\n });\r\n masterDataType.map((masterlist: any) => {\r\n const userManualMaster = masterlist.Value1.split(\"|\");\r\n let master = userManualMaster.find((e: any) => {\r\n let masterDataList = e === memoDetail.template_code;\r\n return masterDataList;\r\n });\r\n masterData.push(master);\r\n });\r\n }\r\n const userManualList = await GetAllDynamic(\"UserManual/GetAll\", undefined);\r\n if (userManualList) {\r\n const manual = userManualList.find((e: any) => {\r\n let manualList = e.UserManualGroupName === memoDetail.template_code;\r\n return manualList;\r\n });\r\n userManual.push(manual);\r\n }\r\n\r\n if (masterData[0] && userManual[0]) {\r\n if (masterData[0] === userManual[0].UserManualGroupName) {\r\n setHasUserManual(true);\r\n const [nameFileSplit, linkFileSplit] =\r\n userManual[0].AttachFile.split(\"|\");\r\n setNameFile(nameFileSplit);\r\n setLinkFile(linkFileSplit);\r\n } else {\r\n setHasUserManual(false);\r\n }\r\n }\r\n };\r\n const customModalStyle = {\r\n padding: \"30px\",\r\n maxHeight: \"20px\",\r\n };\r\n\r\n const columnsTo: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n
\r\n {\r\n filterToCC(record, \"to\");\r\n }}\r\n />\r\n
\r\n ),\r\n },\r\n ];\r\n\r\n const columnsCC: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n \r\n {\r\n filterToCC(record, \"pass\");\r\n }}\r\n />\r\n \r\n ),\r\n },\r\n ];\r\n\r\n // useEffect(() => {\r\n // showMore(\"to\");\r\n // }, [listInToAndPass.to]);\r\n\r\n const filterToCC = (event: any, type: any) => {\r\n if (type === \"to\") {\r\n const filtered = listInToAndPass.to.filter((e: any) => e !== event);\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: [...filtered],\r\n }));\r\n\r\n Modal.destroyAll();\r\n } else if (type === \"pass\") {\r\n const filtered = listInToAndPass.pass.filter((e: any) => e !== event);\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: [...filtered],\r\n }));\r\n\r\n Modal.destroyAll();\r\n }\r\n };\r\n\r\n const showMore = (type: any) => {\r\n Modal.info({\r\n title: (\r\n <>\r\n {type === \"to\" ? (\r\n <>\r\n

\r\n To(เรียนถึง) ทั้งหมด\r\n

\r\n \r\n ) : (\r\n <>\r\n

\r\n CC(สำเนา) ทั้งหมด\r\n

\r\n \r\n )}\r\n \r\n ),\r\n content: (\r\n
\r\n <>\r\n {\" \"}\r\n \r\n \r\n
\r\n ),\r\n style: customModalStyle,\r\n closable: true,\r\n });\r\n };\r\n\r\n return (\r\n {\r\n console.log(\"info=>listInToAndPass\", listInToAndPass);\r\n }}\r\n >\r\n \r\n \r\n
\r\n
{t(\"information\")}
\r\n
\r\n

\r\n {memoDetail?.status === \"New Request\" &&\r\n memoDetail.template_code + \": \" + memoDetail.template_name}\r\n {memoDetail?.status !== \"New Request\" && memoDetail.template_name}\r\n

\r\n {hasUserManual === true ? (\r\n <>\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n {\r\n openWindow(linkFile);\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderRadius: \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n zIndex: \"1\",\r\n }}\r\n />\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n

{memoDetail?.document_no}

\r\n \r\n
\r\n\r\n \r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Request Date\r\n

\r\n \r\n วันที่ร้องขอเอกสาร\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n {formatDateTime(memoDetail?.request_date)}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Company\r\n \r\n \r\n {\" \"}\r\n *\r\n \r\n
\r\n

\r\n บริษัท\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!hideBranch && (\r\n <>\r\n \r\n \r\n \r\n \r\n Branch\r\n

\r\n \r\n สาขา\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n \r\n {!hideTo && (\r\n <>\r\n \r\n \r\n \r\n \r\n To\r\n

\r\n

\r\n เรียน\r\n

\r\n \r\n \r\n \r\n\r\n \r\n 0 ? \"100%\" : \"38px\"\r\n }`,\r\n }}\r\n >\r\n 3)\r\n ? true\r\n : false\r\n }\r\n onKeyPress={(e: any) => {\r\n if (e.code === \"Enter\") {\r\n let auto = e.target.value.split(\",\");\r\n insertDataByEnter(auto, \"to\");\r\n e.target.value = \"\";\r\n }\r\n }}\r\n onChange={(e) => {\r\n selecteOrTypeListInToAndPass(e, \"to\");\r\n }}\r\n />\r\n {isMobile && listInToAndPass.to.length > 3 && (\r\n {\r\n showMore(\"to\");\r\n }}\r\n >\r\n More({listInToAndPass.to.length - 3})\r\n \r\n )}\r\n showModalInEmployeeToAndPass(\"to\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\r\n }}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n \r\n {!hideCc && (\r\n <>\r\n \r\n \r\n \r\n \r\n Cc\r\n

\r\n

\r\n สำเนา\r\n

\r\n \r\n \r\n \r\n \r\n 0 ? \"100%\" : \"38px\"\r\n }`,\r\n }}\r\n >\r\n 3)\r\n ? true\r\n : false\r\n }\r\n onKeyPress={(e: any) => {\r\n if (e.code === \"Enter\") {\r\n let auto2 = e.target.value.split(\",\");\r\n insertDataByEnter(auto2, \"pass\");\r\n e.target.value = \"\";\r\n }\r\n }}\r\n onChange={(e) => {\r\n selecteOrTypeListInToAndPass(e, \"pass\");\r\n }}\r\n />\r\n {isMobile && listInToAndPass.pass.length > 3 && (\r\n {\r\n showMore(\"pass\");\r\n }}\r\n >\r\n More({listInToAndPass.pass.length - 3})\r\n \r\n )}\r\n showModalInEmployeeToAndPass(\"pass\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\r\n }}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n \r\n \r\n )}\r\n
\r\n {!hideProject && (\r\n \r\n \r\n \r\n \r\n

Project

\r\n

โครงการ

\r\n \r\n \r\n \r\n \r\n {\r\n setProject(event.value);\r\n }}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\"Select Project\"}\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={!canEditDoc}\r\n />\r\n \r\n
\r\n )}\r\n \r\n {!hideSubject && (\r\n <>\r\n \r\n \r\n \r\n
\r\n \r\n Subject\r\n \r\n \r\n {\" \"}\r\n *\r\n \r\n
\r\n \r\n เรื่อง\r\n

\r\n \r\n \r\n \r\n \r\n {\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n subject: event,\r\n }));\r\n }}\r\n valueProps={memoDetail.subject}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n \r\n )}\r\n
\r\n {refAttribute?.mode && refAttribute?.position === \"Top\" && (\r\n <>\r\n {canEditRefDoc ? (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n \r\n \r\n {\r\n setDialogVisibleInRefTemplate(true);\r\n }}\r\n setLabelProps={\"Add\"}\r\n loading={refLoading}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n {checkedLeaveTemplate && (\r\n \r\n )}\r\n \r\n {isTemplateVersion && (\r\n \r\n )}\r\n \r\n \r\n {!isTextFromValue && (\r\n \r\n )}\r\n {isTextFromValue && (\r\n \r\n )}\r\n \r\n {isShowSum && (\r\n \r\n \r\n \r\n \r\n \r\n

All Total

\r\n \r\n \r\n {\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n amount: e.target.value,\r\n }));\r\n }}\r\n onBlur={(e) => {\r\n getLineApproveForAmount(memoDetail.amount);\r\n }}\r\n disabled={!listFormNames.IsTextForm}\r\n id=\"AllTotal\"\r\n />\r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n {refAttribute?.mode && refAttribute?.position === \"Bottom\" && (\r\n <>\r\n {canEditDoc ? (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n \r\n \r\n {\r\n setDialogVisibleInRefTemplate(true);\r\n }}\r\n loading={refLoading}\r\n setLabelProps={\"Add\"}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n <>\r\n \r\n \r\n {refAttribute?.mode && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default InformationComponentFix;\r\n","import React, { useState, useEffect, FC } from \"react\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport \"./LineApprovalsComponent.css\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { IListApprovalDetailsModel } from \"../../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { IApproverModel } from \"../../../IRequestModel/IApproverModel\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { Row } from \"react-bootstrap\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useBreakpoint from \"antd/lib/grid/hooks/useBreakpoint\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { ProgressBar } from \"primereact/progressbar\";\r\nimport { FcApproval } from \"react-icons/fc\";\r\nimport { Modal } from \"antd\";\r\n\r\ntype Props = {\r\n lineApproval: any;\r\n setLineApproval: any;\r\n employeeList: any;\r\n signatureList: any[];\r\n canEditLineApproval: boolean;\r\n currentLevel: number;\r\n t: any;\r\n memoDetail: any;\r\n setEmployeeList: any;\r\n employee: any;\r\n getLineApproveForAmount: (\r\n amount: number,\r\n jsonCondition?: any,\r\n logicType?: string,\r\n template?: any,\r\n _requestor?: any\r\n ) => Promise;\r\n};\r\n\r\nconst LineApprovalsComponentFix: FC = ({\r\n lineApproval,\r\n employeeList,\r\n signatureList,\r\n canEditLineApproval,\r\n setLineApproval,\r\n currentLevel,\r\n t,\r\n memoDetail,\r\n setEmployeeList,\r\n employee,\r\n getLineApproveForAmount,\r\n}) => {\r\n //PageSetting\r\n const [userData, setUserData] = useUserContext();\r\n const [visibleConfirmProp, setVisibleConfirmProp] = useState(false);\r\n const { lg } = useBreakpoint();\r\n const [rowDeleted, setRowDeleted] = useState();\r\n const [fromIndex, setFromIndex] = useState(1);\r\n const [moveToNumber, setMoveToNumber] = useState(1);\r\n const [moveToDialogVisible, setMoveToDialogVisible] = useState(false);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [searchData, setSearchData] = useState(employeeList);\r\n const { toggleAlert } = useAlert();\r\n const [showDialogEmp, setShowDialogEmp] = useState(true);\r\n const [hightLight, setHightLight] = useState([]);\r\n useEffect(() => {\r\n lineApproval.sort((a: any, b: any) => {\r\n return a.sequence - b.sequence;\r\n });\r\n\r\n setHightLight(\r\n lineApproval.filter(\r\n (a: any) => memoDetail.current_approval_level === a.sequence\r\n )\r\n );\r\n }, []);\r\n\r\n const confirmDialogfunction = (rowDeleted: any) => {\r\n setVisibleConfirmProp(true);\r\n setRowDeleted(rowDeleted);\r\n };\r\n\r\n function rowDelete(rowIndex: any) {\r\n let data = lineApproval;\r\n data.splice(rowIndex, 1);\r\n let reoderSequence = data.map((e: any, i: number) => {\r\n e.sequence = i + 1;\r\n return e;\r\n });\r\n setLineApproval([...reoderSequence]);\r\n }\r\n\r\n const actionBodyTemplate = (rowData: any, options: any) => {\r\n if (canEditLineApproval && currentLevel < rowData.sequence) {\r\n return (\r\n \r\n confirmDialogfunction(options.rowIndex)}\r\n />\r\n \r\n );\r\n }\r\n };\r\n\r\n async function toggleModal() {\r\n setDialogVisible(!isDialogVisible);\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n if (showDialogEmp) {\r\n if (employee.length <= 0) {\r\n const employeeList = await GetAllEmployee(req);\r\n setEmployeeList(employeeList);\r\n setSearchData(employeeList);\r\n }\r\n setShowDialogEmp(!showDialogEmp);\r\n }\r\n }\r\n\r\n const onRowReorder = (e: any) => {\r\n if (currentLevel !== 0) {\r\n if (e.dropIndex > currentLevel) {\r\n for (let i = 0; i < e.value.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n e.value[i].sequence = a;\r\n }\r\n setLineApproval(e.value);\r\n } else {\r\n console.log(\"line=>e\", e, currentLevel);\r\n toggleAlert({\r\n description: `Cannot reorder to lower step.`,\r\n message: `Reorder`,\r\n type: \"warning\",\r\n });\r\n }\r\n } else {\r\n for (let i = 0; i < e.value.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n e.value[i].sequence = a;\r\n }\r\n setLineApproval(e.value);\r\n }\r\n };\r\n\r\n const onRowSelect = (data: any) => {\r\n addData(data);\r\n };\r\n\r\n function addData(empData: any) {\r\n try {\r\n const raw = lineApproval;\r\n const lastData = lineApproval[lineApproval.length - 1];\r\n let data: IApproverModel = empData;\r\n const defSignature = signatureList[0];\r\n\r\n if (lastData != undefined) {\r\n let newData: IListApprovalDetailsModel = {\r\n approver: data,\r\n emp_id: data.EmployeeId,\r\n lineid: lastData.lineid + 1,\r\n sequence: lastData.sequence + 1,\r\n signature_en: defSignature.Value2,\r\n signature_id: defSignature.MasterId,\r\n signature_th: defSignature.Value1,\r\n ColumnJsonCondValue: \"\",\r\n };\r\n raw.push(newData);\r\n } else {\r\n let newData: IListApprovalDetailsModel = {\r\n approver: data,\r\n emp_id: data.EmployeeId,\r\n lineid: 1,\r\n sequence: 1,\r\n signature_en: defSignature.Value2,\r\n signature_id: defSignature.MasterId,\r\n signature_th: defSignature.Value1,\r\n ColumnJsonCondValue: \"\",\r\n };\r\n raw.push(newData);\r\n }\r\n\r\n setLineApproval([...raw]);\r\n setDialogVisible(!isDialogVisible);\r\n } catch (error) {\r\n console.log(\"LineApproval=>addData=>error\", error);\r\n }\r\n }\r\n\r\n const statusBodyTemplate = (rowData: any, option: any) => {\r\n if (canEditLineApproval && currentLevel <= rowData.sequence) {\r\n console.log(\"line=>rowData\", rowData);\r\n\r\n return (\r\n {\r\n if (e.MasterId === rowData.signature_id) {\r\n return e;\r\n }\r\n })[0]\r\n }\r\n options={signatureList}\r\n onChange={(e) => onSelected_Sinatures(e, option.rowIndex)}\r\n optionLabel={userData.Lang === \"EN\" ? \"Value2\" : \"Value1\"}\r\n placeholder=\"Select a Signature\"\r\n />\r\n );\r\n } else {\r\n return (\r\n
\r\n \r\n {userData.Lang === \"EN\"\r\n ? rowData.signature_en\r\n : rowData.signature_th}\r\n \r\n
\r\n );\r\n }\r\n };\r\n\r\n function onSelected_Sinatures(event: any, rowInx: number) {\r\n let line: any = lineApproval;\r\n line[rowInx].signature_id = event.value.MasterId;\r\n line[rowInx].signature_th = event.value.Value1;\r\n line[rowInx].signature_en = event.value.Value2;\r\n setLineApproval([...line]);\r\n }\r\n\r\n const dynamicTable = (\r\n \r\n {canEditLineApproval && (\r\n {\r\n if (currentLevel < rowData.sequence) {\r\n return (\r\n {\r\n setFromIndex(options.rowIndex);\r\n setMoveToDialogVisible(true);\r\n }}\r\n />\r\n );\r\n }\r\n }}\r\n // style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n style={{ width: \"70px\" }}\r\n />\r\n )}\r\n\r\n lineData.sequence || options.rowIndex + 1}\r\n // style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n style={{ width: \"70px\" }}\r\n />\r\n \r\n

Employee Name

\r\n

ชื่อพนักงาน

\r\n \r\n }\r\n // style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n style={canEditLineApproval ? { width: \"20%\" } : { width: \"25%\" }}\r\n />\r\n\r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n }\r\n // style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n style={canEditLineApproval ? { width: \"20%\" } : { width: \"25%\" }}\r\n />\r\n\r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n }\r\n // style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n style={canEditLineApproval ? { width: \"20%\" } : { width: \"25%\" }}\r\n />\r\n\r\n \r\n

Signature

\r\n

คำลงท้าย

\r\n \r\n }\r\n body={statusBodyTemplate}\r\n // style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n style={canEditLineApproval ? { width: \"20%\" } : { width: \"25%\" }}\r\n />\r\n\r\n {canEditLineApproval && (\r\n \r\n

Delete

\r\n

ลบ

\r\n \r\n }\r\n body={actionBodyTemplate}\r\n // style={{ width: \"15%\" }}\r\n style={{ width: \"140px\" }}\r\n exportable={false}\r\n >\r\n )}\r\n \r\n );\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n setMoveToDialogVisible(false)}\r\n style={{ height: \"38px\" }}\r\n className=\"p-button-text\"\r\n />\r\n acceptMoveto(fromIndex, moveToNumber)}\r\n style={{ height: \"38px\" }}\r\n autoFocus\r\n />\r\n
\r\n );\r\n };\r\n\r\n const acceptMoveto = (fromIndex: number, targetIndex: number) => {\r\n if (targetIndex > currentLevel) {\r\n moveItem(fromIndex, targetIndex - 1);\r\n } else {\r\n toggleAlert({\r\n description: `Cannot reorder to lower step.`,\r\n message: `Reorder`,\r\n type: \"error\",\r\n });\r\n }\r\n };\r\n\r\n const moveItem = (fromIndex: number, targetIndex: number) => {\r\n try {\r\n let rows = lineApproval !== null ? [...lineApproval] : [];\r\n let updateRow = rows[fromIndex];\r\n rows[fromIndex] = rows[targetIndex];\r\n rows[targetIndex] = updateRow;\r\n for (let i = 0; i < rows.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n rows[i].sequence = a;\r\n }\r\n setLineApproval([...rows]);\r\n setMoveToDialogVisible(false);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n setVisibleConfirmProp(false)}\r\n message={\"Do you want to delete this row?\"}\r\n header=\"Confirmation\"\r\n icon=\"pi pi-info-circle\"\r\n className=\"z-index-confirm\"\r\n acceptClassName=\"p-button-danger table-control-confirm-button p-button-accept-cancel\"\r\n rejectClassName=\"p-button p-component p-confirm-dialog-reject p-button p-component p-button-outlined p-button-danger\"\r\n position=\"top\"\r\n accept={() => rowDelete(rowDeleted)}\r\n draggable={false}\r\n />\r\n {canEditLineApproval && (\r\n <>\r\n
\r\n toggleModal()}\r\n />\r\n \r\n {\r\n Modal.confirm({\r\n title: userData.Lang === \"en\" ? \"Confirm\" : \"ยืนยัน\",\r\n content:\r\n userData.Lang === \"en\" ? (\r\n

\r\n Line approval will be re-setting by form condition. Are\r\n you sure to reset?\r\n

\r\n ) : (\r\n

\r\n สายอนุมัติจะถูกตั้งค่าใหม่ตามเงื่อนไขของแบบฟอร์ม\r\n คุณแน่ใจที่จะรีเซ็ตหรือไม่?\r\n

\r\n ),\r\n okText: \"Reset\",\r\n onOk: () =>\r\n getLineApproveForAmount(\r\n Number(memoDetail.amount.replaceAll(\",\", \"\")),\r\n null,\r\n \"reset\"\r\n ),\r\n okButtonProps: {\r\n title: \"Reset\",\r\n style: {\r\n borderRadius: 6,\r\n borderColor: \"rgb(40, 47, 106);\",\r\n color: \"rgb(40, 47, 106);\",\r\n },\r\n },\r\n cancelButtonProps: {\r\n danger: true,\r\n style: { borderRadius: 6 },\r\n },\r\n });\r\n }}\r\n />\r\n
\r\n \r\n )}{\" \"}\r\n {dynamicTable}\r\n setMoveToDialogVisible(false)}\r\n >\r\n \r\n {\r\n if (e.value <= lineApproval?.length) {\r\n setMoveToNumber(e.value);\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\nexport default LineApprovalsComponentFix;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./MemoButtonComponent.css\";\r\nimport { BiSend } from \"react-icons/bi\";\r\nimport { RiFileCopy2Line } from \"react-icons/ri\";\r\nimport { FaPrint } from \"react-icons/fa\";\r\nimport { Components } from \"antd/lib/date-picker/generatePicker\";\r\nimport { GeneratePDF } from \"../../Services/ReviewPdfService\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { BsPencilSquare } from \"react-icons/bs\";\r\nimport { SetCheckAcces } from \"../../Services/MemoService\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n memoIdForCopy: any;\r\n pdfData?: string;\r\n memoDetail?: any;\r\n isCheckAcces: boolean;\r\n canEdit: boolean;\r\n isControlLoading: boolean;\r\n setIsControlLoading: (value: boolean) => void;\r\n setCanEdit: (canEdit: boolean) => void;\r\n permission: any;\r\n}\r\nexport const OtherButtonMemoComponent = (props: Props) => {\r\n const [userData, setUserData] = useUserContext();\r\n const [responeData, setResponeData] = useState(props.pdfData);\r\n const [isCheckByOrigin, setIsCheckByOrigin] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n const { toggleAlert } = useAlert();\r\n\r\n var _localStorage = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n\r\n let _tinyURL = _localStorage.TinyURL;\r\n\r\n useEffect(() => {\r\n console.log(\"memo=>\", props.pdfData);\r\n console.log(\"isShowPdf=>\", props.permission);\r\n setData();\r\n }, []);\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n const buttonEdit = () => {\r\n if (IsCheckAccessEditing() || isCheckByOrigin) {\r\n return (\r\n {\r\n if (props.canEdit || isCheckByOrigin) {\r\n onSetCheckAccess(null);\r\n } else {\r\n props.setCanEdit(true);\r\n }\r\n }}\r\n >\r\n \r\n

Stop editing

\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n if (props.canEdit) {\r\n props.setCanEdit(false);\r\n } else {\r\n onSetCheckAccess(userData.EmployeeId.toString());\r\n }\r\n }}\r\n >\r\n \r\n

isEditing

\r\n \r\n );\r\n }\r\n };\r\n const buttonCopy = () => {\r\n return (\r\n {\r\n window.open(\r\n `${baseUrl}/Request?MemoID=${props.memoIdForCopy}&isCopy`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\r\n >\r\n \r\n

{t(\"Copy\")}

\r\n \r\n );\r\n };\r\n const buttonPreviewPdf = () => {\r\n return (\r\n {\r\n var link = \"\";\r\n console.log({ responeData });\r\n\r\n const protocol = window.location.protocol;\r\n const attachPath = responeData?.replaceAll(\r\n `${protocol}//${_tinyURL}`,\r\n \"\"\r\n );\r\n let port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (port) {\r\n _tinyURL = _tinyURL + \":\" + port;\r\n }\r\n }\r\n console.log({\r\n site: `${protocol}//${_tinyURL}/`,\r\n attachPath,\r\n });\r\n\r\n const splitPath = attachPath.split(\"/\") || [];\r\n if (splitPath.length >= 4) {\r\n const rootPath = splitPath[1] || \"\";\r\n const docPath = splitPath[2] || \"\";\r\n\r\n const fullName = splitPath[3] || \"\";\r\n const lastIndex = fullName.lastIndexOf(\".\");\r\n let extension = fullName.substring(lastIndex + 1);\r\n const name = fullName.substring(0, lastIndex);\r\n link = `${protocol}//` + _tinyURL + attachPath;\r\n console.log({\r\n protocol,\r\n _tinyURL,\r\n attachPath,\r\n splitPath,\r\n });\r\n\r\n // ${protocol}//${_tinyURL}\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n }}\r\n >\r\n \r\n

{t(\"Preview Pdf\")}

\r\n \r\n );\r\n };\r\n const onOpenPdfLink = () => {\r\n window.open(`${responeData}`, \"_blank\", \"noreferrer\");\r\n };\r\n const buttonPrintPDF = () => {\r\n return (\r\n {\r\n onOpenPdfLink();\r\n }}\r\n >\r\n \r\n\r\n

{t(\"Print\")}

\r\n \r\n );\r\n };\r\n\r\n const IsCheckAccessEditing = () => {\r\n let isCheck = false;\r\n if (\r\n props.memoDetail?.memoDetail?.actorCheckAccess?.EmployeeId ===\r\n userData.EmployeeId\r\n ) {\r\n isCheck = true;\r\n }\r\n return isCheck;\r\n };\r\n\r\n const onSetCheckAccess = async (RequesterId?: string | null) => {\r\n props.setIsControlLoading(true);\r\n const checkAccessRequestModel = {\r\n memoid: props.memoDetail.memoDetail.memoid.toString(),\r\n RequesterId: RequesterId,\r\n };\r\n console.log(\"memo=>checkAccessRequestModel\", checkAccessRequestModel);\r\n const result = await SetCheckAcces(checkAccessRequestModel);\r\n console.log(\"memo=>result\", result);\r\n if (result.result === \"success\") {\r\n if (RequesterId) {\r\n props.setCanEdit(true);\r\n setIsCheckByOrigin(true);\r\n } else {\r\n props.setCanEdit(false);\r\n setIsCheckByOrigin(false);\r\n }\r\n } else if (result.result === \"NotAccess\") {\r\n if (userData.Lang === \"TH\") {\r\n toggleAlert({\r\n description: `มีผู้อื่นกำลังแก้ไขเอกสารอยู่`,\r\n message: `Not Access.`,\r\n type: \"error\",\r\n });\r\n } else {\r\n toggleAlert({\r\n description: `You do not have edit memo.`,\r\n message: `Not Access.`,\r\n type: \"error\",\r\n });\r\n }\r\n props.setCanEdit(false);\r\n }\r\n props.setIsControlLoading(false);\r\n };\r\n\r\n async function setData() {\r\n let respone = await GeneratePDF(\r\n props.memoIdForCopy,\r\n userData,\r\n props.memoDetail\r\n );\r\n // let respone = await (await fetch(`api/Memo/PreviewPdfUrl?MemoId=${props.memoIdForCopy}`)).json();\r\n console.log(\"memo=>respone\", respone);\r\n\r\n setResponeData(respone);\r\n }\r\n\r\n const checkIsAccessComponent = () => {\r\n if (userData.Lang === \"TH\") {\r\n return (\r\n \r\n เอกสารฉบับนี้กำลังถูกแก้ไขอยู่โดย{\" \"}\r\n {props.memoDetail.memoDetail?.actorCheckAccess?.NameEn}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n This memo is editing by{\" \"}\r\n {props.memoDetail.memoDetail?.actorCheckAccess?.NameEn}\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {props.memoDetail.memoDetail?.actorCheckAccess &&\r\n !IsCheckAccessEditing() ? (\r\n checkIsAccessComponent()\r\n ) : (\r\n <>\r\n {responeData ? (\r\n <>{buttonPreviewPdf()}\r\n ) : (\r\n \r\n )}\r\n {props.isCheckAcces && buttonEdit()}\r\n {props.permission === null || props.permission?.Copy === \"T\" ? (\r\n buttonCopy()\r\n ) : (\r\n <>\r\n )}\r\n\r\n {responeData ? (\r\n <>\r\n {(props.permission?.Print === \"T\" || props.permission === null) &&\r\n buttonPrintPDF()}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { IRequestOnSubmit } from \"../IRequestModel/CreateFormControl/IRequestOnSubmit\";\r\nimport { IMemoDetailModel } from \"../IRequestModel/IMemoDetailModel\";\r\n\r\nexport const Validation = (\r\n _submitType: string,\r\n memoDetail: IMemoDetailModel,\r\n lineApproval: any,\r\n dateValidField1: any[],\r\n dateValidField2: any[],\r\n message: any[]\r\n) => {\r\n let error_result: any[] = [];\r\n\r\n if (_submitType === \"draft\" || _submitType === \"cancel\") {\r\n if (memoDetail.company_id === 0 && _submitType === \"draft\") {\r\n error_result.push(\"Company\");\r\n }\r\n } else {\r\n if (memoDetail.company_id === 0) {\r\n error_result.push(\"Company\");\r\n }\r\n if (!memoDetail.subject) {\r\n error_result.push(\"Subject\");\r\n }\r\n if (lineApproval.length <= 0) {\r\n error_result.push(\"Line Approve\");\r\n }\r\n if (dateValidField1 !== null && dateValidField2 !== null) {\r\n if (dateValidField1 > dateValidField2) {\r\n error_result.push(message);\r\n }\r\n }\r\n }\r\n return error_result;\r\n};\r\n\r\nexport const ResponeValidation = (_respone: any) => {\r\n var _checkRespone: boolean = false;\r\n try {\r\n if (_respone.includes(\"done\")) {\r\n _checkRespone = true;\r\n }\r\n return _checkRespone;\r\n } catch (error) {\r\n _checkRespone = false;\r\n return _checkRespone;\r\n }\r\n};\r\n","import React from \"react\";\r\nimport {\r\n FunctionComponent,\r\n createContext,\r\n ReactNode,\r\n useState,\r\n useEffect,\r\n} from \"react\";\r\nimport { CheckCanAdminEditCompletedMemo } from \"../Services/AppSettingService\";\r\nimport { CheckRolePermission } from \"../Services/AuthorizedService\";\r\nimport { useUserContext } from \"./UserContext\";\r\n\r\ntype AdminCanEditCompletedMemoType = {\r\n canEditMemo: boolean;\r\n setCanEditMemo: (can: boolean) => void;\r\n};\r\nconst AdminEditCompletedMemoPermissionContext =\r\n createContext(null);\r\n\r\ninterface AdminCanEditCompletedMemoProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nconst AdminEditCompletedMemoProvider: FunctionComponent<\r\n AdminCanEditCompletedMemoProviderProps\r\n> = (props) => {\r\n const [userData] = useUserContext();\r\n\r\n const [canEditMemo, setCanEditMemo] = useState(false);\r\n useEffect(() => {\r\n getCanAdminEditCompletedMemo();\r\n }, []);\r\n const getCanAdminEditCompletedMemo = async () => {\r\n const canEdit = await CheckCanAdminEditCompletedMemo();\r\n const isAdmin = await CheckRolePermission(userData.EmployeeId);\r\n console.log({ isAdmin, userData });\r\n if (isAdmin && canEdit) {\r\n setCanEditMemo(canEdit);\r\n }\r\n };\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport {\r\n AdminEditCompletedMemoProvider,\r\n AdminEditCompletedMemoPermissionContext,\r\n};\r\n","import { useContext } from \"react\";\r\nimport { AdminEditCompletedMemoPermissionContext } from \"../Context/AdminEditCompletedMemoPermissionContext\";\r\n\r\nconst useAdminEditCompletedMemoPermissionContext = () => {\r\n const context = useContext(AdminEditCompletedMemoPermissionContext);\r\n if (!context)\r\n throw new Error(\r\n \"useAdminEditCompletedMemoPermission Context must be use inside useAdminEditCompletedMemoPermissionContext Provider\"\r\n );\r\n return context;\r\n};\r\n\r\nexport default useAdminEditCompletedMemoPermissionContext;\r\n","import moment from \"moment\";\r\nimport React, { useEffect, useState, useMemo, useRef } from \"react\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport InformationComponentFix from \"../../components/RequestComponents/InformationComponent/InformationComponentFix\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { IMemoButtonModel } from \"../../IRequestModel/IMemoButtonModel\";\r\nimport { IMemoDetailModel } from \"../../IRequestModel/IMemoDetailModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport {\r\n GetMemoAuthorized,\r\n GetMemoAuthorizedViewAndPrint,\r\n} from \"../../Services/AuthorizedService\";\r\nimport { formatToColumns } from \"../../Helper/formatColumn\";\r\nimport { dataCompany } from \"../../Services/CompanyService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { Button } from \"antd\";\r\nimport {\r\n ActionMemoPage,\r\n GetButtonMemoByMemoId,\r\n GetMemoDetail,\r\n GetMemoDetailOnlyById,\r\n GetMemoHistoryDetail,\r\n GetRefDocTemp,\r\n SetCheckAcces,\r\n ValidateDelegate,\r\n} from \"../../Services/MemoService\";\r\nimport {\r\n GetTemplateByDocTypeCode,\r\n GetTemplateById,\r\n GetTemplateControlById,\r\n GetTemplateFromDDL,\r\n LoadLogic,\r\n SearchTemplateListEditing,\r\n} from \"../../Services/TemplateService\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport RequestSideBarElement from \"./RequestSideBarElement\";\r\nimport LineApprovalsComponentFix from \"../../components/RequestComponents/LineApprovalsComponent/LineApprovalsComponentFix\";\r\nimport AttachmentComponent from \"../../components/RequestComponents/AttachmentComponent/AttachmentComponent\";\r\nimport { HistoryComponent } from \"../../components/RequestComponents/HistoryComponent/HistoryComponent\";\r\nimport { RequestorComponent } from \"../../components/RequestComponents/RequestorComponent/RequestorComponent\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { GetAllProject } from \"../../Services/ProjectService\";\r\nimport { generateQuickGuid } from \"../../Helper/GenerateGuid\";\r\nimport { ADTitleConfiguration } from \"../../Services/ConfigurationService\";\r\nimport {\r\n GetAllMasterData,\r\n GetLeaveTemplateByEmpId,\r\n getVersionTempVC,\r\n} from \"../../Services/MasterDataService\";\r\nimport { OtherButtonMemoComponent } from \"../../components/MemoButton/MemoButtonetcComponent\";\r\n\r\nimport { formatKeyLogicData } from \"../../Helper/formatKeyLogicData\";\r\nimport {\r\n ILogic,\r\n ILogicPermission,\r\n ILogicReferenceField,\r\n ILogicTypePermission,\r\n ILogicTypeShowHide,\r\n ILogicTypeReference,\r\n ILogicTypeSourceLoad,\r\n ILogicTypeReladToLoadData,\r\n ILogicTypeDataLineApprove,\r\n ILogicReferenceInformation,\r\n ILogicTypeSourceRelated,\r\n} from \"../../IRequestModel/ILogicModel\";\r\n\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport { MemoButtonComponent } from \"../../components/MemoButton/MemoButtonComponent\";\r\nimport { IRequestOnSubmit } from \"../../IRequestModel/CreateFormControl/IRequestOnSubmit\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ResponeValidation, Validation } from \"../../Helper/Validation\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport { INumberFormula } from \"../../IRequestModel/INumberFormula\";\r\nimport { IAutoNumberAttibute } from \"../../IRequestModel/IAutoNumberFormat\";\r\nimport {\r\n GetRvsRunning,\r\n GetSaveRunningNumber,\r\n CanAssignMoreThanOne,\r\n CanRequestCommentMoreThanOne,\r\n} from \"../../Services/RequestControlService\";\r\nimport { GetRolePermission } from \"../../Services/RoleServices\";\r\nimport { onCheckMemoPermission } from \"../../Helper/CheckMemoPermission\";\r\nimport {\r\n IApprovaReadHide,\r\n IListApprovalDetailsModel,\r\n} from \"../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { GetApprovalsByMemoIDs } from \"../../Services/LineApprovalsService\";\r\nimport { sorterFunc } from \"../../Helper/SortingFunction\";\r\nimport { genAutoNum } from \"../../Helper/RequestScreenHelper\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport useAdminEditCompletedMemoPermissionContext from \"../../hooks/useAdminEditCompletedMemo\";\r\nimport { IRolePermission } from \"../../IRequestModel/IRolePermission\";\r\nimport { motion, AnimatePresence } from \"framer-motion\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { tableSelectOption } from \"../../components/AntdControlComponent/TableComponent/TableComponent\";\r\n\r\nconst RequestScreenFix = () => {\r\n const { toggleAlert } = useAlert();\r\n //PageSetting\r\n const [userData, setUserData] = useUserContext();\r\n const location = useLocation();\r\n const isFirstRun = useRef(true);\r\n const toast = useRef(null);\r\n const { isLoad, setLoad } = useLoading();\r\n const { search } = useLocation();\r\n const history = useHistory();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const [checkUseEffect, setCheckUseEffect] = useState(false);\r\n const [checkActionPage, setCheckActionPage] = useState(\"\");\r\n const [checkedLeaveTemplate, setCheckedLeaveTemplate] = useState();\r\n const [curPage, setCurPage] = useState();\r\n const [selectedView, setSelectedView] = useState();\r\n const [dataTreeSelectProps, setDataTreeSelectProps] = useState({});\r\n const [isControlLoading, _setIsControlLoading] = useState(false);\r\n const [empByUserId, setEmpByUserId] = useState();\r\n const [templateDescrip, setTemplateDescrip] = useState([]);\r\n const [actionAlert, setActionAlert] = useState();\r\n const [prevAmount, setPrevAmount] = useState();\r\n\r\n let showLoadTimer: any = null;\r\n let hideLoadTimer: any = null;\r\n function setIsControlLoading(isShowLoad: boolean) {\r\n if (showLoadTimer !== null) {\r\n clearTimeout(showLoadTimer);\r\n }\r\n if (hideLoadTimer !== null) {\r\n clearTimeout(hideLoadTimer);\r\n }\r\n if (isShowLoad) {\r\n showLoadTimer = setTimeout(() => _setIsControlLoading(true), 10);\r\n } else {\r\n hideLoadTimer = setTimeout(() => _setIsControlLoading(false), 500);\r\n }\r\n }\r\n\r\n //Check Can Edit\r\n const [canEditDoc, setCanEditDoc] = useState(false);\r\n const [canEditLineApprove, setCanEditLineApprove] = useState(false);\r\n const { canEditMemo } = useAdminEditCompletedMemoPermissionContext();\r\n const [isCheckAccess, setIsCheckAccess] = useState(false);\r\n const [isSkipapm, setIsSkipapm] = useState(false);\r\n //MemoPage Value\r\n const [memoId, setMemoId] = useState();\r\n const [memoDetail, setMemoDetail] = useState();\r\n const [listFormNames, setListFormNames] = useState();\r\n const [lineApproval, setLineApproval] = useState([]);\r\n const [listHistoryDetails, setListHistoryDetails] = useState([]);\r\n const [listFileAttachDetails, setListFileAttachDetails] = useState([]);\r\n const [listRefDocDetails, setListRefDocDetails] = useState([]);\r\n const [isTextFromValue, setIsTextFromValue] = useState(false);\r\n const [textFromValue, setTextFromValue] = useState();\r\n //RefDoc Value\r\n const [refTempSelected, setRefTempSelected] = useState([]);\r\n const [refAttribute, setRefAttribute] = useState();\r\n const [searchRefDocData, setSearchRefDocData] = useState([]);\r\n const [refOptions, setRefOptions] = useState([]);\r\n const [dialogVisibleInRefTemplate, setDialogVisibleInRefTemplate] =\r\n useState(false);\r\n const [refLoading, setRefLoading] = useState(false);\r\n const previousRefTempSelected = useRef(null);\r\n const [canEditRefDoc, setCanEditRefDoc] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n const [refValue, setRefValue] = useState();\r\n //MasterData Value\r\n const [masterLeaveSpec, setMasterLeaveSpec] = useState([]);\r\n const [masterSignature, setMasterSignature] = useState([]);\r\n const [masterATDLFT, setMasterATDLFT] = useState([]);\r\n const [masterDLAttach, setMasterDLAttach] = useState();\r\n const [finFo, setFinFo] = useState([]);\r\n const [lRTempCode, setLRTempCode] = useState();\r\n const [mbkOnlyU, setMbkOnlyU] = useState([]);\r\n const [masterProjects, setMasterProjects] = useState([]);\r\n const [masterEmployee, setMasterEmployee] = useState([]);\r\n const [masterCompanies, setMasterCompanies] = useState([]);\r\n const [templateListVersion, setTemplateListVersion] = useState([]);\r\n const [selectedTemplateVersion, setSelectedTemplateVersion] = useState();\r\n const [isTemplateVersion, setIsTemplateVersion] = useState(false);\r\n const [menuButton, setMenuButton] = useState([]);\r\n const [allLogic, setAllLogic] = useState([]);\r\n let [jsonConditions, setJsonConditions] = useState();\r\n const [loadingPDF, setLoadingPDF] = useState(false);\r\n const [isShowPdf, setIsShowPdf] = useState(true);\r\n const [isShowSum, setIsShowSum] = useState(false);\r\n const [permission, setPermission] = useState();\r\n const [masterDataValidField, setMasterDataValidField] = useState([]);\r\n const [messageValidField, setMessageValidField] = useState();\r\n const [duration, setDuration] = useState(0);\r\n const [skipapm, setSkipapm] = useState([]);\r\n //autoApprove\r\n const [requestActionMemo, setRequestActionMemo] = useState(false);\r\n const [checkRequestActionMemo, setCheckRequestActionMemo] =\r\n useState(false);\r\n //AutoControlAttibute\r\n const [numFormulas, setNumFormulas] = useState([]);\r\n const [autoNumFormat, setAutoNumFormat] = useState({\r\n formats: [],\r\n showSymbol: false,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n });\r\n\r\n const [buttonType, setButtonType] = useState(\"\");\r\n\r\n const [tableOptions, setTableOptions] = useState([]);\r\n\r\n const previousView = useRef(null);\r\n let previousAmount = useRef(0);\r\n // dialog employee\r\n const [employeeList, setEmployeeList] = useState(masterEmployee);\r\n const [requestDetail, setRequestDetail] = useState();\r\n\r\n useEffect(() => {\r\n previousView.current = selectedView;\r\n }, [selectedView]);\r\n\r\n //Hook form\r\n const {\r\n handleSubmit,\r\n control,\r\n reset,\r\n register,\r\n setValue,\r\n getValues,\r\n setFocus,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues: {\r\n items: memoDetail?.template_desc?.items,\r\n },\r\n mode: \"onChange\",\r\n });\r\n const [listInToAndPass, setListInToAndPass] = useState({\r\n to: [],\r\n pass: [],\r\n });\r\n const [project, setProject] = useState();\r\n const [isBranchFromADTitle, setIsBranchFromADTitle] =\r\n useState(false);\r\n const [isADTitleToPosition, setIsADTitleToPosition] =\r\n useState(false);\r\n const [leaveTypeTable, setLeaveTypeTable] = useState([]);\r\n\r\n const [tableSummaries, setTableSummaries] = useState();\r\n const prevRequestLineapprove = useRef(null);\r\n //RequestorValue\r\n const [requestor, setRequestor] = useState({});\r\n const [creator, setCreator] = useState({});\r\n const [edFont, setEdFont] = useState([]);\r\n console.log(\"memode\", memoDetail);\r\n useEffect(() => {\r\n setLoad(false);\r\n const fetchMasterData = async () => {\r\n setLoad(true);\r\n const masterData = await GetAllMasterData();\r\n const projects = await GetAllProject();\r\n // const employee = await GetAllEmployee();\r\n const companies = await dataCompany();\r\n const isMultiAssign = await CanAssignMoreThanOne();\r\n const isMultiRequestComment = await CanRequestCommentMoreThanOne();\r\n sessionStorage.setItem(\"isMultiAssign\", isMultiAssign.result);\r\n sessionStorage.setItem(\r\n \"isMultiRequestComment\",\r\n isMultiRequestComment.result\r\n );\r\n\r\n setMasterSignature([\r\n ...masterData\r\n .filter((e: any) => {\r\n return e.MasterType === \"Signature\" && e.IsActive === true;\r\n })\r\n .sort((a: any, b: any) => (Number(a.Seq) > Number(b.Seq) ? 1 : -1)),\r\n ]);\r\n setMasterDataValidField([\r\n ...masterData.filter((e: any) => {\r\n return e.MasterType === \"ValidField\" && e.IsActive === true;\r\n }),\r\n ]);\r\n setMasterDLAttach(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"DLAttach\" && e.IsActive === true;\r\n })[0]\r\n );\r\n setFinFo(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"FINFO\" && e.IsActive === true;\r\n })[0]\r\n );\r\n setMasterATDLFT(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"ATDLFT\" && e.IsActive === true;\r\n })[0]\r\n );\r\n setLRTempCode(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"LRTempCode\";\r\n })\r\n );\r\n setMbkOnlyU(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"MBKOnly\" && e.IsActive === true;\r\n })\r\n );\r\n setMasterLeaveSpec(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"LeaveSpec\" && e.IsActive === true;\r\n })\r\n );\r\n setEdFont(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"EdFont\" && e.IsActive === true;\r\n })[0]\r\n );\r\n\r\n const temCodes: string[] =\r\n masterData\r\n .find((e: any) => e.MasterType?.toLowerCase() === \"skipapm\")\r\n ?.Value1?.split(\"|\") || [];\r\n\r\n setSkipapm([...temCodes]);\r\n setMasterProjects([...projects]);\r\n setMasterCompanies([...companies]);\r\n setCheckUseEffect(true);\r\n };\r\n fetchMasterData();\r\n }, []);\r\n const [defaultFont, setDefault] = useState();\r\n const [rishFont, setrishFont] = useState();\r\n useEffect(() => {\r\n if (edFont) {\r\n const fontFormat = edFont.Value1;\r\n const fontSize = edFont.Value2;\r\n setDefault(\r\n \"@import url('../../../../ClientApp/public/font/font.css');body {font-family: '\" +\r\n fontFormat +\r\n \"', sans-serif; font-size : \" +\r\n fontSize +\r\n \";}\"\r\n );\r\n setrishFont(fontFormat);\r\n }\r\n }, [edFont]);\r\n useEffect(() => {\r\n detectLineApproval();\r\n }, [lineApproval]);\r\n\r\n useEffect(() => {\r\n //Check RefTemplate if have show\r\n if (listFormNames) {\r\n if (\r\n listFormNames.RefTemplate === \"\" ||\r\n listFormNames.RefTemplate === \"[]\"\r\n ) {\r\n setRefAttribute([]);\r\n } else {\r\n getAllRefDoc(listFormNames);\r\n }\r\n }\r\n }, [listFormNames]);\r\n\r\n const getAllRefDoc = async (listFormNames: any) => {\r\n if (!listFormNames?.RefDocDisplay) {\r\n return;\r\n }\r\n setRefLoading(true);\r\n let _RefID: string = \"\";\r\n if (query.get(\"RefID\") !== undefined && query.get(\"RefID\") !== null) {\r\n _RefID = query.get(\"RefID\") || \"\";\r\n }\r\n const display = listFormNames?.RefDocDisplay?.split(\",\");\r\n if (!refAttribute && display.length > 0) {\r\n let refObject: any = {\r\n option: [],\r\n position: display[0],\r\n mode: display[1],\r\n optionLabel:\r\n display[2] !== \"Information DocumentNo\" ? display[2] : \"DocumentNo\",\r\n isDefaultLineApprove: listFormNames.IsDefaultLineApprove,\r\n optionValue: refValue,\r\n refIdOnQuery: null,\r\n };\r\n setRefAttribute({ ...refObject });\r\n }\r\n const res = await GetRefDocTemp({ template_ID: listFormNames.TemplateId });\r\n if (res) {\r\n checkRefTemplate(listFormNames, listRefDocDetails, res, _RefID);\r\n }\r\n setRefLoading(false);\r\n };\r\n\r\n const detectLineApproval = () => {\r\n if (lineApproval) {\r\n console.log(lineApproval);\r\n\r\n lineApproval.map((line: IListApprovalDetailsModel) => {\r\n if (line.signature_id && line.signature_id !== 0) {\r\n let _signature = masterSignature.find(\r\n (sig: any) => sig.MasterId === line.signature_id\r\n );\r\n if (_signature) {\r\n line.signature_en = _signature.Value2;\r\n line.signature_th = _signature.Value1;\r\n }\r\n } else {\r\n let _signature = masterSignature.find((sig: any) => sig.Seq === \"1\");\r\n if (_signature) {\r\n line.signature_en = _signature.Value2;\r\n line.signature_id = _signature.MasterId;\r\n line.signature_th = _signature.Value1;\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (checkUseEffect) {\r\n checkQuery();\r\n }\r\n }, [checkUseEffect, query]);\r\n useEffect(() => {\r\n if (checkRequestActionMemo) {\r\n autoApprove();\r\n }\r\n }, [requestActionMemo]);\r\n\r\n function autoApprove() {\r\n var request: IRequestOnSubmit = {\r\n buttonType: \"approve\",\r\n inputComment: \"\",\r\n waitingFor: \"\",\r\n waitingForId: 0,\r\n };\r\n onSubmit(memoDetail.template_desc, request);\r\n }\r\n const checkQuery = async () => {\r\n setLoad(true);\r\n let canAccess = true;\r\n let _templateId: number = 0;\r\n let _memoId: number = 0;\r\n let _usrId: number = 0;\r\n let _docTypeCode: string | null = \"\";\r\n let _isCopy: boolean = false;\r\n let _isPreview: boolean = false;\r\n let _documentNo: string = \"\";\r\n let _RefID: string = \"\";\r\n\r\n if (query.get(\"DocTypeCode\") && !query.get(\"template\")) {\r\n const _response = await GetTemplateByDocTypeCode({\r\n DocumentCode: query.get(\"DocTypeCode\"),\r\n });\r\n _docTypeCode = query.get(\"DocTypeCode\");\r\n _templateId = _response.TemplateId;\r\n }\r\n\r\n if (query.get(\"template\") && !query.get(\"DocTypeCode\")) {\r\n _templateId = Number(query.get(\"template\"));\r\n }\r\n if (query.get(\"MemoID\") && !query.get(\"DocumentNo\")) {\r\n setMemoId(Number(query.get(\"MemoID\")));\r\n _memoId = Number(query.get(\"MemoID\"));\r\n\r\n const jsonRequest = {\r\n memoid: _memoId,\r\n EmployeeId: userData.EmployeeId,\r\n };\r\n\r\n canAccess = await onCheckPermission(_memoId);\r\n if (\r\n query.get(\"checkRequestActionMemo\") !== null &&\r\n query.get(\"checkRequestActionMemo\") !== undefined\r\n ) {\r\n setCheckRequestActionMemo(true);\r\n }\r\n }\r\n if (!query.get(\"MemoID\") && query.get(\"DocumentNo\")) {\r\n _documentNo = query.get(\"DocumentNo\") || \"\";\r\n }\r\n if (query.get(\"userId\")) {\r\n _usrId = Number(query.get(\"userId\"));\r\n }\r\n if (query.get(\"isCopy\") !== undefined && query.get(\"isCopy\") !== null) {\r\n _isCopy = true;\r\n }\r\n if (query.get(\"preview\") !== undefined && query.get(\"preview\") !== null) {\r\n _isPreview = true;\r\n }\r\n if (query.get(\"RefID\") !== undefined && query.get(\"RefID\") !== null) {\r\n _RefID = query.get(\"RefID\") || \"\";\r\n }\r\n\r\n if (canAccess) {\r\n getInitialData(\r\n _memoId,\r\n _templateId,\r\n _docTypeCode,\r\n _isCopy,\r\n _isPreview,\r\n _usrId,\r\n _documentNo,\r\n _RefID\r\n );\r\n } else {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n };\r\n const onCheckPermission = async (memoid: number) => {\r\n const request = {\r\n MemoId: memoid,\r\n RequesterId: userData.EmployeeId,\r\n RNameEn: userData.Email,\r\n };\r\n const response = await GetMemoAuthorized(request);\r\n if (response === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n const getInitialData = async (\r\n _memoId: number,\r\n _templateId: number,\r\n _docTypeCode: string | null,\r\n _isCopy: boolean,\r\n _isPreview: boolean,\r\n _usrId: number,\r\n _documentNo: string,\r\n _RefID: string\r\n // _templateVersionCode: string | null,\r\n // _versionTemplate: string | null\r\n ) => {\r\n try {\r\n let userDataByQuery = null;\r\n setListInToAndPass({\r\n to: [],\r\n pass: [],\r\n });\r\n let hasQueryUserId: boolean = false;\r\n if (_usrId !== 0) {\r\n const _employee = await GetAllEmployee();\r\n\r\n userDataByQuery = _employee.find(\r\n (_emp: any) => _emp.EmployeeId === _usrId\r\n );\r\n if (userDataByQuery) {\r\n hasQueryUserId = true;\r\n }\r\n }\r\n\r\n const requestBody = {\r\n Memoid: _memoId,\r\n TemplateId: _templateId,\r\n DocumentCode: _docTypeCode,\r\n SecretId: \"\",\r\n DocumentNo: _documentNo,\r\n EmployeeId: userDataByQuery\r\n ? userDataByQuery.EmployeeId.toString()\r\n : userData.EmployeeId.toString(),\r\n actor: userDataByQuery ? userDataByQuery : userData,\r\n };\r\n let requestDetail = await GetMemoDetail(requestBody); // beam\r\n setRequestDetail(requestDetail);\r\n\r\n const _isTextForm: boolean =\r\n requestDetail?.requestDetails?.listFormNames[0].IsTextForm;\r\n let logic = await LoadLogic(\r\n requestDetail?.requestDetails.memoDetail.template_id !== 0\r\n ? requestDetail?.requestDetails.memoDetail.template_id\r\n : _templateId\r\n );\r\n const canViewAndPrint =\r\n requestDetail?.requestDetails?.memoDetail?.Permission;\r\n if (canViewAndPrint?.View === \"F\") {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n if (canViewAndPrint?.Print === \"F\") {\r\n setIsShowPdf(false);\r\n }\r\n setPermission(canViewAndPrint);\r\n let memoButtons: any[] = [];\r\n if (_memoId !== 0 || (_documentNo !== null && _documentNo !== \"\")) {\r\n let memoButton: IMemoButtonModel = {\r\n actor: {\r\n EmployeeId: userData.EmployeeId,\r\n },\r\n memoid: _memoId,\r\n };\r\n memoButtons = await GetButtonMemoByMemoId(memoButton);\r\n\r\n const menuButtonSort = memoButtons.sort(\r\n (x: any, y: any) => x.sequence - y.sequence\r\n );\r\n setMenuButton(menuButtonSort);\r\n setCheckActionPage(\"edit\");\r\n if (_isTextForm) {\r\n setTextFromValue(\r\n requestDetail.requestDetails.memoDetail.template_desc\r\n );\r\n setIsTextFromValue(true);\r\n getLineApproveAtFirsts(\r\n requestDetail.requestDetails.memoDetail,\r\n _isCopy\r\n );\r\n } else {\r\n requestDetail = {\r\n ...requestDetail,\r\n requestDetails: {\r\n ...requestDetail.requestDetails,\r\n memoDetail: {\r\n ...requestDetail.requestDetails.memoDetail,\r\n template_desc: requestDetail.requestDetails.memoDetail\r\n .template_desc\r\n ? {\r\n items: JSON.parse(\r\n requestDetail.requestDetails.memoDetail.template_desc\r\n ).items.map((item: any) => {\r\n return {\r\n ...item,\r\n layout: item.layout.map((_layout: any) => {\r\n return {\r\n ..._layout,\r\n isShow: true,\r\n };\r\n }),\r\n };\r\n }),\r\n }\r\n : {},\r\n },\r\n },\r\n };\r\n let templateDescWithLogic =\r\n requestDetail.requestDetails.memoDetail.template_desc;\r\n // if (requestDetail.requestDetails.memoDetail.status === \"Draft\") {\r\n templateDescWithLogic = await prepareInitialLogic(\r\n logic,\r\n requestDetail.requestDetails.memoDetail.template_desc,\r\n requestDetail.requestDetails.memoDetail.status,\r\n requestDetail.requestDetails.memoDetail.requestor\r\n );\r\n // }\r\n\r\n const _template = await detechRevisionControl(\r\n _templateId,\r\n templateDescWithLogic\r\n );\r\n const autoNum = detechAutonumberFormula(_template);\r\n if (_template.items) {\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _template.items,\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n }\r\n }\r\n if (_isCopy) {\r\n if (autoNum.rowIndex !== -1) {\r\n const _control = await genAutoNum(\r\n _template.items,\r\n autoNum,\r\n requestDetail.requestDetails.memoDetail.template_id,\r\n requestDetail.requestDetails.memoDetail.status\r\n );\r\n if (_control) {\r\n setDefaultTemplateDesc(_control);\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _control,\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n }\r\n // reset({\r\n // items: _control,\r\n // });\r\n }\r\n } else {\r\n setDefaultTemplateDesc(_template.items);\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _template.items,\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n }\r\n }\r\n }\r\n // reset({\r\n // items: _template.items,\r\n // });\r\n\r\n //setDefaultTemplateDesc(_template.items);\r\n setIsTextFromValue(false);\r\n }\r\n if (_isCopy) {\r\n const mewLine =\r\n requestDetail?.requestDetails?.listApprovalDetails?.map(\r\n (e: any) => {\r\n e.lineid = 0;\r\n return e;\r\n }\r\n );\r\n requestDetail = {\r\n ...requestDetail,\r\n requestDetails: {\r\n ...requestDetail.requestDetails,\r\n memoDetail: {\r\n ...requestDetail.requestDetails.memoDetail,\r\n memoid: 0,\r\n status: \"New Request\",\r\n document_no: \"Auto Generate\",\r\n copyInformation: \"Y\",\r\n creator: userData,\r\n requestor: userData,\r\n current_approval_level: 0,\r\n request_date: moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\"),\r\n modified_date: moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\"),\r\n created_date: moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\"),\r\n modified_by: userData.EmployeeId.toString(),\r\n created_by: userData.EmployeeId.toString(),\r\n },\r\n listApprovalDetails: mewLine,\r\n listHistoryDetails: [],\r\n },\r\n };\r\n\r\n setCheckActionPage(\"add\");\r\n }\r\n }\r\n //add\r\n else if (_memoId === 0) {\r\n const dataJson = {\r\n Username: userData.Username,\r\n DepartmentId: Number(userData.DepartmentId),\r\n EmployeeId: Number(userData.EmployeeId),\r\n Email: userData.Email,\r\n selectAll: false,\r\n DefultMode: false,\r\n OnlyActive: true,\r\n };\r\n dataGetInformationMethodMemoProp(\r\n requestDetail.requestDetails.listFormNames[0],\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n setCheckActionPage(\"add\");\r\n\r\n if (_isTextForm) {\r\n setTextFromValue(\r\n requestDetail.requestDetails.listFormNames[0].TextForm\r\n );\r\n setIsTextFromValue(true);\r\n getLineApproveAtFirsts(\r\n requestDetail.requestDetails.memoDetail,\r\n _isCopy\r\n );\r\n } else {\r\n requestDetail = {\r\n ...requestDetail,\r\n requestDetails: {\r\n ...requestDetail.requestDetails,\r\n memoDetail: {\r\n ...requestDetail.requestDetails.memoDetail,\r\n template_desc: requestDetail.requestDetails.listFormNames[0]\r\n .AdvanceForm\r\n ? {\r\n items: JSON.parse(\r\n requestDetail.requestDetails.listFormNames[0]\r\n .AdvanceForm\r\n ).items.map((item: any) => {\r\n return {\r\n ...item,\r\n layout: item.layout.map((_layout: any) => {\r\n return {\r\n ..._layout,\r\n isShow: true,\r\n };\r\n }),\r\n };\r\n }),\r\n }\r\n : {},\r\n },\r\n },\r\n };\r\n\r\n const templateDescWithLogic = await prepareInitialLogic(\r\n logic,\r\n requestDetail.requestDetails.memoDetail.template_desc,\r\n requestDetail.requestDetails.memoDetail.status,\r\n requestDetail.requestDetails.memoDetail.requestor\r\n );\r\n\r\n const _template = await detechRevisionControl(\r\n _templateId,\r\n templateDescWithLogic\r\n );\r\n const autoNum = detechAutonumberFormula(_template);\r\n\r\n if (\r\n requestDetail.requestDetails.memoDetail.status === \"New Request\" ||\r\n _isCopy\r\n ) {\r\n if (autoNum.rowIndex !== -1) {\r\n const _control = await genAutoNum(\r\n _template.items,\r\n autoNum,\r\n requestDetail.requestDetails.memoDetail.template_id,\r\n requestDetail.requestDetails.memoDetail.status\r\n );\r\n if (_control) {\r\n setDefaultTemplateDesc(_control);\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _control,\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n getLineApproveAtFirsts(\r\n requestDetail.requestDetails.memoDetail,\r\n _isCopy,\r\n _templateDesc\r\n );\r\n }\r\n }\r\n } else {\r\n setDefaultTemplateDesc(_template.items);\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _template.items,\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n getLineApproveAtFirsts(\r\n requestDetail.requestDetails.memoDetail,\r\n _isCopy,\r\n _templateDesc\r\n );\r\n }\r\n }\r\n }\r\n setIsTextFromValue(false);\r\n }\r\n }\r\n\r\n detechFormulas(\r\n requestDetail.requestDetails.memoDetail.template_id,\r\n requestDetail.requestDetails.memoDetail.template_desc\r\n );\r\n if (_isPreview) {\r\n setCheckActionPage(\"preview\");\r\n }\r\n if (hasQueryUserId) {\r\n requestDetail.requestDetails.memoDetail.creator = userDataByQuery;\r\n requestDetail.requestDetails.memoDetail.requestor = userDataByQuery;\r\n }\r\n checkTemplateVersion(\r\n requestDetail.requestDetails.listFormNames[0],\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n checkState(\r\n requestDetail.requestDetails.memoDetail.status,\r\n requestDetail.requestDetails.listFormNames[0],\r\n memoButtons\r\n );\r\n\r\n checkLeaveRequestTemplate(\r\n requestDetail.requestDetails.memoDetail.template_code\r\n );\r\n checkDataAndSetFunction(requestDetail.requestDetails.memoDetail);\r\n replaceTitleInfo(requestDetail.requestDetails.memoDetail);\r\n\r\n setMemoDetail(requestDetail.requestDetails.memoDetail);\r\n setRequestor(requestDetail.requestDetails.memoDetail.requestor);\r\n setCreator(requestDetail.requestDetails.memoDetail.creator);\r\n\r\n setLineApproval([...requestDetail.requestDetails.listApprovalDetails]);\r\n\r\n setListHistoryDetails([\r\n ...requestDetail.requestDetails.listHistoryDetails,\r\n ]);\r\n setListFileAttachDetails([\r\n ...requestDetail.requestDetails.listFileAttachDetails,\r\n ]);\r\n\r\n setListRefDocDetails([...requestDetail.requestDetails.listRefDocDetails]);\r\n setListFormNames(requestDetail.requestDetails.listFormNames[0]);\r\n\r\n createTableSums(requestDetail.requestDetails.memoDetail.template_desc);\r\n // setRefTempSelected([]);\r\n setAllLogic([...logic]);\r\n setSelectedView(\"2\");\r\n setCurPage(\"2\");\r\n setLoad(false);\r\n if (isFirstRun.current) {\r\n isFirstRun.current = false;\r\n }\r\n } catch (error) {\r\n setLoad(false);\r\n console.error(\"Request=>error\", error);\r\n }\r\n setRequestActionMemo(true);\r\n };\r\n\r\n const setDefaultTemplateDesc = (template: any) => {\r\n let templateItems = template;\r\n\r\n if (templateItems) {\r\n for (let i = 0; i < templateItems.length; i++) {\r\n const item = templateItems[i];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n const templateType = layout.template.type;\r\n\r\n if (\r\n templateType === \"t\" ||\r\n templateType === \"ta\" ||\r\n templateType === \"c\"\r\n ) {\r\n if (!layout.data.value) {\r\n templateItems[i].layout[j].data.value =\r\n layout.template.attribute.default;\r\n }\r\n } else if (templateType === \"dd\") {\r\n if (\r\n !layout.data.value &&\r\n templateItems[i].layout[j].template.attribute.items &&\r\n templateItems[i].layout[j].template.attribute.items.length > 0\r\n ) {\r\n templateItems[i].layout[j].data.value =\r\n layout.template.attribute.items[0].item;\r\n }\r\n // DefaultCalendar\r\n } else if (templateType === \"d\") {\r\n if (!layout.data.value && layout.template.attribute.default != \"\") {\r\n if (layout.template.attribute.defaultType === \"Days\") {\r\n let defaultDate = parseInt(layout.template.attribute.default);\r\n let defValue = moment(Date.now())\r\n .add(defaultDate, \"days\")\r\n .format(\"DD MMM YYYY\");\r\n layout.data.value = defValue;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n reset({\r\n items: templateItems,\r\n });\r\n return {\r\n items: templateItems,\r\n };\r\n };\r\n useEffect(() => {}, [prevAmount]);\r\n const getLineApproveForAmount = async (\r\n amount: number,\r\n jsonCondition?: any,\r\n logicType?: string,\r\n template?: any,\r\n _requestor?: any\r\n ) => {\r\n let amountToUse = amount !== undefined ? amount : prevAmount;\r\n try {\r\n if (isSkipapm) {\r\n return;\r\n }\r\n // testty\r\n if (amount !== undefined || amount === 0 || amount === \"\") {\r\n setPrevAmount(amount);\r\n }\r\n\r\n if (logicType === \"ref\") {\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n amount: Number(amountToUse).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }),\r\n }));\r\n } else if (!isNaN(amountToUse) && !logicType && logicType !== \"ref\") {\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n amount: Number(amountToUse).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }),\r\n }));\r\n }\r\n let isSummary =\r\n !logicType && isShowSum && amount != previousAmount.current;\r\n if (listFormNames.IsTextForm && isShowSum) {\r\n const dataJson = {\r\n employee: _requestor ? _requestor : memoDetail.requestor,\r\n ComCode: memoDetail.company_id,\r\n JsonCondition: jsonCondition ? jsonCondition : jsonConditions,\r\n templateForm: {\r\n ...memoDetail,\r\n TemplateApproveId: 0,\r\n template_desc: JSON.stringify(memoDetail.template_desc),\r\n },\r\n lstTRNLineApprove: [],\r\n Amount: Number(amountToUse),\r\n };\r\n\r\n const responseDataLineApprove = await onLoadDataLiveApprove(dataJson);\r\n if (responseDataLineApprove) {\r\n setLineApproval([...responseDataLineApprove]);\r\n }\r\n } else if (logicType || isSummary || amountToUse === 0) {\r\n if (\r\n (memoDetail &&\r\n (template?.type === \"c\" ||\r\n template?.type === \"tb\" ||\r\n ((template?.type === \"t\" ||\r\n template?.type === \"dd\" ||\r\n template?.type === \"r\" ||\r\n template?.type === \"cb\") &&\r\n logicType === \"datalineapprove\"))) ||\r\n logicType === \"requestor\" ||\r\n logicType === \"reset\"\r\n ) {\r\n setIsControlLoading(true);\r\n\r\n let doa: any;\r\n let loc: any;\r\n let spc: any;\r\n let dtp: any;\r\n if (jsonCondition) {\r\n jsonConditions = jsonCondition;\r\n }\r\n const dataJson = {\r\n employee: _requestor ? _requestor : memoDetail.requestor,\r\n ComCode: memoDetail.company_id,\r\n JsonCondition: jsonConditions,\r\n templateForm: {\r\n ...memoDetail,\r\n TemplateApproveId: 0,\r\n template_desc: JSON.stringify(memoDetail.template_desc),\r\n },\r\n lstTRNLineApprove: [],\r\n Amount: amountToUse,\r\n };\r\n const dataJsonApproverType = {\r\n TemplateId: memoDetail.template_id,\r\n };\r\n\r\n const approverType = await onLoadLiveApproveType(\r\n dataJsonApproverType\r\n );\r\n\r\n if (approverType) {\r\n doa = approverType.find((line: any) => line.ApproveType === 21);\r\n loc = approverType.find((line: any) => line.ApproveType === 19);\r\n spc = approverType.find((line: any) => line.ApproveType === 20);\r\n dtp = approverType.find((line: any) => line.ApproveType === 22);\r\n }\r\n\r\n if ((isSummary && doa) || !!logicType) {\r\n const responseDataLineApprove = await onLoadDataLiveApprove(\r\n dataJson\r\n );\r\n\r\n if (responseDataLineApprove) {\r\n console.log(\r\n \"responseDataLineApprove\",\r\n responseDataLineApprove,\r\n dataJson,\r\n isSummary\r\n );\r\n\r\n if (doa || loc || spc || dtp || logicType === \"reset\") {\r\n if (logicType === \"reset\") {\r\n let data: any[] = [\r\n ...lineApproval.slice(0, memoDetail.current_approval_level),\r\n ...responseDataLineApprove.map((e: any) => {\r\n e.sequence =\r\n e.sequence + memoDetail.current_approval_level;\r\n return e;\r\n }),\r\n ];\r\n\r\n setLineApproval([...data]);\r\n } else {\r\n setLineApproval([...responseDataLineApprove]);\r\n }\r\n } else if (!(doa || loc || spc || dtp) && jsonCondition) {\r\n setLineApproval([...responseDataLineApprove]);\r\n }\r\n } else {\r\n }\r\n }\r\n\r\n setIsControlLoading(false);\r\n }\r\n if (jsonCondition) {\r\n setJsonConditions(jsonCondition);\r\n }\r\n } else {\r\n previousAmount.current = amount;\r\n }\r\n } catch (error) {\r\n console.error(\"LineApprove=>error\", error);\r\n }\r\n };\r\n\r\n const getLineApproveAtFirsts = async (\r\n _memoDetail: any,\r\n _isCopy: boolean,\r\n _templateDesc?: any\r\n ) => {\r\n try {\r\n if (isSkipapm) {\r\n return;\r\n }\r\n\r\n if (_memoDetail.memoid === 0 && !_isCopy) {\r\n const dataJson = {\r\n employee: _memoDetail.requestor,\r\n ComCode: _memoDetail.company_id,\r\n JsonCondition: jsonConditions,\r\n templateForm: {\r\n ..._memoDetail,\r\n TemplateApproveId: 0,\r\n template_desc: JSON.stringify(_memoDetail.template_desc),\r\n },\r\n lstTRNLineApprove: [],\r\n Amount: 0,\r\n };\r\n\r\n const responseDataLineApprove = await onLoadDataLiveApprove(dataJson);\r\n setLineApproval([...responseDataLineApprove]);\r\n let tempdescItem = _templateDesc;\r\n if (tempdescItem) {\r\n if (responseDataLineApprove.length > 0) {\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...responseDataLineApprove],\r\n tempdescItem,\r\n _memoDetail\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n }\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"LineApprove=>error\", error);\r\n }\r\n };\r\n\r\n const onLoadDataLiveApprove = async (dataJson: any) => {\r\n const respone = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadLineApproveFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err: any) => console.error({ errerrerr: err }));\r\n return respone;\r\n };\r\n\r\n const onLoadLiveApproveType = async (dataJson: any) => {\r\n const respone = await fetch(\"api/LineApprove/GetLineApproveType\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err: any) => console.error({ errerrerr: err }));\r\n return respone;\r\n };\r\n\r\n const initialActionFiedFormLineApprove = async (\r\n dataLineApprove: any,\r\n _templateDesc: any,\r\n _memoDetail: any\r\n ) => {\r\n const _datalineapprove = dataLineApprove;\r\n // template setting readonly\r\n const currentApprovals = _datalineapprove.find(\r\n (e: any) =>\r\n e.sequence === _memoDetail.current_approval_level &&\r\n e.emp_id === userData.EmployeeId\r\n );\r\n\r\n if (\r\n !currentApprovals ||\r\n currentApprovals.ColumnJsonCondValue == null ||\r\n currentApprovals.ColumnJsonCondValue == undefined ||\r\n currentApprovals.ColumnJsonCondValue == \"\"\r\n ) {\r\n return _templateDesc;\r\n }\r\n\r\n let action: any;\r\n let isShow: boolean = false;\r\n let showTemplate: {\r\n isShow: boolean;\r\n pos: {\r\n row: number;\r\n col: number;\r\n tableCols?: number[];\r\n notUseCols?: number[];\r\n }[];\r\n readonly?: boolean;\r\n notInPos: { row: number; col: number }[];\r\n } = { isShow: false, pos: [], notInPos: [] };\r\n if (_memoDetail.current_approval_level === 0) {\r\n for (let i = 0; i < _datalineapprove.length; i++) {\r\n if (\r\n _datalineapprove[i].ColumnJsonCondValue !== null ||\r\n _datalineapprove[i].ColumnJsonCondValue !== undefined ||\r\n _datalineapprove[i].ColumnJsonCondValue !== \"\"\r\n ) {\r\n action = _datalineapprove[i].ColumnJsonCondValue;\r\n const jsonValue: IApprovaReadHide =\r\n action && action.length > 0 && JSON.parse(action);\r\n if (jsonValue) {\r\n if (\r\n _memoDetail.status === \"New Request\" ||\r\n _memoDetail.status === \"Rework\"\r\n ) {\r\n if (jsonValue.isRequester === \"Y\") {\r\n if (_memoDetail.status === \"Rework\") {\r\n for (let x = 0; x < _templateDesc.length; x++) {\r\n let layout = _templateDesc[x].layout;\r\n for (let y = 0; y < layout.length; y++) {\r\n let template = layout[y].template;\r\n if (template.type === \"tb\") {\r\n for (\r\n let z = 0;\r\n z <\r\n _templateDesc[x].layout[y].template.attribute.column\r\n .length;\r\n z++\r\n ) {\r\n let column =\r\n _templateDesc[x].layout[y].template.attribute\r\n .column[z];\r\n column.control.template.attribute.readonly = \"N\";\r\n column.isShow = true;\r\n }\r\n _templateDesc[x].layout[y].isShow = true;\r\n } else {\r\n if (_templateDesc[x].layout[y]) {\r\n if (\r\n _templateDesc[x].layout[y].template.type !== \"l\" &&\r\n _templateDesc[x].layout[y].template.type !== \"em\"\r\n ) {\r\n if (_templateDesc[x].layout[y].template.attribute) {\r\n _templateDesc[x].layout[\r\n y\r\n ].template.attribute.readonly = \"N\";\r\n }\r\n _templateDesc[x].layout[y].isShow = true;\r\n } else {\r\n _templateDesc[x].layout[y].isShow = true;\r\n }\r\n } else {\r\n _templateDesc[x].layout[y].isShow = isShow;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n for (let x = 0; x < _templateDesc.length; x++) {\r\n const layout = _templateDesc[x].layout;\r\n if (jsonValue.fieldaction) {\r\n if (jsonValue.action === \"readonly\") {\r\n showTemplate.readonly = true;\r\n isShow = true;\r\n } else {\r\n showTemplate.readonly = false;\r\n isShow = false;\r\n }\r\n for (let k = 0; k < jsonValue.fieldaction.length; k++) {\r\n const field = jsonValue.fieldaction[k];\r\n for (let j = 0; j < layout.length; j++) {\r\n const templateLayouts = layout[j];\r\n\r\n const tbCol = field.label.split(\" : \");\r\n if (tbCol[1] === templateLayouts.template.label) {\r\n if (field.type === \"tb\") {\r\n let targetCols: number[] = [];\r\n let notTargetCols: number[] = [];\r\n\r\n templateLayouts.template.attribute.column.forEach(\r\n (e: any, colIndex: number) => {\r\n if (tbCol[2] === e.control.template.label) {\r\n targetCols?.push(colIndex);\r\n } else {\r\n notTargetCols.push(colIndex);\r\n }\r\n }\r\n );\r\n showTemplate.pos.push({\r\n col: j,\r\n row: x,\r\n tableCols: targetCols,\r\n notUseCols: notTargetCols,\r\n });\r\n } else {\r\n showTemplate.pos.push({\r\n col: j,\r\n row: x,\r\n });\r\n }\r\n } else {\r\n showTemplate.notInPos.push({\r\n col: j,\r\n row: x,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n for (let x = 0; x < _templateDesc.length; x++) {\r\n let layout = _templateDesc[x].layout;\r\n for (let y = 0; y < layout.length; y++) {\r\n let template = layout[y].template;\r\n if (template.type === \"tb\") {\r\n for (\r\n let z = 0;\r\n z < _templateDesc[x].layout[y].template.attribute.column.length;\r\n z++\r\n ) {\r\n let column =\r\n _templateDesc[x].layout[y].template.attribute.column[z];\r\n column.control.template.attribute.readonly = \"N\";\r\n column.isShow = true;\r\n }\r\n _templateDesc[x].layout[y].isShow = true;\r\n } else {\r\n if (_templateDesc[x].layout[y]) {\r\n if (\r\n _templateDesc[x].layout[y].template.type !== \"l\" &&\r\n _templateDesc[x].layout[y].template.type !== \"em\"\r\n ) {\r\n if (_templateDesc[x].layout[y].template.attribute) {\r\n _templateDesc[x].layout[y].template.attribute.readonly = \"N\";\r\n }\r\n _templateDesc[x].layout[y].isShow = true;\r\n } else {\r\n _templateDesc[x].layout[y].isShow = true;\r\n }\r\n } else {\r\n _templateDesc[x].layout[y].isShow = isShow;\r\n }\r\n }\r\n }\r\n }\r\n if (currentApprovals) {\r\n if (\r\n currentApprovals.ColumnJsonCondValue !== null ||\r\n currentApprovals.ColumnJsonCondValue !== undefined ||\r\n currentApprovals.ColumnJsonCondValue !== \"\"\r\n ) {\r\n action = currentApprovals.ColumnJsonCondValue;\r\n const jsonValue: IApprovaReadHide =\r\n action && action.length > 0 && JSON.parse(action);\r\n if (jsonValue) {\r\n const dataJson = {\r\n TemplateId: _memoDetail.template_id,\r\n EmployeeId: userData.EmployeeId,\r\n };\r\n const isDelegate = await ValidateDelegate(dataJson);\r\n\r\n if (currentApprovals || isDelegate) {\r\n for (let x = 0; x < _templateDesc.length; x++) {\r\n const layout = _templateDesc[x].layout;\r\n if (jsonValue.fieldaction) {\r\n if (jsonValue.action === \"readonly\") {\r\n showTemplate.readonly = true;\r\n isShow = true;\r\n } else {\r\n showTemplate.readonly = false;\r\n isShow = false;\r\n }\r\n for (let k = 0; k < jsonValue.fieldaction.length; k++) {\r\n const field = jsonValue.fieldaction[k];\r\n for (let j = 0; j < layout.length; j++) {\r\n const templateLayouts = layout[j];\r\n\r\n const tbCol = field.label.split(\" : \");\r\n if (tbCol[1] === templateLayouts.template.label) {\r\n if (field.type === \"tb\") {\r\n let targetCols: number[] = [];\r\n let notTargetCols: number[] = [];\r\n\r\n templateLayouts.template.attribute.column.forEach(\r\n (e: any, colIndex: number) => {\r\n if (tbCol[2] === e.control.template.label) {\r\n targetCols?.push(colIndex);\r\n } else {\r\n notTargetCols.push(colIndex);\r\n }\r\n }\r\n );\r\n showTemplate.pos.push({\r\n col: j,\r\n row: x,\r\n tableCols: targetCols,\r\n notUseCols: notTargetCols,\r\n });\r\n } else {\r\n showTemplate.pos.push({\r\n col: j,\r\n row: x,\r\n });\r\n }\r\n } else {\r\n showTemplate.notInPos.push({\r\n col: j,\r\n row: x,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (showTemplate.pos.length > 0) {\r\n if (_memoDetail.status !== \"New Request\") {\r\n for (let i = 0; i < showTemplate.notInPos.length; i++) {\r\n const pos = showTemplate.notInPos[i];\r\n if (_templateDesc[pos.row].layout[pos.col].template.type === \"tb\") {\r\n for (\r\n let x = 0;\r\n x <\r\n _templateDesc[pos.row].layout[pos.col].template.attribute.column\r\n .length;\r\n x++\r\n ) {\r\n let column =\r\n _templateDesc[pos.row].layout[pos.col].template.attribute\r\n .column[x];\r\n column.control.template.attribute.readonly = \"N\";\r\n column.isShow = true;\r\n }\r\n\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n } else {\r\n if (_templateDesc[pos.row].layout[pos.col]) {\r\n if (\r\n _templateDesc[pos.row].layout[pos.col].template.type !== \"l\" &&\r\n _templateDesc[pos.row].layout[pos.col].template.type !== \"em\"\r\n ) {\r\n if (_templateDesc[pos.row].layout[pos.col].template.attribute) {\r\n _templateDesc[pos.row].layout[\r\n pos.col\r\n ].template.attribute.readonly = \"N\";\r\n }\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n } else {\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n }\r\n } else {\r\n _templateDesc[pos.row].layout[pos.col].isShow = isShow;\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < showTemplate.pos.length; i++) {\r\n const pos = showTemplate.pos[i];\r\n if (_templateDesc[pos.row].layout[pos.col].template.type === \"tb\") {\r\n if (pos.tableCols?.length === 0) {\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n }\r\n _templateDesc[pos.row].layout[pos.col].template.attribute.column =\r\n _templateDesc[pos.row].layout[\r\n pos.col\r\n ].template.attribute.column.map(\r\n (column: any, colIndex: number) => {\r\n if (pos.notUseCols?.includes(colIndex)) {\r\n column.control.template.attribute.readonly = \"N\";\r\n column.isShow = true;\r\n }\r\n return column;\r\n }\r\n );\r\n } else {\r\n if (\r\n _templateDesc[pos.row].layout[pos.col].template.type !== \"l\" &&\r\n _templateDesc[pos.row].layout[pos.col].template.type !== \"em\"\r\n ) {\r\n _templateDesc[pos.row].layout[\r\n pos.col\r\n ].template.attribute.readonly = \"N\";\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n } else {\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n }\r\n }\r\n }\r\n }\r\n for (let i = 0; i < showTemplate.pos.length; i++) {\r\n const pos = showTemplate.pos[i];\r\n if (_templateDesc[pos.row].layout[pos.col].template.type === \"tb\") {\r\n if (pos.tableCols?.length === 0) {\r\n _templateDesc[pos.row].layout[pos.col].isShow = isShow;\r\n }\r\n _templateDesc[pos.row].layout[pos.col].template.attribute.column =\r\n _templateDesc[pos.row].layout[\r\n pos.col\r\n ].template.attribute.column.map((column: any, colIndex: number) => {\r\n if (pos.tableCols?.includes(colIndex)) {\r\n if (showTemplate.readonly) {\r\n column.control.template.attribute.readonly = \"Y\";\r\n }\r\n column.isShow = isShow;\r\n }\r\n return column;\r\n });\r\n } else {\r\n if (\r\n _templateDesc[pos.row].layout[pos.col].template.type !== \"l\" &&\r\n _templateDesc[pos.row].layout[pos.col].template.type !== \"em\"\r\n ) {\r\n if (showTemplate.readonly) {\r\n _templateDesc[pos.row].layout[\r\n pos.col\r\n ].template.attribute.readonly = \"Y\";\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n } else {\r\n _templateDesc[pos.row].layout[pos.col].isShow = isShow;\r\n }\r\n } else {\r\n _templateDesc[pos.row].layout[pos.col].isShow = isShow;\r\n }\r\n }\r\n }\r\n }\r\n return _templateDesc;\r\n };\r\n\r\n const detechFormulas = async (_templateId: number, templateDesc: any) => {\r\n let _formulas: any[] = [];\r\n let isSummary: boolean = false;\r\n let total = 0;\r\n for (let i = 0; i < templateDesc?.items?.length; i++) {\r\n const templateItems = templateDesc?.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const layout = templateItems.layout[j];\r\n let formu: INumberFormula;\r\n if (layout.template.type === \"c\") {\r\n if (\r\n layout.template.attribute.formula !== \"\" &&\r\n layout.template.attribute.formula !== null\r\n ) {\r\n formu = {\r\n formula: layout.template.attribute.formula,\r\n rowIndex: i,\r\n colIndex: j,\r\n };\r\n _formulas.push(formu);\r\n }\r\n if (layout.template.attribute.summary === \"Y\") {\r\n isSummary = true;\r\n }\r\n } else if (layout.template.type === \"tb\") {\r\n layout.template.attribute.column.forEach(\r\n (col: any, colIndex: number) => {\r\n if (col.control.template.type === \"c\") {\r\n if (col.control.template.attribute.summary === \"Y\") {\r\n isSummary = true;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n const dataJsonApproverType = {\r\n TemplateId: _templateId,\r\n };\r\n\r\n const approverType = await onLoadLiveApproveType(dataJsonApproverType);\r\n\r\n if (approverType) {\r\n const doa = approverType.find((e: any) => e.ApproveType === 21);\r\n if (doa) {\r\n isSummary = true;\r\n }\r\n }\r\n\r\n setIsShowSum(isSummary);\r\n setNumFormulas([..._formulas]);\r\n };\r\n\r\n const detechAutonumberFormula = (templateDesc: any) => {\r\n let _autoFormats: IAutoNumberAttibute = {\r\n formats: [],\r\n showSymbol: true,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n };\r\n\r\n try {\r\n templateDesc.items.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n if (layout.template.attribute) {\r\n layout.template.attribute.formats.map((formats: any) => {\r\n for (let i = 0; i < formats.format.length; i++) {\r\n if (formats.format[i]) {\r\n formats.format.map((f: any) => {\r\n if (f.condition === \"Split\") {\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n _autoFormats.formats = layout.template.attribute.formats;\r\n _autoFormats.showSymbol = !layout.template.alter.includes(\"|\");\r\n _autoFormats.digit = layout.template.digit;\r\n _autoFormats.rowIndex = rowIdx;\r\n _autoFormats.colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n setAutoNumFormat(_autoFormats);\r\n return _autoFormats;\r\n } catch (error) {\r\n console.log(\"auto=>error\", error);\r\n return _autoFormats;\r\n }\r\n };\r\n\r\n const detechRevisionControl = async (_templateId: any, templateDesc: any) => {\r\n try {\r\n let requestBody: any = {};\r\n let items: any[] = [];\r\n let rowIndex = -1;\r\n let colIndex = -1;\r\n\r\n templateDesc.items.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"rvs\") {\r\n requestBody.TemplateId = _templateId;\r\n requestBody.RefId = 0;\r\n requestBody.Digit = layout.template.attribute.digit;\r\n requestBody.Labelrevision = layout.template.label;\r\n requestBody.Alter = layout.template.alter;\r\n\r\n if ((layout.template.attribute.conditions || []).length > 0) {\r\n layout.template.attribute.conditions.map((con: any) => {\r\n templateDesc.items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (con.label === layout.template.label) {\r\n items.push({\r\n Label: con.label,\r\n value: layout.data.value,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n requestBody.MemoId = null;\r\n requestBody.Itemlabel = items;\r\n rowIndex = rowIdx;\r\n colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n if (rowIndex !== -1 && colIndex !== -1) {\r\n const revision = await GetRvsRunning(requestBody);\r\n if (\r\n revision.item >\r\n templateDesc.items[rowIndex].layout[colIndex].data.value\r\n ) {\r\n templateDesc.items[rowIndex].layout[colIndex].data.value =\r\n revision.item;\r\n }\r\n }\r\n\r\n return templateDesc;\r\n } catch (error) {\r\n console.log(\"rvs=>error\", error);\r\n }\r\n };\r\n\r\n const prepareInitialLogic = async (\r\n logics: ILogic[],\r\n templateDesc: any,\r\n memoStatus?: string,\r\n requestor?: any\r\n ) => {\r\n let dataGroup: any = [];\r\n let dataSourceLoadGroup: any[] = [];\r\n let dataSourceRelated: any[] = [];\r\n let dataSourceRelatedToLoadGroup: any[] = [];\r\n console.log(\"logiuc=>templateDesc\", templateDesc);\r\n\r\n let eiei = JSON.stringify(templateDesc);\r\n\r\n let _templateDesc = JSON.parse(eiei);\r\n\r\n _templateDesc = {\r\n items: _templateDesc?.items?.map((item: any) => {\r\n return {\r\n ...item,\r\n layout: item.layout.map((_layout: any) => {\r\n return {\r\n ..._layout,\r\n isShow: true,\r\n };\r\n }),\r\n };\r\n }),\r\n };\r\n for (let i = 0; i < logics?.length; i++) {\r\n const logic = logics[i];\r\n console.log(\"logic=>\", logic);\r\n\r\n if (logic.logictype === \"datasourceload\") {\r\n const jsonValue: any =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n if (_layout.template.type !== \"tb\") {\r\n if (_layout.template.label === jsonValue.label) {\r\n dataSourceLoadGroup.push({\r\n isInTable: false,\r\n col: j,\r\n row: i,\r\n data: logic.logicid,\r\n jsonValue: logic.jsonvalue,\r\n });\r\n }\r\n } else {\r\n for (\r\n let k = 0;\r\n k < _layout.template.attribute.column.length;\r\n k++\r\n ) {\r\n const column = _layout.template.attribute.column[k];\r\n if (column.label === jsonValue.label) {\r\n console.log({ logic });\r\n dataSourceLoadGroup.push({\r\n isInTable: true,\r\n col: j,\r\n row: i,\r\n tableColumn: k,\r\n data: logic.logicid,\r\n jsonValue: logic.jsonvalue,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === \"role\") {\r\n let showTemplate: {\r\n isShow: boolean;\r\n pos: {\r\n row: number;\r\n col: number;\r\n tableCols?: number[];\r\n notUseCols?: number[];\r\n }[];\r\n readonly?: boolean;\r\n notInPos: { row: number; col: number }[];\r\n } = { isShow: false, pos: [], notInPos: [] };\r\n\r\n const jsonValue: ILogicTypeShowHide =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n\r\n if (jsonValue.action !== \"showpdf\") {\r\n if (jsonValue.roleids && jsonValue.roleids.length > 0) {\r\n let userRole: IRolePermission[] = [];\r\n let roles: IRolePermission[] = await GetRolePermission();\r\n roles.filter((r) => r.IsDelete === false);\r\n for (let i = 0; i < roles.length; i++) {\r\n const role = roles[i];\r\n if (role.EmployeeId === userData.EmployeeId) {\r\n userRole.push(role);\r\n }\r\n }\r\n const isShow = onCheckUserRolePermissionInLogic(\r\n userRole,\r\n jsonValue.roleids\r\n );\r\n\r\n if (jsonValue.action === \"readonly\") {\r\n showTemplate.readonly = true;\r\n }\r\n showTemplate.isShow = isShow;\r\n console.log({ action: jsonValue.action, showTemplate });\r\n\r\n if (jsonValue.fieldaction) {\r\n for (let k = 0; k < jsonValue.fieldaction.length; k++) {\r\n const field = jsonValue.fieldaction[k];\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const templateLayouts = templateItems.layout[j];\r\n if (field.lable === templateLayouts.template.label) {\r\n if (field.type === \"tb\") {\r\n let targetCols: number[] = [];\r\n let notTargetCols: number[] = [];\r\n\r\n templateLayouts.template.attribute.column.forEach(\r\n (e: any, colIndex: number) => {\r\n const selectedCol = field.column?.find(\r\n (col) => col.Key === e.control.template.label\r\n );\r\n if (selectedCol) {\r\n targetCols?.push(colIndex);\r\n } else {\r\n notTargetCols.push(colIndex);\r\n }\r\n }\r\n );\r\n showTemplate.pos.push({\r\n row: i,\r\n col: j,\r\n tableCols: targetCols,\r\n notUseCols: notTargetCols,\r\n });\r\n } else {\r\n showTemplate.pos.push({\r\n row: i,\r\n col: j,\r\n });\r\n }\r\n } else {\r\n showTemplate.notInPos.push({\r\n row: i,\r\n col: j,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n console.log({ showTemplate });\r\n\r\n if (showTemplate.pos.length > 0) {\r\n console.log(\"logic=>showTemplate\", showTemplate);\r\n for (let i = 0; i < showTemplate.pos.length; i++) {\r\n const pos = showTemplate.pos[i];\r\n if (\r\n _templateDesc.items[pos.row].layout[pos.col].template.type ===\r\n \"tb\"\r\n ) {\r\n _templateDesc.items[pos.row].layout[pos.col].isShow = true;\r\n _templateDesc.items[pos.row].layout[\r\n pos.col\r\n ].template.attribute.column = _templateDesc.items[\r\n pos.row\r\n ].layout[pos.col].template.attribute.column.map(\r\n (column: any, colIndex: number) => {\r\n if (pos.tableCols?.includes(colIndex)) {\r\n if (showTemplate.readonly) {\r\n column.control.template.attribute.require = \"Y\";\r\n }\r\n column.isShow = isShow;\r\n console.log(column);\r\n }\r\n return column;\r\n }\r\n );\r\n } else {\r\n _templateDesc.items[pos.row].layout[pos.col].isShow = isShow;\r\n console.log(\r\n _templateDesc.items[pos.row].layout[pos.col].template.type\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === \"reference\") {\r\n let responseData: {\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null = null;\r\n JSON.parse(logic.jsonvalue);\r\n const jsonValue: ILogicTypeReference =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n if (jsonValue.Filter.length > 0) {\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n responseData = await onProcessLogicReference(\r\n logic,\r\n _layout.template,\r\n _layout.data.value,\r\n _templateDesc.items\r\n );\r\n if (responseData) {\r\n const permittedValues = responseData.data.map(function (\r\n value: any\r\n ) {\r\n let res: any = {};\r\n for (let i = 0; i < responseData!.loadTo.length; i++) {\r\n const field = responseData!.loadTo[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n }\r\n return res;\r\n });\r\n let resRow: any[] = [];\r\n if (permittedValues) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n let colData = new Array(\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n for (const [key, value] of Object.entries(perValue)) {\r\n for (\r\n let j = 0;\r\n j <\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column[j];\r\n\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n resRow.push(colData);\r\n }\r\n console.log({\r\n memoStatus,\r\n rowLength:\r\n _templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data.row,\r\n });\r\n\r\n if (\r\n resRow.length > 0 &&\r\n (!_templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data.row ||\r\n _templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data?.row?.length === 0)\r\n ) {\r\n _templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data.row = [...resRow];\r\n }\r\n }\r\n }\r\n console.log({ responseData });\r\n }\r\n }\r\n } else {\r\n responseData = await onProcessLogicReferenceNoFilter(\r\n logic,\r\n _templateDesc.items\r\n );\r\n if (responseData) {\r\n const permittedValues = responseData.data.map(function (\r\n value: any\r\n ) {\r\n let res: any = {};\r\n for (let i = 0; i < responseData!.loadTo.length; i++) {\r\n const field = responseData!.loadTo[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n }\r\n return res;\r\n });\r\n let resRow: any[] = [];\r\n if (permittedValues) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n let colData = new Array(\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n for (const [key, value] of Object.entries(perValue)) {\r\n for (\r\n let j = 0;\r\n j <\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column[j];\r\n\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n resRow.push(colData);\r\n }\r\n console.log({\r\n memoStatus,\r\n rowLength:\r\n _templateDesc.items[responseData.row].layout[responseData.col]\r\n .data.row,\r\n });\r\n\r\n if (\r\n resRow.length > 0 &&\r\n (!_templateDesc.items[responseData.row].layout[responseData.col]\r\n .data.row ||\r\n _templateDesc.items[responseData.row].layout[responseData.col]\r\n .data?.row?.length === 0)\r\n ) {\r\n _templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data.row = [...resRow];\r\n }\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === \"datareladtoloaddata\") {\r\n const jsonValue: ILogicTypeReladToLoadData =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n let newTableOptions: {\r\n loadtoLabel: string;\r\n options: any[];\r\n } = { loadtoLabel: jsonValue.autoloadvaluelabel.label, options: [] };\r\n\r\n // const { dataJson, loadTo, actionFrom } = await onFindDataJson(_templateDesc, jsonValue,logic);\r\n let rowIdx = 0;\r\n const conditions = jsonValue.conditions;\r\n\r\n conditions.forEach((e: any) => {\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n if (_layout.template.type === \"tb\") {\r\n for (\r\n let l = 0;\r\n l < _layout.template.attribute.column.length;\r\n l++\r\n ) {\r\n const tbCol = _layout.template.attribute.column[l];\r\n if (tbCol.control.template.label === e.label) {\r\n if (_layout.data.row) {\r\n rowIdx = _layout.data.row.length;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n for (let x = 0; x < rowIdx; x++) {\r\n const responseData = await onProcessLogicDataRelatedToLoadData(\r\n _templateDesc,\r\n logic,\r\n jsonValue,\r\n x\r\n );\r\n console.log(\"newTableOptions=>\", responseData);\r\n if (responseData) {\r\n if (responseData.data) {\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n\r\n if (_layout.template.type === \"tb\") {\r\n for (\r\n let l = 0;\r\n l < _layout.template.attribute.column.length;\r\n l++\r\n ) {\r\n const tbCol = _layout.template.attribute.column[l];\r\n if (\r\n tbCol.control.template.label ===\r\n newTableOptions.loadtoLabel\r\n ) {\r\n if (_layout.data) {\r\n if (\r\n tbCol.control.template.label ===\r\n newTableOptions.loadtoLabel\r\n ) {\r\n //const rawData: any = await onDatareladToLoadData(dataJson);\r\n if (_layout.data.row) {\r\n for (\r\n let m = 0;\r\n m < _layout.data.row.length;\r\n m++\r\n ) {\r\n // newTableOptions.options = new Array(\r\n // _layout.data.row?.length\r\n // ).fill(responseData);\r\n }\r\n newTableOptions.options.push({\r\n actionsCol: {\r\n label: jsonValue.labelactions,\r\n rowIdx: responseData.actionFrom.row,\r\n colIdx: responseData.actionFrom.col,\r\n value:\r\n templateItems[tbCol.control.template.label],\r\n },\r\n targetCol: {\r\n label: newTableOptions.loadtoLabel,\r\n rowIdx: responseData.loadTo.row,\r\n colIdx: responseData.loadTo.col,\r\n options: responseData.data.data,\r\n },\r\n });\r\n console.log(\"newTableOptions=>\", newTableOptions);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (newTableOptions.options.length > 0) {\r\n setTableOptions([...newTableOptions.options]);\r\n }\r\n } else if (logic.logictype === \"refinfomation\") {\r\n const jsonValue: ILogicReferenceInformation =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n console.log(\"refinfomation=>\", jsonValue);\r\n if (memoStatus === \"New Request\") {\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n if (_layout.template.type !== \"tb\") {\r\n if (_layout.template.label === jsonValue.condition) {\r\n console.log(\"refinfomation=> requestor\", requestor);\r\n if (jsonValue.required === \"Requestor_Employee_code\") {\r\n _layout.data.value = requestor.EmployeeCode;\r\n } else if (jsonValue.required === \"Requestor_Name\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.NameEn;\r\n } else {\r\n _layout.data.value = requestor.NameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Name\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.NameEn;\r\n } else {\r\n _layout.data.value = requestor.NameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Positon\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.PositionNameEn;\r\n } else {\r\n _layout.data.value = requestor.PositionNameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Division\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.DivisionNameEn;\r\n } else {\r\n _layout.data.value = requestor.DivisionNameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Department\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.DepartmentNameEn;\r\n } else {\r\n _layout.data.value = requestor.DepartmentNameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Email\") {\r\n _layout.data.value = requestor.Email;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === \"datasourcerelated\") {\r\n const logicRelated = logic;\r\n const jsonValue: any =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n let dataValue;\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n\r\n if (_layout.template.label === jsonValue.label) {\r\n dataValue = _layout.data.value;\r\n }\r\n }\r\n }\r\n const dataJson = {\r\n Key: jsonValue.label,\r\n Value: dataValue,\r\n logicid: logicRelated.logicid,\r\n };\r\n const responseData = await onProcessLogicDataSourceRelated(\r\n dataJson,\r\n jsonValue,\r\n templateDesc\r\n );\r\n\r\n if (responseData) {\r\n let newControl = _templateDesc.items;\r\n\r\n for (let i = 0; i < responseData.relateGroup.length; i++) {\r\n const relateGroup = responseData.relateGroup[i];\r\n for (let j = 0; j < responseData.data.length; j++) {\r\n const relateData = responseData.data[j];\r\n newControl[relateGroup.row].layout[relateGroup.col].data.value =\r\n relateData[relateGroup.relateValue.value];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (dataSourceLoadGroup.length > 0) {\r\n dataGroup.push({\r\n type: \"datasourceload\",\r\n dataGroup: dataSourceLoadGroup,\r\n });\r\n }\r\n console.log({ dataGroup });\r\n\r\n const initialLogicData: any[] = await getInitialLogicData(dataGroup);\r\n\r\n for (let i = 0; i < initialLogicData.length; i++) {\r\n const logicData = initialLogicData[i];\r\n\r\n const processData = formatKeyLogicData(logicData);\r\n if (logicData.isInTable === false || logicData.isInTable === undefined) {\r\n _templateDesc.items[processData.row].layout[\r\n processData.col\r\n ].template.attribute.items = processData.data;\r\n } else {\r\n _templateDesc.items[processData.row].layout[\r\n processData.col\r\n ].template.attribute.column[\r\n processData.tableColumn\r\n ].control.template.attribute.items = processData.data;\r\n }\r\n }\r\n\r\n console.log(\"logic=>_templateDesc\", _templateDesc);\r\n\r\n return _templateDesc;\r\n };\r\n const onDataSourceLoadRelated = async (dataJson: any) => {\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return dataSource;\r\n };\r\n const onProcessLogicDataSourceRelated = async (\r\n dataJson: any,\r\n jsonValue: any,\r\n _templateDesc: any\r\n ) => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n };\r\n responseDataSourceLoadRelated.data = await onDataSourceLoadRelated(\r\n dataJson\r\n );\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n for (let i = 0; i < jsonValue.relatedvalue?.length; i++) {\r\n const relateValue = jsonValue?.relatedvalue[i];\r\n for (let j = 0; j < _templateDesc?.items?.length; j++) {\r\n const item = _templateDesc?.items[j];\r\n for (let k = 0; k < item.layout?.length; k++) {\r\n const layout = item?.layout[k];\r\n if (layout.template.label === relateValue.label) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: j,\r\n col: k,\r\n relateValue,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return responseDataSourceLoadRelated;\r\n };\r\n const onProcessLogicDataRelatedToLoadData = async (\r\n _templateDesc: any,\r\n logic: ILogic,\r\n jsonValue: any,\r\n rowIdx: number\r\n ) => {\r\n const { dataJson, loadTo, actionFrom } = await onFindDataJson(\r\n _templateDesc,\r\n jsonValue,\r\n logic,\r\n rowIdx\r\n );\r\n\r\n console.log(\"logic=>response\", dataJson, loadTo, actionFrom);\r\n if (dataJson) {\r\n if (dataJson.length > 0) {\r\n if (isFirstRun.current || checkIfLogicsHaveValue(dataJson)) {\r\n const rawData: any = await onDatareladToLoadData(dataJson);\r\n\r\n if (rawData && loadTo) {\r\n let data = formatKeyLogicData({ data: rawData });\r\n\r\n return { data, loadTo, actionFrom };\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const checkIfLogicsHaveValue = (dataJson: any[]) => {\r\n let _bool = false;\r\n dataJson.forEach((data) => {\r\n Object.keys(data).map((key) => {\r\n if (key.toLowerCase() === \"value\") {\r\n _bool = true;\r\n }\r\n });\r\n });\r\n\r\n return _bool;\r\n };\r\n\r\n const onFindDataJson = (\r\n templateDesc: any,\r\n jsonValue: ILogicTypeReladToLoadData,\r\n logic: any,\r\n rowIdx: number\r\n ) => {\r\n const response: {\r\n dataJson: any[];\r\n loadTo: { row: number; col: number };\r\n actionFrom: { row: number; col: number };\r\n } = {\r\n dataJson: [],\r\n loadTo: { row: -1, col: -1 },\r\n actionFrom: { row: -1, col: -1 },\r\n };\r\n const conditions = jsonValue.conditions;\r\n const _templateDesc = templateDesc;\r\n console.log(\"conditions\", conditions);\r\n\r\n conditions.forEach((e) => {\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n if (_layout.template.type === \"tb\") {\r\n for (let l = 0; l < _layout.template.attribute.column.length; l++) {\r\n const tbCol = _layout.template.attribute.column[l];\r\n if (tbCol.control.template.label === e.label) {\r\n if (_layout.data.row) {\r\n console.log(\"_dataJson=>\", _layout.data.row[rowIdx][l].value);\r\n response.dataJson.push({\r\n Key: tbCol.control.template.label,\r\n Value: _layout.data.row[rowIdx][l].value,\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n if (\r\n jsonValue.autoloadvaluelabel.label ===\r\n tbCol.control.template.label\r\n ) {\r\n response.loadTo = {\r\n col: l,\r\n row: rowIdx,\r\n };\r\n }\r\n }\r\n } else {\r\n if (_layout.template.label === e.label) {\r\n response.dataJson.push({\r\n Key: e.label,\r\n Value: _layout.data.value,\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n response.actionFrom = { row: j, col: i };\r\n }\r\n }\r\n });\r\n\r\n console.log(\"logic=>response\", response);\r\n\r\n return response;\r\n };\r\n\r\n const getInitialLogicData = async (dataGroup: any) => {\r\n let dataSourceLoad: any = [];\r\n const dataSourceLoadGroup: any[] = dataGroup.filter(\r\n (group: any) => group.type === \"datasourceload\"\r\n );\r\n console.log({ dataSourceLoadGroup });\r\n\r\n if (dataSourceLoadGroup.length > 0) {\r\n dataSourceLoad = await onDataSourceLoad(dataSourceLoadGroup);\r\n }\r\n return [...dataSourceLoad];\r\n };\r\n\r\n const onDatareladToLoadData = async (dataJson: any) => {\r\n const response = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl2\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch(() => false);\r\n return response;\r\n };\r\n\r\n function onCheckUserRolePermissionInLogic(\r\n userRoles: IRolePermission[],\r\n accessRoles: {\r\n id: number;\r\n }[]\r\n ) {\r\n for (let i = 0; i < userRoles.length; i++) {\r\n const userRole = userRoles[i];\r\n for (let j = 0; j < accessRoles.length; j++) {\r\n const accessRole = accessRoles[j];\r\n if (userRole.RoleId === Number(accessRole.id)) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n const onFilterLoadtoField = (label: string, templateDesc: any) => {\r\n for (let i = 0; i < templateDesc.length; i++) {\r\n const item = templateDesc[i];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n if (layout.template.label === label) {\r\n return { row: i, col: j };\r\n }\r\n }\r\n }\r\n };\r\n const onFilterRefFilterField = (\r\n refFilter: ILogicReferenceField[],\r\n currentFieldValue: any\r\n ) => {\r\n let _refFilter: ILogicReferenceField[] = [];\r\n\r\n for (let i = 0; i < currentFieldValue.length; i++) {\r\n const item = currentFieldValue[i];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n for (let i = 0; i < refFilter.length; i++) {\r\n const _ref = refFilter[i];\r\n if (_ref.TBColumn === layout.template.label) {\r\n _refFilter.push({\r\n MSTColumn: _ref.MSTColumn,\r\n TBColumn: layout.data.value,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n return _refFilter;\r\n };\r\n const onLoadReferenceData = async (dataJson: {\r\n jsonValue: ILogicTypeReference;\r\n refFilter: ILogicReferenceField[];\r\n }) => {\r\n let orCondition = \"\";\r\n const refFilterValueEqualComlumAll = dataJson.refFilter.filter(\r\n (_ref) => _ref.MSTColumn === dataJson.jsonValue.ColumnAll\r\n );\r\n if (refFilterValueEqualComlumAll.length > 0) {\r\n for (let i = 0; i < refFilterValueEqualComlumAll.length; i++) {\r\n const ref = refFilterValueEqualComlumAll[i];\r\n orCondition = `(${ref.MSTColumn}='${ref.TBColumn}' OR ${dataJson.jsonValue.ColumnAll}='All')`;\r\n }\r\n }\r\n\r\n let condition = \"\";\r\n\r\n let refFilterValue: ILogicReferenceField[] = dataJson.refFilter.filter(\r\n (_ref) => _ref.MSTColumn !== dataJson.jsonValue.ColumnAll\r\n );\r\n\r\n for (let i = 0; i < refFilterValue.length; i++) {\r\n const ref = refFilterValue[i];\r\n if (i !== refFilterValue.length - 1) {\r\n condition = condition + ref.MSTColumn + \"='\" + ref.TBColumn + \"' AND \";\r\n } else {\r\n condition = condition + ref.MSTColumn + \"='\" + ref.TBColumn + \"'\";\r\n }\r\n }\r\n if (refFilterValue.length === 0) {\r\n condition = \"1 = 1\";\r\n }\r\n\r\n const _dataJson = {\r\n ...dataJson.jsonValue,\r\n orCondition,\r\n condition,\r\n };\r\n console.log({\r\n dataJson,\r\n refFilterValue,\r\n orCondition,\r\n condition,\r\n refFilterValueEqualComlumAll,\r\n });\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControlRef\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(_dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data: any) => {\r\n return data;\r\n });\r\n return dataSource;\r\n };\r\n const onProcessLogicReference = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => {\r\n let responseDataReference: {\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null = {\r\n loadTo: [],\r\n data: [],\r\n row: -1,\r\n col: -1,\r\n };\r\n const jsonValue: ILogicTypeReference =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n console.log({ control, jsonValue, controlTemplate });\r\n\r\n const loadTo = onFilterLoadtoField(jsonValue.label, control);\r\n const refFilter = onFilterRefFilterField(jsonValue.Filter, control);\r\n\r\n if (\r\n refFilter.length > 0 &&\r\n loadTo &&\r\n jsonValue.Filter.filter((_ref) => _ref.TBColumn === controlTemplate.label)\r\n .length > 0\r\n ) {\r\n const dataJson = {\r\n jsonValue,\r\n refFilter,\r\n };\r\n const refData: { DT: any[] } = await onLoadReferenceData(dataJson);\r\n responseDataReference.data = refData.DT;\r\n responseDataReference.col = loadTo.col;\r\n responseDataReference.row = loadTo.row;\r\n responseDataReference.loadTo = jsonValue.Column;\r\n return responseDataReference;\r\n }\r\n return null;\r\n };\r\n\r\n const onProcessLogicReferenceNoFilter = async (\r\n logic: ILogic,\r\n control: any\r\n ) => {\r\n let responseDataReference: {\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null = {\r\n loadTo: [],\r\n data: [],\r\n row: -1,\r\n col: -1,\r\n };\r\n const jsonValue: ILogicTypeReference =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n\r\n const loadTo = onFilterLoadtoField(jsonValue.label, control);\r\n const refFil: any = jsonValue.Filter;\r\n\r\n if (loadTo && jsonValue.Filter.length === 0) {\r\n const dataJson = {\r\n jsonValue,\r\n refFilter: refFil,\r\n };\r\n const refData: { DT: any[] } = await onLoadReferenceData(dataJson);\r\n responseDataReference.data = refData.DT;\r\n responseDataReference.col = loadTo.col;\r\n responseDataReference.row = loadTo.row;\r\n responseDataReference.loadTo = jsonValue.Column;\r\n return responseDataReference;\r\n }\r\n return null;\r\n };\r\n\r\n const onControlChange = async (\r\n controlName: any,\r\n controlValue: any,\r\n controlUpdate: any\r\n ) => {\r\n if (controlValue === \"FA | Financial and Accounting\") {\r\n const _controlString = JSON.stringify(getValues(\"items\"));\r\n let _control = JSON.parse(_controlString);\r\n _control[1].layout[1].data.value = \"100\";\r\n controlUpdate(1, {\r\n ..._control[1],\r\n layout: [..._control[1].layout],\r\n });\r\n console.log({ controlName, controlValue, _control });\r\n }\r\n };\r\n const onDataSourceLoad = async (dataGroup: any) => {\r\n let responseGroup: any[] = [];\r\n\r\n for (let i = 0; i < dataGroup.length; i++) {\r\n const dataSource: any = dataGroup[i].dataGroup;\r\n let dataJson: any[] = [];\r\n\r\n for (let j = 0; j < dataSource.length; j++) {\r\n let jsonValue: any = JSON.parse(dataSource[j].jsonValue);\r\n\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n // test json\r\n body: JSON.stringify({\r\n logicid: dataSource[j].data,\r\n Key: jsonValue.SQLCommand || jsonValue ? \"Requestor id\" : \"\",\r\n Value:\r\n jsonValue.SQLCommand || jsonValue\r\n ? memoDetail?.requestor === undefined\r\n ? userData.EmployeeId.toString()\r\n : memoDetail?.requestor.EmployeeId.toString()\r\n : \"\",\r\n }),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"logic=>data\", data);\r\n\r\n if (!dataSource[j].isInTable) {\r\n responseGroup.push({\r\n isInTable: dataSource.isInTable,\r\n data: data,\r\n row: dataSource[j].row,\r\n col: dataSource[j].col,\r\n });\r\n } else {\r\n responseGroup.push({\r\n isInTable: dataSource[j].isInTable,\r\n tableColumn: dataSource[j].tableColumn,\r\n data: data,\r\n row: dataSource[j].row,\r\n col: dataSource[j].col,\r\n });\r\n }\r\n });\r\n }\r\n console.log(\"logic=>dataJson\", dataJson);\r\n }\r\n console.log(\"logic=>responseGroup\", responseGroup);\r\n\r\n return responseGroup;\r\n };\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (!isEmptyObject(requestor)) {\r\n checkedLeaveTemplateLogic(requestor);\r\n }\r\n\r\n if (memoDetail?.memoid === 0) {\r\n if (memoDetail?.checkChangeComp !== true) {\r\n if (\r\n requestor.CompanyNameTh === \"\" ||\r\n requestor.CompanyNameEn === \"\"\r\n ) {\r\n if (masterCompanies.length === 1) {\r\n let com_name = masterCompanies[0].CompanyCode + \" : \";\r\n if (userData.Lang === \"EN\") {\r\n com_name = com_name + masterCompanies[0].NameEn;\r\n } else {\r\n com_name = com_name + masterCompanies[0].NameTh;\r\n }\r\n memoDetail.company_name = com_name;\r\n memoDetail.company_id = masterCompanies[0].CompanyId;\r\n }\r\n } else {\r\n if (userData.Lang === \"EN\") {\r\n memoDetail.company_name = requestor.CompanyNameEn;\r\n } else {\r\n memoDetail.company_name = requestor.CompanyNameTh;\r\n }\r\n memoDetail.company_id = requestor.CompanyId;\r\n }\r\n }\r\n }\r\n });\r\n }, [requestor]);\r\n async function checkedLeaveTemplateLogic(_requestor: any) {\r\n if (checkedLeaveTemplate) {\r\n var _responeData = await GetLeaveTemplateByEmpId(_requestor.EmployeeId);\r\n console.log(_responeData, \"_responeData\");\r\n\r\n setLeaveTypeTable(_responeData);\r\n }\r\n const temp = await prepareInitialLogic(\r\n allLogic,\r\n memoDetail.template_desc,\r\n memoDetail.statusm,\r\n memoDetail.requestor\r\n );\r\n console.log(\"request=>temp\", temp);\r\n memoDetail.template_desc = temp;\r\n setMemoDetail(memoDetail);\r\n\r\n // for MBK SITE only\r\n if (mbkOnlyU !== null && mbkOnlyU.length > 0) {\r\n console.log(\"xxxxxx\", mbkOnlyU[0].Value1);\r\n if (mbkOnlyU[0].Value1 === \"True\") {\r\n console.log(\"reset\", mbkOnlyU);\r\n reset(temp);\r\n }\r\n }\r\n }\r\n\r\n //process datalineapprove logic\r\n const onProcessLogicLineApprove = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => {\r\n const jsonValue: ILogicTypeDataLineApprove =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n const conditionsValue = onFilterCondotionsValue(\r\n jsonValue,\r\n control,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n if (conditionsValue.length > 0) {\r\n return JSON.stringify({\r\n logicid: logic.logicid,\r\n conditions: conditionsValue,\r\n });\r\n }\r\n return false;\r\n };\r\n\r\n const onFilterCondotionsValue = (\r\n jsonValue: ILogicTypeDataLineApprove,\r\n _control: any,\r\n controlTemplate: any,\r\n controlValue: any\r\n ) => {\r\n let conditions: { label: string; value: string; action?: string }[] = [];\r\n for (let i = 0; i < jsonValue.Conditions.length; i++) {\r\n const condition = jsonValue.Conditions[i];\r\n\r\n if (condition.label === controlTemplate.label) {\r\n conditions.push({\r\n label: condition.label,\r\n value: controlValue ? controlValue.toLocaleString() : \"0\",\r\n action: condition.action,\r\n });\r\n } else {\r\n for (let j = 0; j < _control.length; j++) {\r\n const item = _control[j];\r\n\r\n for (let k = 0; k < item.layout.length; k++) {\r\n const layout = item.layout[k];\r\n\r\n if (\r\n condition.label === layout.template.label &&\r\n layout.template.label !== controlTemplate.label\r\n ) {\r\n conditions.push({\r\n label: condition.label,\r\n value: layout.data.value\r\n ? layout.data.value.toLocaleString()\r\n : \"0\",\r\n action: condition.action,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return conditions;\r\n };\r\n\r\n async function renderSelectedRequestor(_requestor: any) {\r\n try {\r\n console.log(checkActionPage);\r\n // initial save JsonCondition(logictype=\"datalineapprove\") when change requestor\r\n // when change requestor the current level must be 0\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n current_approval_level: 0,\r\n }));\r\n\r\n if (checkActionPage) {\r\n if (memoDetail) {\r\n let allTemplateControl: any;\r\n if (memoDetail.template_desc.items) {\r\n allTemplateControl = memoDetail.template_desc.items.map(\r\n (item: any) => {\r\n return item;\r\n }\r\n );\r\n } else {\r\n allTemplateControl = \"\";\r\n }\r\n\r\n const logicDataLineApprove = allLogic.find((item: any) => {\r\n return item.logictype === \"datalineapprove\";\r\n });\r\n\r\n if (logicDataLineApprove) {\r\n const logiceiei = JSON.parse(logicDataLineApprove.jsonvalue);\r\n memoDetail.template_desc.items.map(async (detail: any) => {\r\n const desc = detail.layout.find(\r\n (item: any) => item.template.label === logiceiei.label\r\n );\r\n if (desc) {\r\n const responseData = await onProcessLogicLineApprove(\r\n logicDataLineApprove,\r\n desc,\r\n desc.data.value,\r\n allTemplateControl\r\n );\r\n\r\n getLineApproveForAmount(\r\n Number(memoDetail.amount.replaceAll(\",\", \"\")),\r\n responseData,\r\n \"requestor\",\r\n undefined,\r\n _requestor\r\n );\r\n }\r\n });\r\n } else {\r\n getLineApproveForAmount(\r\n Number(memoDetail.amount.replaceAll(\",\", \"\")),\r\n undefined,\r\n \"requestor\",\r\n undefined,\r\n _requestor\r\n );\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"renderSelectedRequestor=>error\", error);\r\n }\r\n }\r\n\r\n async function checkTemplateVersion(listFormName: any, memoDetail: any) {\r\n if (listFormName.IsFormControl) {\r\n const _templateApproveId = Number(memoDetail.TemplateApproveId);\r\n let _listTemplate = await SearchTemplateListEditing({\r\n TemplateId: null,\r\n CreatedBy: userData.EmployeeId.toString(),\r\n });\r\n let _dataVersionTempVC = await getVersionTempVC();\r\n let arrayEditingVersion = [];\r\n let arrayEditing = [];\r\n for (let i = 0; i < _listTemplate.length; i++) {\r\n const element = _listTemplate[i];\r\n for (let j = 0; j < _dataVersionTempVC.length; j++) {\r\n const _element = _dataVersionTempVC[j];\r\n if (_element.value1 === element.DocumentCode) {\r\n if (_element.value3 === \"Editing\")\r\n arrayEditingVersion.push(element);\r\n }\r\n }\r\n }\r\n\r\n setTemplateListVersion(arrayEditingVersion);\r\n let _responseTemplate: any;\r\n if (memoDetail.TemplateApproveId) {\r\n _responseTemplate = await SearchTemplateListEditing({\r\n TemplateId: _templateApproveId,\r\n });\r\n if (_responseTemplate) {\r\n _responseTemplate = await GetTemplateById({\r\n TemplateId: _templateApproveId,\r\n });\r\n }\r\n console.log(\"_responseTemplate\", _responseTemplate);\r\n\r\n if (_responseTemplate[0]) {\r\n setSelectedTemplateVersion(_responseTemplate[0]);\r\n } else {\r\n setSelectedTemplateVersion(_responseTemplate);\r\n }\r\n }\r\n setIsTemplateVersion(true);\r\n }\r\n }\r\n\r\n const checkLeaveRequestTemplate = async (template_code: string) => {\r\n var _lRTempCode = lRTempCode;\r\n if (_lRTempCode) {\r\n for (let index = 0; index < _lRTempCode.length; index++) {\r\n if (_lRTempCode[index].Value1 === template_code) {\r\n setCheckedLeaveTemplate(true);\r\n } else {\r\n setCheckedLeaveTemplate(false);\r\n }\r\n }\r\n }\r\n };\r\n const replaceTitleInfo = async (memoDetail: IMemoDetailModel) => {\r\n var _responeADTitle = await ADTitleConfiguration();\r\n if (_responeADTitle?.activeBranchFromADTitle?.toLowerCase() === \"true\") {\r\n setIsBranchFromADTitle(true);\r\n }\r\n if (_responeADTitle?.activeADTitleToPosition?.toLowerCase() === \"false\") {\r\n if (memoDetail?.requestor?.ADTitle) {\r\n setIsADTitleToPosition(true);\r\n }\r\n }\r\n };\r\n const checkDataAndSetFunction = async (memoDetail: IMemoDetailModel) => {\r\n if (!memoDetail.template_detail || !memoDetail.document_set) {\r\n const _guid = generateQuickGuid();\r\n memoDetail.template_detail = _guid;\r\n memoDetail.document_set = _guid;\r\n }\r\n\r\n if (memoDetail.memoid === 0) {\r\n if (userData.CompanyNameTh === \"\" || userData.CompanyNameEn === \"\") {\r\n if (masterCompanies.length === 1) {\r\n let com_name = masterCompanies[0].CompanyCode + \" : \";\r\n if (userData.Lang === \"EN\") {\r\n com_name = com_name + masterCompanies[0].NameEn;\r\n } else {\r\n com_name = com_name + masterCompanies[0].NameTh;\r\n }\r\n memoDetail.company_name = com_name;\r\n memoDetail.company_id = masterCompanies[0].CompanyId;\r\n }\r\n } else {\r\n if (userData.Lang === \"EN\") {\r\n memoDetail.company_name = userData.CompanyNameEn;\r\n } else {\r\n memoDetail.company_name = userData.CompanyNameTh;\r\n }\r\n memoDetail.company_id = userData.CompanyId;\r\n }\r\n }\r\n\r\n if (memoDetail.project_id !== 0) {\r\n masterProjects.map((_item: any) => {\r\n if (memoDetail.project_id === _item.ProjectId) {\r\n setProject(_item);\r\n }\r\n });\r\n }\r\n if (memoDetail.to) {\r\n const _spited = memoDetail.to.split(\",\");\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: _spited,\r\n }));\r\n }\r\n if (memoDetail.pass) {\r\n const _spited = memoDetail.pass.split(\",\");\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: _spited,\r\n }));\r\n }\r\n };\r\n const checkState = (\r\n memoStatus: string,\r\n listFormName: any,\r\n memoButtons: any[]\r\n ) => {\r\n if (\r\n memoStatus === \"Draft\" ||\r\n memoStatus === \"New Request\" ||\r\n memoStatus === \"Rework\" ||\r\n memoStatus === \"Recall\"\r\n ) {\r\n setCanEditDoc(true);\r\n setCanEditRefDoc(true);\r\n if (listFormName.IsRequesterEditApproval) {\r\n setCanEditLineApprove(listFormName.IsRequesterEditApproval);\r\n }\r\n } else if (\r\n memoStatus === \"Completed\" ||\r\n memoStatus === \"Rejected\" ||\r\n memoStatus === \"Cancelled\"\r\n ) {\r\n if (memoButtons.length > 0) {\r\n setCanEditDoc(true);\r\n }\r\n setCanEditLineApprove(false);\r\n } else {\r\n if (listFormName.ApproverCanEdit) {\r\n setCanEditDoc(true);\r\n if (listFormName.IsRequesterEditApproval) {\r\n setCanEditLineApprove(listFormName.IsRequesterEditApproval);\r\n }\r\n } else {\r\n setCanEditDoc(false);\r\n }\r\n if (listFormName.IsCheckAccess) {\r\n setIsCheckAccess(true);\r\n }\r\n }\r\n //Skipapm\r\n if (skipapm.length > 0) {\r\n setIsSkipapm(skipapm.some((e) => e === listFormName?.DocumentCode));\r\n }\r\n };\r\n async function checkRefTemplate(\r\n template: any,\r\n listRefDocDetails: any,\r\n refDocs: any,\r\n _RefID: string\r\n ) {\r\n const temp = template;\r\n try {\r\n if (temp) {\r\n if (temp?.RefDocDisplay && temp.RefTemplate) {\r\n let _refDoc: any[] = [];\r\n const display = temp?.RefDocDisplay.split(\",\");\r\n const _refTemplate = JSON.parse(temp.RefTemplate);\r\n if (display[2] !== \"Information DocumentNo\") {\r\n refDocs.map((ref: any) => {\r\n if (ref !== null) {\r\n if (display[2] !== \"Information DocumentNo\") {\r\n ref[display[2]] = ref.SelectField.value;\r\n if (typeof ref[display[2]] === \"string\") {\r\n _refDoc.push(ref);\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n _refDoc = refDocs;\r\n }\r\n\r\n let refObject: any = {\r\n option: [],\r\n position: display[0],\r\n mode: display[1],\r\n optionLabel:\r\n display[2] !== \"Information DocumentNo\"\r\n ? display[2]\r\n : \"DocumentNo\",\r\n isDefaultLineApprove: _refTemplate[0].IsDefaultLineApprove,\r\n refIdOnQuery: null,\r\n };\r\n setRefOptions([..._refDoc.filter((e: any) => e)]);\r\n if (_RefID !== \"\") {\r\n const results = _refDoc.filter(\r\n (refDoc: any) => refDoc.DocumentNo === _RefID\r\n );\r\n refObject.refIdOnQuery = _RefID;\r\n previousRefTempSelected.current = results;\r\n setRefTempSelected(results);\r\n } else if (listRefDocDetails?.length > 0) {\r\n const refDocsDetail: any[] = listRefDocDetails;\r\n let results = refDocs.filter(\r\n (refDoc: any) =>\r\n refDocsDetail.find(\r\n (docDetail: any) => docDetail.memoRefdoc_id === refDoc.MemoId\r\n ) || refDoc.DocumentNo === _RefID\r\n );\r\n if (results.length === 0) {\r\n let dataJson: any[] = [];\r\n listRefDocDetails.forEach((e: any) => {\r\n userData.SignPicPath = \"\";\r\n dataJson.push({\r\n memoid: e.memoRefdoc_id,\r\n EmployeeId: userData.EmployeeId.toString(),\r\n actor: userData,\r\n });\r\n });\r\n results = await GetMemoDetailOnlyById(dataJson);\r\n if (display[2] !== \"Information DocumentNo\") {\r\n results = results.map((ref: any) => {\r\n if (ref !== null) {\r\n if (display[2] !== \"Information DocumentNo\") {\r\n let refTemp = JSON.parse(ref.Template_desc);\r\n refTemp.items.forEach((col: any, rowIdx: number) => {\r\n col.layout.forEach((_layout: any, colIdx: number) => {\r\n if (_layout.template.label === display[2]) {\r\n if (_layout.template.type === \"c\") {\r\n ref[display[2]] = Number(\r\n _layout.data.value\r\n ).toLocaleString(\"en-US\", {\r\n minimumFractionDigits: Number(\r\n _layout.template.attribute.decimal\r\n ),\r\n });\r\n } else {\r\n if (_layout.data.value) {\r\n ref[display[2]] = _layout.data.value;\r\n } else {\r\n ref[display[2]] = \"\";\r\n }\r\n }\r\n }\r\n });\r\n });\r\n console.log(\"results\", results, ref, refDocsDetail);\r\n if (typeof ref[display[2]] === \"string\") {\r\n let res: any = {\r\n MemoId: ref.Memoid,\r\n เลขที่เอกสาร: ref.doc_no,\r\n TemplateName: ref.Template_name,\r\n MemoSubject: ref.Subject,\r\n };\r\n res[display[2]] = ref[display[2]];\r\n console.log(\"res\", res);\r\n return res;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n previousRefTempSelected.current = results;\r\n setRefTempSelected(results);\r\n }\r\n setRefAttribute({ ...refObject });\r\n setSearchRefDocData([..._refDoc]);\r\n } else {\r\n setRefTempSelected([]);\r\n setRefAttribute(undefined);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n\r\n const print = () => {\r\n // console.log(\"---------------------MemoPage Value-----------------------\");\r\n console.log(\"memoDetail=>\", memoDetail);\r\n // console.log(\"checkActionPage=>\", checkActionPage);\r\n // console.log({ errors });\r\n // console.log(\"lineApproval=>\", lineApproval);\r\n console.log(\"listFormNames=>\", listFormNames);\r\n // console.log(\"listHistoryDetails=>\", listHistoryDetails);\r\n // console.log(\"listFileAttachDetails=>\", listFileAttachDetails);\r\n // console.log(\"listRefDocDetails=>\", listRefDocDetails);\r\n // console.log(\"---------------------RefDoc Attibute-----------------------\");\r\n console.log(\"refAttibute=>\", refAttribute);\r\n console.log(\"refTempSelected=>\", refTempSelected);\r\n console.log(\"searchRefDocData=>\", searchRefDocData);\r\n\r\n // console.log(\"---------------------MasterData-----------------------\");\r\n // console.log(\"masterSignature=>\", masterSignature);\r\n // console.log(\"validField\", masterDataValidField);\r\n // console.log(\"masteProjects=>\", masteProjects);\r\n // console.log(\"masteEmployee=>\", masteEmployee);\r\n // console.log(\"masteCompanies=>\", masteCompanies);\r\n // console.log(\"searchTemplateListEditing=>\", searchTemplateListEditing);\r\n // console.log(\"menuButton=>\", menuButton);\r\n console.log(\"allLogic=>\", allLogic);\r\n // console.log(\"finFo=>\", finFo);\r\n // console.log(\"listRefDocs=>\", listRefDocs);\r\n // console.log(\"---------------------Can Edit-----------------------\");\r\n // console.log(\"canEditDoc=>\", canEditDoc);\r\n // console.log(\"table=>tableSummaries\", tableSummaries);\r\n // console.log(\"autoNumFormat=>\", autoNumFormat);\r\n };\r\n function dataGetInformationMethodMemoProp(\r\n listFormName: any,\r\n memoDetail: IMemoDetailModel\r\n ) {\r\n memoDetail.memoid = 0;\r\n memoDetail.request_date = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n memoDetail.created_date = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n memoDetail.status = \"New Request\";\r\n memoDetail.modified_date = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n memoDetail.modified_by = userData.EmployeeId.toString();\r\n memoDetail.created_by = userData.EmployeeId.toString();\r\n memoDetail.creator = userData;\r\n memoDetail.requestor = userData;\r\n memoDetail.report_lang = listFormName.ReportLang;\r\n memoDetail.auto_approve = listFormName.AutoApprove;\r\n memoDetail.auto_approve_when = listFormName.AutoApproveWhen;\r\n memoDetail.GroupTemplateName = listFormName.GroupTemplateName;\r\n memoDetail.template_id = listFormName.TemplateId;\r\n memoDetail.template_name = listFormName.TemplateName;\r\n memoDetail.template_code = listFormName.DocumentCode;\r\n memoDetail.document_no = \"Auto Generate\";\r\n memoDetail.waiting_for = userData.NameTh;\r\n memoDetail.waiting_for_id = userData.EmployeeId;\r\n memoDetail.company_name = \"\";\r\n memoDetail.company_id = 0;\r\n memoDetail.project_id = 0;\r\n memoDetail.project = \"\";\r\n memoDetail.subject = listFormName.TemplateSubject;\r\n memoDetail.amount = \"\";\r\n memoDetail.to = listFormName.ToId;\r\n memoDetail.pass = listFormName.CcId;\r\n }\r\n\r\n function toggleSideBar() {\r\n setSidebarState(!sidebarState);\r\n }\r\n\r\n const onSelectView = (text: string) => {\r\n console.log(text, \"props.curPage\");\r\n\r\n setCurPage(text);\r\n setSelectedView(text);\r\n };\r\n\r\n const createTableSums = (templateDesc: any) => {\r\n let sumIntable: any[] = [];\r\n templateDesc?.items?.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any) => {\r\n if (layout.template.type === \"tb\") {\r\n const cols = layout.template.attribute.column;\r\n let sum: any = {};\r\n cols.forEach((e: any) => {\r\n if (e.control.template.type === \"c\") {\r\n sum[e.label] = 0;\r\n }\r\n });\r\n sumIntable.push({ tableTemp: layout.template, AllCol: sum });\r\n }\r\n });\r\n });\r\n\r\n setTableSummaries([...sumIntable]);\r\n };\r\n\r\n function CheckValidField(formData: any) {\r\n const getCheckValid = [];\r\n let datepicker1: any;\r\n let datepicker2: any;\r\n let datepickerLabel1: any;\r\n let datepickerLabel2: any;\r\n if (masterDataValidField) {\r\n try {\r\n const ValidField = masterDataValidField[0];\r\n const masterDataValid = ValidField.Value2.split(\"|\");\r\n const masterDataLabel1 = masterDataValid[0].toString();\r\n const masterDataLabel2 = masterDataValid[1].toString();\r\n\r\n setMessageValidField(masterDataValidField[0].Value4);\r\n formData.items.map((item: any) => {\r\n item.layout.map((layout: any) => {\r\n if (layout.template.label === masterDataLabel1) {\r\n datepicker1 = layout;\r\n datepickerLabel1 = datepicker1.template.label;\r\n }\r\n if (layout.template.label === masterDataLabel2) {\r\n datepicker2 = layout;\r\n datepickerLabel2 = datepicker2.template.label;\r\n }\r\n });\r\n });\r\n if (\r\n datepickerLabel1 === masterDataLabel1 &&\r\n datepickerLabel2 === masterDataLabel2\r\n ) {\r\n let newDate1 = new Date(datepicker1.data.value);\r\n let newDate2 = new Date(datepicker2.data.value);\r\n getCheckValid.push(newDate1, newDate2);\r\n }\r\n } catch (error) {\r\n console.log(\"masterDataValid=>error\", error);\r\n }\r\n }\r\n return getCheckValid;\r\n }\r\n\r\n const onSubmit = async (formData: any, data: IRequestOnSubmit) => {\r\n // variables RequestScreen\r\n console.log(formData, \"formData\");\r\n\r\n const _submitType = data.buttonType;\r\n let _memoDetail: IMemoDetailModel = memoDetail;\r\n let _lineApproval: any[] = lineApproval;\r\n let dateValidField1: any = CheckValidField(formData)[0];\r\n let dateValidField2: any = CheckValidField(formData)[1];\r\n let _listHistoryDetails: any[] = listHistoryDetails;\r\n let _listFileAttachDetails: any[] = listFileAttachDetails;\r\n let _listRefDocDetails: any[] = listRefDocDetails;\r\n let _listControlRunning: any[] = [];\r\n let _listFormNames = listFormNames;\r\n let _userData: IUserModel = userData;\r\n // variables Information\r\n let _listInToAndPass: any = listInToAndPass;\r\n let _project: any = project;\r\n let _tempVersion: any = selectedTemplateVersion;\r\n let message: any = masterDataValidField\r\n ? masterDataValidField[0]\r\n ? masterDataValidField[0].Value4\r\n : \"\"\r\n : \"\";\r\n // test validatt\r\n const dataJson = {\r\n TemplateId: memoDetail.template_id,\r\n };\r\n let _templateIdList: any = await GetTemplateControlById(dataJson);\r\n const _validation = Validation(\r\n _submitType,\r\n memoDetail,\r\n lineApproval,\r\n dateValidField1,\r\n dateValidField2,\r\n message\r\n );\r\n if (\r\n _templateIdList.templateForm?.RequiredAttachment === true &&\r\n _listFileAttachDetails.length === 0\r\n ) {\r\n toggleAlert({\r\n description: `Required Attachment`,\r\n message: `Required Attachment.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n setLoad(true);\r\n\r\n if (!isTextFromValue) {\r\n CheckValidField(formData);\r\n formData.items.map((item: any) => {\r\n item.layout.map((layout: any) => {\r\n if (layout.data.value === null) {\r\n layout.data.value = layout.template?.attribute?.default;\r\n }\r\n });\r\n });\r\n\r\n const formatFormData = formData?.items?.map((item: any, idx: number) => {\r\n return {\r\n ...item,\r\n layout: item.layout?.map((_layout: any, idx2: number) => {\r\n if (_layout.template.type === \"l\") {\r\n return {\r\n ..._layout,\r\n template: {\r\n ..._layout.template,\r\n [\"attribute\"]: null,\r\n },\r\n };\r\n } else {\r\n return _layout;\r\n }\r\n }),\r\n };\r\n });\r\n\r\n _memoDetail.template_desc = JSON.stringify({ items: formatFormData });\r\n } else {\r\n _memoDetail.is_text_form = true;\r\n _memoDetail.template_desc = textFromValue;\r\n }\r\n\r\n if (_validation.length >= 1) {\r\n toggleAlert({\r\n description: `Please fill ${_validation.join(\" , \")}`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n\r\n //set Value\r\n _memoDetail.comment = data?.inputComment || \"\";\r\n _memoDetail.waiting_for = data?.waitingFor || _userData.NameTh;\r\n _memoDetail.waiting_for_id = data?.waitingForId || _userData.EmployeeId;\r\n _memoDetail.to = _listInToAndPass.to.join(\",\");\r\n _memoDetail.pass = _listInToAndPass.pass.join(\",\");\r\n _memoDetail.project_id = _project?.ProjectId || 0;\r\n _memoDetail.project = _project?.ProjectName || \"\";\r\n _memoDetail.TemplateApproveId = _tempVersion?.TemplateId || null;\r\n _memoDetail.actor = _userData;\r\n\r\n if (\r\n autoNumFormat.rowIndex !== -1 &&\r\n _memoDetail.status === \"New Request\" &&\r\n _submitType !== \"rework\" &&\r\n _submitType !== \"recall\" &&\r\n _submitType !== \"return\" &&\r\n _submitType !== \"reply\"\r\n ) {\r\n const runningNumber = await CheckSaveAutonumber(formData);\r\n if (runningNumber) {\r\n _listControlRunning.push(runningNumber);\r\n }\r\n }\r\n if (_listFormNames.IsCheckAccess) {\r\n if (_memoDetail?.actorCheckAccess) {\r\n const checkAccessRequestModel = {\r\n memoid: _memoDetail.memoid?.toString(),\r\n RequesterId: null,\r\n };\r\n\r\n const result = await SetCheckAcces(checkAccessRequestModel);\r\n if (canEditDoc) {\r\n setCanEditDoc(false);\r\n }\r\n }\r\n }\r\n\r\n const _requestMemoPage = {\r\n MemoPage: {\r\n listApprovalDetails: _lineApproval,\r\n listFileAttachDetails: _listFileAttachDetails,\r\n listFormName: [_listFormNames],\r\n listHistoryDetails: _listHistoryDetails,\r\n listRefDocDetails: _listRefDocDetails,\r\n memoDetail: _memoDetail,\r\n listControlRunning: _listControlRunning,\r\n UserPrincipalName: userData.Email,\r\n },\r\n Type: _submitType,\r\n };\r\n console.log(\"memo=>_requestMemoPage\", _requestMemoPage);\r\n let _respone = await ActionMemoPage(_requestMemoPage);\r\n console.log(\"actionAlert=Response=>\", _respone);\r\n if (_respone) {\r\n setActionAlert(_respone);\r\n }\r\n const _checkRespone = ResponeValidation(_respone);\r\n\r\n if (checkRequestActionMemo) {\r\n history.push(\"/RequestActionMemo\");\r\n }\r\n //success\r\n else if (_checkRespone) {\r\n if (checkActionPage === \"edit\" && _submitType === \"draft\") {\r\n checkQuery();\r\n setLoadingPDF(!loadingPDF);\r\n } else {\r\n history.push(\"/Default\", {\r\n responeData: _respone,\r\n msg: `${_submitType} Success`,\r\n });\r\n }\r\n setLoad(false);\r\n }\r\n // something is wrong\r\n else {\r\n toggleAlert({\r\n description: `${_respone.Message}`,\r\n message: `Submit error.`,\r\n type: \"error\",\r\n duration: 99999999,\r\n });\r\n }\r\n setLoad(false);\r\n };\r\n\r\n const IsCheckAccessEditing = () => {\r\n let isCheck = false;\r\n if (memoDetail?.actorCheckAccess?.EmployeeId === userData.EmployeeId) {\r\n isCheck = true;\r\n }\r\n return isCheck;\r\n };\r\n\r\n const CheckSaveAutonumber = async (template_desc: any) => {\r\n try {\r\n const rowIndex = autoNumFormat.rowIndex;\r\n const colIndex = autoNumFormat.colIndex;\r\n if (template_desc) {\r\n let value =\r\n template_desc?.items[rowIndex]?.layout[colIndex]?.data?.value;\r\n const autoTemp = template_desc?.items[rowIndex]?.layout[colIndex];\r\n if (value) {\r\n let requestBody = null;\r\n let newRunning = -1;\r\n if (autoNumFormat.showSymbol) {\r\n const dd = value.split(\"-\");\r\n const gg = dd.slice(0, dd.length - 1);\r\n requestBody = {\r\n Prefix: gg.join(\"-\") + \"-\",\r\n Digit: autoTemp.template.digit,\r\n TemplateId: memoDetail.template_id,\r\n RunningNumber: dd.join(\"-\"),\r\n };\r\n const checkAuto = await GetSaveRunningNumber(requestBody);\r\n const checkNum = checkAuto.split(\"-\");\r\n if (checkNum[0] !== \"\") {\r\n newRunning = checkNum[checkNum.length - 1];\r\n dd[dd.length - 1] = newRunning;\r\n requestBody.RunningNumber = gg.join(\"-\") + \"-\" + newRunning;\r\n }\r\n } else {\r\n requestBody = {\r\n Prefix: autoNumFormat.fisrtPreix,\r\n Digit: autoTemp.template.digit,\r\n TemplateId: memoDetail.template_id,\r\n RunningNumber: value,\r\n };\r\n const checkAuto = await GetSaveRunningNumber(requestBody);\r\n const checkNum = checkAuto.replaceAll(autoNumFormat.fisrtPreix, \"\");\r\n let dd = value.replaceAll(autoNumFormat.fisrtPreix, \"\");\r\n if (checkNum !== \"\") {\r\n newRunning = checkNum;\r\n dd = newRunning;\r\n if (autoNumFormat?.fisrtPreix) {\r\n requestBody.RunningNumber =\r\n autoNumFormat?.fisrtPreix + newRunning;\r\n }\r\n }\r\n }\r\n\r\n return requestBody;\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"auto=>CheckSaveAutonumber=>error\", error);\r\n }\r\n };\r\n\r\n if (!memoDetail) {\r\n return <>;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n {!isLoad && (\r\n \r\n {checkActionPage === \"add\" && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n\r\n {((checkActionPage === \"edit\" && !memoDetail?.actorCheckAccess) ||\r\n IsCheckAccessEditing()) && (\r\n \r\n )}\r\n {checkActionPage === \"edit\" && (\r\n <>\r\n {loadingPDF && (\r\n \r\n )}\r\n {!loadingPDF && (\r\n \r\n )}\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n {!isLoad && (\r\n <>\r\n {sidebarState ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n
\r\n {sidebarState && (\r\n \r\n
\r\n \r\n
\r\n \r\n )}\r\n \r\n print()}\r\n key={selectedView}\r\n initial={{ x: 10, opacity: 0 }}\r\n // whileFocus={{transition: {duration: 0}}}\r\n animate={{ x: 0, opacity: 1 }}\r\n exit={{ x: -10, opacity: 0 }}\r\n transition={{ duration: duration }}\r\n >\r\n {selectedView === \"1\" && (\r\n \r\n )}\r\n {selectedView === \"2\" && (\r\n setDuration(0.2)}\r\n onFocusProps={() => setDuration(0)}\r\n {...{\r\n tableOptions,\r\n setTableOptions,\r\n onProcessLogicReference,\r\n refOptions,\r\n prepareInitialLogic,\r\n isFirstRun,\r\n previousRefTempSelected,\r\n isShowSum,\r\n previousView,\r\n buttonType,\r\n control,\r\n register,\r\n handleSubmit,\r\n onSubmit,\r\n errors,\r\n onControlChange,\r\n allLogic,\r\n reset,\r\n memoDetail,\r\n jsonConditions,\r\n setJsonConditions,\r\n setValue,\r\n canEditDoc,\r\n checkActionPage,\r\n isControlLoading,\r\n setIsControlLoading,\r\n tableSummaries,\r\n setTableSummaries,\r\n }}\r\n memoDetail={memoDetail}\r\n setMemoDetail={setMemoDetail}\r\n masterCompanies={masterCompanies}\r\n masterEmployee={masterEmployee}\r\n setListInToAndPass={setListInToAndPass}\r\n listInToAndPass={listInToAndPass}\r\n masterProjects={masterProjects}\r\n setProject={setProject}\r\n project={project}\r\n finFo={finFo}\r\n isBranchFromADTitle={isBranchFromADTitle}\r\n checkedLeaveTemplate={checkedLeaveTemplate}\r\n leaveTypeTable={leaveTypeTable}\r\n isTextFromValue={isTextFromValue}\r\n setTextFromValue={setTextFromValue}\r\n textFromValue={textFromValue}\r\n refTempSelected={refTempSelected}\r\n setRefTempSelected={setRefTempSelected}\r\n setSearchRefDocData={setSearchRefDocData}\r\n searchRefDocData={searchRefDocData}\r\n refAttribute={refAttribute}\r\n setSelectedTemplateVersion={setSelectedTemplateVersion}\r\n selectedTemplateVersion={selectedTemplateVersion}\r\n templateListVersion={templateListVersion}\r\n isTemplateVersion={isTemplateVersion}\r\n dialogVisibleInRefTemplate={dialogVisibleInRefTemplate}\r\n setDialogVisibleInRefTemplate={\r\n setDialogVisibleInRefTemplate\r\n }\r\n getLineApproveForAmount={getLineApproveForAmount}\r\n autoNumFormat={autoNumFormat}\r\n lineApproval={lineApproval}\r\n t={t}\r\n actionAlert={actionAlert}\r\n setButtonType={setButtonType}\r\n setEmployeeList={setEmployeeList}\r\n employeeList={employeeList}\r\n edFont={rishFont}\r\n defaultFont={defaultFont}\r\n />\r\n )}\r\n {selectedView === \"3\" && (\r\n \r\n )}\r\n {selectedView === \"4\" && (\r\n \r\n )}\r\n {checkActionPage === \"edit\" && selectedView === \"5\" && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default RequestScreenFix;\r\n","export const UpdateWOLFAccount = async (data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"/api/Account/UpdateWOLFAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const CreateWOLFAccount = async (data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"/api/Account/CreateWOLFAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport {\r\n CreateWOLFAccount,\r\n UpdateWOLFAccount,\r\n} from \"../../../Services/AcountService\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const AccountDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n setError,\r\n getValues,\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n defaultValues: props.formData,\r\n });\r\n const [action, setAction] = useState(\"\");\r\n const { toggleAlert } = useAlert();\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const onsubmit = async (data: any) => {\r\n let result;\r\n let isError = true;\r\n const _baseUrl = window.location.hostname;\r\n\r\n data.Remark =\r\n process.env.NODE_ENV === \"development\"\r\n ? \"devr2.wolfapprove.com\"\r\n : _baseUrl;\r\n if (\r\n data.NewPassword &&\r\n data.NewPassword !== \"\" &&\r\n data.ConfirmNewPassword &&\r\n data.ConfirmNewPassword !== \"\"\r\n ) {\r\n data.IsVerify =\r\n data.IsVerify === undefined || data.IsVerify === \"true\" ? true : false;\r\n data.IsActive =\r\n data.IsActive === undefined || data.IsActive === \"true\" ? true : false;\r\n data.Password = props.formData.Password;\r\n } else if (data.NewPassword && data.NewPassword !== \"\") {\r\n setError(\"ConfirmNewPassword\", {\r\n type: \"custom\",\r\n message: \"Confirm Password is required.\",\r\n });\r\n isError = false;\r\n } else {\r\n const _baseUrl = window.location.hostname;\r\n data.IsVerify =\r\n data.IsVerify === undefined || data.IsVerify === \"true\" ? true : false;\r\n data.IsActive =\r\n data.IsActive === undefined || data.IsActive === \"true\" ? true : false;\r\n data.NewPassword = null;\r\n data.ConfirmNewPassword = null;\r\n\r\n data.Password = props.formData.Password;\r\n }\r\n console.log(\"table=>data\", data);\r\n if (isError) {\r\n if (action === \"add\") {\r\n result = await CreateWOLFAccount(data);\r\n } else {\r\n result = await UpdateWOLFAccount(data);\r\n }\r\n if (result.Remark === \"\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: result.Remark,\r\n message: `Warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n closable={false}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Username\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NewPassword\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"ConfirmNewPassword\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.target.value.toString());\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.target.value.toString());\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n apiName: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast?: any;\r\n}\r\n\r\nexport const DynamicDiaLog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [dynamicColumnsGrid, setDynamicColumnsGrid] = useState([]);\r\n const [obtionList, setObtionList] = useState({});\r\n const [uploadFile, setUploadFile] = useState();\r\n const [copyFormdata, setCopyFormdata] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const toast = useRef(null);\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setCopyFormdata(props.formData);\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n getColumns();\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const GetColumns = () => {\r\n let columns: any[] = [];\r\n Object.keys(props.tableData[0] ? props.tableData[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n if (!key.toLowerCase().includes(\"id\")) {\r\n if (key !== \"SignPicPath\" && key !== \"UrlLogo\") {\r\n columns.push({\r\n key: key,\r\n dataType: typeof props.tableData[0][key],\r\n });\r\n }\r\n }\r\n }\r\n );\r\n return columns;\r\n };\r\n\r\n function getColumns() {\r\n let data: any[] = GetColumns();\r\n let grids: any[] = [];\r\n let dropdownList: string[] = [];\r\n let apiName = props.apiName;\r\n if (apiName.endsWith(\"s\")) {\r\n apiName = apiName.slice(0, -1);\r\n }\r\n\r\n data.forEach((col: any, index: number) => {\r\n if (\r\n !col.key.toLowerCase().includes(\"account\") &&\r\n !col.key.toLowerCase().includes(\"connectionstring\") &&\r\n !col.key.toLowerCase().includes(\"userprincipalname\") &&\r\n !col.key.toLowerCase().includes(\"itemmenu\") &&\r\n !col.key.toLowerCase().includes(\"orderitem\") &&\r\n !col.key.toLowerCase().includes(\"aumenuid\") &&\r\n !col.key.toLowerCase().includes(\"companycodewithname\")\r\n ) {\r\n if (col.key.includes(\"Id\")) {\r\n if (apiName !== \"MasterData\") {\r\n if (\r\n col.key !=\r\n apiName.replace(\" \", \"\").replace(\"Master\", \"\") + \"Id\"\r\n ) {\r\n if (\r\n col.key.toLowerCase().includes(\"reportto\") &&\r\n col.key.toLowerCase().includes(\"manager\")\r\n ) {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"popup\",\r\n index: index,\r\n });\r\n } else {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"object\",\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n } else if (\r\n col.key.toLowerCase() !== \"createdby\" &&\r\n col.key.toLowerCase() !== \"modifiedby\" &&\r\n col.key.toLowerCase() !== \"createddate\" &&\r\n col.key.toLowerCase() !== \"modifieddate\" &&\r\n !col.key.toLowerCase().includes(\"createdby\") &&\r\n !col.key.toLowerCase().includes(\"modifiedby\")\r\n ) {\r\n if (\r\n !dropdownList.includes(col.key.replace(\"Id\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameTh\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameEn\", \"\"))\r\n ) {\r\n if (col.key.includes(\"Pic\")) {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: \"image\",\r\n index: 999,\r\n });\r\n } else if (col.key.includes(\"IsActive\")) {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: \"boolean\",\r\n index: index,\r\n });\r\n } else {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: col.dataType,\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n grids.sort((a, b) => a.index - b.index);\r\n\r\n setDynamicColumnsGrid(_dynamicColumnsGrid(grids));\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n function translateFunc(text: string) {\r\n let textTH = \"\";\r\n\r\n textTH = text.replace(\"PositionLevelId\", \"รหัสระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"PositionLevel\", \"ระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"ProjectNameWithCode\", \"ชื่อ-และรหัสโครงการ\");\r\n textTH = textTH.replace(\"ProjectCode\", \"รหัสโครงการ\");\r\n textTH = textTH.replace(\"ProjectName\", \"ชื่อโครงการ\");\r\n textTH = textTH.replace(\"Name\", \"ชื่อ\");\r\n textTH = textTH.replace(\"Th\", \"ภาษาไทย\");\r\n textTH = textTH.replace(\"En\", \"ภาษาอังกฤษ\");\r\n textTH = textTH.replace(\"RoleDescription\", \"คำอธิบายหน้าที่\");\r\n textTH = textTH.replace(\"value\", \"ค่า\");\r\n textTH = textTH.replace(\"Tel\", \"โทรศัพท์\");\r\n textTH = textTH.replace(\"Web\", \"เว็ปไซต์\");\r\n textTH = textTH.replace(\"Address\", \"ที่อยู่\");\r\n textTH = textTH.replace(\"Company\", \"บริษัท\");\r\n textTH = textTH.replace(\"Code\", \"รหัส\");\r\n textTH = textTH.replace(\"IsActive\", \"สถานะ\");\r\n textTH = textTH.replace(\"Fax\", \"แฟกซ์\");\r\n textTH = textTH.replace(\"UrlLogo\", \"Url ชองโลโก้\");\r\n return textTH;\r\n }\r\n\r\n function manageObjectDatas(fieldName: string, selectedData: any) {\r\n let obtions = obtionList;\r\n obtions[fieldName] = selectedData;\r\n setObtionList({ ...obtions });\r\n }\r\n\r\n function _dynamicColumnsGrid(grids: any) {\r\n let _dataArray: any = [];\r\n let _dataArrayCheck: any = [];\r\n let _dataArraygrid: any = [];\r\n grids.map((col: any, inx: any) => {\r\n _dataArrayCheck.push(col);\r\n if (inx % 2 !== 0) {\r\n _dataArray.push(_dataArrayCheck);\r\n _dataArrayCheck = [];\r\n }\r\n });\r\n\r\n _dataArray.map((col: any, rowIdx: number) => {\r\n let _grid = (\r\n \r\n {col.map((data: any, colIdx: number) => {\r\n let textTH = translateFunc(data.header);\r\n if (data.type === \"string\") {\r\n if (data.header.includes(\"Address\")) {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.header === \"NameTh\" || data.header === \"NameEn\") {\r\n let str = \"\";\r\n if (data.header === \"NameTh\") {\r\n str = \"Name TH\";\r\n } else {\r\n str = \"Name EN\";\r\n }\r\n\r\n return (\r\n <>\r\n {\" \"}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {getFormErrorMessage(data.header)}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n } else if (data.type === \"boolean\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"object\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"number\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n {getFormErrorMessage(data.header)}\r\n \r\n \r\n );\r\n } else if (data.type === \"popup\") {\r\n <>\r\n
\r\n

{data.header}

\r\n

รายงานไปที่

\r\n
\r\n
\r\n (\r\n
\r\n \r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {getFormErrorMessage(\"ReportToEmpCode\")}\r\n
\r\n ;\r\n }\r\n })}\r\n
\r\n );\r\n _dataArraygrid.push(_grid);\r\n });\r\n return [..._dataArraygrid];\r\n }\r\n\r\n const updateChanges = (data: any) => {\r\n try {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n }\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n\r\n if (action === \"add\") {\r\n formData[props.apiName + \"Id\"] = 0;\r\n formData[\"CreatedBy\"] = userData.EmployeeId.toString();\r\n formData[\"CreatedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n } else {\r\n formData = copyFormdata;\r\n }\r\n Object.keys(data).map((key) => {\r\n formData[key] = data[key] === undefined ? \"\" : data[key];\r\n });\r\n if (!isEmptyObject(obtionList)) {\r\n Object.keys(formData).map((key) => {\r\n if (key !== props.apiName + \"Id\") {\r\n Object.keys(obtionList).map((objectKey) => {\r\n if (key.includes(objectKey)) {\r\n Object.keys(obtionList[objectKey]).map((field) => {\r\n if (field.includes(\"Id\")) {\r\n formData[field] = obtionList[objectKey][field];\r\n } else {\r\n if (field === key) {\r\n formData[key] = obtionList[objectKey][key];\r\n } else {\r\n if (\r\n obtionList[objectKey][key.replace(objectKey, \"\")] !==\r\n undefined\r\n ) {\r\n formData[key] =\r\n obtionList[objectKey][key.replace(objectKey, \"\")];\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n formData[\"ModifiedBy\"] = userData.EmployeeId.toString();\r\n formData[\"ModifiedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n\r\n let res: any = await updateDynamic(\r\n props.apiName.replace(\" \", \"\"),\r\n formData\r\n );\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res?.errorMessage || res}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // props.toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n return (\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n breakpoints={{}}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n {dynamicColumnsGrid}\r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n","export const GetUserManualList = async () => {\r\n const respone = await fetch(\"api/UserManual/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n // .filter((e: any) => e.IsActive === true);\r\n};\r\n\r\nexport const AddUserManual = async (formData: any) => {\r\n const respone = await fetch(\"api/UserManual/AddUserManual\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(formData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Col, Form, Row } from \"react-bootstrap\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { UploadFileAttachFiles } from \"../../../Services/AttachFileService\";\r\nimport { AddUserManual } from \"../../../Services/UserManualService\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Popover } from \"antd\";\r\nimport { AiOutlineClose } from \"react-icons/ai\";\r\nimport \"./UserManualDialog.css\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { GetAllMasterData } from \"../../../Services/MasterDataService\";\r\n\r\ntype Props = {\r\n // visible: any;\r\n // onHide: () => void;\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n};\r\n\r\ninterface IUserManualForm {\r\n ActorId: number;\r\n ActorName: string;\r\n UserManualGroupName: string;\r\n AttachedDate: string;\r\n AttachFile: string;\r\n FileName: string;\r\n FileDescription: string;\r\n FilePath: string;\r\n TagKeyword: string;\r\n Sep: number;\r\n OrderItem: number;\r\n ModifiedBy: string;\r\n ModifiedDate: string;\r\n CreatedBy: string;\r\n CreatedDate: string;\r\n IsActive: boolean;\r\n}\r\ninterface IfileName {\r\n fileName: string;\r\n pathUrl: string;\r\n result: boolean;\r\n}\r\nconst UserManualDialog = (props: Props) => {\r\n const [userManualValue, setUserManualValue] = useState([]);\r\n const [fileName, setFileName] = useState({});\r\n const [configFile, setConfigFile] = useState({});\r\n const [userData, setUserData] = useUserContext();\r\n const [loading, setLoading] = useState(true);\r\n const [action, setAction] = useState(\"\");\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [fileInputType, setfileInputType] = useState(\".pdf\");\r\n const ref = React.useRef();\r\n const { toggleAlert } = useAlert();\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [checkHasValue, setCheckHasValue] = useState(false);\r\n\r\n const {\r\n control,\r\n handleSubmit,\r\n setValue,\r\n reset,\r\n formState: { errors },\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n setCheckHasValue(true);\r\n } else {\r\n setAction(\"add\");\r\n setCheckHasValue(false);\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n fetchMasterData();\r\n setLoading(false);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n const fetchMasterData = async () => {\r\n const masterData = await GetAllMasterData();\r\n if (masterData) {\r\n const masterDataType = masterData?.filter((e: any) => {\r\n return e.MasterType === \"UserManual\" && e.IsActive === true;\r\n });\r\n masterDataType.map((master: any) => {\r\n const userManual = master.Value1.split(\"|\");\r\n const masterDataValue = userManual.map((e: any) => {\r\n return { UserManualGroupName: e };\r\n });\r\n\r\n control._formValues[\"UserManualGroupName\"] = masterDataValue.find(\r\n (e: any) =>\r\n e.UserManualGroupName === props.formData.UserManualGroupName\r\n );\r\n setValue(\r\n \"UserManualGroupName\",\r\n control._formValues[\"UserManualGroupName\"]\r\n );\r\n setUserManualValue([...masterDataValue]);\r\n });\r\n }\r\n };\r\n\r\n async function openWindow(link: any) {\r\n var pathArray = link?.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n const onFileSelect = (e: any) => {\r\n var filename = e.target.value;\r\n const files = e.target.files;\r\n const maxLength = parseInt(configFile.limitFileSize);\r\n const maxMb = 20971520 / 1024 / 1024;\r\n for (let i = 0; i < files.length; i++) {\r\n if (files[i].size >= maxLength) {\r\n toggleAlert({\r\n description: `Can not upload file size more than ${maxMb}.MB File name is ${files[i].name}`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n ref.current.value = null;\r\n return;\r\n }\r\n }\r\n return e.target.files;\r\n };\r\n\r\n async function onUploadFile(file: any) {\r\n let formData = new FormData();\r\n formData.append(`files`, file[0]);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"UserManual\");\r\n formData.append(\"fileDesc\", fileName);\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n\r\n var response: any = await UploadFileAttachFiles(formData);\r\n console.log(\"response=>\", response);\r\n if (response.data) {\r\n if (response.data?.result === true) {\r\n return response.data;\r\n } else {\r\n return null;\r\n }\r\n }\r\n }\r\n\r\n async function acceptSave(formData: any, attachFile: any) {\r\n try {\r\n let userManualformData: any = {};\r\n if (action === \"add\") {\r\n if (attachFile) {\r\n userManualformData.UserManualId = null;\r\n userManualformData.UserManualGroupName =\r\n formData?.UserManualGroupName?.UserManualGroupName;\r\n userManualformData.AttachFile =\r\n attachFile.fileName + \"|\" + attachFile.pathUrl;\r\n userManualformData.FileName = attachFile.fileName;\r\n userManualformData.FileDescription = formData.FileDescription;\r\n userManualformData.TagKeyword = formData.TagKeyword;\r\n userManualformData.Sep = formData.Sep;\r\n userManualformData.IsActive = formData.IsActive;\r\n userManualformData.ActorId = userData.EmployeeId;\r\n userManualformData.ActorName = userData.NameEn;\r\n userManualformData.AttachedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.FilePath = attachFile.pathUrl;\r\n userManualformData.OrderItem = \"1\";\r\n userManualformData.ModifiedBy = userData.EmployeeId.toString();\r\n userManualformData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.CreatedBy = userData.EmployeeId.toString();\r\n }\r\n } else {\r\n if (attachFile) {\r\n userManualformData = props.formData;\r\n userManualformData.UserManualId = props?.formData?.UserManualId;\r\n userManualformData.UserManualGroupName =\r\n formData?.UserManualGroupName?.UserManualGroupName;\r\n userManualformData.AttachFile =\r\n attachFile.fileName + \"|\" + attachFile.pathUrl;\r\n userManualformData.FileName = attachFile.fileName;\r\n userManualformData.FileDescription = formData.FileDescription;\r\n userManualformData.TagKeyword = formData.TagKeyword;\r\n userManualformData.Sep = formData.Sep;\r\n userManualformData.IsActive = formData.IsActive;\r\n userManualformData.ActorId = userData.EmployeeId;\r\n userManualformData.ActorName = userData.NameEn;\r\n userManualformData.AttachedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.FilePath = attachFile.pathUrl;\r\n userManualformData.OrderItem = \"1\";\r\n userManualformData.ModifiedBy = userData.EmployeeId.toString();\r\n userManualformData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.CreatedBy = userData.EmployeeId.toString();\r\n }\r\n }\r\n\r\n var response: any = await AddUserManual(userManualformData);\r\n if (response?.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `(${attachFile.fileName}) has ${action} successfully`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n } else {\r\n toggleAlert({\r\n description: `Server Error Please try again.`,\r\n message: `Server Error`,\r\n type: \"error\",\r\n });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n }\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n const onSubmit = async (data: IUserManualForm) => {\r\n if (props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: async () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n const file = {\r\n fileName: props.formData.FileName,\r\n pathUrl: props.formData.FilePath,\r\n };\r\n if (checkHasValue === false) {\r\n const uploadAttach = await onUploadFile(data.AttachFile);\r\n await acceptSave(data, uploadAttach);\r\n } else {\r\n await acceptSave(data, file);\r\n }\r\n },\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n
\r\n (\r\n <>\r\n {checkHasValue === true && (\r\n <>\r\n {\r\n if (checkHasValue) {\r\n openWindow(props.formData.FilePath);\r\n } else {\r\n setIsModalVisible(true);\r\n }\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderTopLeftRadius: \"6px\",\r\n borderBottomLeftRadius: \"6px\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n />\r\n {\r\n setCheckHasValue(false);\r\n toggleAlert({\r\n description: `กรุณา อัพโหลดไฟล์ PDF ใหม่`,\r\n message: `Please Upload New PDF File`,\r\n type: \"error\",\r\n });\r\n }}\r\n >\r\n \r\n
\r\n \r\n )}\r\n\r\n {checkHasValue === false && (\r\n <>\r\n {\r\n field.onChange(onFileSelect(e));\r\n }}\r\n multiple\r\n />\r\n \r\n )}\r\n \r\n )}\r\n />\r\n
\r\n {fileInputType === \".pdf\" ? (\r\n <>\r\n ) : (\r\n <>\r\n \r\n Please input only PDF file\r\n \r\n \r\n )}\r\n\r\n {getFormErrorMessage(\"AttachFile\")}\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.error,\r\n })}\r\n // className=\"p-d-block p-inputgroup attachForm-border-description-inputText\"\r\n />\r\n )}\r\n />\r\n\r\n {getFormErrorMessage(\"Sep\")}\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default UserManualDialog;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport useLoading from \"../../../hooks/useLoading\";\r\nimport { AccountDialog } from \"../../SettingDialogComponents/AccountDialog/AccountDialog\";\r\nimport { ApprovalMatrixDialog } from \"../../SettingDialogComponents/ApprovalMatrixDIalog/ApprovalMatrixDialog\";\r\nimport { CompanyDialog } from \"../../SettingDialogComponents/CompanyDialog/CompanyDialog\";\r\nimport { DepartmentDialog } from \"../../SettingDialogComponents/Department/DepartmentDialog\";\r\nimport { DivisionDialog } from \"../../SettingDialogComponents/DivisionDialog/DivisionDialog\";\r\nimport EmployeeDialogFix from \"../../SettingDialogComponents/EmployeeDialog/EmployeeDialogFixed\";\r\nimport { EmployeeDialog } from \"../../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { MasterDataDialog } from \"../../SettingDialogComponents/MasterDataDialog/MasterDataDialog\";\r\nimport { MenuDialog } from \"../../SettingDialogComponents/MenuDialog/MenuDialog\";\r\nimport { PositionDialog } from \"../../SettingDialogComponents/PositionDialog/PositionDialog\";\r\nimport { RoleDialog } from \"../../SettingDialogComponents/RoleDialog/RoleDialog\";\r\nimport { DynamicDiaLog } from \"./DynamicDialog\";\r\nimport UserManualDialog from \"../../SettingDialogComponents/UserManualDialog/UserManualDialog\";\r\n\r\ntype Props = {\r\n toast: any;\r\n tableName: string;\r\n apiName: string;\r\n formData: any;\r\n mainDialogVisible: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n tableData: any[];\r\n setTableData: (values: any[]) => void;\r\n subTableData: any[];\r\n setSubTableData: (values: any[]) => void;\r\n reloadData?: (apiPath?: string) => void;\r\n isEditProfile?: boolean;\r\n};\r\n\r\nexport const DialogListFix = ({\r\n toast,\r\n tableName,\r\n apiName,\r\n formData,\r\n toggleMainDialog,\r\n mainDialogVisible,\r\n tableData,\r\n setTableData,\r\n subTableData,\r\n setSubTableData,\r\n reloadData,\r\n}: Props) => {\r\n const [pop_up, setPop_up] = useState();\r\n const { isLoad, setLoad } = useLoading();\r\n const editData = JSON.stringify(formData);\r\n const _editData = JSON.parse(editData);\r\n\r\n const dialogs = [\r\n {\r\n name: \"Employee\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Approval Matrix\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Data\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Company\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Roles\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Position\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Authorized\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Division\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Department\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Account\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"User Manual\",\r\n item: (\r\n \r\n ),\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n let dd = dialogs.filter((data, idx) => {\r\n if (data.name.includes(tableName)) {\r\n return data;\r\n }\r\n });\r\n if (dd.length > 0) {\r\n setPop_up(dd[0]);\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n {pop_up !== undefined ? (\r\n
{pop_up.item}
\r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","export const matrixItemToString = async (\r\n approvalMatrixes: any[],\r\n matrixItems: any[]\r\n) => {\r\n if (matrixItems) {\r\n approvalMatrixes.forEach((approvalMatrix: any, index: number) => {\r\n let mainStr = \"\";\r\n let data = matrixItems.filter(\r\n (item: any) =>\r\n item.ApproveMatrixId === approvalMatrix.ApproveMatrixId &&\r\n item.IsActive === true &&\r\n (item.ApproverId !== 0 || item.PositionLevelId !== 0)\r\n );\r\n\r\n data.sort((a: any, b: any) => (a.Seq > b.Seq ? 1 : -1));\r\n data.forEach((e: any, idx: number) => {\r\n if (idx < 3) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n } else if (idx <= 4) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n }\r\n });\r\n approvalMatrix.AmountFrom_AmountTo = mainStr;\r\n });\r\n }\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Row, Col } from \"react-bootstrap\";\r\nimport { IoAlertCircleOutline } from \"react-icons/io5\";\r\nimport { Button } from \"../../components/Button/Button\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { InputTextComponents } from \"../../components/InputTextComponents/InputTextComponents\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { MdOutlineFormatListBulleted } from \"react-icons/md\";\r\nimport { RiUserSearchLine } from \"react-icons/ri\";\r\nimport { AiFillPlusCircle } from \"react-icons/ai\";\r\n\r\nimport \"./DelegateScreen.css\";\r\nimport { SelectDate } from \"../../components/Select/SelectDate\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport moment from \"moment\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { GetDepartment } from \"../../Services/DepartmentService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { CheckRolePermission } from \"../../Services/AuthorizedService\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { SelectDataDialog } from \"../../components/Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { fontSize } from \"../../components/SettingsSpecComponents/fontList\";\r\nfunction DelegateListScreen() {\r\n const { toggleAlert } = useAlert();\r\n const [isShowApproverModal, setIsShowApproverModal] = useState(false);\r\n const [isDialogApproverVisible, setIsDialogApproverVisible] = useState(false);\r\n const [approverData, setApproverData] = useState([]);\r\n const [approverTextFilter, setApproverTextFilter] = useState(\"\");\r\n const [approver, setApprover] = useState({ name: \"\", ApproverId: null });\r\n const [delegater, setDelegater] = useState({\r\n name: \"\",\r\n DelegateToId: null,\r\n });\r\n const [searchDelegateData, setSearchDelegateData] = useState([]);\r\n const [delegateData, setDelegateData] = useState([]);\r\n const [filterText, setFilterText] = useState(\"\");\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [currentModal, setCurrentModal] = useState(\"\");\r\n const [employeeData, setEmployeeData] = useState([]);\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [defaultDateRange, setDefaultDateRange] = useState();\r\n const [dateRange, setDateRange] = useState(0);\r\n const [dates, setDates] = useState([]);\r\n const [departmentData, setDepartmentData] = useState([]);\r\n const [isAdmin, setIsAdmin] = useState(false);\r\n const [filterEmployee, setFilterEmployee] = useState([]);\r\n const history = useHistory();\r\n const [userData] = useUserContext();\r\n\r\n const toast = useRef(null);\r\n useEffect(() => {\r\n fetchDepartment();\r\n checkIsAdmin();\r\n fetchDataEmployee().then((emp: any) => fetchDelegateList(emp));\r\n }, []);\r\n\r\n const checkIsAdmin = async () => {\r\n const _isAdmin = await CheckRolePermission(userData.EmployeeId);\r\n\r\n setIsAdmin(_isAdmin);\r\n };\r\n\r\n const onSelectView = (e: any) => {};\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const fetchDepartment = async () => {\r\n const department = await GetDepartment();\r\n setDepartmentData([...department]);\r\n };\r\n async function fetchDataEmployee() {\r\n const employee = await GetAllEmployee();\r\n setEmployeeData(employee);\r\n setFilterEmployee(employee);\r\n return employee;\r\n }\r\n const fetchDelegateList = async (emp: any) => {\r\n const _dataDynamic = await GetAllDynamic(\"DelegateList/GetAll\", undefined);\r\n\r\n if (emp) {\r\n const _delegate = _dataDynamic.map((delegate: any) => {\r\n const approverData =\r\n emp.filter((_emp: any) => _emp.EmployeeId === delegate.ApproverId) ||\r\n [];\r\n const assignedData =\r\n emp.filter((_emp: any) => _emp.EmployeeId === delegate.AssignedId) ||\r\n [];\r\n return {\r\n ...delegate,\r\n Approver:\r\n approverData.length > 0\r\n ? userData.Lang === \"EN\"\r\n ? approverData[0].NameEn\r\n : approverData[0].NameTh\r\n : \"Not found.\",\r\n [\"Delegate_To\"]:\r\n assignedData.length > 0\r\n ? userData.Lang === \"EN\"\r\n ? assignedData[0].NameEn\r\n : assignedData[0].NameTh\r\n : \"Not found.\",\r\n };\r\n });\r\n setSearchDelegateData([..._delegate]);\r\n setDelegateData([..._delegate]);\r\n }\r\n };\r\n const onSelectDate = (date: any, label: any) => {\r\n if (date !== null && label === \"List\") {\r\n const result = delegateData.filter((_data: any, idx: any) => {\r\n let momentWorklistFrom = moment(_data.DateFrom, \"DD MMM yyyy\");\r\n let momentWorklistTo = moment(_data.DateTo, \"DD MMM yyyy\");\r\n let formatWorklistFrom = new Date(\r\n moment(momentWorklistFrom).format(\"yyyy/MM/DD\")\r\n );\r\n let formatWorklistTo = new Date(\r\n moment(momentWorklistTo).format(\"yyyy/MM/DD\")\r\n );\r\n let formatDateTo = new Date(moment(date[1]).format(\"yyyy/MM/DD\"));\r\n let formatDateFrom = new Date(moment(date[0]).format(\"yyyy/MM/DD\"));\r\n\r\n if (\r\n formatWorklistFrom >= formatDateFrom &&\r\n formatWorklistTo <= formatDateTo\r\n ) {\r\n return true;\r\n }\r\n });\r\n\r\n setSearchDelegateData([...result]);\r\n setDates([...date]);\r\n } else if (date !== null && label === \"Detail\") {\r\n setSearchDelegateData([...delegateData]);\r\n setDates([...date]);\r\n } else if (date === null) {\r\n setSearchDelegateData([...delegateData]);\r\n setDates([]);\r\n }\r\n };\r\n const onResetFilter = () => {\r\n setApprover({ name: \"\", ApproverId: null });\r\n setDelegater({\r\n name: \"\",\r\n DelegateToId: null,\r\n });\r\n setDates([]);\r\n };\r\n const onInputFilterChange = (e: any) => {\r\n const raw = delegateData;\r\n\r\n const data = raw.filter((data: any) => {\r\n if (data.CreatedBy !== null) {\r\n if (\r\n data.CreatedBy.toUpperCase().indexOf(e.toUpperCase()) !== -1 ||\r\n data.Remark.toUpperCase().indexOf(e.toUpperCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n\r\n setSearchDelegateData([...data]);\r\n setFilterText(e);\r\n };\r\n const onSelectDateRange = (range: string) => {\r\n if (range === undefined) {\r\n setDateRange(0);\r\n }\r\n if (range === \"7 day\") {\r\n setDateRange(7);\r\n }\r\n if (range === \"1 month\") {\r\n setDateRange(31);\r\n }\r\n if (range === \"3 month\") {\r\n setDateRange(91);\r\n }\r\n if (range === \"1 year\") {\r\n setDateRange(366);\r\n }\r\n\r\n setDefaultDateRange(range);\r\n setDates([]);\r\n };\r\n const onTemplateClick = (e: any) => {\r\n history.push(`/Delegate?delegateId=${e.DelegateId}`);\r\n };\r\n const onApproverFilterChange = (e: any) => {\r\n const value = e;\r\n const dataEmp: any = employeeData;\r\n console.log(\"value\", value);\r\n setApproverTextFilter(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n setFilterEmployee([...data]);\r\n };\r\n function showModalApprover(label: any) {\r\n if (approverTextFilter != \"\") {\r\n setApproverTextFilter(\"\");\r\n }\r\n setCurrentModal(label);\r\n setIsDialogApproverVisible(!isDialogApproverVisible);\r\n }\r\n const onEmployeeSelect = (data: any, label: any) => {\r\n if (label === \"approver\") {\r\n setApprover((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? data.NameEn : data.NameTh,\r\n ApproverId: data.EmployeeId,\r\n }));\r\n }\r\n if (label === \"delegate\") {\r\n setDelegater((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? data.NameEn : data.NameTh,\r\n DelegateToId: data.EmployeeId,\r\n }));\r\n }\r\n setIsDialogApproverVisible(!isDialogApproverVisible);\r\n };\r\n\r\n const onDelegateRowSelect = (event: any) => {};\r\n const onClickSearch = async () => {\r\n let momentWorklist;\r\n let formatDate: any[] = [];\r\n if (dates.length > 0) {\r\n for (let i = 0; i < dates.length; i++) {\r\n const date = dates[i];\r\n // momentWorklist = moment(_data.ModifiedDate, \"DD/MM/yyyy\");\r\n formatDate.push(moment(date).format(\"dd/MM/yyyy\"));\r\n }\r\n }\r\n if (approver.ApproverId !== null || delegater.DelegateToId !== null) {\r\n const dataJson = {\r\n ApproverId: approver.ApproverId !== null ? approver.ApproverId : 0,\r\n DelegateToId:\r\n delegater.DelegateToId !== null ? delegater.DelegateToId : 0,\r\n // DateFrom: formatDate.length > 0 ? formatDate[0] : \"\",\r\n // DateTo: formatDate.length > 0 ? formatDate[1] : \"\",\r\n DateFrom: \"\",\r\n DateTo: \"\",\r\n };\r\n console.log(\"formatDate\", formatDate);\r\n\r\n const dataLogic = await fetch(\"api/DelegateList/GetDetailByValue\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log({ data });\r\n if (data) {\r\n const startDate =\r\n formatDate.length > 0 ? moment(formatDate[0]) : undefined;\r\n const endDate =\r\n formatDate.length > 0 ? moment(formatDate[1]) : undefined;\r\n const test = moment(data[0]?.RequestDate);\r\n\r\n const newData = data.filter((delegate: any) =>\r\n moment(delegate.RequestDate).isBetween(startDate, endDate)\r\n );\r\n console.log({ startDate, endDate, newData, test });\r\n }\r\n setApproverData([...data]);\r\n });\r\n } else {\r\n toggleAlert({\r\n description: `Please select Approver or Delegate To`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please select Approver or Delegate To\",\r\n // life: 7000,\r\n // });\r\n }\r\n };\r\n return (\r\n
\r\n {/* {onLoading && (\r\n
\r\n \"loading...\"\r\n
\r\n )} */}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

Delegate List

\r\n history.push(\"/Settings?name=Delegate\")}\r\n >\r\n \r\n Create Delegate\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setCurrentPage(1);\r\n onResetFilter();\r\n }}\r\n >\r\n \r\n Delegate List\r\n \r\n {\r\n setCurrentPage(2);\r\n onResetFilter();\r\n }}\r\n >\r\n \r\n Delegate Detail\r\n \r\n
\r\n
\r\n {currentPage === 2 && (\r\n <>\r\n \r\n \r\n
\r\n Approver : \r\n *\r\n
\r\n

ผู้อนุมัติงาน :

\r\n \r\n \r\n \r\n showModalApprover(\"approver\")}\r\n readOnlyProps={true}\r\n />\r\n showModalApprover(\"approver\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n
\r\n \r\n \r\n
\r\n Delegate to : \r\n *\r\n
\r\n

ผู้อนุมัติงานแทน :

\r\n \r\n \r\n \r\n showModalApprover(\"delegate\")}\r\n readOnlyProps={true}\r\n />\r\n showModalApprover(\"delegate\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Delegated Date Period :\r\n \r\n
\r\n

ช่วงเวลา :

\r\n \r\n \r\n \r\n onSelectDate(e, \"Detail\")}\r\n dateRange={dateRange}\r\n isFullWidth={true}\r\n />\r\n {/* */}\r\n
\r\n \r\n \r\n \r\n \r\n onClickSearch()}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"32px\",\r\n padding: \"0 30px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n onResetFilter()}\r\n setStyleProps={{\r\n backgroundColor: \"#FB3A3A\",\r\n border: \"1px solid #FB3A3A\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"32px\",\r\n padding: \"0 30px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n

Document No.

\r\n \r\n \r\n }\r\n body={(row: any, options: any) => (\r\n \r\n history.push(`Request?MemoID=${row.MemoId}`)\r\n }\r\n >\r\n {row.DocumentNo}\r\n

\r\n )}\r\n >\r\n \r\n \r\n

Form Name

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Date

\r\n \r\n \r\n }\r\n body={(value: any) => {\r\n if (value.RequestDate != \"\") {\r\n let someDateString = moment(\r\n value.RequestDate,\r\n \"YYYY-MM-DD\"\r\n );\r\n console.log(\"value\", value.RequestDate, someDateString);\r\n\r\n const NewDate =\r\n moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n }}\r\n >\r\n \r\n \r\n

Requestor

\r\n \r\n \r\n }\r\n body={(row: any, options: any) =>\r\n employeeData.map((data: any) => {\r\n if (data.EmployeeId === row.RequesterId) {\r\n return

{data.NameTh}

;\r\n }\r\n })\r\n }\r\n >\r\n \r\n \r\n

Department

\r\n \r\n \r\n }\r\n body={(row: any, options: any) =>\r\n departmentData.map((data: any) => {\r\n if (data.DepartmentId === row.RequesterDeptId) {\r\n return

{data.NameTh}

;\r\n }\r\n })\r\n }\r\n >\r\n \r\n \r\n

Status

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Last Action By

\r\n \r\n \r\n }\r\n body={(row: any, options: any) =>\r\n employeeData.map((data: any) => {\r\n if (data.EmployeeId == row.ActionId) {\r\n return

{data.NameTh}

;\r\n }\r\n })\r\n }\r\n >\r\n \r\n \r\n

Waiting For

\r\n \r\n \r\n }\r\n body={(row: any, options: any) =>\r\n employeeData.map((data: any) => {\r\n if (data.EmployeeId === row.WaitingId) {\r\n return

{data.NameTh}

;\r\n }\r\n })\r\n }\r\n >\r\n \r\n \r\n )}\r\n {currentPage === 1 && (\r\n <>\r\n {/* \r\n \r\n
\r\n Search : \r\n
\r\n

ค้นหา :

\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Delegated Date Period :{\" \"}\r\n \r\n
\r\n

ช่วงเวลา :

\r\n \r\n \r\n \r\n onSelectDate(e, \"List\")}\r\n dateRange={dateRange}\r\n isFullWidth={true}\r\n />\r\n \r\n \r\n
*/}\r\n\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n onEmployeeSelect(e, currentModal)}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={isDialogApproverVisible}\r\n setDialogVisible={() => showModalApprover(currentModal)}\r\n />\r\n {/* showModalApprover(currentModal)}\r\n className=\"information-dialog\"\r\n dismissableMask\r\n draggable={false}\r\n resizable={false}\r\n closable={false}\r\n >\r\n onEmployeeSelect(e, currentModal)}\r\n >\r\n \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n */}\r\n \r\n );\r\n}\r\n\r\nexport default DelegateListScreen;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport withPerMission from \"../../../components/HOC/withPermission\";\r\nimport DynamicTable from \"../../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport useLoading from \"../../../hooks/useLoading\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { ButtonComponents } from \"../../../components/ButtonComponents/ButtonComponents\";\r\nimport { TreeSelectNewRequest } from \"../../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { DialogListFix } from \"../../../components/TableComponents/DynamicTableFix/DialogListFix\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { GetAllApprovalMatrixItem } from \"../../../Services/ApprovalMatrixService\";\r\nimport { matrixItemToString } from \"../../../Helper/matrixItemToString\";\r\nimport DelegateListScreen from \"../../DelegateListScreen/DelegateListScreen\";\r\nimport DelegateScreen from \"../../DelegateScreen/DelegateScreen\";\r\nimport SimLineApproveScreen from \"../SimLineApproveScreen/SimLineApproveScreen\";\r\nimport { CheckRolePermission } from \"../../../Services/AuthorizedService\";\r\nimport { getVersionTempVC } from \"../../../Services/MasterDataService\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Popover } from \"antd\";\r\nimport \"primeicons/primeicons.css\";\r\n\r\nconst MasterDatascreenFixed = () => {\r\n const query = new URLSearchParams(useLocation().search);\r\n const [apiName, setApiName] = useState();\r\n const { isLoad, setLoad } = useLoading();\r\n const [dynamicData, setDynamicData] = useState();\r\n const [emp_data, setEmp_data] = useState();\r\n const [subData, setSubData] = useState([]);\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const [_baseUrl, setbaseUrl] = useState();\r\n const history = useHistory();\r\n const toast = useRef(null);\r\n const [dataEdit, setDataEdit] = useState({});\r\n const [displayFormDialog, setDisplayFormDialog] = useState(false);\r\n const [userData] = useUserContext();\r\n const [isAdmin, setIsAdmin] = useState();\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n useEffect(() => {\r\n setLoad(false);\r\n if (process.env.NODE_ENV !== \"development\") {\r\n setbaseUrl(window.location.hostname);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n getQuery();\r\n }, [query]);\r\n\r\n const getQuery = () => {\r\n let eriei = \"\";\r\n\r\n if (query.get(\"name\") !== null && query.get(\"name\") !== undefined) {\r\n eriei = query.get(\"name\") || \"\";\r\n if (eriei === \"AuthorizedMenu\") {\r\n eriei = eriei.replace(\"AuthorizedMenu\", \"Authorized\");\r\n } else if (eriei === \"Organization\") {\r\n eriei = eriei.replace(\"Organization\", \"Department\");\r\n } else if (eriei === \"wolfaccount\") {\r\n eriei = \"Account\";\r\n } else if (eriei === \"MasterProject\") {\r\n eriei = \"Project\";\r\n }\r\n if (eriei.indexOf(\"?\") !== -1) {\r\n eriei = eriei.substring(0, eriei.indexOf(\"?\"));\r\n }\r\n\r\n setApiName(eriei);\r\n }\r\n return eriei;\r\n };\r\n\r\n useEffect(() => {\r\n if (apiName) {\r\n setLoad(true);\r\n fecthData(apiName);\r\n }\r\n }, [apiName]);\r\n\r\n // useEffect(() => {\r\n // if (dynamicData) {\r\n // setLoad(false);\r\n // }\r\n // }, [dynamicData]);\r\n\r\n // useEffect(() => {\r\n // if (displayFormDialog) {\r\n // fecthData(apiName);\r\n // }\r\n // }, [displayFormDialog]);\r\n\r\n function openWindow(link: any) {\r\n var pathArray = link?.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n console.log(\"att=>\", _link);\r\n\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n console.log(\"att=>\", `${_sharepointSiteURL}${_link}`);\r\n\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n const toggleMainDialog = (state: boolean, action: string) => {\r\n if (!state) {\r\n setDisplayFormDialog(state);\r\n if (action === \"save\") {\r\n setLoad(true);\r\n fecthData(apiName);\r\n }\r\n }\r\n };\r\n\r\n const fecthData = async (apiPath: string) => {\r\n try {\r\n let _dataDynamic: any;\r\n let _emp_data: any = emp_data;\r\n let _emp_dataFind: any = undefined;\r\n let _apiPath: string = apiPath ? apiPath : getQuery();\r\n if (!_emp_data) {\r\n _emp_data = await GetAllDynamic(\"Employee\" + \"/GetAll\", undefined);\r\n console.log(\"data ===> \", _emp_data);\r\n setEmp_data(_emp_data);\r\n }\r\n const _isAdmin = await CheckRolePermission(\r\n _emp_dataFind ? _emp_dataFind?.EmployeeId : userData.EmployeeId\r\n );\r\n\r\n if (\r\n query.get(\"usrid\") !== null &&\r\n query.get(\"usrid\") !== undefined &&\r\n _isAdmin\r\n ) {\r\n _emp_dataFind = _emp_data.find(\r\n (item: any) => item.EmployeeId === Number(query.get(\"usrid\"))\r\n );\r\n }\r\n\r\n let dataJsonn: any | undefined;\r\n let queryString: any | undefined;\r\n if (apiName === \"TemplateList\") {\r\n let _usrid: number | undefined = undefined;\r\n dataJsonn = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n CreatedBy: _emp_dataFind\r\n ? _emp_dataFind?.EmployeeId?.toString()\r\n : userData.EmployeeId.toString(),\r\n DepartmentId: _emp_dataFind\r\n ? _emp_dataFind?.DepartmentId\r\n : userData.DepartmentId,\r\n Username: _emp_dataFind\r\n ? _emp_dataFind?.Username\r\n : userData.Username,\r\n Email: _emp_dataFind ? _emp_dataFind?.Email : userData.Email,\r\n }),\r\n };\r\n } else if (apiName === \"Account\") {\r\n dataJsonn = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n TinyURL: _userData.TinyURL,\r\n }),\r\n };\r\n } else if (apiName === \"Employee\") {\r\n queryString = {\r\n IsActiveOnly: \"false\",\r\n };\r\n }\r\n\r\n _dataDynamic = await GetAllDynamic(\r\n _apiPath + \"/GetAll\",\r\n dataJsonn,\r\n queryString\r\n );\r\n console.log(\"table=>_dataDynamic\", _dataDynamic);\r\n\r\n let _dataVersionTempVC = await getVersionTempVC();\r\n\r\n for (let i = 0; i < _dataDynamic.length; i++) {\r\n const element = _dataDynamic[i];\r\n for (let j = 0; j < _dataVersionTempVC.length; j++) {\r\n const _element = _dataVersionTempVC[j];\r\n if (_element.value1 === element.DocumentCode) {\r\n _dataDynamic[i].isEditing =\r\n _element.value3 === \"Editing\" ? \"true\" : \"false\";\r\n _dataDynamic[i].isPublishVersion =\r\n _element.value3 === \"Publish\" ? \"true\" : \"false\";\r\n }\r\n }\r\n }\r\n\r\n if (apiPath === \"ApprovalMatrix\") {\r\n await fecthApprovalMatrixItem(_dataDynamic);\r\n }\r\n\r\n if (apiName === \"UserManual\") {\r\n _dataDynamic.map((data: any) => {\r\n if (data.AttachFile) {\r\n const [nameFile, linkFile] = data.AttachFile.split(\"|\");\r\n data.AttachFile = (\r\n <>\r\n \r\n {\r\n openWindow(linkFile);\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderRadius: \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n zIndex: \"1\",\r\n }}\r\n />\r\n \r\n \r\n );\r\n }\r\n });\r\n }\r\n if (apiName === \"Employee\") {\r\n _dataDynamic.map((data: any) => {\r\n if (data.NameTh && data.NameEn) {\r\n data.NameTh = data.NameTh.replace(/\\s+/g, \" \");\r\n data.NameEn = data.NameEn.replace(/\\s+/g, \" \");\r\n }\r\n });\r\n }\r\n\r\n if (_dataDynamic) {\r\n if (_emp_data) {\r\n _dataDynamic.map((e: any) => {\r\n let emp = _emp_data?.find(\r\n (_emp: any) => _emp.EmployeeId.toString() === e.CreatedBy\r\n );\r\n if (emp) {\r\n e.CreatedBy = userData.Lang === \"TH\" ? emp?.NameTh : emp?.NameEn;\r\n } else {\r\n e.CreatedBy = \"\";\r\n }\r\n });\r\n _dataDynamic.map((e: any) => {\r\n let emp = _emp_data?.find(\r\n (_emp: any) => _emp.EmployeeId.toString() === e.ModifiedBy\r\n );\r\n if (emp) {\r\n e.ModifiedBy = userData.Lang === \"TH\" ? emp?.NameTh : emp?.NameEn;\r\n } else {\r\n e.ModifiedBy = \"\";\r\n }\r\n });\r\n }\r\n\r\n setIsAdmin(_isAdmin);\r\n\r\n setDynamicData([..._dataDynamic]);\r\n setLoad(false);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n setLoad(false);\r\n }\r\n };\r\n\r\n const fecthApprovalMatrixItem = async (data: any[]) => {\r\n let matrixItems = await GetAllApprovalMatrixItem();\r\n if (matrixItems) {\r\n matrixItemToString(data, matrixItems);\r\n setSubData([...matrixItems]);\r\n }\r\n };\r\n\r\n const getTableName = () => {\r\n if (apiName === \"ApprovalMatrix\") {\r\n return \"Approval Matrix\";\r\n } else if (apiName === \"MasterData\") {\r\n return \"Master Data\";\r\n } else if (apiName === \"PositionLevel\") {\r\n return \"Position Level\";\r\n } else if (apiName === \"MasterCompany\") {\r\n return \"Master Company\";\r\n } else if (apiName.substring(0, apiName.indexOf(\"?\")) === \"TemplateList\") {\r\n return \"Template List\";\r\n } else if (apiName === \"UserManual\") {\r\n return \"User Manual\";\r\n } else {\r\n return apiName;\r\n }\r\n };\r\n\r\n const actionBodyTemplate = (record: any) => {\r\n return (\r\n \r\n {\r\n if (apiName === \"TemplateList\") {\r\n history.push(\r\n \"/TemplateDetail?TemplateId=\" + record.TemplateId\r\n );\r\n } else {\r\n setDataEdit(record);\r\n setDisplayFormDialog(true);\r\n }\r\n },\r\n },\r\n ]}\r\n dropdownIcon=\"pi pi-ellipsis-v\"\r\n />\r\n \r\n );\r\n };\r\n\r\n if (\r\n apiName !== \"DelegateList\" &&\r\n apiName !== \"SimLineApprove\" &&\r\n apiName !== \"Delegate\"\r\n ) {\r\n if (isLoad) {\r\n return <>;\r\n } else {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {!isLoad && (\r\n

\r\n {apiName === \"ApprovalMatrix\"\r\n ? \"Approval Matrix\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"MasterData\"\r\n ? \"Master Data\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"PositionLevel\"\r\n ? \"Position Level\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"MasterCompany\"\r\n ? \"Master Company\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"MasterCompany\"\r\n ? \"Authorized Menu\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"Authorized\"\r\n ? \"Authorized Menu\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"TemplateList\"\r\n ? \"Template List\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"UserManual\"\r\n ? \"User Manual\" + \"(\" + itemsCount + \")\"\r\n : apiName + \"(\" + itemsCount + \")\"}\r\n

\r\n )}\r\n {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n <>\r\n {\r\n if (apiName === \"TemplateList\") {\r\n history.push(\"/TemplateDetail\");\r\n } else {\r\n setDataEdit({});\r\n setDisplayFormDialog(!displayFormDialog);\r\n }\r\n }}\r\n />\r\n \r\n )}\r\n
\r\n
\r\n {dynamicData && (\r\n <>\r\n \r\n {displayFormDialog && (\r\n \r\n )}\r\n \r\n )}\r\n
\r\n \r\n );\r\n }\r\n } else {\r\n return (\r\n <>\r\n {apiName === \"DelegateList\" && }\r\n {apiName === \"Delegate\" && }\r\n {apiName === \"SimLineApprove\" && }\r\n \r\n );\r\n }\r\n};\r\n\r\nexport default withPerMission(MasterDatascreenFixed);\r\n","import moment from \"moment\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport {\r\n Route,\r\n Switch,\r\n useHistory,\r\n useLocation,\r\n useRouteMatch,\r\n} from \"react-router\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { ReportDialog } from \"../../components/SettingDialogComponents/ReportDialog/ReportDialog\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { CheckAutoReport } from \"../../Services/AppSettingService\";\r\nimport { CheckRolePermission } from \"../../Services/AuthorizedService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { Panel } from \"primereact/panel\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport {\r\n DeleteReport,\r\n ReportTemplateSelectByReportID,\r\n} from \"../../Services/ReportService\";\r\nimport { GetTemplateeBindFormNameDDL } from \"../../Services/TemplateService\";\r\nimport { IReportModel } from \"../../IRequestModel/IReportModel\";\r\nimport SelectedFieldComponent from \"../../components/ReportScreenComponent/SelectedFieldComponent\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { IoArrowBackSharp } from \"react-icons/io5\";\r\nimport { TablePaginationConfig } from \"antd\";\r\nimport DynamicReportFix from \"./DynamicReportFix\";\r\n\r\nconst reportModelIReportModel: IReportModel = {\r\n ReporttemplateID: 0,\r\n ReportName: \"\",\r\n TemplateId: \"\",\r\n Selectedfieldlist: [],\r\n ReportDescription: \"\",\r\n IsPrivate: false,\r\n IsActive: true,\r\n CreatedBy: \"\",\r\n CreatedByname: \"\",\r\n CreatedDate: \"\",\r\n ModifiedBy: \"\",\r\n ModifiedByname: \"\",\r\n ModifiedDate: \"\",\r\n Selectedfieldlistfilter: [],\r\n Columns: [],\r\n Rows: [],\r\n TemplateNewVersion: false,\r\n PageIndex: 0,\r\n PageSize: 10,\r\n CanDelete: false,\r\n RoleId: \"\",\r\n RoleEmp: \"\",\r\n Mode: false,\r\n};\r\n\r\nconst ReportScreenFix = () => {\r\n const location = useLocation();\r\n const apiName = location.pathname.replace(\"/\", \"\");\r\n const [text, setText] = useState(\"\");\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const [reportList, setReportList] = useState();\r\n const [tableData, setTableData] = useState([]);\r\n const [reportColumns, setReportColumns] = useState();\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [template, setTemplate] = useState([]);\r\n const { isLoad, setLoad } = useLoading();\r\n const [editReport, setEditReport] = useState(false);\r\n const [checkReport, setCheckReport] = useState(false);\r\n const [dataEditReport, setDataEditReport] = useState([]);\r\n const [userData] = useUserContext();\r\n const [emp_data, setEmp_data] = useState();\r\n const [_baseUrl, setbaseUrl] = useState();\r\n const [isAdmin, setIsAdmin] = useState();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n const [isAutoReport, setIsAutoReport] = useState(false);\r\n const [canEdit, setCanEdit] = useState(false);\r\n const { url } = useRouteMatch();\r\n let history = useHistory();\r\n\r\n const [paginationOption, setPaginationOption] =\r\n useState({\r\n position: [\"bottomLeft\"],\r\n size: \"small\",\r\n current: 1,\r\n showSizeChanger: true,\r\n onChange: (page, pageSize) => {\r\n let _page: TablePaginationConfig = paginationOption;\r\n _page.current = page;\r\n _page.pageSize = pageSize;\r\n\r\n setPaginationOption(_page);\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n setLoad(true);\r\n const path = apiName.split(\"/\");\r\n if (path[2]) {\r\n history.push(\r\n `${url}/${path[1].replaceAll(\"/\", \"\\\\\")}/${path[2]}/${isAutoReport}`\r\n );\r\n } else {\r\n checkAutoReport();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setLoad(true);\r\n\r\n fetchTemplate();\r\n }, [isAutoReport]);\r\n\r\n useEffect(() => {\r\n fetchReport();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!isAdmin) {\r\n if (tableData) {\r\n const findedData = tableData.find((e: any) => {\r\n if (\r\n e.CreatedBy === userData.NameEn ||\r\n e.CreatedBy === userData.NameTh\r\n ) {\r\n return e;\r\n }\r\n });\r\n if (findedData) {\r\n setCanEdit(true);\r\n }\r\n }\r\n }\r\n }, [tableData]);\r\n\r\n const checkAutoReport = async () => {\r\n const mode = query.get(\"mode\");\r\n const isEnable = await CheckAutoReport();\r\n if (mode === \"test\") {\r\n setIsAutoReport(!isEnable);\r\n } else {\r\n setIsAutoReport(isEnable);\r\n }\r\n };\r\n\r\n async function fetchReport() {\r\n try {\r\n let empList: any[] = [];\r\n let _emp_dataFind: any = undefined;\r\n const userId = query.get(\"usrid\")\r\n ? () => {\r\n setIsAdmin(false);\r\n return query.get(\"usrid\");\r\n }\r\n : userData.EmployeeId;\r\n\r\n const _dataDynamic: any[] = await GetAllDynamic(apiName + \"/GetAll\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n EmployeeId: userId?.toString(),\r\n UserPrincipalName: userData.Email,\r\n }),\r\n });\r\n\r\n const _isAdmin = await CheckRolePermission(\r\n _emp_dataFind ? _emp_dataFind?.EmployeeId : userData.EmployeeId\r\n );\r\n\r\n if (query.get(\"usrid\") && _isAdmin) {\r\n _emp_dataFind = empList.find(\r\n (item: any) => item.EmployeeId === Number(query.get(\"usrid\"))\r\n );\r\n }\r\n\r\n if (reportList === undefined) {\r\n setReportList(_dataDynamic);\r\n }\r\n\r\n if (!emp_data) {\r\n empList = await GetAllDynamic(\"Employee\" + \"/GetAll\", undefined);\r\n setEmp_data(empList);\r\n } else {\r\n empList = emp_data;\r\n }\r\n\r\n const hasMy = _dataDynamic?.find(\r\n (_data: any) =>\r\n _data.CreatedBy === userData.NameTh ||\r\n _data.CreatedBy === userData.NameEn\r\n );\r\n if (hasMy) {\r\n setCanEdit(true);\r\n }\r\n if (empList.length > 0) {\r\n _dataDynamic?.map((e: any) => {\r\n let emp = empList?.find(\r\n (_emp: any) => _emp.EmployeeId === e.CreatedBy\r\n );\r\n if (emp) {\r\n e.CreatedBy = userData.Lang === \"TH\" ? emp?.NameTh : emp?.NameEn;\r\n } else {\r\n e.CreatedBy = \"\";\r\n }\r\n });\r\n _dataDynamic?.map((e: any) => {\r\n let emp = empList?.find(\r\n (_emp: any) => _emp.EmployeeId === e.ModifiedBy\r\n );\r\n if (emp) {\r\n e.ModifiedBy = userData.Lang === \"TH\" ? emp?.NameTh : emp?.NameEn;\r\n } else {\r\n e.ModifiedBy = \"\";\r\n }\r\n });\r\n }\r\n\r\n const uniqueArray = _dataDynamic.filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value);\r\n return (\r\n index ===\r\n _dataDynamic.findIndex((obj: any) => {\r\n return JSON.stringify(obj) === _value;\r\n })\r\n );\r\n });\r\n setIsAdmin(_isAdmin);\r\n setTableData([...uniqueArray]);\r\n setReportColumns(undefined);\r\n setText(\"Report List\");\r\n setLoad(false);\r\n } catch (error) {\r\n console.log(\"report=>error\", error);\r\n setLoad(false);\r\n }\r\n }\r\n\r\n async function fetchTemplate() {\r\n const empid = userData.EmployeeId;\r\n const DepartmentId = userData.DepartmentId;\r\n\r\n const dataJsonn = {\r\n CreatedBy: empid.toString(),\r\n DepartmentId: DepartmentId,\r\n Username: userData.Username,\r\n Email: userData.Email,\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateeBindFormNameDDL(dataJsonn);\r\n\r\n setTemplate(_dataTemplatee);\r\n }\r\n\r\n async function fetchGetReportById(rePortId: any) {\r\n let _ReportById = await ReportTemplateSelectByReportID(rePortId);\r\n setDataEditReport(_ReportById);\r\n }\r\n\r\n const actionBodyTemplate = (record: any) => {\r\n const adminActionBody = [\r\n {\r\n label: \"Edit\",\r\n icon: \"pi pi-pencil\",\r\n command: () => {\r\n fetchGetReportById(record.ReportTemplateId);\r\n setVisibleDialog(true);\r\n setCheckReport(true);\r\n setEditReport(true);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-trash\",\r\n command: () => {\r\n confirmDialog({\r\n message: \"Do you want to delete this report.\",\r\n header: \"Delete\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: async () => {\r\n const res = await DeleteReport(record.ReportTemplateId);\r\n if (res) {\r\n setLoad(true);\r\n fetchReport();\r\n }\r\n },\r\n });\r\n },\r\n },\r\n ];\r\n let _user: any = userData;\r\n if (query.get(\"usrId\")) {\r\n _user = emp_data.find((e: any) => e.EmployeeId == query.get(\"usrId\"));\r\n }\r\n\r\n if (isAdmin && !query.get(\"usrId\")) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if (\r\n record.CreatedBy === _user.NameTh ||\r\n record.CreatedBy === _user.NameEn\r\n ) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n function toggleDialog() {\r\n setVisibleDialog(!visibleDialog);\r\n fetchReport();\r\n setEditReport(false);\r\n }\r\n\r\n if (isLoad) {\r\n return <>;\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

\r\n {text.replace(\"Dynamic\", \"\") + \"(\" + itemsCount + \")\"}\r\n

\r\n {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n {\r\n toggleDialog();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n {\r\n history.push(\r\n `${url}/${record.ReportName.replaceAll(\"/\", \"\\\\\")}/${\r\n record.ReportTemplateId\r\n }/${isAutoReport}`\r\n );\r\n }}\r\n canExport={text !== \"Report List\"}\r\n />\r\n {/* {\r\n history.push(\r\n `${url}/${record.ReportName.replaceAll(\"/\", \"\\\\\")}/${\r\n record.ReportTemplateId\r\n }`\r\n );\r\n }}\r\n actionBodyTemplate={actionBodyTemplate}\r\n setItemsCount={setItemsCount}\r\n canExport={false}\r\n /> */}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n // if (isAutoReport) {\r\n // return (\r\n //
\r\n //
\r\n //
\r\n //
\r\n // \r\n //
\r\n // \r\n //

{text + \"(\" + itemsCount + \")\"}

\r\n // \r\n // {reportList && text !== \"Report List\" && (\r\n // \r\n // }\r\n // onClickProps={() => {\r\n // setTableData([...reportList]);\r\n // setReportColumns(undefined);\r\n // setText(\"Report List\");\r\n // }}\r\n // setStyleProps={{\r\n // height: \"38px\",\r\n // borderRadius: \"6px\",\r\n // border: \"1px solid #F2F2F2\",\r\n // fontSize: \"13px\",\r\n // background: \"#F2F2F2\",\r\n // color: \"#282F6A\",\r\n // width: \"120px\",\r\n // }}\r\n // />\r\n // )}\r\n // {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n // {\r\n // toggleDialog();\r\n // }}\r\n // />\r\n // )}\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {\r\n // if (text === \"Report List\") {\r\n // setLoad(true);\r\n // fecthDataReport(record.ReportTemplateId);\r\n // } else if (record[\"Memo_MemoId\"]) {\r\n // window.open(\r\n // `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n // \"_blank\"\r\n // );\r\n // }\r\n // }}\r\n // canExport={text !== \"Report List\"}\r\n // />\r\n\r\n // \r\n //
\r\n // \r\n // \r\n // );\r\n // } else {\r\n // return (\r\n //
\r\n //
\r\n //
\r\n //
\r\n // \r\n //
\r\n // \r\n //

{text + \"(\" + itemsCount + \")\"}

\r\n // \r\n // {reportList && text !== \"Report List\" && (\r\n // \r\n // }\r\n // onClickProps={() => {\r\n // setTableData([...reportList]);\r\n // setReportColumns(undefined);\r\n // setText(\"Report List\");\r\n // }}\r\n // setStyleProps={{\r\n // height: \"38px\",\r\n // borderRadius: \"6px\",\r\n // border: \"1px solid #F2F2F2\",\r\n // fontSize: \"13px\",\r\n // background: \"#F2F2F2\",\r\n // color: \"#282F6A\",\r\n // width: \"120px\",\r\n // }}\r\n // />\r\n // )}\r\n // {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n // {\r\n // toggleDialog();\r\n // }}\r\n // />\r\n // )}\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {text !== \"\" && (\r\n // <>\r\n // {\" \"}\r\n // {text === \"Report List\" ? (\r\n // {\r\n // if (text === \"Report List\") {\r\n // setLoad(true);\r\n // fecthDataReport(record.ReportTemplateId);\r\n // } else if (record[\"Memo_MemoId\"]) {\r\n // window.open(\r\n // `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n // \"_blank\"\r\n // );\r\n // }\r\n // }}\r\n // canExport={text !== \"Report List\"}\r\n // />\r\n // ) : (\r\n // <>\r\n // \r\n // panelTemplate(option, \"Filter\")\r\n // }\r\n // toggleable\r\n // >\r\n // \r\n // \r\n // \r\n // panelTemplate(option, \"Report\")\r\n // }\r\n // className={\"table-panel\"}\r\n // toggleable\r\n // >\r\n // {gettingReport ? (\r\n // <>\r\n // \r\n // {\r\n // if (text === \"Report List\") {\r\n // setLoad(true);\r\n // fecthDataReport(record.ReportTemplateId);\r\n // } else if (record[\"Memo_MemoId\"]) {\r\n // window.open(\r\n // `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n // \"_blank\"\r\n // );\r\n // }\r\n // }}\r\n // canExport={text !== \"Report List\"}\r\n // />\r\n // \r\n // ) : (\r\n // {\r\n // if (text === \"Report List\") {\r\n // setLoad(true);\r\n // fecthDataReport(record.ReportTemplateId);\r\n // } else if (record[\"Memo_MemoId\"]) {\r\n // window.open(\r\n // `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n // \"_blank\"\r\n // );\r\n // }\r\n // }}\r\n // canExport={text !== \"Report List\"}\r\n // />\r\n // )}\r\n // \r\n // \r\n // )}\r\n // \r\n // )}\r\n\r\n // \r\n //
\r\n // \r\n // \r\n // );\r\n // }\r\n }\r\n};\r\n\r\nexport default ReportScreenFix;\r\n","import { ITimeStampRequest } from \"../IRequestModel/ITimeStamp\";\r\n\r\nexport const GetTimeStamp = async (dataJson: ITimeStampRequest) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TimeStamp/GetTimeStamp\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const UploadTimeStamp = async (fileData: FormData) => {\r\n const respone = await fetch(\"api/TimeStamp/UploadTimeStamp\", {\r\n method: \"POST\",\r\n body: fileData,\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"Success:\", data);\r\n return data;\r\n })\r\n .catch((error) => {\r\n console.error(\"Error:\", error);\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const ExportTimeStamp = async (dataJson: ITimeStampRequest) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TimeStamp/ExportTimeStamp\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","import { Panel } from \"primereact/panel\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { IPaging } from \"../../IRequestModel/IPaginationOptionModel\";\r\nimport { Col, DatePicker, message, Row, Upload, UploadFile } from \"antd\";\r\nimport { UploadOutlined } from \"@ant-design/icons\";\r\nimport type { UploadProps } from \"antd\";\r\n\r\nimport {\r\n ITimeStampRequest,\r\n ITimeStampRespone,\r\n} from \"../../IRequestModel/ITimeStamp\";\r\nimport {\r\n ExportTimeStamp,\r\n GetTimeStamp,\r\n UploadTimeStamp,\r\n} from \"../../Services/TimeStampService\";\r\nimport { TextHeaderComponents } from \"../../components/TextHeaderComponents/TextHeaderComponents\";\r\nimport moment from \"moment\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { Button } from \"primereact/button\";\r\nimport { GrDocumentTxt } from \"react-icons/gr\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { RcFile } from \"antd/es/upload/interface\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { exportExcel } from \"../../Helper/ExportExcel\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { TiExport, TiExportOutline } from \"react-icons/ti\";\r\nimport { AiOutlineExport } from \"react-icons/ai\";\r\n\r\nconst TimeStampScreen = () => {\r\n const toast = useRef(null);\r\n const [dataList, setDataList] = useState([]);\r\n const [isLoadTable, setIsLoadTable] = useState(false);\r\n const [paginationOption, setPaginationOption] = useState({\r\n PageNumber: 1,\r\n PageSize: 10,\r\n });\r\n const [timeStampRequest, setTimeStampRequest] = useState({\r\n SearchDateTimeFrom: moment(new Date()).format(\"YYYY-MM-DD\") + \" 00:00:00\",\r\n SearchDateTimeTo: moment(new Date()).format(\"YYYY-MM-DD\") + \" 23:59:59\",\r\n Paging: {\r\n PageNumber: 1,\r\n PageSize: 10,\r\n },\r\n });\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [fileSelected, setFileSelected] = useState();\r\n const [uploading, setUploading] = useState(false);\r\n const [exporting, setExporting] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const { toggleAlert } = useAlert();\r\n\r\n const {\r\n control,\r\n formState: { errors },\r\n setError,\r\n getValues,\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n defaultValues: timeStampRequest,\r\n });\r\n\r\n const onPageChange = (paginationValue: IPaging) => {\r\n fecthTimeStamp(timeStampRequest, paginationValue);\r\n };\r\n\r\n const fecthTimeStamp = async (\r\n timeStampRequest: ITimeStampRequest,\r\n _paginationOption?: IPaging\r\n ) => {\r\n setIsLoadTable(true);\r\n if (_paginationOption) {\r\n timeStampRequest.Paging = _paginationOption;\r\n }\r\n const res: ITimeStampRespone = await ExportTimeStamp(timeStampRequest);\r\n if (res?.Data && res.Data !== \"[]\") {\r\n // if (res.Paging) {\r\n // timeStampRequest?.Paging = _paginationOption;\r\n let value: IPaging = {\r\n PageNumber: res.Paging.PageNumber,\r\n PageSize: res.Paging.PageSize,\r\n PageCount: res.Paging.PageCount,\r\n RecordCount: res.Paging.RecordCount,\r\n };\r\n\r\n setPaginationOption(value);\r\n // }\r\n setDataList(JSON.parse(res.Data));\r\n } else {\r\n setDataList(JSON.parse(res.Data));\r\n toggleAlert({\r\n description:\r\n \"ข้อมูลในช่วง \" +\r\n moment(timeStampRequest.SearchDateTimeFrom).format(\"YYYY-MM-DD\") +\r\n \" ถึง \" +\r\n moment(timeStampRequest.SearchDateTimeTo).format(\"YYYY-MM-DD\") +\r\n \" ไม่มีข้อมูล\",\r\n message: `Alert`,\r\n type: \"error\",\r\n });\r\n }\r\n setIsLoadTable(false);\r\n };\r\n\r\n const fecthExportTimeStamp = async (timeStampRequest: ITimeStampRequest) => {\r\n setExporting(true);\r\n const res: ITimeStampRespone = await ExportTimeStamp(timeStampRequest);\r\n if (res?.Data && res.Data !== \"[]\") {\r\n exportExcel(\"TimeStamp \", JSON.parse(res.Data));\r\n } else {\r\n toggleAlert({\r\n description:\r\n \"ข้อมูลในช่วง \" +\r\n timeStampRequest.SearchDateTimeFrom +\r\n \" ถึง \" +\r\n timeStampRequest.SearchDateTimeTo +\r\n \" ไม่มีข้อมูล\",\r\n message: `Alert`,\r\n type: \"error\",\r\n });\r\n }\r\n setExporting(false);\r\n };\r\n\r\n const panelTemplate = (options: any, headText: string) => {\r\n const toggleIcon = options.collapsed\r\n ? \"pi pi-chevron-down\"\r\n : \"pi pi-chevron-up\";\r\n const className = `${options.className} justify-content-start`;\r\n const titleClassName = `${options.titleClassName} pl-1`;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {headText}\r\n
\r\n );\r\n };\r\n\r\n const onSubmit = (data: ITimeStampRequest) => {\r\n setTimeStampRequest(data);\r\n if (action === \"get\") {\r\n fecthTimeStamp(data);\r\n } else {\r\n fecthExportTimeStamp(data);\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: string) => {\r\n if (name === \"SearchDateTimeFrom\") {\r\n return (\r\n errors.SearchDateTimeFrom && (\r\n {errors.SearchDateTimeFrom.message}\r\n )\r\n );\r\n } else {\r\n return (\r\n errors.SearchDateTimeTo && (\r\n {errors.SearchDateTimeTo.message}\r\n )\r\n );\r\n }\r\n };\r\n\r\n const filterComponent = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let val: any = \"\";\r\n if (value) {\r\n val = value.format(\"YYYY-MM-DD\") + \" 00:00:00\";\r\n } else {\r\n val = null;\r\n }\r\n field.onChange(val);\r\n }}\r\n allowClear\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"SearchDateTimeFrom\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let val: any = null;\r\n if (value) {\r\n val = value.format(\"YYYY-MM-DD\") + \" 00:00:00\";\r\n } else {\r\n val = null;\r\n }\r\n field.onChange(val);\r\n }}\r\n allowClear\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"SearchDateTimeTo\")}\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n setAction(\"get\");\r\n }}\r\n type={\"submit\"}\r\n style={{\r\n height: \"38px\",\r\n backgroundColor: \"#282F6A\",\r\n color: \"#FFFFFF\",\r\n fontSize: \"13px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n }}\r\n />\r\n \r\n \r\n {\" \"}\r\n {\r\n setDialogVisible(true);\r\n }}\r\n style={{\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n }}\r\n />\r\n \r\n \r\n {\" \"}\r\n {\r\n setAction(\"export\");\r\n }}\r\n loading={exporting}\r\n icon=\"pi pi-file-excel\"\r\n label=\"Export File\"\r\n type={\"submit\"}\r\n style={{\r\n height: \"38px\",\r\n background: \"#28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n }}\r\n />\r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n\r\n const handleUpload = async (e: any) => {\r\n if (e.target.files[0].type === \"text/plain\") {\r\n const formData = new FormData();\r\n formData.append(\"File\", e.target.files[0]);\r\n setFileSelected(formData);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n panelTemplate(option, \"Filter\")}\r\n toggleable\r\n >\r\n {filterComponent()}\r\n \r\n \r\n panelTemplate(option, \"Time Stamp\")\r\n }\r\n className={\"table-panel\"}\r\n toggleable\r\n >\r\n <>\r\n {\r\n console.log(\"table=>total\", total, ranges);\r\n return

Total Record: {total}

;\r\n },\r\n // onChange: (page, pageSize) => {\r\n // let value: IPaging = paginationOption;\r\n // value.PageNumber = page;\r\n // value.PageSize = pageSize;\r\n // onPageChange(value);\r\n // },\r\n }}\r\n onPageChange={onPageChange}\r\n />\r\n \r\n \r\n
\r\n {\r\n setDialogVisible(false);\r\n }}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n if (fileSelected) {\r\n setUploading(true);\r\n const res = await UploadTimeStamp(fileSelected);\r\n if (res) {\r\n toggleAlert({\r\n description: `Import file success.`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n }\r\n setUploading(false);\r\n setDialogVisible(false);\r\n }\r\n }}\r\n style={{\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n width: 110,\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default TimeStampScreen;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\ntype Props = {\r\n uri: string;\r\n};\r\nconst MSDocRenderer = (props: Props) => {\r\n if (!props.uri) return null;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MSDocRenderer;\r\n\r\nconst MSDocFTMaps = {\r\n doc: [\"doc\", \"application/msword\"],\r\n docx: [\r\n \"docx\",\r\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n \"application/octet-stream\",\r\n ],\r\n xls: [\"xls\", \"application/vnd.ms-excel\"],\r\n xlsx: [\r\n \"xlsx\",\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n ],\r\n ppt: [\"ppt\", \"application/vnd.ms-powerpoint\"],\r\n pptx: [\r\n \"pptx\",\r\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\r\n ],\r\n};\r\n\r\nMSDocRenderer.fileTypes = [\r\n ...MSDocFTMaps.doc,\r\n ...MSDocFTMaps.docx,\r\n ...MSDocFTMaps.xls,\r\n ...MSDocFTMaps.xlsx,\r\n ...MSDocFTMaps.ppt,\r\n ...MSDocFTMaps.pptx,\r\n];\r\nMSDocRenderer.weight = 0;\r\n// MSDocRenderer.fileLoader = (props.uri) => fileLoaderComplete();\r\n\r\nconst Container = styled.div`\r\n width: 100%;\r\n`;\r\nconst IFrame = styled.iframe`\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n`;\r\n","/**\r\n * PDFPreviewComponent\r\n * component ที่ใช้ preview PDF file ที่ไม่ใช่ iframe\r\n * โดย PDF จะถูกอ่านด้วน lib PDF.JS ของ Mozilla\r\n * แล้วทำการวาดลง Canvas พร้อมป้องกันคลิกขวา (context menu)\r\n */\r\n\r\nimport React, { ReactElement, useEffect, useState } from \"react\";\r\nimport \"./PDFPreviewComponent.css\";\r\nimport { PDFDocumentProxy } from \"pdfjs-dist\";\r\n\r\nexport function PDFPreviewComponent(props: { src: string }) {\r\n const [element, setElement] = useState([]);\r\n const pdfjs = (window as any).pdfjsLib;\r\n useEffect(() => {\r\n let loadingTask = pdfjs.getDocument(props.src);\r\n loadingTask.promise.then(function (pdf: any) {\r\n let pv: ReactElement[] = [];\r\n for (let i = 1; i <= pdf.numPages; i++) {\r\n pv.push(\r\n
\r\n renderPage(node, pdf, i)}\r\n role=\"presentation\"\r\n >\r\n
\r\n );\r\n }\r\n setElement(pv);\r\n });\r\n }, []);\r\n function renderPage(\r\n canvas: HTMLCanvasElement | null,\r\n pdf: PDFDocumentProxy,\r\n pageNum: number\r\n ) {\r\n if (canvas == null) {\r\n return;\r\n }\r\n\r\n pdf.getPage(pageNum).then(\r\n (page) => {\r\n const scale = 1.5;\r\n let viewport = page.getViewport({ scale: scale * 2 });\r\n\r\n // Support HiDPI-screens.\r\n const outputScale = window.devicePixelRatio || 1;\r\n canvas.width = Math.floor(viewport.width * outputScale);\r\n canvas.height = Math.floor(viewport.height * outputScale);\r\n canvas.style.width = Math.floor(viewport.width / 2) + \"px\";\r\n canvas.style.height = Math.floor(viewport.height / 2) + \"px\";\r\n\r\n let context = canvas.getContext(\"2d\");\r\n\r\n let transform =\r\n outputScale !== 1 ? [outputScale, 0, 0, outputScale, 0, 0] : null;\r\n\r\n let renderContext = {\r\n intent: \"print\",\r\n canvasContext: context,\r\n transform: transform,\r\n viewport: viewport,\r\n };\r\n let renderTask = page.render(renderContext as any);\r\n renderTask.promise.then(\r\n () => {},\r\n (reason) => {\r\n console.error(reason);\r\n }\r\n );\r\n },\r\n (reason) => {\r\n console.error(reason);\r\n }\r\n );\r\n }\r\n\r\n function disableContextMenu(e: React.MouseEvent) {\r\n e.preventDefault();\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {element}\r\n
\r\n \r\n );\r\n}\r\n","import React, { FC, useEffect, useMemo, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport MSDocRenderer from \"../../utils/plugins/msdoc\";\r\n\r\nimport \"./index.css\";\r\nimport { PDFPreviewComponent } from \"../../components/PDFPreviewComponent/PDFPreviewComponent\";\r\ntype Props = {};\r\n\r\nconst PreviewAttachmentScreen: FC = ({}) => {\r\n const [selectedDoc, setSelectedDoc] = useState();\r\n const [fileExt, setFileExt] = useState<\"image\" | \"pdf\" | \"ms\">();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n var _localStorage = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const imageType = [\r\n \"jpg\",\r\n \"jpeg\",\r\n \"jfif\",\r\n \"pjpeg\",\r\n \"pjp\",\r\n \"gif\",\r\n \"png\",\r\n \"svg\",\r\n \"sharepoint\",\r\n ];\r\n const pdfType = [\"pdf\", \"txt\"];\r\n const msType = [\"doc\", \"docx\", \"csv\", \"xls\", \"xlsx\", \"pot\", \"potx\", \"pptx\"];\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n useEffect(() => {\r\n checkQuery();\r\n }, [query]);\r\n useEffect(() => {\r\n // const iframEl = document.getElementById(\"iframePdf\");\r\n // if (iframEl) {\r\n // console.log({ iframEl });\r\n // iframEl.addEventListener(\"contextmenu \", function () {\r\n // console.log(\"Right Click\");\r\n // return false;\r\n // });\r\n // }\r\n // document.addEventListener(\"contextmenu\", (event) => event.preventDefault());\r\n }, []);\r\n\r\n const checkQuery = async () => {\r\n let rootPath: string | null = null;\r\n let docPath: string | null = null;\r\n let fileName: string | null = null;\r\n let ext: string | null = null;\r\n const protocol = window.location.protocol;\r\n const _tinyURL = _localStorage.TinyURL;\r\n\r\n let link = \"\";\r\n if (query.get(\"rootPath\")) {\r\n rootPath = query.get(\"rootPath\");\r\n }\r\n if (query.get(\"docPath\")) {\r\n docPath = query.get(\"docPath\");\r\n }\r\n if (query.get(\"name\")) {\r\n fileName = query.get(\"name\");\r\n }\r\n if (query.get(\"ext\")) {\r\n ext = query.get(\"ext\");\r\n }\r\n console.log(\"link=>\", { ext });\r\n\r\n if (rootPath && docPath && fileName && ext) {\r\n link = \"\";\r\n if (_sharepointSiteURL) {\r\n link = `${_sharepointSiteURL}/${fileName}.${ext}`;\r\n } else {\r\n link = `${protocol}//${_tinyURL}/${rootPath}/${docPath}/${fileName}.${ext}`;\r\n }\r\n console.log({ link });\r\n getTypeOfFile(ext.toLowerCase());\r\n setSelectedDoc(link);\r\n }\r\n };\r\n const getTypeOfFile = (ext: string) => {\r\n const _imageType = imageType.includes(ext);\r\n const _pdfType = pdfType.includes(ext);\r\n const _msType = msType.includes(ext);\r\n\r\n if (_imageType) {\r\n setFileExt(\"image\");\r\n } else if (_pdfType) {\r\n setFileExt(\"pdf\");\r\n } else if (_msType) {\r\n setFileExt(\"ms\");\r\n }\r\n console.log({ _imageType, _pdfType, _msType });\r\n };\r\n return (\r\n \r\n
\r\n \r\n {/*

PreviewAttachmentScreen

*/}\r\n {selectedDoc && fileExt?.toLowerCase() === \"ms\" && (\r\n <>\r\n
\r\n \r\n \r\n \r\n )}\r\n {selectedDoc && fileExt === \"pdf\" && (\r\n <>\r\n \r\n \r\n )}\r\n {selectedDoc && fileExt === \"image\" && (\r\n <>\r\n \r\n\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PreviewAttachmentScreen;\r\n","export default __webpack_public_path__ + \"static/media/correct.0e163e83.png\";","import React, { useEffect } from \"react\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport \"./RequestActionMemo.css\";\r\nimport correct from \"./../../assets/correct.png\";\r\ntype Props = {\r\n PathLogo: any;\r\n};\r\n\r\nfunction RequestActionMemo(props: Props) {\r\n const history = useHistory();\r\n return (\r\n
\r\n
\r\n \"img\"\r\n \"img\"\r\n history.push(\"/Default\")}\r\n >\r\n go to worklist\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default RequestActionMemo;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"../../components/ErrorPageComponent/ErrorPageComponent.css\";\r\ntype Props = {};\r\n\r\nconst RejectBrowser = (props: Props) => {\r\n const [browserConfig] = useState(\r\n JSON.parse(localStorage.getItem(\"mstDatabrowserConfig\") || \"[]\")\r\n );\r\n return (\r\n
\r\n
\r\n
\r\n

Access denied!

\r\n {browserConfig.messages.map((x: any) => (\r\n

{x}

\r\n ))}\r\n {/*

\r\n Browser NOT support this application. Please chooose{\" \"}\r\n \r\n

*/}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RejectBrowser;\r\n","import { Col, ConfigProvider, Row, Table } from \"antd\";\r\nimport React, { Fragment, useEffect, useState } from \"react\";\r\nimport dayjs from \"dayjs\";\r\nimport { ColumnsType } from \"antd/es/table\";\r\nimport { Link } from \"react-router-dom\";\r\nimport \"./BudgetTrackingScreen.css\";\r\n\r\nconst Type = {\r\n BUDGET: \"BUDGET\",\r\n PR: \"PR\",\r\n PO: \"PO\",\r\n PV: \"PV\",\r\n GR: \"GR\",\r\n} as const;\r\n\r\nfunction renderDescription(value: any, record: any) {\r\n let val = record.memoId ? (\r\n \r\n {value}\r\n \r\n ) : (\r\n value\r\n );\r\n switch (record.type) {\r\n case Type.BUDGET:\r\n return {val};\r\n case Type.PR:\r\n return {val};\r\n case Type.PV:\r\n return {val};\r\n case Type.GR:\r\n return {val};\r\n default:\r\n return val;\r\n }\r\n}\r\n\r\nfunction renderNumber(value: number, record: any, index: number, options: any) {\r\n let val = value ? value.toLocaleString() : \"-\";\r\n let view = null;\r\n let color = \"#282f6a\";\r\n if (options.col == \"remaining\") {\r\n let prefix = options.prefix;\r\n let alloc = record[`${prefix}_alloc`];\r\n let remain = record[`${prefix}_remaining`];\r\n if (alloc && remain) {\r\n let percentage = remain / alloc;\r\n if (percentage < 0.1) {\r\n color = \"#f00\";\r\n } else if (percentage < 0.2) {\r\n color = \"#f80\";\r\n }\r\n }\r\n }\r\n switch (record.type) {\r\n case Type.BUDGET:\r\n view = {val};\r\n break;\r\n case Type.PR:\r\n view = {val};\r\n break;\r\n case Type.PV:\r\n view = {val};\r\n break;\r\n default:\r\n view = val;\r\n }\r\n return
{view}
;\r\n}\r\n\r\nfunction genBudgetColumn(prefix = \"\", options = {}) {\r\n const budgetColumn: ColumnsType = [\r\n {\r\n title: \"ALLOCATE\",\r\n dataIndex: `${prefix}_alloc`,\r\n key: `${prefix}_alloc`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, { prefix: prefix, col: \"alloc\" }),\r\n },\r\n {\r\n title: \"RESERVED\",\r\n dataIndex: `${prefix}_reserve`,\r\n key: `${prefix}_reserve`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, { prefix: prefix, col: \"col\" }),\r\n },\r\n {\r\n title: \"USED\",\r\n dataIndex: `${prefix}_used`,\r\n key: `${prefix}_used`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, { prefix: prefix, col: \"used\" }),\r\n },\r\n {\r\n title: \"PAID\",\r\n dataIndex: `${prefix}_paid`,\r\n key: `${prefix}_paid`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, { prefix: prefix, col: \"paid\" }),\r\n },\r\n {\r\n title: \"REMAINING\",\r\n dataIndex: `${prefix}_remaining`,\r\n key: `${prefix}_remaining`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, {\r\n prefix: prefix,\r\n col: \"remaining\",\r\n }),\r\n },\r\n ];\r\n return budgetColumn;\r\n}\r\n\r\nfunction BudgetSummary() {\r\n const columns: ColumnsType = [\r\n {\r\n title: \"Description\",\r\n dataIndex: \"desc\",\r\n key: \"desc\",\r\n fixed: \"left\",\r\n width: 300,\r\n render: (value, record, index) => renderDescription(value, record),\r\n },\r\n {\r\n title: \"Summary\",\r\n children: genBudgetColumn(\"summary\", { fixed: \"left\" }),\r\n fixed: \"left\",\r\n },\r\n ...[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map((m) => {\r\n let day = dayjs().month(m);\r\n return {\r\n title: day.format(\"MMM-YY\"),\r\n key: m,\r\n children: genBudgetColumn(day.format(\"MMM\").toLocaleLowerCase()),\r\n };\r\n }),\r\n ];\r\n\r\n const [data, dataSet] = useState([]);\r\n\r\n useEffect(() => {\r\n fetch(\"budget-summary.json\")\r\n .then((r) => r.json())\r\n .then((r) => {\r\n dataSet(r.data);\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n );\r\n}\r\n\r\nexport default BudgetSummary;\r\n","import { Row, Col, Table, Button } from \"antd\";\r\nimport { ColumnsType } from \"antd/lib/table\";\r\nimport React, { Fragment, useEffect, useState } from \"react\";\r\nimport { PlusOutlined, GlobalOutlined, CheckOutlined } from \"@ant-design/icons\";\r\nimport { Link } from \"react-router-dom\";\r\nimport \"./style.css\";\r\n\r\nenum PublishStatus {\r\n NONE = -1,\r\n BLANK = 0,\r\n WAIT_FOR_APPROVE = 1,\r\n PUBLISH_ON_WEB = 2,\r\n SKIP = 99,\r\n}\r\nenum TrackStatus {\r\n NONE = -1,\r\n BLANK = 0,\r\n WAIT_FOR_APPROVE = 1,\r\n COMPLETED = 2,\r\n}\r\n\r\nexport const ProcurementTracking = () => {\r\n function renderPublish(value: any = { status: -1 }) {\r\n let display = <>;\r\n switch (value.status) {\r\n case PublishStatus.BLANK:\r\n display = (\r\n \r\n