{"version":3,"sources":["Services/AttachFileService.tsx","Helper/ReplaceSpecialChar.tsx","Services/RequestControlService.tsx","Services/UploadFileService.tsx","components/TextHeaderComponents/TextHeaderComponents.tsx","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","Helper/RequestRefFunctions.tsx","Services/DynamicService.tsx","Context/UserContext.tsx","hooks/useAlert.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","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","components/ButtonNav/ButtonNavigation.tsx","IRequestModel/IAuthModel.tsx","Context/AuthContext.tsx","Services/EmployeeService.tsx","Services/PositionService.tsx","Services/DepartmentService.tsx","components/SettingDialogComponents/EmployeeDialog/EmplyeeDialog.tsx","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","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","Context/LoadContext.tsx","hooks/useLoading.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","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/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/DataFechDialogComponents/EmployeeDialog/EmployeeDialog.tsx","components/TemplateDetailComponents/InformationComponents/InformationComponents.tsx","screens/TemplateDetailScreen/TemplateDetailSideBarElement.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","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","routes/Routes.tsx","components/LoadComponent/LoadComponent.tsx","components/LoadComponent/LoadPackageComponent.tsx","assets/wolfLogo.png","App.tsx","registerServiceWorker.js","i18n.tsx","index.tsx","Services/MemoService.tsx","Services/ConfigurationService.tsx","Services/ReportService.tsx","components/Select/SelectionDataDialog/SelectDataDialog.tsx","components/ControlComponents/ComponentLabel.tsx"],"names":["GetAllAttachFiles","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","dataJson","respone","wrap","_context","prev","next","fetch","method","headers","body","JSON","stringify","then","response","json","data","console","log","sent","abrupt","stop","_x","apply","arguments","UploadFileAttachFiles","_ref2","_callee2","_context2","axios","url","catch","err","errUploadAttach","_x2","GetPort","_ref4","_callee4","_context4","errUpload","replaceSpecialChar","str","replace","GetAutoNumber","requestBody","email","window","localStorage","getItem","UserPrincipalName","GetSaveRunningNumber","GetRvsRunning","_ref3","_callee3","_context3","_x3","CanAssignMoreThanOne","result","error","CanRequestCommentMoreThanOne","_ref5","_callee5","_context5","UploadTinyMce","UploadFileRenderControl","TextHeaderComponents","props","useEffect","_jsxs","className","children","isRequir","style","display","alignItems","_jsx","fontSize","lineHeight","marginBottom","color","fontWeight","textHeaderProps","undefined","colorProps","textSubProps","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","i","showSymbol","prefix","dd","con","_dd","_loop2","j","condition","forEach","rowIdx","layout","label","template","delegateYield","t0","type","includes","push","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","_column","tableWidth","widthInTable","Number","alter","dataIndex","editable","isShow","DateInputComponent","actionAlert","_useState","useState","_useState2","action","setAction","checkStatus","Data","ErrorType","Value","formatDate","arrDate","split","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","index","endsWith","filesize","uploadFile","_response$data","formData","_response$data$pathUr","FormData","append","generateQuickGuid","EmployeeId","pathUrl","confirm1","confirmDialog","header","rejectClassName","Dialog","blockScroll","visible","breakpoints","modal","position","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","_value$split","_value$split2","_nameFile","linkFile","_openWindow","_link","protocol","_port","charAt","location","startsWith","open","acceptUpload","Toast","ConfirmDialog","acceptClassName","Popover","content","openWindow","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","backgroundColor","boxShadow","AiOutlineClose","AttachmentControlComponent","AttachmentTableComponent","AntForm","onMouseEnter","onChanceRef","refTempSelected","memoDetail","listFormNames","refAttribute","currentTemp","_onControlChange","listRefDocsDetail","listFileAttachDetails","template_desc","_listRefDocsDetail","docsCode","refColumn","RefDocColumn","RefTemplate","temp","DocumentCode","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","_layout$data","_col$ControlValue","Key","originCol","_colIdx","refCol","_refCol$_colIdx","_toConsumableArray","RefDocDisplay","getMemoForAttch","errorMessage","memoId","memoid","GetAttachmentFilesByMemoId","GetAllDynamic","apiName","queryString","urlParams","UserPrincipal","ConnectionString","URLSearchParams","Scopes","IsActiveOnly","ex","updateDynamic","formBody","model","initialSession","_localStorage","employeeData","UserContext","useContext","UserContextProvider","defaultUserContext","context","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","_j","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","n","_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","_x6","_x7","_ref6","onChangeAttributeTableForm","_x8","_x9","_x10","_x11","_ref7","_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","_useFieldArray","useFieldArray","fields","prepend","remove","swap","move","insert","update","controlRef","logTemplateDesc","returnToValure","gogo","checkIsSummaryWithoutLogic","logics","controlTemplate","processRef","_processRef","refResult","_refResult","refIdOnQuery","current","onRefSelect","t2","refSelected","_listLineApprove","listMemoIds","resApprovals","newControl","isDefaultLineApprove","GetApprovalsByMemoIDs","detechRevisionControl","_onControlChangeRef","isArray","onProcessSummary","jsonCondition","controlValue","_amount","isSum","isControlHasSum","selTable","tableTemp","AllCol","calCulateCorecontrol","currentControl","resulstField","variables","lastIndexOf","selValue","_item$layout","updateTableSummaries","_tableSummaries","_sumTable","checkCallLogic","callLogic","logicType","jsonValue","labelAction","refControl","_jsonConditions","_logics","oldRefControl","_yield$checkCallLogic","_logicType","_i3","onProcessLogic","isInTable","isRef","_logics2","_yield$checkCallLogic2","_logicType2","_controlString","newControlString","sumRes","_yield$onProcessLogic","_args4","columnTb","_templateId","onProcessLogicDataSourceRelated","responseDataSourceLoadRelated","jsonRelated","_jsonValue$relatedval","_templateDesc$items","_item$layout2","_conditions","_relateValue","_item2","keyRelate","valueRelate","_label","values","onProcessLogicAjax","_templateDesc$items2","actionFrom","_item$layout3","onProcessLogicLineApprove","conditionsValue","onFilterCondotionsValue","onProcessLogicDataRelatedToLoadData","_onFindDataJson","rawData","_data2","onFindDataJson","checkIfLogicsHaveValue","_bool","checkIfGetData","isSetLineApprove","controlString","responseData","ee","newColumn","responseDataTable","_i6","_relateGroup","relateData","_responseData","_i8","_i9","_value2","_responseData2","_responseData3","positionControl","_i10","_j4","mapDataItem","actionCol","_responseData3$action","_tableOptions","_responseData4","_i11","processData","rowTemplate","colTemplate","checked","actionsCol","_x28","_x29","_x30","_x31","_x32","_ref12","_x33","_controlValue","_column$control$templ2","exit","_column$control$templ","_ref13","_x34","Conditions","Spin","tip","spinning","labelCol","span","wrapperCol","initialValues","remember","onFinish","Row","Controls","nestIndex","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","tableLoad","setTableLoad","refTableDialogVisible","setRefTableDialogVisible","refTableLoading","setRefTableLoading","refDocOptions","setRefDocOptions","selectedData","setSelectedData","refTableColumn","setRefTableColumn","tableFooter","setTableFooter","enabledpopupdefdoc","fetchRefDocFormTable","handleDelete","filter","summaryFunc","returnToValue","menu","createRowCopy","handleAdd","eiei","handleAddMultiRow","newRows","newJa","_eiei","calCulateFunc","formulas","_result","resultColIdx","resultDecimal","allField","_row$col$label","_row$col$label$toStri","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","_addbits","addbits","s","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","headerEn","dt_Report","Table","components","cell","loading","rowClassName","bordered","scroll","x","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","selectionData","customFooter","ColumnLabel","memo","moveValue","setMoveValue","closable","resizable","onValueChange","inputValue","setInputValue","parser","dup","memoIds","AutoNumber","ButtonComponent","setUrl","useHistory","URL","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","blob","filename","lastModified","now","onEditorChange","editor","handleEditorChange","EmptyComponent","ImageComponent","port","_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","ButtonNavigation","setActive","menuButton","setMenuButton","sortableMenu","setSortableMenu","toggleState","setToggleState","t","useTranslation","useLocation","useMemo","r","GroupMenu","create","newResult","Request","_i","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","href","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","Dropdown","InputSwitch","optionLabel","showClear","filterBy","FiX","FiSave","onSelectFunc","event","headerTh","ButtonNavigationDropdown","nameUser","setNameUser","shortNameUser","setShortNameUser","emailUser","setEmailUser","setEmpData","cookies","_useSessionContext","_useSessionContext2","sessionState","setSessionState","fullName","firstName","lastName","slice","toUpperCase","Panel","Collapse","history","IoPersonOutline","IoMailOutline","BsFillPersonFill","viewBox","xmlns","d","stroke","removeItem","IoLogOutSharp","closeDropdown","defaultActiveKey","mapButton","GetNavbarMenu","mail","navBarData","ChangePasswordModal","handleCancel","onSubmitPassword","isPasswordCompared","Modal","closeIcon","IoMdClose","onCancel","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","_ref14","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","LoginConfiguration","origin","clear","account","getAccountByHomeId","homeAccountId","postLogoutRedirectUri","logoutRedirect","handleOpenEditProfileModal","handleOpenChangePasswordModal","userPopupContent","_baseUrl","hostname","newPassword","oldPassword","webUrl","Remark","state","responeConfig","pathNavbarColor","overlay","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","LoginScreen","_errors$username2","_errors$password2","onLoading","setOnLoading","remarkValid","setRemarkValid","PathCarousel","carouselItem","_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","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","webVersion","setWebVersion","apiVersion","setAPIVersion","fetchVersion","getVersion","ButtonComponents","_props$setLabelProps","setLabelProps","UpdateApprovalMatrix","approvalMatrix","approveMatrixItems","GetAllApprovalMatrixItem","ApprovalMatrixDialog","itemsList","setItemsList","itemsListShow","setItemsListShow","subDialogVisible2","setSubDialogVisible2","setMode","setApprover","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","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","_e$data","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","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","Blob","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","_context17","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","_fav_cookie","_fav_cookie$k","_value$i","selectAll","DefultMode","OnlyActive","GroupTemplateName","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","TemplateName","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","_i2","_arrayItes","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","_showModal","req","_SelectFliedEdit2","arrayFliedTest","arrayFliedId","_selectFliedData","_selectFliedData$i","replaceString","_objJson","_templateSelect","_SelectedfieldlistAll","arrayFieldMulti","_i7","_arraykey","_element6","ReportListTemplateSelect","SelectedfieldlistAll","arrayFliedFliter","_SelectFlied2","_element8","_arrayKey","_i12","_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","dataSelectEmployee","UnAurthorization","withPerMission","Component","assign","_objectDestructuringEmpty","isAuthorize","setIsAuthorizeo","isAdmin","_empData$employeeData","menus","_query","_isAuthorize","_menu$Url","_location$pathname","_menu$Url2","_location$pathname2","_menu$Url3","LoadContext","LoadProvider","isLoad","setLoad","useLoading","SortingButton","sortType","AiOutlineSortAscending","AiOutlineSortDescending","sorterFunc","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","filterType","formatData","getsettingReportTableColumns","getsettingTableColumns","filterFunc","previousFilter","sessionStorage","colField","colType","colWidth","getWitdthFormText","getSorterButton","getInputFilter","onMouseLeave","ellipsis","showTitle","htmlBody","isPublishVersion","Tag","ctx","createElement","getContext","font","measureText","_tableFilter$find","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","pagination","pageSize","showSizeChanger","onRow","onDoubleClick","onContextMenu","GetSignature","GetReportSetting","GetIsDocControl","getAuthorization","getVersionTempVC","GetLeaveTemplate","GetLeaveTemplateByEmpId","GetMasterDataFieldInfo","GetMasterDataBrowserAgent","browsers","value1","messages","value2","SelectedFieldComponent","reportTemp","setReportColumns","setGettingreport","rtcon","setRtcon","findSelected","fecthMasterData","_rtcon","_rtcon$","_rtcon$$value","_selectedfieldlist","_selectedfieldlistfilter","fecthDataReport","fieldCollection","numCols","dateCols","edCols","FavoritesItem","_Number","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","suffix","Decimal","_data$col$key$split","_data$col$key$split2","ReportTemplateSelectByReportID","panelTemplate","headText","toggleIcon","collapsed","titleClassName","togglerClassName","onTogglerClick","Ripple","columnGap","IoArrowBackSharp","headerTemplate","toggleable","_useLoading","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","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","onGlobalFilterChange","dataEmp","_data$NameTh","_data$NameEn","showError","EmployeeDialogFooter","ConfirmMultiSelectEmployee","renderHeader","sentToMemo","inputComment","waiting_for_id","waiting_for","setCommentStatus","pageName","onUpdate","waitingFor","waitingForId","BiCommentDetail","commentStatus","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","GetMemoDetail","Memoid","requestDetails","MemoPage","DetailContentScreen","page","setPage","setPdfData","setMemoMenu","_onFetchPdf","onFetchPdf","MemoID","menuButtonSort","responeData","motion","transition","animate","IoDocumentText","RiNodeTree","BsClockHistory","GrAttachment","IoOpenOutline","AnimatePresence","exitBeforeEnter","initial","opacity","attachfiles","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","f","RiListCheck2","formStatus","IoNewspaperOutline","formType","BiBuildings","allCompany","department","allDepartment","WorklistCardComponent","dataUrl","setDataUrl","isCommentActive","setIsCommentActive","amount_label","currentMemoId","resposeComment","_requestor","Requestor","proppppppp","setContent","Subject","Badge","FaChevronRight","WaitingFor","taskGourp","GetWorkListByTaskGroup","employees","todoFormatDate","todoFormatWaitingFor","todo","_todo","_emp","GetAllHistory","GetApprovalByTemplate","GetAllApprovals","workListData","setWorkListData","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","_itemPerPage","indexOfLastPost","indexOfFirstPost","fetchWorklist","_userData$EmployeeId","task","dateFrom","dateTo","dataWorklist","_args","subtract","iItemPerMore","CountMoreItem","FilterDateFrom","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","getElementsByTagName","overflow","is_text_form","detechAutonumberFormula","CheckSaveAutonumber","ActionMemoPage","listRefDocDetails","_autoFormats","templateId","autoTemp","gg","newRunning","checkAuto","checkNum","RunningNumber","_requestor$EmployeeId","_memoDetail","_dataAttachfiles","_dataApprovals","memoButton","_dataMemobutton","_dataHistory","GetAllMemo","Permission","View","GetButtonMemoByMemoId","formSelect","rawObject","filterStatusWorklistCard","filterFormWorklistCard","filterCompanyWorklistCard","filterDepartmentWorklistCard","filterKeywordWorklistCard","_searchObject$keyword","_todo$DepartmentName","_todo$TemplateName","_todo$CompanyName","_todo$Status","_todo$DocumentNo","_todo$Subject","_waitingFor$NameEn","_requestor$NameEn","_requestor$NameTh","_keyword","filterDateWorklistCard","_searchObject$date","momentWorklist","formatWorklist","formatDateTo","mapWorklistCard","IoMenu","numItem","numItem2","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","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","offset","AddPreFixComponent","_formats$format","setFormats","formatsIdx","setFormatsIdx","saveToFormatAction","setSaveToFormatAction","_format","_attribute","SavePreFix","rowGap","BiFont","AiOutlineFileText","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","CalendarComponent","_props$template$attri6","_props$template$attri7","ChoiceComponent","setInput","setCheckBoxRequire","_props$template$attri8","handleKeyDown","cellEditor","editorCallback","textEditor","onCellEditComplete","newValue","rowEditor","MultiChoiceComponent","displayDropdown","dropdown","setDropdown","_props$template$attri9","setDisplayDropdown","idex","tooltip","tooltipOptions","DropdownComponent","checkBoxRequire","_props$itemsList$item","TemplateModal","_props$data","contentEditor","setContentEditor","_props$data2","setRichText","IoDocumentTextOutline","checkBoxHeading","displayCheckBox","setCheckBoxHeading","NumberComponent","_props$template$attri10","_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","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","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","statusBodyTemplate","sig","SignatureId","getSign","rowInx","onSelected_Sinatures","templateCol","OnchangeTemplate","templateChange","FiPlus","callSelectUserDialog","callSelectRoleDialog","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","_con","Tem_LineId","_approval","ApprovalMatrixId","eIdx","logicControl","cons","methodtype","InsertType","amountstatus","Logictype","Jsonvalue","specificApprovers","cMSTTemplateLogic","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","isDialogVisibleProps","dataProps","findData","setDataProps","showModalProps","searchDataProps","onRowSelect","onRowSelectProps","setisDialogVisibleProps","sortField","sortOrder","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","InformationDataProps","filteredAutoComplete","setFilteredAutoComplete","setKey","setIsloading","setDepartmentSelect","toSelect","setToSelect","ccSelect","setCcSelect","setCategoryFilter","setCcEmpCode","dataToAndCC","_dataToAndCC","_to","_cc","_employeeData","_toArray","_ccArray","ToId","CcId","_event","ExpiredDate","RegisteredDate","_fechEmployee","_fechEmployee2","_fechDepartment2","_props$InformationDat16","_Department","_dataFilterDepartmentId","_department","_props$InformationDat17","_CheckboxCpmponents","_CheckboxCpmponents2","setControlModelObj","_InputText","_InputText2","_AutoComplete2","_ToArray","_CcArray","_fechDepartment","searchAutoComplete","_filteredEmployee","dataemployee","searchEmployeeEnter","checkValidation","_filtered","isVersion","TemplateSubject","isPDFShowInfo","ReportLang","isRequesterEditApproval","isFormControl","TemplateDetailSideBarElement","IoAlertCircleOutline","BsNewspaper","IoPeopleOutline","IoShieldCheckmarkOutline","isCopy","AuthorizationTableDepartment","departmentSelect","departmentPlaceholderDropdown","setDepartmentPlaceholderDropdown","_arrayNull","departmentListProps","departmentRequestProp","depID","depaction","_dataMap","_arrayFilter","departmentManageProp","gatPlaceholder","headerStyle","depname","setValueProps","_setDepartmentSelect","AuthorizationDepartmentModel","departmentSelectManage","setDepartmentSelectManage","departmentSelectRequest","setDepartmentSelectRequest","onSave","setVisibleProps","globalFilterValueTemplate","visibleProps","_Arrayfilters","AuthorizationPermissionModel","_permissionType$formc","_permissionType$formc2","_permissionType$Permi","_permissionType$Permi2","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","arrayDepartment","companyData","CompanyId","actionProps","_arrayAdvanceFormLabal","__data","_arrayColumn","_Informition","formcontrol","labelInformition","Information","_advanceFormJson","advanceFormProps","_arrayRolePermission","Print","_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","host","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","_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","refLogic","requestSelected","setRequestorSelected","requestField","setRequestorField","_fetchRequestorData","fetchRequestorData","refValue","arrayRef","Logics","ReferenceInformation","ReferenceData","setReferenceData","fecthRefInformation","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","sinatureOptions","setSinatureOptions","versionTempVC","setVersionTempVC","templateListVersionHistory","setTemplateListVersionHistory","DepartmentManage","DepartmentRequest","objectDataAuthorization","setObjectDataAuthorization","_useState59","_useState60","validationInformation","setValidationInformation","_useState61","_useState62","setRefLogic","_useState63","_useState64","setDataLogic","intiFunc","_isCopyValue","_fetchPositionLevel","fetchPositionLevel","_fetchMatrix","fetchMatrix","_fetchMasterData","fetchMasterData","_fetchDataAuthorization","fetchDataAuthorization","_templateVersionCode","_versionTemplate","_versionFunction","versionFunction","companies","_dataFilterDepartment","signatrue","_templateList","_templateIdList","_dataLogic","dataValue","_templateIdList2$temp","_templateIdList2$temp2","_templateIdList2$temp3","_templateIdList2","_dataLogic2","_TemplateLogic","_dataValue","_refLogic","_jsonValue","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","confirm","_userData$EmployeeId2","_userData$EmployeeId3","_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","RiDeleteBin6Line","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","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","zz","zz15","priority","valueDropdownInCalendar","FullCalendar","dayGridPlugin","timeGridPlugin","interactionPlugin","initialView","weekends","eventClick","jsEvent","headerToolbar","center","right","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","employeeList","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","GetDashboardFilterStatus","defaultAdvancedFilter","GetDashboardKeyEndpoint","GetDashboardAdvancedFilter","GetDashboardFilterGroupBy","GetDashboardStatusCard","FilterAdvanceSearch","MapDataEndpoint","MapGroupData","fetchProject","defaultFilterStatus","_defaultAdvancedFilter","_filterStatus","_defaultFilter","dataMapping","_dataItemFilter","GetDashboardDefaultFilterConFig","_fieldText","_fieldType","_fieldTextFrom","_fieldTextTo","_filterParameter","fieldType","fieldTextFrom","fieldTextTo","_itemFilter","fieldDisplay","fieldCode","fieldSpited","fieldText","resultCard","_data$split","_data$split2","userPrincipalName","connectionString","_fetchProject","_Project","arrayProject","ProjectName","_defaultFilterStatus","_data$split3","_data$split4","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","setDisabled","_useState65","_useState66","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","report_lang","auto_approve_when","template_code","document_no","company_name","project_id","amount","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","MemoSubject","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","signature","getLineAproveMethodProp","signature_id","signature_th","getRequestorDetailProp","setLineApproveMethodProp","sinatures","acceptMoveto","targetIndex","moveItem","scrollDirection","columnKey","raw","lastData","lineid","addData","RequestorComponent","actionAdd","setIsActionAdd","masterEmployee","setRequestor","renderSelectedRequestor","isADTitleToPosition","masterATDLFT","indexState","setIndexState","setDescriptionRespone","configFile","setConfigFile","config","getUploadFileSettingConfiguration","fechData","maxMb","memo_id","is_merge_pdf","IoMdAlert","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","CannotDowLoadPDFDefaultConfiguration","roleId","AttachDownload","cannotDowLoadPDFDefault","RequestSideBarElement","sidebar","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","_useState67","_useState68","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","RequesterId","checkRefTemplate","_checkRefTemplate","_memoPageModel$listRe","_refDoc","refObject","refDocsDetail","results","GetRefDocTemp","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","ADTitleConfiguration","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","GetMemoDetailById","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","MAdvanceFormByMemoIds","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$pass","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","insertDataByEnter","selecteOrTypeListInToAndPass","masterDataList","userManual","userManualList","manual","_userManual$0$AttachF","_userManual$0$AttachF2","nameFileSplit","linkFileSplit","masterlist","master","UserManualGroupName","com_name","checkChangeComp","LineApprovalsComponentFix","canEditLineApproval","currentLevel","showDialogEmp","setShowDialogEmp","hightLight","setHightLight","_toggleModal","dynamicTable","dropIndex","toggleModal","defSignature","OtherButtonMemoComponent","_props$memoDetail$mem7","_t","_props$permission","_t2","setResponeData","isCheckByOrigin","setIsCheckByOrigin","_setData","IsCheckAccessEditing","_props$memoDetail","_props$memoDetail$mem","_props$memoDetail$mem2","actorCheckAccess","onSetCheckAccess","checkAccessRequestModel","SetCheckAcces","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","_memoDetail$template_","_location$state","_location$state2","_jsx2","checkUseEffect","setCheckUseEffect","setCheckActionPage","setCheckedLeaveTemplate","_setIsControlLoading","setActionAlert","showLoadTimer","hideLoadTimer","isShowLoad","clearTimeout","setCanEditDoc","canEditLineApprove","setCanEditLineApprove","isCheckAccess","setIsCheckAccess","setListFormNames","setListHistoryDetails","setRefAttribute","setRefOptions","setRefLoading","setCanEditRefDoc","setMasterLeaveSpec","masterSignature","setMasterSignature","setMasterATDLFT","setMasterDLAttach","setFinFo","lRTempCode","setLRTempCode","mbkOnlyU","setMbkOnlyU","setMasterProjects","setMasterCompanies","setTemplateListVersion","_useState85","_useState86","_useState87","_useState88","setIsTemplateVersion","_useState89","_useState90","_useState91","_useState92","_useState93","_useState94","_useState95","_useState96","loadingPDF","setLoadingPDF","_useState97","_useState98","setIsShowPdf","_useState99","_useState100","setIsShowSum","_useState101","_useState102","setPermission","_useState103","_useState104","masterDataValidField","setMasterDataValidField","_useState105","_useState106","setMessageValidField","_useState107","_useState108","setDuration","_useState109","_useState110","requestActionMemo","setRequestActionMemo","_useState111","_useState112","checkRequestActionMemo","setCheckRequestActionMemo","_useState113","_useState114","_useState115","_useState116","_useState117","_useState118","_useState119","_useState120","previousAmount","setFocus","_useState121","_useState122","_useState123","_useState124","_useState125","_useState126","_useState127","_useState128","setIsADTitleToPosition","_useState129","_useState130","_useState131","_useState132","_useState133","_useState134","_useState135","_useState136","projects","detectLineApproval","getAllRefDoc","_RefID","optionValue","_signature","checkQuery","autoApprove","canAccess","_usrId","_docTypeCode","_isCopy","_isPreview","_documentNo","getInitialData","_requestDetail$reques","_requestDetail2","_requestDetail3","_requestDetail4","_requestDetail4$reque","_requestDetail4$reque2","userDataByQuery","hasQueryUserId","_isTextForm","canViewAndPrint","memoButtons","templateDescWithLogic","autoNum","_templateDesc","_templateDesc2","_templateDesc3","_requestDetail5","_requestDetail5$reque","_requestDetail5$reque2","mewLine","_templateDescWithLogic","_autoNum","_control2","_templateDesc4","_templateDesc5","getLineApproveAtFirsts","initialActionFiedFormLineApprove","setDefaultTemplateDesc","detechFormulas","checkTemplateVersion","checkDataAndSetFunction","createTableSums","templateItems","templateType","responseDataLineApprove","dataJsonApproverType","approverType","_responseDataLineApprove","onLoadDataLiveApprove","onLoadLiveApproveType","tempdescItem","_templateDesc6","errerrerr","dataLineApprove","_datalineapprove","showTemplate","notInPos","templateLayouts","tbCol","targetCols","notTargetCols","tableCols","notUseCols","_pos$tableCols","_pos$notUseCols","_formulas","memoStatus","_templateDesc7","_templateDesc7$items","initialLogicData","userRole","_loop8","_templateItems2","_templateDesc$items$r","_templateDesc$items$r2","_jsonValue2","newTableOptions","_templateItems4","_j7","_jsonValue3","_i13","_templateItems5","_j8","onCheckUserRolePermissionInLogic","_templateItems","_loop7","_field$column","_pos$tableCols2","rowLength","loadtoLabel","getInitialLogicData","_yield$onFindDataJson","dataSourceLoad","_x35","_x36","userRoles","accessRoles","accessRole","onFilterLoadtoField","onFilterRefFilterField","currentFieldValue","_refFilter","onLoadReferenceData","orCondition","refFilterValueEqualComlumAll","refFilterValue","_i15","_context20","_x37","responseDataReference","refData","_context21","_x38","_x39","_x40","_x41","_ref20","controlName","_context22","_x42","_x43","_x44","_ref21","_loop9","_context25","_loop10","_context24","_context23","SQLCommand","_x45","_checkedLeaveTemplateLogic","_callee26","_context32","statusm","_x46","checkedLeaveTemplateLogic","CompanyNameTh","CompanyNameEn","_ref22","_callee20","_context26","_x47","_x48","_x49","_x50","_renderSelectedRequestor","_callee28","allTemplateControl","logicDataLineApprove","logiceiei","_context34","_ref28","_callee27","desc","_context33","_x64","_x52","_x53","_checkTemplateVersion","_callee29","_templateApproveId","_listTemplate","arrayEditingVersion","_responseTemplate","_context35","IsFormControl","_ref23","_callee21","_lRTempCode","_context27","_x54","_ref24","_callee22","_responeADTitle$activ2","_context28","_x55","_ref25","_callee23","_guid","_spited","_spited2","_context29","_x56","IsRequesterEditApproval","_x57","_x58","_x59","_x60","_callee30","refDocs","_refTemplate","_results","_context36","GetMemoDetailOnlyById","Template_desc","เลขที่เอกสาร","Template_name","sumIntable","CheckValidField","datepicker1","datepicker2","datepickerLabel1","datepickerLabel2","getCheckValid","masterDataValid","masterDataLabel1","masterDataLabel2","newDate1","newDate2","_ref26","_callee24","_lineApproval","_listHistoryDetails","_listFileAttachDetails","_listRefDocDetails","_listControlRunning","_listFormNames","_listInToAndPass","_tempVersion","_validation","_formData$items","formatFormData","_memoDetail$memoid","_requestMemoPage","_context30","GetMemoHistoryDetail","_x61","_x62","_memoDetail$actorChec","_ref27","_callee25","_template_desc$items$","_template_desc$items$2","_template_desc$items$3","_template_desc$items$4","_context31","_x63","_x51","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","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","scale","viewport","getViewport","outputScale","devicePixelRatio","floor","renderContext","intent","canvasContext","transform","reason","renderPage","numPages","PreviewAttachmentScreen","selectedDoc","setSelectedDoc","fileExt","setFileExt","imageType","pdfType","msType","ext","getTypeOfFile","_imageType","_pdfType","_msType","top","objectFit","RequestActionMemo","RejectBrowser","browserConfig","Routes","loginScreen","setLoginScreen","guidVerify","fetchApp","browser","browserDetector","userAgent","navigator","defaultProtectedRouteProps","canDownLoadPdf","setIsLoadPackage","pathLogoLogin","isMulti","hidePassAndRegister","SwitchTransition","CSSTransition","addEndListener","done","WorkListScreen","TemplateDetailScreen","EmailTemplateListScreen","EmailTemplateDetailScreen","ReportScreen","MasterDatascreenFixed","DashboardScreen","LoadComponent","LoadPackageComponent","isLoadPackage","Animate","transitionName","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","querySelector","getAzureConfig","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","configuration","keyConfig","typeConfig","displayConfig","_data$split5","_data$split6","_configuration$j2","_configuration$j$spli3","_configuration$j$spli4","formatConfig","_priorities","_priority","GetDashboardEndpoint","statusName","displayStatusName","card","initialData","v","searchKey","setSearchKey","tooltipRef","_col$field","_col$field2","newField","updateTargetEvents","mouseTrack","mouseTrackLeft","mouseTrackTop","autoHide","_props$errors","_props$errors2","_props$errors3","_props$template2$alte"],"mappings":"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lE,EACV13B,UAAWA,EACX9E,aAAcA,EACd/B,kBAAmBA,EACnB4G,iBAAkBA,EAClB5E,eAAgBknC,KAItB,CACEnkF,KAAM,QACN1D,KACE7B,cAACw+D,GAAU,CACT7e,aAAc,OACdrmC,SAAUylE,EACV13B,UAAWA,EACX9E,aAAcA,EACd/B,kBAAmBA,EACnB4G,iBAAkBA,EAClB5E,eAAgBknC,KAItB,CACEnkF,KAAM,WACN1D,KACE7B,cAAC29D,GAAc,CACbhe,aAAc,WACdrmC,SAAUylE,EACV13B,UAAWA,EACX9E,aAAcA,EACd/B,kBAAmBA,EACnB4G,iBAAkBA,EAClB5E,eAAgBknC,KAItB,CACEnkF,KAAM,aACN1D,KACE7B,cAACk9D,GAAU,CACTvd,aAAc,kBACdrmC,SAAUylE,EACV13B,UAAWA,EACX9E,aAAcA,EACd/B,kBAAmBA,EACnB4G,iBAAkBA,EAClB5E,eAAgBknC,KAItB,CACEnkF,KAAM,WACN1D,KACE7B,cAAC+7D,GAAc,CACbpc,aAAc,WACdrmC,SAAUylE,EACV13B,UAAWA,EACX9E,aAAcA,EACd/B,kBAAmBA,EACnB4G,iBAAkBA,EAClB5E,eAAgBknC,KAItB,CACEnkF,KAAM,aACN1D,KACE7B,cAACq7D,GAAgB,CACf1b,aAAc,aACdrmC,SAAUylE,EACV13B,UAAWA,EACX9E,aAAcA,EACd/B,kBAAmBA,EACnB4G,iBAAkBA,EAClB5E,eAAgBknC,KAItB,CACEnkF,KAAM,UACN1D,KACE7B,cAAC82L,GAAa,CACZn3I,aAAc,UACdrmC,SAAUylE,EACV13B,UAAWA,EACX9E,aAAcA,EACd/B,kBAAmBA,EACnB4G,iBAAkBA,EAClB5E,eAAgBknC,KAItB,CACEnkF,KAAM,cACN1D,KACE7B,cAACq3L,GAAgB,CACf13I,aAAc,cACdrmC,SAAUylE,EACV13B,UAAWA,EACX9E,aAAcA,EACd/B,kBAAmBA,EACnB4G,iBAAkBA,EAClB5E,eAAgBknC,MAiBxB,OAXAlqF,qBAAU,WACR,IAAI6D,EAAKg/D,EAAQl7B,QAAO,SAAC9qC,EAAM2Q,GAC7B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","file":"static/js/main.7a1dc2ee.chunk.js","sourcesContent":["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","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 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","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 {\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\n\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 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 let dd = null;\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 dd = formats[i];\r\n }\r\n }\r\n });\r\n });\r\n }\r\n if (dd) {\r\n choiceFormat = dd;\r\n break;\r\n }\r\n } else {\r\n choiceFormat = formats[i];\r\n break;\r\n }\r\n }\r\n if (choiceFormat !== null) {\r\n choiceFormat.format.map((format: any) => {\r\n _control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach(async (layout: 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 });\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 ) {\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 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 = _control[autoNumberAttibute.rowIndex].layout[autoNumberAttibute.colIndex].template.label\r\n \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 }\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 }\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 console.log(\"table=>formatColumn\", { columns, data });\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 }) =>

{record.key + 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\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\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\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\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 template.attribute.max) ||\r\n (template.type === \"c\" &&\r\n template.attribute.max !== 0 &&\r\n parseInt(children[1]) !== 0.0 &&\r\n parseInt(children[1]) < 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 template.attribute.max !== 0.0 &&\r\n parseInt(children[1]) !== 0.0 &&\r\n parseInt(children[1]) > 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 template.attribute.min !== 0.0 &&\r\n parseInt(children[1]) !== 0.0 &&\r\n parseInt(children[1]) < 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 // if (formatMinValue !== 0 && formatMaxValue !== 0) {\r\n\r\n // if (\r\n // formatValue >= formatMinValue &&\r\n // formatValue <= formatMaxValue\r\n // ) {\r\n\r\n // correct = true;\r\n\r\n // } else {\r\n // correct = false;\r\n // msg = `${template.label} length must be between ${template.attribute.min} to ${template.attribute.max} value`;\r\n\r\n // }\r\n // } else {\r\n // if (formatMinValue != 0) {\r\n // if (formatValue >= formatMinValue) {\r\n // correct = true;\r\n // } else {\r\n // correct = false;\r\n // msg = `${template.label} length must be greater than ${template.attribute.min}`;\r\n // }\r\n // }\r\n // if (formatMaxValue != 0) {\r\n // if (formatValue <= formatMaxValue) {\r\n // correct = true;\r\n // } else {\r\n // correct = false;\r\n // msg = `${template.label} length must be less than ${template.attribute.max}`;\r\n // }\r\n // }\r\n // }\r\n // } else if (!value && template.attribute.require === \"Y\") {\r\n // correct = false;\r\n // }\r\n // if(!correct){\r\n // msg = `${template.label} length must be less than ${template.attribute.max}`;\r\n // }\r\n // return correct\r\n // ? Promise.resolve()\r\n // : Promise.reject(new Error(msg));\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 items = template.attribute.items;\r\n let _res: any[] = [];\r\n const mock = [\r\n {\r\n value: null,\r\n item: [\"Y\", \"N\", \"Y\", \"Y\", \"Y\", \"N\"],\r\n },\r\n ];\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\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\nimport { GetPort } from \"../../../Services/AttachFileService\";\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 console.log(\"att=>\", { value });\r\n\r\n deFaultValue();\r\n }, [value]);\r\n\r\n const deFaultValue = async () => {\r\n if (value === \"\" || value === undefined || value === null) {\r\n setCheckHasValue(false);\r\n } else {\r\n const [nameFile, linkFile] = value.split(\"|\");\r\n const linkUrl = linkFile;\r\n\r\n setLink(linkUrl);\r\n setNameFile(nameFile);\r\n setCheckHasValue(true);\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 let _port = await GetPort();\r\n if(_port){\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port\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 {\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 = (\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 refTempSelected.map(async (refTems: any) => {\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 (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 (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 {\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 }\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 console.log(\"ref=>result\", result);\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","export const GetAllDynamic = async (apiName: any, requestBody?: any, queryString?: any) => {\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 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 { 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","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 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\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}\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}) => {\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 = (\r\n currentControl: any,\r\n controlTemplate: any,\r\n controlValue: any\r\n ) => {\r\n try {\r\n if (controlValue) {\r\n numFormulas?.forEach((formula: INumberFormula) => {\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 (\r\n selValue?.AllCol[col.label] != undefined\r\n ) {\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 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 }\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: boolean = false;\r\n let logicType: string | null = null;\r\n\r\n logics.forEach((logic: ILogic) => {\r\n if (logic.logictype === \"datasourcerelated\") {\r\n console.log(\"logic=>\", logic.logictype);\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 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 logicType = \"datasourcerelated\";\r\n callLogic = true;\r\n }\r\n }\r\n } else {\r\n if (jsonValue.label === controlTemplate.label) {\r\n callLogic = true;\r\n logicType = \"datasourcerelated\";\r\n }\r\n }\r\n } else if (logic.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 console.log(\r\n \"logic=>labelAction\",\r\n jsonValue.labelactions,\r\n controlTemplate.label\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 = true;\r\n logicType = \"dataajaxloadtable\";\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 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 logicType = \"datareladtoloaddata\";\r\n callLogic = true;\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 console.log({ controlTemplate, jsonValue });\r\n logicType = \"datareladtoloaddata\";\r\n\r\n callLogic = true;\r\n }\r\n }\r\n }\r\n } else if (logic.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 logicType = \"reference\";\r\n callLogic = true;\r\n }\r\n }\r\n } else if (logic.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 = true;\r\n logicType = \"datalineapprove\";\r\n }\r\n }\r\n });\r\n // console.log({ callLogic, logicType });\r\n\r\n return { callLogic, logicType };\r\n };\r\n const _onControlChangeRef = async (refControl: any) => {\r\n let _jsonConditions = jsonConditions;\r\n let logic: string | null = null;\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, logicType } = await checkCallLogic(\r\n logics,\r\n layout.template\r\n );\r\n console.log(\"logic=>call\", { callLogic, logicType });\r\n\r\n if (callLogic && logicType) {\r\n logic = logicType;\r\n template = layout.template;\r\n }\r\n if (callLogic) {\r\n for (let i = 0; i < logics.length; i++) {\r\n const _response = await onProcessLogic(\r\n logics[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\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 console.log(\r\n { controlTemplate, controlValue, isInTable },\r\n \"sssssssssssssss\"\r\n );\r\n\r\n setIsControlLoading(true);\r\n\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 console.log(\"table=>\", { logics });\r\n\r\n //check if triggered control has logic or not\r\n const { callLogic, logicType } = await checkCallLogic(\r\n logics,\r\n controlTemplate\r\n );\r\n console.log(\"logic=>callLogic\", callLogic, logicType);\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 ((controlTemplate.type !== \"tb\" || isInTable) && callLogic) {\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 <= logics.length; i++) {\r\n const { type, value, controls } = await onProcessLogic(\r\n logics[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 _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 } else {\r\n setIsControlLoading(false);\r\n }\r\n } else {\r\n setIsControlLoading(false);\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\r\n\r\n console.log(\"logic=>jsonRelated\", jsonRelated);\r\n\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 let isSetLineApprove = false;\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\r\n if (logic) {\r\n //find logic that control have\r\n\r\n if (logic.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 // setValue(\"items\", [..._control]);\r\n }\r\n }\r\n } else if (logic.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 === \"datalineapprove\" && !isSetLineApprove) {\r\n console.log(\"logic=>logic\", logic);\r\n console.log(\"logic=>sumRes\", sumRes);\r\n\r\n const responseData = await onProcessLogicLineApprove(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n newControl\r\n );\r\n console.log(\"logic=>datalineapprove\", responseData);\r\n\r\n if (responseData) {\r\n isSetLineApprove = true;\r\n setJsonConditions = responseData;\r\n await getLineApproveForAmount(\r\n sumRes?._amount,\r\n responseData,\r\n \"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 === \"datareladtoloaddata\") {\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 === \"dataajaxloadtable\") {\r\n console.log(\"logic=>logic\", logic);\r\n\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 }\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 { InputRef, Layout, Typography } from \"antd\";\r\nimport { Form, Input, Table } 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 useMemo,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { IoEllipsisVertical } from \"react-icons/io5\";\r\nimport { IMemoDetailModel } from \"../../../IRequestModel/IMemoDetailModel\";\r\nimport {\r\n GetRefDocFormTable,\r\n GetRefDocTemp,\r\n} from \"../../../Services/MemoService\";\r\nimport {\r\n IColumn,\r\n SelectDataDialog,\r\n} from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\n\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 RefDocTableDialog from \"./RefDocTableDialog\";\r\nimport \"./TableComponentCSS.css\";\r\nimport { GetReportById } from \"../../../Services/ReportService\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport TableFooter from \"./TableFooter\";\r\n\r\nimport $ from \"jquery\";\r\n\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 };\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};\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 ...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\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\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 } 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 formulas.map((formula: string) => {\r\n let resulstField = formula.split(\"=\");\r\n let formu: any = resulstField[0];\r\n let resultColIdx = -1;\r\n let resultDecimal = 0;\r\n let result: number | undefined = 0;\r\n\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(col.control.template.attribute.decimal);\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(col.control.template.attribute.decimal);\r\n }\r\n });\r\n });\r\n\r\n let dd = formu.replaceAll(\",\", \"\");\r\n result = eval(dd);\r\n row[resulstField[1]] = result?.toFixed(resultDecimal);\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"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 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.replace(\"value\", footer?.value?.toFixed(decimal));\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 = addbits(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 refColumn.push({\r\n field: l.template.label,\r\n headerEn: target.RefDocLabel,\r\n });\r\n }\r\n });\r\n });\r\n refOptions.push(_option);\r\n console.log(\"ref=>_option=>\", _option);\r\n });\r\n\r\n setRefDocOptions([...refOptions]);\r\n setRefTableColumn([...refColumn]);\r\n } else if (tempAtt.refdoc.docDataSource === \"Report\") {\r\n console.log(\"refDocReport\", refReportDetail);\r\n if (refReportDetail?.dt_Report?.length > 0) {\r\n let refColumn: any[] = [];\r\n tempAtt.mergecolumnrefdoc.forEach((e: any) => {\r\n console.log(\"refDetail=>e\", tempAtt.mergecolumnrefdoc);\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 return (\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 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","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 \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 // export default InputControlComponent;","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}\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 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 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 return (\r\n {\r\n const _value =\r\n value?.replace(/\\{/g, \"<\").replace(/\\}/g, \">\").replace(/\\'/g, \"\") ||\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\nimport { GetPort } from \"../../../Services/AttachFileService\";\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.port;\r\n let _TinyURL = port!= '' || null || 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 const _port = await GetPort();\r\n if(_port){\r\n userData.TinyURL = userData.TinyURL + \":\" + _port\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(_port){\r\n userData.TinyURL = userData.TinyURL + \":\" + _port\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
\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};\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}) => {\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 ? 12\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 );\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\") {\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","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 = (event: any) => {\r\n setReport_To(event.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","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\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 window.localStorage.removeItem(\"userData\");\r\n window.localStorage.removeItem(\"employeeId\");\r\n window.localStorage.removeItem(\"employeeCode\");\r\n window.localStorage.removeItem(\"nameEn\");\r\n window.localStorage.removeItem(\"nameTh\");\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\r\n window.localStorage.removeItem(\"userData\");\r\n window.localStorage.removeItem(\"employeeId\");\r\n window.localStorage.removeItem(\"employeeCode\");\r\n window.localStorage.removeItem(\"nameEn\");\r\n window.localStorage.removeItem(\"nameTh\");\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.data.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\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 console.log({ userData });\r\n initialNameUser();\r\n fetchNav();\r\n checkState();\r\n }\r\n }, [userData]);\r\n useEffect(() => {\r\n console.log({ sessionState });\r\n }, [sessionState]);\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 localStorage.clear();\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 ? \"nissin-uat.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 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\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 [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 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 localStorage.removeItem(\"userData\");\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\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 console.log({ _loginWolfAccount });\r\n\r\n localStorage.removeItem(\"userData\");\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 history.push(\"/Request?MemoID=\" + id);\r\n } else {\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\r\n setOnLoading(false);\r\n };\r\n useEffect(() => {\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 {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\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\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 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 localStorage.removeItem(\"userData\");\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\r\n localStorage.clear();\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 localStorage.clear();\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 [approver, setApprover] = 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 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 (approver) {\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 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 setApprover(undefined);\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\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 >\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 setApprover(_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 setApprover(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 {mode == \"เพิ่มตามคน\" ? (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n 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 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 setApprover(e.data);\r\n setSubDialogVisible2(false);\r\n setLoading(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={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 {getFormErrorMessage(\"Fax\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n >\r\n {\" \"}\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 \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 {isEmptyObject(selectComCode) && (\r\n CompanyCode is require\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 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\": isEmptyObject(formSelectedPosition),\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 {isEmptyObject(formSelectedPosition) && (\r\n PositionLevel is require\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 )}\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(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\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 = e?.data;\r\n if (e.data !== undefined) {\r\n setSearchData([\r\n ...searchData.filter(\r\n (emp: any) => emp.EmployeeId !== e?.data?.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 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)}\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 (\r\n employee !== undefined &&\r\n employee.length !== 0 &&\r\n roleData !== undefined &&\r\n roleData.length !== 0 &&\r\n props.dataEditReportProps !== undefined &&\r\n props.editProps === true\r\n ) {\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 showModal(\"RoleEmp\")}\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.data.NameEn ||\r\n _data.NameTh === rowData.data.NameTh\r\n );\r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(rowData.data);\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 { 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, { 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) => {\r\n try {\r\n let nameA: any;\r\n let nameB: any;\r\n\r\n if (key.toLowerCase().includes(\"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 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.log(\"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 \"../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 }\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) => {\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) => {\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 // else {\r\n // _data.forEach((e: any) => {\r\n // console.log(\"table=>key\", col.key);\r\n\r\n // if (e[col.key] === 0 || e[col.key] === null) {\r\n // e[col.key] = \"\";\r\n // }\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 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 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: colField.key.toLowerCase().includes(\"date\") ? 250 : 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 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);\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 console.log(\"rowFilter\", _data,options )\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 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 = (key?: string, type?: \"dec\" | \"asc\" | null) => {\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\r\n if (key && type) {\r\n _data.sort((a: any, b: any) => {\r\n return sorterFunc(a, b, key, type);\r\n });\r\n }\r\n setFilters(filters);\r\n setShowData([..._data]);\r\n console.log(\"rowFilter => after filter\", _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.log(\"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.log(\"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.log(\"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.log(\"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","export 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 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 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: string[] = [];\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(col.key);\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 data[col] = Number(data[col])?.toLocaleString(\"en-US\", {\r\n minimumFractionDigits: 2,\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 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 // 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 let dateFormat: any = rowData.FieldTextTo\r\n ? getDateValue(rowData.FieldTextTo)\r\n : null;\r\n console.log(\"report=>rowData\", rowData);\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 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\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 const fecthData = async () => {\r\n const dd = await CheckAutoReport();\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 (_dataDynamic.FieldCollection && _dataDynamic.FieldCollection !== \"\") {\r\n const fieldCollection: any[] = JSON.parse(_dataDynamic.FieldCollection);\r\n\r\n let numCols: Array<{ key: string; suffix?: string; 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 console.log(\"col=>col\", col);\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 console.log(\"atCols=>\", atCols);\r\n console.log(\"_dataDynamic=>\", _dataDynamic);\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 data[col.key] =\r\n Number(data[col.key])?.toLocaleString(\"en-US\", {\r\n minimumFractionDigits: col?.decimal,\r\n }) +\r\n \" \" +\r\n col?.suffix;\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 };\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 } from \"react\";\r\nimport \"./WorklistScreenComponent.css\";\r\ninterface Props {\r\n approvals?: any;\r\n requestor?: any;\r\n}\r\n\r\nexport const FlowCardComponent = (props: Props) => {\r\n // const [flowCardData, setFlowCardData] = useState()\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {props.approvals && (\r\n

\r\n {props.approvals.approver &&\r\n props.approvals.approver.nameEn.substring(0, 2).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","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}\r\n\r\nexport const FlowScreen = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n\r\n return (\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","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\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\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 , h: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 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\nimport { GetPort } from \"../../Services/AttachFileService\";\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 let _port = await GetPort();\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 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\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}\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 [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 async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n setSearchData(_dataEmployee);\r\n setIsLoading(false);\r\n console.log(_dataEmployee, \"_dataEmployee\");\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 return (\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 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 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}\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]);\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","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\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}\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}) => {\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 useEffect(() => {\r\n setOnLoading(true);\r\n\r\n onFetchPdf(data?.MemoID);\r\n }, [data]);\r\n useEffect(() => {\r\n console.log(555);\r\n\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 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 setPage(3)}\r\n >\r\n \r\n

History

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

Attachment

\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 \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 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 />\r\n
\r\n \r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { DatePicker, Space } from \"antd\";\r\nimport { BsCalendarDate } from \"react-icons/bs\";\r\nimport moment from \"moment\";\r\nimport { GrFormNextLink } from \"react-icons/gr\";\r\nimport { useTranslation } from \"react-i18next\";\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 const { RangePicker } = DatePicker;\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 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 { AnimatePresence, motion } from \"framer-motion\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface Props {\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}\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 // console.log(\"data.RequestDate\", data);\r\n\r\n return moment(momentObj).format(\"DD MMM yyyy , HH:mm\");\r\n };\r\n const resposeComment = (comment: any) => {\r\n console.log(\"data\", props.data.MemoID, \"comment\", comment);\r\n props.onUpdate(\"approve\", props.data.MemoID, comment);\r\n };\r\n return (\r\n \r\n {\r\n let _requestor = data.Requestor || {};\r\n console.log({ proppppppp: data.Status });\r\n\r\n props.setContent(data.MemoID, data.Status, props.index, _requestor);\r\n // } else if (screens[\"sm\"] || screens[\"xs\"]) {\r\n // const memoid = { MemoID: data.MemoID };\r\n // history.push(\"/request\", memoid);\r\n // }\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 {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

{data.TemplateName}

\r\n {/*

{data.Status}

*/}\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 />\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

{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 />\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, useMemo, Profiler } from \"react\";\r\nimport \"./WorkListScreen.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 { getDateDeployConfiguration } from \"../../Services/ConfigurationService\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\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\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 [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\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\r\n useEffect(() => {\r\n fetchWorklist();\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 const dateFrom =\r\n task === \"myrelate\"\r\n ? date\r\n ? date[0]\r\n : date === null\r\n ? undefined\r\n : moment(new Date()).subtract(1, \"M\")\r\n : undefined;\r\n\r\n const dateTo =\r\n task === \"myrelate\"\r\n ? date\r\n ? date[1]\r\n : date === null\r\n ? undefined\r\n : moment(new Date())\r\n : undefined;\r\n\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.format(\"DD/MM/YYYY hh:mm:ss\") : \"\",\r\n FilterDateTo: dateTo ? dateTo.format(\"DD/MM/YYYY hh:mm:ss\") : \"\",\r\n UserPrincipalName: userData.Email,\r\n };\r\n const dataWorklist = await GetWorkListByTaskGroup(dataJson);\r\n if (task === \"myrelate\") {\r\n console.log({ dateFrom, dateTo });\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 setTaskGourp(task);\r\n initialWorklistOption(dataWorklist);\r\n setWorkListData([...dataWorklist]);\r\n setIsCardLoading(false);\r\n };\r\n // useEffect(() => {\r\n // console.log(formStatusOptions, \"formStatusOptions\");\r\n // const formStatus = formStatusOptions;\r\n // let aa: any[] = [];\r\n // formStatus.map((item: any) => {\r\n // aa.push({\r\n // label: t(item.label),\r\n // value: item.value,\r\n // });\r\n // });\r\n // if (aa.length > 0) {\r\n // setFormStatusOptions([...aa]);\r\n // console.log(aa, \"formStatusformStatus\");\r\n // }\r\n // }, [t]);\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 console.log({\r\n _formStatusOption,\r\n _formTypeOption,\r\n _companiesOption,\r\n _departmentsOption,\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 } else {\r\n setToggleDetail(false);\r\n setSidebarState(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 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 // check isText\r\n console.log(\r\n \"memo=>\",\r\n _getMemoDetailById.requestDetails.memoDetail.is_text_form\r\n );\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 console.log(\"an=>runningNumber\", runningNumber);\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 if (_ActionMemoPage && !_ActionMemoPage.Message) {\r\n fetchWorklist();\r\n toggleAlert({\r\n description: `${type} Success.`,\r\n message: `Success`,\r\n type: \"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.log(\"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 console.log(\"auto=>error\", error);\r\n\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.log(\"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 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 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 console.log({ _dataHistory });\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 setSidebarState(false);\r\n if (currentIndex !== index) {\r\n setCurrentMemoId(Number(memoId));\r\n setCurrentIndex(index);\r\n setToggleDetail(true);\r\n } else {\r\n setCurrentIndex(index);\r\n\r\n if (toggleDetail) {\r\n setCurrentMemoId(0);\r\n setToggleDetail(false);\r\n } else {\r\n setCurrentMemoId(Number(memoId));\r\n setToggleDetail(true);\r\n }\r\n }\r\n };\r\n\r\n const onSelectTask = (text: WorklistHeaderType) => {\r\n setTaskHeader(text);\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 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);\r\n setCurrentPage(1);\r\n setDefaultTask(text);\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 console.log({ value, formSelect, rawObject, defaultTask });\r\n \r\n if (formSelect) {\r\n rawObject[formSelect] = value;\r\n \r\n\r\n if (defaultTask === \"Related List\" && formSelect === \"date\") {\r\n fetchWorklist(\"myrelate\", value);\r\n } else {\r\n setSearchObject((prevState: any) => ({\r\n ...prevState,\r\n ...rawObject,\r\n }));\r\n }\r\n\r\n setCurrentPage(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 } else {\r\n fetchWorklist(\"myrelate\", null);\r\n }\r\n };\r\n const paginate = (page: number) => {\r\n setCurrentPage(page);\r\n };\r\n const onSetItemPerPage = (numItem: any) => {\r\n console.log({ numItem, numItem2: Number(numItem) });\r\n setItemPerPage(numItem);\r\n };\r\n const filterStatusWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject.status.length\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 // console.log({ todo, waitingFor, 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 filterDateWorklistCard = (todo: ITodo, idx: number) => {\r\n let momentWorklist = moment(todo.ModifiedDate, \"DD/MM/yyyy\");\r\n if (searchObject.date?.length > 0) {\r\n let formatWorklist = new Date(\r\n moment(momentWorklist).format(\"yyyy/MM/DD\")\r\n );\r\n let formatDateTo = new Date(\r\n moment(searchObject.date[1]).format(\"yyyy/MM/DD\")\r\n );\r\n let formatDateFrom = new Date(\r\n moment(searchObject.date[0]).format(\"yyyy/MM/DD\")\r\n );\r\n if (formatWorklist >= formatDateFrom && formatWorklist <= formatDateTo) {\r\n return true;\r\n }\r\n } else {\r\n return true;\r\n }\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 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)} (\r\n {\r\n workListData\r\n ?.filter(filterStatusWorklistCard)\r\n .filter(filterFormWorklistCard)\r\n .filter(filterCompanyWorklistCard)\r\n .filter(filterDepartmentWorklistCard)\r\n .filter(filterKeywordWorklistCard)\r\n .filter(filterDateWorklistCard)\r\n .map(mapWorklistCard).length\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 {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 {workListData\r\n ?.filter(filterStatusWorklistCard)\r\n .filter(filterFormWorklistCard)\r\n .filter(filterCompanyWorklistCard)\r\n .filter(filterDepartmentWorklistCard)\r\n .filter(filterKeywordWorklistCard)\r\n .filter(filterDateWorklistCard)\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\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 [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 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 localStorage.removeItem(\"userData\");\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 localStorage.clear();\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 { UrlString } from \"@azure/msal-browser\";\r\nimport React, { useEffect, ReactNode, useMemo } from \"react\";\r\nimport { Redirect, Route, RouteProps, useLocation } from \"react-router\";\r\nimport { LoginScreenOpenId } from \"../screens/LoginScreen/LoginScreenOpenId\";\r\nimport { GetAllDynamic } from \"../Services/DynamicService\";\r\nimport { useSessionContext } from \"../Context/AuthContext\";\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(localStorage.getItem(\"lastAction\") || Date.now());\r\n const diffMilliseconds = Math.abs(Date.now() - lastAction);\r\n const masterData = await GetAllDynamic(\"MasterData/GetAll\", undefined);\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 if (diffMilliseconds >= timeout) {\r\n updateSessionContext({ ...sessionContext, isAuthenticated: false });\r\n\r\n setRedirectPath(\"/login\");\r\n localStorage.clear();\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) => {\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 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 console.log(props.userData.SharepointSiteURL, \"1235\");\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 console.log(linkFile, \"5555555555555555555\");\r\n }}\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);\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 console.log(\"selectedFormValue\",selectedFormValue )\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 // value: inputValue,\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 // value: inputValue,\r\n };\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 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 // value: inputValue,\r\n };\r\n _condition.push(dataRequest);\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\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 // value: inputValue,\r\n };\r\n _condition.push(dataRequestValue);\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 }\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 (_data.type !== \"tb\" && _data.type !== \"dd\" && _data.type !== \"l\" && _data.type !== \"em\"){\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
\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 \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 />\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}\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 {props.title}\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 } 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 \"./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 [formatsIdx, setFormatsIdx] = useState();\r\n const [saveToFormatAction, setSaveToFormatAction] = useState(\"add\");\r\n\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 _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 setDefaultValue([...array]);\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 // 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 }\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\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\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 // 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 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 // 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 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 };\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: \"ddl\",\r\n label: selectedFormName.item,\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 }\r\n setSaveToFormatAction(\"add\");\r\n setInputValue(\"\");\r\n setSelectedFormName([]);\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 = 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 }\r\n }\r\n function deleteFormat(idx: any) {\r\n let _formats = formats.format;\r\n\r\n _formats.splice(idx, 1);\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\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 setSelected(\"2\");\r\n }\r\n setFormatsIdx(idx);\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 \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

FormName :

\r\n

*

\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n {\r\n onSaveToFormat();\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 { 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 } 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}\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 };\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
\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: parseInt(props.template.attribute?.min) || 0,\r\n max: parseInt(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: parseInt(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 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 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 },\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 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 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
\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 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 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 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 >\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 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\ninterface Props {\r\n name: 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(window.localStorage.getItem(\"userData\"));\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\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\r\n return (\r\n
\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 responsiveLayout=\"scroll\"\r\n >\r\n {dynamicColumns}\r\n \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\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 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 if (rowData.Type === \"Line of Command\") {\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.Type === \"Direct to Position\") {\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.Type === \"Design of Authority\") {\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.Type === \"Specific Approver\") {\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 if (e.SignatureID !== undefined) {\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 if (e.SignatureId !== undefined) {\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 const getSign = props.signatureList.filter((sig: any) => {\r\n return sig.value1 === \"อนุมัติ\";\r\n });\r\n selectedValue.push(getSign[0]);\r\n }\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 );\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 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 } else {\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 }\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 { value: 'readonly', label: 'Read Only' ,name: 'Read Only' },\r\n { value: 'hide', label: 'Hide',name: 'Hide' }]}\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={statusBodyTemplate}\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}\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 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.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.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.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.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 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 console.log(\"matrix=>approval\", approval);\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.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n TemLineApprove: [...TemLineApprove],\r\n specificApprovers: [...spc_approval],\r\n cMSTTemplateLogic: [...TemplateLogic],\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 console.log(\"matrix=>allApprovals\", allApprovals);\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 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 };\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 };\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 { 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 { AutoComplete, Radio } 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 EmployeeDialog from \"../../DataFechDialogComponents/EmployeeDialog/EmployeeDialog\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { RadioButtonComponents } from \"../../RadioButtonComponents/RadioButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport type { RadioChangeEvent } from 'antd';\r\nimport \"../TemplateDetailComponents.css\";\r\nimport { Console, log } from \"console\";\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 [userData, setUserData] = useUserContext();\r\n const [categoryFilter, setCategoryFilter] = useState(\r\n props.groupDataTemplate\r\n );\r\n const [ccEmpCode, setCcEmpCode] = useState(\"\"); \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 _ccArray: 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 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\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 } \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\r\n setCcSelect(_ccArray);\r\n }\r\n } catch (error) {}\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 setKey(key);\r\n _fechEmployee();\r\n setIsloading(true);\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 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 async function _AutoComplete(data: any, key: any) {\r\n let _ToArray: any = [];\r\n let _CcArray: any = [];\r\n\r\n if (key === \"ToId\") {\r\n let _To = data;\r\n _To.map((data: any) => {\r\n if (userData.Lang === \"TH\") {\r\n _ToArray.push(data.NameTh);\r\n } else {\r\n _ToArray.push(data.NameEn);\r\n }\r\n });\r\n setToSelect(data);\r\n } else if (key === \"CcId\") {\r\n let _Cc = data;\r\n _Cc.map((data: any) => {\r\n if (userData.Lang === \"TH\") {\r\n _CcArray.push(data.NameTh);\r\n } else {\r\n _CcArray.push(data.NameEn);\r\n }\r\n setCcEmpCode(data.EmployeeId);\r\n });\r\n setCcSelect(data);\r\n }\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n [key]: key === \"CcId\" ? _CcArray.toString() : _ToArray.toString(),\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 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 _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 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 \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: toSelect.length === 0 ? \"38px\" : \"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 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: ccSelect.length === 0 ? \"38px\" : \"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
\r\n\r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect } 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 IoPeopleOutline,\r\n IoShieldCheckmarkOutline,\r\n} from \"react-icons/io5\";\r\nimport { Button } from \"../../components/Button/Button\";\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 workList?: any;\r\n isCopy?: any;\r\n isVersion?: any;\r\n}\r\n\r\nexport const TemplateDetailSideBarElement = (props: Props) => {\r\n useEffect(() => {}, [props.isVersion]);\r\n\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={\"Form Design\"}\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={\"Reference Document\"}\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={\"Reference Information\"}\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={\"Approval Matrix\"}\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={\"Authorization\"}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n\r\n {\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={6}\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 { 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.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: \"Employee Code\" },\r\n { Informition: \"Employee Name\" },\r\n { Informition: \"Employee Position\" },\r\n { Informition: \"Employee Division\" },\r\n { Informition: \"Employee Department\" },\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","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.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\" ? { Position: \"Top\" } : display[0] === \"Bottom\" ? { Position: \"Bottom\" }:{ Position: \"Top\" },\r\n Mode:\r\n display[1] === \"Single\"\r\n ? { Mode: \"Single\" }\r\n : display[1] === \"Multiselect\" ?{ Mode: \"Multiselect\" } : { 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\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\r\n advanceForm.items.map((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (_layout.template.type !== \"em\" && _layout.template.type !== \"l\") {\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 console.log(\"ref=>_column\", _column);\r\n selectedCol = _column;\r\n selectedCol.selectedValue = {\r\n selectedValue: _column.Value,\r\n type: _column.TypeControl,\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 // 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 // TypeControl: convertType(_layout.template.type),\r\n // column: _layout.template.attribute.column,\r\n // objTable: selectedCol.objTable,\r\n // Value: selectedCol.Value,\r\n // selectedValue: {\r\n // selectedValue: selectedCol.Value,\r\n // type: selectedCol.TypeControl,\r\n // },\r\n // });\r\n // } else {\r\n // seltectItems.push({\r\n // Key: _layout.template.label,\r\n // Template: null,\r\n // TypeControl: convertType(_layout.template.type),\r\n // Value: selectedCol.Value,\r\n // selectedValue: {\r\n // selectedValue: selectedCol.Value,\r\n // type: selectedCol.TypeControl,\r\n // },\r\n // });\r\n // }\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 (_layout.template.type !== \"em\" && _layout.template.type !== \"l\") {\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 console.log(\"ref=>seltectItems\", seltectItems);\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 console.log(\r\n listMasterData,\r\n \"controlModel666666666666666666666666666666666\"\r\n );\r\n console.log(\r\n controlModel,\r\n \"controlModel666666666666666666666666666666666\"\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};\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 ...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(template.type !== \"tb\" && template.type !== \"l\" && template.type !== \"em\" && template.type !== \"bt\" && template.type !== \"d\" ){\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\",\r\n key : \"Requestor_Employee_code\"},\r\n {label : \"Requestor_Name\",\r\n key : \"Requestor_Name\"},\r\n {label : \"Requestor_Positon\",\r\n key : \"Requestor_Positon\"},\r\n {label : \"Requestor_Division\",\r\n key : \"Requestor_Division\"},\r\n {label : \"Requestor_Department\",\r\n key : \"Requestor_Department\"},\r\n {label : \"Requestor_Email\",\r\n 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\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 let Logics = dataLogic.filter((element:any) => element.Logictype !== \"refinfomation\");\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 === 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 // LstCondition: \"\" \r\n });\r\n });\r\n\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(\r\n controlModel,\r\n \"controlModel\"\r\n );\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 \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\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\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 setRefInformation: any;\r\n refInformation: any;\r\n refLogic :any;\r\n dataLogic :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\r\n useEffect(() => {\r\n if(props.refInformation){\r\n setReferenceData(props.refInformation);\r\n fecthRefInformation();\r\n }\r\n }, [ReferenceData]);\r\n\r\n const fecthRefInformation = () => {\r\n let TemplateLogic: any[] = props.dataLogic;\r\n let arrayRef = props.refInformation;\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 === 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 // LstCondition: \"\" \r\n });\r\n });\r\n\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 props.setRefInformation(selected);\r\n\r\n let Logics = props.dataLogic.filter((element:any) => element.Logictype !== \"refinfomation\");\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 { Button, Spin } from \"antd\";\r\nimport React, { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { FaRegCopy, FaRegSave } from \"react-icons/fa\";\r\nimport { IoArrowBackSharp, IoMenu } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport ModalCreateComponents from \"../../components/CreateControlComponents/ModalCreateComponents/ModalCreateComponents\";\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport FormSettingComponent from \"../../components/TemplateDetailComponents/FormSettingComponent/FormSettingComponent\";\r\nimport ApproveMatrix from \"../../components/TemplateDetailComponents/ApproveMatrixComponent/ApproveMatrix\";\r\nimport { InformationComponents } from \"../../components/TemplateDetailComponents/InformationComponents/InformationComponents\";\r\nimport { ReferenceDocumentComponents } from \"../../components/TemplateDetailComponents/ReferenceDocumentComponents/ReferenceDocumentComponents\";\r\nimport { TemplateDetailSideBarElement } from \"./TemplateDetailSideBarElement\";\r\nimport { ITemplateRequestModel as ITemplateRequestModel } from \"../../IRequestModel/CreateFormControl/ITemplateRequestModel\";\r\nimport { useLocation, useHistory, useRouteMatch } from \"react-router-dom\";\r\nimport { motion, AnimatePresence } from \"framer-motion\";\r\n\r\nimport \"./TemplateDetailScreen.css\";\r\nimport {\r\n AddTemplate as ActionTemplate,\r\n AddTemplate,\r\n AddTemplateAndVersion,\r\n DeleteTemplate,\r\n GetTemplate,\r\n GetTemplateByDocTypeCode,\r\n GetTemplateById,\r\n GetTemplateByIdDto,\r\n GetTemplateControlById,\r\n GetTemplateListVersionHistory,\r\n LoadLogic,\r\n} from \"../../Services/TemplateService\";\r\nimport { generateQuickGuid } from \"../../Helper/GenerateGuid\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport {\r\n getAuthorization,\r\n GetIsDocControl,\r\n GetSignature,\r\n getVersion,\r\n getVersionTempVC,\r\n} from \"../../Services/MasterDataService\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../Services/DynamicService\";\r\nimport AuthorizationComponent from \"../../components/TemplateDetailComponents/AuthorizationComponent/AuthorizationComponent\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { MdPreview } from \"react-icons/md\";\r\nimport { GetAllAuthorized } from \"../../Services/AuthorizedService\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\nimport VersionAndHistoryComponents from \"../../components/TemplateDetailComponents/VersionAndHistoryComponents/VersionAndHistoryComponents\";\r\nimport { ILstMasterDataList } from \"../../IRequestModel/CreateFormControl/ILstMasterDataList\";\r\nimport { RiDeleteBin6Line } from \"react-icons/ri\";\r\nimport moment from \"moment\";\r\n\r\nimport { dataCompany } from \"../../Services/CompanyService\";\r\nimport { GetDepartment } from \"../../Services/DepartmentService\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\n\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { sorterFunc } from \"../../Helper/SortingFunction\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { ReferenceDocumentComponentsFix } from \"../../components/TemplateDetailComponents/ReferenceDocumentComponents/ReferenceDocumentComponentsFix\";\r\nimport { ReferenceInformation } from \"../../components/TemplateDetailComponents/ReferenceInformation/ReferenceInformation\";\r\nimport { ILogicReferenceInformation } from \"../../IRequestModel/ILogicModel\";\r\n\r\n\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\nconst createVersionMasterData: ILstMasterDataList = {\r\n createdBy: \"\",\r\n createdDate: \"\",\r\n isActive: true,\r\n masterId: \"\",\r\n masterType: \"TempVC\",\r\n modifiedBy: \"\",\r\n modifiedDate: \"\",\r\n seq: \"\",\r\n value1: \"\",\r\n value2: \"\",\r\n value3: \"\",\r\n value4: \"\",\r\n value5: \"\",\r\n};\r\n\r\nconst createFormControl: ITemplateRequestModel = {\r\n Amount: 0,\r\n JsonCondition: \"\",\r\n listRefTemplate: [],\r\n templateForm: {\r\n TemplateId: 0,\r\n GroupTemplateName: \"\",\r\n TemplateName: \"\",\r\n TemplateNameWithCode: \"\",\r\n DepartmentId: 0,\r\n DocumentCode: \"\",\r\n isPublic: true,\r\n ReportLang: \"\",\r\n TemplateDetail: null,\r\n ToId: \"\",\r\n CcId: \"\",\r\n TemplateSubject: \"\",\r\n AutoApprove: false,\r\n TextForm: \"\",\r\n AdvanceForm: \"\",\r\n IsTextForm: false,\r\n AutoApproveWhen: \"L\",\r\n ApproverCanEdit: false,\r\n CreatedDate: \"\",\r\n CreatedBy: \"\",\r\n ModifiedDate: \"\",\r\n ModifiedBy: \"\",\r\n IsActive: true,\r\n IsEdit: null,\r\n IsDelete: null,\r\n MemoId: null,\r\n isPDFShowInfo: false,\r\n isRequesterEditApproval: true,\r\n isFormControl: false,\r\n DepID: null,\r\n DocTypeCode: null,\r\n TemplateType: null,\r\n PDFLanguage: null,\r\n Location: null,\r\n To: null,\r\n CC: null,\r\n Subject: null,\r\n TemplateDesc: null,\r\n LineOfCommand: null,\r\n MaxLevelID: null,\r\n SpecificApprover: null,\r\n DOA: null,\r\n ApprovalMatrixID: null,\r\n CC_Viewer: null,\r\n ApproverCanEditContent: null,\r\n Modified: null,\r\n RoleID: \"\",\r\n SpecificEmployeeId: \"\",\r\n SpecificRoleID: \"\",\r\n MultiDeptId: null,\r\n ReqAttach: null,\r\n AutoStartTemplate: \"[]\",\r\n AutoStartColumn: \"[]\",\r\n RefTemplate: \"\",\r\n RefDocColumn: \"\",\r\n RefDocDisplay: \"\",\r\n AdvanceRefCondition: null,\r\n IsCheckAccess: false,\r\n IsDefaultLineApprove: false,\r\n },\r\n specificApprovers: [],\r\n specificTempApprovers: [],\r\n TemLineApprove: [],\r\n VEmployee: null,\r\n lstTRNLineApprove: null,\r\n cMSTApprovalMatrix: [],\r\n cMSTPositionLevel: [],\r\n cMSTCompany: null,\r\n lstMasterData: [],\r\n ComCode: 0,\r\n cMSTTemplateLogic: [],\r\n cMSTMasterData: null,\r\n Authorization_manage_company: [],\r\n Authorization_manage_department: [],\r\n Authorization_request_company: [],\r\n Authorization_request_department: [],\r\n Authorization_view: [],\r\n};\r\n\r\nconst TemplateDetailScreen = (props: Props) => {\r\n const { toggleAlert } = useAlert();\r\n const [userData, setUserData] = useUserContext();\r\n const [groupDataTemplate, setGroupDataTemplate] = useState([]);\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n const [selectView, setSelectView] = useState(\"1\");\r\n const [visibleConfirmDialog, setVisibleConfirmDialog] = useState();\r\n const [controlModel, setControlModel] = useState();\r\n const [controlVersionModel, setControlVersionModel] = useState();\r\n const [createVersionMasterModel, setCreateVersionMasterModel] = useState(\r\n createVersionMasterData\r\n );\r\n const [refInformation, setRefInformation] = useState();\r\n const [groupTemplateName, setGroupTemplateName] = useState();\r\n const [templateNameWithCode, setTemplateNameWithCode] = useState();\r\n // const [createVersionMasterModelVer, setCreateVersionMasterModel] = useState(\r\n // createVersionMasterData\r\n // );\r\n const toast = useRef();\r\n let history = useHistory();\r\n const [imgLoading, setImgLoading] = useState(\r\n props.responeConfig?.pathLoading\r\n );\r\n const { url } = useRouteMatch();\r\n const [sidebarState, setSidebarState] = useState(true);\r\n\r\n // query\r\n const query = new URLSearchParams(useLocation().search);\r\n const [templateId, setTemplateId] = useState();\r\n // check state edit ? add\r\n const [action, setAction] = useState(\"add\");\r\n const [isDelete, setIsDelete] = useState(false);\r\n\r\n // FormSettingUseState\r\n const [textFromValue, setTextFromValue] = useState(\"\");\r\n const [isCopyValue, setIsCopyValue] = useState(false);\r\n const [isVersion, setIsVersion] = useState(false);\r\n const [advanceForm, setAdvanceForm] = useState({ items: [] });\r\n const [viewManageComponent, setViewManageComponent] = useState();\r\n // const [templateId, setTemplateId] = useState();\r\n\r\n ///isLoad\r\n const [isLoad, setIsLoad] = useState(true);\r\n // DataList\r\n const [positonLevelList, setPositionLevelList] = useState([]);\r\n const [matrixList, setMatrixList] = useState([]);\r\n const [version, setVersion] = useState({});\r\n const [versionStatus, setVersionStatus] = useState(false);\r\n const [versionCheck, setVersionCheck] = useState(false);\r\n\r\n const [sinatureOptions, setSinatureOptions] = useState([]);\r\n const [versionTempVC, setVersionTempVC] = useState([]);\r\n const [templateListVersionHistory, setTemplateListVersionHistory] =\r\n useState([]);\r\n const [objectDataAuthorization, setObjectDataAuthorization] = useState({\r\n Role: [],\r\n Company: [],\r\n Department: [],\r\n Employee: [],\r\n DepartmentManage: [],\r\n DepartmentRequest: [],\r\n });\r\n\r\n const [validationInformation, setValidationInformation] = useState({\r\n DocumentCode: false,\r\n GroupTemplateName: false,\r\n TemplateName: false,\r\n });\r\n\r\n const [refLogic, setRefLogic] = useState([]);\r\n const [dataLogic, setDataLogic] = useState([]);\r\n\r\n useEffect(() => {\r\n intiFunc();\r\n }, []);\r\n\r\n const intiFunc = () => {\r\n let _isCopyValue: boolean = false;\r\n // setSelectView(\"1\");\r\n fetchPositionLevel();\r\n fetchMatrix();\r\n fetchMasterData();\r\n fetchDataAuthorization();\r\n fetchDataTemplate();\r\n let _templateVersionCode: string | null = \"\";\r\n let _versionTemplate: string | null = \"\";\r\n let _version: string | null = \"\";\r\n let _templateId: string = query.get(\"TemplateId\") || \"\";\r\n\r\n if (_templateId) {\r\n if (query.get(\"isCopy\") !== undefined && query.get(\"isCopy\") !== null) {\r\n setIsCopyValue(true);\r\n _isCopyValue = true;\r\n } else {\r\n setAction(\"edit\");\r\n }\r\n templateList(parseInt(_templateId), _isCopyValue);\r\n setTemplateId(parseInt(_templateId));\r\n } else {\r\n if (\r\n query.get(\"TemplateVersionCode\") &&\r\n query.get(\"VersionTemplate\") &&\r\n !query.get(\"isCopy\")\r\n ) {\r\n _versionTemplate = query.get(\"VersionTemplate\");\r\n _templateVersionCode = query.get(\"TemplateVersionCode\");\r\n setIsVersion(true);\r\n templateList(\r\n parseInt(_templateId),\r\n _isCopyValue,\r\n _templateVersionCode,\r\n _versionTemplate\r\n );\r\n } else {\r\n setControlModel(createFormControl);\r\n setViewManageComponent(\"1\");\r\n setIsLoad(false);\r\n }\r\n }\r\n if (!_isCopyValue && !_versionTemplate) {\r\n versionFunction(_templateId);\r\n }\r\n // versionFunction(_templateId, _isCopyValue);\r\n };\r\n\r\n async function fetchPositionLevel() {\r\n let _dataDynamic: any[] = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n setPositionLevelList(_dataDynamic);\r\n }\r\n async function fetchDataAuthorization() {\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n const companies = await dataCompany();\r\n const _Department = await GetDepartment();\r\n const _employee = await GetAllEmployee();\r\n let _dataFilterDepartment = _Department.filter(\r\n (_department: any) =>\r\n _department.NameEn !== null &&\r\n _department.NameEn.length !== 0 &&\r\n _department.NameTh !== null &&\r\n _department.NameTh.length !== 0\r\n );\r\n\r\n // authorizationCompanyAndDepartmentData(props.controlModel);\r\n setObjectDataAuthorization((prevState: any) => ({\r\n ...prevState,\r\n Role: roles,\r\n Company: companies,\r\n Department: _dataFilterDepartment,\r\n Employee: _employee,\r\n }));\r\n }\r\n async function fetchMatrix() {\r\n let matrix = await GetAllDynamic(\"ApprovalMatrix/GetAll\", undefined);\r\n\r\n setMatrixList(matrix);\r\n }\r\n\r\n async function fetchMasterData() {\r\n let signatrue = await GetSignature();\r\n\r\n setSinatureOptions([...signatrue]);\r\n }\r\n\r\n async function templateList(\r\n template_id: Number,\r\n _isCopyValue: boolean,\r\n _templateVersionCode?: string | null,\r\n _versionTemplate?: string | null\r\n ) {\r\n if (\r\n _versionTemplate &&\r\n _versionTemplate !== null &&\r\n _versionTemplate !== \"\"\r\n ) {\r\n let _templateIdList = await GetTemplateControlById({\r\n TemplateVersionCode: _templateVersionCode,\r\n VersionTemplate: _versionTemplate,\r\n });\r\n _templateIdList.templateForm.versionTemplate = _versionTemplate;\r\n\r\n const dataLogic = await LoadLogic(\r\n _templateIdList.templateForm.TemplateId\r\n );\r\n let TemplateLogic: any[] = [];\r\n if (dataLogic){\r\n let dataValue = [];\r\n for (let i = 0; i < dataLogic?.length; i++) {\r\n const logic = 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 TemplateLogic.push({\r\n Seq: logic.seq,\r\n Logictype: \"refinfomation\",\r\n Jsonvalue: logic.jsonvalue,\r\n });\r\n }\r\n }\r\n setDataLogic(dataLogic);\r\n setRefLogic(refLogic);\r\n setRefInformation(dataValue);\r\n }\r\n // console.log(\"refInformationcMSTTemplateLogic\",_templateIdList.cMSTTemplateLogic );\r\n // console.log(\"_templateIdList\", _templateIdList)\r\n setControlModel(_templateIdList);\r\n setControlVersionModel(_templateIdList);\r\n refTemplateByEditFunction(_templateIdList, dataLogic);\r\n advanceFormByEditFunction(_templateIdList);\r\n\r\n // _templateListVersionHistory[\r\n // Number(_versionTemplate) - 1\r\n // ].versionTemplate = _versionTemplate;\r\n // const dataLogic = await LoadLogic(\r\n // _templateListVersionHistory[Number(_versionTemplate) - 1].TemplateId\r\n // );\r\n // setControlModel(\r\n // _templateListVersionHistory[Number(_versionTemplate) - 1]\r\n // );\r\n // refTemplateByEditFunction(\r\n // _templateListVersionHistory[Number(_versionTemplate) - 1],\r\n // dataLogic\r\n // );\r\n // advanceFormByEditFunction(\r\n // _templateListVersionHistory[Number(_versionTemplate) - 1]\r\n // );\r\n // versionFunction(\r\n // _templateListVersionHistory[Number(_versionTemplate) - 1].TemplateId\r\n // );\r\n setTemplateId(_templateIdList.templateForm.TemplateId);\r\n setIsLoad(false);\r\n } else {\r\n setIsLoad(true);\r\n\r\n const dataJson = {\r\n TemplateId: template_id,\r\n };\r\n let _templateIdList: any = await GetTemplateControlById(dataJson);\r\n const dataLogic = await LoadLogic(template_id);\r\n if (_isCopyValue) {\r\n _templateIdList.templateForm.TemplateId = 0;\r\n _templateIdList.templateForm.TemplateName =\r\n _templateIdList.templateForm.TemplateName + \"-copy\";\r\n _templateIdList.templateForm.DocumentCode =\r\n _templateIdList.templateForm.DocumentCode + \"-copy\";\r\n }\r\n let TemplateLogic: any[] = [];\r\n if (dataLogic){\r\n let dataValue :any[] = [];\r\n let refLogic :any = [];\r\n for (let i = 0; i < dataLogic?.length; i++) {\r\n const logic = 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 TemplateLogic.push({\r\n Seq: logic.Seq,\r\n Logictype: \"refinfomation\",\r\n Jsonvalue: logic.jsonvalue,\r\n });\r\n }\r\n }\r\n setDataLogic(dataLogic);\r\n setRefLogic(refLogic);\r\n setRefInformation(dataValue);\r\n }\r\n\r\n setControlVersionModel(_templateIdList);\r\n setControlModel(_templateIdList);\r\n refTemplateByEditFunction(_templateIdList, dataLogic);\r\n advanceFormByEditFunction(_templateIdList);\r\n setTemplateNameWithCode(\r\n _templateIdList?.templateForm?.DocumentCode +\r\n \" : \" +\r\n _templateIdList?.templateForm?.TemplateName\r\n );\r\n setGroupTemplateName(_templateIdList?.templateForm?.GroupTemplateName);\r\n setIsLoad(false);\r\n }\r\n console.log(\"controlModel\", controlModel);\r\n }\r\n\r\n async function versionFunction(templateId: any) {\r\n const dataJson = {\r\n TemplateId:\r\n templateId !== undefined &&\r\n templateId !== null &&\r\n templateId.length !== 0\r\n ? Number(templateId)\r\n : null,\r\n };\r\n\r\n let _dataVersion = await getVersion();\r\n\r\n if (\r\n _dataVersion !== undefined &&\r\n _dataVersion !== null &&\r\n _dataVersion.length !== 0\r\n ) {\r\n let _arrayVersion = _dataVersion[0].value2.split(\"|\");\r\n if (\r\n _arrayVersion[0] !== undefined &&\r\n _arrayVersion[0] !== null &&\r\n _arrayVersion[0].length !== 0\r\n ) {\r\n\r\n setVersion(_dataVersion[0]);\r\n let _templateIdList: any =\r\n dataJson.TemplateId !== null ? await GetTemplateById(dataJson) : {};\r\n let _dataVersionTempVC = await getVersionTempVC();\r\n setVersionTempVC(_dataVersionTempVC);\r\n\r\n if (\r\n _templateIdList !== undefined &&\r\n _templateIdList !== null &&\r\n Object.keys(_templateIdList).length !== 0\r\n ) {\r\n let dataFilter = _dataVersionTempVC.filter(\r\n (Item: any) => Item.value1 === _templateIdList.DocumentCode\r\n // &&\r\n // Item.value2 === \"true\"\r\n );\r\n\r\n let _templateListVersionHistory = await GetTemplateListVersionHistory(\r\n { DocumentCode: _templateIdList.DocumentCode }\r\n );\r\n\r\n _templateListVersionHistory.sort((a: any, b: any) =>\r\n sorterFunc(a, b, \"TemplateId\", \"dec\")\r\n );\r\n\r\n _templateListVersionHistory.splice(0, 1);\r\n setTemplateListVersionHistory(_templateListVersionHistory);\r\n if (dataFilter.length !== 0) {\r\n\r\n setCreateVersionMasterModel((prevState: any) => ({\r\n ...prevState,\r\n ...dataFilter[0],\r\n }));\r\n\r\n setVersionCheck(true);\r\n }\r\n }\r\n\r\n setVersionStatus(Boolean(_arrayVersion[0]));\r\n } else {\r\n setVersionCheck(false);\r\n setVersionStatus(false);\r\n }\r\n }\r\n }\r\n async function refTemplateByEditFunction(\r\n _templateIdList: any,\r\n dataLogic: any\r\n ) {\r\n try {\r\n let _RefTemplate =\r\n _templateIdList.templateForm.RefTemplate !== undefined\r\n ? _templateIdList.templateForm.RefTemplate !== null\r\n ? _templateIdList.templateForm.RefTemplate.length === 0\r\n ? []\r\n : JSON.parse(_templateIdList.templateForm.RefTemplate)\r\n : []\r\n : [];\r\n let _dataTemplatetMasterData = await GetIsDocControl();\r\n let _dataAuthorizationMasterData = await getAuthorization();\r\n\r\n if (\r\n _dataAuthorizationMasterData === undefined ||\r\n _dataAuthorizationMasterData === null\r\n ) {\r\n } else {\r\n let _manage_company = _dataAuthorizationMasterData.filter(\r\n (data: any) => {\r\n if (\r\n data.value1 ===\r\n _templateIdList.templateForm.TemplateId.toString() &&\r\n data.masterType === \"Authmgcomp\"\r\n )\r\n return true;\r\n }\r\n );\r\n let _manage_department = _dataAuthorizationMasterData.filter(\r\n (data: any) => {\r\n if (\r\n data.value1 ===\r\n _templateIdList.templateForm.TemplateId.toString() &&\r\n data.masterType === \"Authmgdept\"\r\n )\r\n return true;\r\n }\r\n );\r\n let _request_company = _dataAuthorizationMasterData.filter(\r\n (data: any) => {\r\n if (\r\n data.value1 ===\r\n _templateIdList.templateForm.TemplateId.toString() &&\r\n data.masterType === \"Authrqcomp\"\r\n )\r\n return true;\r\n }\r\n );\r\n let _request_department = _dataAuthorizationMasterData.filter(\r\n (data: any) => {\r\n if (\r\n data.value1 ===\r\n _templateIdList.templateForm.TemplateId.toString() &&\r\n data.masterType === \"Authrqdept\"\r\n )\r\n return true;\r\n }\r\n );\r\n let _Authorization_view = dataLogic.filter((data: any) => {\r\n if (data.logictype === \"Permission\") return true;\r\n });\r\n\r\n let _manage_companyArrayIndx0: any =\r\n _manage_company.length === 0\r\n ? null\r\n : _manage_company[0] === \"[]\"\r\n ? null\r\n : JSON.parse(_manage_company[0].value2);\r\n let _request_companyArrayIndx0: any =\r\n _request_company.length === 0\r\n ? null\r\n : _request_company[0] === \"[]\"\r\n ? null\r\n : JSON.parse(_request_company[0].value2);\r\n let _manage_departmentArrayIndx0: any =\r\n _manage_department.length === 0\r\n ? null\r\n : _manage_department[0] === \"[]\"\r\n ? null\r\n : JSON.parse(_manage_department[0].value2);\r\n\r\n let _request_departmentArrayIndx0: any =\r\n _request_department.length === 0\r\n ? null\r\n : _request_department[0] === \"[]\"\r\n ? null\r\n : JSON.parse(_request_department[0].value2);\r\n\r\n let Authorization_for_ViewIndx0: any =\r\n _Authorization_view.length === 0\r\n ? null\r\n : _Authorization_view[0] === \"[]\"\r\n ? null\r\n : JSON.parse(_Authorization_view[0].jsonvalue);\r\n\r\n // if(Authorization_manage_company!==null)\r\n //// console.log(\"Authorization_manage_company\", _manage_companyArrayIndx0);\r\n\r\n await setControlModel((prevState: any) => ({\r\n ...prevState,\r\n Authorization_manage_company:\r\n _manage_companyArrayIndx0 !== undefined\r\n ? _manage_companyArrayIndx0 !== null\r\n ? _manage_companyArrayIndx0.length === 0\r\n ? null\r\n : _manage_companyArrayIndx0\r\n : null\r\n : null,\r\n\r\n Authorization_manage_department:\r\n _manage_department !== undefined\r\n ? _manage_department !== null\r\n ? _manage_department.length === 0\r\n ? null\r\n : _manage_departmentArrayIndx0\r\n : null\r\n : null,\r\n\r\n Authorization_request_company:\r\n _request_companyArrayIndx0 !== undefined\r\n ? _request_companyArrayIndx0 !== null\r\n ? _request_companyArrayIndx0.length === 0\r\n ? null\r\n : _request_companyArrayIndx0\r\n : null\r\n : null,\r\n\r\n Authorization_request_department:\r\n _request_department !== undefined\r\n ? _request_department !== null\r\n ? _request_department.length === 0\r\n ? null\r\n : _request_departmentArrayIndx0\r\n : null\r\n : null,\r\n\r\n Authorization_view:\r\n _Authorization_view !== undefined\r\n ? _Authorization_view !== null\r\n ? _Authorization_view.length === 0\r\n ? null\r\n : Authorization_for_ViewIndx0\r\n : null\r\n : null,\r\n }));\r\n }\r\n\r\n await setControlModel((prevState: any) => ({\r\n ...prevState,\r\n listRefTemplate: _RefTemplate,\r\n }));\r\n lstMasterDataByEditFunction(_dataTemplatetMasterData, _templateIdList);\r\n } catch (error) {\r\n console.error(\"setRef=>error\", error);\r\n }\r\n }\r\n async function lstMasterDataByEditFunction(\r\n _MasterData: any,\r\n _templateIdList: any\r\n ) {\r\n if (_MasterData !== null) {\r\n let _dataTemplatetMasterDatafilter = _MasterData.filter(\r\n (data: any) =>\r\n data.value1 === _templateIdList.templateForm.TemplateId.toString()\r\n );\r\n\r\n await setControlModel((prevState: any) => ({\r\n ...prevState,\r\n lstMasterData: _dataTemplatetMasterDatafilter,\r\n }));\r\n }\r\n }\r\n\r\n function advanceFormByEditFunction(_templateIdList: any) {\r\n try {\r\n let respone: any;\r\n if (_templateIdList.templateForm?.IsTextForm === false) {\r\n setViewManageComponent(\"1\");\r\n if (_templateIdList.templateForm.AdvanceForm !== \"\") {\r\n respone = JSON.parse(_templateIdList.templateForm.AdvanceForm).items;\r\n } else {\r\n respone = [];\r\n }\r\n for (let i = 0; i < respone.length; i++) {\r\n const row = respone[i];\r\n for (let j = 0; j < row.layout.length; j++) {\r\n const _layout = row.layout[j];\r\n if (respone[i].layout[j].guid == undefined) {\r\n respone[i].layout[j][\"guid\"] = generateQuickGuid();\r\n }\r\n }\r\n }\r\n setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: respone,\r\n }));\r\n } else {\r\n setViewManageComponent(\"2\");\r\n setTextFromValue(_templateIdList.templateForm.TextForm);\r\n }\r\n } catch (error) {}\r\n }\r\n async function addTemplateDetail() {\r\n setVisibleConfirmDialog(true);\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}/Request?MemoID=0&template=${templateId}&preview`,\r\n \"_blank\"\r\n );\r\n }\r\n const confirm = async () => {\r\n console.log(\"controlModel Confirm\", controlModel);\r\n let control = controlModel;\r\n control.JsonCondition = \"\";\r\n if (viewManageComponent === \"1\") {\r\n control.templateForm.AdvanceForm = JSON.stringify(advanceForm);\r\n control.templateForm.IsTextForm = false;\r\n control.templateForm.TextForm = \"\";\r\n } else if (viewManageComponent === \"2\") {\r\n control.templateForm.AdvanceForm = \"\";\r\n control.templateForm.IsTextForm = true;\r\n control.templateForm.TextForm = textFromValue;\r\n }\r\n if (action === \"add\") {\r\n control.templateForm.ModifiedBy = userData.EmployeeId?.toString();\r\n control.templateForm.ModifiedDate = moment().format(\r\n \"DD/MM/YYYY hh:mm:ss\"\r\n );\r\n control.templateForm.CreatedBy = userData.EmployeeId?.toString();\r\n control.templateForm.CreatedDate = moment().format(\"DD/MM/YYYY hh:mm:ss\");\r\n } else if (action === \"edit\") {\r\n control.templateForm.ModifiedBy = userData.EmployeeId?.toString();\r\n control.templateForm.ModifiedDate = moment().format(\r\n \"DD/MM/YYYY hh:mm:ss\"\r\n );\r\n }\r\n if (!isDelete) {\r\n if (\r\n control.templateForm.GroupTemplateName !== undefined &&\r\n control.templateForm.DocumentCode !== undefined &&\r\n control.templateForm.TemplateName !== undefined &&\r\n control.templateForm.GroupTemplateName !== null &&\r\n control.templateForm.DocumentCode !== null &&\r\n control.templateForm.TemplateName !== null &&\r\n control.templateForm.GroupTemplateName.length !== 0 &&\r\n control.templateForm.DocumentCode.length !== 0 &&\r\n control.templateForm.TemplateName.length !== 0\r\n ) {\r\n let _dataTemplateByDocTypeCode =\r\n action === \"add\"\r\n ? await GetTemplateByDocTypeCode({\r\n DocumentCode: controlModel.templateForm.DocumentCode,\r\n })\r\n : null;\r\n if (\r\n _dataTemplateByDocTypeCode !== undefined &&\r\n _dataTemplateByDocTypeCode !== null &&\r\n Object.keys(_dataTemplateByDocTypeCode).length !== 0 &&\r\n action === \"add\"\r\n ) {\r\n toggleAlert({\r\n description: `DocTypeCode is duplicate.`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else {\r\n setIsLoad(true);\r\n let formData: any = {};\r\n let res: any;\r\n let _history = \"\";\r\n if (versionCheck) {\r\n if (\r\n createVersionMasterModel.value2 === \"true\" &&\r\n createVersionMasterModel.masterId.length === 0\r\n ) {\r\n formData.MasterId = null;\r\n formData.Value1 = controlModel.templateForm.DocumentCode;\r\n formData.Value2 = createVersionMasterModel.value2;\r\n formData.Value3 = createVersionMasterModel.value3;\r\n formData.Value4 = \"0\";\r\n formData.Value5 = (\r\n Number(createVersionMasterModel.value5) + 1\r\n ).toString();\r\n // (\r\n // Number(createVersionMasterModel.value5) + 1\r\n // ).toString();\r\n formData.MasterType = createVersionMasterModel.masterType;\r\n formData.IsActive = createVersionMasterModel.isActive;\r\n formData.Seq = null;\r\n\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = moment().format(\"DD/MM/YYYY hh:mm:ss\");\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.ModifiedDate = moment().format(\"DD/MM/YYYY hh:mm:ss\");\r\n } else {\r\n formData.MasterId = Number(createVersionMasterModel.masterId);\r\n formData.Value1 = controlModel.templateForm.DocumentCode;\r\n formData.Value2 = createVersionMasterModel.value2;\r\n formData.Value3 =\r\n createVersionMasterModel.value3 === \"Publish\"\r\n ? \"Editing\"\r\n : \"Editing\";\r\n formData.Value4 = createVersionMasterModel.value4;\r\n formData.Value5 =\r\n createVersionMasterModel.value3 === \"Publish\"\r\n ? (Number(createVersionMasterModel.value5) + 1).toString()\r\n : createVersionMasterModel.value5;\r\n formData.MasterType = createVersionMasterModel.masterType;\r\n formData.IsActive = createVersionMasterModel.isActive;\r\n formData.Seq = createVersionMasterModel.seq;\r\n formData.ModifiedDate = moment().format(\"DD/MM/YYYY hh:mm:ss\");\r\n formData.CreatedBy = createVersionMasterModel.createdBy;\r\n formData.CreatedDate = createVersionMasterModel.createdDate;\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n control.cMstMasterData = formData;\r\n control.templateForm.ModifiedBy = userData.EmployeeId.toString();\r\n control.templateForm.CreatedBy = userData.EmployeeId.toString();\r\n if (\r\n createVersionMasterModel.value3 === \"Editing\" &&\r\n Number(createVersionMasterModel.value5) + 1 > 1\r\n ) {\r\n res = await AddTemplate(control);\r\n } else {\r\n res = await AddTemplateAndVersion(control);\r\n let _templateListVersionHistory =\r\n await GetTemplateListVersionHistory({\r\n DocumentCode: control.templateForm?.DocumentCode,\r\n });\r\n _templateListVersionHistory.sort((a: any, b: any) =>\r\n sorterFunc(a, b, \"TemplateId\", \"dec\")\r\n );\r\n\r\n _templateListVersionHistory.splice(0, 1);\r\n _history = `/TemplateDetail?TemplateVersionCode=${\r\n _templateListVersionHistory[\r\n _templateListVersionHistory.length - 1\r\n ]?.DocumentCode\r\n }&VersionTemplate=${_templateListVersionHistory?.length}&Version`;\r\n }\r\n } else {\r\n control.templateForm.CreatedBy = userData.EmployeeId.toString();\r\n control.templateForm.CreatedDate = moment().format(\r\n \"DD/MM/YYYY hh:mm:ss\"\r\n );\r\n control.templateForm.ModifiedBy = userData.EmployeeId?.toString();\r\n control.templateForm.ModifiedDate = moment().format(\r\n \"DD/MM/YYYY hh:mm:ss\"\r\n );\r\n res = await AddTemplate(control);\r\n }\r\n\r\n if (res) {\r\n if (action === \"add\") {\r\n history.push(\"/Settings?name=TemplateList\", {\r\n responeAddTemplate: \"data\",\r\n typeTemplate: \"add\",\r\n });\r\n setIsLoad(false);\r\n } else if (action === \"edit\" && versionCheck) {\r\n if (_history.length !== 0) {\r\n history.push(_history);\r\n history.go(0);\r\n }\r\n setIsLoad(false);\r\n } else if (action === \"edit\" && !versionCheck) {\r\n intiFunc();\r\n }\r\n } else {\r\n let _checkValidationOBJ: any = {\r\n GroupTemplateName:\r\n controlModel?.templateForm?.GroupTemplateName?.length !== 0\r\n ? false\r\n : true,\r\n DocumentCode:\r\n controlModel?.templateForm?.DocumentCode?.length !== 0\r\n ? false\r\n : true,\r\n TemplateName:\r\n controlModel?.templateForm?.TemplateName?.length !== 0\r\n ? false\r\n : true,\r\n };\r\n setValidationInformation(_checkValidationOBJ);\r\n const selected = selectView;\r\n setSelectView(selected);\r\n setIsLoad(false);\r\n }\r\n }\r\n } else {\r\n let _checkValidationOBJ: any = {\r\n GroupTemplateName:\r\n controlModel.templateForm?.GroupTemplateName !== null\r\n ? controlModel.templateForm?.GroupTemplateName?.length !== 0\r\n ? false\r\n : true\r\n : true,\r\n DocumentCode:\r\n controlModel.templateForm?.DocumentCode !== null\r\n ? controlModel.templateForm?.DocumentCode.length !== 0\r\n ? false\r\n : true\r\n : true,\r\n TemplateName:\r\n controlModel?.templateForm?.TemplateName !== null\r\n ? controlModel.templateForm?.TemplateName?.length !== 0\r\n ? false\r\n : true\r\n : true,\r\n };\r\n setValidationInformation(_checkValidationOBJ);\r\n const selected = selectView;\r\n setSelectView(selected);\r\n }\r\n } else if (isDelete) {\r\n control.templateForm.IsActive = false;\r\n control.templateForm.IsDelete = true;\r\n control.templateForm.ModifiedDate = moment().format(\r\n \"DD/MM/YYYY hh:mm:ss\"\r\n );\r\n control.templateForm.ModifiedBy = userData.EmployeeId?.toString();\r\n const res = await DeleteTemplate(control);\r\n if (res) {\r\n history.push(\"/Settings?name=TemplateList\", {\r\n responeAddTemplate: \"data\",\r\n typeTemplate: \"delete\",\r\n });\r\n setIsLoad(false);\r\n } else {\r\n setIsLoad(false);\r\n toggleAlert({\r\n description: `Server Error Please try again.`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n }\r\n }\r\n };\r\n const confirmDialogButton = () => {\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 accept={confirm}\r\n reject={() => {\r\n setVisibleConfirmDialog(false);\r\n setIsDelete(false);\r\n }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n />\r\n \r\n );\r\n };\r\n const fechMemoButtonDefault = () => {\r\n return (\r\n <>\r\n \r\n }\r\n onClickProps={() =>\r\n history.push(\"/Settings?name=TemplateList&action=back\")\r\n }\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 {action === \"edit\" && !isCopyValue && (\r\n \r\n }\r\n onClickProps={() => {\r\n window.open(\r\n `${baseUrl}/TemplateDetail?TemplateId=${templateId}&isCopy`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\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 {action === \"edit\" && !isCopyValue && (\r\n \r\n }\r\n onClickProps={() => {\r\n setVisibleConfirmDialog(true);\r\n setIsDelete(true);\r\n }}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(255, 0, 0)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n backgroundColor: \"red\",\r\n height: \"32px\",\r\n }}\r\n />\r\n )}\r\n {action === \"edit\" && !isCopyValue && (\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 />\r\n )}\r\n\r\n }\r\n onClickProps={addTemplateDetail}\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 const onSelectView = (text: string) => {\r\n setSelectView(text);\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\r\n async function fetchDataTemplate() {\r\n let _dataTemplatee = await GetTemplate();\r\n\r\n const isActiveTemp = _dataTemplatee?.filter((e: any) => e.IsActive);\r\n\r\n let _groupDataTemplate: any = [];\r\n let groupTemplate = isActiveTemp?.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\r\n for (const [key, value] of Object.entries(groupTemplate)) {\r\n let _value: any = value;\r\n _groupDataTemplate.push({ value: key });\r\n }\r\n setGroupDataTemplate(_groupDataTemplate);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\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 \r\n {isVersion\r\n ? \"Form Template\"\r\n : action === \"edit\"\r\n ? \" Edit Form Template\"\r\n : \"Create Form Template\"}\r\n {controlModel?.templateForm?.versionTemplate && (\r\n

\r\n (History Version{\" \"}\r\n {controlModel?.templateForm?.versionTemplate})\r\n

\r\n )}\r\n

\r\n
\r\n
{groupTemplateName}
\r\n
{templateNameWithCode}
\r\n
\r\n
\r\n
\r\n {!controlModel?.templateForm?.versionTemplate &&\r\n fechMemoButtonDefault()}\r\n
\r\n
\r\n
\r\n {isLoad ? (\r\n <>\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
\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n {isLoad ? (\r\n <>\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 \r\n )}\r\n \r\n \r\n {selectView === \"1\" && (\r\n \r\n )}\r\n {selectView === \"2\" && (\r\n \r\n )}\r\n {selectView === \"3\" && (\r\n \r\n )}\r\n \r\n \r\n
\r\n {selectView === \"5\" && (\r\n \r\n )}\r\n {selectView === \"6\" && (\r\n \r\n )}\r\n
\r\n \r\n
\r\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(TemplateDetailScreen);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./forgotPassword.css\";\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nimport WolfLogo from \"../../assets/WOLF_lite_logo_TCB_Blue.png\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { Spin, Space } from \"antd\";\r\nimport { FiChevronLeft } from \"react-icons/fi\";\r\ntype Props = {\r\n PathLogo: any;\r\n};\r\n\r\nconst ForgotPasswordScreen = (props: Props) => {\r\n const query = new URLSearchParams(useLocation().search);\r\n const [haveKey, setHaveKey] = useState(query.get(\"vkey\") || \"\");\r\n const [email, setEmail] = useState(\"\");\r\n const [newPassword, setNewPassword] = useState(\"\");\r\n const [confirmPassWord, setConfirmPassWord] = useState(\"\");\r\n const [captcharVerify, setCaptcharVerify] = useState(false);\r\n const [isPasswordCompared, setIsPasswordCompared] = useState(true);\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [isSuccess, setIsSuccess] = useState(false);\r\n const [remark, setRemark] = useState(\"\");\r\n const history = useHistory();\r\n const {\r\n handleSubmit,\r\n getValues,\r\n control,\r\n formState: { errors },\r\n reset,\r\n } = useForm({\r\n defaultValues: {\r\n email: \"\",\r\n new_password: \"\",\r\n confirm_password: \"\",\r\n },\r\n });\r\n useEffect(() => {\r\n if (query.get(\"PK\") !== null && query.get(\"PK\") !== undefined) {\r\n setHaveKey(query.get(\"PK\") || \"\");\r\n }\r\n }, [query]);\r\n useEffect(() => {\r\n const checkKey = async () => {\r\n setOnLoading(true);\r\n if (haveKey.length > 0) {\r\n const respone = await fetch(\"api/Authentication/ConfirmResetPassword\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ GuidVerify: haveKey }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n if (data) {\r\n setOnLoading(false);\r\n } else {\r\n setRemark(\"มีบางอย่างไม่ถูกต้อง กรุณาตรวจสอบ\");\r\n }\r\n });\r\n }\r\n };\r\n checkKey();\r\n }, [haveKey]);\r\n const onSubmit = async (data: any) => {\r\n const _baseUrl = window.location.hostname;\r\n if (data.new_password === data.confirm_password) {\r\n setIsPasswordCompared(true);\r\n const respone = await fetch(\"api/Authentication/ForgotPassword\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n email: data.email,\r\n newPassword: data.new_password,\r\n webUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n if (data === false) {\r\n setRemark(\"มีบางอย่างไม่ถูกต้อง กรุณาตรวจสอบ\");\r\n } else {\r\n setIsSuccess(true);\r\n }\r\n });\r\n } else {\r\n setIsPasswordCompared(false);\r\n }\r\n };\r\n const onSubmitReset = async () => {\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({ email: haveKey, newPassword: newPassword }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => console.log(data));\r\n };\r\n return (\r\n
\r\n {!haveKey ? (\r\n <>\r\n {!isSuccess ? (\r\n
\r\n
\r\n history.goBack()}\r\n />\r\n\r\n \"img\"\r\n\r\n
\r\n

Change Your Password / เปลี่ยนรหัสผ่าน

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

Email / อีเมล

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

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

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

New 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 {!isPasswordCompared && (\r\n

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

\r\n )}\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 = (event: any, label: any) => {\r\n console.log(userData.Lang === \"EN\" ? event.data.NameEn : event.data.NameTh);\r\n if (label === \"approver\") {\r\n setApprover((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? event.data.NameEn : event.data.NameTh,\r\n ApproverId: event.data.EmployeeId,\r\n }));\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n ApproverId: event.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\" ? event.data.NameEn : event.data.NameTh,\r\n DelegateToId: event.data.EmployeeId,\r\n }));\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n DelegateToId: event.data.EmployeeId,\r\n },\r\n }));\r\n }\r\n setIsDialogApproverVisible(!isDialogApproverVisible);\r\n };\r\n return (\r\n
\r\n \r\n

Authorization for Manage

\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 {\r\n GetAllEmployee,\r\n} 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 (event: any) => {\r\n if(props.requestor.EmployeeId!= event.data.EmployeeId){\r\n props.setRequestor(event.data);\r\n props.setMemoDetail((prevState: any) => (\r\n {\r\n ...prevState,\r\n requestor: event.data,\r\n }\r\n ))\r\n if (props.renderSelectedRequestor) {\r\n props.renderSelectedRequestor(event.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 { GetPort, 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\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 [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 async function fechData() {\r\n const config = await getUploadFileSettingConfiguration();\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 if (lastFile != undefined) {\r\n newFile.sequence = lastFile.sequence + 1;\r\n } else {\r\n newFile.sequence = 1;\r\n }\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 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 {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 const _port = await GetPort();\r\n if(_port){\r\n _tinyURL = _tinyURL+ \":\" + _port;\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(lastIndex + 1);\r\n const name = fullName.substring(0, lastIndex);\r\n\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 (link.toLowerCase().endsWith(fileType)) {\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(lastIndex + 1);\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 (link.toLowerCase().endsWith(fileType)) {\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

{attachData.description}

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

{userData.Lang === \"EN\" ? attachData.actor.NameEn : 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 {\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 }}\r\n checked={listFileAttachDetails[idx].is_merge_pdf}\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\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n workList?: 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 />\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 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 />\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 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}\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};\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: val[i].TemplateId,\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 { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Spin, Space, Input } from \"antd\";\r\nimport { Toast } from \"primereact/toast\";\r\n\r\nimport React, { useEffect, useState, FC } from \"react\";\r\nimport { IMemoPageModel } from \"../../../IRequestModel/IMemoPageModel\";\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 moment from \"moment\";\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 { GetPort } from \"../../../Services/AttachFileService\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\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};\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}) => {\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\r\n useEffect(() => {\r\n fetchMasterData();\r\n checkHasFifoFunction();\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 = (event: any) => {\r\n let com_name = event.data.CompanyCode + \" : \";\r\n if (userData.Lang === \"EN\") {\r\n com_name = com_name + event.data.NameEn;\r\n } else {\r\n com_name = com_name + event.data.NameTh;\r\n }\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n company_id: event.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(() => {\r\n let _filteredEmployee;\r\n if (!event.query.trim().length) {\r\n _filteredEmployee = [...masterEmployee];\r\n } else {\r\n _filteredEmployee = masterEmployee.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\r\n async function showModalInEmployeeToAndPass(type: string) {\r\n if (filteredEmployee) {\r\n setFilteredEmployee(\"\");\r\n }\r\n\r\n console.log({ type });\r\n let req = {\r\n IsActiveOnly: true, \r\n Scopes: \"name,email,org\"\r\n }\r\n if(!dialogVisibleInEmployee){\r\n const employee = await GetAllEmployee(req);\r\n setSearchData (employee)\r\n setDialogVisibleInEmployee(!dialogVisibleInEmployee);\r\n setTypeEmployeeDialog(type);\r\n } \r\n }\r\n\r\n function insertDataByEnter(event: any, type: any) {\r\n console.log({ event, type });\r\n\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(event: any) {\r\n let checkValue: boolean = false;\r\n console.log({ event });\r\n\r\n const _value =\r\n userData.Lang === \"EN\" ? event.data.NameEn : event.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 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 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 let _port = await GetPort();\r\n if(_port){\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port\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 GetAllDynamic(\"MasterData/GetAll\", undefined);\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 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 {\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) => selecteOrTypeListInToAndPass(e, \"to\")}\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 {\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) => selecteOrTypeListInToAndPass(e, \"pass\")}\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\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};\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,memoDetail,\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(lineApproval.filter((a:any)=>\r\n memoDetail.current_approval_level === a.sequence\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 const employee = await GetAllEmployee(req);\r\n setSearchData(employee);\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 = (event: any) => {\r\n addData(event.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 \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 toggleModal()}\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 const _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 console.log({ site: `${protocol}//${_tinyURL}/`, attachPath });\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 // ${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 {buttonCopy()}\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 { 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 MAdvanceFormByMemoId,\r\n SetCheckAcces,\r\n} from \"../../Services/MemoService\";\r\nimport {\r\n GetTemplateByDocTypeCode,\r\n GetTemplateById,\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 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} 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\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), 100);\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\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\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 const [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 //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\r\n useEffect(() => {\r\n previousView.current = selectedView;\r\n }, [selectedView]);\r\n\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\r\n useEffect(() => {\r\n const fetchMasterData = async () => {\r\n setLoad(true);\r\n const masterData = await GetAllDynamic(\"MasterData/GetAll\", undefined);\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\r\n // setMasterEmployee([...employee]);\r\n setMasterProjects([...projects]);\r\n setMasterCompanies([...companies]);\r\n setCheckUseEffect(true);\r\n };\r\n fetchMasterData();\r\n }, []);\r\n\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 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 console.log(memoDetail, \"memoDetail3433333333333\");\r\n\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 console.log(\"ref=>_RefID\", _RefID);\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 console.log(\"request=>requestDetail\", 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 console.log(canViewAndPrint, \"canViewAndPrint\");\r\n console.log(requestDetail, \"canViewAndPrint2\");\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 console.log({\r\n templateDesc: requestDetail.requestDetails.memoDetail,\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 = initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _template.items,\r\n requestDetail.requestDetails.memoDetail.status\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 = initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _control,\r\n requestDetail.requestDetails.memoDetail.status\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 = initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _template.items,\r\n requestDetail.requestDetails.memoDetail.status\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 undefined,\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 console.log(\r\n \"requestDetail=>requestDetail\",\r\n requestDetail.requestDetails.memoDetail\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 = initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _control,\r\n requestDetail.requestDetails.memoDetail.status\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 = initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _template.items,\r\n requestDetail.requestDetails.memoDetail.status\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 console.log(\"Effect was run 1\");\r\n }\r\n console.log(\"finfo\", finFo);\r\n } catch (error) {\r\n setLoad(false);\r\n console.log(\"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 console.log({ layout });\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 }\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\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 try {\r\n if (logicType === \"ref\") {\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n amount: Number(amount).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }),\r\n }));\r\n } else if (!isNaN(amount) && !logicType && logicType !== \"ref\") {\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n amount: Number(amount).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }),\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(amount),\r\n };\r\n const responseDataLineApprove = await onLoadDataLiveApprove(dataJson);\r\n console.log(responseDataLineApprove);\r\n\r\n if (responseDataLineApprove) {\r\n setLineApproval([...responseDataLineApprove]);\r\n }\r\n } else if (logicType || isSummary) {\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 ) {\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 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: amount,\r\n };\r\n const dataJsonApproverType = {\r\n TemplateId: memoDetail.template_id,\r\n };\r\n console.log(\"logic=>\", {\r\n dataJsonApproverType,\r\n jsonCondition,\r\n jsonConditions,\r\n dataJson,\r\n });\r\n\r\n const approverType = await onLoadLiveApproveType(\r\n dataJsonApproverType\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) {\r\n // ถ้าเป็นการหา line approve จาก summary แต่ไม่มีการ set line approve แบบ doa ไม่ต้องอัพเดท line approve ใหม่\r\n // nothing todo\r\n } else {\r\n const responseDataLineApprove = await onLoadDataLiveApprove(\r\n dataJson\r\n );\r\n if (responseDataLineApprove) {\r\n if (doa || loc || spc || dtp) {\r\n setLineApproval([...responseDataLineApprove]);\r\n } else if (!(doa || loc || spc || dtp) && jsonCondition) {\r\n setLineApproval([...responseDataLineApprove]);\r\n }\r\n }\r\n console.log(\"dddddddddddd\");\r\n }\r\n\r\n setIsControlLoading(false);\r\n }\r\n if (jsonCondition) {\r\n setJsonConditions(jsonCondition);\r\n }\r\n } else previousAmount.current = amount;\r\n } catch (error) {\r\n console.log(\"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 (_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 = initialActionFiedFormLineApprove(\r\n [...responseDataLineApprove],\r\n tempdescItem,\r\n _memoDetail.status\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.log(\"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(\r\n (data) => {\r\n return data;\r\n }\r\n // console.log(\"load\", data)\r\n )\r\n .catch((err: any) => console.log({ 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.log({ errerrerr: err }));\r\n return respone;\r\n };\r\n\r\n const initialActionFiedFormLineApprove = (\r\n dataLineApprove: any,\r\n _templateDesc: any,\r\n status: string\r\n ) => {\r\n const _datalineapprove = dataLineApprove;\r\n let _memoDetail: IMemoDetailModel = memoDetail;\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\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 console.log(\"action=>\", _datalineapprove[i].ColumnJsonCondValue);\r\n if (jsonValue) {\r\n if (jsonValue.action === \"readonly\") {\r\n showTemplate.readonly = true;\r\n // showTemplate.isShow = false;\r\n isShow = true;\r\n } else {\r\n // showTemplate.isShow = true;\r\n showTemplate.readonly = false;\r\n isShow = false;\r\n }\r\n //showTemplate.isShow = isShow;\r\n console.log({ action: jsonValue.action, showTemplate });\r\n if (status === \"New Request\"){\r\n if(jsonValue.isRequester === \"Y\"){\r\n for (let x = 0; x < _templateDesc.length; x++) {\r\n const layout = _templateDesc[x].layout;\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 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 } \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 } else {\r\n if (\r\n _datalineapprove[i].approver.EmployeeId === userData.EmployeeId\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 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 } else {\r\n if (\r\n _datalineapprove[i].approver.EmployeeId === userData.EmployeeId\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 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 console.log(\"show\", { showTemplate });\r\n }\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[pos.row].layout[pos.col].template.type === \"tb\"\r\n ) {\r\n _templateDesc[pos.row].layout[pos.col].isShow = isShow;\r\n\r\n _templateDesc[pos.row].layout[pos.col].template.attribute.column = _templateDesc[pos.row].layout[\r\n pos.col\r\n ].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.readonly = \"Y\";\r\n }\r\n column.isShow = isShow;\r\n console.log(column);\r\n }\r\n if (pos.notUseCols?.includes(colIndex)) {\r\n if (showTemplate.readonly) {\r\n column.control.template.attribute.readonly = \"N\";\r\n }\r\n column.isShow = true;\r\n console.log(column);\r\n }\r\n return column;\r\n }\r\n );\r\n } else {\r\n console.log(\r\n _templateDesc[pos.row].layout[pos.col].template.attribute\r\n );\r\n if (_templateDesc[pos.row].layout[pos.col].template.type !== \"l\" &&\r\n _templateDesc[pos.row].layout[pos.col].template.type !== \"em\"){\r\n if (showTemplate.readonly) {\r\n _templateDesc[pos.row].layout[pos.col].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 }\r\n\r\n console.log(\"logic=>_templateDesc\", _templateDesc);\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 console.log(approverType);\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 _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 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\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 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 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 (requestor){\r\n if(jsonValue.required === \"Requestor_Employee_code\"){\r\n _layout.data.value = requestor.EmployeeCode;\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 }\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 }\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\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;\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\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 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 console.log({ memoButtons });\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 };\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 const onSubmit = async (formData: any, data: IRequestOnSubmit) => {\r\n // variables RequestScreen\r\n console.log(formData, \"formData\");\r\n console.log(data, \"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[0].Value4;\r\n\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 (!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 return;\r\n }\r\n setLoad(true);\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 if (_memoDetail?.actorCheckAccess) {\r\n checkQuery();\r\n } else {\r\n const history = await GetMemoHistoryDetail({\r\n memoid: memoId,\r\n actor: userData,\r\n });\r\n setListHistoryDetails([...history]);\r\n }\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\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 />\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 field.onChange(e.target.value);\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 {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 { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetPort, 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\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 GetAllDynamic(\"MasterData/GetAll\", undefined);\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 let _port = await GetPort();\r\n if(_port){\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port\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 \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\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=\"p-d-block p-inputgroup attachForm-border-description-inputText\"\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\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 console.log(\"table=>data\", data);\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 = (event: any, label: any) => {\r\n if (label === \"approver\") {\r\n setApprover((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? event.data.NameEn : event.data.NameTh,\r\n ApproverId: event.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\" ? event.data.NameEn : event.data.NameTh,\r\n DelegateToId: event.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 \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\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\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 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 }\r\n\r\n _dataDynamic = await GetAllDynamic(_apiPath + \"/GetAll\", dataJsonn);\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 console.log(\"record\", record);\r\n\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 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 \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 \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 ];\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 React, { useState, useEffect } from \"react\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { useSessionContext } from \"../Context/AuthContext\";\r\nimport { LoginScreen } from \"../screens/LoginScreen/LoginScreen\";\r\nimport { LoginScreenAzure } from \"../screens/LoginScreen/LoginScreenAzure\";\r\nimport { DynamicReport } from \"../screens/Report/DynamicReport\";\r\nimport ReportScreen from \"../screens/Report/ReportScreen\";\r\nimport WorkListScreen from \"../screens/WorkList/WorkListScreen\";\r\nimport PrivateRoute, { ProtectedRouteProps } from \"./PrivateRoute\";\r\nimport { ErrorPageComponent } from \"../components/ErrorPageComponent/ErrorPageComponent\";\r\nimport {\r\n CheckAppSetting,\r\n CheckCanDownloadPdf,\r\n CheckCanEditProfile,\r\n} from \"../Services/AppSettingService\";\r\nimport TemplateDetailScreen from \"../screens/TemplateDetailScreen/TemplateDetailScreen\";\r\nimport ForgotPasswordScreen from \"../screens/ForgotPasswordScreen/ForgotPasswordScreen\";\r\nimport DelegateScreen from \"../screens/DelegateScreen/DelegateScreen\";\r\nimport EmailTemplateDetailScreen from \"../screens/SettingsSpecScreen/EmailTemplateDetailScreen\";\r\nimport SimLineApproveScreen from \"../screens/SettingScreen/SimLineApproveScreen/SimLineApproveScreen\";\r\nimport DashboardScreen from \"../screens/DashboardScreen/DashboardScreen\";\r\nimport { LogApi } from \"../screens/LogApi/LogApi\";\r\nimport EmailTemplateListScreen from \"../screens/SettingsSpecScreen/EmailTemplateListScreen/EmailTemplateListScreen\";\r\nimport { PreviewTemplateScreen } from \"../screens/TemplateDetailScreen/PreviewTemplateScreen\";\r\nimport { LoginGoogle } from \"../screens/LoginScreen/LoginGoogle\";\r\nimport UnAurthorization from \"../screens/UnAuthorizePage/UnAurthorization\";\r\nimport { useMsal } from \"@azure/msal-react\";\r\n\r\nimport RegisterWolfScreen from \"../screens/RegisterWolfScreen/RegisterWolfScreen\";\r\nimport \"./switchRoute.css\";\r\nimport RequestScreenFix from \"../screens/Request/RequestScreenFix\";\r\nimport MasterDatascreenFixed from \"../screens/SettingScreen/MasterDataScreen/MasterDatascreenFixed\";\r\nimport ReportScreenFix from \"../screens/Report/ReportScreenFix\";\r\nimport { CSSTransition, SwitchTransition } from \"react-transition-group\";\r\nimport TimeStampScreen from \"../screens/TimeStamp/TimeStampScreen\";\r\nimport PreviewAttachmentScreen from \"../screens/PreviewAttachmentScreen/PreviewAttachmentScreen\";\r\nimport RequestActionMemo from \"../screens/RequestActionMemo/RequestActionMemo\";\r\nimport { LoginConfiguration } from \"../Services/ConfigurationService\";\r\nimport { GetMasterDataBrowserAgent } from \"../Services/MasterDataService\";\r\nimport RejectBrowser from \"../screens/RejectBrowerScreen/RejectBrowser\";\r\nimport { LoginScreenOpenId } from \"../screens/LoginScreen/LoginScreenOpenId\";\r\n\r\ninterface Props {\r\n responeConfig: any;\r\n isLoadPackage: boolean;\r\n setIsLoadPackage: any;\r\n}\r\n\r\nconst Routes = (props: Props) => {\r\n const [responeConfig, setResponeConfig] = useState();\r\n const [isVerify, setIsVerify] = useState(false);\r\n const [initialPath, setInitialPath] = useState(\"\");\r\n const [Nav, setNav] = useState([]);\r\n const [loginScreen, setLoginScreen] = useState();\r\n const cookies = new Cookies();\r\n const history = useHistory();\r\n const [sessionContext, updateSessionContext] = useSessionContext();\r\n const { instance, inProgress, accounts } = useMsal();\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n const guidVerify = cookies.get(\"GuidVerify\");\r\n const userData = window.localStorage.getItem(\"userData\");\r\n fetchApp().then(async (data) => {\r\n if (!guidVerify || !data || userData == null) {\r\n cookies.remove(\"GuidVerify\");\r\n\r\n updateSessionContext({ ...sessionContext, isAuthenticated: false });\r\n } else {\r\n const browserConfig = await GetMasterDataBrowserAgent();\r\n console.log(\r\n \"🚀 ~ file: Routes.tsx:79 ~ fetchApp ~ browserConfig:\",\r\n browserConfig\r\n );\r\n const browser = browserDetector();\r\n const isAllowBrowser =\r\n browserConfig == null ||\r\n browserConfig.browsers.length <= 0 ||\r\n browserConfig.browsers.filter((x: any) => x == browser.toLowerCase())\r\n .length > 0;\r\n if (!isAllowBrowser) {\r\n localStorage.setItem(\r\n \"mstDatabrowserConfig\",\r\n JSON.stringify(browserConfig)\r\n );\r\n if (location.pathname != \"/Reject\") {\r\n setRedirectPath(\"/Reject\");\r\n history.push(\"/Reject\");\r\n }\r\n }\r\n }\r\n });\r\n }, [location]);\r\n const browserDetector = () => {\r\n let browser = null;\r\n const userAgent = navigator.userAgent;\r\n if (userAgent.match(/Safari\\//i)) {\r\n browser = \"safari\";\r\n }\r\n if (userAgent.match(/Firefox/i)) {\r\n browser = \"firefox\";\r\n }\r\n if (userAgent.match(/Chrome\\//i)) {\r\n browser = \"chrome\";\r\n }\r\n if (userAgent.match(/OPR\\/|Presto\\//i)) {\r\n browser = \"opera\";\r\n }\r\n if (userAgent.match(/Edg\\//i)) {\r\n browser = \"edge\";\r\n }\r\n\r\n if (browser == null) {\r\n browser = \"unknown\";\r\n }\r\n return browser;\r\n };\r\n const setRedirectPath = (path: string) => {\r\n updateSessionContext({ ...sessionContext, redirectPath: path });\r\n };\r\n const defaultProtectedRouteProps: ProtectedRouteProps = {\r\n isAuthenticated: !!sessionContext.isAuthenticated,\r\n authenticationPath: \"/login\",\r\n redirectPath: sessionContext.redirectPath,\r\n setRedirectPath: setRedirectPath,\r\n };\r\n const fetchApp = async () => {\r\n const responseConfig = await LoginConfiguration();\r\n const response = await CheckAppSetting();\r\n const canEditProfile = await CheckCanEditProfile();\r\n const canDownLoadPdf = await CheckCanDownloadPdf();\r\n setResponeConfig(responseConfig);\r\n if (props.responeConfig?.type == \"LoginOpenId\") {\r\n window.localStorage.setItem(\"isWolf\", \"false\");\r\n\r\n setLoginScreen(\r\n \r\n );\r\n } else if (props.responeConfig?.type === \"LoginAzure\") {\r\n window.localStorage.setItem(\"isWolf\", \"false\");\r\n\r\n setLoginScreen(\r\n \r\n );\r\n } else if (props.responeConfig?.type === \"LoginWolf\") {\r\n window.localStorage.setItem(\"isWolf\", \"true\");\r\n setLoginScreen(\r\n \r\n );\r\n } else if (props.responeConfig?.type === \"LoginGoogle\") {\r\n window.localStorage.setItem(\"isWolf\", \"false\");\r\n\r\n setLoginScreen();\r\n }\r\n\r\n window.localStorage.setItem(\r\n \"canEditProfile\",\r\n JSON.stringify(canEditProfile)\r\n );\r\n window.localStorage.setItem(\r\n \"canDownLoadPdf\",\r\n JSON.stringify(canDownLoadPdf)\r\n );\r\n return response;\r\n };\r\n\r\n return (\r\n \r\n {\r\n node.addEventListener(\"transitionend\", done, false);\r\n }}\r\n >\r\n \r\n \r\n {loginScreen}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\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 Routes;\r\n","import React, { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\n\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\nconst LoadComponent = (props: Props) => {\r\n const { isLoad, setLoad } = useLoading();\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n setLoad(false);\r\n }, [location]);\r\n\r\n if (!isLoad) {\r\n return <>;\r\n }\r\n\r\n return (\r\n
\r\n \"loading...\"\r\n
\r\n );\r\n};\r\n\r\nexport default LoadComponent;\r\n","import { Progress, Spin } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport WolfLogo from \"../../assets/wolfLogo.png\";\r\nimport { SyncOutlined } from \"@ant-design/icons\";\r\nimport \"./LoadPackageComponent.css\";\r\nimport TweenOne from \"rc-tween-one\";\r\nimport Animate from \"rc-animate\";\r\n\r\ninterface Props {\r\n isLoadPackage: boolean;\r\n setIsLoadPackage: any;\r\n}\r\nconst LoadPackageComponent = (props: Props) => {\r\n const [packagesInstall, setPackagesInstall] = useState({\r\n name: \"Department\",\r\n state: \"\",\r\n });\r\n\r\n useEffect(() => {\r\n console.log(props.isLoadPackage);\r\n }, [props.isLoadPackage]);\r\n\r\n const duration = 1000;\r\n\r\n const onClickStart = () => {\r\n props.setIsLoadPackage(false);\r\n };\r\n return (\r\n \r\n {props.isLoadPackage ? (\r\n
\r\n
\r\n \"wolf-logo\"\r\n
\r\n

Package installing (2/3)

\r\n {/* */}\r\n \r\n \r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default LoadPackageComponent;\r\n","export default \"data:image/png;base64,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\"","import React, { useEffect, useState, useRef } from \"react\";\r\nimport \"antd/dist/antd.less\";\r\nimport {\r\n BrowserRouter as Router,\r\n useRouteMatch,\r\n useLocation,\r\n useHistory,\r\n} from \"react-router-dom\";\r\nimport { NavigationBar } from \"./components/NavigationBar/NavigationBar\";\r\n\r\nimport Routes from \"./routes/Routes\";\r\nimport { PublicClientApplication } from \"@azure/msal-browser\";\r\nimport { MsalProvider } from \"@azure/msal-react\";\r\nimport \"./index.css\";\r\nimport \"./App.css\";\r\nimport \"./custom.css\";\r\nimport {\r\n SessionContextProvider,\r\n useSessionContext,\r\n} from \"./Context/AuthContext\";\r\nimport { Provider } from \"react-redux\";\r\nimport { GoogleApiProvider } from \"react-gapi\";\r\nimport { FooterComponents } from \"./components/FooterComponents/FooterComponents\";\r\nimport { GApiProvider } from \"react-gapi-auth2\";\r\nimport {\r\n getAzureConfig,\r\n LoginConfiguration,\r\n} from \"./Services/ConfigurationService\";\r\nimport { LogLevel } from \"@azure/msal-browser\";\r\nimport { useIdleTimer } from \"react-idle-timer\";\r\nimport { Col, Row } from \"antd\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { UserContextProvider } from \"./Context/UserContext\";\r\nimport { LoadProvider } from \"./Context/LoadContext\";\r\nimport LoadComponent from \"./components/LoadComponent/LoadComponent\";\r\nimport withPerMission from \"./components/HOC/withPermission\";\r\nimport withProcessPackage from \"./components/HOC/withProcessPackage\";\r\nimport LoadPackageComponent from \"./components/LoadComponent/LoadPackageComponent\";\r\nimport { AlertContextProvider } from \"./Context/AlertContext\";\r\nimport { AdminEditCompletedMemoProvider } from \"./Context/AdminEditCompletedMemoPermissionContext\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface AzureConfig {\r\n c: string;\r\n s: string;\r\n w: string;\r\n}\r\ninterface Props {}\r\nconst App = (props: Props) => {\r\n const [responeConfig, setResponeConfig] = useState();\r\n const [sessionState, setSessionState] = useSessionContext();\r\n const [auzreConfig, setAuzreConfig] = useState();\r\n const [isLoadPackage, setIsLoadPackage] = useState(false);\r\n const { url } = useRouteMatch();\r\n const ua = window.navigator.userAgent;\r\n const msie = ua.indexOf(\"MSIE \");\r\n const msie11 = ua.indexOf(\"Trident/\");\r\n const msedge = ua.indexOf(\"Edge/\");\r\n const firefox = ua.indexOf(\"Firefox\");\r\n const [timer, setTimer] = useState(\"\");\r\n const [isCountDown, setIsCountDown] = useState(false);\r\n const isIE = msie > 0 || msie11 > 0;\r\n const isEdge = msedge > 0;\r\n const isFirefox = firefox > 0;\r\n let intervalId: any = useRef(null);\r\n let timeout: any = useRef(null);\r\n const location = useLocation();\r\n const lang: any = localStorage.getItem(\"lang\") ?? \"EN\";\r\n const history = useHistory();\r\n const { i18n } = useTranslation([\"translation\"]);\r\n const cookies = new Cookies();\r\n useEffect(() => {\r\n fetchCon().then(([responeConfig, reponseAzureConfig]) => {\r\n setAuzreConfig(reponseAzureConfig);\r\n setResponeConfig(responeConfig);\r\n if (\r\n responeConfig?.titleWeb !== \"\" &&\r\n responeConfig?.titleWeb !== undefined &&\r\n responeConfig?.titleWeb != null\r\n ) {\r\n document.title = responeConfig?.titleWeb;\r\n }\r\n if (\r\n responeConfig?.pathFavicon !== \"\" &&\r\n responeConfig?.pathFavicon !== undefined &&\r\n responeConfig?.pathFavicon != null\r\n )\r\n document\r\n .querySelector('link[rel=\"shortcut icon\"]')\r\n ?.setAttribute(\"href\", responeConfig?.pathFavicon);\r\n });\r\n }, []);\r\n const baseUrl = window.location.origin.toString();\r\n const fetchCon = async () => {\r\n if (lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n var responeConfig = await LoginConfiguration();\r\n const reponseAzureConfig = await getAzureConfig();\r\n return [responeConfig, reponseAzureConfig];\r\n };\r\n const onIdle = () => {\r\n // Close Modal Prompt\r\n // Do some idle action like log out your user\r\n // alert(\"timeout1\");\r\n // const millisec = getRemainingTime();\r\n // let delay = 10000;\r\n\r\n if (location.pathname !== \"/\" && location.pathname !== \"/login\") {\r\n setIsCountDown(true);\r\n localStorage.setItem(\"timer\", \"600000\");\r\n localStorage.setItem(\"onIdle\", \"true\");\r\n\r\n let countDown = Number(localStorage.getItem(\"timer\"));\r\n intervalId.current = setInterval(() => {\r\n const _timer = Number(localStorage.getItem(\"timer\"));\r\n const onIdle = localStorage.getItem(\"onIdle\");\r\n\r\n if (countDown > 0 && onIdle === \"true\") {\r\n const time = msToTime(countDown);\r\n if (countDown < _timer) {\r\n localStorage.setItem(\"timer\", _timer.toString());\r\n countDown = _timer;\r\n }\r\n if (countDown === _timer) {\r\n countDown -= 1000;\r\n localStorage.setItem(\"timer\", countDown.toString());\r\n }\r\n if (countDown > _timer) {\r\n countDown -= 1000;\r\n localStorage.setItem(\"timer\", countDown.toString());\r\n }\r\n setTimer(time);\r\n } else if (countDown <= 0) {\r\n setIsCountDown(false);\r\n window.location.reload();\r\n localStorage.setItem(\"onIdle\", \"false\");\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n cookies.remove(\"GuidVerify\");\r\n clearInterval(intervalId.current);\r\n clearTimeout(timeout.current);\r\n setTimer(0);\r\n } else if (onIdle === \"false\") {\r\n clearInterval(intervalId.current);\r\n clearTimeout(timeout.current);\r\n setTimer(0);\r\n setIsCountDown(false);\r\n reset();\r\n }\r\n }, 1000);\r\n }\r\n };\r\n const msToTime = (s: any) => {\r\n const pad = (n: any, z?: any) => {\r\n z = z || 2;\r\n return (\"00\" + n).slice(-z);\r\n };\r\n\r\n var ms = s % 1000;\r\n s = (s - ms) / 1000;\r\n var secs = s % 60;\r\n s = (s - secs) / 60;\r\n var mins = s % 60;\r\n\r\n const _time = {\r\n min: pad(mins),\r\n sec: pad(secs),\r\n };\r\n return _time;\r\n };\r\n\r\n const onAction = (event: any) => {\r\n localStorage.setItem(\"lastAction\", Date.now().toString());\r\n clearInterval(intervalId.current);\r\n clearTimeout(timeout.current);\r\n setTimer(0);\r\n setIsCountDown(false);\r\n localStorage.setItem(\"onIdle\", \"false\");\r\n };\r\n\r\n const formatKey = (key: any) => {\r\n if (key === \"min\") {\r\n return \"Minutes\";\r\n } else if (key === \"sec\") {\r\n return \"Seconds\";\r\n }\r\n };\r\n\r\n const clientConfig = {\r\n client_id:\r\n \"291102522660-q4vr7l3qsbt8amdkdbf7cil586lln2q1.apps.googleusercontent.com\",\r\n cookie_policy: \"single_host_origin\",\r\n scope: \"https://www.googleapis.com/auth/userinfo.profile\",\r\n ux_mode: \"redirect\",\r\n redirect_uri: \"https://localhost:44334/login\",\r\n };\r\n const { reset } = useIdleTimer({\r\n onIdle,\r\n onAction,\r\n timeout: 1000 * 60 * 20,\r\n // timeout: 10000,\r\n promptTimeout: 1000,\r\n events: [\r\n \"mousemove\",\r\n \"keydown\",\r\n \"wheel\",\r\n \"DOMMouseScroll\",\r\n \"mousewheel\",\r\n \"mousedown\",\r\n \"touchstart\",\r\n \"touchmove\",\r\n \"MSPointerDown\",\r\n \"MSPointerMove\",\r\n \"visibilitychange\",\r\n ],\r\n immediateEvents: [],\r\n debounce: 0,\r\n throttle: 0,\r\n eventsThrottle: 200,\r\n element: document,\r\n startOnMount: true,\r\n startManually: false,\r\n stopOnIdle: false,\r\n crossTab: false,\r\n syncTimers: 0,\r\n });\r\n // const clientId =\r\n // \"291102522660-q4vr7l3qsbt8amdkdbf7cil586lln2q1.apps.googleusercontent.com\";\r\n const publicClientApplication = new PublicClientApplication({\r\n auth: {\r\n clientId: auzreConfig?.c || \"\",\r\n authority: `https://login.microsoftonline.com/${auzreConfig?.s}`,\r\n redirectUri: \"/\",\r\n postLogoutRedirectUri: `/`,\r\n },\r\n cache: {\r\n cacheLocation: \"localStorage\",\r\n secureCookies: false,\r\n storeAuthStateInCookie: isIE || isEdge || isFirefox,\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback: (level: any, message: any, containsPii: any) => {\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 default:\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 \r\n \r\n \r\n \r\n \r\n\r\n {responeConfig !== undefined && (\r\n <>\r\n \r\n \r\n )}\r\n \r\n {isCountDown && (\r\n
\r\n \r\n \r\n

\r\n System will automatically logout in\r\n

\r\n \r\n
\r\n \r\n {Object.entries(timer).map(([key, value], idx) => {\r\n // toggleArray.push(false);\r\n return (\r\n <>\r\n \r\n

\r\n {formatKey(key)}\r\n

\r\n\r\n

{timer[key]}

\r\n \r\n {idx % 2 !== 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\nexport default App;\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import i18n from \"i18next\";\r\nimport { initReactI18next } from \"react-i18next\";\r\n\r\nimport Backend from \"i18next-http-backend\";\r\nimport LanguageDetector from \"i18next-browser-languagedetector\";\r\n// don't want to use this?\r\n// have a look at the Quick start guide\r\n// for passing in lng and translations on init\r\nconst lang: any = localStorage.getItem(\"lang\") ?? \"EN\";\r\ni18n\r\n // load translation using http -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)\r\n // learn more: https://github.com/i18next/i18next-http-backend\r\n // want your translations to be loaded from a professional CDN? => https://github.com/locize/react-tutorial#step-2---use-the-locize-cdn\r\n .use(Backend)\r\n // detect user language\r\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\r\n .use(LanguageDetector)\r\n // pass the i18n instance to react-i18next.\r\n .use(initReactI18next)\r\n // init i18next\r\n // for all options read: https://www.i18next.com/overview/configuration-options\r\n .init({\r\n returnNull: false,\r\n fallbackLng: \"en\",\r\n lng: lang?.toLowerCase() ?? \"en\",\r\n debug: true,\r\n interpolation: {\r\n escapeValue: false, // not needed for react!!\r\n },\r\n });\r\n\r\nexport default i18n;\r\n","import \"bootstrap/dist/css/bootstrap.css\";\r\nimport React, { Suspense } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport App from \"./App\";\r\nimport registerServiceWorker from \"./registerServiceWorker\";\r\nimport \"./i18n\";\r\nconst rootElement = document.getElementById(\"root\");\r\n\r\nReactDOM.render(\r\n \r\n Loading... }>\r\n \r\n \r\n ,\r\n rootElement\r\n);\r\n\r\nregisterServiceWorker();\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// 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 moment from \"moment\";\r\nimport {\r\n GetDashboardKeyEndpoint,\r\n GetDashboardStatusCard,\r\n} from \"./ConfigurationService\";\r\n\r\nexport const GetDashboardReportById = async () => {\r\n const configuration = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\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 .catch((err) => {\r\n console.log(err);\r\n return;\r\n });\r\n\r\n const respone = await fetch(\"api/Report/GetReportById/1201\")\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 let data: any = [];\r\n var _endpoint = await GetDashboardEndpoint();\r\n\r\n for (let i = 0; i < respone.length; i++) {\r\n let row: any = {};\r\n\r\n for (let j = 0; j < configuration.length; j++) {\r\n for (const [key, value] of Object.entries(respone[i])) {\r\n const [keyConfig, typeConfig, formatConfig] =\r\n configuration[j]?.split(\"|\");\r\n if (keyConfig === key) {\r\n if (typeConfig === \"date\") {\r\n row[_endpoint[j]] = moment(\r\n new Date(moment(respone[i][keyConfig]).format(\"yyyy/MM/DD\"))\r\n ).format(formatConfig);\r\n } else {\r\n row[_endpoint[j]] = value;\r\n }\r\n }\r\n }\r\n }\r\n data.push(row);\r\n }\r\n console.log(data, \"GetDashboardReportById\");\r\n return data;\r\n};\r\nexport const MapDataEndpoint = async (respone: any) => {\r\n const configuration = 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 console.log(err);\r\n\r\n return;\r\n });\r\n\r\n let data: any = [];\r\n var _endpoint = await GetDashboardEndpoint();\r\n for (let i = 0; i < respone?.length; i++) {\r\n let row: any = {};\r\n for (let j = 0; j < _endpoint.length; j++) {\r\n for (const [key, value] of Object.entries(respone[i])) {\r\n const [keyConfig, typeConfig, formatConfig] =\r\n configuration[j]?.split(\"||\");\r\n if (keyConfig === key) {\r\n if (typeConfig === \"date\") {\r\n console.log(respone[i][keyConfig], \"respone[i][keyConfig]\");\r\n row[_endpoint[j]] = moment(\r\n new Date(moment(respone[i][keyConfig]).format(\"yyyy/MM/DD\"))\r\n ).format(formatConfig);\r\n } else {\r\n row[_endpoint[j]] = value;\r\n }\r\n }\r\n }\r\n }\r\n data.push(row);\r\n }\r\n\r\n var _statusCard = await GetDashboardStatusCard();\r\n let _priorities = _statusCard.map((_data: any) => {\r\n const [keyConfig, typeConfig, displayConfig, priority] = _data.split(\"||\");\r\n return {\r\n statusName: keyConfig,\r\n displayStatusName: displayConfig,\r\n priority: priority,\r\n };\r\n });\r\n for (let i = 0; i < data.length; i++) {\r\n const element = data[i];\r\n for (let j = 0; j < _priorities.length; j++) {\r\n const _priority = _priorities[j];\r\n if (element[_endpoint[2]] === _priority.statusName) {\r\n data[i][\"priority\"] = _priority.priority;\r\n data[i][_endpoint[2]] = _priority.displayStatusName;\r\n }\r\n }\r\n }\r\n\r\n return data;\r\n};\r\nexport const MapGroupData = async (data: any, _name: any) => {\r\n var _endpoint = await GetDashboardKeyEndpoint();\r\n console.log(data, \"data\");\r\n console.log(_name, \"_name\");\r\n\r\n let result: any[] = data?.reduce(function (r: any, a: any) {\r\n r[a[_name.name]] = r[a[_name.name]] || [];\r\n r[a[_name.name]].push(a);\r\n return r;\r\n }, Object.create(null));\r\n let mapData: any[] = [];\r\n for (const [key, value] of Object.entries(result)) {\r\n mapData.push({\r\n headData: key,\r\n items: value.sort((a: any, b: any) => {\r\n return a.priority - b.priority;\r\n }),\r\n });\r\n }\r\n const sortDate = mapData.sort((a: any, b: any) => {\r\n const aa = moment(a.headData, \"DD/MMMM/YYYY\");\r\n const bb = moment(b.headData, \"DD/MMMM/YYYY\");\r\n return moment(aa).diff(bb);\r\n });\r\n return sortDate;\r\n};\r\n\r\nexport const GetDashboardEndpoint = async () => {\r\n const configuration = 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 console.log(err);\r\n });\r\n const card = configuration.map((_data: any) => {\r\n const [keyConfig, typeConfig] = _data.split(\"||\");\r\n return keyConfig;\r\n });\r\n return card;\r\n};\r\n\r\nexport const GetFilterHeaderDashboard = async () => {\r\n const configuration = await fetch(\"/api/Configuration/Dashboard/FilterHeader\")\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] = _data.split(\"||\");\r\n data.push({\r\n name: keyConfig,\r\n });\r\n return data;\r\n });\r\n return data;\r\n};\r\nexport const GetFilterSelectDashboard = async () => {\r\n const configuration = await fetch(\"/api/Configuration/Dashboard/FilterSelect\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n let data: any = [];\r\n configuration.map((_data: any) => {\r\n const [keyConfig, typeConfig] = _data.split(\"||\");\r\n data.push({\r\n name: keyConfig,\r\n });\r\n return data;\r\n });\r\n return data;\r\n};\r\n\r\nexport const GetReportById = async (reportId: number) => {\r\n const respone = await(\r\n fetch(\"api/DynamicReport/GetReportDetailById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n UserPrincipalName: \"\",\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\nexport const ReportTemplateSelectByReportID = async (reportId: number) => {\r\n const respone = await fetch(\r\n \"api/DynamicReport/ReportTemplateSelectByReportID\",\r\n {\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 }),\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 DeleteReport = async (reportId: number) => {\r\n const respone = await fetch(\"api/DynamicReport/DeleteReport\", {\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 }),\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 ReportListTemplateSelect = async (dataJson: any) => {\r\n const respone = await fetch(\"api/DynamicReport/ReportListTemplateSelect\", {\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 AddReport = async (dataJson: any) => {\r\n // console.log(\"dataJson\", dataJson);\r\n\r\n const respone = await fetch(\"api/DynamicReport/AddReport\", {\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 UpdateReport = async (dataJson: any) => {\r\n // console.log(\"dataJson\", dataJson);\r\n\r\n const respone = await fetch(\"api/DynamicReport/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\r\nexport const FilterAdvanceSearch = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Report/FilterAdvanceSearch\", {\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 console.log(respone, \"dashboard\");\r\n return respone;\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, useRef, useState } from \"react\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { Tooltip } from \"primereact/tooltip\";\r\n\r\ninterface Props {\r\n dataList: any;\r\n dialogKey: any;\r\n onSelectFunc?: (rowData: any) => void;\r\n columns: IColumn[];\r\n dialogVisible: boolean;\r\n setDialogVisible: (visible: boolean) => void;\r\n selectionMode?: \"single\" | \"multi\";\r\n loading?: boolean;\r\n customFooter?: any;\r\n selectionData?: any[];\r\n setSelectedData?: (val: any[]) => void;\r\n}\r\n\r\nexport interface IColumn {\r\n field: string;\r\n headerEn: string;\r\n headerTh?: string;\r\n}\r\n\r\nconst initialData = [...Array(6).fill().map(v => ({ EmployeeCode: \"\", NameEn:\"\", PositionNameEn: \"\", DepartmentNameEn: \"\" }))]\r\n\r\nexport const SelectDataDialog = (props: Props) => {\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [searchKey, setSearchKey] = useState([]);\r\n const [userData, setUserData] = useUserContext();\r\n const tooltipRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (props.dialogVisible) {\r\n let keys: any[] = [];\r\n Object.keys(props.dataList[0] ? props.dataList[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n if (!key.toLowerCase().includes(\"id\") && key !== \"SignPicPath\") {\r\n keys.push(key);\r\n }\r\n }\r\n );\r\n setSearchKey([...keys]);\r\n setGlobalFilterValue(\"\");\r\n setSearchData(props.dataList);\r\n }\r\n }, [props.dialogVisible, props.dataList]);\r\n\r\n function toggleModal() {\r\n props.setDialogVisible(!props.dialogVisible);\r\n }\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 // useEffect(() => {\r\n // tooltipRef.current && tooltipRef.current.updateTargetEvents();\r\n // }, [searchData]);\r\n const dynamicColumns = props.columns.map((col, i) => {\r\n if (col.field !== \"Memo_MAdvancveForm\") {\r\n return (\r\n \r\n

{col.headerEn}

\r\n

{col.headerTh}

\r\n \r\n }\r\n body={(rowData) => {\r\n let newField = \"\";\r\n if (userData.Lang === \"EN\") {\r\n newField = col.field?.replace(\"Th\", \"En\");\r\n // return rowData[newField];\r\n } else {\r\n newField = col.field?.replace(\"En\", \"Th\");\r\n // return rowData[newField];\r\n }\r\n\r\n return (\r\n {\r\n if (props.dialogKey === \"Employee\") {\r\n tooltipRef.current &&\r\n tooltipRef.current.updateTargetEvents();\r\n }\r\n }}\r\n >\r\n {rowData[newField]}\r\n \r\n );\r\n }}\r\n />\r\n );\r\n }\r\n });\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n try {\r\n const value = e;\r\n const data = props.dataList.filter((data: any) => {\r\n let findData: any = [];\r\n searchKey.map((col: any) => {\r\n let field = col;\r\n if (data[field]) {\r\n if (\r\n data[field]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n findData.push(data);\r\n }\r\n }\r\n });\r\n if (findData.length > 0) {\r\n return true;\r\n }\r\n });\r\n setSearchData([...data]);\r\n setGlobalFilterValue(value);\r\n } catch (error) {\r\n console.log(\"table=>search=>error\", error);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {console.log({initialData})}\r\n \r\n\r\n \r\n {!props.loading ? (\r\n <>\r\n {props.selectionMode === undefined ||\r\n props.selectionMode === \"single\" ? (\r\n {\r\n if (tooltipRef.current) {\r\n tooltipRef.current.state.visible = false;\r\n }\r\n if (props.onSelectFunc) {\r\n props.onSelectFunc(rowData);\r\n }\r\n }}\r\n sortField=\"EmployeeCode\"\r\n sortOrder={1}\r\n >\r\n {dynamicColumns}\r\n \r\n ) : (\r\n {\r\n if (props.setSelectedData) {\r\n props.setSelectedData(e.value);\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 {dynamicColumns}\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport \"./ComponentLabel.css\";\r\ntype Props = {\r\n renderInTable?: boolean;\r\n col?: any;\r\n errors?: any;\r\n colText?: number;\r\n rowIdx: number;\r\n colIdx: number;\r\n template: any;\r\n isSubmitted?: any;\r\n};\r\n\r\nconst ComponentLabel = (props: Props) => {\r\n return (\r\n <>\r\n {!props.renderInTable && (\r\n \r\n \r\n \r\n
\r\n {props.template.label} \r\n {props.template.attribute.require === \"Y\" && (\r\n *\r\n )}\r\n
\r\n

\r\n {props.template &&\r\n props.template?.alter &&\r\n props.template?.alter?.replaceAll(\"|\", \"\")}\r\n

\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ComponentLabel;\r\n"],"sourceRoot":""}