{"version":3,"sources":["assets/images/logo-payap.png","shared/dialog.js","shared/notificationMessage.js","utils/AuthGuard.js","screens/LoginScreen.js","services/table-helper.service.js","screens/HomeScreen.js","components/SubHeader.js","screens/WorkFormScreen.js","components/HeaderComponent.js","assets/images/logo-payap-bule.png","components/EvalutionHeader.js","screens/SelfEvalutionScreen.js","screens/LeaderScreen.js","screens/LeaderFormScreen.js","screens/WorkLifeFormScreen.js","components/WorkLifeReport.js","components/LeaderReport.js","screens/ForAdmin.js","components/SelfFormReport.js","components/PrivateRoute.js","components/PublicRoute.js","components/InfoRoute.js","screens/AssessSuborndinateInfo.js","components/SecondTabScreen.js","components/BoardsReport.js","components/SecondTabForBoards.js","screens/AssessingSubordinateScreen.js","components/SecondBoardsTabs.js","components/SubordinateReport.js","components/PointsofWorkReport.js","screens/VaccineHome.js","screens/CovidInfoAdd.js","screens/CovidInfoUpdate.js","App.js","reportWebVitals.js","index.js"],"names":["Dialog","props","handleOK","url","console","log","window","location","href","handleOKs","history","back","content","Modal","error","title","success","onOk","Component","NotifyMessage","texts","message","className","style","marginTop","duration","cookies","Cookies","logout","remove","isLogin","get","Item","Menu","LoginScreen","state","username","password","items","language","spinner","handleUsernameChange","bind","handlePasswordChange","onFinish","dialog","messages","event","this","setState","target","value","localStorage","setItem","getItem","spinnerControl","fetch","process","method","headers","Accept","body","JSON","stringify","then","Response","json","result","undefined","status","WarningDialog","messageTH","messageEN","EvaluteStatus","forEach","element","selfEvalStatus","workLifeEvalStatus","leadershipEvalStatus","selfEvalStatusBackState","covidInfoStatus","FormTypeData","ele","FormTypeId","moment","EndDate","StartDate","datenow","Date","now","format","sessionStorage","EmpId","TitleTH","FirstNameTH","LastNameTH","TitleEN","FirstNameEN","LastNameEN","PositionNameTH","DepartmentTH","DepartmentEN","Field","GroupPositionID","GroupPositionNameTH","GroupPositionNameEN","HaveUnderEmpPrimary","StartJob","PositionNameEN","IsHRPrivilege","PositionID","set","prevState","showSuccessMessage","item","to","tip","spinning","class","padding","background","borderRadius","src","logo","alt","color","fontSize","name","maxWidth","margin","rules","required","input","placeholder","prefix","UserOutlined","onChange","Password","size","iconRender","visible","EyeTwoTone","EyeInvisibleOutlined","LockOutlined","overlay","onClick","changeLangFunction","trigger","textAlign","type","htmlType","React","getTableService","TableId","id","buttonStyle","width","whiteSpace","overflow","textOverflow","tableWrapStyles","tablestyles","display","HomeScreen","statusTag","Columns","ColumnsDatasourceTH","ColumnsDatasourceEN","titleTH","titleEN","EmpListDatasource","nextProps","lang","empid","LeaderList","EmpListRequired","filter","EmpListRequiredCount1","LeaderEvalStatus","EmpListRequiredCount","length","e","TableColumn","ColumnKeyTH","push","ColumnNameTH","dataIndex","OrderBy","ColumnOrder","render","record","index","text-align","sort","firstItem","secondItem","ColumnKeyEN","ColumnNameEN","icon","CloseCircleOutlined","ClockCircleOutlined","CheckCircleOutlined","dataSource","columns","pagination","disabled","renderButtonTH","renderButtonEN","SubMenu","SubHeader","mode","evalutionStatus","getTitleReportEval","ItemGroup","getTitleEval","offsetTop","pathname","renderVacSubHeader","renderSubHeaderEva","WorkFormScreen","selfEvalState","marginBlock","xs","sm","md","lg","xl","Divider","orientation","renderCalendar","fontWeight","download","EvalutionHeader","TextArea","Input","SelfEvalutionScreen","handleChange","ToppicId","SubToppicId","SubSubToppicId","indexfromRen","parentIndex","isCompetency","WeightCriteria","temp","tempcalPoint","AnsData","ansForm","TopicId","SubTopicId","SubSubTopicId","FromLocal","parseFloat","toString","testarrayDupFunction","Point","Remark","CalPoint","Tooltip","map","showRemark","Remarks","TotalClickPointTopicFunction","handleRemark","old","RemarkValue","handleSaveDraft","ansSaveData","tableForm","AnsForm","SubSubTopics","SubTopics","Topics","assessor","buttonaction","jsonans","formtypeid","SuccessDialog","removeItem","handleSubmit","countTotalRequire","tempArray","tempArrayRemarkvalidation","Tooltip1TH","tableData","ansFormArray","headerForm","weight","ansTotalClick","ansTotalClickTopic","ansTotalClickSubSubTopic","TotalCalculate","PositionGroupID","initArrays","TopicsArr","SubTopicArr","SubSubTopicArr","InProgressForm","parseInt","field","tempWeightTopic","tempWeightApplySubTopic","WeightOfficer","WeightLecturerOfficer","WeightLecturer","WeightBoards","IsMainTopic","tempWeightApplySubSubTopic","nameWeightApply","Tooltip1EN","Tooltip2TH","Tooltip2EN","Tooltip3TH","Tooltip3EN","Tooltip4TH","Tooltip4EN","Tooltip5TH","Tooltip5EN","e1","e2","e3","total","tempToppicId","tempSubToppicId","tempSubSubToppicId","newtext","replace","temp2","temp3","includes","toFixed","totalclickPointSubSubTopic","Index","decimalPointChange","totalclickpointTopic","relateTopicID","listCalScore","relateSubToppicId","relatedSubSubToppicID","listWeightsTotal","listofWeight","Counts","TooltipInfo","listbuttonSubSubTopic","Group","defaultValue","getDefaultScore","placement","Button","listbuttonSubTopic","marginLeft","listRemarkSubSubTopic","listRemarkSubTopic","listSubSubTopics","Indexes","DescriptionTH","DescriptionEN","ToppicIDs","SubIDs","paddingLeft","paddingRight","borderBottom","span","listSubTopics","ToppicID","SubID","SUSUSUS","backgroundColor","splicingTitle","titleTopic","Order","listItems","widht","border","onBack","renderHeader","marginRight","renderTable","marginBottom","data","key","word","wordEN","getRowKey","LeaderId","LeaderScreen","inputRef","createRef","SectorListDatasource","PositionList","query","results","selectedRowKeys","EditOutlined","assessSubInfo","positionName","selectedRowKey","EmpListNotRequired","rowKey","rowClassName","onRow","setRowKey","renderContentTH","renderContentEN","LeaderFormScreen","empId","PositionId","tempDup","WorkLifeFormScreen","name1","name2","name3","name4","name5","children","WorkLifeReport","Datasource","DataSourceColumnTH","DataSourceColumnEN","queryPrim","resultsPrim","selectedRowKeysPrim","searchBy","searchByPrim","DatasourcePrimary","rowspan","colspan","bordered","LeaderReport","Option","Select","TabPane","Tabs","ForAdmin","handleChangeStatus","ansformid","AnsFormId","remark","hrid","componentDidMount","getSearchResults","allData","dataToShow","searchString","toUpperCase","handleInputChange","search","selectRow","rowIndex","indexOf","splice","pop","onSelectedRowKeysChange","onSelectedRowKeysChangePrim","selectRowPrim","handleSearchByChange","handleSearchByChangePrimary","getSearchResultsPrim","handleInputChangePrim","searchPrim","EmpSelfList","Table","EmpPrimaryList","RollbackOutlined","rowSelection","rowSelectionPrim","Fragment","defaultActiveKey","changeTabs","centered","tab","ref","autoFocus","UndoOutlined","refreshList","refreshListPrim","componentRef1","el","componentRef","SelfFormReport","PrivateRoute","component","rest","useState","setLanguage","setVisible","handleLogout","clear","closable","onClose","PublicRoute","InfoRoute","AssessSuborndinateInfo","ansFormAssessor","TotalClickAssessorPointTopicFunction","handleRemarkEmp","TooltipForEmp","PrimaryAnsForm","ansFormAssessorArray","ansTotalAssessorClick","ansTotalAssessorClickTopic","ansTotalAssessorClickSubSubTopic","TotalAssessorCalculate","GroupPostionId","UnderEmpAnsFormArr","PrimaryAnsFormArr","empunderid","empunderfield","UnderEmpAnsForm","total1","totalclickPointAssessorSubSubTopic","totalclickassessorpointTopic","relatedisCom","listAssessorCalScore","listRemarkSubSubTopicEmp","listRemarkSubTopicEmp","borderRight","SecondTabScreen","propsName","SectorId","handleSectorChange","sectorTH","assess","point","formid","five","four","three","two","one","ansDefault","SectorList","resultsAnsList","triggprint","evalStatus","sectorEN","AssessorId","Assessor","EmpList","positionPopper","a","b","defaultSortOrder","sorter","sortDirections","EvaluateStatus","sectorName","tempSector","position","SectorNameTH","renderCountTH","justifyContent","renderCountEN","hidden","SectorNameEN","_","require","pageStyle","SecondTabForBoards","SuccessDialogForDraft","tempEmpdata","ColumnReportCount","ColumnsReport","ColumnsDataReportTH","ColumnsDataReportEN","sectorStatus","TextColor","tempSectorForEmp","filt","tempSecForEmp","Sec_id","float","componentRefSummary","DatePicker","RangePicker","AssessingSubordinateScreen","handlePositionChange","defaultKey","PrinterOutlined","SubordinateReport","slice","listItems2","Admin","Confirm","comref","html2canvas","canvas","imgData","toDataURL","pdf","jsPDF","addImage","save","renderSignBoxTH","renderSignBoxEN","PointsofWorkReport","VaccineHome","VachistoryInfo","setVacHistory","CovidDetectHistory","setCovidDetectHistory","columnsTH","tableDataTH","Dose","VacName","VacID","VacNameTH","VacNameEN","OtherVaccine","VacDate","columnsCovidDetctHistory","tableDetectHistory","DetectCount","Type","DetectDate","CuredDate","useEffect","covidHistory","covidDetectHistory","dateFormat","CovidInfoAdd","CoDetailID","Emp_id","VacState","ReasonUnVac","RemarkUnvac","DetectHistory","values","setValues","vac","setVac","clickSubmit","ObjectState","tempCovidHis","vacOther","CovidDetails","handleChangeVacHistory","indexData","dose","vtypes","prevstate","handleChangeDetectHistory","callback","clickDeleteDetectHistory","RefreshDetectCount","disabledDateDose","currentdetectdate","disabledDate","clickDeleteVaccineHistory","dataDose","RefreshDoses","columnEN","Action","DeleteTwoTone","twoToneColor","vactype","tableDataEN","columnsCovidDetctHistoryTH","columnsCovidDetctHistoryEN","tableDetectHistoryTH","tableDetectHistoryEN","clickAddDetect","newDetectModel","CoHistoryID","clickAdd","newModel","Status","VacHistID","das","count","tempDetectCount","tempVac","vaccinetypes","tabBarExtraContent","verticalAlign","stlye","maxLength","showCount","CovidInfoUpdate","formData","Form","useForm","onSubmit","App","exact","path","PointsofWorkReportComponent","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.2ed57868.chunk.js","sourcesContent":["export default \"data:image/png;base64,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\"","import { Row, Col, Table, Button, Radio, Tooltip, Input, Modal, modal,Spin } from \"antd\";\r\n\r\nimport React, { Component } from 'react';\r\nimport 'antd/dist/antd.css';\r\n\r\nimport { Redirect, Route } from \"react-router-dom\";\r\nclass Dialog extends Component {\r\n constructor(props) {\r\n super();\r\n\r\n }\r\n WarningDialog(content) {\r\n Modal.error({\r\n title: 'Warning',\r\n content: content,\r\n });\r\n }\r\n SuccessDialog(content, url) {\r\n Modal.success({\r\n title: 'Success',\r\n content: content,\r\n onOk: () => this.handleOK(url)\r\n });\r\n\r\n }\r\n\r\n SuccessDialogForDraft(content, url) {\r\n Modal.success({\r\n title: 'Success',\r\n content: content,\r\n onOk: () => this.handleOK(url)\r\n });\r\n\r\n }\r\n handleOK = url => {\r\n console.log(url);\r\n window.location.href = url\r\n };\r\n handleOKs = url=>{\r\n\r\n window.history.back();\r\n }\r\n\r\n\r\n componentDidMount() {\r\n console.log('in componentdidmount')\r\n }\r\n\r\n render() {\r\n return (\r\n //fake render\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\nexport default Dialog\r\n","import { message} from \"antd\";\r\n\r\nimport React, { Component } from 'react';\r\nimport 'antd/dist/antd.css';\r\n\r\nimport { Redirect, Route } from \"react-router-dom\";\r\nclass NotifyMessage extends Component {\r\n constructor(props) {\r\n super();\r\n\r\n }\r\n\r\n showSuccessMessage(texts){\r\n message.success({\r\n content: texts,\r\n className: 'custom-class',\r\n style: {\r\n marginTop: '5vh',\r\n },\r\n duration: .5\r\n });\r\n }\r\n componentDidMount() {\r\n console.log('in componentdidmount')\r\n }\r\n\r\n render() {\r\n return (\r\n //fake render\r\n
\r\n )\r\n }\r\n}\r\nexport default NotifyMessage\r\n","import Cookies from \"universal-cookie\";\r\n\r\nconst TOKEN_KEY = \"jwt\";\r\nconst cookies = new Cookies();\r\n\r\nexport const login = () => {\r\n console.log('in login const')\r\n cookies.set(TOKEN_KEY, \"TestLogin\");\r\n};\r\n\r\nexport const logout = () => {\r\n cookies.remove(TOKEN_KEY);\r\n};\r\n\r\nexport const isLogin = () => {\r\n console.log(\"cookies\", cookies.get(\"jwt\"));\r\n if (cookies.get(\"jwt\") == \"TestLogin\") {\r\n console.log(\"cookies true\", cookies.get(\"jwt\"));\r\n return true;\r\n } else {\r\n console.log('in else')\r\n return false;\r\n }\r\n};\r\n","import React from \"react\";\r\n\r\n//import antd components\r\nimport \"antd/dist/antd.css\";\r\nimport { Form, Button, Input,Spin, Dropdown,Menu, } from \"antd\";\r\nimport {\r\n UserOutlined,\r\n LockOutlined,\r\n EyeInvisibleOutlined,\r\n EyeTwoTone,\r\n} from \"@ant-design/icons\";\r\nimport logo from \"../assets/images/logo-payap.png\";\r\n\r\n//import components\r\nimport { Redirect } from \"react-router-dom\";\r\nimport Dialog from '../shared/dialog'\r\nimport NotifyMessage from \"../shared/notificationMessage\"\r\nimport '../shared/css/login.css'\r\n\r\n\r\nimport { isLogin, login } from \"../utils/AuthGuard\";\r\nimport { isDate } from \"moment\";\r\nimport moment from \"moment\";\r\nconst Item = Menu.Item;\r\n\r\n\r\nexport default class LoginScreen extends React.Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n username: \"\",\r\n password: \"\",\r\n isLogin: isLogin(),\r\n items: [],\r\n //RUN: เพิ่ม การ get Language 16/04/2021\r\n language: 'TH',\r\n\r\n spinner: false\r\n };\r\n //RUN: เพิ่ม การ ตรวจสอบกรณี set ค่าใหม่ (logout จะtrigger state นี้) 16/04/2021\r\n\r\n this.handleUsernameChange = this.handleUsernameChange.bind(this);\r\n this.handlePasswordChange = this.handlePasswordChange.bind(this);\r\n this.onFinish = this.onFinish.bind(this);\r\n this.dialog = new Dialog();\r\n this.messages = new NotifyMessage();\r\n\r\n\r\n }\r\ncomponentWillUnmount(){\r\n}\r\n handleUsernameChange(event) {\r\n this.setState({ username: event.target.value });\r\n }\r\n handlePasswordChange(event) {\r\n this.setState({ password: event.target.value });\r\n }\r\n componentDidMount() {\r\n //RUN เพิ่ม condition ใหม่ 24/04/2021\r\n localStorage.setItem(\"Language\",\"TH\")\r\n this.setState({language: localStorage.getItem(\"Language\")})\r\n\r\n\r\n }\r\n onFinish(event) {\r\n // event.preventDefault();\r\n this.spinnerControl()\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/auth\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n username: this.state.username,\r\n password: this.state.password,\r\n }),\r\n })\r\n .then((Response) => Response.json(), console.log('Response', JSON.stringify(Response)))\r\n .then((result) => {\r\n console.log(\"result: for login \", result);\r\n this.setState({ items: result });\r\n if (result.status !== undefined) {\r\n\r\n if (this.state.language == 'TH') {\r\n this.dialog.WarningDialog(result.messageTH)\r\n } else {\r\n this.dialog.WarningDialog(result.messageEN)\r\n }\r\n this.spinnerControl()\r\n\r\n } else {\r\n console.log('result hhhjjhjhjhjhjhhjjhjhjh', result)\r\n result.EvaluteStatus.forEach(element => {\r\n localStorage.setItem(\"selfEvalStatus\", element.selfEvalStatus);\r\n localStorage.setItem(\"workLifeEvalStatus\", element.workLifeEvalStatus);\r\n localStorage.setItem(\"leadershipEvalStatus\", element.leadershipEvalStatus);\r\n localStorage.setItem(\"selfEvalStatusBackState\",element.selfEvalStatusBackState)\r\n localStorage.setItem(\"covidInfoStatus\",element.covidInfoStatus)\r\n });\r\n result.FormTypeData.forEach(ele=>{\r\n console.log('ele for enddate',ele)\r\n if(ele.FormTypeId == 1){\r\n //selfEval\r\n localStorage.setItem(\"selfEvalEndDate\", moment(ele.EndDate));\r\n localStorage.setItem(\"selfEvalStartDate\",moment(ele.StartDate) );\r\n }\r\n if(ele.FormTypeId == 2){\r\n //subordinate first leve\r\n localStorage.setItem(\"UnderEmpEndDate\", moment(ele.EndDate));\r\n localStorage.setItem(\"UnderEmpStartDate\", moment(ele.StartDate));\r\n \r\n }\r\n if(ele.FormTypeId == 3){\r\n //leader\r\n localStorage.setItem(\"leaderEmpDate\", moment(ele.EndDate));\r\n localStorage.setItem(\"leaderStartDate\", moment(ele.StartDate));\r\n\r\n }\r\n if(ele.FormTypeId == 4){\r\n //worklife\r\n localStorage.setItem(\"workLifeEndDate\", moment(ele.EndDate));\r\n localStorage.setItem(\"workLifeStartDate\",moment(ele.StartDate));\r\n\r\n }\r\n })\r\n let date_ob = new Date();\r\n console.log('ree',Date.now())\r\n localStorage.setItem(\"current\",Date.now())\r\n var datenow\r\n datenow = localStorage.getItem(\"selfEvalEndDate\");\r\n console.log('datenow', moment(localStorage.getItem(\"selfEvalEndDate\")).format(\"DD/MM/YYYY\"))\r\n console.log('adasdasd',moment(datenow).format(\"DD/MM/YYYY\"))\r\n sessionStorage.setItem(\"IsAuthened\",true)\r\n localStorage.setItem(\"EmpId\", result.EmpId);\r\n localStorage.setItem(\"TitleTH\", result.TitleTH);\r\n localStorage.setItem(\"FirstNameTH\", result.FirstNameTH);\r\n localStorage.setItem(\"LastNameTH\", result.LastNameTH);\r\n localStorage.setItem(\"TitleEN\", result.TitleEN);\r\n localStorage.setItem(\"FirstNameEN\", result.FirstNameEN);\r\n localStorage.setItem(\"LastNameEN\", result.LastNameEN);\r\n localStorage.setItem(\"PositionNameTH\", result.PositionNameTH);\r\n localStorage.setItem(\"DepartmentTH\", result.DepartmentTH);\r\n localStorage.setItem(\"DepartmentEN\", result.DepartmentEN);\r\n localStorage.setItem(\"Field\", result.Field);\r\n localStorage.setItem(\"GroupPositionID\", result.GroupPositionID);\r\n localStorage.setItem(\"GroupPositionNAME\", result.GroupPositionNameTH);\r\n localStorage.setItem(\"GroupPositionNameEN\", result.GroupPositionNameEN);\r\n localStorage.setItem(\"HaveUnderEmpPrimary\",result.HaveUnderEmpPrimary)\r\n // localStorage.setItem(\"EvaluteStatus\", items.EvaluteStatus);\r\n localStorage.setItem(\"StartJob\", result.StartJob);\r\n localStorage.setItem(\"PositionNameEN\", result.PositionNameEN);\r\n localStorage.setItem(\"IsHRPrivilege\", result.IsHRPrivilege);\r\n\r\n //Run เพิ่มการ set ค่า localstorage ให้แก่ PositionID 07/04/2021\r\n localStorage.setItem(\"PositionID\", result.PositionID)\r\n \r\n login()\r\n this.setState((prevState) => ({\r\n isLogin: isLogin(),\r\n }));\r\n sessionStorage.setItem('isLogin', true)\r\n \r\n this.spinnerControl()\r\n \r\n this.messages.showSuccessMessage('Login Successful')\r\n }\r\n // localStorage.setItem(\"username\", this.state.username);\r\n // localStorage.setItem(\"password\", this.state.password);\r\n });\r\n\r\n }\r\n\r\n //RUN: เพิ่ม changeLangFunction เพื่อทำการ setstate ให้ language 16/04/2021\r\n\r\n changeLangFunction(item) {\r\n localStorage.setItem(\"Language\", item);\r\n this.setState({ language: item })\r\n }\r\n spinnerControl() {\r\n this.setState({ spinner: !this.state.spinner })\r\n }\r\n \r\n render() {\r\n const { isLogin } = this.state;\r\n const overlay = () => (\r\n \r\n this.changeLangFunction('TH')}>\r\n TH - ภาษาไทย\r\n \r\n this.changeLangFunction('EN')}>\r\n EN - English\r\n \r\n \r\n );\r\n \r\n console.log('process.env.NODE_ENV', process.env.NODE_ENV)\r\n // if(localStorage.length==0){\r\n // localStorage.clear()\r\n // localStorage.setItem(\"Language\", \"TH\")\r\n // }else{\r\n // if(localStorage.length>1){\r\n // return \r\n // }\r\n\r\n // }\r\n //add data to local storage\r\n\r\n return isLogin ? :\r\n \r\n\r\n {/* // RUNเพิ่มการ ส่ง props ให้ทำการ callback function และ re-render \r\n component เมื่อทำการเปลี่ยนภาษา 16/04/2021 */}\r\n\r\n {/* */}\r\n {/* RUN: เพิ่มการ ตรวจสอบ TH/EN 16/04/2021*/}\r\n
\r\n
\r\n
\r\n
\r\n \"Logo\"\r\n

\r\n สำนักทรัพยากรบุคคล
Office of Human Resources\r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {/*
*/}\r\n {this.state.language == 'TH' ?\r\n

\r\n ยินดีต้อนรับ!
กรุณากรอกชื่อผู้ใช้งาน (Username) และ รหัสผ่าน\r\n (Password)\r\n

\r\n :

\r\n Welcome!
Please enter account informations Username and Password\r\n

\r\n }\r\n\r\n {/* start login form */}\r\n \r\n {/* RUN: เพิ่มการ ตรวจสอบ TH/EN 16/04/2021*/}\r\n\r\n {this.state.language == 'TH' ?\r\n \r\n }\r\n value={this.state.username}\r\n onChange={this.handleUsernameChange}\r\n />\r\n \r\n :\r\n \r\n }\r\n value={this.state.username}\r\n onChange={this.handleUsernameChange}\r\n />\r\n \r\n }\r\n {/* RUN: เพิ่มการ ตรวจสอบ TH/EN 16/04/2021*/}\r\n {this.state.language == 'TH' ?\r\n \r\n \r\n visible ? : \r\n }\r\n prefix={}\r\n value={this.state.password}\r\n onChange={this.handlePasswordChange}\r\n />\r\n \r\n :\r\n \r\n \r\n visible ? : \r\n }\r\n prefix={}\r\n value={this.state.password}\r\n onChange={this.handlePasswordChange}\r\n />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* RUN: เพิ่มการ ตรวจสอบ TH/EN 16/04/2021*/}\r\n {this.state.language == 'TH' ?\r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n }\r\n \r\n {/* end login form */}\r\n {/* RUN: เพิ่มการ ตรวจสอบ TH/EN 16/04/2021*/}\r\n\r\n {this.state.language == 'TH' ?\r\n
\r\n

\r\n ชื่อผู้ใช้งาน (Username) และ รหัสผ่าน (Password) ให้ใช้รหัสเดียวกับชื่อผู้ใช้งาน (Username) และ รหัสผ่าน (Password)เพื่อเข้าใช้งานระบบอินเทอร์เน็ต (Internet) มหาวิทยาลัยพายัพ\r\n

\r\n

\r\n กรณีมีข้อสงสัยเกี่ยวกับระบบการประเมินฯ โปรดสอบถาม\r\n สำนักทรัพยากรบุคคล
\r\n โทร 311, 312, 313\r\n

\r\n\r\n หากพบปัญหาการใช้งาน สามารถแจ้งปัญหาได้ คลิกที่นี่ \r\n
\r\n :\r\n
\r\n

\r\n Username and Password use the same Username and Password of Payap University's Internet\r\n

\r\n

\r\n If you have any question regarding the system,please feel free to contact
\r\n the Office of Human Resources at telephone number (6653) 851478
\r\n ext. 311, 312, 313\r\n

\r\n
\r\n\r\n }\r\n\r\n To Reporting issues Click Here \r\n
\r\n
\r\n
\r\n {/*
*/}\r\n
\r\n\r\n }\r\n\r\n\r\n}","// import React, { Component } from 'react';\r\n\r\n// class TableHelper extends Component {\r\n// constructor(props) {\r\n// super(props);\r\n// this.state = {\r\n// columns: []\r\n// };\r\n\r\n// }\r\n// componentDidMount(){\r\n\r\n// }\r\n// getTableService(TableId){\r\n// fetch(process.env.REACT_APP_API_URL + \"/api/getTableById\", {\r\n// method: \"post\",\r\n// headers: {\r\n// \"Content-Type\": \"application/json\",\r\n// Accept: \"application/json\",\r\n// },\r\n// body: JSON.stringify({\r\n// id: TableId,\r\n// }),\r\n// })\r\n// .then((Response) => Response.json()).then((result)=>\r\n// { \r\n \r\n// return result[0].TableColumn\r\n \r\n// })\r\n \r\n// }\r\n// render() {\r\n// return (\r\n//
\r\n// s\r\n//
\r\n// );\r\n// }\r\n// }\r\n\r\n// export default TableHelper;\r\n\r\nexport const getTableService = (TableId) =>{\r\n return (fetch(process.env.REACT_APP_API_URL + \"/api/getTableById\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n id: TableId,\r\n }),\r\n })\r\n .then((Response) => Response.json()).then((result)=>\r\n { \r\n \r\n return result\r\n \r\n }))\r\n\r\n}","import React from \"react\";\r\nimport Column from \"antd/lib/table/Column\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\nimport {\r\n CheckCircleOutlined,\r\n CloseCircleOutlined,\r\n ClockCircleOutlined,\r\n} from \"@ant-design/icons\";\r\nimport \"antd/dist/antd.css\";\r\nimport { getTableService } from \"../services/table-helper.service\";\r\nimport { Button, PageHeader, Tag, Table, Select, Tooltip } from \"antd\";\r\nimport { EditOutlined } from \"@ant-design/icons\";\r\n\r\nconst getRowKey = (record) => {\r\n return `${record.LeaderId}`;\r\n};\r\n\r\n\r\nconst buttonStyle = {\r\n width: \"75%\",\r\n whiteSpace: \"nowrap\",\r\n overflow: \"hidden\",\r\n textOverflow: \"clip\",\r\n};\r\n\r\nconst tableWrapStyles = {\r\n width: \"100%\",\r\n margin: 0\r\n\r\n};\r\n\r\nconst tablestyles = {\r\n display: \"inline-flex\"\r\n};\r\nexport default class HomeScreen extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n statusTag: localStorage.getItem(\"EvaluteStatus\"),\r\n selfEvalStatus: \"\",\r\n leadershipEvalStatus: \"\",\r\n workLifeEvalStatus: \"\",\r\n selfEvalStatusBackState: \"\",\r\n covidInfoStatus: \"\",\r\n\r\n //RUN: เพิ่ม stae lang, Default = localstorage 16/04/2021\r\n language: localStorage.getItem(\"Language\"),\r\n Columns: [],\r\n ColumnsDatasourceTH: [],\r\n ColumnsDatasourceEN: [],\r\n //RUN: เปลี่ยน ปี เองเนื่องจากไม่มี CRUD เก็บข้อมูล\r\n\r\n titleTH: \"การประเมินประจำปีการศึกษา 2564\",\r\n titleEN: \"The Assessment for academic year 2021\",\r\n EmpListDatasource: [],\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"nextProps\", nextProps);\r\n this.setState({ language: nextProps.lang });\r\n localStorage.setItem(\"Language\", nextProps.lang);\r\n }\r\n\r\n componentDidMount() {\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getLeader\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"result\", result);\r\n result.forEach((element) => {\r\n this.state.EmpListDatasource = element.LeaderList;\r\n });\r\n\r\n this.setState({\r\n EmpListDatasource: this.state.EmpListDatasource,\r\n });\r\n console.log(\r\n \"this.state.EmpListDatasource\",\r\n this.state.EmpListDatasource\r\n );\r\n\r\n });\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getEvalStatus\", {\r\n\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"in get eval\");\r\n\r\n console.log('before set leadershipEvalStatus', this.state.leadershipEvalStatus)\r\n console.log(\"selfEvalStatus\", result[0].selfEvalStatus);\r\n console.log(\"selfEvalStatusBackState\", result[0].selfEvalStatusBackState);\r\n console.log(\"selfEvalStatus\", result[0].selfEvalStatus);\r\n console.log(\"leadershipEvalStatus\", result[0].leadershipEvalStatus);\r\n\r\n localStorage.setItem(\"selfEvalStatusBackState\", result[0].selfEvalStatusBackState)\r\n localStorage.setItem(\"selfEvalStatus\", result[0].selfEvalStatus);\r\n localStorage.setItem(\"workLifeEvalStatus\", result[0].workLifeEvalStatus);\r\n localStorage.setItem(\"leadershipEvalStatus\", result[0].leadershipEvalStatus);\r\n // covidInfoStatus\r\n localStorage.setItem(\"covidInfoStatus\", result[0].covidInfoStatus);\r\n\r\n\r\n this.setState({ selfEvalStatus: result[0].selfEvalStatus })\r\n this.setState({ workLifeEvalStatus: result[0].workLifeEvalStatus })\r\n this.setState({ selfEvalStatusBackState: result[0].selfEvalStatusBackState })\r\n this.setState({ leadershipEvalStatus: result[0].leadershipEvalStatus })\r\n this.setState({ covidInfoStatus: result[0].covidInfoStatus })\r\n\r\n\r\n var EmpListRequired = this.state.EmpListDatasource.filter((element) => element.required == \"1\")\r\n var EmpListRequiredCount1 = EmpListRequired.filter((element) => element.LeaderEvalStatus == '1')\r\n var EmpListRequiredCount = EmpListRequired.filter((element) => element.LeaderEvalStatus == '3')\r\n\r\n\r\n console.log('EmpListRequired', EmpListRequired)\r\n console.log('EmpListRequiredCount1', EmpListRequiredCount1)\r\n\r\n EmpListRequired.length == EmpListRequiredCount1.length ?\r\n this.setState({ leadershipEvalStatus: 1 }) :\r\n this.setState({ leadershipEvalStatus: 2 });\r\n\r\n if (EmpListRequired.length == EmpListRequiredCount.length) {\r\n this.setState({\r\n leadershipEvalStatus: 3\r\n });\r\n }\r\n\r\n console.log('after set leadershipEvalStatus', this.state.leadershipEvalStatus)\r\n\r\n\r\n });\r\n\r\n getTableService(\"leader-form\").then((result) => {\r\n var table = [];\r\n result.forEach((e) => {\r\n this.state.Columns = e.TableColumn;\r\n });\r\n\r\n console.log(\"this.state.Columns\", this.state.Columns);\r\n\r\n this.state.Columns.forEach((e) => {\r\n console.log(\"ColumnKeyTH\", e.ColumnKeyTH);\r\n if (e.ColumnKeyTH !== \"LeaderEvalStatus\") {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n });\r\n } else if (e.ColumnKeyTH == \"LeaderEvalStatus\") {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record, index) => {\r\n console.log(\"record\", index);\r\n if (e == 3) {\r\n return (\r\n
\r\n \r\n ประเมินผู้บังคับบัญชาสำเร็จ\r\n \r\n
\r\n );\r\n } else if (e == 1) {\r\n return (\r\n
\r\n \r\n ยังไม่ได้ประเมินผู้บังคับบัญชา\r\n \r\n\r\n
\r\n );\r\n } else if (e == 2) {\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 this.setState({\r\n ColumnsDatasourceTH: this.state.ColumnsDatasourceTH.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n });\r\n\r\n\r\n // conlumns eng\r\n this.state.Columns.forEach((e) => {\r\n console.log(\"ColumnKeyEN\", e.ColumnKeyEN);\r\n\r\n if (e.ColumnKeyEN !== \"LeaderEvalStatus\") {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n });\r\n } else if (e.ColumnKeyEN == \"LeaderEvalStatus\") {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record, index) => {\r\n console.log(\"record\", index);\r\n if (e == 3) {\r\n return (\r\n
\r\n \r\n Success\r\n \r\n
\r\n );\r\n } else if (e == 1) {\r\n return (\r\n
\r\n \r\n No Record\r\n \r\n\r\n
\r\n );\r\n } else if (e == 2) {\r\n return (\r\n
\r\n \r\n In Progress\r\n \r\n\r\n
\r\n );\r\n }\r\n },\r\n });\r\n }\r\n });\r\n\r\n this.setState({\r\n ColumnsDatasourceEN: this.state.ColumnsDatasourceEN.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n });\r\n\r\n\r\n });\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getLeader\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"result\", result);\r\n result.forEach((element) => {\r\n this.state.EmpListDatasource = element.LeaderList;\r\n });\r\n\r\n this.setState({\r\n EmpListDatasource: this.state.EmpListDatasource,\r\n });\r\n console.log(\r\n \"this.state.ColumnsDatasourceTH\",\r\n this.state.ColumnsDatasourceTH\r\n );\r\n console.log(\r\n \"this.state.EmpListDatasource\",\r\n this.state.EmpListDatasource\r\n );\r\n\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n renderButtonTH() {\r\n const { EmpListDatasource, ColumnsDatasourceTH } = this.state;\r\n\r\n var EmpListRequired = EmpListDatasource.filter((element) => element.required == \"1\")\r\n var EmpListRequiredCount1 = EmpListRequired.filter((element) => element.LeaderEvalStatus == '1')\r\n var EmpListRequiredCount = EmpListRequired.filter((element) => element.LeaderEvalStatus == '3')\r\n var EmpListNotRequired = EmpListDatasource.filter((element) => element.required == \"2\")\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n {this.state.leadershipEvalStatus !== 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\n {this.state.workLifeEvalStatus == 1 ? (\r\n \r\n ) : this.state.workLifeEvalStatus == 2 ? (\r\n \r\n ) : this.state.workLifeEvalStatus == 3 ? (\r\n \r\n ) : null}\r\n\r\n {this.state.covidInfoStatus == 1 ?\r\n\r\n \r\n :\r\n \r\n }\r\n
\r\n );\r\n }\r\n\r\n renderButtonEN() {\r\n return (\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n {this.state.workLifeEvalStatus == 1 ? (\r\n \r\n ) : this.state.workLifeEvalStatus == 2 ? (\r\n \r\n ) : this.state.workLifeEvalStatus == 3 ? (\r\n \r\n ) : null}\r\n\r\n {this.state.covidInfoStatus == 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 render() {\r\n console.log(\"process.env.NODE_ENV\", process.env.NODE_ENV);\r\n\r\n //RUN: เพิ่มcondition lang 16/04/2021\r\n\r\n return (\r\n
\r\n {this.state.language == \"TH\" ? (\r\n {this.state.titleTH} \r\n ) : (\r\n {this.state.titleEN} \r\n )}\r\n\r\n
\r\n\r\n {this.state.language == \"TH\"\r\n ? this.renderButtonTH()\r\n : this.renderButtonEN()}\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\n\r\nimport { Button, Menu, Affix, } from \"antd\";\r\n\r\n//import dom\r\nimport { Link } from \"react-router-dom\";\r\nimport moment from \"moment\";\r\n\r\n\r\nconst { SubMenu } = Menu;\r\n\r\n\r\nexport default class SubHeader extends React.Component {\r\n //RUN: เพิ่ม constructor 16/04/2021 \r\n constructor() {\r\n super();\r\n this.state = {\r\n language: localStorage.getItem(\"Language\"),\r\n covidInfoStatus: localStorage.getItem(\"covidInfoStatus\"),\r\n\r\n };\r\n }\r\n\r\n\r\n //RUN: เพิ่ม function เปลี่ยน ภาษา (อันนี้ใช้ชั่วคราว) 16/04/2021\r\n getTitleReportEval() {\r\n if (this.state.language == 'TH') {\r\n return \"รายงาน\"\r\n } else {\r\n return \"Report\"\r\n }\r\n }\r\n //RUN: เพิ่ม function เปลี่ยน ภาษา (อันนี้ใช้ชั่วคราว) 16/04/2021\r\n getTitleEval() {\r\n if (this.state.language == 'TH') {\r\n return \"การประเมิน\"\r\n } else {\r\n return \"Evaluation\"\r\n }\r\n }\r\n\r\n renderVacSubHeader() {\r\n return (\r\n \r\n \r\n {this.state.language == 'TH' ?\r\n หน้าหลัก \r\n :\r\n Home \r\n }\r\n \r\n\r\n \r\n {this.state.covidInfoStatus == 0 ?\r\n\r\n this.state.language == 'TH' ?\r\n เพิ่มข้อมูล \r\n :\r\n Add \r\n :\r\n null\r\n }\r\n {this.state.covidInfoStatus == 1 ?\r\n\r\n this.state.language == 'TH' ?\r\n อัพเดทข้อมูล \r\n :\r\n Edit \r\n :\r\n null\r\n }\r\n \r\n \r\n )\r\n }\r\n renderSubHeaderEva() {\r\n this.state.language = localStorage.getItem(\"Language\")\r\n const evalutionStatus = localStorage.getItem(\"selfEvalStatus\");\r\n return (\r\n \r\n \r\n {this.state.language == 'TH' ?\r\n หน้าหลัก \r\n :\r\n Home \r\n }\r\n \r\n\r\n\r\n\r\n {evalutionStatus == '3' ?\r\n \r\n \r\n \r\n {this.state.language == 'TH' ?\r\n\r\n ผลการประเมินตนเอง\r\n :\r\n Self-Assessment Report\r\n\r\n }\r\n \r\n\r\n\r\n {/* ผลการพิจารณาระดับผลปฎิบัติงาน\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 evalutionStatus != 3 ?\r\n\r\n localStorage.getItem(\"selfEvalStatusBackState\") == 0\r\n ?\r\n \r\n {this.state.language == 'TH' ?\r\n ประเมินตนเอง\r\n {console.log('sonosnos',moment(localStorage.getItem(\"selfEvalEndDate\")).format(\"llll\"))}\r\n {console.log('dnonww',moment(Date.now()).format('llll'))}\r\n \r\n \r\n :\r\n Sef-Assessment\r\n }\r\n \r\n :\r\n \r\n {this.state.language == 'TH' ?\r\n ประเมินตนเอง\r\n {console.log('enddate',moment(localStorage.getItem(\"selfEvalEndDate\")).format(\"llll\"))}\r\n {moment(localStorage.getItem(\"selfEvalStartDate\")).format(\"llll\")} -\r\n {moment(localStorage.getItem(\"selfEvalEndDate\")).format(\"llll\")}\r\n \r\n :\r\n Sef-Assessment {moment(localStorage.getItem(\"selfEvalEndDate\")).format(\"DD/MM/YYYY\")} -\r\n {moment(localStorage.getItem(\"selfEvalEndDate\")).format(\"llll\")}\r\n \r\n }\r\n \r\n : null\r\n }\r\n {/* disabled ไว้ก่อน 03/04/2022*/}\r\n\r\n {localStorage.getItem(\"HaveUnderEmpPrimary\") == 1 ?\r\n \r\n {this.state.language == 'TH' ?\r\n ประเมินผู้ใต้สังกัด\r\n :\r\n Assessing Subordinate\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 {localStorage.getItem(\"IsHRPrivilege\") == '1' ?\r\n \r\n \r\n \r\n : null\r\n }\r\n \r\n );\r\n\r\n }\r\n\r\n render() {\r\n //RUN set ค่าให้ใหม่ เมื่อทำการ Render เพื่อdynamic การเปลี่ยนภาษาแบบทันที\r\n this.state.language = localStorage.getItem(\"Language\")\r\n const evalutionStatus = localStorage.getItem(\"selfEvalStatus\");\r\n return (\r\n \r\n {/* home menu */}\r\n {window.location.pathname == '/vaccine-info' ?\r\n this.renderVacSubHeader() :\r\n this.renderSubHeaderEva()\r\n }\r\n \r\n );\r\n }\r\n}\r\n","import { Row, Col, Divider,Spin } from \"antd\";\r\n\r\n\r\nimport SubHeader from \"../components/SubHeader\";\r\n\r\nimport \"antd/dist/antd.css\";\r\nimport '../App.css';\r\nimport React from \"react\";\r\n//RUN: new header component 16/04/2021\r\nimport HeaderComponent from \"../components/HeaderComponent\";\r\nimport LoginScreen from \"./LoginScreen\";\r\nimport { Redirect } from \"react-router\";\r\n\r\n\r\nexport default class WorkFormScreen extends React.Component {\r\n \r\n constructor(props) {\r\n \r\n super(props);\r\n this.state = {\r\n items: [],\r\n username: \"\",\r\n password: \"\",\r\n //RUN: เพิ่ม การ get Language 16/04/2021\r\n language: localStorage.getItem(\"Language\"),\r\n selfEvalState: 0,\r\n spinner: true\r\n };\r\n\r\n }\r\n\r\n componentDidMount() {\r\n console.log('asicnaiosicmsom')\r\n this.spinnerControl()\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getEvalStatus\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n \r\n console.log('ssssssssssssssssssss',result[0].selfEvalStatus)\r\n \r\n localStorage.setItem(\"selfEvalStatus\", result[0].selfEvalStatus);\r\n localStorage.setItem(\"workLifeEvalStatus\", result[0].workLifeEvalStatus);\r\n localStorage.setItem(\"leadershipEvalStatus\", result[0].leadershipEvalStatus);\r\n localStorage.setItem(\"selfEvalStatusBackState\",result[0].selfEvalStatusBackState)\r\n this.setState({selfEvalState : localStorage.getItem(\"selfEvalStatus\"),\r\n })\r\n\r\n })\r\n this.spinnerControl()\r\n\r\n\r\n }\r\n \r\n componentWillReceiveProps(nextProps){\r\n console.log('nextProps',nextProps)\r\n this.setState({language: nextProps.lang})\r\n localStorage.setItem(\"Language\", nextProps.lang);\r\n }\r\n\r\n renderCalendar() {\r\n return (\r\n\r\n \r\n {this.state.language == 'TH' ?\r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n\r\n }\r\n {this.state.language == 'TH' ?\r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n }\r\n {this.state.language == 'TH' ?\r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n }\r\n {this.state.language == 'TH' ?\r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n }\r\n {this.state.language == 'TH' ?\r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n }\r\n {this.state.language == 'TH' ?\r\n\r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n }\r\n {this.state.language == 'TH' ?\r\n\r\n \r\n \r\n \r\n \r\n :\r\n\r\n \r\n \r\n \r\n \r\n }\r\n\r\n
ระยะเวลา การดำเนินการ
Duration Action
4 – 24 เมษายน 2565 สำนักทรัพยากรบุคคล เปิดระบบการประเมินผลการปฏิบัติงานของบุคลากรมหาวิทยาลัยพายัพ ประจำปีการศึกษา 2564 ให้บุคลากรทุกคนเข้าทำการประเมินตนเอง ผ่านระบบการประเมินที่กำหนด\r\n
4 - 24 April, 2022 Human Resources Office will post the on-line personal evaluation form for personnel to use at http://hrms.payap.ac.th\r\n
25 เมษายน – 1 พฤษภาคม 2565 ผู้บังคับบัญชาระดับต้นประเมินผลการปฏิบัติงานของบุคลากร\r\n
25 April – 1 May 2022 The initial supervisor assess a result of work performance (scoring) of faculties or staffs.\r\n
2 – 11 พฤษภาคม 2565 \r\n
  • กรณีคณะวิชา ให้ผู้บริหารระดับคณบดีเป็นผู้พิจารณาให้ระดับผลการปฏิบัติงาน ตามคำแนะนำของคณะกรรมการบริหารคณะวิชาหรือวิทยาลัย
  • \r\n
  • กรณีหน่วยงานสนับสนุน ให้ผู้บริหารระดับผู้อำนวยการหรือหัวหน้างานเป็นผู้พิจารณาให้ระดับปฏิบัติงาน
  • \r\n
    2 – 11 May 2022 \r\n
  • In case of Faculties and Colleges, the Dean assess a result of work performance of faculties or staffs by advices of Faculty or College Board.
  • \r\n
  • In case of non – academic Department, The Director or Head of office assess a result of work performance.
  • \r\n
    12 – 22 พฤษภาคม 2565 รองอธิการบดีหรือผู้ช่วยอธิการบดี รวบรวมและสรุปข้อมูลผลการประเมินและระดับการประเมิน ผลการปฏิบัติงานของบุคลากร
    12 – 22 May 2022 Vice president or Assistant to the president evaluate the job performance of personnel.
    24 พฤษภาคม 2565 คณะกรรมการบริหารมหาวิทยาลัยพายัพพิจารณากลั่นกรองผลการประเมินการปฏิบัติงานของบุคลากร
    24 May 2022 Payap University administrative executive committee considers the overview of personnel performance.
    27 พฤษภาคม 2565 รักษาการอธิการบดีพิจารณาอนุมัติ
    27 May 2022 Interim President considers approving the reports.
    \r\n\r\n )\r\n\r\n\r\n }\r\n\r\n //RUN: เพิ่ม changeLangFunction เพื่อทำการ setstate ให้ language 16/04/2021\r\n changeLangFunction(item) {\r\n localStorage.setItem(\"Language\", item);\r\n this.setState({ language: item })\r\n }\r\n\r\n spinnerControl() {\r\n this.setState({ spinner: !this.state.spinner })\r\n }\r\n\r\n render() {\r\n const { items } = this.state;\r\n console.log('items', items);\r\n\r\n\r\n\r\n console.log('render workform')\r\n return (\r\n
    \r\n \r\n {/* // RUNเพิ่มการ ส่ง props ให้ทำการ callback function และ re-render \r\ncomponent เมื่อทำการเปลี่ยนภาษา 16/04/2021 */}\r\n\r\n \r\n
    \r\n \r\n {/* Start Left Section */}\r\n \r\n
    \r\n \r\n {this.state.language == 'TH' ?\r\n\r\n

    ประกาศ

    \r\n :\r\n

    Announcement

    \r\n\r\n }\r\n
    \r\n {this.state.language == 'TH' ?\r\n\r\n

    \r\n ประกาศมหาวิทยาลัยพายัพ เรื่อง การประเมินผลการปฏิบัติงานของบุคลากรมหาวิทยาลัยพายัพ ประจำปีการศึกษา 2564 (ประกาศ ณ วันที่ 21 มีนาคม 2565)\r\n

    \r\n :\r\n

    \r\n Payap University Announcement - The assessment of Payap University's personnel Job Performance (announced on March 4, 2025).\r\n

    \r\n }\r\n \r\n {this.renderCalendar()}\r\n
    \r\n\r\n \r\n {/* End Left Section */}\r\n\r\n {/* Start Right Section */}\r\n \r\n
    \r\n \r\n {this.state.language == 'TH' ?\r\n

    ข้อมูลตนเอง

    \r\n :\r\n

    Profile

    \r\n }\r\n
    \r\n\r\n {/* render name */}\r\n {this.state.language == 'TH' ?\r\n\r\n

    \r\n {localStorage.getItem(\"TitleTH\") +\r\n \" \" +\r\n localStorage.getItem(\"FirstNameTH\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameTH\")\r\n }\r\n

    \r\n :\r\n

    \r\n {localStorage.getItem(\"TitleEN\") +\r\n \" \" +\r\n localStorage.getItem(\"FirstNameEN\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameEN\")}\r\n

    \r\n }\r\n\r\n {/* render id */}\r\n {this.state.language == 'TH' ?\r\n

    รหัสบุคลากร: { localStorage.getItem(\"EmpId\")}

    \r\n :\r\n

    Personnel Code: { localStorage.getItem(\"EmpId\")}

    \r\n\r\n }\r\n\r\n {/* render status */}\r\n {this.state.language == 'TH' ?\r\n

    สถานะ

    \r\n :\r\n

    Status

    \r\n\r\n }\r\n\r\n {this.state.selfEvalState == 1 ? (\r\n this.state.language == 'TH' ?

    ยังไม่ได้ประเมินตนเอง

    :

    No Record

    \r\n ) : this.state.selfEvalState == 2 ? (\r\n this.state.language == 'TH' ?

    กำลังประเมิน

    :

    In Progress

    \r\n ) : this.state.selfEvalState == 3 ? (\r\n this.state.language == 'TH' ?

    ประเมินสำเร็จ

    :

    Completed

    \r\n ) : null}\r\n\r\n {/* render position */}\r\n {this.state.language == 'TH' ?\r\n\r\n

    ตำแหน่ง

    \r\n :\r\n

    Position

    \r\n\r\n }\r\n {this.state.language == 'TH' ?\r\n\r\n

    {localStorage.getItem(\"PositionNameTH\") }

    \r\n :\r\n

    {localStorage.getItem(\"PositionNameEN\")}

    \r\n\r\n }\r\n\r\n\r\n {/* render department */}\r\n {this.state.language == 'TH' ?\r\n

    สังกัด

    \r\n :\r\n

    Department

    \r\n\r\n }\r\n {this.state.language == 'TH' ?\r\n\r\n

    {localStorage.getItem(\"DepartmentTH\")}

    \r\n :\r\n

    {localStorage.getItem(\"DepartmentEN\")}

    \r\n\r\n }\r\n
    \r\n\r\n
    \r\n \r\n {this.state.language == 'TH' ?\r\n\r\n

    ดาวน์โหลด

    \r\n :\r\n

    Download

    \r\n\r\n }\r\n
    \r\n \r\n
    \r\n \r\n {/* End Right Section */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n \r\n}\r\n","import { Radio, Row, Col, Affix, Button } from \"antd\";\r\nimport React, { Component } from \"react\";\r\nimport logo from \"../assets/images/logo-payap.png\";\r\n// Run: เพิ่มใหม่ เพื่อทำ dynamic Language 16/04/2021\r\n\r\nimport { logout } from \"../utils/AuthGuard\";\r\n\r\n\r\n//import dom\r\nimport { Link, Redirect } from \"react-router-dom\";\r\n\r\n\r\nexport default class HeaderComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n if (localStorage.length == 0) {\r\n localStorage.setItem(\"Language\", \"TH\");\r\n }\r\n }\r\n\r\n handleLogout() {\r\n localStorage.clear();\r\n localStorage.setItem(\"Language\", \"TH\");\r\n logout();\r\n }\r\n\r\n\r\n\r\n render() {\r\n const language = localStorage.getItem(\"Language\")\r\n\r\n console.log(\"render\");\r\n console.log(\"/locals=a=sc\", localStorage.getItem(\"Language\"));\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 สำนักทรัพยากรบุคคล
    Office of Human Resources\r\n

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

    \r\n เลือกภาษา\r\n

    \r\n
    \r\n \r\n this.props.data.changeLang(\"TH\")}>ไทย\r\n this.props.data.changeLang(\"EN\")}>English\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n","export default __webpack_public_path__ + \"static/media/logo-payap-bule.0723a74f.png\";","import { Row, Col, Table, Button, Radio, Tooltip, Input } from \"antd\";\r\n\r\nimport logo from \"../assets/images/logo-payap-bule.png\";\r\nimport \"antd/dist/antd.css\";\r\nimport React, { Component } from \"react\";\r\n\r\nimport * as _ from \"lodash\"; //\r\nimport moment from \"moment\";\r\n\r\nimport \"../App.css\"\r\n\r\nfunction EvalutionHeader() {\r\n const language = localStorage.getItem(\"Language\")\r\n console.log('language', language)\r\n return (\r\n
    \r\n {language == 'TH' ?\r\n
    \r\n

    \r\n แบบฟอร์มประเมินผลการปฎิบัติงานของบุคลากรมหาวิทยาลัยพายัพ\r\n ประจำปีการศึกษา 2564\r\n

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

    \r\n Performance Evaluation of Payap University for\r\n the 2021 Academic Year\r\n

    \r\n
    \r\n \r\n }\r\n\r\n \r\n {language == 'TH' ?\r\n \r\n

    \r\n\r\n ชื่อ - สกุล \r\n {\" \" + localStorage.getItem(\"TitleTH\") +\r\n localStorage.getItem(\"FirstNameTH\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameTH\")}\r\n\r\n

    \r\n

    \r\n รหัสบุคลากร {localStorage.getItem(\"EmpId\")}\r\n

    \r\n

    \r\n สถานะ {localStorage.getItem(\"GroupPositionNAME\")}\r\n

    \r\n {/*

    \r\n วันเริ่มเข้างาน{\" \"}\r\n { \" \" + moment(localStorage.getItem(\"StartJob\")).format(\"DD/MM/YYYY\") }\r\n

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

    \r\n\r\n Firstname - Lastname \r\n {\" \" + localStorage.getItem(\"TitleEN\") + \" \"+\r\n localStorage.getItem(\"FirstNameEN\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameEN\")}\r\n\r\n

    \r\n

    \r\n Personnel Code {localStorage.getItem(\"EmpId\")}\r\n

    \r\n

    \r\n Status {localStorage.getItem(\"GroupPositionNameEN\")}\r\n

    \r\n {/*

    \r\n Start Date\r\n {\" \" +\r\n moment(localStorage.getItem(\"StartJob\")).format(\"DD/MM/YYYY\")}\r\n

    */}\r\n \r\n }\r\n {language == 'TH' ?\r\n \r\n

    \r\n ตำแหน่ง {localStorage.getItem(\"PositionNameTH\")}\r\n

    \r\n

    \r\n สังกัดฝ่าย {localStorage.getItem(\"DepartmentTH\")}\r\n

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

    \r\n Position {localStorage.getItem(\"PositionNameEN\")}\r\n

    \r\n

    \r\n Department {localStorage.getItem(\"DepartmentEN\")}\r\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 EvalutionHeader;\r\n","import { Row, Col, Table, Button, Radio, Tooltip, Input, Spin, PageHeader } from \"antd\";\r\n\r\nimport logo from \"../assets/images/logo-payap-bule.png\";\r\nimport \"antd/dist/antd.css\";\r\nimport React, { Component, useState } from \"react\";\r\nimport { NavLink, Redirect } from \"react-router-dom\";\r\nimport EventEmitter from \"eventemitter3\";\r\nimport { getKeyThenIncreaseKey } from \"antd/lib/message\";\r\nimport * as _ from \"lodash\"; //\r\nimport moment from \"moment\";\r\nimport EvalutionHeader from \"../components/EvalutionHeader\";\r\nimport Dialog from '../shared/dialog'\r\nimport '../shared/css/headerpages.css'\r\nimport HeaderComponent from \"../components/HeaderComponent\";\r\n\r\nconst { TextArea } = Input;\r\n\r\nclass SelfEvalutionScreen extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n items: [],\r\n tableData: [],\r\n ansFormArray: [],\r\n headerForm: [],\r\n Tooltip: [],\r\n //RUN: เพิ่ม Weight 14/04/2021\r\n weight: [],\r\n //RUN: เพิ่ม การ get Language 16/04/2021\r\n language: localStorage.getItem(\"Language\"),\r\n titleTH: 'แบบฟอร์มประเมินผลการปฎิบัติงานของบุคลากรมหาวิทยาลัยพายัพ ประจำปีการศึกษา 2564',\r\n titleEN: 'Performance Evaluation of Payap University for the 2021 Academic Year'\r\n };\r\n this.AnsData = {\r\n ansForm: [],\r\n ansFormArray: [],\r\n ansTotalClick: [],\r\n ansTotalClickTopic: [],\r\n ansTotalClickSubSubTopic: [],\r\n TotalCalculate: 0,\r\n };\r\n this.FromLocal = {\r\n PositionID: \"\",\r\n //RUN: เพิ่มตัวแปร PositionGroupID เพื่อเก็บค่าไว้ตรวจสอบการคำนวณ Weight คะแนน 14/04/2021\r\n PositionGroupID: \"\",\r\n };\r\n this.initArrays = {\r\n TopicsArr: [],\r\n SubTopicArr: [],\r\n SubSubTopicArr: [],\r\n //RUN: เพิ่ม ตัวแปร array เก็บค่า 14/04/2021\r\n InProgressForm: [],\r\n };\r\n this.dialog = new Dialog();\r\n\r\n }\r\n\r\n // changeLangFunction(item) {\r\n // localStorage.setItem(\"Language\", item);\r\n // this.setState({ language: item })\r\n // }\r\n\r\n\r\n componentWillReceiveProps(nextProps) {\r\n //console.log('nextProps', nextProps)\r\n this.setState({ language: nextProps.lang })\r\n }\r\n\r\n\r\n //RUN: เปลี่ยนจาก componentDidMount เป็น componentWillMount ->\r\n //-> เพื่อให้ทำการดึงข้อมูลมาแบบเมื่อเปิดทันที ส่วนของ componentDidMount จะมีหน้าที่อื่นในอนาคต 14/04/2021\r\n componentWillMount() {\r\n // window.history.pushState(null,null,window.location.pathname)\r\n\r\n if (localStorage.getItem(\"EmpId\")) {\r\n this.spinnerControl()\r\n\r\n this.FromLocal.PositionID = parseInt(localStorage.getItem(\"PositionID\"));\r\n //RUN: เพิ่มการดึง GroupPositionID มาจาก LocalStorage\r\n\r\n this.FromLocal.PositionGroupID = localStorage.getItem(\"GroupPositionID\");\r\n //console.log(\"in if\");\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getCriteriaAndUserAns1D\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n formtypeid: 1,\r\n field: localStorage.getItem(\"Field\"),\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n //console.log(\"result: ...... \", result);\r\n result.forEach((e) => {\r\n this.initArrays.TopicsArr = e.Topics;\r\n this.initArrays.SubTopicArr = e.SubTopics;\r\n //RUN : เพิ่มการ ใส่ InProgress หากมี หากไม่มีจะใส่เป็น array เปล่าซึ่งไม่มีผลใดๆกับ Process 16/04/2021\r\n this.initArrays.InProgressForm = e.AnsForm;\r\n this.initArrays.SubSubTopicArr = e.SubSubTopics;\r\n });\r\n //console.log(\r\n // \"localStorage.getItem()\",\r\n // localStorage.getItem(\"Field\")\r\n // );\r\n //RUN: นำ ans data เข้าไปใส่ใน array ที่ใช้ ิวิ่งข้อมูล Default\r\n if (this.initArrays.InProgressForm.length > 0) {\r\n\r\n this.initArrays.InProgressForm.forEach((e) => {\r\n this.AnsData.ansForm.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n isCompetency: e.isCompetency\r\n });\r\n });\r\n }\r\n //RUN: เพิ่ม Weight ให้ Topic\r\n var tempWeightTopic;\r\n this.initArrays.TopicsArr.forEach((e) => {\r\n if (this.FromLocal.PositionGroupID == \"E\") {\r\n //console.log(\"positionID = E\");\r\n tempWeightTopic = e.WeightOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"C\") {\r\n tempWeightTopic = e.WeightLecturerOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"B\") {\r\n tempWeightTopic = e.WeightLecturer;\r\n } else if (\r\n this.FromLocal.PositionGroupID == \"A\" ||\r\n this.FromLocal.PositionGroupID == \"D\"\r\n ) {\r\n tempWeightTopic = e.WeightBoards;\r\n } else if (this.FromLocal.PositionGroupID == \"F\") {\r\n //console.log('group = f')\r\n if (localStorage.getItem(\"Field\") == 1) {\r\n //console.log('field 1')\r\n\r\n tempWeightTopic = e.WeightOfficer;\r\n } else {\r\n //console.log('field 2')\r\n\r\n tempWeightTopic = e.WeightLecturer;\r\n }\r\n }\r\n this.state.weight.push({\r\n ToppicId: e.ToppicId.toString(),\r\n SubToppicId: 0,\r\n SubSubToppicId: 0,\r\n WeightBoards: e.WeightBoards,\r\n WeightLecturer: e.WeightLecturer,\r\n WeightLecturerOfficer: e.WeightLecturerOfficer,\r\n WeightOfficer: e.WeightOfficer,\r\n WeightCriteria: tempWeightTopic,\r\n IsMainTopic: true,\r\n });\r\n });\r\n //#region RUN: Key ไว้ดูว่า ตำแหน่งไหนใช้ Weight ตัวไหน 14/04/2021\r\n //KEY / Legend\r\n // WeightApply | GroupPositionID\r\n // WeightBoards : A,D\r\n // WeightLecturer : B\r\n // WeightLecturerOfficer : C\r\n // WeightOfficer : E\r\n //#endregion\r\n\r\n //RUN: เพิ่ม การตรวจสอบ employee คนนี้มีตำแหน่งอะไรและเลือกใช้ Weightให้ ถูกต้อง\r\n var tempWeightApplySubTopic;\r\n\r\n //console.log(\"GroupPositionID\", this.FromLocal.PositionGroupID);\r\n var nameWeightApply = \"\";\r\n if (this.FromLocal.PositionGroupID == \"E\") {\r\n nameWeightApply = \"WeightOfficer\";\r\n } else if (this.FromLocal.PositionGroupID == \"C\") {\r\n nameWeightApply = \"WeightLecturerOfficer\";\r\n } else if (this.FromLocal.PositionGroupID == \"B\") {\r\n nameWeightApply = \"WeightLecturer\";\r\n } else if (\r\n this.FromLocal.PositionGroupID == \"A\" ||\r\n this.FromLocal.PositionGroupID == \"D\"\r\n ) {\r\n nameWeightApply = \"WeightBoards\";\r\n } else if (this.FromLocal.PositionGroupID == \"F\") {\r\n if (localStorage.getItem(\"Field\") == 1) {\r\n nameWeightApply = \"WeightOfficer\";\r\n } else {\r\n nameWeightApply = \"WeightLecturer\";\r\n }\r\n }\r\n //RUN: ตัดข้อมูลที่ weight คะแนนเป็น 0 ออก\r\n this.initArrays.SubTopicArr = this.initArrays.SubTopicArr.filter(\r\n (e) => {\r\n return e[(\"\", nameWeightApply)] !== 0;\r\n }\r\n );\r\n //RUN: ตัดข้อมูลที่ weight คะแนนเป็น 0 ออก\r\n this.initArrays.SubSubTopicArr = this.initArrays.SubSubTopicArr.filter(\r\n (e) => {\r\n return e[(\"\", nameWeightApply)] !== 0;\r\n }\r\n );\r\n\r\n this.initArrays.SubTopicArr.forEach((e) => {\r\n //RUN: เพิ่มcondition ตรวจสอบว่าเป็นตำแหน่งใดและนำไปใช้ในตัวแปรtemp เพื่อส่งเข้า array\r\n if (this.FromLocal.PositionGroupID == \"E\") {\r\n tempWeightApplySubTopic = e.WeightOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"C\") {\r\n tempWeightApplySubTopic = e.WeightLecturerOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"B\") {\r\n tempWeightApplySubTopic = e.WeightLecturer;\r\n } else if (\r\n this.FromLocal.PositionGroupID == \"A\" ||\r\n this.FromLocal.PositionGroupID == \"D\"\r\n ) {\r\n tempWeightApplySubTopic = e.WeightBoards;\r\n } else if (this.FromLocal.PositionGroupID == \"F\") {\r\n if (localStorage.getItem(\"Field\") == 1) {\r\n tempWeightApplySubTopic = e.WeightOfficer;\r\n } else {\r\n tempWeightApplySubTopic = e.WeightLecturer;\r\n }\r\n }\r\n this.state.Tooltip.push({\r\n ToppicId: e.ToppicId,\r\n SubToppicId: e.SubToppicId,\r\n SubSubToppicId: 0,\r\n Tooltip1TH: e.Tooltip1TH,\r\n Tooltip1EN: e.Tooltip1EN,\r\n Tooltip2TH: e.Tooltip2TH,\r\n Tooltip2EN: e.Tooltip2EN,\r\n Tooltip3TH: e.Tooltip3TH,\r\n Tooltip3EN: e.Tooltip3EN,\r\n Tooltip4TH: e.Tooltip4TH,\r\n Tooltip4EN: e.Tooltip4EN,\r\n Tooltip5TH: e.Tooltip5TH,\r\n Tooltip5EN: e.Tooltip5EN,\r\n WeightBoards: e.WeightBoards,\r\n WeightLecturer: e.WeightLecturer,\r\n WeightLecturerOfficer: e.WeightLecturerOfficer,\r\n WeightOfficer: e.WeightOfficer,\r\n //RUN: WeightCriteria เพื่อนำไปใช้ในการวางคะแนนแบบ Global\r\n WeightCriteria: tempWeightApplySubTopic,\r\n showRemark: false,\r\n //RUN: เพิ่ม field isCompetency เพื่อใช้ตรวจสอบการ ว่าเป็นการประเมินด้าน สมรรณถนะ 18/04/2021\r\n isCompetency: e.isCompetency,\r\n Remarks: \"\",\r\n });\r\n });\r\n var tempWeightApplySubSubTopic;\r\n this.initArrays.SubSubTopicArr.forEach((e) => {\r\n //RUN: เพิ่มcondition ตรวจสอบว่าเป็นตำแหน่งใดและนำไปใช้ในตัวแปรtemp เพื่อส่งเข้า array\r\n if (this.FromLocal.PositionGroupID == \"E\") {\r\n tempWeightApplySubSubTopic = e.WeightOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"C\") {\r\n tempWeightApplySubSubTopic = e.WeightLecturerOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"B\") {\r\n tempWeightApplySubSubTopic = e.WeightLecturer;\r\n } else if (\r\n this.FromLocal.PositionGroupID == \"A\" ||\r\n this.FromLocal.PositionGroupID == \"D\"\r\n ) {\r\n tempWeightApplySubSubTopic = e.WeightBoards;\r\n } else if (this.FromLocal.PositionGroupID == \"F\") {\r\n if (localStorage.getItem(\"Field\") == 1) {\r\n tempWeightApplySubSubTopic = e.WeightOfficer;\r\n } else {\r\n tempWeightApplySubSubTopic = e.WeightLecturer;\r\n }\r\n }\r\n this.state.Tooltip.push({\r\n ToppicId: e.ToppicId,\r\n SubToppicId: e.SubToppicId,\r\n SubSubToppicId: e.SubSubToppicId,\r\n Tooltip1TH: e.Tooltip1TH,\r\n Tooltip1EN: e.Tooltip1EN,\r\n Tooltip2TH: e.Tooltip2TH,\r\n Tooltip2EN: e.Tooltip2EN,\r\n Tooltip3TH: e.Tooltip3TH,\r\n Tooltip3EN: e.Tooltip3EN,\r\n Tooltip4TH: e.Tooltip4TH,\r\n Tooltip4EN: e.Tooltip4EN,\r\n Tooltip5TH: e.Tooltip5TH,\r\n Tooltip5EN: e.Tooltip5EN,\r\n WeightBoards: e.WeightBoards,\r\n WeightLecturer: e.WeightLecturer,\r\n WeightLecturerOfficer: e.WeightLecturerOfficer,\r\n WeightOfficer: e.WeightOfficer,\r\n //RUN: WeightCriteria เพื่อนำไปใช้ในการวางคะแนนแบบ Global\r\n WeightCriteria: tempWeightApplySubSubTopic,\r\n showRemark: false,\r\n //RUN: เพิ่ม field isCompetency เพื่อใช้ตรวจสอบการ ว่าเป็นการประเมินด้าน สมรรณถนะ 18/04/2021\r\n isCompetency: e.isCompetency,\r\n Remarks: \"\",\r\n });\r\n });\r\n //RUN ตัวนี้จำเป็นสำหรับการ Check ค่า Remark ถ้ามีให้แสดงด้วยแต่ถ้าเป็น default ต้องให้ไม่แสดง 16/04/2021\r\n this.AnsData.ansForm.forEach((e1) => {\r\n this.state.Tooltip.forEach((e2) => {\r\n if (\r\n e1.TopicId == e2.ToppicId &&\r\n e1.SubTopicId == e2.SubToppicId &&\r\n e1.SubSubTopicId == e2.SubSubToppicId\r\n ) {\r\n console.log('e2.', e2)\r\n console.log('e1.', e1)\r\n\r\n console.log('e2.ToppicId', e2.ToppicId)\r\n console.log('e1.TopicId', e1.TopicId)\r\n console.log('e1.SubTopicId ', e1.SubTopicId )\r\n console.log('e2.SubToppicId',e2.SubToppicId)\r\n console.log('e1.SubSubTopicId',e1.SubSubTopicId)\r\n console.log('e2.SubSubToppicId', e2.SubSubToppicId)\r\n\r\n e2.Remarks = e1.Remark;\r\n if (this.FromLocal.PositionID !== 19) {\r\n console.log('in cond 1',)\r\n\r\n if (e2.isCompetency == 0 && e1.Point !== 3) {\r\n console.log('in cond 2',)\r\n e2.showRemark = true;\r\n //RUN condition default ท่านผู้ช่วยรอง 30/04/2021\r\n } else if (e2.isCompetency == 1 \r\n && this.FromLocal.PositionID == 4 &&\r\n e1.Point !== 3) {\r\n console.log('in cond 2',)\r\n e2.showRemark = true;\r\n }\r\n //RUN 2022\r\n else if (e2.isCompetency == 1 \r\n && this.FromLocal.PositionID !== 4 &&\r\n e1.Point !== 3) {\r\n console.log('in cond 2 ',)\r\n e2.showRemark = true;\r\n }\r\n\r\n\r\n\r\n //RUN เพิ่ม condition การ default value\r\n } else {\r\n if (e2.isCompetency == 0 && e1.Point !== 3) {\r\n console.log('ii 1')\r\n e2.showRemark = true;\r\n } else if (e2.isCompetency == 1 && e1.Point !== 4 && e1.SubSubTopicId.toString() == '2') {\r\n console.log('ii 2')\r\n \r\n e2.showRemark = true;\r\n } else if (e2.isCompetency == 1 && e1.Point !== 3 && e1.SubSubTopicId.toString() !== '2') {\r\n console.log('ii 3')\r\n e2.showRemark = true;\r\n }\r\n }\r\n }\r\n });\r\n });\r\n this.AnsData.ansForm.forEach((e) => {\r\n this.AnsData.ansTotalClick.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n });\r\n });\r\n var temp = [];\r\n var temp2 = [];\r\n this.AnsData.ansTotalClick.forEach((e) => {\r\n if (this.AnsData.ansTotalClickTopic.length == 0) {\r\n this.AnsData.ansTotalClickTopic.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp = this.AnsData.ansTotalClickTopic.filter((e2) => {\r\n return e2.TopicId == e.TopicId;\r\n });\r\n if (temp.length == 0) {\r\n this.AnsData.ansTotalClickTopic.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n this.AnsData.ansTotalClickTopic.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalClick.forEach((e) => {\r\n if (e.SubSubTopicId > 0) {\r\n if (this.AnsData.ansTotalClickSubSubTopic.length == 0) {\r\n this.AnsData.ansTotalClickSubSubTopic.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp = this.AnsData.ansTotalClickSubSubTopic.filter((e2) => {\r\n return (\r\n e2.TopicId == e.TopicId && e2.SubTopicId == e.SubTopicId\r\n );\r\n });\r\n if (temp.length == 0) {\r\n this.AnsData.ansTotalClickSubSubTopic.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n this.AnsData.ansTotalClickSubSubTopic.forEach((e3) => {\r\n if (\r\n e3.TopicId == e.TopicId &&\r\n e3.SubTopicId == e.SubTopicId\r\n ) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n var total = 0;\r\n this.AnsData.ansTotalClickTopic.forEach((e) => {\r\n total = total + e.CalPoint;\r\n });\r\n\r\n this.AnsData.TotalCalculate = total;\r\n // //console.log(\"total\", total);\r\n // //console.log(\r\n // \"this.AnsData.ansTotalClickSubSubTosssspic\",\r\n // this.AnsData.ansTotalClickSubSubTopic\r\n // );\r\n //console.log('this.state.Toolstip.', this.state.Tooltip)\r\n console.log('sssssssssssssssssssssss', this.initArrays.InProgressForm)\r\n this.setState({ tableData: result });\r\n this.spinnerControl()\r\n\r\n });\r\n } else {\r\n }\r\n }\r\n\r\n spinnerControl() {\r\n this.setState({ spinner: !this.state.spinner })\r\n }\r\n\r\n testarrayDupFunction(ToppicId, SubToppicId, SubSubToppicId) {\r\n //console.log(\"testarrayDupFunction\");\r\n var tempDup = [];\r\n //RUN: ยัดใส่เป็น ToString ให้หมดเนื่องจากส่งไปsave กับ ส่งคืนมา มีค่าdatatype อิอัยยยยยยยยยย 16/04/2021\r\n var tempToppicId = ToppicId.toString();\r\n var tempSubToppicId = SubToppicId.toString();\r\n var tempSubSubToppicId = SubSubToppicId.toString();\r\n tempDup = this.AnsData.ansForm.filter((e) => {\r\n return (\r\n e.TopicId.toString() !== tempToppicId ||\r\n e.SubTopicId.toString() !== tempSubToppicId ||\r\n e.SubSubTopicId.toString() !== tempSubSubToppicId\r\n );\r\n });\r\n //console.log(\"tempDup\", tempDup);\r\n return tempDup;\r\n }\r\n\r\n // Run: ควบคุมการ Change ของ Button 08/04/2021\r\n handleChange = (\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n value,\r\n indexfromRen,\r\n parentIndex,\r\n // RUN: เพิ่ม isCompetency เพื่อทำการ ตรวจสอบ comtency 14/04/2021\r\n isCompetency,\r\n // RUN: เพิ่ม WeightCriteria เพื่อทำการ คำนวน Score 14/04/2021\r\n WeightCriteria\r\n ) => {\r\n console.log('in handle change')\r\n var temp = [];\r\n var tempcalPoint = 0;\r\n temp = this.AnsData.ansForm.filter((e) => {\r\n return (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n );\r\n });\r\n\r\n //RUN : Flow การคิดคะแนน ใหม่สำหรับ เชิง สมรรถนะ 24/04/2021\r\n if (isCompetency == 1) {\r\n if (this.FromLocal.PositionID > 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value >= \"3\") {\r\n //console.log('incondition 1 ')\r\n tempcalPoint = (parseFloat(WeightCriteria) / 5) * parseFloat(5);\r\n } else if (this.FromLocal.PositionID <= 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value >= \"4\") {\r\n //console.log('incondition 2 ')\r\n\r\n tempcalPoint = (parseFloat(WeightCriteria) / 5) * parseFloat(5);\r\n } else if (this.FromLocal.PositionID > 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value < \"3\") {\r\n //console.log('incondition 3 ')\r\n\r\n tempcalPoint = (parseFloat(WeightCriteria) / 3) * parseFloat(value);\r\n } else if (this.FromLocal.PositionID <= 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value < \"4\") {\r\n tempcalPoint = (parseFloat(WeightCriteria) / 4) * parseFloat(value);\r\n // RUN แก้condition ท่านรอง 55555555 30/04/2021\r\n } else if (this.FromLocal.PositionID == 4 &&\r\n value < \"3\") {\r\n tempcalPoint = (parseFloat(WeightCriteria) / 3) * parseFloat(value);\r\n } else if (this.FromLocal.PositionID == 4 &&\r\n value >= \"3\") {\r\n tempcalPoint = (parseFloat(WeightCriteria) / 5) * parseFloat(5);\r\n }\r\n\r\n } else {\r\n\r\n }\r\n //RUN : Flow การคิดคะแนน ใหม่สำหรับ เชิง สมรรถนะ 24/04/2021\r\n if (isCompetency == 0) {\r\n //console.log('incondition 4 ')\r\n\r\n tempcalPoint = (parseFloat(WeightCriteria) / 5) * parseFloat(value);\r\n }\r\n //RUN: condition สำหรับ ฝ่าย ศาสนกิจ\r\n if (\r\n this.FromLocal.PositionID == 19 &&\r\n SubSubToppicId.toString() == '2'\r\n ) {\r\n //console.log('incondition 5')\r\n\r\n if (value >= '4') {\r\n tempcalPoint = (parseFloat(WeightCriteria) / 5) * parseFloat(5);\r\n } else {\r\n tempcalPoint = (parseFloat(WeightCriteria) / 4) * parseFloat(value);\r\n }\r\n }\r\n\r\n\r\n //console.log(\"tempcalPoint\", tempcalPoint);\r\n if (temp.length == 0) {\r\n this.AnsData.ansForm.push({\r\n TopicId: ToppicId,\r\n SubTopicId: SubToppicId,\r\n SubSubTopicId: SubSubToppicId,\r\n Point: value, //ดึงคะแนนของหัวข้อมา\r\n Remark: \"\", //ดึงเหตุผลของหัวข้อมา\r\n // RUN: เพิ่ม WeightCriteria เพื่อทำการ คำนวน Score 14/04/2021\r\n CalPoint: tempcalPoint,\r\n isCompetency: isCompetency,\r\n });\r\n } else {\r\n this.AnsData.ansForm = this.testarrayDupFunction(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId\r\n );\r\n\r\n this.AnsData.ansForm.push({\r\n TopicId: ToppicId,\r\n SubTopicId: SubToppicId,\r\n SubSubTopicId: SubSubToppicId,\r\n Point: value, //ดึงคะแนนของหัวข้อมา\r\n Remark: \"\", //ดึงเหตุผลของหัวข้อมา\r\n // RUN: เพิ่ม WeightCriteria เพื่อทำการ คำนวน Score 14/04/2021\r\n CalPoint: tempcalPoint,\r\n isCompetency: isCompetency,\r\n });\r\n }\r\n //RUN: เพิ่ม Condition การตรวจสอบ PositionID ให้เปิด/ปิด Remark ถูกต้อง 14/04/2021\r\n if (isCompetency == 1) {\r\n if (\r\n this.FromLocal.PositionID > 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value !== \"3\"\r\n ) {\r\n // Run: setState ให้ render ใหม่ได้ถูกต้อง 08/04/2021\r\n //console.log(\"in if\");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n console.log('ddddd',showRemark)\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansForm.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n } //RUN: เพิ่ม Condition else if การตรวจสอบ PositionID ให้เปิด/ปิด Remark ถูกต้อง 14/04/2021\r\n else if (\r\n //RUN: แก้ condition 22/04/2021\r\n this.FromLocal.PositionID <= 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value !== \"4\"\r\n ) {\r\n //console.log(\"in else if\");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansForm.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n }\r\n\r\n //RUN เพิ่ม COndition ท่านรอง 30/04/2021\r\n else if (\r\n this.FromLocal.PositionID == '4' &&\r\n value !== \"3\") {\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansForm.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n }\r\n else {\r\n\r\n //console.log(\"in else \");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: false,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n }\r\n } else {\r\n if (\r\n value !== \"3\"\r\n ) {\r\n // Run: setState ให้ render ใหม่ได้ถูกต้อง 08/04/2021\r\n //console.log(\"in if\");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansForm.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n } //RUN: เพิ่ม Condition else if การตรวจสอบ PositionID ให้เปิด/ปิด Remark ถูกต้อง 14/04/2021\r\n else {\r\n //console.log(\"in else \");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: false,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n }\r\n }\r\n\r\n if (isCompetency == 1) {\r\n //console.log('in 1 ')\r\n if (\r\n this.FromLocal.PositionID == '19' &&\r\n SubSubToppicId.toString() == '2' &&\r\n value == \"4\"\r\n ) {\r\n //console.log('in 2 ')\r\n\r\n // Run: setState ให้ render ใหม่ได้ถูกต้อง 08/04/2021\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: false,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansForm.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n } //RUN: เพิ่ม Condition else if การตรวจสอบ PositionID ให้เปิด/ปิด Remark ถูกต้อง 14/04/2021\r\n else if (\r\n //RUN: แก้ condition 22/04/2021\r\n this.FromLocal.PositionID == '19' &&\r\n SubSubToppicId.toString() == '2' &&\r\n value == \"3\"\r\n ) {\r\n //console.log('in 3 ')\r\n\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansForm.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n }\r\n }\r\n //console.log('this.loaslcosssssssssssssssssssssssssssss', this.AnsData.ansForm)\r\n this.TotalClickPointTopicFunction(ToppicId, SubToppicId, SubSubToppicId);\r\n };\r\n\r\n // Run: เพิ่มการ handle Remark เวลาทำการ ป้อนข้อมูล 09/04/2021\r\n handleRemark = (ToppicId, SubToppicId, SubSubToppicId, Remarks) => {\r\n console.log('dddd in handleremark',)\r\n this.AnsData.ansForm.forEach((old) => {\r\n if (\r\n old.TopicId == ToppicId &&\r\n old.SubTopicId == SubToppicId &&\r\n old.SubSubTopicId == SubSubToppicId\r\n ) {\r\n old.Remark = Remarks;\r\n }\r\n });\r\n // Run: Set State ให้Remark 09/04/2021\r\n\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((RemarkValue, index) => {\r\n if (\r\n RemarkValue.SubToppicId == SubToppicId &&\r\n RemarkValue.SubSubToppicId == SubSubToppicId &&\r\n RemarkValue.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...RemarkValue,\r\n Remarks: Remarks,\r\n };\r\n } else {\r\n return {\r\n ...RemarkValue,\r\n };\r\n }\r\n }),\r\n }));\r\n };\r\n\r\n\r\n //RUN: เพิ่ม method getDefault เพื่อนำข้อมูลจาก savedraft เข้าไป set ค่าให้ 16/04/2021\r\n getDefaultScore(ToppicId, SubToppicId, SubSubToppicId) {\r\n console.log('dddd in getDefaultScore',)\r\n\r\n var tempArray = [];\r\n tempArray = this.AnsData.ansForm.filter((e) => {\r\n return (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n );\r\n });\r\n if (tempArray.length > 0) {\r\n return tempArray[0].Point;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n\r\n splicingTitle(title) {\r\n var newtext = \"\";\r\n newtext = title.replace(/[0-9]/g, \"\");\r\n newtext = newtext.replace(/[.]/g, \"\");\r\n if (this.state.language == 'TH') {\r\n newtext = newtext.replace(/\\s/g, \"\");\r\n }\r\n return newtext;\r\n }\r\n\r\n\r\n TotalClickPointTopicFunction(TopicId, SubTopicId, SubSubTopicId) {\r\n var tempArray = [];\r\n this.AnsData.ansForm.forEach((e) => {\r\n tempArray.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n isCompetency: e.isCompetency\r\n });\r\n });\r\n var temp = [];\r\n var temp2 = [];\r\n tempArray.forEach((e) => {\r\n if (temp2.length == 0) {\r\n temp2.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp = temp2.filter((e2) => {\r\n return e2.TopicId == e.TopicId;\r\n });\r\n if (temp.length == 0) {\r\n temp2.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp2.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalClickTopic = temp2;\r\n\r\n var temp3 = [];\r\n var temp4 = [];\r\n tempArray.forEach((e) => {\r\n if (e.SubSubTopicId > 0) {\r\n if (temp3.length == 0) {\r\n temp3.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp4 = temp3.filter((e2) => {\r\n return e2.TopicId == e.TopicId && e2.SubTopicId == e.SubTopicId;\r\n });\r\n if (temp4.length == 0) {\r\n temp3.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp3.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId && e3.SubTopicId == e.SubTopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalClickSubSubTopic = temp3;\r\n var total = 0;\r\n this.AnsData.ansTotalClickTopic.forEach((e) => {\r\n total = total + e.CalPoint;\r\n });\r\n\r\n this.AnsData.TotalCalculate = total;\r\n }\r\n\r\n\r\n decimalPointChange(item) {\r\n var temp = \"\";\r\n temp = item.toString();\r\n\r\n //console.log(\"temp\", temp);\r\n if (temp.includes(\".\")) {\r\n return parseFloat(item).toFixed(2);\r\n } else {\r\n return item;\r\n }\r\n }\r\n\r\n //Run: new Structure 09/04/2021\r\n renderTable() {\r\n //Run: เพิ่ม การแสดง cal คะแนน 14/04/2021\r\n // this.AnsData.ansTotalClickTopic\r\n // //console.log('this.ARRR', this.state.Tooltip)\r\n // //console.log('this.ini', this.initArrays.SubSubTopicArr)\r\n //console.log(\r\n // \"this.AnsData.ansTotalClickSubSubTopic\",\r\n // this.AnsData.ansTotalClickSubSubTopic\r\n // );\r\n\r\n const totalclickPointSubSubTopic = this.AnsData.ansTotalClickSubSubTopic.map(\r\n ({ TopicId, CalPoint, SubTopicId, SubSubTopicId }, Index) => (\r\n
    \r\n {/* {CalPoint} */}\r\n {this.decimalPointChange(CalPoint)}\r\n
    \r\n )\r\n );\r\n const totalclickpointTopic = this.AnsData.ansTotalClickTopic.map(\r\n ({ TopicId, CalPoint }, Index) => (\r\n
    \r\n {/* {CalPoint}\r\n */}\r\n {this.decimalPointChange(CalPoint)}\r\n
    \r\n )\r\n );\r\n const listCalScore = this.AnsData.ansForm.map(\r\n ({ TopicId, SubTopicId, SubSubTopicId, CalPoint }, Index) => (\r\n \r\n
    \r\n {/* {CalPoint} */}\r\n {this.decimalPointChange(CalPoint)}\r\n
    \r\n \r\n )\r\n );\r\n //Run: เพิ่ม listweight ของ topic หลัก 14/04/2021\r\n const listWeightsTotal = this.state.weight.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n WeightCriteria,\r\n IsMainTopic,\r\n },\r\n Index\r\n ) => (\r\n \r\n
    {WeightCriteria}
    \r\n \r\n )\r\n );\r\n //Run: เพิ่ม weight 14/04/2021\r\n const listofWeight = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip1TH,\r\n WeightCriteria,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {
    {WeightCriteria}
    }\r\n \r\n )\r\n );\r\n\r\n\r\n const listbuttonSubSubTopic = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip5TH,\r\n Tooltip4TH,\r\n Tooltip3TH,\r\n Tooltip2TH,\r\n Tooltip1TH,\r\n Tooltip5EN,\r\n Tooltip4EN,\r\n Tooltip3EN,\r\n Tooltip2EN,\r\n Tooltip1EN,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n Remarks,\r\n }, \r\n Counts\r\n ) => (\r\n \r\n \r\n {/* {console.log('ccccc')} */}\r\n {Tooltip1TH && SubSubToppicId > 0 && (\r\n {\r\n this.handleChange(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.value,\r\n Counts,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria\r\n );\r\n }}\r\n >\r\n \r\n {(localStorage.getItem(\"EmpId\") == 2639) && SubSubToppicId == 123 ? (\r\n
    \r\n \r\n 5\r\n \r\n \r\n 4\r\n \r\n \r\n 3\r\n \r\n \r\n 2\r\n \r\n \r\n 1\r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n 5\r\n \r\n \r\n 4\r\n \r\n \r\n 3\r\n \r\n \r\n 2\r\n \r\n \r\n 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 )\r\n );\r\n\r\n const listbuttonSubTopic = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip5TH,\r\n Tooltip4TH,\r\n Tooltip3TH,\r\n Tooltip2TH,\r\n Tooltip1TH,\r\n Tooltip5EN,\r\n Tooltip4EN,\r\n Tooltip3EN,\r\n Tooltip2EN,\r\n Tooltip1EN,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n Remarks,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH && SubSubToppicId == 0 && (\r\n {\r\n this.handleChange(\r\n ToppicId,\r\n SubToppicId,\r\n 0,\r\n e.target.value,\r\n Counts,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria\r\n );\r\n }}\r\n >\r\n \r\n \r\n 5\r\n \r\n \r\n 4\r\n \r\n \r\n 3\r\n \r\n \r\n 2\r\n \r\n \r\n 1\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n )\r\n );\r\n\r\n\r\n const listRemarkSubSubTopic = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip5TH,\r\n Tooltip4TH,\r\n Tooltip3TH,\r\n Tooltip2TH,\r\n Tooltip1TH,\r\n Tooltip5EN,\r\n Tooltip4EN,\r\n Tooltip3EN,\r\n Tooltip2EN,\r\n Tooltip1EN,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n Remarks,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH && SubSubToppicId > 0 && showRemark == true && (\r\n (localStorage.getItem(\"EmpId\") == 2639) && SubSubToppicId == 123 ? (\r\n
    \r\n\r\n
    \r\n ) : (\r\n {\r\n this.handleRemark(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.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 const listRemarkSubTopic = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip5TH,\r\n Tooltip4TH,\r\n Tooltip3TH,\r\n Tooltip2TH,\r\n Tooltip1TH,\r\n Tooltip5EN,\r\n Tooltip4EN,\r\n Tooltip3EN,\r\n Tooltip2EN,\r\n Tooltip1EN,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n Remarks,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH && SubSubToppicId == 0 && (\r\n {\r\n this.handleChange(\r\n ToppicId,\r\n SubToppicId,\r\n 0,\r\n e.target.value,\r\n Counts,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria\r\n );\r\n }}\r\n >\r\n {/* \r\n \r\n 5\r\n \r\n \r\n 4\r\n \r\n \r\n 3\r\n \r\n \r\n 2\r\n \r\n \r\n 1\r\n \r\n */}\r\n \r\n )}\r\n {Tooltip1TH && SubSubToppicId == 0 && showRemark == true && (\r\n {\r\n this.handleRemark(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.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 const listSubSubTopics = this.initArrays.SubSubTopicArr.map(\r\n (\r\n {\r\n TitleTH,\r\n TitleEN,\r\n SubToppicId,\r\n ToppicId,\r\n SubSubToppicId,\r\n DescriptionTH,\r\n DescriptionEN,\r\n },\r\n Indexes\r\n ) => (\r\n \r\n \r\n {this.state.language == 'TH' ?\r\n \r\n

    \r\n\r\n {TitleTH} \r\n {DescriptionTH}\r\n

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

    \r\n\r\n {TitleEN} \r\n {DescriptionEN}\r\n

    \r\n \r\n\r\n }\r\n {/* Run: เพิ่มการใส่ น้ำหนักคะแนน 14/04/2021 */}\r\n \r\n {listofWeight.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n \r\n\r\n \r\n {listbuttonSubSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\" &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n \r\n {/* Run: เพิ่มการใส่ คะแนน Cal 14/04/2021 */}\r\n \r\n {listCalScore.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n \r\n
    \r\n\r\n {/* {เพิ่ม div remark} */}\r\n\r\n\r\n
    \r\n {listRemarkSubSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\" &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n
    \r\n\r\n\r\n \r\n )\r\n );\r\n\r\n const listSubTopics = this.initArrays.SubTopicArr.map(\r\n (\r\n {\r\n TitleTH,\r\n TitleEN,\r\n SubToppicId,\r\n ToppicId,\r\n SubSubToppicId,\r\n DescriptionTH,\r\n DescriptionEN,\r\n },\r\n Index\r\n ) => (\r\n \r\n \r\n \r\n {this.state.language == 'TH' ?\r\n \r\n

    \r\n {TitleTH} {DescriptionTH}\r\n

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

    \r\n {TitleEN} {DescriptionEN}\r\n

    \r\n \r\n\r\n }\r\n {/* Run: เพิ่มการใส่ น้ำหนักคะแนน 14/04/2021 */}\r\n \r\n {listofWeight.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0\r\n );\r\n })}\r\n \r\n \r\n {listbuttonSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\"\r\n );\r\n })}\r\n \r\n {/* Run: เพิ่มการ ใส่ คะแนน Cal 14/04/2021*/}\r\n \r\n {listCalScore.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0\r\n );\r\n })}\r\n \r\n
    \r\n\r\n {/* {เพิ่ม div remark} */}\r\n\r\n\r\n
    \r\n {listRemarkSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\"\r\n );\r\n })}\r\n
    \r\n\r\n\r\n \r\n\r\n
    \r\n {listSubSubTopics.filter((e) => {\r\n return e.props.SubIDs == SubToppicId;\r\n })}\r\n
    \r\n\r\n
    \r\n \r\n {DescriptionTH == \"\" && this.state.language == 'TH' ? (\r\n \r\n

    รวม{this.splicingTitle(TitleTH)}

    \r\n \r\n ) :\r\n null\r\n }\r\n {DescriptionTH == \"\" && this.state.language == 'EN' ? (\r\n \r\n

    {this.splicingTitle(TitleEN)} Total

    \r\n \r\n ) :\r\n null\r\n }\r\n {DescriptionTH == \"\" ? (\r\n \r\n {listofWeight.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0\r\n );\r\n })}\r\n \r\n ) : null}\r\n \r\n {DescriptionTH == \"\" ? (\r\n \r\n {totalclickPointSubSubTopic.filter((e) => {\r\n return (\r\n e.props.TopicId == ToppicId &&\r\n e.props.SubTopicId == SubToppicId\r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n )\r\n );\r\n\r\n\r\n\r\n const titleTopic = this.initArrays.TopicsArr.map(\r\n ({ ToppicId, TitleTH, TitleEN }, Order) => (\r\n
    \r\n {this.state.language == 'TH' ?\r\n
    \r\n รวม{this.splicingTitle(TitleTH)}\r\n
    :\r\n
    \r\n {this.splicingTitle(TitleEN)} Total\r\n
    \r\n }\r\n
    \r\n )\r\n );\r\n\r\n\r\n const listItems = this.initArrays.TopicsArr.map(\r\n ({ ToppicId, TitleTH, TitleEN, DescriptionTH, DescriptionEN }, Order) => (\r\n
    \r\n
    \r\n \r\n {this.state.language == 'TH' ?\r\n \r\n

    \r\n {TitleTH} \r\n {DescriptionTH}\r\n

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

    \r\n {TitleEN} \r\n {DescriptionEN}\r\n

    \r\n \r\n }\r\n \r\n {/* Run: เพิ่มการ ใส่ น้ำหนักคะแนนสำหรับ Topic 14/04/2021*/}\r\n\r\n {listWeightsTotal.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == 0 &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0 &&\r\n e.props.IsMainTopic\r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {listSubTopics.filter((e) => {\r\n return e.props.ToppicID == ToppicId;\r\n })}\r\n
    \r\n
    \r\n \r\n \r\n

    \r\n {titleTopic.filter((e) => {\r\n return e.props.relateTopicID == ToppicId;\r\n })}\r\n

    \r\n \r\n\r\n \r\n {listWeightsTotal.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == 0 &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0 &&\r\n e.props.IsMainTopic\r\n );\r\n })}\r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n {totalclickpointTopic.filter((e) => {\r\n return e.props.relateTopicID == ToppicId;\r\n })}\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 \r\n {this.state.language == 'TH' ?\r\n \r\n เกณฑ์การประเมินผล \r\n น้ำหนักคะแนน \r\n ระดับคะแนน \r\n คะแนน \r\n \r\n :\r\n \r\n Criteria \r\n Score weight \r\n Score \r\n Total \r\n \r\n }\r\n
    \r\n\r\n
    {listItems}
    \r\n \r\n \r\n \r\n

    \r\n {this.state.language == 'TH' ?\r\n รวมคะแนนที่ได้\r\n :\r\n Total Score\r\n\r\n }\r\n

    \r\n \r\n \r\n 100\r\n \r\n\r\n \r\n \r\n \r\n {this.decimalPointChange(this.AnsData.TotalCalculate)}\r\n \r\n
    \r\n \r\n \r\n );\r\n }\r\n\r\n renderHeader() {\r\n return (\r\n
    \r\n {this.state.language == 'TH' ?\r\n
    \r\n

    \r\n แบบฟอร์มประเมินผลการปฎิบัติงานของบุคลากรมหาวิทยาลัยพายัพ\r\n ประจำปีการศึกษา 2564\r\n

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

    \r\n Performance Evaluation of Payap University for\r\n the 2021 Academic Year\r\n

    \r\n
    \r\n\r\n }\r\n\r\n \r\n {this.state.language == 'TH' ?\r\n \r\n

    \r\n\r\n ชื่อ - สกุล \r\n {\" \" + localStorage.getItem(\"TitleTH\") +\r\n localStorage.getItem(\"FirstNameTH\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameTH\")}\r\n\r\n

    \r\n

    \r\n รหัสบุคลากร {localStorage.getItem(\"EmpId\")}\r\n

    \r\n

    \r\n สถานะ {localStorage.getItem(\"GroupPositionNAME\")}\r\n

    \r\n {/*

    \r\n วันเริ่มเข้างาน{\" \"}\r\n {\" \" + moment(localStorage.getItem(\"StartJob\")).format(\"DD/MM/YYYY\")}\r\n

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

    \r\n\r\n Firstname - Lastname \r\n {\" \" + localStorage.getItem(\"TitleEN\") + \" \" +\r\n localStorage.getItem(\"FirstNameEN\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameEN\")}\r\n\r\n

    \r\n

    \r\n Personnel Code {localStorage.getItem(\"EmpId\")}\r\n

    \r\n

    \r\n Status {localStorage.getItem(\"GroupPositionNameEN\")}\r\n

    \r\n {/*

    \r\n Start Date\r\n {\" \" +\r\n moment(localStorage.getItem(\"StartJob\")).format(\"DD/MM/YYYY\")}\r\n

    */}\r\n \r\n }\r\n {this.state.language == 'TH' ?\r\n \r\n

    \r\n ตำแหน่ง {localStorage.getItem(\"PositionNameTH\")}\r\n

    \r\n

    \r\n สังกัดฝ่าย {localStorage.getItem(\"DepartmentTH\")}\r\n

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

    \r\n Position {localStorage.getItem(\"PositionNameEN\")}\r\n

    \r\n

    \r\n Department {localStorage.getItem(\"DepartmentEN\")}\r\n

    \r\n \r\n }\r\n
    \r\n\r\n\r\n\r\n
    \r\n );\r\n }\r\n\r\n handleSaveDraft = (ansSaveData, tableForm) => {\r\n tableForm.forEach((element) => {\r\n element.AnsForm = ansSaveData;\r\n element.SubSubTopics = [];\r\n element.SubTopics = [];\r\n element.Topics = [];\r\n });\r\n\r\n //console.log(\"tableForm\", tableForm);\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveForm\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n assessor: localStorage.getItem(\"EmpId\"),\r\n buttonaction: \"1\",\r\n jsonans: tableForm,\r\n formtypeid: \"1\"\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n //console.log(\"save draft result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n\r\n if (this.state.language == 'TH') {\r\n this.dialog.WarningDialog('บันทึกร่างไม่สำเร็จ')\r\n } else {\r\n this.dialog.WarningDialog('Unable to Save Draft')\r\n }\r\n } else {\r\n\r\n // alert(\"บันทึกร่างสำเร็จ\");\r\n // window.location.href = \"/workform\";\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == 'TH') {\r\n this.dialog.SuccessDialog('บันทึกร่างสำเร็จ', '/workform')\r\n localStorage.removeItem(\"selfEvalStatus\");\r\n localStorage.setItem(\"selfEvalStatus\", \"2\");\r\n } else {\r\n this.dialog.SuccessDialog('Save Draft Success', '/workform')\r\n localStorage.removeItem(\"selfEvalStatus\");\r\n localStorage.setItem(\"selfEvalStatus\", \"2\");\r\n }\r\n }\r\n\r\n\r\n });\r\n };\r\n\r\n\r\n //RUN: เพิ่มการนำตัวแปรเข้า handlesubmit 11/04/2012\r\n handleSubmit = (ansSaveData, tableForm, countTotalRequire) => {\r\n //RUN: ตรวจสอบ condition ว่ามีค่าจำนวน ans เท่ากับ form หรือไม่ 11/04/2012\r\n var tempArray = [];\r\n var tempArrayRemarkvalidation = [];\r\n\r\n tableForm.forEach((element) => {\r\n element.AnsForm = ansSaveData;\r\n element.SubSubTopics = [];\r\n element.SubTopics = [];\r\n element.Topics = [];\r\n });\r\n tempArray = countTotalRequire.filter((e) => {\r\n return e.Tooltip1TH !== \"\";\r\n });\r\n //RUN: เพิ่ม condition การ remark ครับผม สำหรับ เจ้าหน้าที่ ศาสนกิจ 24/04/2021\r\n tempArrayRemarkvalidation = ansSaveData.filter((e) => {\r\n if (e.isCompetency == 0) {\r\n if (e.Point.toString() !== '3') {\r\n if (localStorage.getItem(\"EmpId\") == 2639) {\r\n\r\n } else {\r\n\r\n //console.log('1')\r\n return e.Remark == \"\"\r\n }\r\n\r\n\r\n }\r\n } else if (e.isCompetency == 1 && this.FromLocal.PositionID !== 19) {\r\n //console.log('2')\r\n if (this.FromLocal.PositionID > 6 &&\r\n this.FromLocal.PositionID !== 4 && e.Point.toString() !== '3') {\r\n //console.log('3')\r\n\r\n return e.Remark == \"\"\r\n } else if (e.isCompetency == 1 && this.FromLocal.PositionID <= 6 &&\r\n this.FromLocal.PositionID !== 4 && e.Point.toString() !== '4') {\r\n //console.log('4')\r\n\r\n return e.Remark == \"\"\r\n } else if (e.isCompetency == 1 && this.FromLocal.PositionID == 4\r\n && e.Point.toString() !== '3') {\r\n\r\n\r\n return e.Remark == \"\"\r\n }\r\n } else if (this.FromLocal.PositionID == 19 && e.isCompetency == 1) {\r\n //console.log('5')\r\n\r\n if (e.SubSubTopicId.toString() == '2' && e.Point.toString() !== '4' && e.isCompetency == 1) {\r\n //console.log('6')\r\n\r\n return e.Remark == \"\"\r\n } else if (e.SubSubTopicId.toString() !== '2' && e.Point.toString() !== '3' && e.isCompetency == 1) {\r\n //console.log('7')\r\n\r\n return e.Remark == \"\"\r\n }\r\n }\r\n\r\n // //(e.isCompetency == 1 &&this.FromLocal.PositionID > 6 &&\r\n // this.FromLocal.PositionID !== 4 && e.Point.toString() !== '3'){\r\n // if(this.FromLocal.PositionID == 19 && e.SubSubTopicId.toString() == '2'){\r\n // //console.log('in 1')\r\n // return null\r\n // }else{\r\n // //console.log('in 2')\r\n\r\n // return e.Remark == \"\"\r\n // }\r\n // }else if (e.isCompetency == 1 && this.FromLocal.PositionID <= 6 &&\r\n // this.FromLocal.PositionID !== 4 && e.Point.toString() !== '4' ){\r\n // if(this.FromLocal.PositionID == 19 && e.SubSubTopicId.toString() == '2'){\r\n // //console.log('in 3')\r\n // return null\r\n // }else{\r\n // //console.log('in 4')\r\n\r\n // return e.Remark == \"\"\r\n // }\r\n // }else if (e.SubSubTopicId.toString() == '2' && this.FromLocal.PositionID == 19 && \r\n // e.Point.toString() !== '4'){\r\n // //console.log('in 5')\r\n\r\n // return e.Remark == \"\"\r\n // }\r\n });\r\n //console.log('tempArrayRemarkvalidation', tempArrayRemarkvalidation)\r\n //console.log('ansform', ansSaveData)\r\n\r\n\r\n //RUN: ใช้ Condition Nested If ให้เข้า Condition ให้ถูกต้อง และ แสดง error ขึ้นมาตามลำดับ 11/04/2021\r\n if (ansSaveData.length == tempArray.length) {\r\n\r\n if (tempArrayRemarkvalidation.length == 0) {\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveForm\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n assessor: localStorage.getItem(\"EmpId\"),\r\n buttonaction: \"2\",\r\n jsonans: tableForm,\r\n formtypeid: \"1\"\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n //console.log(\"submit result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n\r\n if (this.state.language == 'TH') {\r\n this.dialog.WarningDialog(\r\n 'บันทึกไม่สำเร็จ')\r\n } else {\r\n this.dialog.WarningDialog(\r\n 'Unable to Save')\r\n }\r\n } else {\r\n // alert(\"บันทึกสำเร็จ\");\r\n // window.location.href = \"/workform\";\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == 'TH') {\r\n this.dialog.SuccessDialog('บันทึกสำเร็จ', '/workform')\r\n\r\n localStorage.removeItem(\"selfEvalStatus\");\r\n localStorage.setItem(\"selfEvalStatus\", \"3\");\r\n } else {\r\n this.dialog.SuccessDialog('Save Success', '/workform')\r\n localStorage.removeItem(\"selfEvalStatus\");\r\n localStorage.setItem(\"selfEvalStatus\", \"3\");\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\n });\r\n } else {\r\n // alert(\r\n // \"บันทึกไม่สำเร็จ ข้อมูลเหตุผลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\"\r\n // );\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == 'TH') {\r\n this.dialog.WarningDialog(\r\n 'บันทึกไม่สำเร็จ ข้อมูลเหตุผลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน')\r\n } else {\r\n this.dialog.WarningDialog(\r\n 'Unable to save due to incomplete remark. Please check your assessment informations.')\r\n }\r\n\r\n }\r\n } else {\r\n // alert(\"บันทึกไม่สำเร็จ ข้อมูลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == 'TH') {\r\n this.dialog.WarningDialog(\r\n 'บันทึกไม่สำเร็จ ข้อมูลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน')\r\n } else {\r\n this.dialog.WarningDialog(\r\n 'Unable to save due to incomplete data. Please check your assessment informations.')\r\n }\r\n }\r\n };\r\n\r\n\r\n render() {\r\n //RUN ตอนนี้ใช้ Solution เปิดหน้า >= กับ <=\r\n // if (moment(localStorage.getItem(\"selfEvalEndDate\")).format(\"DD/MM/YYYY\") >= moment(Date.now()).format(\"DD/MM/YYYY\") || localStorage.getItem(\"selfEvalStatusBackState\") == 1) {\r\n if (moment(\"2022-04-24\").format(\"DD/MM/YYYY\") > moment(\"2022-04-25\").format(\"DD/MM/YYYY\") || localStorage.getItem(\"selfEvalStatusBackState\") == 1) {\r\n return (\r\n
    \r\n \r\n\r\n {/* */}\r\n window.history.back()}\r\n title={this.state.language == 'TH' ? this.state.titleTH : this.state.titleEN}\r\n />\r\n\r\n\r\n {this.renderHeader()}\r\n\r\n
    \r\n {this.renderTable()}\r\n
    \r\n {this.state.language == 'TH' ?\r\n {\r\n this.handleSaveDraft(\r\n this.AnsData.ansForm,\r\n this.state.tableData\r\n );\r\n }}\r\n >\r\n บันทึกร่าง\r\n \r\n :\r\n {\r\n this.handleSaveDraft(\r\n this.AnsData.ansForm,\r\n this.state.tableData\r\n );\r\n }}\r\n >\r\n Draft\r\n \r\n }\r\n {this.state.language == 'TH' ?\r\n {\r\n this.handleSubmit(\r\n this.AnsData.ansForm,\r\n this.state.tableData,\r\n //RUN: เพิ่มการนำตัวแปรเข้า handlesubmit 11/04/2012\r\n this.state.Tooltip\r\n );\r\n }}\r\n >\r\n\r\n ส่งข้อมูล\r\n\r\n \r\n :\r\n {\r\n this.handleSubmit(\r\n this.AnsData.ansForm,\r\n this.state.tableData,\r\n //RUN: เพิ่มการนำตัวแปรเข้า handlesubmit 11/04/2012\r\n this.state.Tooltip\r\n );\r\n }}\r\n >\r\n\r\n Submit\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 }\r\n\r\n }\r\n}\r\n\r\nexport default SelfEvalutionScreen;\r\n","import React from \"react\";\r\n\r\n//import dom\r\nimport { BrowserRouter as Router, Link, Switch } from \"react-router-dom\";\r\n\r\n//impotr libs\r\nimport { PageHeader, Tag, Table, Select, Tooltip } from \"antd\";\r\nimport Column from \"antd/lib/table/Column\";\r\nimport { EditOutlined } from \"@ant-design/icons\";\r\n\r\nimport \"../shared/css/list-page.css\";\r\nimport \"../shared/css/headerpages.css\";\r\nimport { getTableService } from \"../services/table-helper.service\";\r\n\r\n\r\n\r\nconst data = [\r\n {\r\n key: 1,\r\n word:\r\n \"1.แบบประเมินนี้เป็นการประเมินภาวะผู้นำและการบริหารตามหลักธรรมาภิบาลของผู้บริหาร\",\r\n wordEN:\r\n \"1. This form is used to evaluate the leadership and administrative capacity of Payap’s administrators in accordance with principles of good governance. \",\r\n },\r\n {\r\n key: 2,\r\n word:\r\n \"2. ผลการประเมินที่ได้จะนำไปใช้สำหรับเป็นข้อมูลเพื่อพัฒนาภาวะผู้นำและการบริหารจัดการตามหลักธรรมาภิบาลของผู้บริหาร\",\r\n wordEN:\r\n \"2. The information received will be used to develop the leadership and administrative capabilities of Payap’s administrators in accordance with principles of good governance.\",\r\n },\r\n {\r\n key: 3,\r\n word:\r\n \"3. กรณีที่มีการเปลี่ยนแปลงผู้บริหาร ขอให้ท่านทำการประเมินภาวะผู้นำและการบริหารตามหลักธรรมาภิบาลของผู้บริหาร ที่ปรากฏรายชื่อในระบบประเมินของท่าน โดยประเมินเฉพาะระยะเวลาที่ผู้บริหารท่านนั้นดำรงตำแหน่ง\",\r\n wordEN:\r\n \"3. In case of administrators changed, please evaluate the leadership and administrative capabilities of Payap’s administrators as the indicated name in the evaluation form in accordance with the time was served. \",\r\n },\r\n {\r\n key: 3,\r\n word:\r\n \"4. คำชี้แจงในการตอบ: ให้ประเมินระดับความคิดเห็นของท่านที่มีต่อภาวะผู้นำและการบริหาร ตามหลักธรรมาภิบาลของผู้บริหาร โดยทำการเลือกระดับความคิดเห็นในช่องที่กำหนด ซึ่งมีความหมายของระดับความคิดเห็น ดังนี้ \",\r\n wordEN:\r\n \"4. Instructions for completing the form: Please give your opinion about the leadership and administrative capabilities in accordance with principles of good governance – please put a check in the box that most expresses your agreement with the statement as it pertains to the administrator.  The meaning of the levels of agreement: \",\r\n },\r\n];\r\n\r\nconst getRowKey = (record) => {\r\n return `${record.LeaderId}`;\r\n};\r\n\r\nexport default class LeaderScreen extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.inputRef = React.createRef();\r\n \r\n this.state = {\r\n language: localStorage.getItem(\"Language\"),\r\n titleTH: \"แบบประเมินภาวะผู้นำและการบริหารตามหลักธรรมาภิบาลของผู้บริหารมหาวิทยาลัยพายัพประจำปีการศึกษา 2564\",\r\n titleEN:\r\n \"Appraisal of administrators on their leadership and administrative capacity in accordance with principles of good governance for the Academic Year 2564 \",\r\n EmpListDatasource: [],\r\n SectorListDatasource: [],\r\n Columns: [],\r\n ColumnsDatasourceTH: [],\r\n ColumnsDatasourceEN: [],\r\n PositionList: [],\r\n query: \"\",\r\n results: [],\r\n selectedRowKeys: null,\r\n };\r\n\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n console.log('nextProps',nextProps)\r\n this.setState({language: nextProps.lang})\r\n localStorage.setItem(\"Language\", nextProps.lang);\r\n }\r\n\r\n\r\n\r\n componentDidMount() {\r\n console.log(\"componentRef\", this.inputRef);\r\n \r\n getTableService(\"leader-form\").then((result) => {\r\n var table = [];\r\n result.forEach((e) => {\r\n this.state.Columns = e.TableColumn;\r\n });\r\n\r\n console.log(\"this.state.Columns\", this.state.Columns);\r\n\r\n this.state.Columns.forEach((e) => {\r\n console.log(\"ColumnKeyTH\", e.ColumnKeyTH);\r\n if ( e.ColumnKeyTH !== \"LeaderEvalStatus\" ) {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n });\r\n } else if (e.ColumnKeyTH == \"LeaderEvalStatus\") {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record, index) => {\r\n console.log(\"record\", index);\r\n if (e == 3) {\r\n return (\r\n
    \r\n \r\n ประเมินผู้บังคับบัญชาสำเร็จ\r\n \r\n
    \r\n );\r\n } else if (e == 1) {\r\n return (\r\n
    \r\n \r\n ยังไม่ได้ประเมินผู้บังคับบัญชา\r\n \r\n \r\n \r\n this.assessSubInfo(record)}\r\n style={{ fontSize: \"15px\", color: \"#5399ff\" }}\r\n />\r\n \r\n \r\n
    \r\n );\r\n } else if (e == 2) {\r\n return (\r\n
    \r\n \r\n กำลังประเมินผู้บังคับบัญชา\r\n \r\n \r\n \r\n this.assessSubInfo(record)}\r\n style={{ fontSize: \"15px\", color: \"#5399ff\" }}\r\n />\r\n \r\n \r\n\r\n
    \r\n );\r\n }\r\n },\r\n });\r\n }\r\n });\r\n\r\n this.setState({\r\n ColumnsDatasourceTH: this.state.ColumnsDatasourceTH.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n });\r\n\r\n\r\n // conlumns eng\r\n this.state.Columns.forEach((e) => {\r\n console.log(\"ColumnKeyEN\", e.ColumnKeyEN);\r\n\r\n if ( e.ColumnKeyEN !== \"LeaderEvalStatus\" ) {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n });\r\n } else if (e.ColumnKeyEN == \"LeaderEvalStatus\") {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record, index) => {\r\n console.log(\"record\", index);\r\n if (e == 3) {\r\n return (\r\n
    \r\n \r\n Success\r\n \r\n
    \r\n );\r\n } else if (e == 1) {\r\n return (\r\n
    \r\n \r\n No Record\r\n \r\n \r\n \r\n this.assessSubInfo(record)}\r\n style={{ fontSize: \"15px\", color: \"#5399ff\" }}\r\n />\r\n \r\n \r\n
    \r\n );\r\n } else if (e == 2) {\r\n return (\r\n
    \r\n \r\n In Progress\r\n \r\n \r\n \r\n this.assessSubInfo(record)}\r\n style={{ fontSize: \"15px\", color: \"#5399ff\" }}\r\n />\r\n \r\n \r\n\r\n
    \r\n );\r\n }\r\n },\r\n });\r\n }\r\n });\r\n\r\n this.setState({\r\n ColumnsDatasourceEN: this.state.ColumnsDatasourceEN.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n });\r\n\r\n\r\n });\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getLeader\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"result\", result);\r\n result.forEach((element) => {\r\n this.state.EmpListDatasource = element.LeaderList;\r\n });\r\n \r\n this.setState({\r\n EmpListDatasource: this.state.EmpListDatasource,\r\n });\r\n console.log(\r\n \"this.state.ColumnsDatasourceTH\",\r\n this.state.ColumnsDatasourceTH\r\n );\r\n console.log(\r\n \"this.state.EmpListDatasource\",\r\n this.state.EmpListDatasource\r\n );\r\n\r\n });\r\n }\r\n\r\n\r\n assessSubInfo(record) {\r\n console.log('record', record)\r\n console.log('record.LeaderId', record.LeaderId)\r\n }\r\n\r\n positionPopper(positionName) {\r\n var tempDup = [];\r\n tempDup = this.state.PositionList.filter((e) => {\r\n return positionName !== e.PositionNameTH;\r\n });\r\n return tempDup;\r\n }\r\n\r\n\r\n setRowKey(record) {\r\n const selectedRowKey = getRowKey(record);\r\n console.log(selectedRowKey, typeof selectedRowKey);\r\n this.setState({ selectedRowKey });\r\n }\r\n \r\n\r\n renderTable() {\r\n return (\r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n เห็นด้วยมากที่สุด \r\n \r\n เห็นด้วยมาก \r\n \r\n เห็นด้วยปานกลาง \r\n \r\n เห็นด้วยน้อย \r\n \r\n เห็นด้วยน้อยที่สุด \r\n
    \r\n Strongly Agree \r\n \r\n Agree \r\n \r\n Neutral \r\n \r\n Disagree \r\n \r\n Strongly Disagree \r\n
    5 4 3 2 1
    \r\n );\r\n }\r\n\r\n\r\n renderContentTH() {\r\n const { EmpListDatasource, ColumnsDatasourceTH } = this.state;\r\n\r\n var EmpListRequired = EmpListDatasource.filter((element) => element.required == \"1\")\r\n var EmpListRequiredCount1 = EmpListRequired.filter((element) => element.LeaderEvalStatus == '1')\r\n var EmpListRequiredCount = EmpListRequired.filter((element) => element.LeaderEvalStatus == '3')\r\n var EmpListNotRequired = EmpListDatasource.filter((element) => element.required == \"2\")\r\n\r\n // console.log('EmpListNotRequired', EmpListNotRequired)\r\n // console.log('EmpListRequiredCount1', EmpListRequiredCount1)\r\n // console.log('EmpListRequired', EmpListRequired)\r\n\r\n EmpListRequired.length == EmpListRequiredCount1.length? localStorage.setItem('leadershipEvalStatus', 1) : localStorage.setItem('leadershipEvalStatus', 2);\r\n\r\n if(EmpListRequired.length == EmpListRequiredCount.length){\r\n localStorage.setItem('leadershipEvalStatus', 3)\r\n }\r\n\r\n \r\n return (\r\n
    \r\n\r\n window.history.back()}\r\n title={this.state.language == 'TH' ? this.state.titleTH : this.state.titleEN}\r\n />\r\n\r\n
    \r\n {this.state.language == \"TH\" ? (\r\n
    \r\n

    \r\n {this.state.titleTH}\r\n

    \r\n\r\n
    \r\n {data.map(({ key, word }) => {\r\n return

    {word}

    ;\r\n })}\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n

    \r\n {this.state.titleEN}\r\n

    \r\n
    \r\n {data.map(({ key, wordEN }) => {\r\n return

    {wordEN}

    ;\r\n })}\r\n
    \r\n
    \r\n )}\r\n\r\n
    {this.renderTable()}
    \r\n \r\n\r\n {/* render required table */}\r\n
    \r\n

    ผู้บริหารที่ต้องประเมิน

    \r\n getRowKey(record)}\r\n rowClassName={(record) =>\r\n getRowKey(record) === this.state.selectedRowKey\r\n ? \"highlighted-selection\"\r\n : \"\"\r\n }\r\n onRow={(record) => {\r\n return {\r\n onClick: () => {\r\n this.setState({ visible: true });\r\n this.setRowKey(record);\r\n },\r\n };\r\n }}\r\n pagination={false}\r\n >\r\n \r\n \r\n
    \r\n\r\n\r\n {/* render not required */}\r\n {EmpListNotRequired.length !== 0? \r\n
    \r\n

    ผู้บริหารที่เกี่ยวข้องในสายงาน (สามารถเลือกประเมินได้)

    \r\n getRowKey(record)}\r\n rowClassName={(record) =>\r\n getRowKey(record) === this.state.selectedRowKey\r\n ? \"highlighted-selection\"\r\n : \"\"\r\n }\r\n onRow={(record) => {\r\n return {\r\n onClick: () => {\r\n this.setState({ visible: true });\r\n this.setRowKey(record);\r\n },\r\n };\r\n }}\r\n pagination={false}\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 renderContentEN() {\r\n const { EmpListDatasource, ColumnsDatasourceEN, PositionList } = this.state;\r\n\r\n var EmpListRequired = EmpListDatasource.filter((element) => element.required == \"1\")\r\n var EmpListRequiredCount1 = EmpListRequired.filter((element) => element.LeaderEvalStatus == '1')\r\n var EmpListRequiredCount = EmpListRequired.filter((element) => element.LeaderEvalStatus == '3')\r\n var EmpListNotRequired = EmpListDatasource.filter((element) => element.required == \"2\")\r\n\r\n // console.log('EmpListNotRequired', EmpListNotRequired)\r\n // console.log('EmpListRequiredCount1', EmpListRequiredCount1)\r\n // console.log('EmpListRequired', EmpListRequired)\r\n\r\n EmpListRequired.length == EmpListRequiredCount1.length? localStorage.setItem('leadershipEvalStatus', 1) : localStorage.setItem('leadershipEvalStatus', 2);\r\n\r\n if(EmpListRequired.length == EmpListRequiredCount.length){\r\n localStorage.setItem('leadershipEvalStatus', 3)\r\n }\r\n \r\n return (\r\n
    \r\n\r\n window.history.back()}\r\n title={this.state.language == 'TH' ? this.state.titleTH : this.state.titleEN}\r\n />\r\n\r\n
    \r\n {this.state.language == \"TH\" ? (\r\n
    \r\n

    \r\n {this.state.titleTH}\r\n

    \r\n\r\n
    \r\n {data.map(({ key, word }) => {\r\n return

    {word}

    ;\r\n })}\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n

    \r\n {this.state.titleEN}\r\n

    \r\n
    \r\n {data.map(({ key, wordEN }) => {\r\n return

    {wordEN}

    ;\r\n })}\r\n
    \r\n
    \r\n )}\r\n\r\n
    {this.renderTable()}
    \r\n \r\n \r\n \r\n {/* render required table */}\r\n
    \r\n

    Require

    \r\n getRowKey(record)}\r\n rowClassName={(record) =>\r\n getRowKey(record) === this.state.selectedRowKey\r\n ? \"highlighted-selection\"\r\n : \"\"\r\n }\r\n onRow={(record) => {\r\n return {\r\n onClick: () => {\r\n this.setState({ visible: true });\r\n this.setRowKey(record);\r\n },\r\n };\r\n }}\r\n pagination={false}\r\n >\r\n \r\n \r\n
    \r\n\r\n\r\n {/* render not required */}\r\n {EmpListNotRequired.length !== 0? \r\n
    \r\n

    Optinal

    \r\n getRowKey(record)}\r\n rowClassName={(record) =>\r\n getRowKey(record) === this.state.selectedRowKey\r\n ? \"highlighted-selection\"\r\n : \"\"\r\n }\r\n onRow={(record) => {\r\n return {\r\n onClick: () => {\r\n this.setState({ visible: true });\r\n this.setRowKey(record);\r\n },\r\n };\r\n }}\r\n pagination={false}\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 render() {\r\n return (\r\n
    \r\n {this.state.language == \"TH\"? this.renderContentTH() : this.renderContentEN()}\r\n
    \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\n\r\n//impotr libs\r\nimport {\r\n Row,\r\n Col,\r\n Table,\r\n Button,\r\n Radio,\r\n Tooltip,\r\n Input,\r\n Spin,\r\n PageHeader,\r\n} from \"antd\";\r\nimport \"antd/dist/antd.css\";\r\nimport { DownOutlined } from \"@ant-design/icons\";\r\nimport Dialog from \"../shared/dialog\";\r\n\r\n//import dom\r\nimport { Link } from \"react-router-dom\";\r\nimport HeaderComponent from \"../components/HeaderComponent\";\r\n\r\nexport default class LeaderFormScreen extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n items: [],\r\n tableData: [],\r\n ansFormArray: [],\r\n headerForm: [],\r\n Tooltip: [],\r\n //RUN: เพิ่ม Weight 14/04/2021\r\n weight: [],\r\n record: [],\r\n //RUN: เพิ่ม การ get Language 16/04/2021\r\n language: localStorage.getItem(\"Language\"),\r\n titleTH:\r\n \"แบบประเมินภาวะผู้นำและการบริหารตามหลักธรรมาภิบาลของผู้บริหารมหาวิทยาลัยพายัพประจำปีการศึกษา 2564\",\r\n titleEN:\r\n \"Appraisal of administrators on their leadership and administrative capacity in accordance with principles of good governance for the Academic Year 2564 \",\r\n };\r\n this.AnsData = {\r\n ansForm: [],\r\n ansFormArray: [],\r\n ansTotalClick: [],\r\n ansTotalClickTopic: [],\r\n ansTotalClickSubSubTopic: [],\r\n TotalCalculate: 0,\r\n };\r\n\r\n this.initArrays = {\r\n TopicsArr: [],\r\n SubTopicArr: [],\r\n SubSubTopicArr: [],\r\n //RUN: เพิ่ม ตัวแปร array เก็บค่า 14/04/2021\r\n InProgressForm: [],\r\n };\r\n\r\n this.FromLocal = {\r\n PositionID: parseInt(this.props.location.state.record.PositionId),\r\n };\r\n\r\n this.dialog = new Dialog();\r\n }\r\n\r\n // changeLangFunction(item) {\r\n // localStorage.setItem(\"Language\", item);\r\n // this.setState({ language: item });\r\n // }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"nextProps\", nextProps);\r\n this.setState({ language: nextProps.lang });\r\n localStorage.setItem(\"Language\", nextProps.lang);\r\n }\r\n\r\n componentDidMount() {\r\n // window.history.pushState(null,null,window.location.pathname)\r\n\r\n if (localStorage.getItem(\"EmpId\")) {\r\n this.spinnerControl();\r\n\r\n // this.FromLocal.PositionID = parseInt(localStorage.getItem(\"PositionID\"));\r\n // //RUN: เพิ่มการดึง GroupPositionID มาจาก LocalStorage\r\n\r\n // this.FromLocal.PositionGroupID = localStorage.getItem(\"GroupPositionID\");\r\n console.log(\"in if\");\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getCriteriaAndUserAnsLeader\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: this.props.location.state.record.empId,\r\n assessor: this.props.location.state.record.LeaderId,\r\n formtypeid: 3,\r\n field: 99,\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"result: \", result);\r\n result.forEach((e) => {\r\n this.initArrays.TopicsArr = e.Topics;\r\n this.initArrays.SubTopicArr = e.SubTopics;\r\n //RUN : เพิ่มการ ใส่ InProgress หากมี หากไม่มีจะใส่เป็น array เปล่าซึ่งไม่มีผลใดๆกับ Process 16/04/2021\r\n this.initArrays.InProgressForm = e.AnsForm;\r\n this.initArrays.SubSubTopicArr = e.SubSubTopics;\r\n });\r\n console.log(\"localStorage.getItem()\", localStorage.getItem(\"Field\"));\r\n //RUN: นำ ans data เข้าไปใส่ใน array ที่ใช้ ิวิ่งข้อมูล Default\r\n if (this.initArrays.InProgressForm.length > 0) {\r\n this.initArrays.InProgressForm.forEach((e) => {\r\n this.AnsData.ansForm.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n isCompetency: e.isCompetency,\r\n });\r\n });\r\n }\r\n\r\n //RUN: เพิ่ม การตรวจสอบ employee คนนี้มีตำแหน่งอะไรและเลือกใช้ Weightให้ ถูกต้อง\r\n var tempWeightApplySubTopic;\r\n\r\n this.initArrays.SubTopicArr.forEach((e) => {\r\n this.state.Tooltip.push({\r\n ToppicId: e.ToppicId,\r\n SubToppicId: e.SubToppicId,\r\n SubSubToppicId: 0,\r\n Tooltip1TH: e.Tooltip1TH,\r\n Tooltip1EN: e.Tooltip1EN,\r\n Tooltip2TH: e.Tooltip2TH,\r\n Tooltip2EN: e.Tooltip2EN,\r\n Tooltip3TH: e.Tooltip3TH,\r\n Tooltip3EN: e.Tooltip3EN,\r\n Tooltip4TH: e.Tooltip4TH,\r\n Tooltip4EN: e.Tooltip4EN,\r\n Tooltip5TH: e.Tooltip5TH,\r\n Tooltip5EN: e.Tooltip5EN,\r\n WeightBoards: e.WeightBoards,\r\n WeightLecturer: e.WeightLecturer,\r\n WeightLecturerOfficer: e.WeightLecturerOfficer,\r\n WeightOfficer: e.WeightOfficer,\r\n //RUN: WeightCriteria เพื่อนำไปใช้ในการวางคะแนนแบบ Global\r\n WeightCriteria: tempWeightApplySubTopic,\r\n\r\n\r\n });\r\n });\r\n\r\n var tempWeightApplySubSubTopic;\r\n this.initArrays.SubSubTopicArr.forEach((e) => {\r\n this.state.Tooltip.push({\r\n ToppicId: e.ToppicId,\r\n SubToppicId: e.SubToppicId,\r\n SubSubToppicId: e.SubSubToppicId,\r\n Tooltip1TH: e.Tooltip1TH,\r\n Tooltip1EN: e.Tooltip1EN,\r\n Tooltip2TH: e.Tooltip2TH,\r\n Tooltip2EN: e.Tooltip2EN,\r\n Tooltip3TH: e.Tooltip3TH,\r\n Tooltip3EN: e.Tooltip3EN,\r\n Tooltip4TH: e.Tooltip4TH,\r\n Tooltip4EN: e.Tooltip4EN,\r\n Tooltip5TH: e.Tooltip5TH,\r\n Tooltip5EN: e.Tooltip5EN,\r\n WeightBoards: e.WeightBoards,\r\n WeightLecturer: e.WeightLecturer,\r\n WeightLecturerOfficer: e.WeightLecturerOfficer,\r\n WeightOfficer: e.WeightOfficer,\r\n //RUN: WeightCriteria เพื่อนำไปใช้ในการวางคะแนนแบบ Global\r\n WeightCriteria: tempWeightApplySubSubTopic,\r\n showRemark: false,\r\n //RUN: เพิ่ม field isCompetency เพื่อใช้ตรวจสอบการ ว่าเป็นการประเมินด้าน สมรรณถนะ 18/04/2021\r\n isCompetency: e.isCompetency,\r\n });\r\n });\r\n\r\n console.log(\"this.state.Toolstip.\", this.state.Tooltip);\r\n console.log(\r\n \"sssssssssssssssssssssss\",\r\n this.initArrays.InProgressForm\r\n );\r\n this.setState({ tableData: result });\r\n this.spinnerControl();\r\n });\r\n } else {\r\n }\r\n }\r\n\r\n // Run: ควบคุมการ Change ของ Button 08/04/2021\r\n handleChange = (\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n value,\r\n indexfromRen,\r\n parentIndex,\r\n // RUN: เพิ่ม isCompetency เพื่อทำการ ตรวจสอบ comtency 14/04/2021\r\n isCompetency,\r\n // RUN: เพิ่ม WeightCriteria เพื่อทำการ คำนวน Score 14/04/2021\r\n WeightCriteria\r\n ) => {\r\n var temp = [];\r\n var tempcalPoint = 0;\r\n temp = this.AnsData.ansForm.filter((e) => {\r\n return (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n );\r\n });\r\n\r\n console.log(\"tempcalPoint\", tempcalPoint);\r\n if (temp.length == 0) {\r\n this.AnsData.ansForm.push({\r\n TopicId: ToppicId,\r\n SubTopicId: SubToppicId,\r\n SubSubTopicId: SubSubToppicId,\r\n Point: value, //ดึงคะแนนของหัวข้อมา\r\n Remark: \"\", //ดึงเหตุผลของหัวข้อมา\r\n // RUN: เพิ่ม WeightCriteria เพื่อทำการ คำนวน Score 14/04/2021\r\n CalPoint: tempcalPoint,\r\n isCompetency: isCompetency,\r\n });\r\n } else {\r\n this.AnsData.ansForm = this.testarrayDupFunction(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId\r\n );\r\n\r\n this.AnsData.ansForm.push({\r\n TopicId: ToppicId,\r\n SubTopicId: SubToppicId,\r\n SubSubTopicId: SubSubToppicId,\r\n Point: value, //ดึงคะแนนของหัวข้อมา\r\n Remark: \"\", //ดึงเหตุผลของหัวข้อมา\r\n // RUN: เพิ่ม WeightCriteria เพื่อทำการ คำนวน Score 14/04/2021\r\n CalPoint: tempcalPoint,\r\n isCompetency: isCompetency,\r\n });\r\n }\r\n //RUN: เพิ่ม Condition การตรวจสอบ PositionID ให้เปิด/ปิด Remark ถูกต้อง 14/04/2021\r\n if (isCompetency == 1) {\r\n if (\r\n this.FromLocal.PositionID > 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value !== \"3\"\r\n ) {\r\n // Run: setState ให้ render ใหม่ได้ถูกต้อง 08/04/2021\r\n console.log(\"in if\");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansForm.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n } //RUN: เพิ่ม Condition else if การตรวจสอบ PositionID ให้เปิด/ปิด Remark ถูกต้อง 14/04/2021\r\n else if (\r\n //RUN: แก้ condition 22/04/2021\r\n this.FromLocal.PositionID <= 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value !== \"4\"\r\n ) {\r\n console.log(\"in else if\");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansForm.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n } else {\r\n console.log(\"in else \");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: false,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n }\r\n } else {\r\n if (value !== \"3\") {\r\n // Run: setState ให้ render ใหม่ได้ถูกต้อง 08/04/2021\r\n console.log(\"in if\");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansForm.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n } //RUN: เพิ่ม Condition else if การตรวจสอบ PositionID ให้เปิด/ปิด Remark ถูกต้อง 14/04/2021\r\n else {\r\n console.log(\"in else \");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: false,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n }\r\n }\r\n\r\n if (isCompetency == 1) {\r\n console.log(\"in 1 \");\r\n if (\r\n this.FromLocal.PositionID == \"19\" &&\r\n SubSubToppicId.toString() == \"2\" &&\r\n value == \"4\"\r\n ) {\r\n console.log(\"in 2 \");\r\n\r\n // Run: setState ให้ render ใหม่ได้ถูกต้อง 08/04/2021\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: false,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansForm.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n } //RUN: เพิ่ม Condition else if การตรวจสอบ PositionID ให้เปิด/ปิด Remark ถูกต้อง 14/04/2021\r\n else if (\r\n //RUN: แก้ condition 22/04/2021\r\n this.FromLocal.PositionID == \"19\" &&\r\n SubSubToppicId.toString() == \"2\" &&\r\n value == \"3\"\r\n ) {\r\n console.log(\"in 3 \");\r\n\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansForm.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n }\r\n }\r\n console.log(\r\n \"this.AnsData.ansForm\",\r\n this.AnsData.ansForm\r\n );\r\n this.TotalClickPointTopicFunction(ToppicId, SubToppicId, SubSubToppicId);\r\n };\r\n\r\n handleSaveDraft = (ansSaveData, tableForm) => {\r\n tableForm.forEach((element) => {\r\n element.AnsForm = ansSaveData;\r\n element.SubSubTopics = [];\r\n element.SubTopics = [];\r\n element.Topics = [];\r\n });\r\n \r\n console.log(\"tableForm\", tableForm);\r\n \r\n fetch(process.env.REACT_APP_API_URL+\"/api/saveFormLeader\", {\r\n method: \"post\",\r\n \r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n \r\n body: JSON.stringify({\r\n empid: this.props.location.state.record.empId,\r\n assessor: this.props.location.state.record.LeaderId,\r\n buttonaction: \"1\",\r\n jsonans: tableForm,\r\n formtypeid: \"3\"\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"save draft result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n \r\n \r\n if (this.state.language == 'TH') {\r\n this.dialog.WarningDialog('บันทึกร่างไม่สำเร็จ')\r\n } else {\r\n this.dialog.WarningDialog('Unable to Save Draft')\r\n }\r\n } else {\r\n \r\n // alert(\"บันทึกร่างสำเร็จ\");\r\n // window.location.href = \"/workform\";\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == 'TH') {\r\n this.dialog.SuccessDialog('บันทึกร่างสำเร็จ', '/leader')\r\n } else {\r\n this.dialog.SuccessDialog('Save Draft Success', '/leader')\r\n }\r\n }\r\n \r\n \r\n });\r\n };\r\n \r\n\r\n handleSubmit = (ansSaveData, tableForm, countTotalRequire) => {\r\n //RUN: ตรวจสอบ condition ว่ามีค่าจำนวน ans เท่ากับ form หรือไม่ 11/04/2012\r\n var tempArray = [];\r\n var tempArrayRemarkvalidation = [];\r\n\r\n tableForm.forEach((element) => {\r\n element.AnsForm = ansSaveData;\r\n element.SubSubTopics = [];\r\n element.SubTopics = [];\r\n element.Topics = [];\r\n });\r\n tempArray = countTotalRequire.filter((e) => {\r\n return e.Tooltip1TH == \"\";\r\n });\r\n \r\n console.log('tempArray',tempArray)\r\n console.log('ansform',ansSaveData)\r\n \r\n \r\n //RUN: ใช้ Condition Nested If ให้เข้า Condition ให้ถูกต้อง และ แสดง error ขึ้นมาตามลำดับ 11/04/2021\r\n if (ansSaveData.length == tempArray.length) {\r\n\r\n if (tempArrayRemarkvalidation.length == 0) {\r\n fetch(process.env.REACT_APP_API_URL+\"/api/saveFormLeader\", {\r\n\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: this.props.location.state.record.empId,\r\n assessor: this.props.location.state.record.LeaderId,\r\n buttonaction: \"2\",\r\n jsonans: tableForm,\r\n formtypeid: \"3\"\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"submit result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n \r\n\r\n if (this.state.language == 'TH') {\r\n this.dialog.WarningDialog(\r\n 'บันทึกไม่สำเร็จ')\r\n } else {\r\n this.dialog.WarningDialog(\r\n 'Unable to Save')\r\n }\r\n } else {\r\n // alert(\"บันทึกสำเร็จ\");\r\n // window.location.href = \"/workform\";\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == 'TH') {\r\n this.dialog.SuccessDialog('บันทึกสำเร็จ', '/leader')\r\n\r\n localStorage.removeItem(\"selfEvalStatus\");\r\n\r\n } else {\r\n this.dialog.SuccessDialog('Save Success', '/leader')\r\n localStorage.removeItem(\"selfEvalStatus\");\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\r\n if (this.state.language == 'TH') {\r\n this.dialog.WarningDialog(\r\n 'บันทึกไม่สำเร็จ ข้อมูลเหตุผลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน')\r\n } else {\r\n this.dialog.WarningDialog(\r\n 'Unable to save due to incomplete remark. Please check your assessment informations.')\r\n }\r\n \r\n }\r\n } else {\r\n // alert(\"บันทึกไม่สำเร็จ ข้อมูลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == 'TH') {\r\n this.dialog.WarningDialog(\r\n 'บันทึกไม่สำเร็จ ข้อมูลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน')\r\n } else {\r\n this.dialog.WarningDialog(\r\n 'Unable to save due to incomplete data. Please check your assessment informations.')\r\n }\r\n }\r\n };\r\n\r\n\r\n TotalClickPointTopicFunction(TopicId, SubTopicId, SubSubTopicId) {\r\n var tempArray = [];\r\n this.AnsData.ansForm.forEach((e) => {\r\n tempArray.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n isCompetency: e.isCompetency,\r\n });\r\n });\r\n var temp = [];\r\n var temp2 = [];\r\n tempArray.forEach((e) => {\r\n if (temp2.length == 0) {\r\n temp2.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp = temp2.filter((e2) => {\r\n return e2.TopicId == e.TopicId;\r\n });\r\n if (temp.length == 0) {\r\n temp2.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp2.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalClickTopic = temp2;\r\n\r\n var temp3 = [];\r\n var temp4 = [];\r\n tempArray.forEach((e) => {\r\n if (e.SubSubTopicId > 0) {\r\n if (temp3.length == 0) {\r\n temp3.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp4 = temp3.filter((e2) => {\r\n return e2.TopicId == e.TopicId && e2.SubTopicId == e.SubTopicId;\r\n });\r\n if (temp4.length == 0) {\r\n temp3.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp3.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId && e3.SubTopicId == e.SubTopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalClickSubSubTopic = temp3;\r\n var total = 0;\r\n this.AnsData.ansTotalClickTopic.forEach((e) => {\r\n total = total + e.CalPoint;\r\n });\r\n\r\n this.AnsData.TotalCalculate = total;\r\n }\r\n\r\n spinnerControl() {\r\n this.setState({ spinner: !this.state.spinner });\r\n }\r\n\r\n testarrayDupFunction(ToppicId, SubToppicId, SubSubToppicId) {\r\n console.log(\"testarrayDupFunction\");\r\n var tempDup = [];\r\n //RUN: ยัดใส่เป็น ToString ให้หมดเนื่องจากส่งไปsave กับ ส่งคืนมา มีค่าdatatype อิอัยยยยยยยยยย 16/04/2021\r\n var tempToppicId = ToppicId.toString();\r\n var tempSubToppicId = SubToppicId.toString();\r\n var tempSubSubToppicId = SubSubToppicId.toString();\r\n tempDup = this.AnsData.ansForm.filter((e) => {\r\n return (\r\n e.TopicId.toString() !== tempToppicId ||\r\n e.SubTopicId.toString() !== tempSubToppicId ||\r\n e.SubSubTopicId.toString() !== tempSubSubToppicId\r\n );\r\n });\r\n console.log(\"tempDup\", tempDup);\r\n return tempDup;\r\n }\r\n\r\n //RUN: เพิ่ม method getDefault เพื่อนำข้อมูลจาก savedraft เข้าไป set ค่าให้ 16/04/2021\r\n getDefaultScore(ToppicId, SubToppicId, SubSubToppicId) {\r\n var tempArray = [];\r\n tempArray = this.AnsData.ansForm.filter((e) => {\r\n return (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n );\r\n });\r\n if (tempArray.length > 0) {\r\n return tempArray[0].Point;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n splicingTitle(title) {\r\n var newtext = \"\";\r\n newtext = title.replace(/[0-9]/g, \"\");\r\n newtext = newtext.replace(/[.]/g, \"\");\r\n if (this.state.language == \"TH\") {\r\n newtext = newtext.replace(/\\s/g, \"\");\r\n }\r\n return newtext;\r\n }\r\n\r\n //Run: new Structure 09/04/2021\r\n renderTable() {\r\n console.log(\"this.state.Tooltip\", this.state.Tooltip);\r\n\r\n const listbuttonSubSubTopic = this.state.Tooltip.map(\r\n ({ SubSubToppicId, SubToppicId, ToppicId, Tooltip1TH }, Counts) => (\r\n \r\n {SubSubToppicId > 0 && (\r\n {\r\n this.handleChange(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.value,\r\n Counts\r\n );\r\n }}\r\n >\r\n \r\n 5\r\n 4\r\n 3\r\n 2\r\n 1\r\n \r\n \r\n )}\r\n \r\n )\r\n );\r\n\r\n const listbuttonSubTopic = this.state.Tooltip.map(\r\n ({ SubSubToppicId, SubToppicId, ToppicId, Tooltip1TH }, Counts) => (\r\n \r\n {Tooltip1TH !== \"topic\" && SubSubToppicId == 0 && (\r\n {\r\n this.handleChange(\r\n ToppicId,\r\n SubToppicId,\r\n 0,\r\n e.target.value,\r\n Counts\r\n );\r\n }}\r\n >\r\n \r\n 5\r\n 4\r\n 3\r\n 2\r\n 1\r\n \r\n \r\n )}\r\n \r\n )\r\n );\r\n\r\n const listSubSubTopics = this.initArrays.SubSubTopicArr.map(\r\n (\r\n {\r\n TitleTH,\r\n TitleEN,\r\n SubToppicId,\r\n ToppicId,\r\n SubSubToppicId,\r\n DescriptionTH,\r\n DescriptionEN,\r\n },\r\n Indexes\r\n ) => (\r\n \r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n

    \r\n {TitleTH}\r\n {DescriptionTH}\r\n

    \r\n \r\n ) : (\r\n \r\n

    \r\n {TitleEN}\r\n {DescriptionEN}\r\n

    \r\n \r\n )}\r\n\r\n \r\n {listbuttonSubSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"topic\" &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n \r\n
    \r\n \r\n )\r\n );\r\n\r\n const listSubTopics = this.initArrays.SubTopicArr.map(\r\n (\r\n {\r\n TitleTH,\r\n TitleEN,\r\n SubToppicId,\r\n ToppicId,\r\n SubSubToppicId,\r\n DescriptionTH,\r\n DescriptionEN,\r\n },\r\n Index\r\n ) => (\r\n \r\n \r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n

    \r\n {TitleTH} {DescriptionTH}\r\n

    \r\n \r\n ) : (\r\n \r\n

    \r\n {TitleEN} {DescriptionEN}\r\n

    \r\n \r\n )}\r\n\r\n \r\n {listbuttonSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId\r\n );\r\n })}\r\n \r\n
    \r\n \r\n\r\n
    \r\n {listSubSubTopics.filter((e) => {\r\n return e.props.SubIDs == SubToppicId;\r\n })}\r\n
    \r\n \r\n )\r\n );\r\n\r\n const listItems = this.initArrays.TopicsArr.map(\r\n ({ ToppicId, TitleTH, TitleEN, DescriptionTH, DescriptionEN }, Order) => (\r\n
    \r\n \r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n

    \r\n {TitleTH} \r\n {DescriptionTH}\r\n

    \r\n \r\n ) : (\r\n \r\n

    \r\n {TitleEN} \r\n {DescriptionEN}\r\n

    \r\n \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n {listSubTopics.filter((e) => {\r\n return e.props.ToppicID == ToppicId;\r\n })}\r\n
    \r\n \r\n )\r\n );\r\n\r\n return (\r\n
    \r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n เกณฑ์การประเมินผล \r\n ระดับคะแนน \r\n \r\n ) : (\r\n \r\n Criteria \r\n Score \r\n \r\n )}\r\n
    \r\n\r\n
    {listItems}
    \r\n \r\n );\r\n }\r\n\r\n renderContentTH() {\r\n return (\r\n
    \r\n {/* */}\r\n\r\n window.history.back()}\r\n title={\r\n \"แบบประเมินภาวะผู้นำและการบริหารตามหลักธรรมาภิบาลของผู้บริหาร : \" +\r\n this.props.location.state.record.TitleTH +\r\n \" \" +\r\n this.props.location.state.record.FirstNameTH +\r\n \" \" +\r\n this.props.location.state.record.LastNameTH\r\n }\r\n />\r\n\r\n

    \r\n แบบประเมินภาวะผู้นำและการบริหารตามหลักธรรมาภิบาลของผู้บริหารมหาวิทยาลัยพายัพ\r\n
    ประจำปีการศึกษา 2564\r\n

    \r\n\r\n
    \r\n {this.renderTable()}\r\n
    \r\n {\r\n this.handleSaveDraft(\r\n this.AnsData.ansForm,\r\n this.state.tableData\r\n );\r\n }}\r\n >\r\n บันทึกร่าง\r\n \r\n\r\n {\r\n this.handleSubmit(\r\n this.AnsData.ansForm,\r\n this.state.tableData,\r\n //RUN: เพิ่มการนำตัวแปรเข้า handlesubmit 11/04/2012\r\n this.state.Tooltip\r\n );\r\n }}\r\n >\r\n ส่งข้อมูล\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n renderContentEN() {\r\n return (\r\n
    \r\n {/* */}\r\n\r\n window.history.back()}\r\n title={\r\n \"Appraisal of administrators on their leadership and administrative capacity : \" +\r\n this.props.location.state.record.TitleEN +\r\n \" \" +\r\n this.props.location.state.record.FirstNameEN +\r\n \" \" +\r\n this.props.location.state.record.LastNameEN\r\n }\r\n />\r\n\r\n
    \r\n

    \r\n Appraisal of administrators on their leadership and administrative\r\n capacity in accordance
    with principles of good governance for the\r\n Academic Year 2564\r\n

    \r\n
    \r\n\r\n
    \r\n {this.renderTable()}\r\n
    \r\n {\r\n this.handleSaveDraft(\r\n this.AnsData.ansForm,\r\n this.state.tableData\r\n );\r\n }}\r\n >\r\n Draft\r\n \r\n\r\n {\r\n this.handleSubmit(\r\n this.AnsData.ansForm,\r\n this.state.tableData,\r\n //RUN: เพิ่มการนำตัวแปรเข้า handlesubmit 11/04/2012\r\n this.state.Tooltip\r\n );\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n console.log(\"resutl\", this.state.tableData);\r\n\r\n return (\r\n
    \r\n {this.state.language == \"TH\"\r\n ? this.renderContentTH()\r\n : this.renderContentEN()}\r\n
    \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\n\r\n//impotr libs\r\nimport {\r\n Row,\r\n Col,\r\n Table,\r\n Button,\r\n Radio,\r\n Tooltip,\r\n Input,\r\n Spin,\r\n PageHeader,\r\n} from \"antd\";\r\nimport \"antd/dist/antd.css\";\r\nimport { DownOutlined } from \"@ant-design/icons\";\r\nimport Dialog from \"../shared/dialog\";\r\n\r\n//import dom\r\nimport { Link } from \"react-router-dom\";\r\nimport HeaderComponent from \"../components/HeaderComponent\";\r\nimport { getKeyThenIncreaseKey } from \"antd/lib/message\";\r\n\r\nconst { TextArea } = Input;\r\n\r\nexport default class WorkLifeFormScreen extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n items: [],\r\n tableData: [],\r\n ansFormArray: [],\r\n headerForm: [],\r\n Tooltip: [],\r\n\r\n //RUN: เพิ่ม การ get Language 16/04/2021\r\n language: localStorage.getItem(\"Language\"),\r\n titleTH:\r\n \"แบบประเมินคุณภาพชีวิตในการทำงานและความผูกพันต่อองค์กร และความสุขในการทำงาน ประจำปีการศึกษา 2564\",\r\n titleEN:\r\n \"Questionnaire on quality of life at work, affiliations, and Employment Contentment at Payap University, academic year 2021\",\r\n };\r\n this.AnsData = {\r\n ansForm: [],\r\n ansFormArray: [],\r\n ansTotalClick: [],\r\n ansTotalClickTopic: [],\r\n ansTotalClickSubSubTopic: [],\r\n TotalCalculate: 0,\r\n };\r\n\r\n this.initArrays = {\r\n TopicsArr: [],\r\n SubTopicArr: [],\r\n SubSubTopicArr: [],\r\n //RUN: เพิ่ม ตัวแปร array เก็บค่า 14/04/2021\r\n InProgressForm: [],\r\n };\r\n this.dialog = new Dialog();\r\n console.log(\"props\", this.props);\r\n }\r\n\r\n // changeLangFunction(item) {\r\n // localStorage.setItem(\"Language\", item);\r\n // this.setState({ language: item });\r\n // }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"nextProps\", nextProps);\r\n this.setState({ language: nextProps.lang });\r\n localStorage.setItem(\"Language\", nextProps.lang);\r\n }\r\n\r\n componentDidMount() {\r\n // window.history.pushState(null,null,window.location.pathname)\r\n\r\n if (localStorage.getItem(\"EmpId\")) {\r\n this.spinnerControl();\r\n\r\n // this.FromLocal.PositionID = parseInt(localStorage.getItem(\"PositionID\"));\r\n // //RUN: เพิ่มการดึง GroupPositionID มาจาก LocalStorage\r\n\r\n // this.FromLocal.PositionGroupID = localStorage.getItem(\"GroupPositionID\");\r\n console.log(\"in if\");\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getCriteriaAndUserAns1D\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n formtypeid: 4,\r\n field: 99,\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"result: \", result);\r\n result.forEach((e) => {\r\n this.initArrays.TopicsArr = e.Topics;\r\n this.initArrays.SubTopicArr = e.SubTopics;\r\n //RUN : เพิ่มการ ใส่ InProgress หากมี หากไม่มีจะใส่เป็น array เปล่าซึ่งไม่มีผลใดๆกับ Process 16/04/2021\r\n this.initArrays.InProgressForm = e.AnsForm;\r\n this.initArrays.SubSubTopicArr = e.SubSubTopics;\r\n });\r\n console.log(\"Field\", localStorage.getItem(\"Field\"));\r\n\r\n //RUN: นำ ans data เข้าไปใส่ใน array ที่ใช้ ิวิ่งข้อมูล Default\r\n if (this.initArrays.InProgressForm.length > 0) {\r\n this.initArrays.InProgressForm.forEach((e) => {\r\n this.AnsData.ansForm.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark\r\n });\r\n });\r\n }\r\n\r\n this.initArrays.SubTopicArr.forEach((e) => {\r\n this.state.Tooltip.push({\r\n ToppicId: e.ToppicId,\r\n SubToppicId: e.SubToppicId,\r\n SubSubToppicId: 0,\r\n Tooltip1TH: e.Tooltip1TH,\r\n Remark: \"\",\r\n });\r\n });\r\n\r\n //var tempWeightApplySubSubTopic;\r\n this.initArrays.SubSubTopicArr.forEach((e) => {\r\n this.state.Tooltip.push({\r\n ToppicId: e.ToppicId,\r\n SubToppicId: e.SubToppicId,\r\n SubSubToppicId: e.SubSubToppicId,\r\n Tooltip1TH: e.Tooltip1TH,\r\n Remark: \"\",\r\n });\r\n });\r\n\r\n //RUN ตัวนี้จำเป็นสำหรับการ Check ค่า Remark ถ้ามีให้แสดงด้วยแต่ถ้าเป็น default ต้องให้ไม่แสดง 16/04/2021\r\n this.AnsData.ansForm.forEach((e1) => {\r\n this.state.Tooltip.forEach((e2) => {\r\n if (\r\n e1.TopicId == e2.ToppicId &&\r\n e1.SubTopicId == e2.SubToppicId &&\r\n e1.SubSubTopicId == e2.SubSubToppicId\r\n ) {\r\n console.log(\"eeeeeeeeeeeee\", e2);\r\n console.log(\"ewwwwwwwwwwwwwww\", e1);\r\n\r\n e2.Remark = e1.Remark;\r\n }\r\n });\r\n });\r\n\r\n this.AnsData.ansForm.forEach((e) => {\r\n this.AnsData.ansTotalClick.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark\r\n });\r\n });\r\n\r\n \r\n\r\n // console.log('this.state.Toolstip.', this.state.Tooltip)\r\n console.log(\"InProgressForm\", this.initArrays.InProgressForm);\r\n this.setState({ tableData: result });\r\n this.spinnerControl();\r\n });\r\n }\r\n }\r\n\r\n // Run: ควบคุมการ Change ของ Button 08/04/2021\r\n handleChange = (\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n value,\r\n indexfromRen,\r\n parentIndex\r\n ) => {\r\n var temp = [];\r\n var tempcalPoint = 0;\r\n temp = this.AnsData.ansForm.filter((e) => {\r\n return (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n );\r\n });\r\n\r\n console.log(\"tempcalPoint\", tempcalPoint);\r\n \r\n if (temp.length == 0) {\r\n this.AnsData.ansForm.push({\r\n TopicId: ToppicId,\r\n SubTopicId: SubToppicId,\r\n SubSubTopicId: SubSubToppicId,\r\n Point: value, //ดึงคะแนนของหัวข้อมา\r\n Remark: \"\",\r\n });\r\n } else {\r\n this.AnsData.ansForm = this.testarrayDupFunction(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId\r\n );\r\n\r\n this.AnsData.ansForm.push({\r\n TopicId: ToppicId,\r\n SubTopicId: SubToppicId,\r\n SubSubTopicId: SubSubToppicId,\r\n Point: value, //ดึงคะแนนของหัวข้อมา\r\n Remark: \"\",\r\n });\r\n }\r\n\r\n console.log(\"this.AnsData.ansForm\", this.AnsData.ansForm);\r\n this.TotalClickPointTopicFunction(ToppicId, SubToppicId, SubSubToppicId);\r\n };\r\n\r\n // Run: เพิ่มการ handle Remark เวลาทำการ ป้อนข้อมูล 09/04/2021\r\n handleRemark = (ToppicId, SubToppicId, SubSubToppicId, Remark) => {\r\n console.log(\"handle remark\");\r\n this.AnsData.ansForm.forEach((old) => {\r\n if (\r\n old.TopicId == ToppicId &&\r\n old.SubTopicId == SubToppicId &&\r\n old.SubSubTopicId == SubSubToppicId\r\n ) {\r\n old.Remark = Remark;\r\n }\r\n });\r\n\r\n \r\n // Run: Set State ให้Remark 09/04/2021\r\n\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((RemarkValue, index) => {\r\n if (\r\n RemarkValue.SubToppicId == SubToppicId &&\r\n RemarkValue.SubSubToppicId == SubSubToppicId &&\r\n RemarkValue.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...RemarkValue,\r\n Remark: Remark,\r\n };\r\n } else {\r\n return {\r\n ...RemarkValue,\r\n };\r\n }\r\n }),\r\n }));\r\n\r\n this.AnsData.ansForm = this.testarrayDupFunction(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId\r\n );\r\n\r\n this.AnsData.ansForm.push({\r\n TopicId: ToppicId,\r\n SubTopicId: SubToppicId,\r\n SubSubTopicId: SubSubToppicId,\r\n Point: 0, //ดึงคะแนนของหัวข้อมา\r\n Remark: Remark,\r\n });\r\n \r\n\r\n console.log(\"in handle remark this.AnsData.ansForm\", this.AnsData.ansForm);\r\n };\r\n\r\n handleSaveDraft = (ansSaveData, tableForm) => {\r\n tableForm.forEach((element) => {\r\n element.AnsForm = ansSaveData;\r\n element.SubSubTopics = [];\r\n element.SubTopics = [];\r\n element.Topics = [];\r\n });\r\n\r\n console.log(\"tableForm in save draft\", tableForm);\r\n\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveForm\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n assessor: localStorage.getItem(\"EmpId\"),\r\n buttonaction: \"1\",\r\n jsonans: tableForm,\r\n formtypeid: \"4\",\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"save draft result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\"บันทึกร่างไม่สำเร็จ\");\r\n } else {\r\n this.dialog.WarningDialog(\"Unable to Save Draft\");\r\n }\r\n } else {\r\n // alert(\"บันทึกร่างสำเร็จ\");\r\n // window.location.href = \"/workform\";\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == \"TH\") {\r\n this.dialog.SuccessDialog(\"บันทึกร่างสำเร็จ\", \"/home\");\r\n localStorage.removeItem(\"workLifeEvalStatus\");\r\n localStorage.setItem(\"workLifeEvalStatus\", \"2\");\r\n } else {\r\n this.dialog.SuccessDialog(\"Save Draft Success\", \"/home\");\r\n localStorage.removeItem(\"workLifeEvalStatus\");\r\n localStorage.setItem(\"workLifeEvalStatus\", \"2\");\r\n }\r\n }\r\n });\r\n };\r\n\r\n handleSubmit = (ansSaveData, tableForm, countTotalRequire) => {\r\n //RUN: ตรวจสอบ condition ว่ามีค่าจำนวน ans เท่ากับ form หรือไม่ 11/04/2012\r\n var tempArray = [];\r\n var tempArrayRemarkvalidation = [];\r\n\r\n tableForm.forEach((element) => {\r\n element.AnsForm = ansSaveData;\r\n element.SubSubTopics = [];\r\n element.SubTopics = [];\r\n element.Topics = [];\r\n });\r\n tempArray = countTotalRequire.filter((e) => {\r\n return e.Tooltip1TH == \"\";\r\n });\r\n\r\n //RUN: ใช้ Condition Nested If ให้เข้า Condition ให้ถูกต้อง และ แสดง error ขึ้นมาตามลำดับ 11/04/2021\r\n if (ansSaveData.length == tempArray.length + 1) {\r\n if (tempArrayRemarkvalidation.length == 0) {\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveForm\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n assessor: localStorage.getItem(\"EmpId\"),\r\n buttonaction: \"2\",\r\n jsonans: tableForm,\r\n formtypeid: \"4\",\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"submit result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\"บันทึกไม่สำเร็จ\");\r\n } else {\r\n this.dialog.WarningDialog(\"Unable to Save\");\r\n }\r\n } else {\r\n if (this.state.language == \"TH\") {\r\n this.dialog.SuccessDialog(\"บันทึกสำเร็จ\", \"/home\");\r\n\r\n localStorage.removeItem(\"workLifeEvalStatus\");\r\n localStorage.setItem(\"workLifeEvalStatus\", \"3\");\r\n } else {\r\n this.dialog.SuccessDialog(\"Save Success\", \"/home\");\r\n localStorage.removeItem(\"workLifeEvalStatus\");\r\n localStorage.setItem(\"workLifeEvalStatus\", \"3\");\r\n }\r\n }\r\n });\r\n } else {\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\r\n \"บันทึกไม่สำเร็จ ข้อมูลเหตุผลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\"\r\n );\r\n } else {\r\n this.dialog.WarningDialog(\r\n \"Unable to save due to incomplete remark. Please check your assessment informations.\"\r\n );\r\n }\r\n }\r\n } else {\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\r\n \"บันทึกไม่สำเร็จ ข้อมูลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\"\r\n );\r\n } else {\r\n this.dialog.WarningDialog(\r\n \"Unable to save due to incomplete data. Please check your assessment informations.\"\r\n );\r\n }\r\n }\r\n };\r\n\r\n TotalClickPointTopicFunction(TopicId, SubTopicId, SubSubTopicId) {\r\n var tempArray = [];\r\n this.AnsData.ansForm.forEach((e) => {\r\n tempArray.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n });\r\n });\r\n var temp = [];\r\n var temp2 = [];\r\n tempArray.forEach((e) => {\r\n if (temp2.length == 0) {\r\n temp2.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp = temp2.filter((e2) => {\r\n return e2.TopicId == e.TopicId;\r\n });\r\n if (temp.length == 0) {\r\n temp2.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp2.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalClickTopic = temp2;\r\n\r\n var temp3 = [];\r\n var temp4 = [];\r\n tempArray.forEach((e) => {\r\n if (e.SubSubTopicId > 0) {\r\n if (temp3.length == 0) {\r\n temp3.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp4 = temp3.filter((e2) => {\r\n return e2.TopicId == e.TopicId && e2.SubTopicId == e.SubTopicId;\r\n });\r\n if (temp4.length == 0) {\r\n temp3.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp3.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId && e3.SubTopicId == e.SubTopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalClickSubSubTopic = temp3;\r\n var total = 0;\r\n this.AnsData.ansTotalClickTopic.forEach((e) => {\r\n total = total + e.CalPoint;\r\n });\r\n\r\n this.AnsData.TotalCalculate = total;\r\n }\r\n\r\n spinnerControl() {\r\n this.setState({ spinner: !this.state.spinner });\r\n }\r\n\r\n testarrayDupFunction(ToppicId, SubToppicId, SubSubToppicId) {\r\n console.log(\"testarrayDupFunction\");\r\n var tempDup = [];\r\n //RUN: ยัดใส่เป็น ToString ให้หมดเนื่องจากส่งไปsave กับ ส่งคืนมา มีค่าdatatype อิอัยยยยยยยยยย 16/04/2021\r\n var tempToppicId = ToppicId.toString();\r\n var tempSubToppicId = SubToppicId.toString();\r\n var tempSubSubToppicId = SubSubToppicId.toString();\r\n tempDup = this.AnsData.ansForm.filter((e) => {\r\n return (\r\n e.TopicId.toString() !== tempToppicId ||\r\n e.SubTopicId.toString() !== tempSubToppicId ||\r\n e.SubSubTopicId.toString() !== tempSubSubToppicId\r\n );\r\n });\r\n console.log(\"tempDup\", tempDup);\r\n return tempDup;\r\n }\r\n\r\n //RUN: เพิ่ม method getDefault เพื่อนำข้อมูลจาก savedraft เข้าไป set ค่าให้ 16/04/2021\r\n getDefaultScore(ToppicId, SubToppicId, SubSubToppicId) {\r\n var tempArray = [];\r\n tempArray = this.AnsData.ansForm.filter((e) => {\r\n return (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n );\r\n });\r\n if (tempArray.length > 0) {\r\n return tempArray[0].Point;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n splicingTitle(title) {\r\n var newtext = \"\";\r\n newtext = title.replace(/[0-9]/g, \"\");\r\n newtext = newtext.replace(/[.]/g, \"\");\r\n if (this.state.language == \"TH\") {\r\n newtext = newtext.replace(/\\s/g, \"\");\r\n }\r\n return newtext;\r\n }\r\n\r\n //Run: new Structure 09/04/2021\r\n renderTable() {\r\n console.log(\"this.state.Tooltip\", this.state.Tooltip);\r\n\r\n const listbuttonSubSubTopic = this.state.Tooltip.map(\r\n ({ SubSubToppicId, SubToppicId, ToppicId, Tooltip1TH }, Counts) => (\r\n \r\n {SubSubToppicId > 0 && (\r\n {\r\n this.handleChange(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.value,\r\n Counts\r\n );\r\n }}\r\n >\r\n \r\n 5\r\n 4\r\n 3\r\n 2\r\n 1\r\n \r\n \r\n )}\r\n \r\n )\r\n );\r\n\r\n const listbuttonSubTopic = this.state.Tooltip.map(\r\n (\r\n { SubSubToppicId, SubToppicId, ToppicId, Tooltip1TH, Remark },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH !== \"topic\" &&\r\n Tooltip1TH !== \"comment\" &&\r\n SubSubToppicId == 0 && (\r\n {\r\n this.handleChange(\r\n ToppicId,\r\n SubToppicId,\r\n 0,\r\n e.target.value,\r\n Counts\r\n );\r\n }}\r\n >\r\n \r\n 5\r\n 4\r\n 3\r\n 2\r\n 1\r\n \r\n \r\n )}\r\n \r\n )\r\n );\r\n\r\n const listRemarkSubTopic = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip1TH,\r\n Remark,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH == \"comment\" && SubSubToppicId == 0 && (\r\n {\r\n this.handleRemark(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.value\r\n );\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n )\r\n );\r\n\r\n const listSubSubTopics = this.initArrays.SubSubTopicArr.map(\r\n (\r\n {\r\n TitleTH,\r\n TitleEN,\r\n SubToppicId,\r\n ToppicId,\r\n SubSubToppicId,\r\n DescriptionTH,\r\n DescriptionEN,\r\n },\r\n Indexes\r\n ) => (\r\n \r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n

    \r\n {TitleTH}\r\n {DescriptionTH}\r\n

    \r\n \r\n ) : (\r\n \r\n

    \r\n {TitleEN}\r\n {DescriptionEN}\r\n

    \r\n \r\n )}\r\n\r\n \r\n {listbuttonSubSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"topic\" &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n \r\n
    \r\n \r\n )\r\n );\r\n\r\n const listSubTopics = this.initArrays.SubTopicArr.map(\r\n (\r\n {\r\n TitleTH,\r\n TitleEN,\r\n SubToppicId,\r\n ToppicId,\r\n SubSubToppicId,\r\n DescriptionTH,\r\n DescriptionEN,\r\n },\r\n Index\r\n ) => (\r\n \r\n \r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n

    \r\n {TitleTH} {DescriptionTH}\r\n

    \r\n \r\n ) : (\r\n \r\n

    \r\n {TitleEN} {DescriptionEN}\r\n

    \r\n \r\n )}\r\n\r\n \r\n {listbuttonSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId\r\n );\r\n })}\r\n \r\n
    \r\n\r\n {/* {เพิ่ม div remark} */}\r\n\r\n
    \r\n {listRemarkSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\"\r\n );\r\n })}\r\n
    \r\n\r\n \r\n\r\n
    \r\n {listSubSubTopics.filter((e) => {\r\n return e.props.SubIDs == SubToppicId;\r\n })}\r\n
    \r\n \r\n )\r\n );\r\n\r\n const listItems = this.initArrays.TopicsArr.map(\r\n ({ ToppicId, TitleTH, TitleEN, DescriptionTH, DescriptionEN }, Order) => (\r\n
    \r\n \r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n

    \r\n {TitleTH} \r\n {DescriptionTH}\r\n

    \r\n \r\n ) : (\r\n \r\n

    \r\n {TitleEN} \r\n {DescriptionEN}\r\n

    \r\n \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n {listSubTopics.filter((e) => {\r\n return e.props.ToppicID == ToppicId;\r\n })}\r\n
    \r\n \r\n )\r\n );\r\n\r\n return (\r\n
    \r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n เกณฑ์การประเมินผล \r\n ระดับคะแนน \r\n \r\n ) : (\r\n \r\n Criteria \r\n Score \r\n \r\n )}\r\n
    \r\n\r\n
    {listItems}
    \r\n \r\n );\r\n }\r\n\r\n render() {\r\n console.log(\"resutl\", this.state.tableData);\r\n\r\n return (\r\n
    \r\n {/* */}\r\n\r\n window.history.back()}\r\n title={\r\n this.state.language == \"TH\"\r\n ? this.state.titleTH\r\n : this.state.titleEN\r\n }\r\n />\r\n\r\n
    \r\n {this.state.language == \"TH\" ? (\r\n

    {this.state.titleTH}

    \r\n ) : (\r\n

    {this.state.titleEN}

    \r\n )}\r\n
    \r\n\r\n
    \r\n {this.renderTable()}\r\n
    \r\n {this.state.language == \"TH\" ? (\r\n {\r\n this.handleSaveDraft(\r\n this.AnsData.ansForm,\r\n this.state.tableData\r\n );\r\n console.log('this.AnsData.ansForm in save draft', this.AnsData.ansForm)\r\n }}\r\n >\r\n บันทึกร่าง\r\n \r\n ) : (\r\n {\r\n this.handleSaveDraft(\r\n this.AnsData.ansForm,\r\n this.state.tableData\r\n );\r\n }}\r\n >\r\n Draft\r\n \r\n )}\r\n {this.state.language == \"TH\" ? (\r\n {\r\n this.handleSubmit(\r\n this.AnsData.ansForm,\r\n this.state.tableData,\r\n //RUN: เพิ่มการนำตัวแปรเข้า handlesubmit 11/04/2012\r\n this.state.Tooltip\r\n );\r\n }}\r\n >\r\n ส่งข้อมูล\r\n \r\n ) : (\r\n {\r\n this.handleSubmit(\r\n this.AnsData.ansForm,\r\n this.state.tableData,\r\n //RUN: เพิ่มการนำตัวแปรเข้า handlesubmit 11/04/2012\r\n this.state.Tooltip\r\n );\r\n }}\r\n >\r\n Submit\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import { Table, Tag, Spin, PageHeader, Select, Tabs } from \"antd\";\r\n\r\nimport { relativeTimeThreshold } from \"moment\";\r\nimport React, { Component } from \"react\";\r\n\r\nimport Dialog from \"../shared/dialog\";\r\nimport \"../shared/css/list-page.css\";\r\nimport \"../shared/css/headerpages.css\";\r\nimport \"../shared/css/table.css\";\r\n\r\nconst data = [\r\n {\r\n key: 1,\r\n title: \"คุณภาพชีวิตในการทำงานและความผูกพันต่อองค์กร\",\r\n name1: \"น้อยมาก\",\r\n name2: \"น้อย\",\r\n name3: \"ปานกลาง\",\r\n name4: \"มาก\",\r\n name5: \"มากที่สุด\",\r\n },\r\n {\r\n key: 2,\r\n title: \"ความสุขในการทำงาน\",\r\n name1: \"น้อยมาก\",\r\n name2: \"น้อย\",\r\n name3: \"ปานกลาง\",\r\n name4: \"มาก\",\r\n name5: \"มากที่สุด\",\r\n },\r\n];\r\n\r\nconst columns = [\r\n {\r\n title: \"แบบประเมิน\",\r\n dataIndex: \"title\",\r\n key: \"title\",\r\n },\r\n {\r\n title: \"แปลความหมายของระดับค่าเฉลี่ย\",\r\n children: [\r\n {\r\n title: \"1.00-1.49\",\r\n dataIndex: \"name1\",\r\n key: \"name1\",\r\n },\r\n {\r\n title: \"1.50-2.49\",\r\n dataIndex: \"name2\",\r\n key: \"name2\",\r\n },\r\n {\r\n title: \"2.50-3.49\",\r\n dataIndex: \"name3\",\r\n key: \"name3\",\r\n },\r\n {\r\n title: \"3.50-4.49\",\r\n dataIndex: \"name4\",\r\n key: \"name4\",\r\n },\r\n {\r\n title: \"4.50-5.00\",\r\n dataIndex: \"name5\",\r\n key: \"name5\",\r\n },\r\n ],\r\n dataIndex: \"avg\",\r\n key: \"avg\",\r\n },\r\n];\r\n\r\nexport default class WorkLifeReport extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n language: this.props.lang,\r\n Datasource: [],\r\n DataSourceColumnTH: [],\r\n DataSourceColumnEN: [],\r\n Columns: [],\r\n query: \"\",\r\n queryPrim: \"\",\r\n results: [],\r\n resultsPrim: [],\r\n selectedRowKeys: [],\r\n selectedRowKeysPrim: [],\r\n\r\n searchBy: \"EmpId\",\r\n searchByPrim: \"EmpId\",\r\n DatasourcePrimary: [],\r\n };\r\n this.dialog = new Dialog();\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"statequery\", this.state.query);\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getEmpDataForBackState\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n id: \"f18ddd26-f184-4bce-9368-0c613e055bc0\",\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"result\", result);\r\n });\r\n }\r\n\r\n renderTable() {\r\n return (\r\n
    \r\n \r\n {/* render table header */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n{/* end render table header */}\r\n\r\n{/* render bo 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 \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    เกณฑ์ประเมินร้อยละของผู้ประเมินต่อผู้มีสิทธิประเมิน ร้อยละ ค่าเฉลี่ย ความหมาย
    54321
    1 ด้านค่าตอบแทนที่เพียงพอและยุติธรรม
    2 ด้านสภาพแวดล้อมการทำงานที่ปลอดภัยและการส่งเสริมสุขภาพ
    3 ด้านความก้าวหน้าและความมั่นคงในงาน
    รวมด้านความสุขในการทำงาน
    \r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n

    \r\n รายละเอียดผลการประเมินคุณภาพชีวิตในการทำงานและความผูกพันต่อองค์กร\r\n และความสุขในการทำงาน ประจำปีการศึกษา 2564\r\n

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

    \r\n {\" \"}\r\n ตาราง {\" \"}\r\n ค่าเฉลี่ยระดับคุณภาพชีวิตในการทำงานและความผูกพันต่อองค์กร\r\n และความสุขในการทำงานประจำปีการศึกษา 2564\r\n

    \r\n\r\n {this.renderTable()}\r\n
    \r\n );\r\n }\r\n}\r\n","import { Table, Tag, Spin, PageHeader, Select, Tabs } from \"antd\";\r\n\r\nimport { relativeTimeThreshold } from \"moment\";\r\nimport React, { Component } from \"react\";\r\n\r\nimport Dialog from \"../shared/dialog\";\r\nimport \"../shared/css/list-page.css\";\r\nimport \"../shared/css/headerpages.css\";\r\nimport \"../shared/css/table.css\";\r\n\r\nconst data = [\r\n {\r\n key: 1,\r\n title: \"ภาวะผู้นำ\",\r\n name1: \"น้อยมาก\",\r\n name2: \"น้อย\",\r\n name3: \"ปานกลาง\",\r\n name4: \"มาก\",\r\n name5: \"มากที่สุด\",\r\n },\r\n {\r\n key: 2,\r\n title: \"การบริหารตามหลักธรรมาภิบาล\",\r\n name1: \"น้อยมาก\",\r\n name2: \"น้อย\",\r\n name3: \"ปานกลาง\",\r\n name4: \"มาก\",\r\n name5: \"มากที่สุด\",\r\n },\r\n];\r\n\r\nconst columns = [\r\n {\r\n title: \"แบบประเมิน\",\r\n dataIndex: \"title\",\r\n key: \"title\",\r\n },\r\n {\r\n title: \"แปลความหมายของระดับค่าเฉลี่ย\",\r\n children: [\r\n {\r\n title: \"1.00-1.49\",\r\n dataIndex: \"name1\",\r\n key: \"name1\",\r\n },\r\n {\r\n title: \"1.50-2.49\",\r\n dataIndex: \"name2\",\r\n key: \"name2\",\r\n },\r\n {\r\n title: \"2.50-3.49\",\r\n dataIndex: \"name3\",\r\n key: \"name3\",\r\n },\r\n {\r\n title: \"3.50-4.49\",\r\n dataIndex: \"name4\",\r\n key: \"name4\",\r\n },\r\n {\r\n title: \"4.50-5.00\",\r\n dataIndex: \"name5\",\r\n key: \"name5\",\r\n },\r\n ],\r\n dataIndex: \"avg\",\r\n key: \"avg\",\r\n },\r\n];\r\n\r\nexport default class LeaderReport extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n language: this.props.lang,\r\n Datasource: [],\r\n DataSourceColumnTH: [],\r\n DataSourceColumnEN: [],\r\n Columns: [],\r\n query: \"\",\r\n queryPrim: \"\",\r\n results: [],\r\n resultsPrim: [],\r\n selectedRowKeys: [],\r\n selectedRowKeysPrim: [],\r\n\r\n searchBy: \"EmpId\",\r\n searchByPrim: \"EmpId\",\r\n DatasourcePrimary: [],\r\n };\r\n this.dialog = new Dialog();\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"statequery\", this.state.query);\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getEmpDataForBackState\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n id: \"f18ddd26-f184-4bce-9368-0c613e055bc0\",\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"result\", result);\r\n });\r\n }\r\n\r\n renderTable() {\r\n return (\r\n
    \r\n \r\n {/* render table header */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n{/* end render table header */}\r\n\r\n{/* render bo 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\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \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
    2
    3
    \r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n

    \r\n รายละเอียดผลการประเมินภาวะผู้นำและการบริหารตามหลักธรรมาภิบาลของผู้บริหารมหาวิทยาลัยพายัพ ประจำปีการศึกษา 2564\r\n

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

    \r\n\r\n ตาราง \r\n ค่าเฉลี่ยระดับภาวะผู้นำและการบริหารตามหลักธรรมาภิบาลของผู้บริหารมหาวิทยาลัยพายัพ ประจำปีการศึกษา 2564\r\n

    \r\n\r\n {this.renderTable()}\r\n
    \r\n );\r\n }\r\n}\r\n","import { Table, Tag, Spin, PageHeader, Select, Tabs, Button } from \"antd\";\r\nimport Column from \"antd/lib/table/Column\";\r\nimport { RollbackOutlined, UndoOutlined } from \"@ant-design/icons\";\r\nimport { relativeTimeThreshold } from \"moment\";\r\nimport React, { Component } from \"react\";\r\n\r\nimport Dialog from \"../shared/dialog\";\r\n\r\nimport \"../shared/css/list-page.css\";\r\nimport \"../shared/css/headerpages.css\";\r\n\r\nimport WorkLifeReport from \"../components/WorkLifeReport\";\r\nimport ReactToPrint from \"react-to-print\";\r\nimport LeaderReport from \"../components/LeaderReport\";\r\n\r\nconst { Option } = Select;\r\nconst { TabPane } = Tabs;\r\n\r\n// import ReactTable from \"react-table\";\r\n// import \"react-table/react-table.css\";\r\nclass ForAdmin extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n language: this.props.lang,\r\n Datasource: [],\r\n DataSourceColumnTH: [],\r\n DataSourceColumnEN: [],\r\n Columns: [],\r\n query: \"\",\r\n queryPrim: \"\",\r\n results: [],\r\n resultsPrim: [],\r\n selectedRowKeys: [],\r\n selectedRowKeysPrim: [],\r\n\r\n searchBy: \"EmpId\",\r\n searchByPrim: \"EmpId\",\r\n DatasourcePrimary: [],\r\n };\r\n this.dialog = new Dialog();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n // You don't have to do this check first, but it can help prevent an unneeded render\r\n this.setState({ language: nextProps.lang });\r\n }\r\n handleChangeStatus = (record) => {\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveItemBackState\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: record.EmpId,\r\n ansformid: record.AnsFormId,\r\n remark: \"\",\r\n hrid: localStorage.getItem(\"EmpId\"),\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n this.componentDidMount();\r\n });\r\n };\r\n spinnerControl() {\r\n this.setState({ spinner: !this.state.spinner });\r\n }\r\n\r\n componentDidMount() {\r\n this.spinnerControl();\r\n console.log(\"statequery\", this.state.query);\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getEmpDataForBackState\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n id: \"f18ddd26-f184-4bce-9368-0c613e055bc0\",\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"result\", result);\r\n console.log(\"this.search\", this.search.value);\r\n console.log(\"this.search\", this.searchPrim);\r\n\r\n if (this.search.value == \"\") {\r\n this.setState({\r\n Datasource: result[0].EmpSelfList,\r\n Columns: result[0].Table[0].TableColumn,\r\n DatasourcePrimary: result[0].EmpPrimaryList,\r\n results: result[0].EmpSelfList,\r\n resultsPrim: result[0].EmpPrimaryList,\r\n });\r\n } else {\r\n this.setState({\r\n Datasource: result[0].EmpSelfList,\r\n Columns: result[0].Table[0].TableColumn,\r\n results: result[0].EmpSelfList,\r\n resultsPrim: result[0].EmpPrimaryList,\r\n });\r\n this.setState(\r\n {\r\n query: this.search.value,\r\n },\r\n () => {\r\n if (this.state.query && this.state.query.length > 0) {\r\n console.log(\"this.state.searchBy\", this.state.searchBy);\r\n const allData = this.state.results;\r\n const dataToShow = [];\r\n allData.forEach((item) => {\r\n const searchString = this.state.query.toUpperCase();\r\n if (item[this.state.searchBy].includes(searchString)) {\r\n dataToShow.push(item);\r\n }\r\n this.setState({\r\n Datasource: dataToShow,\r\n });\r\n });\r\n } else {\r\n this.setState({\r\n Datasource: this.state.results,\r\n });\r\n }\r\n }\r\n );\r\n if (this.searchPrim !== undefined) {\r\n this.setState(\r\n {\r\n queryPrim: this.searchPrim.value,\r\n },\r\n () => {\r\n if (this.state.queryPrim && this.state.queryPrim.length > 0) {\r\n console.log(\"this.state.searchBy\", this.state.searchByPrim);\r\n const allData = this.state.resultsPrim;\r\n const dataToShow = [];\r\n allData.forEach((item) => {\r\n const searchString = this.state.queryPrim.toUpperCase();\r\n if (item[this.state.searchByPrim].includes(searchString)) {\r\n dataToShow.push(item);\r\n }\r\n this.setState({\r\n DatasourcePrimary: dataToShow,\r\n });\r\n });\r\n } else {\r\n this.setState({\r\n DatasourcePrimary: this.state.resultsPrim,\r\n });\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n if (this.state.DataSourceColumnTH.length == 0) {\r\n this.state.Columns.forEach((e) => {\r\n if (e.ColumnKeyTH !== \"EvaluateStatus\") {\r\n this.state.DataSourceColumnTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n });\r\n } else {\r\n this.state.DataSourceColumnTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == 3) {\r\n return (\r\n
    \r\n \r\n ประเมินสำเร็จ\r\n \r\n {\r\n this.handleChangeStatus(record);\r\n }}\r\n style={{ fontSize: \"20px\", color: \"red\" }}\r\n />\r\n
    \r\n );\r\n } else if (e == 1) {\r\n return ยังไม่ได้ประเมิน;\r\n } else if (e == 2) {\r\n return กำลังประเมิน;\r\n }\r\n },\r\n });\r\n }\r\n });\r\n this.state.Columns.forEach((e) => {\r\n if (e.ColumnKeyEN !== \"EvaluateStatus\") {\r\n this.state.DataSourceColumnEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n });\r\n } else {\r\n this.state.DataSourceColumnEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == 3) {\r\n return (\r\n
    \r\n \r\n Completed\r\n \r\n {\r\n this.handleChangeStatus(record);\r\n }}\r\n style={{ fontSize: \"20px\", color: \"red\" }}\r\n />\r\n
    \r\n );\r\n } else if (e == 1) {\r\n return No Record;\r\n } else if (e == 2) {\r\n return In Progress;\r\n }\r\n },\r\n });\r\n }\r\n });\r\n this.setState({\r\n DataSourceColumnTH: this.state.DataSourceColumnTH.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n DataSourceColumnEN: this.state.DataSourceColumnEN.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n });\r\n }\r\n console.log(\r\n \"aisomcioasmicoamoiscmoiamsocamosciasc\",\r\n this.state.DataSourceColumnTH\r\n );\r\n\r\n this.spinnerControl();\r\n });\r\n }\r\n changeLangFunction(item) {\r\n localStorage.setItem(\"Language\", item);\r\n this.setState({ language: item });\r\n }\r\n\r\n getSearchResults = (query) => {\r\n console.log(\"query\", query);\r\n const allData = this.state.results;\r\n const dataToShow = [];\r\n allData.forEach((item) => {\r\n const searchString = query.toUpperCase();\r\n if (item[this.state.searchBy].includes(searchString)) {\r\n dataToShow.push(item);\r\n }\r\n });\r\n this.setState({\r\n Datasource: dataToShow,\r\n });\r\n };\r\n handleInputChange = () => {\r\n this.setState(\r\n {\r\n query: this.search.value,\r\n },\r\n () => {\r\n if (this.state.query && this.state.query.length > 0) {\r\n this.getSearchResults(this.state.query);\r\n } else {\r\n this.setState({\r\n Datasource: this.state.results,\r\n });\r\n }\r\n }\r\n );\r\n };\r\n selectRow = (record, rowIndex) => {\r\n console.log(\"record\", record);\r\n console.log(\"rowIndex\", rowIndex);\r\n\r\n const selectedRowKeys = [...this.state.selectedRowKeys];\r\n if (selectedRowKeys.indexOf(record.EmpId) >= 0) {\r\n console.log(\"record.EmpId\", record.EmpId);\r\n selectedRowKeys.splice(selectedRowKeys.indexOf(record.EmpId), 1);\r\n } else {\r\n console.log(\"record.EmpId 2\", record.EmpId);\r\n selectedRowKeys.pop();\r\n selectedRowKeys.push(record.EmpId);\r\n }\r\n\r\n this.setState({ selectedRowKeys });\r\n };\r\n onSelectedRowKeysChange = (selectedRowKeys) => {\r\n console.log(\"selectedRowKeys\", selectedRowKeys);\r\n this.setState({ selectedRowKeys });\r\n };\r\n onSelectedRowKeysChangePrim = (selectedRowKeysPrim) => {\r\n console.log(\"selectedRowKeys\", selectedRowKeysPrim);\r\n this.setState({ selectedRowKeysPrim });\r\n };\r\n selectRowPrim = (record, rowIndex) => {\r\n console.log(\"record\", record);\r\n console.log(\"rowIndex\", rowIndex);\r\n\r\n const selectedRowKeysPrim = [...this.state.selectedRowKeysPrim];\r\n if (selectedRowKeysPrim.indexOf(record.EmpId) >= 0) {\r\n console.log(\"record.EmpId\", record.EmpId);\r\n selectedRowKeysPrim.splice(selectedRowKeysPrim.indexOf(record.EmpId), 1);\r\n } else {\r\n console.log(\"record.EmpId 2\", record.EmpId);\r\n selectedRowKeysPrim.pop();\r\n selectedRowKeysPrim.push(record.EmpId);\r\n }\r\n\r\n this.setState({ selectedRowKeysPrim });\r\n };\r\n handleSearchByChange = (value) => {\r\n this.setState(\r\n {\r\n searchBy: value,\r\n },\r\n () => {\r\n if (this.state.query && this.state.query.length > 0) {\r\n this.getSearchResults(this.state.query);\r\n } else {\r\n this.setState({\r\n Datasource: this.state.results,\r\n });\r\n }\r\n }\r\n );\r\n };\r\n handleSearchByChangePrimary = (value) => {\r\n this.setState(\r\n {\r\n searchByPrim: value,\r\n },\r\n () => {\r\n if (this.state.queryPrim && this.state.queryPrim.length > 0) {\r\n this.getSearchResultsPrim(this.state.queryPrim);\r\n } else {\r\n this.setState({\r\n DatasourcePrimary: this.state.resultsPrim,\r\n });\r\n }\r\n }\r\n );\r\n };\r\n handleInputChangePrim = () => {\r\n console.log(\"this.search.value1\", this.search.value);\r\n this.setState(\r\n {\r\n queryPrim: this.searchPrim.value,\r\n },\r\n () => {\r\n if (this.state.queryPrim && this.state.queryPrim.length > 0) {\r\n this.getSearchResultsPrim(this.state.queryPrim);\r\n } else {\r\n this.setState({\r\n DatasourcePrimary: this.state.resultsPrim,\r\n });\r\n }\r\n }\r\n );\r\n };\r\n getSearchResultsPrim = (queryPrim) => {\r\n console.log(\"query\", queryPrim);\r\n const allData = this.state.resultsPrim;\r\n const dataToShow = [];\r\n allData.forEach((item) => {\r\n const searchString = queryPrim.toUpperCase();\r\n if (item[this.state.searchByPrim].includes(searchString)) {\r\n dataToShow.push(item);\r\n }\r\n });\r\n this.setState({\r\n DatasourcePrimary: dataToShow,\r\n });\r\n };\r\n\r\n refreshList() {\r\n console.log(\"this.search refreshList\", this.search.value);\r\n\r\n this.search.value = \"\";\r\n this.setState({\r\n Datasource: this.state.results,\r\n });\r\n }\r\n refreshListPrim() {\r\n this.searchPrim.value = \"\";\r\n console.log(\"this.search refreshListPrim\", this.search.value);\r\n this.setState({\r\n DatasourcePrimary: this.state.resultsPrim,\r\n });\r\n }\r\n changeTabs(key) {}\r\n render() {\r\n const {\r\n Datasource,\r\n DataSourceColumnTH,\r\n DataSourceColumnEN,\r\n selectedRowKeys,\r\n DatasourcePrimary,\r\n selectedRowKeysPrim,\r\n } = this.state;\r\n const rowSelection = {\r\n selectedRowKeys,\r\n onChange: this.onSelectedRowKeysChange,\r\n };\r\n const rowSelectionPrim = {\r\n selectedRowKeysPrim,\r\n onChange: this.onSelectedRowKeysChangePrim,\r\n };\r\n return (\r\n \r\n
    \r\n \r\n window.history.back()}\r\n title={\r\n this.state.language == \"TH\" ? \"ย้อนสถานะ\" : \"Reverse State\"\r\n }\r\n >\r\n this.changeTabs(e)}\r\n visible\r\n centered\r\n >\r\n \r\n \r\n this.handleSearchByChange(e)}\r\n >\r\n \r\n \r\n \r\n (this.search = input)}\r\n onChange={this.handleInputChange}\r\n autoFocus\r\n />\r\n this.refreshList()} />\r\n ({\r\n onClick: () => {\r\n this.selectRow(record, rowIndex);\r\n },\r\n })}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n \r\n this.handleSearchByChangePrimary(e)}\r\n >\r\n \r\n \r\n \r\n (this.searchPrim = input)}\r\n onChange={this.handleInputChangePrim}\r\n autoFocus\r\n />\r\n this.refreshListPrim()} />\r\n ({\r\n onClick: () => {\r\n this.selectRowPrim(record, rowIndex);\r\n },\r\n })}\r\n >\r\n \r\n \r\n \r\n\r\n {/* render tab for print report */}\r\n \r\n
    \r\n {\r\n return (\r\n \r\n \r\n \r\n
    \r\n );\r\n }}\r\n content={() => this.componentRef1}\r\n />\r\n \r\n\r\n
    (this.componentRef1 = el)}>\r\n \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 \r\n \r\n
    \r\n );\r\n }}\r\n content={() => this.componentRef}\r\n />\r\n \r\n\r\n
    (this.componentRef = el)}>\r\n \r\n
    \r\n \r\n \r\n\r\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 ForAdmin;\r\n","import { Row, Col, Button, Radio, Spin, PageHeader } from \"antd\";\r\n\r\nimport logo from \"../assets/images/logo-payap-bule.png\";\r\nimport \"antd/dist/antd.css\";\r\nimport React, { Component, useState } from \"react\";\r\nimport { NavLink, Redirect } from \"react-router-dom\";\r\nimport EventEmitter from \"eventemitter3\";\r\nimport { getKeyThenIncreaseKey } from \"antd/lib/message\";\r\nimport * as _ from \"lodash\"; //\r\nimport moment from \"moment\";\r\n\r\nimport Dialog from \"../shared/dialog\";\r\nimport ReactToPrint from \"react-to-print\";\r\nimport '../shared/css/headerpages.css'\r\n\r\n\r\nimport \"../App.css\";\r\n\r\n\r\n\r\nclass SelfFormReport extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n items: [],\r\n ansFormArray: [],\r\n headerForm: [],\r\n Tooltip: [],\r\n //RUN: เพิ่ม Weight 14/04/2021\r\n weight: [],\r\n //RUN: เพิ่ม การ get Language 16/04/2021\r\n language: localStorage.getItem(\"Language\"),\r\n titleTH: 'รายงานการผลการปฎิบัติงานของบุคลากรมหาวิทยาลัยพายัพ ประจำปีการศึกษา 2564',\r\n titleEN: 'Performance Evaluation of Payap University for the 2021 Academic Year'\r\n };\r\n this.AnsData = {\r\n ansForm: [],\r\n ansFormArray: [],\r\n ansTotalClick: [],\r\n ansTotalClickTopic: [],\r\n ansTotalClickSubSubTopic: [],\r\n TotalCalculate: 0,\r\n };\r\n this.FromLocal = {\r\n PositionID: \"\",\r\n //RUN: เพิ่มตัวแปร PositionGroupID เพื่อเก็บค่าไว้ตรวจสอบการคำนวณ Weight คะแนน 14/04/2021\r\n PositionGroupID: \"\",\r\n };\r\n this.initArrays = {\r\n TopicsArr: [],\r\n SubTopicArr: [],\r\n SubSubTopicArr: [],\r\n //RUN: เพิ่ม ตัวแปร array เก็บค่า 14/04/2021\r\n InProgressForm: [],\r\n };\r\n this.dialog = new Dialog();\r\n }\r\n\r\n \r\n componentWillReceiveProps(nextProps){\r\n console.log('nextProps',nextProps)\r\n this.setState({language: nextProps.lang})\r\n }\r\n\r\n //RUN: เปลี่ยนจาก componentDidMount เป็น componentWillMount ->\r\n //-> เพื่อให้ทำการดึงข้อมูลมาแบบเมื่อเปิดทันที ส่วนของ componentDidMount จะมีหน้าที่อื่นในอนาคต 14/04/2021\r\n componentWillMount() {\r\n if (localStorage.getItem(\"EmpId\")) {\r\n this.spinnerControl()\r\n\r\n this.FromLocal.PositionID = parseInt(localStorage.getItem(\"PositionID\"));\r\n //RUN: เพิ่มการดึง GroupPositionID มาจาก LocalStorage\r\n\r\n this.FromLocal.PositionGroupID = localStorage.getItem(\"GroupPositionID\");\r\n console.log(\"in if\");\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getCriteriaAndUserAns1D\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n formtypeid: 1,\r\n field: localStorage.getItem(\"Field\"),\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n // console.log(\"result: \" + result);\r\n result.forEach((e) => {\r\n this.initArrays.TopicsArr = e.Topics;\r\n this.initArrays.SubTopicArr = e.SubTopics;\r\n //RUN : เพิ่มการ ใส่ InProgress หากมี หากไม่มีจะใส่เป็น array เปล่าซึ่งไม่มีผลใดๆกับ Process 16/04/2021\r\n this.initArrays.InProgressForm = e.AnsForm;\r\n this.initArrays.SubSubTopicArr = e.SubSubTopics;\r\n });\r\n console.log(\"localStorage.getItem()\", localStorage.getItem(\"Field\"));\r\n //RUN: นำ ans data เข้าไปใส่ใน array ที่ใช้ ิวิ่งข้อมูล Default\r\n if (this.initArrays.InProgressForm.length > 0) {\r\n this.initArrays.InProgressForm.forEach((e) => {\r\n this.AnsData.ansForm.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n });\r\n });\r\n }\r\n //RUN: เพิ่ม Weight ให้ Topic\r\n var tempWeightTopic;\r\n this.initArrays.TopicsArr.forEach((e) => {\r\n if (this.FromLocal.PositionGroupID == \"E\") {\r\n console.log(\"positionID = E\");\r\n tempWeightTopic = e.WeightOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"C\") {\r\n tempWeightTopic = e.WeightLecturerOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"B\") {\r\n tempWeightTopic = e.WeightLecturer;\r\n } else if (\r\n this.FromLocal.PositionGroupID == \"A\" ||\r\n this.FromLocal.PositionGroupID == \"D\"\r\n ) {\r\n tempWeightTopic = e.WeightBoards;\r\n } else if (this.FromLocal.PositionGroupID == \"F\") {\r\n console.log(\"group = f\");\r\n if (localStorage.getItem(\"Field\") == 1) {\r\n console.log(\"field 1\");\r\n\r\n tempWeightTopic = e.WeightOfficer;\r\n } else {\r\n console.log(\"field 2\");\r\n\r\n tempWeightTopic = e.WeightLecturer;\r\n }\r\n }\r\n this.state.weight.push({\r\n ToppicId: e.ToppicId.toString(),\r\n SubToppicId: 0,\r\n SubSubToppicId: 0,\r\n WeightBoards: e.WeightBoards,\r\n WeightLecturer: e.WeightLecturer,\r\n WeightLecturerOfficer: e.WeightLecturerOfficer,\r\n WeightOfficer: e.WeightOfficer,\r\n WeightCriteria: tempWeightTopic,\r\n IsMainTopic: true,\r\n });\r\n });\r\n //#region RUN: Key ไว้ดูว่า ตำแหน่งไหนใช้ Weight ตัวไหน 14/04/2021\r\n //KEY / Legend\r\n // WeightApply | GroupPositionID\r\n // WeightBoards : A,D\r\n // WeightLecturer : B\r\n // WeightLecturerOfficer : C\r\n // WeightOfficer : E\r\n //#endregion\r\n\r\n //RUN: เพิ่ม การตรวจสอบ employee คนนี้มีตำแหน่งอะไรและเลือกใช้ Weightให้ ถูกต้อง\r\n var tempWeightApplySubTopic;\r\n\r\n console.log(\"GroupPositionID\", this.FromLocal.PositionGroupID);\r\n var nameWeightApply = \"\";\r\n if (this.FromLocal.PositionGroupID == \"E\") {\r\n nameWeightApply = \"WeightOfficer\";\r\n } else if (this.FromLocal.PositionGroupID == \"C\") {\r\n nameWeightApply = \"WeightLecturerOfficer\";\r\n } else if (this.FromLocal.PositionGroupID == \"B\") {\r\n nameWeightApply = \"WeightLecturer\";\r\n } else if (\r\n this.FromLocal.PositionGroupID == \"A\" ||\r\n this.FromLocal.PositionGroupID == \"D\"\r\n ) {\r\n nameWeightApply = \"WeightBoards\";\r\n } else if (this.FromLocal.PositionGroupID == \"F\") {\r\n if (localStorage.getItem(\"Field\") == 1) {\r\n nameWeightApply = \"WeightOfficer\";\r\n } else {\r\n nameWeightApply = \"WeightLecturer\";\r\n }\r\n }\r\n //RUN: ตัดข้อมูลที่ weight คะแนนเป็น 0 ออก\r\n this.initArrays.SubTopicArr = this.initArrays.SubTopicArr.filter(\r\n (e) => {\r\n return e[(\"\", nameWeightApply)] !== 0;\r\n }\r\n );\r\n //RUN: ตัดข้อมูลที่ weight คะแนนเป็น 0 ออก\r\n this.initArrays.SubSubTopicArr = this.initArrays.SubSubTopicArr.filter(\r\n (e) => {\r\n return e[(\"\", nameWeightApply)] !== 0;\r\n }\r\n );\r\n\r\n this.initArrays.SubTopicArr.forEach((e) => {\r\n //RUN: เพิ่มcondition ตรวจสอบว่าเป็นตำแหน่งใดและนำไปใช้ในตัวแปรtemp เพื่อส่งเข้า array\r\n if (this.FromLocal.PositionGroupID == \"E\") {\r\n tempWeightApplySubTopic = e.WeightOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"C\") {\r\n tempWeightApplySubTopic = e.WeightLecturerOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"B\") {\r\n tempWeightApplySubTopic = e.WeightLecturer;\r\n } else if (\r\n this.FromLocal.PositionGroupID == \"A\" ||\r\n this.FromLocal.PositionGroupID == \"D\"\r\n ) {\r\n tempWeightApplySubTopic = e.WeightBoards;\r\n } else if (this.FromLocal.PositionGroupID == \"F\") {\r\n if (localStorage.getItem(\"Field\") == 1) {\r\n tempWeightApplySubTopic = e.WeightOfficer;\r\n } else {\r\n tempWeightApplySubTopic = e.WeightLecturer;\r\n }\r\n }\r\n this.state.Tooltip.push({\r\n ToppicId: e.ToppicId,\r\n SubToppicId: e.SubToppicId,\r\n SubSubToppicId: 0,\r\n Tooltip1TH: e.Tooltip1TH,\r\n Tooltip1EN: e.Tooltip1EN,\r\n Tooltip2TH: e.Tooltip2TH,\r\n Tooltip2EN: e.Tooltip2EN,\r\n Tooltip3TH: e.Tooltip3TH,\r\n Tooltip3EN: e.Tooltip3EN,\r\n Tooltip4TH: e.Tooltip4TH,\r\n Tooltip4EN: e.Tooltip4EN,\r\n Tooltip5TH: e.Tooltip5TH,\r\n Tooltip5EN: e.Tooltip5EN,\r\n WeightBoards: e.WeightBoards,\r\n WeightLecturer: e.WeightLecturer,\r\n WeightLecturerOfficer: e.WeightLecturerOfficer,\r\n WeightOfficer: e.WeightOfficer,\r\n //RUN: WeightCriteria เพื่อนำไปใช้ในการวางคะแนนแบบ Global\r\n WeightCriteria: tempWeightApplySubTopic,\r\n showRemark: false,\r\n //RUN: เพิ่ม field isCompetency เพื่อใช้ตรวจสอบการ ว่าเป็นการประเมินด้าน สมรรณถนะ 18/04/2021\r\n isCompetency: e.isCompetency,\r\n Remarks: \"\",\r\n });\r\n });\r\n var tempWeightApplySubSubTopic;\r\n this.initArrays.SubSubTopicArr.forEach((e) => {\r\n //RUN: เพิ่มcondition ตรวจสอบว่าเป็นตำแหน่งใดและนำไปใช้ในตัวแปรtemp เพื่อส่งเข้า array\r\n if (this.FromLocal.PositionGroupID == \"E\") {\r\n tempWeightApplySubSubTopic = e.WeightOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"C\") {\r\n tempWeightApplySubSubTopic = e.WeightLecturerOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"B\") {\r\n tempWeightApplySubSubTopic = e.WeightLecturer;\r\n } else if (\r\n this.FromLocal.PositionGroupID == \"A\" ||\r\n this.FromLocal.PositionGroupID == \"D\"\r\n ) {\r\n tempWeightApplySubSubTopic = e.WeightBoards;\r\n } else if (this.FromLocal.PositionGroupID == \"F\") {\r\n if (localStorage.getItem(\"Field\") == 1) {\r\n tempWeightApplySubSubTopic = e.WeightOfficer;\r\n } else {\r\n tempWeightApplySubSubTopic = e.WeightLecturer;\r\n }\r\n }\r\n this.state.Tooltip.push({\r\n ToppicId: e.ToppicId,\r\n SubToppicId: e.SubToppicId,\r\n SubSubToppicId: e.SubSubToppicId,\r\n Tooltip1TH: e.Tooltip1TH,\r\n Tooltip1EN: e.Tooltip1EN,\r\n Tooltip2TH: e.Tooltip2TH,\r\n Tooltip2EN: e.Tooltip2EN,\r\n Tooltip3TH: e.Tooltip3TH,\r\n Tooltip3EN: e.Tooltip3EN,\r\n Tooltip4TH: e.Tooltip4TH,\r\n Tooltip4EN: e.Tooltip4EN,\r\n Tooltip5TH: e.Tooltip5TH,\r\n Tooltip5EN: e.Tooltip5EN,\r\n WeightBoards: e.WeightBoards,\r\n WeightLecturer: e.WeightLecturer,\r\n WeightLecturerOfficer: e.WeightLecturerOfficer,\r\n WeightOfficer: e.WeightOfficer,\r\n //RUN: WeightCriteria เพื่อนำไปใช้ในการวางคะแนนแบบ Global\r\n WeightCriteria: tempWeightApplySubSubTopic,\r\n showRemark: false,\r\n //RUN: เพิ่ม field isCompetency เพื่อใช้ตรวจสอบการ ว่าเป็นการประเมินด้าน สมรรณถนะ 18/04/2021\r\n isCompetency: e.isCompetency,\r\n Remarks: \"\",\r\n });\r\n });\r\n //RUN ตัวนี้จำเป็นสำหรับการ Check ค่า Remark ถ้ามีให้แสดงด้วยแต่ถ้าเป็น default ต้องให้ไม่แสดง 16/04/2021\r\n this.AnsData.ansForm.forEach((e1) => {\r\n this.state.Tooltip.forEach((e2) => {\r\n if (\r\n e1.TopicId == e2.ToppicId &&\r\n e1.SubTopicId == e2.SubToppicId &&\r\n e1.SubSubTopicId == e2.SubSubToppicId\r\n ) {\r\n e2.Remarks = e1.Remark;\r\n if (e1.Remark !== \"-\") {\r\n e2.showRemark = true;\r\n }\r\n }\r\n });\r\n });\r\n this.AnsData.ansForm.forEach((e) => {\r\n this.AnsData.ansTotalClick.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n });\r\n });\r\n var temp = [];\r\n var temp2 = [];\r\n this.AnsData.ansTotalClick.forEach((e) => {\r\n if (this.AnsData.ansTotalClickTopic.length == 0) {\r\n this.AnsData.ansTotalClickTopic.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp = this.AnsData.ansTotalClickTopic.filter((e2) => {\r\n return e2.TopicId == e.TopicId;\r\n });\r\n if (temp.length == 0) {\r\n this.AnsData.ansTotalClickTopic.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n this.AnsData.ansTotalClickTopic.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalClick.forEach((e) => {\r\n if (e.SubSubTopicId > 0) {\r\n if (this.AnsData.ansTotalClickSubSubTopic.length == 0) {\r\n this.AnsData.ansTotalClickSubSubTopic.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp = this.AnsData.ansTotalClickSubSubTopic.filter((e2) => {\r\n return (\r\n e2.TopicId == e.TopicId && e2.SubTopicId == e.SubTopicId\r\n );\r\n });\r\n if (temp.length == 0) {\r\n this.AnsData.ansTotalClickSubSubTopic.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n this.AnsData.ansTotalClickSubSubTopic.forEach((e3) => {\r\n if (\r\n e3.TopicId == e.TopicId &&\r\n e3.SubTopicId == e.SubTopicId\r\n ) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n var total = 0;\r\n this.AnsData.ansTotalClickTopic.forEach((e) => {\r\n total = total + e.CalPoint;\r\n });\r\n\r\n this.AnsData.TotalCalculate = total;\r\n // console.log(\"total\", total);\r\n // console.log(\r\n // \"this.AnsData.ansTotalClickSubSubTosssspic\",\r\n // this.AnsData.ansTotalClickSubSubTopic\r\n // );\r\n console.log(\"this.state.Toolstip.\", this.state.Tooltip);\r\n this.setState({ tableData: result });\r\n this.spinnerControl()\r\n\r\n });\r\n } else {\r\n }\r\n }\r\n\r\n spinnerControl() {\r\n this.setState({ spinner: !this.state.spinner })\r\n }\r\n\r\n testarrayDupFunction(ToppicId, SubToppicId, SubSubToppicId) {\r\n console.log(\"testarrayDupFunction\");\r\n var tempDup = [];\r\n //RUN: ยัดใส่เป็น ToString ให้หมดเนื่องจากส่งไปsave กับ ส่งคืนมา มีค่าdatatype อิอัยยยยยยยยยย 16/04/2021\r\n var tempToppicId = ToppicId.toString();\r\n var tempSubToppicId = SubToppicId.toString();\r\n var tempSubSubToppicId = SubSubToppicId.toString();\r\n tempDup = this.AnsData.ansForm.filter((e) => {\r\n return (\r\n e.TopicId.toString() !== tempToppicId ||\r\n e.SubTopicId.toString() !== tempSubToppicId ||\r\n e.SubSubTopicId.toString() !== tempSubSubToppicId\r\n );\r\n });\r\n console.log(\"tempDup\", tempDup);\r\n return tempDup;\r\n }\r\n\r\n\r\n \r\n //RUN: เพิ่ม method getDefault เพื่อนำข้อมูลจาก savedraft เข้าไป set ค่าให้ 16/04/2021\r\n getDefaultScore(ToppicId, SubToppicId, SubSubToppicId) {\r\n var tempArray = [];\r\n tempArray = this.AnsData.ansForm.filter((e) => {\r\n return (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n );\r\n });\r\n if (tempArray.length > 0) {\r\n return tempArray[0].Point;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n splicingTitle(title) {\r\n var newtext = \"\";\r\n newtext = title.replace(/[0-9]/g, \"\");\r\n newtext = newtext.replace(/[.]/g, \"\");\r\n if (this.state.language == \"TH\") {\r\n newtext = newtext.replace(/\\s/g, \"\");\r\n }\r\n return newtext;\r\n }\r\n\r\n TotalClickPointTopicFunction(TopicId, SubTopicId, SubSubTopicId) {\r\n var tempArray = [];\r\n this.AnsData.ansForm.forEach((e) => {\r\n tempArray.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n });\r\n });\r\n var temp = [];\r\n var temp2 = [];\r\n tempArray.forEach((e) => {\r\n if (temp2.length == 0) {\r\n temp2.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp = temp2.filter((e2) => {\r\n return e2.TopicId == e.TopicId;\r\n });\r\n if (temp.length == 0) {\r\n temp2.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp2.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalClickTopic = temp2;\r\n\r\n var temp3 = [];\r\n var temp4 = [];\r\n tempArray.forEach((e) => {\r\n if (e.SubSubTopicId > 0) {\r\n if (temp3.length == 0) {\r\n temp3.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp4 = temp3.filter((e2) => {\r\n return e2.TopicId == e.TopicId && e2.SubTopicId == e.SubTopicId;\r\n });\r\n if (temp4.length == 0) {\r\n temp3.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp3.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId && e3.SubTopicId == e.SubTopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalClickSubSubTopic = temp3;\r\n var total = 0;\r\n this.AnsData.ansTotalClickTopic.forEach((e) => {\r\n total = total + e.CalPoint;\r\n });\r\n\r\n this.AnsData.TotalCalculate = total;\r\n }\r\n\r\n decimalPointChange(item) {\r\n var temp = \"\";\r\n temp = item.toString();\r\n\r\n console.log(\"temp\", temp);\r\n if (temp.includes(\".\")) {\r\n return parseFloat(item).toFixed(2);\r\n } else {\r\n return item;\r\n }\r\n }\r\n\r\n //Run: new Structure 09/04/2021\r\n renderTable() {\r\n \r\n //Run: เพิ่ม การแสดง cal คะแนน 14/04/2021\r\n // this.AnsData.ansTotalClickTopic\r\n // console.log('this.ARRR', this.state.Tooltip)\r\n // console.log('this.ini', this.initArrays.SubSubTopicArr)\r\n console.log(\r\n \"this.AnsData.ansTotalClickSubSubTopic\",\r\n this.AnsData.ansTotalClickSubSubTopic\r\n );\r\n const totalclickPointSubSubTopic = this.AnsData.ansTotalClickSubSubTopic.map(\r\n ({ TopicId, CalPoint, SubTopicId, SubSubTopicId }, Index) => (\r\n
    \r\n {/* {CalPoint} */}\r\n {this.decimalPointChange(CalPoint)}\r\n
    \r\n )\r\n );\r\n const totalclickpointTopic = this.AnsData.ansTotalClickTopic.map(\r\n ({ TopicId, CalPoint }, Index) => (\r\n
    \r\n {/* {CalPoint}\r\n */}\r\n {this.decimalPointChange(CalPoint)}\r\n
    \r\n )\r\n );\r\n const listCalScore = this.AnsData.ansForm.map(\r\n ({ TopicId, SubTopicId, SubSubTopicId, CalPoint }, Index) => (\r\n \r\n
    \r\n {/* {CalPoint} */}\r\n {this.decimalPointChange(CalPoint)}\r\n
    \r\n \r\n )\r\n );\r\n //Run: เพิ่ม listweight ของ topic หลัก 14/04/2021\r\n const listWeightsTotal = this.state.weight.map(\r\n (\r\n { SubSubToppicId, SubToppicId, ToppicId, WeightCriteria, IsMainTopic },\r\n Index\r\n ) => (\r\n \r\n
    {WeightCriteria}
    \r\n \r\n )\r\n );\r\n //Run: เพิ่ม weight 14/04/2021\r\n const listofWeight = this.state.Tooltip.map(\r\n (\r\n { SubSubToppicId, SubToppicId, ToppicId, Tooltip1TH, WeightCriteria },\r\n Counts\r\n ) => (\r\n \r\n {
    {WeightCriteria}
    }\r\n \r\n )\r\n );\r\n\r\n const listbuttonSubSubTopic = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip5TH,\r\n Tooltip4TH,\r\n Tooltip3TH,\r\n Tooltip2TH,\r\n Tooltip1TH,\r\n Tooltip5EN,\r\n Tooltip4EN,\r\n Tooltip3EN,\r\n Tooltip2EN,\r\n Tooltip1EN,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n Remarks,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH && SubSubToppicId > 0 && (\r\n {\r\n this.handleChange(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.value,\r\n Counts,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria\r\n );\r\n }}\r\n >\r\n \r\n 5\r\n 4\r\n 3\r\n 2\r\n 1\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n )\r\n );\r\n\r\n const listRemarkSubSubTopic = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip5TH,\r\n Tooltip4TH,\r\n Tooltip3TH,\r\n Tooltip2TH,\r\n Tooltip1TH,\r\n Tooltip5EN,\r\n Tooltip4EN,\r\n Tooltip3EN,\r\n Tooltip2EN,\r\n Tooltip1EN,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n Remarks,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH && SubSubToppicId > 0 && (\r\n {\r\n this.handleRemark(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.value\r\n );\r\n }}\r\n >\r\n {Remarks !== \"\"?
    เหตุผล:
    \r\n

    {Remarks}

    : null}\r\n \r\n )}\r\n \r\n )\r\n );\r\n\r\n\r\n const listbuttonSubTopic = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip5TH,\r\n Tooltip4TH,\r\n Tooltip3TH,\r\n Tooltip2TH,\r\n Tooltip1TH,\r\n Tooltip5EN,\r\n Tooltip4EN,\r\n Tooltip3EN,\r\n Tooltip2EN,\r\n Tooltip1EN,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n Remarks,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH && SubSubToppicId == 0 && (\r\n {\r\n this.handleChange(\r\n ToppicId,\r\n SubToppicId,\r\n 0,\r\n e.target.value,\r\n Counts,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria\r\n );\r\n }}\r\n >\r\n \r\n 5\r\n 4\r\n 3\r\n 2\r\n 1\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n )\r\n );\r\n\r\n const listRemarkSubTopic = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip1TH,\r\n showRemark,\r\n isCompetency,\r\n Remarks,\r\n },\r\n Counts\r\n ) => (\r\n \r\n\r\n {Tooltip1TH && SubSubToppicId == 0 && showRemark == true && (\r\n {\r\n this.handleRemark(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.value\r\n );\r\n }}\r\n >\r\n {Remarks !== \"\"?
    เหตุผล:
    \r\n

    {Remarks}

    : null}\r\n \r\n\r\n )}\r\n \r\n )\r\n );\r\n\r\n\r\n\r\n\r\n const listSubSubTopics = this.initArrays.SubSubTopicArr.map(\r\n (\r\n {\r\n TitleTH,\r\n TitleEN,\r\n SubToppicId,\r\n ToppicId,\r\n SubSubToppicId,\r\n DescriptionTH,\r\n DescriptionEN,\r\n },\r\n Indexes\r\n ) => (\r\n \r\n \r\n {this.state.language == 'TH' ?\r\n \r\n

    \r\n\r\n {TitleTH} \r\n {DescriptionTH}\r\n

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

    \r\n\r\n {TitleEN} \r\n {DescriptionEN}\r\n

    \r\n \r\n\r\n }\r\n {/* Run: เพิ่มการใส่ น้ำหนักคะแนน 14/04/2021 */}\r\n \r\n {listofWeight.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n \r\n\r\n \r\n {listbuttonSubSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\" &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n \r\n\r\n {/* Run: เพิ่มการใส่ คะแนน Cal 14/04/2021 */}\r\n \r\n {listCalScore.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n \r\n\r\n \r\n
    \r\n\r\n {/* {เพิ่ม div remark} */}\r\n
    \r\n {listRemarkSubSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n // e.props.TooltipInfo !== \"\" &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n
    \r\n\r\n \r\n )\r\n );\r\n\r\n const listSubTopics = this.initArrays.SubTopicArr.map(\r\n (\r\n {\r\n TitleTH,\r\n TitleEN,\r\n SubToppicId,\r\n ToppicId,\r\n SubSubToppicId,\r\n DescriptionTH,\r\n DescriptionEN,\r\n },\r\n Index\r\n ) => (\r\n \r\n \r\n \r\n {this.state.language == 'TH' ?\r\n \r\n

    \r\n {TitleTH} {DescriptionTH}\r\n

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

    \r\n {TitleEN} {DescriptionEN}\r\n

    \r\n \r\n\r\n }\r\n {/* Run: เพิ่มการใส่ น้ำหนักคะแนน 14/04/2021 */}\r\n \r\n {listofWeight.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0\r\n );\r\n })}\r\n \r\n\r\n \r\n {listbuttonSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\"\r\n );\r\n })}\r\n\r\n \r\n\r\n {/* Run: เพิ่มการ ใส่ คะแนน Cal 14/04/2021*/}\r\n \r\n {listCalScore.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0\r\n );\r\n })}\r\n \r\n
    \r\n\r\n {/* {เพิ่ม div remark} */}\r\n
    \r\n {listRemarkSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\"\r\n );\r\n })}\r\n
    \r\n\r\n \r\n\r\n
    \r\n {listSubSubTopics.filter((e) => {\r\n return e.props.SubIDs == SubToppicId;\r\n })}\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n \r\n {DescriptionTH == \"\" && this.state.language == 'TH' ? (\r\n \r\n

    รวม{this.splicingTitle(TitleTH)}

    \r\n \r\n ) :\r\n null\r\n }\r\n {DescriptionTH == \"\" && this.state.language == 'EN' ? (\r\n \r\n

    {this.splicingTitle(TitleEN)} Total

    \r\n \r\n ) :\r\n null\r\n }\r\n {DescriptionTH == \"\" ? (\r\n \r\n {listofWeight.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0\r\n );\r\n })}\r\n \r\n ) : null}\r\n\r\n \r\n\r\n {DescriptionTH == \"\" ? (\r\n \r\n {totalclickPointSubSubTopic.filter((e) => {\r\n return (\r\n e.props.TopicId == ToppicId &&\r\n e.props.SubTopicId == SubToppicId\r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n )\r\n );\r\n\r\n\r\n\r\n const titleTopic = this.initArrays.TopicsArr.map(\r\n ({ ToppicId, TitleTH, TitleEN }, Order) => (\r\n
    \r\n {this.state.language == \"TH\" ? (\r\n
    รวม{this.splicingTitle(TitleTH)}
    \r\n ) : (\r\n
    {this.splicingTitle(TitleEN)} Total
    \r\n )}\r\n
    \r\n )\r\n );\r\n\r\n const listItems = this.initArrays.TopicsArr.map(\r\n ({ ToppicId, TitleTH, TitleEN, DescriptionTH, DescriptionEN }, Order) => (\r\n
    \r\n \r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n

    \r\n {TitleTH} \r\n {DescriptionTH}\r\n

    \r\n \r\n ) : (\r\n \r\n

    \r\n {TitleEN} \r\n {DescriptionEN}\r\n

    \r\n \r\n )}\r\n \r\n {/* Run: เพิ่มการ ใส่ น้ำหนักคะแนนสำหรับ Topic 14/04/2021*/}\r\n\r\n {listWeightsTotal.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == 0 &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0 &&\r\n e.props.IsMainTopic\r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {listSubTopics.filter((e) => {\r\n return e.props.ToppicID == ToppicId;\r\n })}\r\n
    \r\n \r\n \r\n \r\n

    \r\n {titleTopic.filter((e) => {\r\n return e.props.relateTopicID == ToppicId;\r\n })}\r\n

    \r\n \r\n\r\n \r\n {listWeightsTotal.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == 0 &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0 &&\r\n e.props.IsMainTopic\r\n );\r\n })}\r\n \r\n\r\n \r\n\r\n \r\n {totalclickpointTopic.filter((e) => {\r\n return e.props.relateTopicID == ToppicId;\r\n })}\r\n \r\n
    \r\n \r\n \r\n )\r\n );\r\n\r\n return (\r\n
    \r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n เกณฑ์การประเมินผล \r\n น้ำหนักคะแนน \r\n ระดับคะแนน \r\n คะแนน \r\n \r\n ) : (\r\n \r\n Criteria \r\n Score weight \r\n Score \r\n Total \r\n \r\n )}\r\n
    \r\n\r\n
    {listItems}
    \r\n \r\n \r\n \r\n

    \r\n {this.state.language == \"TH\" ? (\r\n รวมคะแนนที่ได้\r\n ) : (\r\n Total Score\r\n )}\r\n

    \r\n \r\n \r\n 100\r\n \r\n\r\n \r\n \r\n {this.decimalPointChange(this.AnsData.TotalCalculate)}\r\n \r\n
    \r\n \r\n \r\n );\r\n }\r\n\r\n renderHeader(){\r\n return (\r\n
    \r\n {this.state.language == 'TH' ?\r\n
    \r\n

    \r\n แบบฟอร์มประเมินผลการปฎิบัติงานของบุคลากรมหาวิทยาลัยพายัพ\r\n ประจำปีการศึกษา 2564\r\n

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

    \r\n Performance Evaluation of Payap University for\r\n the 2021 Academic Year\r\n

    \r\n
    \r\n \r\n }\r\n \r\n \r\n {this.state.language == 'TH' ?\r\n \r\n

    \r\n \r\n ชื่อ - สกุล \r\n {\" \" + localStorage.getItem(\"TitleTH\") +\r\n localStorage.getItem(\"FirstNameTH\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameTH\")}\r\n \r\n

    \r\n

    \r\n รหัสบุคลากร {localStorage.getItem(\"EmpId\")}\r\n

    \r\n

    \r\n สถานะ {localStorage.getItem(\"GroupPositionNAME\")}\r\n

    \r\n {/*

    \r\n วันเริ่มเข้างาน{\" \"}\r\n { \" \" + moment(localStorage.getItem(\"StartJob\")).format(\"DD/MM/YYYY\") }\r\n

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

    \r\n \r\n Firstname - Lastname \r\n {\" \" + localStorage.getItem(\"TitleEN\") + \" \"+\r\n localStorage.getItem(\"FirstNameEN\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameEN\")}\r\n \r\n

    \r\n

    \r\n Personnel Code {localStorage.getItem(\"EmpId\")}\r\n

    \r\n

    \r\n Status {localStorage.getItem(\"GroupPositionNameEN\")}\r\n

    \r\n {/*

    \r\n Start Date\r\n {\" \" +\r\n moment(localStorage.getItem(\"StartJob\")).format(\"DD/MM/YYYY\")}\r\n

    */}\r\n \r\n }\r\n {this.state.language == 'TH' ?\r\n \r\n

    \r\n ตำแหน่ง {localStorage.getItem(\"PositionNameTH\")}\r\n

    \r\n

    \r\n สังกัดฝ่าย {localStorage.getItem(\"DepartmentTH\")}\r\n

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

    \r\n Position {localStorage.getItem(\"PositionNameEN\")}\r\n

    \r\n

    \r\n Department {localStorage.getItem(\"DepartmentEN\")}\r\n

    \r\n \r\n }\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n\r\n\r\n handleSaveDraft = (ansSaveData, tableForm) => {\r\n this.spinnerControl()\r\n tableForm.forEach((element) => {\r\n element.AnsForm = ansSaveData;\r\n element.SubSubTopics = [];\r\n element.SubTopics = [];\r\n element.Topics = [];\r\n });\r\n\r\n console.log(\"tableForm\", tableForm);\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveForm\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n assessor: localStorage.getItem(\"EmpId\"),\r\n buttonaction: \"1\",\r\n jsonans: tableForm,\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"save draft result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\"บันทึกไม่สำเร็จ\");\r\n } else {\r\n this.dialog.WarningDialog(\"Unable to Save\");\r\n }\r\n this.spinnerControl()\r\n\r\n } else {\r\n // alert(\"บันทึกร่างสำเร็จ\");\r\n // window.location.href = \"/workform\";\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == \"TH\") {\r\n this.dialog.SuccessDialog(\"บันทึกสำเร็จ\", \"/workform\");\r\n } else {\r\n this.dialog.SuccessDialog(\"Save Success\", \"/workform\");\r\n }\r\n this.spinnerControl()\r\n\r\n }\r\n\r\n localStorage.removeItem(\"EvaluateStatus\");\r\n });\r\n };\r\n\r\n //RUN: เพิ่มการนำตัวแปรเข้า handlesubmit 11/04/2012\r\n handleSubmit = (ansSaveData, tableForm, countTotalRequire) => {\r\n //RUN: ตรวจสอบ condition ว่ามีค่าจำนวน ans เท่ากับ form หรือไม่ 11/04/2012\r\n this.spinnerControl()\r\n\r\n var tempArray = [];\r\n var tempArrayRemarkvalidation = [];\r\n tableForm.forEach((element) => {\r\n element.AnsForm = ansSaveData;\r\n element.SubSubTopics = [];\r\n element.SubTopics = [];\r\n element.Topics = [];\r\n });\r\n\r\n tempArray = countTotalRequire.filter((e) => {\r\n return e.Tooltip1TH !== \"\";\r\n });\r\n tempArrayRemarkvalidation = ansSaveData.filter((e) => {\r\n return e.Remark == \"\";\r\n });\r\n // console.log('tempArrayRemarkvalidation',tempArrayRemarkvalidation)\r\n\r\n //RUN: ใช้ Condition Nested If ให้เข้า Condition ให้ถูกต้อง และ แสดง error ขึ้นมาตามลำดับ 11/04/2021\r\n if (ansSaveData.length == tempArray.length) {\r\n if (tempArrayRemarkvalidation.length == 0) {\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveForm\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n assessor: localStorage.getItem(\"EmpId\"),\r\n buttonaction: \"2\",\r\n jsonans: tableForm,\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"submit result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\"บันทึกไม่สำเร็จ\");\r\n } else {\r\n this.dialog.WarningDialog(\"Unable to Save\");\r\n }\r\n this.spinnerControl()\r\n\r\n } else {\r\n // alert(\"บันทึกสำเร็จ\");\r\n // window.location.href = \"/workform\";\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == \"TH\") {\r\n this.dialog.SuccessDialog(\"บันทึกสำเร็จ\", \"/workform\");\r\n } else {\r\n this.dialog.SuccessDialog(\"Save Success\", \"/workform\");\r\n }\r\n }\r\n this.spinnerControl()\r\n\r\n\r\n localStorage.removeItem(\"EvaluateStatus\");\r\n });\r\n } else {\r\n // alert(\r\n // \"บันทึกไม่สำเร็จ ข้อมูลเหตุผลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\"\r\n // );\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\r\n \"บันทึกไม่สำเร็จ ข้อมูลเหตุผลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\"\r\n );\r\n } else {\r\n this.dialog.WarningDialog(\r\n \"Unable to save due to incomplete remark. Please check your assessment informations.\"\r\n );\r\n }\r\n this.spinnerControl()\r\n\r\n }\r\n } else {\r\n // alert(\"บันทึกไม่สำเร็จ ข้อมูลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\r\n \"บันทึกไม่สำเร็จ ข้อมูลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\"\r\n );\r\n } else {\r\n this.dialog.WarningDialog(\r\n \"Unable to save due to incomplete data. Please check your assessment informations.\"\r\n );\r\n }\r\n this.spinnerControl()\r\n\r\n }\r\n };\r\n\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n window.history.back()}\r\n title={this.state.language == 'TH' ? this.state.titleTH : this.state.titleEN}\r\n />\r\n {\r\n return (\r\n
    \r\n {this.state.language == \"TH\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n );\r\n }}\r\n content={() => this.componentRef}\r\n />\r\n
    (this.componentRef = el)}>\r\n {this.renderHeader()}\r\n\r\n
    \r\n {this.renderTable()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default SelfFormReport;\r\n","import React, { useState } from \"react\";\r\nimport { Route, Redirect, Link } from \"react-router-dom\";\r\nimport { isLogin, logout } from \"../utils/AuthGuard\";\r\nimport logo from \"../assets/images/logo-payap.png\";\r\n\r\nimport { Radio, Row, Col, Affix, Button, Drawer } from \"antd\";\r\n\r\n\r\nconst PrivateRoute = ({ component: Component, ...rest }) => {\r\n \r\n const [language, setLanguage] = useState( localStorage.getItem(\"Language\") );\r\n \r\n const [visible, setVisible] = useState(false);\r\n \r\n function handleLogout() {\r\n localStorage.clear();\r\n localStorage.setItem(\"Language\", \"TH\");\r\n logout();\r\n }\r\n\r\n return (\r\n // Show the component only when the user is logged in\r\n // Otherwise, redirect the user to /signin page\r\n\r\n \r\n isLogin() ? (\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \"Logo\"\r\n \r\n \r\n\r\n
    \r\n \r\n

    \r\n สำนักทรัพยากรบุคคล
    Office of Human Resources\r\n

    \r\n\r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n\r\n {/* render desktop menu */}\r\n
    \r\n \r\n \r\n \r\n เลือกภาษา\r\n

    \r\n \r\n\r\n \r\n
    \r\n \r\n [setLanguage(\"TH\"),localStorage.setItem('Language','TH')]}\r\n >\r\n ไทย\r\n \r\n [setLanguage(\"EN\"),localStorage.setItem('Language','EN')]}\r\n >\r\n English\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* render mobile menu */}\r\n setVisible(true)}\r\n >\r\n \r\n \r\n setVisible(false)}\r\n visible={visible}\r\n >\r\n \r\n เลือกภาษา\r\n

    \r\n
    \r\n \r\n setLanguage(\"TH\")}\r\n >\r\n ไทย\r\n \r\n setLanguage(\"EN\")}\r\n >\r\n English\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n\r\n \r\n
    \r\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 PrivateRoute;\r\n","import React from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { isLogin } from '../utils/AuthGuard';\r\n\r\nconst PublicRoute = ({component: Component, ...rest}) => {\r\n return (\r\n (\r\n isLogin() ?\r\n \r\n : \r\n )} />\r\n );\r\n};\r\n\r\nexport default PublicRoute;","import React, { useState } from \"react\";\r\nimport { Route, Redirect, Link } from \"react-router-dom\";\r\nimport { isLogin } from \"../utils/AuthGuard\";\r\nimport HeaderComponent from \"./HeaderComponent\";\r\nimport logo from \"../assets/images/logo-payap.png\";\r\nimport { logout } from \"../utils/AuthGuard\";\r\nimport { Radio, Row, Col, Affix, Button } from \"antd\";\r\n\r\nconst InfoRoute = ({ component: Component,data:data,...rest }) => {\r\n const [language, setLanguage] = useState(localStorage.getItem('Language'));\r\n\r\n function handleLogout() {\r\n localStorage.clear();\r\n localStorage.setItem(\"Language\", \"TH\");\r\n logout();\r\n }\r\n// console.log('component',Component)\r\n \r\n return (\r\n // Show the component only when the user is logged in\r\n // Otherwise, redirect the user to /signin page\r\n\r\n \r\n isLogin() ? (\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \"Logo\"\r\n \r\n \r\n \r\n

    \r\n สำนักทรัพยากรบุคคล
    Office of Human Resources\r\n

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

    \r\n เลือกภาษา\r\n

    \r\n
    \r\n \r\n [setLanguage(\"TH\"),localStorage.setItem('Language','TH')]}\r\n >\r\n ไทย\r\n \r\n [setLanguage(\"EN\"),localStorage.setItem('Language','EN')]}\r\n >\r\n English\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\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 InfoRoute;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Button,\r\n Radio,\r\n Tooltip,\r\n Input,\r\n Spin,\r\n PageHeader,\r\n Affix,\r\n} from \"antd\";\r\nimport Text from \"antd/lib/typography/Text\";\r\nimport Dialog from \"../shared/dialog\";\r\n\r\nconst { TextArea } = Input;\r\n\r\nclass AssessSuborndinateInfo extends Component {\r\n constructor(props) {\r\n super(props);\r\n console.log(\"props\", props);\r\n \r\n \r\n this.state = {\r\n //language: this.props.lang,\r\n language: localStorage.getItem(\"Language\"),\r\n tableData: [],\r\n Tooltip: [],\r\n //RUN: เพิ่ม Weight 14/04/2021\r\n weight: [],\r\n TooltipForEmp: [],\r\n record: [],\r\n };\r\n this.AnsData = {\r\n ansForm: [],\r\n ansFormArray: [],\r\n ansTotalClick: [],\r\n ansTotalClickTopic: [],\r\n ansTotalClickSubSubTopic: [],\r\n TotalCalculate: 0,\r\n ////////////////////////\r\n ansFormAssessor: [],\r\n ansFormAssessorArray: [],\r\n ansTotalAssessorClick: [],\r\n ansTotalAssessorClickTopic: [],\r\n ansTotalAssessorClickSubSubTopic: [],\r\n TotalAssessorCalculate: 0,\r\n };\r\n this.FromLocal = {\r\n PositionID: parseInt(this.props.location.state.record.PositionId),\r\n //RUN: เพิ่มตัวแปร PositionGroupID เพื่อเก็บค่าไว้ตรวจสอบการคำนวณ Weight คะแนน 14/04/2021\r\n PositionGroupID: this.props.location.state.record.GroupPostionId,\r\n field: parseInt(this.props.location.state.record.Field),\r\n };\r\n this.initArrays = {\r\n TopicsArr: [],\r\n SubTopicArr: [],\r\n SubSubTopicArr: [],\r\n //RUN: เพิ่ม ตัวแปร array เก็บค่า 14/04/2021\r\n UnderEmpAnsFormArr: [],\r\n PrimaryAnsFormArr: [],\r\n };\r\n this.dialog = new Dialog();\r\n\r\n \r\n }\r\n\r\n \r\n\r\n componentWillReceiveProps(nextProps){\r\n console.log('nextProps',nextProps)\r\n this.setState({language: nextProps.lang})\r\n localStorage.setItem(\"Language\", nextProps.lang);\r\n }\r\n\r\n\r\n\r\n componentDidMount() {\r\n this.spinnerControl();\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getCriteriaAndUserAnsPrimary\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n // empid: 772,\r\n formtypeid: 2,\r\n empunderid: this.props.location.state.record.EmpId,\r\n empunderfield: this.props.location.state.record.Field,\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"resultsssss\", result);\r\n result.forEach((e) => {\r\n this.initArrays.TopicsArr = e.Topics;\r\n this.initArrays.SubTopicArr = e.SubTopics;\r\n this.initArrays.PrimaryAnsFormArr = e.PrimaryAnsForm;\r\n this.initArrays.UnderEmpAnsFormArr = e.UnderEmpAnsForm;\r\n this.initArrays.SubSubTopicArr = e.SubSubTopics;\r\n });\r\n // console.log('this.initArrays.TopicsArr',this.initArrays.TopicsArr)\r\n // console.log('this.initArrays.SubTopicArr',this.initArrays.SubTopicArr)\r\n // console.log('this.initArrays.PrimaryAnsFormArr',this.initArrays.PrimaryAnsFormArr)\r\n // console.log('this.initArrays.UnderEmpAnsFormArr',this.initArrays.UnderEmpAnsFormArr)\r\n // console.log('this.initArrays.SubSubTopicArr',this.initArrays.SubSubTopicArr)\r\n if (this.initArrays.UnderEmpAnsFormArr.length > 0) {\r\n this.initArrays.UnderEmpAnsFormArr.forEach((e) => {\r\n this.AnsData.ansForm.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n isCompetency: e.isCompetency,\r\n });\r\n });\r\n }\r\n if (this.initArrays.PrimaryAnsFormArr.length > 0) {\r\n this.initArrays.PrimaryAnsFormArr.forEach((e) => {\r\n this.AnsData.ansFormAssessor.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n isCompetency: e.isCompetency,\r\n });\r\n });\r\n }\r\n //RUN: เพิ่ม Weight ให้ Topic\r\n var tempWeightTopic;\r\n this.initArrays.TopicsArr.forEach((e) => {\r\n if (this.FromLocal.PositionGroupID == \"E\") {\r\n console.log(\"positionID = E\");\r\n tempWeightTopic = e.WeightOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"C\") {\r\n tempWeightTopic = e.WeightLecturerOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"B\") {\r\n tempWeightTopic = e.WeightLecturer;\r\n } else if (\r\n this.FromLocal.PositionGroupID == \"A\" ||\r\n this.FromLocal.PositionGroupID == \"D\"\r\n ) {\r\n tempWeightTopic = e.WeightBoards;\r\n } else if (this.FromLocal.PositionGroupID == \"F\") {\r\n console.log(\"group = f\");\r\n if (this.FromLocal.field == 1) {\r\n console.log(\"field 1\");\r\n\r\n tempWeightTopic = e.WeightOfficer;\r\n } else {\r\n console.log(\"field 2\");\r\n\r\n tempWeightTopic = e.WeightLecturer;\r\n }\r\n }\r\n this.state.weight.push({\r\n ToppicId: e.ToppicId.toString(),\r\n SubToppicId: 0,\r\n SubSubToppicId: 0,\r\n WeightBoards: e.WeightBoards,\r\n WeightLecturer: e.WeightLecturer,\r\n WeightLecturerOfficer: e.WeightLecturerOfficer,\r\n WeightOfficer: e.WeightOfficer,\r\n WeightCriteria: tempWeightTopic,\r\n IsMainTopic: true,\r\n });\r\n });\r\n //#region RUN: Key ไว้ดูว่า ตำแหน่งไหนใช้ Weight ตัวไหน 14/04/2021\r\n //KEY / Legend\r\n // WeightApply | GroupPositionID\r\n // WeightBoards : A,D\r\n // WeightLecturer : B\r\n // WeightLecturerOfficer : C\r\n // WeightOfficer : E\r\n //#endregion\r\n\r\n //RUN: เพิ่ม การตรวจสอบ employee คนนี้มีตำแหน่งอะไรและเลือกใช้ Weightให้ ถูกต้อง\r\n var tempWeightApplySubTopic;\r\n\r\n console.log(\"GroupPositionID\", this.FromLocal.PositionGroupID);\r\n var nameWeightApply = \"\";\r\n if (this.FromLocal.PositionGroupID == \"E\") {\r\n nameWeightApply = \"WeightOfficer\";\r\n } else if (this.FromLocal.PositionGroupID == \"C\") {\r\n nameWeightApply = \"WeightLecturerOfficer\";\r\n } else if (this.FromLocal.PositionGroupID == \"B\") {\r\n nameWeightApply = \"WeightLecturer\";\r\n } else if (\r\n this.FromLocal.PositionGroupID == \"A\" ||\r\n this.FromLocal.PositionGroupID == \"D\"\r\n ) {\r\n nameWeightApply = \"WeightBoards\";\r\n } else if (this.FromLocal.PositionGroupID == \"F\") {\r\n if (this.FromLocal.field == 1) {\r\n nameWeightApply = \"WeightOfficer\";\r\n } else {\r\n nameWeightApply = \"WeightLecturer\";\r\n }\r\n }\r\n //RUN: ตัดข้อมูลที่ weight คะแนนเป็น 0 ออก\r\n this.initArrays.SubTopicArr = this.initArrays.SubTopicArr.filter(\r\n (e) => {\r\n return e[(\"\", nameWeightApply)] !== 0;\r\n }\r\n );\r\n //RUN: ตัดข้อมูลที่ weight คะแนนเป็น 0 ออก\r\n this.initArrays.SubSubTopicArr = this.initArrays.SubSubTopicArr.filter(\r\n (e) => {\r\n return e[(\"\", nameWeightApply)] !== 0;\r\n }\r\n );\r\n\r\n this.initArrays.SubTopicArr.forEach((e) => {\r\n //RUN: เพิ่มcondition ตรวจสอบว่าเป็นตำแหน่งใดและนำไปใช้ในตัวแปรtemp เพื่อส่งเข้า array\r\n if (this.FromLocal.PositionGroupID == \"E\") {\r\n tempWeightApplySubTopic = e.WeightOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"C\") {\r\n tempWeightApplySubTopic = e.WeightLecturerOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"B\") {\r\n tempWeightApplySubTopic = e.WeightLecturer;\r\n } else if (\r\n this.FromLocal.PositionGroupID == \"A\" ||\r\n this.FromLocal.PositionGroupID == \"D\"\r\n ) {\r\n tempWeightApplySubTopic = e.WeightBoards;\r\n } else if (this.FromLocal.PositionGroupID == \"F\") {\r\n if (this.FromLocal.field == 1) {\r\n tempWeightApplySubTopic = e.WeightOfficer;\r\n } else {\r\n tempWeightApplySubTopic = e.WeightLecturer;\r\n }\r\n }\r\n this.state.Tooltip.push({\r\n ToppicId: e.ToppicId,\r\n SubToppicId: e.SubToppicId,\r\n SubSubToppicId: 0,\r\n Tooltip1TH: e.Tooltip1TH,\r\n Tooltip1EN: e.Tooltip1EN,\r\n Tooltip2TH: e.Tooltip2TH,\r\n Tooltip2EN: e.Tooltip2EN,\r\n Tooltip3TH: e.Tooltip3TH,\r\n Tooltip3EN: e.Tooltip3EN,\r\n Tooltip4TH: e.Tooltip4TH,\r\n Tooltip4EN: e.Tooltip4EN,\r\n Tooltip5TH: e.Tooltip5TH,\r\n Tooltip5EN: e.Tooltip5EN,\r\n WeightBoards: e.WeightBoards,\r\n WeightLecturer: e.WeightLecturer,\r\n WeightLecturerOfficer: e.WeightLecturerOfficer,\r\n WeightOfficer: e.WeightOfficer,\r\n //RUN: WeightCriteria เพื่อนำไปใช้ในการวางคะแนนแบบ Global\r\n WeightCriteria: tempWeightApplySubTopic,\r\n showRemark: false,\r\n //RUN: เพิ่ม field isCompetency เพื่อใช้ตรวจสอบการ ว่าเป็นการประเมินด้าน สมรรณถนะ 18/04/2021\r\n isCompetency: e.isCompetency,\r\n Remarks: \"\",\r\n });\r\n this.state.TooltipForEmp.push({\r\n ToppicId: e.ToppicId,\r\n SubToppicId: e.SubToppicId,\r\n SubSubToppicId: 0,\r\n Tooltip1TH: e.Tooltip1TH,\r\n Tooltip1EN: e.Tooltip1EN,\r\n Tooltip2TH: e.Tooltip2TH,\r\n Tooltip2EN: e.Tooltip2EN,\r\n Tooltip3TH: e.Tooltip3TH,\r\n Tooltip3EN: e.Tooltip3EN,\r\n Tooltip4TH: e.Tooltip4TH,\r\n Tooltip4EN: e.Tooltip4EN,\r\n Tooltip5TH: e.Tooltip5TH,\r\n Tooltip5EN: e.Tooltip5EN,\r\n WeightBoards: e.WeightBoards,\r\n WeightLecturer: e.WeightLecturer,\r\n WeightLecturerOfficer: e.WeightLecturerOfficer,\r\n WeightOfficer: e.WeightOfficer,\r\n //RUN: WeightCriteria เพื่อนำไปใช้ในการวางคะแนนแบบ Global\r\n WeightCriteria: tempWeightApplySubTopic,\r\n showRemark: false,\r\n //RUN: เพิ่ม field isCompetency เพื่อใช้ตรวจสอบการ ว่าเป็นการประเมินด้าน สมรรณถนะ 18/04/2021\r\n isCompetency: e.isCompetency,\r\n Remarks: \"\",\r\n });\r\n });\r\n var tempWeightApplySubSubTopic;\r\n this.initArrays.SubSubTopicArr.forEach((e) => {\r\n //RUN: เพิ่มcondition ตรวจสอบว่าเป็นตำแหน่งใดและนำไปใช้ในตัวแปรtemp เพื่อส่งเข้า array\r\n if (this.FromLocal.PositionGroupID == \"E\") {\r\n tempWeightApplySubSubTopic = e.WeightOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"C\") {\r\n tempWeightApplySubSubTopic = e.WeightLecturerOfficer;\r\n } else if (this.FromLocal.PositionGroupID == \"B\") {\r\n tempWeightApplySubSubTopic = e.WeightLecturer;\r\n } else if (\r\n this.FromLocal.PositionGroupID == \"A\" ||\r\n this.FromLocal.PositionGroupID == \"D\"\r\n ) {\r\n tempWeightApplySubSubTopic = e.WeightBoards;\r\n } else if (this.FromLocal.PositionGroupID == \"F\") {\r\n if (this.FromLocal.field == 1) {\r\n tempWeightApplySubSubTopic = e.WeightOfficer;\r\n } else {\r\n tempWeightApplySubSubTopic = e.WeightLecturer;\r\n }\r\n }\r\n this.state.Tooltip.push({\r\n ToppicId: e.ToppicId,\r\n SubToppicId: e.SubToppicId,\r\n SubSubToppicId: e.SubSubToppicId,\r\n Tooltip1TH: e.Tooltip1TH,\r\n Tooltip1EN: e.Tooltip1EN,\r\n Tooltip2TH: e.Tooltip2TH,\r\n Tooltip2EN: e.Tooltip2EN,\r\n Tooltip3TH: e.Tooltip3TH,\r\n Tooltip3EN: e.Tooltip3EN,\r\n Tooltip4TH: e.Tooltip4TH,\r\n Tooltip4EN: e.Tooltip4EN,\r\n Tooltip5TH: e.Tooltip5TH,\r\n Tooltip5EN: e.Tooltip5EN,\r\n WeightBoards: e.WeightBoards,\r\n WeightLecturer: e.WeightLecturer,\r\n WeightLecturerOfficer: e.WeightLecturerOfficer,\r\n WeightOfficer: e.WeightOfficer,\r\n //RUN: WeightCriteria เพื่อนำไปใช้ในการวางคะแนนแบบ Global\r\n WeightCriteria: tempWeightApplySubSubTopic,\r\n showRemark: false,\r\n //RUN: เพิ่ม field isCompetency เพื่อใช้ตรวจสอบการ ว่าเป็นการประเมินด้าน สมรรณถนะ 18/04/2021\r\n isCompetency: e.isCompetency,\r\n Remarks: \"\",\r\n });\r\n this.state.TooltipForEmp.push({\r\n ToppicId: e.ToppicId,\r\n SubToppicId: e.SubToppicId,\r\n SubSubToppicId: e.SubSubToppicId,\r\n Tooltip1TH: e.Tooltip1TH,\r\n Tooltip1EN: e.Tooltip1EN,\r\n Tooltip2TH: e.Tooltip2TH,\r\n Tooltip2EN: e.Tooltip2EN,\r\n Tooltip3TH: e.Tooltip3TH,\r\n Tooltip3EN: e.Tooltip3EN,\r\n Tooltip4TH: e.Tooltip4TH,\r\n Tooltip4EN: e.Tooltip4EN,\r\n Tooltip5TH: e.Tooltip5TH,\r\n Tooltip5EN: e.Tooltip5EN,\r\n WeightBoards: e.WeightBoards,\r\n WeightLecturer: e.WeightLecturer,\r\n WeightLecturerOfficer: e.WeightLecturerOfficer,\r\n WeightOfficer: e.WeightOfficer,\r\n //RUN: WeightCriteria เพื่อนำไปใช้ในการวางคะแนนแบบ Global\r\n WeightCriteria: tempWeightApplySubSubTopic,\r\n showRemark: false,\r\n //RUN: เพิ่ม field isCompetency เพื่อใช้ตรวจสอบการ ว่าเป็นการประเมินด้าน สมรรณถนะ 18/04/2021\r\n isCompetency: e.isCompetency,\r\n Remarks: \"\",\r\n });\r\n });\r\n this.AnsData.ansForm.forEach((e1) => {\r\n this.state.TooltipForEmp.forEach((e2) => {\r\n if (\r\n e1.TopicId == e2.ToppicId &&\r\n e1.SubTopicId == e2.SubToppicId &&\r\n e1.SubSubTopicId == e2.SubSubToppicId\r\n ) {\r\n // console.log('eeeeeeeeeeeee',e2)\r\n // console.log('ewwwwwwwwwwwwwww',e1)\r\n\r\n e2.Remarks = e1.Remark;\r\n if (this.FromLocal.PositionID !== 19) {\r\n if (e2.isCompetency == 0 && e1.Point !== 3) {\r\n e2.showRemark = true;\r\n } else if (\r\n e2.isCompetency == 1 &&\r\n this.FromLocal.PositionID > 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n e1.Point !== 3\r\n ) {\r\n e2.showRemark = true;\r\n } else if (\r\n e2.isCompetency == 1 &&\r\n this.FromLocal.PositionID <= 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n e1.Point !== 4\r\n ) {\r\n e2.showRemark = true;\r\n } else if (\r\n e2.isCompetency == 1 &&\r\n this.FromLocal.PositionID == 4 &&\r\n e1.Point !== 3\r\n ) {\r\n e2.showRemark = true;\r\n }\r\n //RUN เพิ่ม condition การ default value\r\n } else {\r\n if (e2.isCompetency == 0 && e1.Point !== 3) {\r\n e2.showRemark = true;\r\n } else if (\r\n e2.isCompetency == 1 &&\r\n e1.Point !== 4 &&\r\n e1.SubSubTopicId.toString() == \"2\"\r\n ) {\r\n e2.showRemark = true;\r\n } else if (\r\n e2.isCompetency == 1 &&\r\n e1.Point !== 3 &&\r\n e1.SubSubTopicId.toString() !== \"2\"\r\n ) {\r\n e2.showRemark = true;\r\n }\r\n }\r\n }\r\n });\r\n });\r\n\r\n //RUN ตัวนี้จำเป็นสำหรับการ Check ค่า Remark ถ้ามีให้แสดงด้วยแต่ถ้าเป็น default ต้องให้ไม่แสดง 16/04/2021\r\n this.AnsData.ansFormAssessor.forEach((e1) => {\r\n this.state.Tooltip.forEach((e2) => {\r\n if (\r\n e1.TopicId == e2.ToppicId &&\r\n e1.SubTopicId == e2.SubToppicId &&\r\n e1.SubSubTopicId == e2.SubSubToppicId\r\n ) {\r\n // console.log('eeeeeeeeeeeee',e2)\r\n // console.log('ewwwwwwwwwwwwwww',e1)\r\n\r\n e2.Remarks = e1.Remark;\r\n if (this.FromLocal.PositionID !== 19) {\r\n if (e2.isCompetency == 0 && e1.Point !== 3) {\r\n e2.showRemark = true;\r\n } else if (\r\n e2.isCompetency == 1 &&\r\n this.FromLocal.PositionID > 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n e1.Point !== 3\r\n ) {\r\n e2.showRemark = true;\r\n } else if (\r\n e2.isCompetency == 1 &&\r\n this.FromLocal.PositionID <= 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n e1.Point !== 4\r\n ) {\r\n e2.showRemark = true;\r\n }\r\n //RUN เพิ่ม condition การ default value\r\n } else {\r\n if (e2.isCompetency == 0 && e1.Point !== 3) {\r\n e2.showRemark = true;\r\n } else if (\r\n e2.isCompetency == 1 &&\r\n e1.Point !== 4 &&\r\n e1.SubSubTopicId.toString() == \"2\"\r\n ) {\r\n e2.showRemark = true;\r\n } else if (\r\n e2.isCompetency == 1 &&\r\n e1.Point !== 3 &&\r\n e1.SubSubTopicId.toString() !== \"2\"\r\n ) {\r\n e2.showRemark = true;\r\n }\r\n }\r\n }\r\n });\r\n });\r\n this.setState({\r\n Tooltip: this.state.Tooltip,\r\n TooltipForEmp: this.state.TooltipForEmp,\r\n });\r\n this.AnsData.ansForm.forEach((e) => {\r\n this.AnsData.ansTotalClick.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n });\r\n });\r\n var temp = [];\r\n var temp2 = [];\r\n this.AnsData.ansTotalClick.forEach((e) => {\r\n if (this.AnsData.ansTotalClickTopic.length == 0) {\r\n this.AnsData.ansTotalClickTopic.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp = this.AnsData.ansTotalClickTopic.filter((e2) => {\r\n return e2.TopicId == e.TopicId;\r\n });\r\n if (temp.length == 0) {\r\n this.AnsData.ansTotalClickTopic.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n this.AnsData.ansTotalClickTopic.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalClick.forEach((e) => {\r\n if (e.SubSubTopicId > 0) {\r\n if (this.AnsData.ansTotalClickSubSubTopic.length == 0) {\r\n this.AnsData.ansTotalClickSubSubTopic.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp = this.AnsData.ansTotalClickSubSubTopic.filter((e2) => {\r\n return e2.TopicId == e.TopicId && e2.SubTopicId == e.SubTopicId;\r\n });\r\n if (temp.length == 0) {\r\n this.AnsData.ansTotalClickSubSubTopic.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n this.AnsData.ansTotalClickSubSubTopic.forEach((e3) => {\r\n if (\r\n e3.TopicId == e.TopicId &&\r\n e3.SubTopicId == e.SubTopicId\r\n ) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n var total = 0;\r\n this.AnsData.ansTotalClickTopic.forEach((e) => {\r\n total = total + e.CalPoint;\r\n });\r\n\r\n this.AnsData.TotalCalculate = total;\r\n ////////////////////////////////////////////////////////////////////////\r\n\r\n this.AnsData.ansFormAssessor.forEach((e) => {\r\n this.AnsData.ansTotalAssessorClick.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n });\r\n });\r\n var temp1 = [];\r\n var temp2 = [];\r\n this.AnsData.ansTotalAssessorClick.forEach((e) => {\r\n if (this.AnsData.ansTotalAssessorClickTopic.length == 0) {\r\n this.AnsData.ansTotalAssessorClickTopic.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp1 = this.AnsData.ansTotalAssessorClickTopic.filter((e2) => {\r\n return e2.TopicId == e.TopicId;\r\n });\r\n if (temp1.length == 0) {\r\n this.AnsData.ansTotalAssessorClickTopic.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n this.AnsData.ansTotalAssessorClickTopic.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalAssessorClick.forEach((e) => {\r\n if (e.SubSubTopicId > 0) {\r\n if (this.AnsData.ansTotalAssessorClickSubSubTopic.length == 0) {\r\n this.AnsData.ansTotalAssessorClickSubSubTopic.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp1 = this.AnsData.ansTotalAssessorClickSubSubTopic.filter(\r\n (e2) => {\r\n return (\r\n e2.TopicId == e.TopicId && e2.SubTopicId == e.SubTopicId\r\n );\r\n }\r\n );\r\n if (temp1.length == 0) {\r\n this.AnsData.ansTotalAssessorClickSubSubTopic.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n this.AnsData.ansTotalAssessorClickSubSubTopic.forEach((e3) => {\r\n if (\r\n e3.TopicId == e.TopicId &&\r\n e3.SubTopicId == e.SubTopicId\r\n ) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n var total1 = 0;\r\n this.AnsData.ansTotalAssessorClickTopic.forEach((e) => {\r\n total1 = total1 + e.CalPoint;\r\n });\r\n\r\n this.AnsData.TotalAssessorCalculate = total1;\r\n\r\n console.log(\"this.state.tooltipforemp\", this.state.TooltipForEmp);\r\n\r\n console.log(\"this.state.Toolstip.\", this.state.Tooltip);\r\n this.setState({ tableData: result });\r\n this.spinnerControl();\r\n });\r\n }\r\n\r\n spinnerControl() {\r\n this.setState({ spinner: !this.state.spinner });\r\n }\r\n\r\n testarrayDupFunction(ToppicId, SubToppicId, SubSubToppicId) {\r\n // console.log(\"testarrayDupFunction\");\r\n var tempDup = [];\r\n //RUN: ยัดใส่เป็น ToString ให้หมดเนื่องจากส่งไปsave กับ ส่งคืนมา มีค่าdatatype อิอัยยยยยยยยยย 16/04/2021\r\n var tempToppicId = ToppicId.toString();\r\n var tempSubToppicId = SubToppicId.toString();\r\n var tempSubSubToppicId = SubSubToppicId.toString();\r\n tempDup = this.AnsData.ansFormAssessor.filter((e) => {\r\n return (\r\n e.TopicId.toString() !== tempToppicId ||\r\n e.SubTopicId.toString() !== tempSubToppicId ||\r\n e.SubSubTopicId.toString() !== tempSubSubToppicId\r\n );\r\n });\r\n console.log(\"tempDup\", tempDup);\r\n return tempDup;\r\n }\r\n \r\n handleChange = (\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n value,\r\n indexfromRen,\r\n parentIndex,\r\n // RUN: เพิ่ม isCompetency เพื่อทำการ ตรวจสอบ comtency 14/04/2021\r\n isCompetency,\r\n // RUN: เพิ่ม WeightCriteria เพื่อทำการ คำนวน Score 14/04/2021\r\n WeightCriteria\r\n ) => {\r\n console.log(\"inchangeeeeeeeeeeee\");\r\n\r\n var temp = [];\r\n var tempcalPoint = 0;\r\n temp = this.AnsData.ansFormAssessor.filter((e) => {\r\n return (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n );\r\n });\r\n\r\n //RUN : Flow การคิดคะแนน ใหม่สำหรับ เชิง สมรรถนะ 24/04/2021\r\n if (isCompetency == 1) {\r\n if (\r\n this.FromLocal.PositionID > 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value >= \"3\"\r\n ) {\r\n console.log(\"incondition 1 \");\r\n tempcalPoint = (parseFloat(WeightCriteria) / 5) * parseFloat(5);\r\n } else if (\r\n this.FromLocal.PositionID <= 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value >= \"4\"\r\n ) {\r\n console.log(\"incondition 2 \");\r\n\r\n tempcalPoint = (parseFloat(WeightCriteria) / 5) * parseFloat(5);\r\n } else if (\r\n this.FromLocal.PositionID > 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value < \"3\"\r\n ) {\r\n console.log(\"incondition 3 \");\r\n\r\n tempcalPoint = (parseFloat(WeightCriteria) / 3) * parseFloat(value);\r\n } else if (\r\n this.FromLocal.PositionID <= 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value < \"4\"\r\n ) {\r\n tempcalPoint = (parseFloat(WeightCriteria) / 4) * parseFloat(value);\r\n } else if (this.FromLocal.PositionID == 4 && value < \"3\") {\r\n tempcalPoint = (parseFloat(WeightCriteria) / 3) * parseFloat(value);\r\n } else if (this.FromLocal.PositionID == 4 && value >= \"3\") {\r\n tempcalPoint = (parseFloat(WeightCriteria) / 5) * parseFloat(5);\r\n }\r\n } else {\r\n }\r\n //RUN : Flow การคิดคะแนน ใหม่สำหรับ เชิง สมรรถนะ 24/04/2021\r\n if (isCompetency == 0) {\r\n console.log(\"incondition 4 \");\r\n\r\n tempcalPoint = (parseFloat(WeightCriteria) / 5) * parseFloat(value);\r\n }\r\n //RUN: condition สำหรับ ฝ่าย ศาสนกิจ\r\n if (this.FromLocal.PositionID == 19 && SubSubToppicId.toString() == \"2\") {\r\n console.log(\"incondition 5\");\r\n\r\n if (value >= \"4\") {\r\n tempcalPoint = (parseFloat(WeightCriteria) / 5) * parseFloat(5);\r\n } else {\r\n tempcalPoint = (parseFloat(WeightCriteria) / 4) * parseFloat(value);\r\n }\r\n }\r\n\r\n console.log(\"tempcalPoint\", tempcalPoint);\r\n if (temp.length == 0) {\r\n this.AnsData.ansFormAssessor.push({\r\n TopicId: ToppicId,\r\n SubTopicId: SubToppicId,\r\n SubSubTopicId: SubSubToppicId,\r\n Point: value, //ดึงคะแนนของหัวข้อมา\r\n Remark: \"\", //ดึงเหตุผลของหัวข้อมา\r\n // RUN: เพิ่ม WeightCriteria เพื่อทำการ คำนวน Score 14/04/2021\r\n CalPoint: tempcalPoint,\r\n isCompetency: isCompetency,\r\n });\r\n } else {\r\n this.AnsData.ansFormAssessor = this.testarrayDupFunction(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId\r\n );\r\n\r\n this.AnsData.ansFormAssessor.push({\r\n TopicId: ToppicId,\r\n SubTopicId: SubToppicId,\r\n SubSubTopicId: SubSubToppicId,\r\n Point: value, //ดึงคะแนนของหัวข้อมา\r\n Remark: \"\", //ดึงเหตุผลของหัวข้อมา\r\n // RUN: เพิ่ม WeightCriteria เพื่อทำการ คำนวน Score 14/04/2021\r\n CalPoint: tempcalPoint,\r\n isCompetency: isCompetency,\r\n });\r\n }\r\n //RUN: เพิ่ม Condition การตรวจสอบ PositionID ให้เปิด/ปิด Remark ถูกต้อง 14/04/2021\r\n if (isCompetency == 1) {\r\n if (\r\n this.FromLocal.PositionID > 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value !== \"3\"\r\n ) {\r\n // Run: setState ให้ render ใหม่ได้ถูกต้อง 08/04/2021\r\n console.log(\"in if\");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansFormAssessor.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n } //RUN: เพิ่ม Condition else if การตรวจสอบ PositionID ให้เปิด/ปิด Remark ถูกต้อง 14/04/2021\r\n else if (\r\n //RUN: แก้ condition 22/04/2021\r\n this.FromLocal.PositionID <= 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n value !== \"4\"\r\n ) {\r\n console.log(\"in else if\");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansFormAssessor.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n } else if (this.FromLocal.PositionID == \"4\" && value !== \"3\") {\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansForm.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n } else {\r\n console.log(\"in else \");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: false,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n }\r\n } else {\r\n if (value !== \"3\") {\r\n // Run: setState ให้ render ใหม่ได้ถูกต้อง 08/04/2021\r\n console.log(\"in if\");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansFormAssessor.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n } //RUN: เพิ่ม Condition else if การตรวจสอบ PositionID ให้เปิด/ปิด Remark ถูกต้อง 14/04/2021\r\n else {\r\n console.log(\"in else \");\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: false,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n }\r\n }\r\n\r\n if (isCompetency == 1) {\r\n console.log(\"in 1 \");\r\n if (\r\n this.FromLocal.PositionID == \"19\" &&\r\n SubSubToppicId.toString() == \"2\" &&\r\n value == \"4\"\r\n ) {\r\n console.log(\"in 2 \");\r\n\r\n // Run: setState ให้ render ใหม่ได้ถูกต้อง 08/04/2021\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: false,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansFormAssessor.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n } //RUN: เพิ่ม Condition else if การตรวจสอบ PositionID ให้เปิด/ปิด Remark ถูกต้อง 14/04/2021\r\n else if (\r\n //RUN: แก้ condition 22/04/2021\r\n this.FromLocal.PositionID == \"19\" &&\r\n SubSubToppicId.toString() == \"2\" &&\r\n value == \"3\"\r\n ) {\r\n console.log(\"in 3 \");\r\n\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((showRemark, index) => {\r\n if (\r\n showRemark.SubToppicId == SubToppicId &&\r\n showRemark.SubSubToppicId == SubSubToppicId &&\r\n showRemark.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...showRemark,\r\n showRemark: true,\r\n Remarks: \"\",\r\n };\r\n } else {\r\n return {\r\n ...showRemark,\r\n };\r\n }\r\n }),\r\n }));\r\n this.AnsData.ansFormAssessor.forEach((e) => {\r\n if (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n ) {\r\n e.Remark = \"\";\r\n }\r\n });\r\n }\r\n }\r\n console.log(\r\n \"this.loaslcosssssssssssssssssssssssssssss\",\r\n this.AnsData.ansFormAssessor\r\n );\r\n this.TotalClickAssessorPointTopicFunction(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId\r\n );\r\n };\r\n\r\n TotalClickPointTopicFunction(TopicId, SubTopicId, SubSubTopicId) {\r\n var tempArray = [];\r\n this.AnsData.ansForm.forEach((e) => {\r\n tempArray.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n isCompetency: e.isCompetency,\r\n });\r\n });\r\n var temp = [];\r\n var temp2 = [];\r\n tempArray.forEach((e) => {\r\n if (temp2.length == 0) {\r\n temp2.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp = temp2.filter((e2) => {\r\n return e2.TopicId == e.TopicId;\r\n });\r\n if (temp.length == 0) {\r\n temp2.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp2.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalClickTopic = temp2;\r\n\r\n var temp3 = [];\r\n var temp4 = [];\r\n tempArray.forEach((e) => {\r\n if (e.SubSubTopicId > 0) {\r\n if (temp3.length == 0) {\r\n temp3.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp4 = temp3.filter((e2) => {\r\n return e2.TopicId == e.TopicId && e2.SubTopicId == e.SubTopicId;\r\n });\r\n if (temp4.length == 0) {\r\n temp3.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp3.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId && e3.SubTopicId == e.SubTopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalClickSubSubTopic = temp3;\r\n var total = 0;\r\n this.AnsData.ansTotalClickTopic.forEach((e) => {\r\n total = total + e.CalPoint;\r\n });\r\n\r\n this.AnsData.TotalCalculate = total;\r\n }\r\n\r\n TotalClickAssessorPointTopicFunction(TopicId, SubTopicId, SubSubTopicId) {\r\n var tempArray = [];\r\n this.AnsData.ansFormAssessor.forEach((e) => {\r\n tempArray.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n Point: e.Point,\r\n Remark: e.Remark,\r\n CalPoint: e.CalPoint,\r\n isCompetency: e.isCompetency,\r\n });\r\n });\r\n var temp = [];\r\n var temp2 = [];\r\n tempArray.forEach((e) => {\r\n if (temp2.length == 0) {\r\n temp2.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp = temp2.filter((e2) => {\r\n return e2.TopicId == e.TopicId;\r\n });\r\n if (temp.length == 0) {\r\n temp2.push({\r\n TopicId: e.TopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp2.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalAssessorClickTopic = temp2;\r\n\r\n var temp3 = [];\r\n var temp4 = [];\r\n tempArray.forEach((e) => {\r\n if (e.SubSubTopicId > 0) {\r\n if (temp3.length == 0) {\r\n temp3.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp4 = temp3.filter((e2) => {\r\n return e2.TopicId == e.TopicId && e2.SubTopicId == e.SubTopicId;\r\n });\r\n if (temp4.length == 0) {\r\n temp3.push({\r\n TopicId: e.TopicId,\r\n SubTopicId: e.SubTopicId,\r\n SubSubTopicId: e.SubSubTopicId,\r\n CalPoint: e.CalPoint,\r\n });\r\n } else {\r\n temp3.forEach((e3) => {\r\n if (e3.TopicId == e.TopicId && e3.SubTopicId == e.SubTopicId) {\r\n e3.CalPoint = e3.CalPoint + e.CalPoint;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n this.AnsData.ansTotalAssessorClickSubSubTopic = temp3;\r\n var total = 0;\r\n this.AnsData.ansTotalAssessorClickTopic.forEach((e) => {\r\n total = total + e.CalPoint;\r\n });\r\n\r\n this.AnsData.TotalAssessorCalculate = total;\r\n }\r\n\r\n getDefaultScore(ToppicId, SubToppicId, SubSubToppicId) {\r\n var tempArray = [];\r\n tempArray = this.AnsData.ansFormAssessor.filter((e) => {\r\n return (\r\n e.TopicId == ToppicId &&\r\n e.SubTopicId == SubToppicId &&\r\n e.SubSubTopicId == SubSubToppicId\r\n );\r\n });\r\n if (tempArray.length > 0) {\r\n return tempArray[0].Point;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n decimalPointChange(item) {\r\n var temp = \"\";\r\n temp = item.toString();\r\n\r\n // console.log(\"temp\", temp);\r\n if (temp.includes(\".\")) {\r\n return parseFloat(item).toFixed(2);\r\n } else {\r\n return item;\r\n }\r\n }\r\n\r\n splicingTitle(title) {\r\n var newtext = \"\";\r\n newtext = title.replace(/[0-9]/g, \"\");\r\n newtext = newtext.replace(/[.]/g, \"\");\r\n if (this.state.language == \"TH\") {\r\n newtext = newtext.replace(/\\s/g, \"\");\r\n }\r\n return newtext;\r\n }\r\n\r\n handleRemark = (ToppicId, SubToppicId, SubSubToppicId, Remarks) => {\r\n this.AnsData.ansFormAssessor.forEach((old) => {\r\n if (\r\n old.TopicId == ToppicId &&\r\n old.SubTopicId == SubToppicId &&\r\n old.SubSubTopicId == SubSubToppicId\r\n ) {\r\n old.Remark = Remarks;\r\n }\r\n });\r\n // Run: Set State ให้Remark 09/04/2021\r\n\r\n this.setState((prevState) => ({\r\n Tooltip: prevState.Tooltip.map((RemarkValue, index) => {\r\n if (\r\n RemarkValue.SubToppicId == SubToppicId &&\r\n RemarkValue.SubSubToppicId == SubSubToppicId &&\r\n RemarkValue.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...RemarkValue,\r\n Remarks: Remarks,\r\n };\r\n } else {\r\n return {\r\n ...RemarkValue,\r\n };\r\n }\r\n }),\r\n }));\r\n };\r\n\r\n handleRemarkEmp = (ToppicId, SubToppicId, SubSubToppicId, Remarks) => {\r\n this.AnsData.ansForm.forEach((old) => {\r\n if (\r\n old.TopicId == ToppicId &&\r\n old.SubTopicId == SubToppicId &&\r\n old.SubSubTopicId == SubSubToppicId\r\n ) {\r\n old.Remark = Remarks;\r\n }\r\n });\r\n // Run: Set State ให้Remark 09/04/2021\r\n\r\n this.setState((prevState) => ({\r\n TooltipForEmp: prevState.TooltipForEmp.map((RemarkValue, index) => {\r\n if (\r\n RemarkValue.SubToppicId == SubToppicId &&\r\n RemarkValue.SubSubToppicId == SubSubToppicId &&\r\n RemarkValue.ToppicId == ToppicId\r\n ) {\r\n return {\r\n ...RemarkValue,\r\n Remarks: Remarks,\r\n };\r\n } else {\r\n return {\r\n ...RemarkValue,\r\n };\r\n }\r\n }),\r\n }));\r\n };\r\n\r\n renderTable() {\r\n //Run: เพิ่ม การแสดง cal คะแนน 14/04/2021\r\n // this.AnsData.ansTotalClickTopic\r\n // console.log('this.ARRR', this.state.Tooltip)\r\n // console.log('this.ini', this.initArrays.SubSubTopicArr)\r\n console.log(\r\n \"this.AnsData.ansTotalClickSubSubTopic\",\r\n this.AnsData.ansTotalClickSubSubTopic\r\n );\r\n\r\n const totalclickPointSubSubTopic = this.AnsData.ansTotalClickSubSubTopic.map(\r\n ({ TopicId, CalPoint, SubTopicId, SubSubTopicId }, Index) => (\r\n
    \r\n {/* {CalPoint} */}\r\n {this.decimalPointChange(CalPoint)}\r\n
    \r\n )\r\n );\r\n const totalclickPointAssessorSubSubTopic = this.AnsData.ansTotalAssessorClickSubSubTopic.map(\r\n ({ TopicId, CalPoint, SubTopicId, SubSubTopicId }, Index) => (\r\n
    \r\n {/* {CalPoint} */}\r\n {this.decimalPointChange(CalPoint)}\r\n
    \r\n )\r\n );\r\n const totalclickpointTopic = this.AnsData.ansTotalClickTopic.map(\r\n ({ TopicId, CalPoint }, Index) => (\r\n
    \r\n {/* {CalPoint}\r\n */}\r\n {this.decimalPointChange(CalPoint)}\r\n
    \r\n )\r\n );\r\n const totalclickassessorpointTopic = this.AnsData.ansTotalAssessorClickTopic.map(\r\n ({ TopicId, CalPoint }, Index) => (\r\n
    \r\n {/* {CalPoint}\r\n */}\r\n {this.decimalPointChange(CalPoint)}\r\n
    \r\n )\r\n );\r\n const listCalScore = this.AnsData.ansForm.map(\r\n (\r\n { TopicId, SubTopicId, SubSubTopicId, CalPoint, isCompetency },\r\n Index\r\n ) => (\r\n \r\n
    \r\n {/* {CalPoint} */}\r\n\r\n {this.decimalPointChange(CalPoint)}\r\n
    \r\n \r\n )\r\n );\r\n console.log(\r\n \"this.sssssssssssssssssss\",\r\n listCalScore.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == 0 &&\r\n e.props.relateTopicID == 0 &&\r\n e.props.relatedSubSubToppicID == 0\r\n );\r\n })\r\n );\r\n const remarkSubTopic = this.AnsData.ansForm.map(\r\n ({ TopicId, SubTopicId, SubSubTopicId, Remark }, Index) => (\r\n \r\n

    {Remark}

    \r\n \r\n )\r\n );\r\n const listAssessorCalScore = this.AnsData.ansFormAssessor.map(\r\n ({ TopicId, SubTopicId, SubSubTopicId, CalPoint }, Index) => (\r\n \r\n
    \r\n {/* {CalPoint} */}\r\n {this.decimalPointChange(CalPoint)}\r\n
    \r\n \r\n )\r\n );\r\n\r\n //Run: เพิ่ม listweight ของ topic หลัก 14/04/2021\r\n const listWeightsTotal = this.state.weight.map(\r\n (\r\n { SubSubToppicId, SubToppicId, ToppicId, WeightCriteria, IsMainTopic },\r\n Index\r\n ) => (\r\n \r\n
    {WeightCriteria}
    \r\n \r\n )\r\n );\r\n //Run: เพิ่ม weight 14/04/2021\r\n const listofWeight = this.state.Tooltip.map(\r\n (\r\n { SubSubToppicId, SubToppicId, ToppicId, Tooltip1TH, WeightCriteria },\r\n Counts\r\n ) => (\r\n \r\n {
    {WeightCriteria}
    }\r\n \r\n )\r\n );\r\n\r\n const listbuttonSubSubTopic = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip5TH,\r\n Tooltip4TH,\r\n Tooltip3TH,\r\n Tooltip2TH,\r\n Tooltip1TH,\r\n Tooltip5EN,\r\n Tooltip4EN,\r\n Tooltip3EN,\r\n Tooltip2EN,\r\n Tooltip1EN,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n Remarks,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH && SubSubToppicId > 0 && (\r\n {\r\n this.handleChange(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.value,\r\n Counts,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria\r\n );\r\n }}\r\n >\r\n \r\n \r\n 5\r\n \r\n \r\n 4\r\n \r\n \r\n 3\r\n \r\n \r\n 2\r\n \r\n \r\n 1\r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n );\r\n\r\n const listbuttonSubTopic = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip5TH,\r\n Tooltip4TH,\r\n Tooltip3TH,\r\n Tooltip2TH,\r\n Tooltip1TH,\r\n Tooltip5EN,\r\n Tooltip4EN,\r\n Tooltip3EN,\r\n Tooltip2EN,\r\n Tooltip1EN,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n Remarks,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH && SubSubToppicId == 0 && (\r\n {\r\n this.handleChange(\r\n ToppicId,\r\n SubToppicId,\r\n 0,\r\n e.target.value,\r\n Counts,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria\r\n );\r\n }}\r\n >\r\n \r\n \r\n 5\r\n \r\n \r\n 4\r\n \r\n \r\n 3\r\n \r\n \r\n 2\r\n \r\n \r\n 1\r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n );\r\n\r\n const listRemarkSubSubTopic = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip5TH,\r\n Tooltip4TH,\r\n Tooltip3TH,\r\n Tooltip2TH,\r\n Tooltip1TH,\r\n Tooltip5EN,\r\n Tooltip4EN,\r\n Tooltip3EN,\r\n Tooltip2EN,\r\n Tooltip1EN,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n Remarks,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH && SubSubToppicId > 0 && showRemark == true && (\r\n {\r\n this.handleRemark(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.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 const listRemarkSubSubTopicEmp = this.state.TooltipForEmp.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip5TH,\r\n Tooltip4TH,\r\n Tooltip3TH,\r\n Tooltip2TH,\r\n Tooltip1TH,\r\n Tooltip5EN,\r\n Tooltip4EN,\r\n Tooltip3EN,\r\n Tooltip2EN,\r\n Tooltip1EN,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n Remarks,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH && SubSubToppicId > 0 && showRemark == true && (\r\n {\r\n this.handleRemarkEmp(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.value\r\n );\r\n }}\r\n >\r\n {Remarks}\r\n \r\n )}\r\n \r\n )\r\n );\r\n\r\n const listRemarkSubTopic = this.state.Tooltip.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip5TH,\r\n Tooltip4TH,\r\n Tooltip3TH,\r\n Tooltip2TH,\r\n Tooltip1TH,\r\n Tooltip5EN,\r\n Tooltip4EN,\r\n Tooltip3EN,\r\n Tooltip2EN,\r\n Tooltip1EN,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n Remarks,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH && SubSubToppicId == 0 && (\r\n {\r\n this.handleChange(\r\n ToppicId,\r\n SubToppicId,\r\n 0,\r\n e.target.value,\r\n Counts,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria\r\n );\r\n }}\r\n >\r\n )}\r\n {Tooltip1TH && SubSubToppicId == 0 && showRemark == true && (\r\n {\r\n this.handleRemark(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.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 const listRemarkSubTopicEmp = this.state.TooltipForEmp.map(\r\n (\r\n {\r\n SubSubToppicId,\r\n SubToppicId,\r\n ToppicId,\r\n Tooltip5TH,\r\n Tooltip4TH,\r\n Tooltip3TH,\r\n Tooltip2TH,\r\n Tooltip1TH,\r\n Tooltip5EN,\r\n Tooltip4EN,\r\n Tooltip3EN,\r\n Tooltip2EN,\r\n Tooltip1EN,\r\n showRemark,\r\n //RUN: เพิ่มตัวแปร WeightCriteria เพื่อใช้ในการคำนวน 14/04/2021\r\n WeightCriteria,\r\n //RUN: เพิ่มตัวแปร isCompetency เพื่อตรวจสอบcompetency evaluation 18/04/2021\r\n isCompetency,\r\n Remarks,\r\n },\r\n Counts\r\n ) => (\r\n \r\n {Tooltip1TH && SubSubToppicId == 0 && showRemark == true && (\r\n {\r\n this.handleRemarkEmp(\r\n ToppicId,\r\n SubToppicId,\r\n SubSubToppicId,\r\n e.target.value\r\n );\r\n }}\r\n >\r\n {/* {Remarks} */}\r\n {Remarks}\r\n \r\n )}\r\n \r\n )\r\n );\r\n\r\n const listSubSubTopics = this.initArrays.SubSubTopicArr.map(\r\n (\r\n {\r\n TitleTH,\r\n TitleEN,\r\n SubToppicId,\r\n ToppicId,\r\n SubSubToppicId,\r\n DescriptionTH,\r\n DescriptionEN,\r\n },\r\n Indexes\r\n ) => (\r\n \r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n

    \r\n {TitleTH} \r\n {DescriptionTH}\r\n

    \r\n \r\n ) : (\r\n \r\n

    \r\n {TitleEN} \r\n {DescriptionEN}\r\n

    \r\n \r\n )}\r\n {/* Run: เพิ่มการใส่ น้ำหนักคะแนน 14/04/2021 */}\r\n \r\n {listofWeight.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n \r\n\r\n \r\n {listbuttonSubSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\" &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n \r\n {/* Run: เพิ่มการใส่ คะแนน Cal 14/04/2021 */}\r\n \r\n {listAssessorCalScore.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n \r\n \r\n {listCalScore.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n }).length !== 0\r\n ? listCalScore.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })\r\n : \"0\"}\r\n \r\n \r\n {listRemarkSubSubTopicEmp.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\" &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n \r\n
    \r\n\r\n {/* {เพิ่ม div remark} */}\r\n\r\n
    \r\n {listRemarkSubSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\" &&\r\n e.props.relatedSubSubToppicID == SubSubToppicId\r\n );\r\n })}\r\n
    \r\n \r\n )\r\n );\r\n\r\n const listSubTopics = this.initArrays.SubTopicArr.map(\r\n (\r\n {\r\n TitleTH,\r\n TitleEN,\r\n SubToppicId,\r\n ToppicId,\r\n SubSubToppicId,\r\n DescriptionTH,\r\n DescriptionEN,\r\n },\r\n Index\r\n ) => (\r\n \r\n \r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n

    \r\n {TitleTH} {DescriptionTH}\r\n

    \r\n \r\n ) : (\r\n \r\n

    \r\n {TitleEN} {DescriptionEN}\r\n

    \r\n \r\n )}\r\n {/* Run: เพิ่มการใส่ น้ำหนักคะแนน 14/04/2021 */}\r\n \r\n {listofWeight.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0\r\n );\r\n })}\r\n \r\n \r\n {listbuttonSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\"\r\n );\r\n })}\r\n \r\n {/* Run: เพิ่มการ ใส่ คะแนน Cal 14/04/2021*/}\r\n \r\n {listAssessorCalScore.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0\r\n );\r\n })}\r\n \r\n \r\n {listCalScore.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0\r\n );\r\n }).length > 0\r\n ? listCalScore.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0\r\n );\r\n })\r\n : DescriptionTH !== \"\"\r\n ? \"0\"\r\n : null}\r\n \r\n \r\n {listRemarkSubTopicEmp.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\"\r\n );\r\n })}\r\n \r\n
    \r\n\r\n {/* {เพิ่ม div remark} */}\r\n\r\n
    \r\n {listRemarkSubTopic.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.TooltipInfo !== \"\"\r\n );\r\n })}\r\n
    \r\n \r\n\r\n
    \r\n {listSubSubTopics.filter((e) => {\r\n return e.props.SubIDs == SubToppicId;\r\n })}\r\n
    \r\n\r\n \r\n \r\n {DescriptionTH == \"\" && this.state.language == \"TH\" ? (\r\n \r\n

    รวม{this.splicingTitle(TitleTH)}

    \r\n \r\n ) : null}\r\n {DescriptionTH == \"\" && this.state.language == \"EN\" ? (\r\n \r\n

    {this.splicingTitle(TitleEN)} Total

    \r\n \r\n ) : null}\r\n {DescriptionTH == \"\" ? (\r\n \r\n {listofWeight.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == SubToppicId &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0\r\n );\r\n })}\r\n \r\n ) : null}\r\n \r\n {DescriptionTH == \"\" ? (\r\n \r\n {totalclickPointAssessorSubSubTopic.filter((e) => {\r\n return (\r\n e.props.TopicId == ToppicId &&\r\n e.props.SubTopicId == SubToppicId\r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )}\r\n {DescriptionTH == \"\" ? (\r\n \r\n {totalclickPointSubSubTopic.filter((e) => {\r\n return (\r\n e.props.TopicId == ToppicId &&\r\n e.props.SubTopicId == SubToppicId\r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n \r\n )\r\n );\r\n\r\n const titleTopic = this.initArrays.TopicsArr.map(\r\n ({ ToppicId, TitleTH, TitleEN }, Order) => (\r\n
    \r\n {this.state.language == \"TH\" ? (\r\n
    รวม{this.splicingTitle(TitleTH)}
    \r\n ) : (\r\n
    {this.splicingTitle(TitleEN)} Total
    \r\n )}\r\n
    \r\n )\r\n );\r\n\r\n const listItems = this.initArrays.TopicsArr.map(\r\n ({ ToppicId, TitleTH, TitleEN, DescriptionTH, DescriptionEN }, Order) => (\r\n
    \r\n \r\n \r\n {this.state.language == \"TH\" ? (\r\n \r\n

    \r\n {TitleTH} \r\n {DescriptionTH}\r\n

    \r\n \r\n ) : (\r\n \r\n

    \r\n {TitleEN} \r\n {DescriptionEN}\r\n

    \r\n \r\n )}\r\n \r\n {/* Run: เพิ่มการ ใส่ น้ำหนักคะแนนสำหรับ Topic 14/04/2021*/}\r\n\r\n {listWeightsTotal.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == 0 &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0 &&\r\n e.props.IsMainTopic\r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {listSubTopics.filter((e) => {\r\n return e.props.ToppicID == ToppicId;\r\n })}\r\n
    \r\n \r\n \r\n \r\n

    \r\n {titleTopic.filter((e) => {\r\n return e.props.relateTopicID == ToppicId;\r\n })}\r\n

    \r\n \r\n\r\n \r\n {listWeightsTotal.filter((e) => {\r\n return (\r\n e.props.relateSubToppicId == 0 &&\r\n e.props.relateTopicID == ToppicId &&\r\n e.props.relatedSubSubToppicID == 0 &&\r\n e.props.IsMainTopic\r\n );\r\n })}\r\n \r\n\r\n \r\n\r\n \r\n {totalclickassessorpointTopic.filter((e) => {\r\n return e.props.relateTopicID == ToppicId;\r\n })}\r\n \r\n \r\n {totalclickpointTopic.filter((e) => {\r\n return e.props.relateTopicID == ToppicId;\r\n })}\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 {this.state.language == \"TH\" ? (\r\n \r\n เกณฑ์การประเมินผล \r\n น้ำหนักคะแนน \r\n ระดับคะแนน \r\n \r\n คะแนน\r\n \r\n ผลการประเมินตนเอง\r\n เหตุผลการประเมินตนเอง\r\n \r\n ) : (\r\n \r\n Criteria \r\n Score weight \r\n Score \r\n \r\n {\" \"}\r\n Total{\" \"}\r\n \r\n Self Assessment Score\r\n Self Assessment Remark\r\n \r\n )}\r\n
    \r\n \r\n\r\n
    {listItems}
    \r\n \r\n \r\n \r\n

    \r\n {this.state.language == \"TH\" ? (\r\n รวมคะแนนที่ได้\r\n ) : (\r\n Total Score\r\n )}\r\n

    \r\n \r\n \r\n 100\r\n \r\n\r\n \r\n \r\n {this.decimalPointChange(this.AnsData.TotalAssessorCalculate)}\r\n \r\n \r\n {this.decimalPointChange(this.AnsData.TotalCalculate)}\r\n \r\n
    \r\n \r\n \r\n );\r\n }\r\n\r\n handleSaveDraft = (ansSaveData, tableForm) => {\r\n console.log(\"ansSaveData\", ansSaveData);\r\n console.log(\"tableForm\", tableForm);\r\n tableForm.forEach((element) => {\r\n element.PrimaryAnsForm = ansSaveData;\r\n element.SubSubTopics = [];\r\n element.SubTopics = [];\r\n element.Topics = [];\r\n });\r\n // empid: this.props.location.state.record.EmpId,\r\n // assessor: localStorage.getItem(\"EmpId\"),\r\n // buttonaction: \"1\",\r\n // jsonans: tableForm,\r\n // formtypeid: \"2\"\r\n console.log(\"empid:\", this.props.location.state.record.EmpId);\r\n console.log(\"assessor:\", localStorage.getItem(\"EmpId\"));\r\n console.log(\"buttonaction: 1\");\r\n console.log(\"jsonans:\", JSON.stringify(tableForm));\r\n console.log(\"formtypeid: 2\");\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveForm\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: this.props.location.state.record.EmpId,\r\n assessor: localStorage.getItem(\"EmpId\"),\r\n buttonaction: \"1\",\r\n jsonans: tableForm,\r\n formtypeid: \"2\",\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"save draft result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\"บันทึกร่างไม่สำเร็จ\");\r\n } else {\r\n this.dialog.WarningDialog(\"Unable to Save Draft\");\r\n }\r\n } else {\r\n // alert(\"บันทึกร่างสำเร็จ\");\r\n // window.location.href = \"/workform\";\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == \"TH\") {\r\n this.dialog.SuccessDialog(\r\n \"บันทึกร่างสำเร็จ\",\r\n \"/assessing-subordinate\"\r\n );\r\n } else {\r\n this.dialog.SuccessDialog(\r\n \"Save Draft Success\",\r\n \"/assessing-subordinate\"\r\n );\r\n }\r\n }\r\n });\r\n };\r\n\r\n //RUN: เพิ่มการนำตัวแปรเข้า handlesubmit 11/04/2012\r\n handleSubmit = (ansSaveData, tableForm, countTotalRequire) => {\r\n //RUN: ตรวจสอบ condition ว่ามีค่าจำนวน ans เท่ากับ form หรือไม่ 11/04/2012\r\n var tempArray = [];\r\n var tempArrayRemarkvalidation = [];\r\n\r\n tableForm.forEach((element) => {\r\n element.PrimaryAnsForm = ansSaveData;\r\n element.SubSubTopics = [];\r\n element.SubTopics = [];\r\n element.Topics = [];\r\n });\r\n tempArray = countTotalRequire.filter((e) => {\r\n return e.Tooltip1TH !== \"\";\r\n });\r\n\r\n //RUN: เพิ่ม condition การ remark ครับผม สำหรับ เจ้าหน้าที่ ศาสนกิจ 24/04/2021\r\n tempArrayRemarkvalidation = ansSaveData.filter((e) => {\r\n if (e.isCompetency == 0) {\r\n if (e.Point.toString() !== \"3\") {\r\n console.log(\"1\");\r\n return e.Remark == \"\";\r\n }\r\n } else if (e.isCompetency == 1 && this.FromLocal.PositionID !== 19) {\r\n console.log(\"2\");\r\n if (\r\n this.FromLocal.PositionID > 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n e.Point.toString() !== \"3\"\r\n ) {\r\n console.log(\"3\");\r\n\r\n return e.Remark == \"\";\r\n } else if (\r\n e.isCompetency == 1 &&\r\n this.FromLocal.PositionID <= 6 &&\r\n this.FromLocal.PositionID !== 4 &&\r\n e.Point.toString() !== \"4\"\r\n ) {\r\n console.log(\"4\");\r\n\r\n return e.Remark == \"\";\r\n } else if (\r\n e.isCompetency == 1 &&\r\n this.FromLocal.PositionID == 4 &&\r\n e.Point.toString() !== \"3\"\r\n ) {\r\n return e.Remark == \"\";\r\n }\r\n } else if (this.FromLocal.PositionID == 19 && e.isCompetency == 1) {\r\n console.log(\"5\");\r\n\r\n if (\r\n e.SubSubTopicId.toString() == \"2\" &&\r\n e.Point.toString() !== \"4\" &&\r\n e.isCompetency == 1\r\n ) {\r\n console.log(\"6\");\r\n\r\n return e.Remark == \"\";\r\n } else if (\r\n e.SubSubTopicId.toString() !== \"2\" &&\r\n e.Point.toString() !== \"3\" &&\r\n e.isCompetency == 1\r\n ) {\r\n console.log(\"7\");\r\n\r\n return e.Remark == \"\";\r\n }\r\n }\r\n\r\n // //(e.isCompetency == 1 &&this.FromLocal.PositionID > 6 &&\r\n // this.FromLocal.PositionID !== 4 && e.Point.toString() !== '3'){\r\n // if(this.FromLocal.PositionID == 19 && e.SubSubTopicId.toString() == '2'){\r\n // console.log('in 1')\r\n // return null\r\n // }else{\r\n // console.log('in 2')\r\n\r\n // return e.Remark == \"\"\r\n // }\r\n // }else if (e.isCompetency == 1 && this.FromLocal.PositionID <= 6 &&\r\n // this.FromLocal.PositionID !== 4 && e.Point.toString() !== '4' ){\r\n // if(this.FromLocal.PositionID == 19 && e.SubSubTopicId.toString() == '2'){\r\n // console.log('in 3')\r\n // return null\r\n // }else{\r\n // console.log('in 4')\r\n\r\n // return e.Remark == \"\"\r\n // }\r\n // }else if (e.SubSubTopicId.toString() == '2' && this.FromLocal.PositionID == 19 &&\r\n // e.Point.toString() !== '4'){\r\n // console.log('in 5')\r\n\r\n // return e.Remark == \"\"\r\n // }\r\n });\r\n\r\n //RUN: ใช้ Condition Nested If ให้เข้า Condition ให้ถูกต้อง และ แสดง error ขึ้นมาตามลำดับ 11/04/2021\r\n console.log(\"tempArray.length\", tempArray.length);\r\n console.log(\"ansSaveData.length\", ansSaveData.length);\r\n if (ansSaveData.length == tempArray.length) {\r\n if (tempArrayRemarkvalidation.length == 0) {\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveForm\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n // empid: this.props.location.state.record.EmpId,\r\n // assessor: localStorage.getItem(\"EmpId\"),\r\n // buttonaction: \"1\",\r\n // jsonans: tableForm,\r\n // formtypeid: \"2\"\r\n body: JSON.stringify({\r\n empid: this.props.location.state.record.EmpId,\r\n assessor: localStorage.getItem(\"EmpId\"),\r\n buttonaction: \"2\",\r\n jsonans: tableForm,\r\n formtypeid: \"2\",\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"submit result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\"บันทึกไม่สำเร็จ\");\r\n } else {\r\n this.dialog.WarningDialog(\"Unable to Save\");\r\n }\r\n } else {\r\n // alert(\"บันทึกสำเร็จ\");\r\n // window.location.href = \"/workform\";\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == \"TH\") {\r\n this.dialog.SuccessDialog(\r\n \"บันทึกสำเร็จ\",\r\n \"/assessing-subordinate\"\r\n );\r\n } else {\r\n this.dialog.SuccessDialog(\r\n \"Save Success\",\r\n \"/assessing-subordinate\"\r\n );\r\n }\r\n }\r\n });\r\n } else {\r\n // alert(\r\n // \"บันทึกไม่สำเร็จ ข้อมูลเหตุผลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\"\r\n // );\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\r\n \"บันทึกไม่สำเร็จ ข้อมูลเหตุผลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\"\r\n );\r\n } else {\r\n this.dialog.WarningDialog(\r\n \"Unable to save due to incomplete remark. Please check your assessment informations.\"\r\n );\r\n }\r\n }\r\n } else {\r\n // alert(\"บันทึกไม่สำเร็จ ข้อมูลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\r\n \"บันทึกไม่สำเร็จ ข้อมูลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\"\r\n );\r\n } else {\r\n this.dialog.WarningDialog(\r\n \"Unable to save due to incomplete data. Please check your assessment informations.\"\r\n );\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n {/* */}\r\n \r\n window.history.back()}\r\n title={\r\n \"แบบฟอร์มการประเมินผู้ใต้สังกัด : \" +\r\n this.props.location.state.record.TitleTH +\r\n \" \" +\r\n this.props.location.state.record.FirstNameTH +\r\n \" \" +\r\n this.props.location.state.record.LastNameTH +\r\n \" (\" +\r\n this.props.location.state.record.EmpId +\r\n \")\"\r\n }\r\n />\r\n \r\n\r\n
    \r\n {this.renderTable()}\r\n \r\n {this.state.language == \"TH\" ? (\r\n {\r\n this.handleSaveDraft(\r\n this.AnsData.ansFormAssessor,\r\n this.state.tableData\r\n );\r\n }}\r\n >\r\n บันทึกร่าง\r\n \r\n ) : (\r\n {\r\n this.handleSaveDraft(\r\n this.AnsData.ansFormAssessor,\r\n this.state.tableData\r\n );\r\n }}\r\n >\r\n Draft\r\n \r\n )}\r\n {this.state.language == \"TH\" ? (\r\n {\r\n this.handleSubmit(\r\n this.AnsData.ansFormAssessor,\r\n this.state.tableData,\r\n //RUN: เพิ่มการนำตัวแปรเข้า handlesubmit 11/04/2012\r\n this.state.Tooltip\r\n );\r\n }}\r\n >\r\n ส่งข้อมูล\r\n \r\n ) : (\r\n {\r\n this.handleSubmit(\r\n this.AnsData.ansFormAssessor,\r\n this.state.tableData,\r\n //RUN: เพิ่มการนำตัวแปรเข้า handlesubmit 11/04/2012\r\n this.state.Tooltip\r\n );\r\n }}\r\n >\r\n Submit\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AssessSuborndinateInfo;\r\n","import {\r\n PageHeader,\r\n Tabs,\r\n Tag,\r\n Table,\r\n Select,\r\n Tooltip,\r\n Button,\r\n Radio,\r\n Row,\r\n Col,\r\n} from \"antd\";\r\nimport Column from \"antd/lib/table/Column\";\r\nimport React, { Component } from \"react\";\r\n\r\nimport \"../shared/css/list-page.css\";\r\nimport \"../shared/css/headerpages.css\";\r\nimport { getTableService } from \"../services/table-helper.service\";\r\nimport Dialog from \"../shared/dialog\";\r\n\r\nimport { BrowserRouter as Router, Link, Switch } from \"react-router-dom\";\r\nimport ReactToPrint from \"react-to-print\";\r\n\r\nconst { Option } = Select;\r\n\r\nconst getRowKey = (record) => {\r\n return `${record.EmpId}`;\r\n};\r\nclass SecondTabScreen extends Component {\r\n constructor(propsName) {\r\n super(propsName);\r\n this.inputRef = React.createRef();\r\n\r\n this.state = {\r\n language: localStorage.getItem(\"Language\"),\r\n EmpListDatasource: [],\r\n SectorListDatasource: [],\r\n Columns: [],\r\n ColumnsDatasourceTH: [],\r\n ColumnsDatasourceEN: [],\r\n PositionList: [],\r\n SectorList: [],\r\n query: \"\",\r\n results: [],\r\n resultsAnsList: [],\r\n selectedRowKeys: null,\r\n visible: false,\r\n triggprint: true,\r\n ansDefault: [],\r\n evalStatus: \"\",\r\n\r\n five: [],\r\n four: [],\r\n three: [],\r\n two: [],\r\n one: [],\r\n //RUN 05/06/2021 เพิ่ม total เพื่อนำไปใช้ในการหา Percentage\r\n total: 0,\r\n //sector name for report\r\n sectorTH: \"\",\r\n sectorEN: \"\",\r\n };\r\n\r\n this.AnsData = {\r\n assessor: localStorage.getItem(\"EmpId\"),\r\n ansForm: [],\r\n };\r\n\r\n console.log(\"this.props in second tab\", this.props.propsName);\r\n this.dialog = new Dialog();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"nextProps\", nextProps.propsName.lang);\r\n this.setState({ language: nextProps.propsName.lang });\r\n localStorage.setItem(\"Language\", nextProps.propsName.lang);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"componentRef\", this.inputRef);\r\n\r\n //fetch ans list\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getAnsFirstLevel\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n AssessorId: localStorage.getItem(\"EmpId\"),\r\n //AssessorId: 800\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"result getAnsFirstLevel\", result);\r\n\r\n result.forEach((element) => {\r\n this.state.ansDefault = element.AnsForm;\r\n });\r\n\r\n //RUN: นำ ans data เข้าไปใส่ใน array ที่ใช้ ิวิ่งข้อมูล Default\r\n if (this.state.ansDefault.length > 0) {\r\n this.state.ansDefault.forEach((e) => {\r\n this.AnsData.ansForm.push({\r\n empid: e.EmpId,\r\n assessor: e.Assessor,\r\n Point: e.Point,\r\n });\r\n });\r\n }\r\n\r\n this.setState({\r\n ansDefault: this.state.ansDefault,\r\n evalStatus: result[0].EvaluteStatus,\r\n });\r\n console.log(\"this.state.ansDefault\", this.state.ansDefault);\r\n console.log(\"evalStatus\", this.state.evalStatus);\r\n\r\n var five = this.AnsData.ansForm.filter((e) => e.Point == 5);\r\n\r\n var four = this.AnsData.ansForm.filter((e) => e.Point == 4);\r\n var three = this.AnsData.ansForm.filter((e) => e.Point == 3);\r\n var two = this.AnsData.ansForm.filter((e) => e.Point == 2);\r\n var one = this.AnsData.ansForm.filter((e) => e.Point == 1);\r\n\r\n this.setState({\r\n five: five,\r\n four: four,\r\n three: three,\r\n two: two,\r\n one: one,\r\n });\r\n });\r\n\r\n //fetch emp list\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getUnderPrimaryByAdminId\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n //empid: 800\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"result here \", result);\r\n result.forEach((element) => {\r\n this.state.EmpListDatasource = element.EmpList;\r\n this.state.SectorListDatasource = element.SectorList;\r\n this.state.results = element.EmpList;\r\n //RUN 05/06/2021 เพิ่ม total เพื่อนำไปใช้ในการหา Percentage\r\n this.state.total = this.state.EmpListDatasource.length\r\n });\r\n this.state.EmpListDatasource.forEach((e) => {\r\n if (this.state.PositionList.length == 0) {\r\n this.state.PositionList.push({\r\n PositionNameTH: e.PositionNameTH,\r\n PositionNameEN: e.PositionNameEN,\r\n });\r\n } else {\r\n this.state.PositionList = this.positionPopper(e.PositionNameTH);\r\n this.state.PositionList.push({\r\n PositionNameTH: e.PositionNameTH,\r\n PositionNameEN: e.PositionNameEN,\r\n });\r\n }\r\n // console.log(\"EmpListDatasource\", e.PositionNameTH);\r\n });\r\n this.setState({\r\n EmpListDatasource: this.state.EmpListDatasource,\r\n results: this.state.results,\r\n SectorListDatasource: this.state.SectorListDatasource,\r\n PositionList: this.state.PositionList,\r\n });\r\n console.log(\r\n \"this.state.ColumnsDatasourceTH in second tab\",\r\n this.state.ColumnsDatasourceTH\r\n );\r\n // console.log(\r\n // \"this.state.SectorListDatasource\",\r\n // this.state.SectorListDatasource\r\n // );\r\n // console.log(\"this.state.PositionList\", this.state.PositionList);\r\n\r\n // console.log(\"this.state.EmpListDatasource bf sort\", this.state.EmpListDatasource);\r\n this.state.EmpListDatasource.sort(function (a, b) {\r\n return a.EmpId - b.EmpId;\r\n });\r\n this.setState({\r\n EmpListDatasource: this.state.EmpListDatasource,\r\n });\r\n\r\n // console.log(\"this.state.EmpListDatasource after sort\", this.state.EmpListDatasource);\r\n });\r\n\r\n // get data column\r\n getTableService(\"step-two\").then((result) => {\r\n var table = [];\r\n result.forEach((e) => {\r\n this.state.Columns = e.TableColumn;\r\n });\r\n // console.log(\"this.state.Columns\", this.state.Columns);\r\n\r\n // render thai\r\n this.state.Columns.forEach((e) => {\r\n // console.log(\"ColumnKeyTH\", e.ColumnKeyTH);\r\n if (\r\n e.ColumnKeyTH !== \"StepPoint\" &&\r\n e.ColumnKeyTH !== \"SumSelfCalPoint\" &&\r\n e.ColumnKeyTH !== \"SumAssessorCalPoint\" &&\r\n e.ColumnKeyTH !== \"EmpId\"\r\n ) {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n });\r\n } else if (e.ColumnKeyTH == \"EmpId\") {\r\n console.log(\"in empid\");\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n defaultSortOrder: \"descend\",\r\n sorter: (a, b) => a.EmpId - b.EmpId,\r\n sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n } else if (e.ColumnKeyTH == \"SumSelfCalPoint\") {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (record.EvaluateStatus == 1) {\r\n return (\r\n
    \r\n

    ยังไม่ได้ประเมินตนเอง

    \r\n
    \r\n );\r\n } else if (record.EvaluateStatus == 2) {\r\n return (\r\n
    \r\n

    กำลังประเมินตนเอง

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n });\r\n } else if (e.ColumnKeyTH == \"SumAssessorCalPoint\") {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == null) {\r\n console.log(\"e in PrimaryEvaluteStatus\", e);\r\n console.log(\"record in PrimaryEvaluteStatus\", record);\r\n return (\r\n
    \r\n

    ยังไม่ได้ประเมินผู้ใต้สังกัด

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n });\r\n } else if (e.ColumnKeyTH == \"StepPoint\") {\r\n var estatus = [];\r\n this.state.ansDefault.forEach((e) => {\r\n return e.EvaluateStatus;\r\n });\r\n\r\n console.log(\"estatus\", estatus);\r\n\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (this.state.evalStatus == \"2\") {\r\n console.log(\r\n \"getDefaultScore in step point 2\",\r\n this.getDefaultScore(record.EmpId, this.AnsData.assessor)\r\n );\r\n // console.log('record.EvaluateStatus', record.EvaluateStatus)\r\n return (\r\n
    \r\n

    \r\n {this.getDefaultScore(\r\n record.EmpId,\r\n this.AnsData.assessor\r\n )}\r\n

    \r\n
    \r\n );\r\n } else {\r\n // console.log(' in step point 1')\r\n return (\r\n {\r\n this.handleChange(\r\n record.EmpId,\r\n this.AnsData.assessor,\r\n e.target.value\r\n );\r\n }}\r\n >\r\n\r\n \r\n 5\r\n 4\r\n 3\r\n 2\r\n 1\r\n \r\n \r\n );\r\n }\r\n },\r\n });\r\n }\r\n });\r\n\r\n this.setState({\r\n ColumnsDatasourceTH: this.state.ColumnsDatasourceTH.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n });\r\n\r\n //render en\r\n this.state.Columns.forEach((e) => {\r\n // console.log(\"ColumnKeyEN\", e.ColumnKeyEN);\r\n if (\r\n e.ColumnKeyEN !== \"StepPoint\" &&\r\n e.ColumnKeyEN !== \"SumSelfCalPoint\" &&\r\n e.ColumnKeyEN !== \"SumAssessorCalPoint\" &&\r\n e.ColumnKeyEN !== \"EmpId\"\r\n ) {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n });\r\n } else if (e.ColumnKeyEN == \"EmpId\") {\r\n console.log(\"in empid\");\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n defaultSortOrder: \"descend\",\r\n sorter: (a, b) => a.EmpId - b.EmpId,\r\n sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n } else if (e.ColumnKeyEN == \"SumSelfCalPoint\") {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (record.EvaluateStatus == 1) {\r\n return (\r\n
    \r\n

    No Record

    \r\n
    \r\n );\r\n } else if (record.EvaluateStatus == 2) {\r\n return (\r\n
    \r\n

    In progress

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n });\r\n } else if (e.ColumnKeyEN == \"SumAssessorCalPoint\") {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == null) {\r\n return (\r\n
    \r\n

    No record

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n });\r\n } else if (e.ColumnKeyEN == \"StepPoint\") {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (this.state.evalStatus == 2) {\r\n return (\r\n
    \r\n {this.getDefaultScore(record.EmpId, this.AnsData.assessor)}\r\n
    \r\n );\r\n } else {\r\n return (\r\n {\r\n this.handleChange(\r\n record.EmpId,\r\n this.AnsData.assessor,\r\n e.target.value\r\n );\r\n }}\r\n >\r\n {/*
    Avalaible on 25/04/2022
    */}\r\n\r\n \r\n 5\r\n 4\r\n 3\r\n 2\r\n 1\r\n \r\n \r\n );\r\n }\r\n },\r\n });\r\n }\r\n });\r\n\r\n this.setState({\r\n ColumnsDatasourceEN: this.state.ColumnsDatasourceEN.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n });\r\n });\r\n }\r\n\r\n testarrayDupFunction(empid, assessor) {\r\n console.log(\"testarrayDupFunction\");\r\n var tempDup = [];\r\n //RUN: ยัดใส่เป็น ToString ให้หมดเนื่องจากส่งไปsave กับ ส่งคืนมา มีค่าdatatype อิอัยยยยยยยยยย 16/04/2021\r\n var tempempid = empid.toString();\r\n var tempassessor = assessor.toString();\r\n\r\n tempDup = this.AnsData.ansForm.filter((e) => {\r\n return e.empid !== empid || e.assessor !== assessor;\r\n });\r\n console.log(\"tempDup\", tempDup);\r\n return tempDup;\r\n }\r\n\r\n positionPopper(sectorName) {\r\n var tempDup = [];\r\n tempDup = this.state.SectorListDatasource.filter((e) => {\r\n return sectorName !== e.SectorId;\r\n });\r\n return tempDup;\r\n }\r\n\r\n getDefaultScore(empid, assessor) {\r\n var tempArray = [];\r\n tempArray = this.state.ansDefault.filter((e) => {\r\n return e.EmpId == empid && e.Assessor == assessor;\r\n });\r\n\r\n if (tempArray.length > 0) {\r\n return tempArray[0].Point;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n getSearchResults = (query) => {\r\n const allData = this.state.results;\r\n const dataToShow = [];\r\n allData.forEach((item) => {\r\n console.log(\"item\", item);\r\n const searchString = query;\r\n if (item.SectorId == searchString) {\r\n dataToShow.push(item);\r\n }\r\n });\r\n console.log(\"data to show: \", dataToShow);\r\n this.setState({\r\n EmpListDatasource: dataToShow,\r\n });\r\n };\r\n\r\n handleSectorChange = (value) => {\r\n console.log(\"handlePositionChange\", value);\r\n this.setState(\r\n {\r\n query: value,\r\n },\r\n () => {\r\n if (this.state.query && this.state.query.length > 0) {\r\n console.log(\"this.state.query\", this.state.query);\r\n this.getSearchResults(this.state.query);\r\n this.setState({ sectorTH: this.state.query });\r\n } else {\r\n this.setState({\r\n EmpListDatasource: this.state.results,\r\n });\r\n }\r\n }\r\n );\r\n };\r\n\r\n handleSaveDraft = (ansSaveData) => {\r\n var empid;\r\n var assess;\r\n var point;\r\n\r\n ansSaveData.forEach((element) => {\r\n empid = element.empid;\r\n assess = element.assessor;\r\n point = element.Point;\r\n });\r\n\r\n console.log(\"empid\", empid);\r\n console.log(\"assess\", assess);\r\n console.log(\"point\", point);\r\n\r\n console.log(\"ansSaveData\", ansSaveData);\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveFormFirstLevel\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: empid,\r\n formid: \"1\",\r\n assessor: assess,\r\n buttonaction: \"1\",\r\n jsonans: ansSaveData,\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"save draft result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\"บันทึกร่างไม่สำเร็จ\");\r\n } else {\r\n this.dialog.WarningDialog(\"Unable to Save Draft\");\r\n }\r\n } else {\r\n if (this.state.language == \"TH\") {\r\n this.dialog.SuccessDialog(\r\n \"บันทึกร่างสำเร็จ\",\r\n \"/assessing-subordinate\"\r\n );\r\n localStorage.setItem(\"defaultActiveKey\", 2);\r\n } else {\r\n this.dialog.SuccessDialog(\r\n \"Save Draft Success\",\r\n \"/assessing-subordinate\"\r\n );\r\n localStorage.setItem(\"defaultActiveKey\", 2);\r\n }\r\n }\r\n });\r\n };\r\n\r\n handleSubmit = (ansSaveData, EmpListDatasource) => {\r\n //RUN: ตรวจสอบ condition ว่ามีค่าจำนวน ans เท่ากับ form หรือไม่ 11/04/2012\r\n var tempArray = [];\r\n var tempArrayRemarkvalidation = [];\r\n\r\n console.log(\"tempArrayRemarkvalidation\", tempArrayRemarkvalidation);\r\n console.log(\"ansform\", ansSaveData);\r\n\r\n console.log(\"ansSaveData.length\", ansSaveData.length);\r\n console.log(\"EmpListDatasource.length\", EmpListDatasource.length);\r\n\r\n //RUN: ใช้ Condition Nested If ให้เข้า Condition ให้ถูกต้อง และ แสดง error ขึ้นมาตามลำดับ 11/04/2021\r\n if (ansSaveData.length == EmpListDatasource.length) {\r\n if (tempArrayRemarkvalidation.length == 0) {\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveFormFirstLevel\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n formid: \"1\",\r\n assessor: localStorage.getItem(\"EmpId\"),\r\n buttonaction: \"2\",\r\n jsonans: ansSaveData,\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"submit result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\"บันทึกไม่สำเร็จ\");\r\n } else {\r\n this.dialog.WarningDialog(\"Unable to Save\");\r\n }\r\n } else {\r\n // alert(\"บันทึกสำเร็จ\");\r\n // window.location.href = \"/workform\";\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == \"TH\") {\r\n this.dialog.SuccessDialog(\r\n \"บันทึกสำเร็จ\",\r\n \"/assessing-subordinate\"\r\n );\r\n localStorage.setItem(\"defaultActiveKey\", 2);\r\n } else {\r\n this.dialog.SuccessDialog(\r\n \"Save Success\",\r\n \"/assessing-subordinate\"\r\n );\r\n localStorage.setItem(\"defaultActiveKey\", 2);\r\n }\r\n }\r\n });\r\n } else {\r\n // alert(\r\n // \"บันทึกไม่สำเร็จ ข้อมูลเหตุผลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\"\r\n // );\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\r\n \"บันทึกไม่สำเร็จ ข้อมูลเหตุผลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\"\r\n );\r\n } else {\r\n this.dialog.WarningDialog(\r\n \"Unable to save due to incomplete remark. Please check your assessment informations.\"\r\n );\r\n }\r\n }\r\n } else {\r\n // alert(\"บันทึกไม่สำเร็จ ข้อมูลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == \"TH\") {\r\n this.dialog.WarningDialog(\r\n \"บันทึกไม่สำเร็จ ข้อมูลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\"\r\n );\r\n } else {\r\n this.dialog.WarningDialog(\r\n \"Unable to save due to incomplete data. Please check your assessment informations.\"\r\n );\r\n }\r\n }\r\n };\r\n\r\n handleChange = (empid, assessor, value) => {\r\n console.log(\"in change\");\r\n\r\n var temp = [];\r\n temp = this.AnsData.ansForm.filter((e) => {\r\n return e.empid == empid && e.assessor == assessor;\r\n });\r\n\r\n if (temp.length == 0) {\r\n this.AnsData.ansForm.push({\r\n empid: empid,\r\n assessor: assessor,\r\n Point: value,\r\n });\r\n } else {\r\n this.AnsData.ansForm = this.testarrayDupFunction(empid, assessor);\r\n\r\n this.AnsData.ansForm.push({\r\n empid: empid,\r\n assessor: assessor,\r\n Point: value,\r\n });\r\n }\r\n\r\n console.log(\"ansForm\", this.AnsData.ansForm);\r\n\r\n var five = this.AnsData.ansForm.filter((e) => e.Point == 5);\r\n\r\n var four = this.AnsData.ansForm.filter((e) => e.Point == 4);\r\n var three = this.AnsData.ansForm.filter((e) => e.Point == 3);\r\n var two = this.AnsData.ansForm.filter((e) => e.Point == 2);\r\n var one = this.AnsData.ansForm.filter((e) => e.Point == 1);\r\n\r\n this.setState({ five: five, four: four, three: three, two: two, one: one });\r\n console.log(\"this.state.ansDefault in count\", this.state.ansDefault);\r\n console.log(\"five\", this.state.five);\r\n console.log(\"four\", this.state.four.length);\r\n console.log(\"three\", this.state.three.length);\r\n console.log(\"two\", this.state.two.length);\r\n console.log(\"one\", this.state.one.length);\r\n };\r\n\r\n setRowKey(record) {\r\n const selectedRowKey = getRowKey(record);\r\n console.log(selectedRowKey, typeof selectedRowKey);\r\n this.setState({ selectedRowKey });\r\n }\r\n\r\n renderContentTH() {\r\n const {\r\n EmpListDatasource,\r\n ColumnsDatasourceTH,\r\n PositionList,\r\n SectorListDatasource,\r\n } = this.state;\r\n\r\n console.log(\"this.state.sectorTH\", this.state.sectorTH);\r\n\r\n var tempSector = SectorListDatasource.filter((e) => {\r\n return e.SectorId == this.state.sectorTH;\r\n });\r\n\r\n console.log(\"tempSector\", tempSector);\r\n\r\n return (\r\n
    \r\n \r\n {/* render Left section */}\r\n \r\n \r\n this.handleSectorChange(e)}\r\n style={{ width: '25em', textAlign: 'center' }}\r\n\r\n >\r\n \r\n {SectorListDatasource.map((position) => (\r\n \r\n ))}\r\n \r\n\r\n {/* render Right sector */}\r\n
    \r\n \r\n
    \r\n \r\n\r\n {this.renderCountTH()}\r\n
    \r\n\r\n
    \r\n getRowKey(record)}\r\n rowClassName={(record) =>\r\n getRowKey(record) === this.state.selectedRowKey\r\n ? \"highlighted-selection\"\r\n : \"\"\r\n }\r\n onRow={(record) => {\r\n return {\r\n onClick: () => {\r\n this.setState({ visible: true });\r\n this.setRowKey(record);\r\n },\r\n };\r\n }}\r\n pagination={false}\r\n >\r\n \r\n \r\n
    \r\n\r\n {this.state.evalStatus == \"2\" ? (\r\n
    \r\n {\r\n return (\r\n \r\n \r\n
    \r\n );\r\n }}\r\n content={() => this.componentRef}\r\n />\r\n
    \r\n {/* to print component */}\r\n
    (this.componentRef = el)}>\r\n
    \r\n

    \r\n รายงานพิจารณาระดับผลการปฏิบัติงานบุคลากร ประจำปีการศึกษา\r\n 2564\r\n

    \r\n

    {tempSector.map((e) => e.SectorNameTH)}

    \r\n
    \r\n\r\n \r\n {/* render Left section */}\r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n {/* render Right sector */}\r\n {this.renderCountTH()}\r\n
    \r\n\r\n
    \r\n getRowKey(record)}\r\n rowClassName={(record) =>\r\n getRowKey(record) === this.state.selectedRowKey\r\n ? \"highlighted-selection\"\r\n : \"\"\r\n }\r\n onRow={(record) => {\r\n return {\r\n onClick: () => {\r\n this.setState({ visible: true });\r\n this.setRowKey(record);\r\n },\r\n };\r\n }}\r\n pagination={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 localStorage.getItem(\"TitleTH\") +\r\n \" \" +\r\n localStorage.getItem(\"FirstNameTH\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameTH\") +\r\n \" )\"}\r\n

    \r\n

    ตำแหน่ง _______________________________

    \r\n

    วันที่ _________________

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n ) : (\r\n
    \r\n {\r\n this.handleSaveDraft(this.AnsData.ansForm);\r\n }}\r\n >\r\n บันทึกร่าง\r\n \r\n\r\n {\r\n this.handleSubmit(\r\n this.AnsData.ansForm,\r\n this.state.EmpListDatasource\r\n );\r\n }}\r\n >\r\n ส่งข้อมูล\r\n \r\n
    \r\n )}\r\n \r\n );\r\n }\r\n\r\n renderContentEN() {\r\n const { EmpListDatasource, ColumnsDatasourceEN, SectorListDatasource } =\r\n this.state;\r\n\r\n var tempSector = SectorListDatasource.filter((e) => {\r\n return e.SectorId == this.state.sectorTH;\r\n });\r\n\r\n console.log(\"tempSector\", tempSector);\r\n\r\n return (\r\n
    \r\n \r\n {/* render Left section */}\r\n \r\n \r\n this.handleSectorChange(e)}\r\n style={{ width: '25em', textAlign: 'center' }}\r\n >\r\n \r\n {SectorListDatasource.map((position) => (\r\n \r\n ))}\r\n \r\n\r\n {/* render Right sector */}\r\n
    \r\n \r\n
    \r\n \r\n\r\n {this.renderCountEN()}\r\n
    \r\n\r\n
    \r\n getRowKey(record)}\r\n rowClassName={(record) =>\r\n getRowKey(record) === this.state.selectedRowKey\r\n ? \"highlighted-selection\"\r\n : \"\"\r\n }\r\n onRow={(record) => {\r\n return {\r\n onClick: () => {\r\n this.setState({ visible: true });\r\n this.setRowKey(record);\r\n },\r\n };\r\n }}\r\n pagination={false}\r\n >\r\n \r\n \r\n
    \r\n\r\n {this.state.evalStatus == \"2\" ? (\r\n
    \r\n {\r\n return (\r\n \r\n \r\n
    \r\n );\r\n }}\r\n content={() => this.componentRef}\r\n />\r\n
    \r\n {/* to print component */}\r\n
    (this.componentRef = el)}>\r\n
    \r\n

    \r\n {\" \"}\r\n Report of level on work Performance for acadamic year 2020\r\n

    \r\n

    {tempSector.map((e) => e.SectorNameEN)}

    \r\n
    \r\n\r\n \r\n {/* render Left section */}\r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n {/* render Right sector */}\r\n {this.renderCountEN()}\r\n
    \r\n\r\n
    \r\n getRowKey(record)}\r\n rowClassName={(record) =>\r\n getRowKey(record) === this.state.selectedRowKey\r\n ? \"highlighted-selection\"\r\n : \"\"\r\n }\r\n onRow={(record) => {\r\n return {\r\n onClick: () => {\r\n this.setState({ visible: true });\r\n this.setRowKey(record);\r\n },\r\n };\r\n }}\r\n pagination={false}\r\n >\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Signature _________________________________

    \r\n

    \r\n {\"( \" +\r\n localStorage.getItem(\"TitleEN\") +\r\n \" \" +\r\n localStorage.getItem(\"FirstNameEN\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameEN\") +\r\n \" )\"}\r\n

    \r\n

    Position _______________________________

    \r\n

    Date _________________

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n ) : (\r\n
    \r\n {\r\n this.handleSaveDraft(this.AnsData.ansForm);\r\n }}\r\n >\r\n Draft\r\n \r\n\r\n {\r\n this.handleSubmit(\r\n this.AnsData.ansForm,\r\n this.state.EmpListDatasource\r\n );\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n )}\r\n \r\n );\r\n }\r\n\r\n renderCountTH() {\r\n {/* RUN 05/06/2021 นำ percentage ไปใส่ */ }\r\n\r\n const { five, four, three, two, one, total } = this.state;\r\n\r\n return (\r\n
    \r\n

    \r\n {\" \"}\r\n ระดับผลปฎิบัติงาน
    \r\n\r\n 5: {five.length} คน ({(five.length / total * 100).toFixed(2)}%) | 4: {four.length} คน ({(four.length / total * 100).toFixed(2)}%) | 3: {three.length} คน ({(three.length / total * 100).toFixed(2)}%) | 2:{\" \"}\r\n {two.length} คน ({(two.length / total * 100).toFixed(2)}%) | 1: {one.length} คน ({(one.length / total * 100).toFixed(2)}%) {\" \"}\r\n

    \r\n
    \r\n );\r\n }\r\n\r\n renderCountEN() {\r\n {/* RUN 05/06/2021 นำ percentage ไปใส่ */ }\r\n\r\n const { five, four, three, two, one, total } = this.state;\r\n\r\n return (\r\n
    \r\n

    \r\n {\" \"}\r\n Result of Work Performance
    \r\n 5: {five.length} ({(five.length / total * 100).toFixed(2)}%) | 4: {four.length} ({(four.length / total * 100).toFixed(2)}%) | 3: {three.length} ({(three.length / total * 100).toFixed(2)}%) | 2:{\" \"}\r\n {two.length} ({(two.length / total * 100).toFixed(2)}%) | 1: {one.length} ({(one.length / total * 100).toFixed(2)}%) {\" \"}\r\n

    \r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n console.log(\"this.state.evalstatus\", this.state.evalStatus);\r\n\r\n return (\r\n
    \r\n {this.state.language == \"TH\"\r\n ? this.renderContentTH()\r\n : this.renderContentEN()}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default SecondTabScreen;\r\n","import { Table, Tag, Spin, PageHeader, Select, Tabs } from \"antd\";\r\n\r\nimport { relativeTimeThreshold } from \"moment\";\r\nimport React, { Component } from \"react\";\r\n\r\nimport Dialog from \"../shared/dialog\";\r\n\r\n\r\n\r\nimport \"../shared/css/list-page.css\";\r\nimport \"../shared/css/headerpages.css\";\r\nimport \"../shared/css/table.css\";\r\nimport { keys } from \"lodash\";\r\n\r\n// Load the full build.\r\nvar _ = require('lodash');\r\n\r\n\r\n\r\nexport default class BoardsReport extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n language: this.props.lang,\r\n EmpListDatasource: [],\r\n SectorListDatasource: [],\r\n \r\n };\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"statequery\", this.state.query);\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getBoardsReport\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n confirmid: localStorage.getItem(\"EmpId\"),\r\n // confirmid: 516\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"result board report api\", result);\r\n result.forEach((element) => {\r\n this.state.EmpListDatasource = element.EmpList;\r\n this.state.SectorListDatasource = element.SectorList;\r\n this.state.results = element.EmpList;\r\n });\r\n\r\n this.setState({\r\n EmpListDatasource: this.state.EmpListDatasource,\r\n results: this.state.results,\r\n SectorListDatasource: this.state.SectorListDatasource,\r\n });\r\n\r\n console.log(\r\n \"this.state.EmpListDatasource\",\r\n this.state.EmpListDatasource\r\n );\r\n console.log(\r\n \"this.state.SectorListDatasource\",\r\n this.state.SectorListDatasource\r\n );\r\n\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n renderTable() {\r\n\r\n\r\n const output = _.map(_.groupBy(this.state.EmpListDatasource, 'SectorNameTH'), function(obj, key){\r\n var temp = {};\r\n temp[key] = _.groupBy(obj, 'StepPoint')\r\n // console.log('obj', obj)\r\n // console.log('temp', temp)\r\n // console.log('key', key)\r\n // console.log('temp[key]', temp[key])\r\n\r\n return {sector: key, score: temp[key]};\r\n \r\n });\r\n console.log('output', output)\r\n\r\n var total = (_.groupBy(this.state.EmpListDatasource, 'StepPoint'))\r\n console.log('total', total[4])\r\n\r\n const right = this.state.EmpListDatasource.filter((e) => {\r\n return e.StepPoint !== null\r\n })\r\n\r\n console.log('right ', right)\r\n\r\n return (\r\n
    \r\n\r\n \r\n {/* render table header */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n{/* end render table header */}\r\n\r\n{/* render bo table */}\r\n\r\n\r\n\r\n {output.map((item) => (\r\n \r\n \r\n \r\n \r\n {item.score[5] == undefined? : } \r\n {item.score[4] == undefined? : } \r\n {item.score[3] == undefined? : } \r\n {item.score[2] == undefined? : } \r\n {item.score[1] == 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 {total[5] == undefined? : } \r\n {total[4] == undefined? : }\r\n {total[3] == undefined? : }\r\n {total[2] == undefined? : }\r\n {total[1] == undefined? : }\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {total[5] == undefined? : } \r\n {total[4] == undefined? : }\r\n {total[3] == undefined? : }\r\n {total[2] == undefined? : }\r\n {total[1] == undefined? : }\r\n \r\n \r\n\r\n
    สังกัด / หน่วยงาน ระดับผลการปฎิบัติงาน รวม (คน)
    5 4 3 2 1
    { item.sector} - {item.score[5].length} - {item.score[4].length} - {item.score[3].length} - {item.score[2].length} - {item.score[1].length} {\r\n right.filter((e) => \r\n { return e.SectorNameTH == item.sector; }).length\r\n }
    รวม - {total[5].length} - {total[4].length} - {total[3].length} - {total[2].length} - {total[1].length} {right.length}
    - {((total[5].length * 100) / this.state.EmpListDatasource.length).toFixed(2)} % - {((total[4].length * 100) / this.state.EmpListDatasource.length).toFixed(2)} % - {((total[3].length * 100) / this.state.EmpListDatasource.length).toFixed(2)} % - {((total[2].length * 100) / this.state.EmpListDatasource.length).toFixed(2)} % - {((total[1].length * 100) / this.state.EmpListDatasource.length).toFixed(2)} % {((right.length * 100) / this.state.EmpListDatasource.length).toFixed(2) } %
    \r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n

    \r\n รายงานพิจารณาระดับผลการปฏิบัติงานบุคลากร ประจำปีการศึกษา 2564
    \r\n Summary of level of work performance for Academic Year 2021\r\n

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

    ฝ่าย {localStorage.getItem(\"DepartmentTH\")}

    \r\n\r\n {/*

    ฝ่าย กิจการพิเศษ

    */}\r\n

    บุคลากรที่มีสิทธิประเมินทั้งหมด {this.state.EmpListDatasource.length} คน \r\n
    \r\n (Amount of people in the criteria to be considered)\r\n

    \r\n\r\n \r\n \r\n {this.renderTable()}\r\n\r\n \r\n\r\n
    \r\n
    \r\n

    ลงชื่อ _________________________________

    \r\n

    \r\n {\"( \" +\r\n localStorage.getItem(\"TitleTH\") +\r\n \" \" +\r\n localStorage.getItem(\"FirstNameTH\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameTH\") +\r\n \" )\"}\r\n

    \r\n

    ตำแหน่ง {localStorage.getItem(\"PositionNameTH\")}

    \r\n {/*

    ( รศ.ดร. เขตไท\tลังการ์พินธุ์ )

    \r\n

    ตำแหน่ง ผู้ช่วยอธิการบดีฝ่ายกิจการพิเศษ/ผู้อำนวยการโครงการจัดตั้งศูนย์ศึกษาวิจัยด้านสิทธิมนุษยชน
    คณะนิติศาสตร์ มหาวิทยาลัยพายัพ

    */}\r\n

    วันที่ _________________

    \r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n }\r\n}\r\n","import {\r\n PageHeader,\r\n Tabs,\r\n Tag,\r\n Table,\r\n Select,\r\n Tooltip,\r\n Button,\r\n Radio,\r\n Row,\r\n Col,\r\n Spin,\r\n\r\n} from \"antd\";\r\nimport Column from \"antd/lib/table/Column\";\r\nimport React, { Component } from \"react\";\r\n\r\nimport \"../shared/css/list-page.css\";\r\nimport \"../shared/css/headerpages.css\";\r\nimport { getTableService } from \"../services/table-helper.service\";\r\nimport Dialog from \"../shared/dialog\";\r\nimport ReactToPrint from \"react-to-print\";\r\n\r\nimport { BrowserRouter as Router, Link, Switch } from \"react-router-dom\";\r\nimport BoardsReport from \"./BoardsReport\";\r\n\r\nconst { Option } = Select;\r\nconst pageStyle = `\r\n @page {\r\n size:A3 ;\r\n height:100% !important;\r\n width:100% !important;\r\n margin: 20mm;\r\n\r\n }\r\n @media all {\r\n .pagebreak {\r\n display: none;\r\n }\r\n }\r\n\r\n\r\n @media print {\r\n size:A4 landscape;\r\n html, body {\r\n position::relative;\r\n height:100% !important;\r\n width:100% !important;\r\n margin: 0;\r\n }\r\n\r\n .pagebreak {\r\n margin-top: 1rem;\r\n display: block;\r\n page-break-before: auto;\r\n overflow: visible; \r\n }\r\n }\r\n`;\r\nconst getRowKey = (record) => {\r\n return `${record.EmpId}`;\r\n};\r\nclass SecondTabForBoards extends Component {\r\n constructor(propsName) {\r\n super(propsName);\r\n this.inputRef = React.createRef();\r\n\r\n this.state = {\r\n language: localStorage.getItem('Language'),\r\n EmpListDatasource: [],\r\n SectorListDatasource: [],\r\n Columns: [],\r\n ColumnsDatasourceTH: [],\r\n ColumnReportCount: [],\r\n ColumnsDatasourceEN: [],\r\n ColumnsReport: [],\r\n ColumnsDataReportTH: [],\r\n ColumnsDataReportEN: [],\r\n PositionList: [],\r\n SectorList: [],\r\n query: \"\",\r\n results: [],\r\n resultsAnsList: [],\r\n selectedRowKeys: null,\r\n visible: false,\r\n triggprint: true,\r\n ansDefault: [],\r\n evalStatus: \"\",\r\n five: [],\r\n four: [],\r\n three: [],\r\n two: [],\r\n one: [],\r\n //RUN 05/06/2021 เพิ่ม total เพื่อนำไปใช้ในการหา Percentage\r\n total: 0,\r\n spinner: false\r\n };\r\n\r\n this.AnsData = {\r\n assessor: localStorage.getItem(\"EmpId\"),\r\n ansForm: []\r\n }\r\n\r\n // console.log(\"this.props in second tab\", this.props.propsName);\r\n this.dialog = new Dialog();\r\n\r\n }\r\n\r\n\r\n componentWillReceiveProps(nextProps) {\r\n // console.log(\"nextProps\", nextProps.propsName.lang);\r\n this.setState({ language: nextProps.propsName.lang });\r\n localStorage.setItem(\"Language\", nextProps.propsName.lang);\r\n }\r\n\r\n\r\n\r\n \r\n componentDidMount() {\r\n // console.log(\"componentRef\", this.inputRef);\r\n\r\n //fetch ans list\r\n this.spinnerControl();\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getAnsConfirmLevel\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n AssessorId: localStorage.getItem(\"EmpId\"),\r\n // AssessorId: 772,\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"result for boards\", result);\r\n result.forEach((element) => {\r\n this.state.ansDefault = element.AnsForm;\r\n });\r\n\r\n //RUN: นำ ans data เข้าไปใส่ใน array ที่ใช้ ิวิ่งข้อมูล Default\r\n if (this.state.ansDefault.length > 0) {\r\n\r\n this.state.ansDefault.forEach((e) => {\r\n this.AnsData.ansForm.push({\r\n empid: e.EmpId,\r\n assessor: e.Assessor,\r\n Point: e.Point,\r\n });\r\n });\r\n }\r\n\r\n this.setState({\r\n ansDefault: this.state.ansDefault,\r\n evalStatus: result[0].EvaluteStatus\r\n\r\n });\r\n // console.log(\r\n // \"this.state.ansDefault\",\r\n // this.state.ansDefault\r\n // ); \r\n // console.log(\"evalStatus\", this.state.evalStatus);\r\n\r\n\r\n var five = this.AnsData.ansForm.filter(\r\n (e) => (e.Point == 5)\r\n );\r\n\r\n var four = this.AnsData.ansForm.filter(\r\n (e) => (e.Point == 4)\r\n )\r\n var three = this.AnsData.ansForm.filter(\r\n (e) => (e.Point == 3)\r\n )\r\n var two = this.AnsData.ansForm.filter(\r\n (e) => (e.Point == 2)\r\n )\r\n var one = this.AnsData.ansForm.filter(\r\n (e) => (e.Point == 1)\r\n )\r\n\r\n this.setState({ five: five, four: four, three: three, two: two, one: one })\r\n\r\n });\r\n\r\n //fetch emp list\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getUnderPrimaryByConfirmId\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n // empid: 772\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n // console.log(\"result\", result);\r\n result.forEach((element) => {\r\n this.state.EmpListDatasource = element.EmpList;\r\n this.state.SectorListDatasource = element.SectorList;\r\n this.state.results = element.EmpList;\r\n //RUN 05/06/2021 เพิ่ม total เพื่อนำไปใช้ในการหา Percentage\r\n this.state.total = this.state.EmpListDatasource.length\r\n });\r\n this.state.EmpListDatasource.forEach((e) => {\r\n if (this.state.PositionList.length == 0) {\r\n this.state.PositionList.push({\r\n PositionNameTH: e.PositionNameTH,\r\n PositionNameEN: e.PositionNameEN,\r\n });\r\n } else {\r\n this.state.PositionList = this.positionPopper(e.PositionNameTH);\r\n this.state.PositionList.push({\r\n PositionNameTH: e.PositionNameTH,\r\n PositionNameEN: e.PositionNameEN,\r\n });\r\n }\r\n // // console.log(\"EmpListDatasource\", e.PositionNameTH);\r\n });\r\n this.setState({\r\n EmpListDatasource: this.state.EmpListDatasource,\r\n results: this.state.results,\r\n SectorListDatasource: this.state.SectorListDatasource,\r\n PositionList: this.state.PositionList,\r\n });\r\n this.state.SectorListDatasource.forEach((e) => {\r\n let statusSec = this.sectorStatus(e.SectorId)\r\n if (statusSec == true) {\r\n e.color = '#77dd77'\r\n e.TextColor = 'green'\r\n \r\n } else {\r\n e.color = 'inherit'\r\n e.TextColor = 'black'\r\n\r\n }\r\n })\r\n\r\n console.log('get seelectorrr', this.state.SectorListDatasource)\r\n // // console.log(\r\n // \"this.state.ColumnsDatasourceTH\",\r\n // this.state.ColumnsDatasourceTH\r\n // );\r\n // console.log(\r\n // \"this.state.SectorListDatasource\",\r\n // this.state.SectorListDatasource\r\n // );\r\n // // console.log(\"this.state.PositionList\", this.state.PositionList);\r\n this.spinnerControl();\r\n\r\n });\r\n\r\n // get data column\r\n getTableService(\"step-two-boards\").then((result) => {\r\n var table = [];\r\n result.forEach((e) => {\r\n this.state.Columns = e.TableColumn;\r\n });\r\n console.log(\"this.state.Columns\", this.state.Columns);\r\n // render thai \r\n this.state.Columns.forEach((e) => {\r\n // // console.log(\"ColumnKeyTH\", e.ColumnKeyTH);\r\n if (e.ColumnKeyTH !== \"StepPointAdmin\" && e.ColumnKeyTH !== \"SumAssessorCalPoint\"\r\n && e.ColumnKeyTH !== \"StepPoint\" && e.ColumnKeyTH !== \"SumSelfEval\") {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n });\r\n } else if (e.ColumnKeyTH == \"StepPointAdmin\") {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == null) {\r\n // // console.log('e in PrimaryEvaluteStatus', e)\r\n // // console.log('record in PrimaryEvaluteStatus', record)\r\n return (\r\n
    \r\n

    ยังไม่ได้ประเมินผู้ใต้สังกัด

    \r\n
    \r\n );\r\n } else {\r\n\r\n return (\r\n\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n }\r\n\r\n });\r\n }\r\n else if (e.ColumnKeyTH == \"SumAssessorCalPoint\") {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == null) {\r\n // // console.log(\"e in PrimaryEvaluteStatus\", e);\r\n // // console.log(\"record in PrimaryEvaluteStatus\", record);\r\n return (\r\n
    \r\n

    ยังไม่ได้ประเมินผู้ใต้สังกัด

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n });\r\n }\r\n else if (e.ColumnKeyTH == \"StepPoint\") {\r\n\r\n var estatus = [];\r\n this.state.ansDefault.forEach((e) => {\r\n return e.EvaluateStatus\r\n })\r\n\r\n // console.log('estatus', estatus)\r\n\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n className: 'colStep',\r\n render: (e, record) => {\r\n if (this.state.evalStatus == '2' || record.GroupPostionId == 'F') {\r\n console.log('in', record)\r\n console.log('this.state', this.state)\r\n // console.log(' in step point 2')\r\n // // console.log('record.EvaluateStatus', record.EvaluateStatus)\r\n return (\r\n
    \r\n {/*
    เปิดในวันที่ 25/04/2022
    */}\r\n \r\n 5\r\n 4\r\n 3\r\n 2\r\n 1\r\n \r\n
    \r\n );\r\n } else {\r\n // console.log(' in step point 1 record', record.GroupPostionId)\r\n\r\n return (\r\n {\r\n this.handleChange(\r\n record.EmpId,\r\n this.AnsData.assessor,\r\n e.target.value\r\n );\r\n }}\r\n >\r\n {/*
    เปิดในวันที่ 25/04/2022
    */}\r\n \r\n 5\r\n 4\r\n 3\r\n 2\r\n 1\r\n \r\n \r\n );\r\n }\r\n\r\n\r\n },\r\n });\r\n\r\n }\r\n else if (e.ColumnKeyTH == \"SumSelfEval\") {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == null) {\r\n // // console.log(\"e in PrimaryEvaluteStatus\", e);\r\n // // console.log(\"record in PrimaryEvaluteStatus\", record);\r\n return (\r\n
    \r\n

    ยังไม่ได้ประเมินตนเอง

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n });\r\n }\r\n });\r\n\r\n this.setState({\r\n ColumnsDatasourceTH: this.state.ColumnsDatasourceTH.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n )\r\n });\r\n\r\n //render en\r\n this.state.Columns.forEach((e) => {\r\n // // console.log(\"ColumnKeyEN\", e.ColumnKeyEN);\r\n if (e.ColumnKeyEN !== \"StepPoint\" && e.ColumnKeyEN !== \"StepPointAdmin\" && e.ColumnKeyEN !== \"SumAssessorCalPoint\") {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n });\r\n } else if (e.ColumnKeyEN == \"StepPointAdmin\") {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == null) {\r\n // console.log('e in PrimaryEvaluteStatus', e)\r\n // // console.log('record in PrimaryEvaluteStatus', record)\r\n return (\r\n
    \r\n

    No record

    \r\n
    \r\n );\r\n } else {\r\n\r\n return (\r\n\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n });\r\n }\r\n else if (e.ColumnKeyEN == \"SumAssessorCalPoint\") {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == null) {\r\n // // console.log('e in PrimaryEvaluteStatus', e)\r\n // // console.log('record in PrimaryEvaluteStatus', record)\r\n return (\r\n
    \r\n

    No record

    \r\n
    \r\n );\r\n } else {\r\n\r\n return (\r\n\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n });\r\n }\r\n else if (e.ColumnKeyEN == \"StepPoint\") {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n className: \"colStep\",\r\n render: (e, record) => {\r\n if (this.state.evalStatus == '2' || record.GroupPostionId == 'F') {\r\n return (\r\n
    \r\n {/*
    Avalaible on 25/04/2022
    */}\r\n \r\n 5\r\n 4\r\n 3\r\n 2\r\n 1\r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n {\r\n this.handleChange(\r\n record.EmpId,\r\n this.AnsData.assessor,\r\n e.target.value\r\n );\r\n }}\r\n >\r\n {/*
    Available on 25/04/2022
    */}\r\n \r\n 5\r\n 4\r\n 3\r\n 2\r\n 1\r\n \r\n \r\n );\r\n }\r\n\r\n\r\n },\r\n });\r\n }\r\n });\r\n this.state.ColumnReportCount.push({\r\n title: 'ระดับผลปฎิบัติงาน',\r\n dataIndex: 'counting',\r\n className: 'reporthead reportcolumn reporttd',\r\n children: [{\r\n title: '1',\r\n dataIndex: '1',\r\n className: 'reporthead reportcolumn reporttd',\r\n OrderBy: 1,\r\n },\r\n {\r\n title: '2',\r\n dataIndex: '2',\r\n className: 'reporthead reportcolumn reporttd',\r\n OrderBy: 2,\r\n }, {\r\n title: '3',\r\n dataIndex: '3',\r\n className: 'reporthead reportcolumn reporttd',\r\n OrderBy: 3,\r\n }, {\r\n title: '4',\r\n dataIndex: '4',\r\n className: 'reporthead reportcolumn reporttd',\r\n OrderBy: 4,\r\n }, {\r\n title: '5',\r\n dataIndex: '5',\r\n className: 'reporthead reportcolumn reporttd',\r\n OrderBy: 5,\r\n }\r\n // , {\r\n // title: 'รวม',\r\n // dataIndex: 'รวม',\r\n // className: 'reporthead reportcolumn reporttd',\r\n // OrderBy: 6,\r\n // }\r\n ]\r\n },\r\n {\r\n title: 'จำนวน (คน)',\r\n dataIndex: 'counting',\r\n className: 'reporthead reportcolumn reporttd',\r\n children: [{\r\n title: this.state.one.length,\r\n dataIndex: this.state.one.length,\r\n className: 'reporthead reportcolumn reporttd',\r\n OrderBy: 1,\r\n render: (e, record) => {\r\n return (\r\n
    \r\n {this.state.one.length} dfdfbdfbdfbdfb\r\n
    \r\n )\r\n }\r\n },\r\n {\r\n title: this.state.two.length,\r\n dataIndex: this.state.two.length,\r\n className: 'reporthead reportcolumn reporttd',\r\n OrderBy: 2,\r\n }, {\r\n title: this.state.three.length,\r\n dataIndex: this.state.three.length,\r\n className: 'reporthead reportcolumn reporttd',\r\n OrderBy: 3,\r\n }, {\r\n title: this.state.four.length,\r\n dataIndex: this.state.four.length,\r\n className: 'reporthead reportcolumn reporttd',\r\n OrderBy: 4,\r\n }, {\r\n title: this.state.five.length,\r\n dataIndex: this.state.five.length,\r\n className: 'reporthead reportcolumn reporttd',\r\n OrderBy: 5,\r\n }\r\n ]\r\n }\r\n\r\n )\r\n // this.state.ColumnsDatasourceTH.push({\r\n // title: e.ColumnNameTH,\r\n // dataIndex: e.ColumnKeyTH,\r\n // OrderBy: e.ColumnOrder,\r\n // });\r\n this.setState({\r\n ColumnsDatasourceEN: this.state.ColumnsDatasourceEN.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n ColumnReportCount: this.state.ColumnReportCount.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n )\r\n });\r\n });\r\n\r\n getTableService(\"boards-report\").then((result) => {\r\n result.forEach((e) => {\r\n this.state.ColumnsReport = e.TableColumn;\r\n });\r\n console.log('dddddd', this.state.ColumnsReport)\r\n this.state.ColumnsReport.forEach((el) => {\r\n if (\r\n el.ColumnKeyTH !== \"SumSelfEval\" &&\r\n el.ColumnKeyTH !== \"SumAssessorCalPoint\" &&\r\n el.ColumnKeyTH !== \"EmpId\" &&\r\n el.ColumnKeyTH !== \"OrderNo\" &&\r\n el.ColumnKeyTH !== \"NameAndLastTH\" &&\r\n el.ColumnKeyTH !== \"PositionNameTH\" &&\r\n el.ColumnKeyTH !== \"SectorNameTH\" &&\r\n el.ColumnKeyTH !== \"StepPoint\" &&\r\n el.ColumnKeyTH !== \"StepPointAdmin\"\r\n ) {\r\n this.state.ColumnsDataReportTH.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: el.ColumnKeyTH,\r\n OrderBy: el.ColumnOrder,\r\n className: 'SubRepHead SubRepColumn SubRepTD HeadSort HeadersForReport TdForBoard HeadersLongRep',\r\n });\r\n }\r\n else if (el.ColumnKeyTH == \"NameAndLastTH\") {\r\n console.log(\"in OrderNo\");\r\n this.state.ColumnsDataReportTH.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: el.ColumnKeyTH,\r\n OrderBy: el.ColumnOrder,\r\n width: '10px',\r\n className: 'SubRepHead SubRepColumn SubRepTD HeadSort HeadersForReport TdForBoard',\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {record.FirstNameTH} {record.LastNameTH}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyTH == \"SectorNameTH\") {\r\n console.log(\"in OrderNo\");\r\n this.state.ColumnsDataReportTH.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: el.ColumnKeyTH,\r\n OrderBy: el.ColumnOrder,\r\n className: 'SubRepHead SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard',\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {record.SectorNameTH}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyTH == \"PositionNameTH\") {\r\n this.state.ColumnsDataReportTH.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: el.ColumnKeyTH,\r\n OrderBy: el.ColumnOrder,\r\n // className: 'reporthead reportcolumn',\r\n className: 'SubRepHead SubRepPositionCol SubRepPositionTD HeadSort HeadersForReport TdForBoard',\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {record.PositionNameTH}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyTH == \"OrderNo\") {\r\n console.log(\"in OrderNo\");\r\n this.state.ColumnsDataReportTH.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: el.ColumnKeyTH,\r\n OrderBy: el.ColumnOrder,\r\n // className: 'reporthead reportcolumn reporttd HeadSort',\r\n className: 'SubRepHeadWrap SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard',\r\n\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {index + 1}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyTH == \"EmpId\") {\r\n console.log(\"in empid\");\r\n this.state.ColumnsDataReportTH.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: el.ColumnKeyTH,\r\n OrderBy: el.ColumnOrder,\r\n className: 'reporthead reportcolumn reporttd HeadSort HeadersForReport TdForBoard',\r\n defaultSortOrder: \"descend\",\r\n sorter: (a, b) => a.EmpId - b.EmpId,\r\n sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyTH == \"SumSelfEval\") {\r\n this.state.ColumnsDataReportTH.push({\r\n title: 'คะแนนการประเมิน',\r\n dataIndex: 'คะแนนการประเมิน',\r\n OrderBy: el.ColumnOrder,\r\n width: '10px',\r\n className: 'reporthead reportcolumn reporttd HeadSort HeadersForReport TdForBoard',\r\n children: [{\r\n title: 'ประเมินตนเอง',\r\n width: '10px',\r\n dataIndex: 'SumSelfEval',\r\n className: 'SubRepHeadWrap SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard',\r\n OrderBy: el.ColumnOrder,\r\n render: (e, record) => {\r\n if (record.EvaluateStatus == 1) {\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else if (record.EvaluateStatus == 2) {\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n },\r\n\r\n ],\r\n\r\n\r\n });\r\n } else if (el.ColumnKeyTH == \"SumAssessorCalPoint\") {\r\n console.log('kkokd', this.state.ColumnsDataReportTH[5].children)\r\n this.state.ColumnsDataReportTH[5].children.push({\r\n title: 'ผู้บังคับบัญชาประเมิน',\r\n dataIndex: 'SumAssessorCalPoint',\r\n className: 'SubRepHeadWrap SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard',\r\n width: '2px',\r\n OrderBy: el.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == null) {\r\n console.log(\"e in PrimaryEvaluteStatus\", e);\r\n console.log(\"record in PrimaryEvaluteStatus\", record);\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n })\r\n\r\n } else if (el.ColumnKeyTH == \"StepPointAdmin\") {\r\n this.state.ColumnsDataReportTH.push({\r\n title: 'ระดับผลการปฏิบัติงาน',\r\n dataIndex: 'ระดับผลการปฏิบัติงาน',\r\n OrderBy: el.ColumnOrder,\r\n width: '10px',\r\n className: 'reporthead reportcolumn reporttd HeadSort HeadersForReport TdForBoard',\r\n children: [{\r\n title: 'คณบดี / หัวหน้าสำนักงาน/ ผู้อำนวยการ',\r\n width: '10px',\r\n dataIndex: 'StepPointAdmin',\r\n className: 'SubRepHeadWrap SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard HeadersLongRep',\r\n OrderBy: el.ColumnOrder,\r\n render: (e, record) => {\r\n if (record.EvaluateStatus == 1) {\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else if (record.EvaluateStatus == 2) {\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {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 else if (el.ColumnKeyTH == \"StepPoint\") {\r\n console.log(\"in StepPointbv\", this.state.ColumnsDataReportEN[5]);\r\n this.state.ansDefault.forEach((e) => {\r\n return e.EvaluateStatus\r\n })\r\n this.state.ColumnsDataReportTH[6].children.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: 'StepPoint',\r\n className: 'SubRepHeadWrap SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard HeadersLongRep',\r\n width: '2px',\r\n OrderBy: el.ColumnOrder,\r\n render: (e, record) => {\r\n return (\r\n
    \r\n

    {this.getDefaultScore(\r\n record.EmpId,\r\n this.AnsData.assessor\r\n )}

    \r\n
    )\r\n },\r\n })\r\n }\r\n });\r\n\r\n this.setState({\r\n ColumnsDataReportTH: this.state.ColumnsDataReportTH.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n });\r\n\r\n this.state.ColumnsReport.forEach((el) => {\r\n if (\r\n el.ColumnKeyEN !== \"SumSelfEval\" &&\r\n el.ColumnKeyEN !== \"SumAssessorCalPoint\" &&\r\n el.ColumnKeyEN !== \"EmpId\" &&\r\n el.ColumnKeyEN !== \"OrderNo\" &&\r\n el.ColumnKeyEN !== \"NameAndLastEN\" &&\r\n el.ColumnKeyEN !== \"PositionNameEN\" &&\r\n el.ColumnKeyEN !== \"SectorNameEN\" &&\r\n el.ColumnKeyEN !== \"StepPoint\" &&\r\n el.ColumnKeyEN !== \"StepPointAdmin\"\r\n ) {\r\n this.state.ColumnsDataReportEN.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: el.ColumnKeyEN,\r\n OrderBy: el.ColumnOrder,\r\n className: 'SubRepHead SubRepColumn SubRepTD HeadSort HeadersForReport TdForBoard HeadersLongRep',\r\n });\r\n }\r\n else if (el.ColumnKeyEN == \"NameAndLastEN\") {\r\n console.log(\"in OrderNo\");\r\n this.state.ColumnsDataReportEN.push({\r\n title: el.ColumnNameEN,\r\n dataIndex: el.ColumnKeyEN,\r\n OrderBy: el.ColumnOrder,\r\n width: '10px',\r\n className: 'SubRepHead SubRepColumn SubRepTD HeadSort HeadersForReport TdForBoard',\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {record.FirstNameEN} {record.LastNameEN}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyEN == \"SectorNameEN\") {\r\n console.log(\"in OrderNo\");\r\n this.state.ColumnsDataReportEN.push({\r\n title: el.ColumnNameEN,\r\n dataIndex: el.ColumnKeyEN,\r\n OrderBy: el.ColumnOrder,\r\n className: 'SubRepHead SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard',\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {record.SectorNameEN}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyEN == \"PositionNameEN\") {\r\n this.state.ColumnsDataReportEN.push({\r\n title: el.ColumnNameEN,\r\n dataIndex: el.ColumnKeyEN,\r\n OrderBy: el.ColumnOrder,\r\n // className: 'reporthead reportcolumn',\r\n className: 'SubRepHead SubRepPositionCol SubRepPositionTD HeadSort HeadersForReport TdForBoard',\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {record.PositionNameEN}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyEN == \"OrderNo\") {\r\n console.log(\"in OrderNo\");\r\n this.state.ColumnsDataReportEN.push({\r\n title: el.ColumnNameEN,\r\n dataIndex: el.ColumnKeyEN,\r\n OrderBy: el.ColumnOrder,\r\n // className: 'reporthead reportcolumn reporttd HeadSort',\r\n className: 'SubRepHeadWrap SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard',\r\n\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {index + 1}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyEN == \"EmpId\") {\r\n console.log(\"in empid\");\r\n this.state.ColumnsDataReportEN.push({\r\n title: el.ColumnNameEN,\r\n dataIndex: el.ColumnKeyEN,\r\n OrderBy: el.ColumnOrder,\r\n className: 'reporthead reportcolumn reporttd HeadSort HeadersForReport TdForBoard',\r\n defaultSortOrder: \"descend\",\r\n sorter: (a, b) => a.EmpId - b.EmpId,\r\n sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyTH == \"SumSelfEval\") {\r\n this.state.ColumnsDataReportEN.push({\r\n title: 'Points of Work Performance',\r\n dataIndex: 'Points of Work Performance',\r\n OrderBy: el.ColumnOrder,\r\n width: '10px',\r\n className: 'reporthead reportcolumn reporttd HeadSort HeadersForReport TdForBoard',\r\n children: [{\r\n title: 'Self - Assessment',\r\n width: '10px',\r\n dataIndex: 'SumSelfEval',\r\n className: 'SubRepHeadWrap SubRepSecCol SubRepSecTD HeadSort HeadersForReport HeadersLongRep TdForBoard',\r\n OrderBy: el.ColumnOrder,\r\n render: (e, record) => {\r\n if (record.EvaluateStatus == 1) {\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else if (record.EvaluateStatus == 2) {\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n },\r\n\r\n ],\r\n\r\n\r\n });\r\n } else if (el.ColumnKeyTH == \"SumAssessorCalPoint\") {\r\n console.log('kkokd', this.state.ColumnsDataReportEN[5].children)\r\n this.state.ColumnsDataReportEN[5].children.push({\r\n title: 'Assessment by Supervisor',\r\n dataIndex: 'SumAssessorCalPoint',\r\n className: 'SubRepHeadWrap SubRepSecCol SubRepSecTD HeadSort HeadersForReport HeadersLongRep TdForBoard',\r\n width: '2px',\r\n OrderBy: el.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == null) {\r\n\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n })\r\n\r\n } else if (el.ColumnKeyEN == \"StepPointAdmin\") {\r\n this.state.ColumnsDataReportEN.push({\r\n title: 'Level of work performance',\r\n dataIndex: 'Level of work performance',\r\n OrderBy: el.ColumnOrder,\r\n width: '10px',\r\n className: 'reporthead reportcolumn reporttd HeadSort HeadersForReport TdForBoard',\r\n children: [{\r\n title: 'Dean / Head / Director',\r\n width: '10px',\r\n dataIndex: 'StepPointAdmin',\r\n className: 'SubRepHeadWrap SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard HeadersLongRep',\r\n OrderBy: el.ColumnOrder,\r\n render: (e, record) => {\r\n if (record.EvaluateStatus == 1) {\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else if (record.EvaluateStatus == 2) {\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {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 else if (el.ColumnKeyEN == \"StepPoint\") {\r\n console.log(\"in StepPoint\");\r\n this.state.ansDefault.forEach((e) => {\r\n return e.EvaluateStatus\r\n })\r\n this.state.ColumnsDataReportEN[6].children.push({\r\n title: el.ColumnNameEN,\r\n dataIndex: 'StepPoint',\r\n className: 'SubRepHeadWrap SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard HeadersLongRep',\r\n width: '2px',\r\n OrderBy: el.ColumnOrder,\r\n render: (e, record) => {\r\n return (\r\n
    \r\n

    {this.getDefaultScore(\r\n record.EmpId,\r\n this.AnsData.assessor\r\n )}

    \r\n
    )\r\n },\r\n })\r\n }\r\n });\r\n this.setState({\r\n ColumnsDataReportEN: this.state.ColumnsDataReportEN.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n )\r\n });\r\n //this.spinnerControl();\r\n\r\n\r\n })\r\n\r\n\r\n\r\n }\r\n spinnerControl() {\r\n this.setState({ spinner: !this.state.spinner });\r\n }\r\n\r\n testarrayDupFunction(empid, assessor) {\r\n //this.spinnerControl();\r\n\r\n // console.log(\"testarrayDupFunction\");\r\n var tempDup = [];\r\n //RUN: ยัดใส่เป็น ToString ให้หมดเนื่องจากส่งไปsave กับ ส่งคืนมา มีค่าdatatype อิอัยยยยยยยยยย 16/04/2021\r\n var tempempid = empid.toString();\r\n var tempassessor = assessor.toString();\r\n\r\n tempDup = this.AnsData.ansForm.filter((e) => {\r\n return (\r\n e.empid !== empid ||\r\n e.assessor !== assessor\r\n );\r\n });\r\n // console.log(\"tempDup\", tempDup);\r\n //this.spinnerControl();\r\n\r\n return tempDup;\r\n }\r\n\r\n sectorStatus(SectorId) {\r\n console.log('sectorlistStatus', this.state.SectorListDatasource)\r\n console.log('EmpLIst', this.state.EmpListDatasource)\r\n let tempSectorForEmp = this.state.EmpListDatasource.filter(filt => {\r\n return filt.SectorId == SectorId\r\n })\r\n console.log(' this. tempstat.', this.state.ansDefault)\r\n let tempSecForEmp = this.state.ansDefault.filter(e => {\r\n return e.Sec_id == SectorId\r\n })\r\n console.log('tempSectorForEmplength', tempSectorForEmp.length)\r\n console.log('tempSecForEmplength', tempSecForEmp.length)\r\n if (tempSectorForEmp.length == tempSecForEmp.length) {\r\n return true\r\n } else {\r\n return false\r\n }\r\n // this.state.EmpListDatasource(e=>{ \r\n\r\n // })\r\n\r\n }\r\n positionPopper(sectorName) {\r\n //this.spinnerControl();\r\n var tempDup = [];\r\n tempDup = this.state.SectorListDatasource.filter((e) => {\r\n return sectorName !== e.SectorId;\r\n });\r\n //this.spinnerControl(); \r\n\r\n return tempDup;\r\n }\r\n\r\n getDefaultScore(empid, assessor) {\r\n //this.spinnerControl();\r\n var tempArray = [];\r\n tempArray = this.state.ansDefault.filter((e) => {\r\n return (\r\n e.EmpId == empid &&\r\n e.Assessor == assessor\r\n );\r\n });\r\n\r\n // // console.log('empid temp: ', empid)\r\n // // console.log('assessor temp: ', assessor)\r\n // // console.log('ansDefault temp: ', this.state.ansDefault)\r\n // // console.log('getDefaultScore temp: ', tempArray)\r\n\r\n if (tempArray.length > 0) {\r\n //this.spinnerControl();\r\n\r\n return tempArray[0].Point;\r\n } else {\r\n //this.spinnerControl();\r\n\r\n return null;\r\n }\r\n\r\n\r\n }\r\n\r\n getSearchResults = (query) => {\r\n //this.spinnerControl();\r\n\r\n const allData = this.state.results;\r\n const dataToShow = [];\r\n allData.forEach((item) => {\r\n // // console.log(\"item\", item);\r\n const searchString = query;\r\n if (item.SectorId == searchString) {\r\n dataToShow.push(item);\r\n }\r\n });\r\n // console.log('data to show: ', dataToShow);\r\n this.setState({\r\n EmpListDatasource: dataToShow,\r\n });\r\n //this.spinnerControl();\r\n\r\n };\r\n\r\n handleSectorChange = (value) => {\r\n //this.spinnerControl();\r\n\r\n // console.log(\"handlePositionChange\", value);\r\n this.setState(\r\n {\r\n query: value,\r\n },\r\n () => {\r\n if (this.state.query && this.state.query.length > 0) {\r\n // console.log(\"this.state.query\", this.state.query);\r\n this.getSearchResults(this.state.query);\r\n } else {\r\n this.setState({\r\n EmpListDatasource: this.state.results,\r\n });\r\n }\r\n }\r\n );\r\n //this.spinnerControl();\r\n\r\n };\r\n\r\n handleSaveDraft = (ansSaveData) => {\r\n\r\n var empid;\r\n var assess;\r\n var point;\r\n\r\n ansSaveData.forEach((element) => {\r\n empid = element.empid;\r\n assess = element.assessor;\r\n point = element.Point;\r\n });\r\n\r\n // console.log(\"empid\", empid);\r\n // console.log(\"assess\", assess);\r\n // console.log(\"point\", point);\r\n\r\n // console.log(\"ansSaveData\", ansSaveData);\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveFormFirstLevel\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: empid,\r\n formid: \"2\",\r\n assessor: assess,\r\n buttonaction: \"1\",\r\n jsonans: ansSaveData,\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n // console.log(\"save draft result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n\r\n if (this.state.language == 'TH') {\r\n this.dialog.WarningDialog('บันทึกร่างไม่สำเร็จ')\r\n } else {\r\n this.dialog.WarningDialog('Unable to Save Draft')\r\n }\r\n } else {\r\n\r\n if (this.state.language == 'TH') {\r\n this.dialog.SuccessDialogForDraft('บันทึกร่างสำเร็จ', '/assessing-subordinate')\r\n localStorage.setItem('defaultActiveKey', 2)\r\n\r\n } else {\r\n this.dialog.SuccessDialog('Save Draft Success', '/assessing-subordinate')\r\n localStorage.setItem('defaultActiveKey', 2)\r\n }\r\n }\r\n\r\n\r\n });\r\n };\r\n\r\n handleSubmit = (ansSaveData, EmpListDatasource) => {\r\n //RUN: ตรวจสอบ condition ว่ามีค่าจำนวน ans เท่ากับ form หรือไม่ 11/04/2012\r\n var tempArray = [];\r\n var tempArrayRemarkvalidation = [];\r\n\r\n // console.log('tempArrayRemarkvalidation',tempArrayRemarkvalidation)\r\n // console.log('ansform',ansSaveData)\r\n\r\n // console.log('ansSaveData.length',ansSaveData.length)\r\n // console.log('EmpListDatasource.length',EmpListDatasource.length)\r\n\r\n var tempEmpdata = EmpListDatasource.filter((e) => { return e.GroupPostionId !== 'F' })\r\n // console.log('tempEmpdata',tempEmpdata)\r\n\r\n //RUN: ใช้ Condition Nested If ให้เข้า Condition ให้ถูกต้อง และ แสดง error ขึ้นมาตามลำดับ 11/04/2021\r\n\r\n console.log('ansSaveData.length', ansSaveData.length)\r\n console.log('tempEmpdata.length.length', tempEmpdata.length)\r\n\r\n if (ansSaveData.length == tempEmpdata.length) {\r\n\r\n if (tempArrayRemarkvalidation.length == 0) {\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveFormFirstLevel\", {\r\n\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n formid: \"2\",\r\n assessor: localStorage.getItem(\"EmpId\"),\r\n buttonaction: \"2\",\r\n jsonans: ansSaveData\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n // console.log(\"submit result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n\r\n if (this.state.language == 'TH') {\r\n this.dialog.WarningDialog(\r\n 'บันทึกไม่สำเร็จ')\r\n } else {\r\n this.dialog.WarningDialog(\r\n 'Unable to Save')\r\n }\r\n } else {\r\n // alert(\"บันทึกสำเร็จ\");\r\n // window.location.href = \"/workform\";\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == 'TH') {\r\n this.dialog.SuccessDialog('บันทึกสำเร็จ', '/assessing-subordinate')\r\n localStorage.setItem('defaultActiveKey', 2)\r\n } else {\r\n this.dialog.SuccessDialog('Save Success', '/assessing-subordinate')\r\n localStorage.setItem('defaultActiveKey', 2)\r\n }\r\n\r\n }\r\n\r\n\r\n });\r\n } else {\r\n // alert(\r\n // \"บันทึกไม่สำเร็จ ข้อมูลเหตุผลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\"\r\n // );\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n if (this.state.language == 'TH') {\r\n this.dialog.WarningDialog(\r\n 'บันทึกไม่สำเร็จ ข้อมูลเหตุผลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน')\r\n } else {\r\n this.dialog.WarningDialog(\r\n 'Unable to save due to incomplete remark. Please check your assessment informations.')\r\n }\r\n\r\n }\r\n } else {\r\n // alert(\"บันทึกไม่สำเร็จ ข้อมูลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n if (this.state.language == 'TH') {\r\n this.dialog.WarningDialog(\r\n 'บันทึกไม่สำเร็จ ข้อมูลไม่ครบถ้วน กรุณาตรวจสอบข้อมูลการประเมิน')\r\n } else {\r\n this.dialog.WarningDialog(\r\n 'Unable to save due to incomplete data. Please check your assessment informations.')\r\n }\r\n }\r\n };\r\n\r\n\r\n handleChange = (\r\n empid,\r\n assessor,\r\n value\r\n ) => {\r\n // console.log('in change')\r\n //this.spinnerControl();\r\n\r\n var temp = [];\r\n temp = this.AnsData.ansForm.filter((e) => {\r\n return (\r\n e.empid == empid &&\r\n e.assessor == assessor\r\n );\r\n });\r\n\r\n\r\n if (temp.length == 0) {\r\n this.AnsData.ansForm.push({\r\n empid: empid,\r\n assessor: assessor,\r\n Point: value\r\n });\r\n } else {\r\n this.AnsData.ansForm = this.testarrayDupFunction(\r\n empid,\r\n assessor\r\n );\r\n\r\n this.AnsData.ansForm.push({\r\n empid: empid,\r\n assessor: assessor,\r\n Point: value\r\n });\r\n }\r\n\r\n // console.log('ansForm', this.AnsData.ansForm)\r\n\r\n\r\n var five = this.AnsData.ansForm.filter(\r\n (e) => (e.Point == 5)\r\n );\r\n\r\n var four = this.AnsData.ansForm.filter(\r\n (e) => (e.Point == 4)\r\n )\r\n var three = this.AnsData.ansForm.filter(\r\n (e) => (e.Point == 3)\r\n )\r\n var two = this.AnsData.ansForm.filter(\r\n (e) => (e.Point == 2)\r\n )\r\n var one = this.AnsData.ansForm.filter(\r\n (e) => (e.Point == 1)\r\n )\r\n console.log('ionsss')\r\n this.setState({ five: five, four: four, three: three, two: two, one: one })\r\n //this.spinnerControl();\r\n\r\n // console.log('this.state.ansDefault in count', this.state.ansDefault)\r\n // console.log('five', this.state.five)\r\n // console.log('four', this.state.four.length)\r\n // console.log('three', this.state.three.length)\r\n // console.log('two', this.state.two.length)\r\n // console.log('one', this.state.one.length)\r\n\r\n };\r\n\r\n\r\n setRowKey(record) {\r\n //this.spinnerControl();\r\n\r\n const selectedRowKey = getRowKey(record);\r\n // console.log(selectedRowKey, typeof selectedRowKey);\r\n this.setState({ selectedRowKey });\r\n //this.spinnerControl();\r\n\r\n }\r\n\r\n renderContentTH() {\r\n const {\r\n EmpListDatasource,\r\n ColumnsDatasourceTH,\r\n PositionList,\r\n SectorListDatasource,\r\n five, four, three, two, one, total,\r\n ColumnReportCount,\r\n ColumnsReport,\r\n ColumnsDataReportTH\r\n } = this.state;\r\n var tempSector = SectorListDatasource.filter((e) => {\r\n return e.SectorId == this.state.sectorTH;\r\n });\r\n console.log('ColumnReportCount', ColumnReportCount);\r\n return (\r\n
    \r\n {/* render Left section */}\r\n \r\n this.handleSectorChange(e)}\r\n >\r\n \r\n {SectorListDatasource.map((position) => (\r\n \r\n ))}\r\n \r\n\r\n\r\n {/* render Right sector */}\r\n
    \r\n \r\n
    \r\n\r\n {this.renderCountTH()}\r\n\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 content={() => this.componentRefSummary}\r\n />\r\n\r\n \r\n\r\n
    (this.componentRefSummary = el)}>\r\n
    \r\n

    \r\n ระดับผลการประเมินการปฎิบัติงานประจำปีการศึกษา 2564\r\n

    \r\n

    {tempSector.map((e) => e.SectorNameTH)}

    \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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{one.length}{(one.length / total * 100).toFixed(0)}
    2{two.length}{(two.length / total * 100).toFixed(0)}
    3{three.length}{(three.length / total * 100).toFixed(0)}
    4{four.length}{(four.length / total * 100).toFixed(0)}
    5{five.length}{(five.length / total * 100).toFixed(0)}
    รวม{one.length + two.length + three.length + four.length + five.length}{((one.length + two.length + three.length + four.length + five.length) / total * 100).toFixed(0)}
    \r\n\r\n
    \r\n
    \r\n

    ลงชื่อ _________________________________

    \r\n

    \r\n\r\n {\"( \" +\r\n localStorage.getItem(\"TitleTH\") +\r\n \" \" +\r\n localStorage.getItem(\"FirstNameTH\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameTH\") +\r\n \" )\"}\r\n

    \r\n

    ตำแหน่ง _______________________________

    \r\n

    วันที่ _________________

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n {/* s */}\r\n getRowKey(record)}\r\n rowClassName={(record) =>\r\n getRowKey(record) === this.state.selectedRowKey\r\n ? \"highlighted-selection\"\r\n : \"\"\r\n }\r\n onRow={(record) => {\r\n return {\r\n onClick: () => {\r\n this.setState({ visible: true });\r\n this.setRowKey(record);\r\n },\r\n };\r\n }}\r\n pagination={false}\r\n >\r\n \r\n \r\n\r\n
    \r\n\r\n\r\n\r\n {this.state.evalStatus == '2' ?\r\n\r\n
    \r\n {\r\n return (\r\n \r\n \r\n
    \r\n );\r\n }}\r\n content={() => this.componentRef}\r\n />\r\n \r\n\r\n
    (this.componentRef = el)}>\r\n
    \r\n

    \r\n รายงานพิจารณาระดับผลการปฏิบัติงานบุคลากร ประจำปีการศึกษา\r\n 2564\r\n

    \r\n\r\n
    \r\n \r\n {/* render Left section */}\r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n {/* render Right sector */}\r\n {this.renderCountTH()}\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    ลงชื่อ _________________________________

    \r\n

    \r\n\r\n {\"( \" +\r\n localStorage.getItem(\"TitleTH\") +\r\n \" \" +\r\n localStorage.getItem(\"FirstNameTH\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameTH\") +\r\n \" )\"}\r\n

    \r\n

    ตำแหน่ง _______________________________

    \r\n

    วันที่ _________________

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n :\r\n\r\n
    \r\n\r\n {\r\n this.handleSaveDraft(\r\n this.AnsData.ansForm\r\n );\r\n }}\r\n >\r\n บันทึกร่าง\r\n \r\n\r\n\r\n {\r\n this.handleSubmit(\r\n this.AnsData.ansForm,\r\n this.state.EmpListDatasource\r\n );\r\n }}\r\n >\r\n ส่งข้อมูล\r\n \r\n\r\n\r\n\r\n
    \r\n\r\n }\r\n\r\n \r\n\r\n );\r\n\r\n }\r\n\r\n renderContentEN() {\r\n const {\r\n EmpListDatasource,\r\n ColumnsDatasourceEN,\r\n SectorListDatasource,\r\n ColumnsDataReportEN,\r\n five, four, three, two, one, total,\r\n\r\n } = this.state;\r\n var tempSector = SectorListDatasource.filter((e) => {\r\n return e.SectorId == this.state.sectorTH;\r\n });\r\n return (\r\n
    \r\n\r\n \r\n {/* render Left section */}\r\n \r\n \r\n this.handleSectorChange(e)}\r\n >\r\n \r\n {SectorListDatasource.map((position) => (\r\n \r\n ))}\r\n \r\n\r\n\r\n {/* render Right sector */}\r\n
    \r\n \r\n
    \r\n \r\n\r\n \r\n {this.renderCountEN()}\r\n \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 content={() => this.componentRefSummary}\r\n />\r\n\r\n \r\n\r\n
    (this.componentRefSummary = el)}>\r\n
    \r\n

    \r\n Level of work performance results for Academic Year 2021\r\n

    \r\n

    {tempSector.map((e) => e.SectorNameTH)}

    \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Level of work performanceAmountPercentage
    1{one.length}{(one.length / total * 100).toFixed(0)}
    2{two.length}{(two.length / total * 100).toFixed(0)}
    3{three.length}{(three.length / total * 100).toFixed(0)}
    4{four.length}{(four.length / total * 100).toFixed(0)}
    5{five.length}{(five.length / total * 100).toFixed(0)}
    Total{one.length + two.length + three.length + four.length + five.length}{((one.length + two.length + three.length + four.length + five.length) / total * 100).toFixed(0)}
    \r\n\r\n
    \r\n
    \r\n

    Signature _________________________________

    \r\n

    \r\n\r\n {\"( \" +\r\n localStorage.getItem(\"TitleEN\") +\r\n \" \" +\r\n localStorage.getItem(\"FirstNameEN\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameEN\") +\r\n \" )\"}\r\n

    \r\n

    Position _______________________________

    \r\n

    Date _________________

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n getRowKey(record)}\r\n rowClassName={(record) =>\r\n getRowKey(record) === this.state.selectedRowKey\r\n ? \"highlighted-selection\"\r\n : \"\"\r\n }\r\n onRow={(record) => {\r\n return {\r\n onClick: () => {\r\n this.setState({ visible: true });\r\n this.setRowKey(record);\r\n },\r\n };\r\n }}\r\n pagination={false}\r\n >\r\n \r\n \r\n
    \r\n\r\n {this.state.evalStatus == '2' ?\r\n
    \r\n {\r\n return (\r\n \r\n \r\n
    \r\n );\r\n }}\r\n content={() => this.componentRef}\r\n />\r\n
    \r\n {/* to print component */}\r\n
    (this.componentRef = el)}>\r\n
    \r\n

    \r\n Result of Work Performance Academic Year 2021\r\n

    \r\n\r\n
    \r\n\r\n \r\n {/* render Left section */}\r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n {/* render Right sector */}\r\n {this.renderCountEN()}\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n

    Signature _________________________________

    \r\n

    \r\n {\" \"}\r\n {\"( \" +\r\n localStorage.getItem(\"TitleEN\") +\r\n \" \" +\r\n localStorage.getItem(\"FirstNameEN\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameEN\") +\r\n \" )\"}\r\n

    \r\n

    Position _______________________________

    \r\n

    Date _________________

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n :\r\n\r\n
    \r\n\r\n {\r\n this.handleSaveDraft(\r\n this.AnsData.ansForm\r\n );\r\n }}\r\n >\r\n Draft\r\n \r\n\r\n\r\n {\r\n this.handleSubmit(\r\n this.AnsData.ansForm,\r\n this.state.EmpListDatasource\r\n );\r\n }}\r\n >\r\n Submit\r\n \r\n\r\n
    \r\n }\r\n\r\n \r\n\r\n );\r\n\r\n\r\n }\r\n\r\n renderCountTH() {\r\n {/* RUN 05/06/2021 นำ percentage ไปใส่ */ }\r\n\r\n const { five, four, three, two, one, total } = this.state\r\n\r\n return (\r\n
    \r\n

    ระดับผลปฎิบัติงาน
    \r\n 5: {five.length} คน ({(five.length / total * 100).toFixed(2)}%) | 4: {four.length} คน ({(four.length / total * 100).toFixed(2)}%) | 3: {three.length} คน ({(three.length / total * 100).toFixed(2)}%) | 2: {two.length} คน ({(two.length / total * 100).toFixed(2)}%) | 1: {one.length} คน ({(one.length / total * 100).toFixed(2)}%)

    \r\n
    \r\n );\r\n }\r\n\r\n renderCountEN() {\r\n {/* RUN 05/06/2021 นำ percentage ไปใส่ */ }\r\n\r\n const { five, four, three, two, one, total } = this.state\r\n\r\n return (\r\n
    \r\n

    Result of Work Performance
    \r\n 5: {five.length} ({(five.length / total * 100).toFixed(2)}%) | 4: {four.length} ({(four.length / total * 100).toFixed(2)}%) | 3: {three.length} ({(three.length / total * 100).toFixed(2)}%) | 2: {two.length} ({(two.length / total * 100).toFixed(2)}%) | 1: {one.length} ({(one.length / total * 100).toFixed(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 render() {\r\n console.log(\"spiner\", this.state.spinner);\r\n\r\n return (\r\n\r\n
    \r\n \r\n {this.state.language == 'TH'\r\n ? this.renderContentTH()\r\n : this.renderContentEN()}\r\n\r\n \r\n\r\n
    \r\n );\r\n\r\n }\r\n}\r\n\r\nexport default SecondTabForBoards;\r\n","import {\r\n PageHeader, Tabs, Tag, Table, Select, Tooltip, Button, Row,\r\n Col,\r\n} from \"antd\";\r\nimport Column from \"antd/lib/table/Column\";\r\nimport { EditOutlined, PrinterOutlined } from \"@ant-design/icons\";\r\nimport React, { Component } from \"react\";\r\nimport HeaderComponent from \"../components/HeaderComponent\";\r\nimport \"../shared/css/list-page.css\";\r\nimport \"../shared/css/headerpages.css\";\r\nimport { getTableService } from \"../services/table-helper.service\";\r\nimport AssessSuborndinateInfo from \"./AssessSuborndinateInfo\";\r\n\r\nimport Dialog from \"../shared/dialog\";\r\n\r\nimport { BrowserRouter as Router, Link, Switch } from \"react-router-dom\";\r\nimport ReactToPrint, { PrintContextConsumer } from \"react-to-print\";\r\nimport SecondTabScreen from \"../components/SecondTabScreen\";\r\nimport SecondTabForBoards from \"../components/SecondTabForBoards\";\r\nimport SecondBoardsTabs from \"../components/SecondBoardsTabs\";\r\n\r\nconst ref = React.createRef();\r\n\r\nconst { TabPane } = Tabs;\r\nconst { Option } = Select;\r\nconst pageStyle = `\r\n @page {\r\n size:A3 ;\r\n height:100% !important;\r\n width:100% !important;\r\n margin: 20mm;\r\n }\r\n @media all {\r\n .pagebreak {\r\n display: none;\r\n }\r\n }\r\n\r\n\r\n @media print {\r\n size:A4 landscape;\r\n html, body {\r\n position::relative;\r\n height:100% !important;\r\n width:100% !important;\r\n margin: 0;\r\n }\r\n\r\n .pagebreak {\r\n margin-top: 1rem;\r\n display: block;\r\n page-break-before: auto;\r\n overflow: visible; \r\n }\r\n }\r\n`;\r\nconst getRowKey = (record) => {\r\n return `${record.EmpId}`;\r\n};\r\n\r\nexport default class AssessingSubordinateScreen extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.inputRef = React.createRef();\r\n\r\n this.state = {\r\n language: localStorage.getItem(\"Language\"),\r\n EmpListDatasource: [],\r\n SectorListDatasource: [],\r\n Columns: [],\r\n ColumnsDatasourceTH: [],\r\n ColumnsDatasourceEN: [],\r\n ColumnsReport: [],\r\n ColumnsDataReportTH: [],\r\n ColumnsDataReportEN: [],\r\n PositionList: [],\r\n query: \"\",\r\n results: [],\r\n selectedRowKeys: null,\r\n visible: false,\r\n triggprint: true,\r\n defaultKey: localStorage.getItem(\"defaultActiveKey\"),\r\n };\r\n // console.log(\"this.props\", this.props);\r\n\r\n this.dialog = new Dialog();\r\n // inputRefs = [];\r\n\r\n // setRef = (ref) => {\r\n // this.inputRefs.push(ref);\r\n // };\r\n // focusInput = (id) => this.inputRefs[id].focus();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n // console.log(\"nextProps\", nextProps);\r\n\r\n this.setState({ language: nextProps.lang });\r\n localStorage.setItem(\"Language\", nextProps.lang);\r\n }\r\n\r\n componentDidMount() {\r\n // console.log(\"componentRef\", this.inputRef);\r\n getTableService(\"44a081c0-4264-4d48-b1c2-730d9e6d19f6\").then((result) => {\r\n var table = [];\r\n result.forEach((e) => {\r\n this.state.Columns = e.TableColumn;\r\n });\r\n\r\n // console.log(\"this.state.Columns\", this.state.Columns);\r\n\r\n this.state.Columns.forEach((e) => {\r\n // console.log(\"ColumnKeyTH\", e.ColumnKeyTH);\r\n if (e.ColumnKeyTH == \"PrintReport\") {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n\r\n render: (e, record) => {\r\n return (\r\n
    \r\n {/*
    เปิดในวันที่ 25/04/2022
    */}\r\n\r\n \r\n \r\n \r\n
    \r\n );\r\n },\r\n });\r\n } else if (\r\n e.ColumnKeyTH !== \"EvaluateStatus\" &&\r\n e.ColumnKeyTH !== \"PrimaryEvaluteStatus\"\r\n && e.ColumnKeyTH !== \"EmpId\"\r\n ) {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n });\r\n } else if (e.ColumnKeyTH == \"EmpId\") {\r\n // console.log(\"in empid\")\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n defaultSortOrder: 'descend',\r\n sorter: (a, b) => a.EmpId - b.EmpId,\r\n sortDirections: ['descend', 'ascend'],\r\n\r\n });\r\n\r\n } else if (e.ColumnKeyTH == \"EvaluateStatus\") {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == 3) {\r\n return (\r\n
    \r\n \r\n ประเมินตนเองสำเร็จ\r\n \r\n
    \r\n );\r\n } else if (e == 1) {\r\n return (\r\n
    \r\n \r\n ยังไม่ได้ประเมินตนเอง\r\n \r\n
    \r\n );\r\n } else if (e == 2) {\r\n return (\r\n
    \r\n \r\n กำลังประเมินตนเอง\r\n \r\n
    \r\n );\r\n }\r\n },\r\n });\r\n } else if (e.ColumnKeyTH == \"PrimaryEvaluteStatus\") {\r\n this.state.ColumnsDatasourceTH.push({\r\n title: e.ColumnNameTH,\r\n dataIndex: e.ColumnKeyTH,\r\n OrderBy: e.ColumnOrder,\r\n\r\n render: (e, record, index) => {\r\n if (e == 3) {\r\n // console.log(\"record\", index);\r\n return (\r\n
    \r\n \r\n ประเมินผู้ใต้สังกัดสำเร็จ\r\n \r\n
    \r\n );\r\n } else if (e == 1) {\r\n return (\r\n
    \r\n \r\n ยังไม่ได้ประเมินผู้ใต้สังกัด\r\n \r\n \r\n \r\n this.assessSubInfo(record)}\r\n style={{ fontSize: \"15px\", color: \"#5399ff\" }}\r\n />\r\n \r\n \r\n
    \r\n );\r\n } else if (e == 2) {\r\n return (\r\n
    \r\n \r\n กำลังประเมินผู้ใต้สังกัด\r\n \r\n \r\n \r\n this.assessSubInfo(record)}\r\n style={{ fontSize: \"15px\", color: \"#5399ff\" }}\r\n />\r\n \r\n \r\n
    \r\n );\r\n }\r\n },\r\n });\r\n }\r\n });\r\n\r\n this.setState({\r\n ColumnsDatasourceTH: this.state.ColumnsDatasourceTH.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n });\r\n\r\n // conlumns eng\r\n this.state.Columns.forEach((e) => {\r\n // console.log(\"ColumnKeyTH\", e.ColumnKeyEN);\r\n if (e.ColumnKeyEN == \"PrintReport\") {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n\r\n render: (e, record) => {\r\n return (\r\n
    \r\n {/*
    \r\n Avalaible on 25/04/2022\r\n
    */}\r\n \r\n \r\n \r\n
    \r\n );\r\n },\r\n });\r\n } else if (\r\n e.ColumnKeyEN !== \"EvaluateStatus\" &&\r\n e.ColumnKeyEN !== \"PrimaryEvaluteStatus\" &&\r\n e.ColumnKeyEN !== \"EmpId\"\r\n ) {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n\r\n });\r\n } else if (e.ColumnKeyEN == \"EmpId\") {\r\n // console.log(\"in empid\")\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n defaultSortOrder: 'descend',\r\n sorter: (a, b) => a.EmpId - b.EmpId,\r\n sortDirections: ['descend', 'ascend'],\r\n\r\n });\r\n } else if (e.ColumnKeyEN == \"EvaluateStatus\") {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n\r\n render: (e, record) => {\r\n if (e == 3) {\r\n return (\r\n
    \r\n \r\n Self-Assessment Completed\r\n \r\n
    \r\n );\r\n } else if (e == 1) {\r\n return (\r\n
    \r\n \r\n No Self-Assessment record\r\n \r\n
    \r\n );\r\n } else if (e == 2) {\r\n return (\r\n
    \r\n \r\n Self-Assessment in progress\r\n \r\n\r\n
    \r\n );\r\n }\r\n },\r\n });\r\n } else if (e.ColumnKeyEN == \"PrimaryEvaluteStatus\") {\r\n this.state.ColumnsDatasourceEN.push({\r\n title: e.ColumnNameEN,\r\n dataIndex: e.ColumnKeyEN,\r\n OrderBy: e.ColumnOrder,\r\n\r\n render: (e, record, index) => {\r\n if (e == 3) {\r\n // console.log(\"record\", index);\r\n return (\r\n
    \r\n \r\n Assessment Completed\r\n \r\n
    \r\n );\r\n } else if (e == 1) {\r\n return (\r\n
    \r\n \r\n No Assessment record\r\n \r\n \r\n \r\n this.assessSubInfo(record)}\r\n style={{ fontSize: \"15px\", color: \"#5399ff\" }}\r\n />\r\n \r\n \r\n
    \r\n );\r\n } else if (e == 2) {\r\n return (\r\n
    \r\n \r\n Assessment In Progress\r\n \r\n \r\n \r\n this.assessSubInfo(record)}\r\n style={{ fontSize: \"15px\", color: \"#5399ff\" }}\r\n />\r\n \r\n \r\n
    \r\n\r\n );\r\n }\r\n },\r\n });\r\n }\r\n });\r\n\r\n this.setState({\r\n ColumnsDatasourceEN: this.state.ColumnsDatasourceEN.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n });\r\n });\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/getUnderPrimary\", {\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n empid: localStorage.getItem(\"EmpId\"),\r\n // empid: 772\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n console.log(\"result\", result);\r\n result.forEach((element) => {\r\n this.state.EmpListDatasource = element.EmpList;\r\n this.state.SectorListDatasource = element.SectorList;\r\n this.state.results = element.EmpList;\r\n });\r\n this.state.EmpListDatasource.forEach((e) => {\r\n if (this.state.PositionList.length == 0) {\r\n this.state.PositionList.push({\r\n PositionNameTH: e.PositionNameTH,\r\n PositionNameEN: e.PositionNameEN,\r\n });\r\n } else {\r\n this.state.PositionList = this.positionPopper(e.PositionNameTH);\r\n this.state.PositionList.push({\r\n PositionNameTH: e.PositionNameTH,\r\n PositionNameEN: e.PositionNameEN,\r\n });\r\n }\r\n // console.log(\"EmpListDatasource\", e.PositionNameTH);\r\n });\r\n this.setState({\r\n EmpListDatasource: this.state.EmpListDatasource,\r\n results: this.state.results,\r\n SectorListDatasource: this.state.SectorListDatasource,\r\n PositionList: this.state.PositionList,\r\n });\r\n\r\n });\r\n // todaytest\r\n getTableService(\"pointsofworkreport\").then((result) => {\r\n var table = [];\r\n result.forEach((e) => {\r\n this.state.ColumnsReport = e.TableColumn;\r\n });\r\n // console.log(\"this.state.Columns\", this.state.ColumnsReport);\r\n\r\n // render thai\r\n this.state.ColumnsReport.forEach((el) => {\r\n // console.log(\"ColumnKeyTH\", e.ColumnKeyTH);\r\n if (\r\n el.ColumnKeyTH !== \"SumSelfCalPoint\" &&\r\n el.ColumnKeyTH !== \"SumAssessorCalPoint\" &&\r\n el.ColumnKeyTH !== \"EmpId\" &&\r\n el.ColumnKeyTH !== \"OrderNo\" &&\r\n el.ColumnKeyTH !== \"NameAndLastTH\" &&\r\n el.ColumnKeyTH !== \"PositionNameTH\" &&\r\n el.ColumnKeyTH !== \"SectorNameTH\"\r\n ) {\r\n this.state.ColumnsDataReportTH.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: el.ColumnKeyTH,\r\n OrderBy: el.ColumnOrder,\r\n className: 'SubRepHead SubRepColumn SubRepTD HeadSort',\r\n });\r\n } else if (el.ColumnKeyTH == \"NameAndLastTH\") {\r\n // console.log(\"in OrderNo\");\r\n this.state.ColumnsDataReportTH.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: el.ColumnKeyTH,\r\n OrderBy: el.ColumnOrder,\r\n width: '10px',\r\n className: 'SubRepHead SubRepColumn SubRepTD HeadSort HeadersForReport TdForBoard',\r\n\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {record.FirstNameTH} {record.LastNameTH}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyTH == \"SectorNameTH\") {\r\n // console.log(\"in OrderNo\");\r\n this.state.ColumnsDataReportTH.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: el.ColumnKeyTH,\r\n OrderBy: el.ColumnOrder,\r\n className: 'SubRepHead SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard',\r\n\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {record.SectorNameTH}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyTH == \"PositionNameTH\") {\r\n this.state.ColumnsDataReportTH.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: el.ColumnKeyTH,\r\n OrderBy: el.ColumnOrder,\r\n // className: 'reporthead reportcolumn',\r\n className: 'SubRepHead SubRepPositionCol SubRepPositionTD HeadSort HeadersForReport TdForBoard',\r\n\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {record.PositionNameTH}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyTH == \"OrderNo\") {\r\n // console.log(\"in OrderNo\");\r\n this.state.ColumnsDataReportTH.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: el.ColumnKeyTH,\r\n OrderBy: el.ColumnOrder,\r\n // className: 'reporthead reportcolumn reporttd HeadSort',\r\n className: 'SubRepHeadWrap SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard',\r\n\r\n\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {index + 1}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyTH == \"EmpId\") {\r\n this.state.ColumnsDataReportTH.push({\r\n title: el.ColumnNameTH,\r\n dataIndex: el.ColumnKeyTH,\r\n OrderBy: el.ColumnOrder,\r\n className: 'reporthead reportcolumn reporttd HeadSort',\r\n defaultSortOrder: \"descend\",\r\n sorter: (a, b) => a.EmpId - b.EmpId,\r\n sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyTH == \"SumSelfCalPoint\") {\r\n this.state.ColumnsDataReportTH.push({\r\n title: 'คะแนนการประเมิน',\r\n dataIndex: 'คะแนนการประเมิน',\r\n OrderBy: el.ColumnOrder,\r\n className: 'reporthead reportcolumn reporttd HeadSort',\r\n children: [{\r\n title: 'ประเมินตนเอง',\r\n dataIndex: 'SumSelfCalPoint',\r\n className: 'reporthead reportcolumn reporttd HeadSort',\r\n OrderBy: el.ColumnOrder,\r\n render: (e, record) => {\r\n if (record.EvaluateStatus == 1) {\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else if (record.EvaluateStatus == 2) {\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n },\r\n\r\n ],\r\n\r\n\r\n });\r\n } else if (el.ColumnKeyTH == \"SumAssessorCalPoint\") {\r\n // console.log('dddddddddddddddddddd', this.state.ColumnsDataReportTH[5].children)\r\n this.state.ColumnsDataReportTH[5].children.push({\r\n title: 'ผู้บังคับบัญชาประเมิน',\r\n dataIndex: 'SumAssessorCalPoint',\r\n className: 'reporthead reportcolumn reporttd HeadSort',\r\n OrderBy: el.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == null) {\r\n console.log(\"e in PrimaryEvaluteStatus\", e);\r\n console.log(\"record in PrimaryEvaluteStatus\", record);\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n })\r\n // {\r\n // title: 'ผู้บังคับบัญชาประเมิน',\r\n // dataIndex: 'SumAssessorCalPoint',\r\n // className: 'reporthead reportcolumn reporttd',\r\n // OrderBy: el.ColumnOrder,\r\n // render: (e, record) => {\r\n // if (record.EvaluateStatus == 1) {\r\n // console.log('e',e)\r\n // console.log('record',record)\r\n // return (\r\n //
    \r\n //

    ยังไม่ได้ประเมินตนเอง

    \r\n //
    \r\n // );\r\n // } else if (record.EvaluateStatus == 2) {\r\n // return (\r\n //
    \r\n //

    กำลังประเมินตนเอง

    \r\n //
    \r\n // );\r\n // } else {\r\n // return (\r\n //
    \r\n //

    {e}

    \r\n //
    \r\n // );\r\n // }\r\n // },\r\n // }\r\n }\r\n });\r\n\r\n this.setState({\r\n ColumnsDataReportTH: this.state.ColumnsDataReportTH.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n });\r\n\r\n //render en\r\n this.state.ColumnsReport.forEach((el) => {\r\n // console.log(\"ColumnKeyEN\", e.ColumnKeyEN);\r\n if (\r\n el.ColumnKeyEN !== \"SumSelfCalPoint\" &&\r\n el.ColumnKeyEN !== \"SumAssessorCalPoint\" &&\r\n el.ColumnKeyEN !== \"EmpId\" &&\r\n el.ColumnKeyEN !== \"OrderNo\" &&\r\n el.ColumnKeyEN !== \"NameAndLastEN\" &&\r\n el.ColumnKeyEN !== \"PositionNameEN\" &&\r\n el.ColumnKeyEN !== \"SectorNameEN\"\r\n ) {\r\n this.state.ColumnsDataReportEN.push({\r\n title: el.ColumnNameEN,\r\n dataIndex: el.ColumnKeyEN,\r\n OrderBy: el.ColumnOrder,\r\n className: 'SubRepHead SubRepColumn SubRepTD HeadSort',\r\n });\r\n } else if (el.ColumnKeyEN == \"NameAndLastEN\") {\r\n // console.log(\"in OrderNo\");\r\n this.state.ColumnsDataReportEN.push({\r\n title: el.ColumnNameEN,\r\n dataIndex: el.ColumnKeyEN,\r\n OrderBy: el.ColumnOrder,\r\n width: '10px',\r\n className: 'SubRepHead SubRepColumn SubRepTD HeadSort HeadersForReport TdForBoard',\r\n\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {record.FirstNameEN} {record.LastNameEN}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyEN == \"SectorNameEN\") {\r\n // console.log(\"in OrderNo\");\r\n this.state.ColumnsDataReportEN.push({\r\n title: el.ColumnNameEN,\r\n dataIndex: el.ColumnKeyEN,\r\n OrderBy: el.ColumnOrder,\r\n className: 'SubRepHead SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard',\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {record.SectorNameEN}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyEN == \"PositionNameEN\") {\r\n this.state.ColumnsDataReportEN.push({\r\n title: el.ColumnNameEN,\r\n dataIndex: el.ColumnKeyEN,\r\n OrderBy: el.ColumnOrder,\r\n // className: 'reporthead reportcolumn',\r\n className: 'SubRepHead SubRepPositionCol SubRepPositionTD HeadSort HeadersForReport TdForBoard',\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {record.PositionNameEN}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyEN == \"OrderNo\") {\r\n // console.log(\"in OrderNo\");\r\n this.state.ColumnsDataReportEN.push({\r\n title: el.ColumnNameEN,\r\n dataIndex: el.ColumnKeyEN,\r\n OrderBy: el.ColumnOrder,\r\n // className: 'reporthead reportcolumn reporttd HeadSort',\r\n className: 'SubRepHeadWrap SubRepSecCol SubRepSecTD HeadSort HeadersForReport TdForBoard',\r\n\r\n render: (e, record, index) => {\r\n return (\r\n
    \r\n {index + 1}\r\n
    \r\n )\r\n }\r\n // defaultSortOrder: \"descend\",\r\n\r\n // sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyEN == \"EmpId\") {\r\n this.state.ColumnsDataReportEN.push({\r\n title: el.ColumnNameEN,\r\n dataIndex: el.ColumnKeyEN,\r\n OrderBy: el.ColumnOrder,\r\n className: 'reporthead reportcolumn reporttd HeadSort',\r\n defaultSortOrder: \"descend\",\r\n sorter: (a, b) => a.EmpId - b.EmpId,\r\n sortDirections: [\"descend\", \"ascend\"],\r\n });\r\n }\r\n else if (el.ColumnKeyEN == \"SumSelfCalPoint\") {\r\n this.state.ColumnsDataReportEN.push({\r\n title: 'Points of Work Performance',\r\n dataIndex: 'Points of Work Performance',\r\n OrderBy: el.ColumnOrder,\r\n className: 'reporthead reportcolumn reporttd HeadSort',\r\n children: [{\r\n title: 'Self - Assessment',\r\n dataIndex: 'SumSelfCalPoint',\r\n className: 'reporthead reportcolumn reporttd HeadSort HeadersLongRep',\r\n OrderBy: el.ColumnOrder,\r\n render: (e, record) => {\r\n if (record.EvaluateStatus == 1) {\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else if (record.EvaluateStatus == 2) {\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n },\r\n\r\n ],\r\n\r\n\r\n });\r\n } else if (el.ColumnKeyEN == \"SumAssessorCalPoint\") {\r\n // console.log('dddddddddddddddddddd', this.state.ColumnsDataReportEN[5].children)\r\n this.state.ColumnsDataReportEN[5].children.push({\r\n title: 'Assessment by Supervisor',\r\n dataIndex: 'SumAssessorCalPoint',\r\n className: 'reporthead reportcolumn reporttd HeadSort HeadersLongRep',\r\n OrderBy: el.ColumnOrder,\r\n render: (e, record) => {\r\n if (e == null) {\r\n console.log(\"e in PrimaryEvaluteStatus\", e);\r\n console.log(\"record in PrimaryEvaluteStatus\", record);\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    {e}

    \r\n
    \r\n );\r\n }\r\n },\r\n })\r\n\r\n }\r\n });\r\n\r\n this.setState({\r\n ColumnsDataReportEN: this.state.ColumnsDataReportEN.sort(\r\n (firstItem, secondItem) => firstItem.OrderBy - secondItem.OrderBy\r\n ),\r\n });\r\n });\r\n }\r\n\r\n assessSubInfo(record) {\r\n // console.log(\"record\", record);\r\n // console.log(\"record.EmpId\", record.EmpId);\r\n }\r\n\r\n positionPopper(positionName) {\r\n var tempDup = [];\r\n tempDup = this.state.PositionList.filter((e) => {\r\n return positionName !== e.PositionNameTH;\r\n });\r\n return tempDup;\r\n }\r\n\r\n changeTabs(key) { }\r\n\r\n getSearchResults = (query) => {\r\n const allData = this.state.results;\r\n const dataToShow = [];\r\n allData.forEach((item) => {\r\n // console.log(\"item\", item);\r\n const searchString = query;\r\n if (item.PositionNameTH == searchString) {\r\n dataToShow.push(item);\r\n }\r\n });\r\n this.setState({\r\n EmpListDatasource: dataToShow,\r\n });\r\n };\r\n\r\n handlePositionChange = (value) => {\r\n // console.log(\"handlePositionChange\", value);\r\n this.setState(\r\n {\r\n query: value,\r\n },\r\n () => {\r\n if (this.state.query && this.state.query.length > 0) {\r\n // console.log(\"this.state.query\", this.state.query);\r\n this.getSearchResults(this.state.query);\r\n } else {\r\n this.setState({\r\n EmpListDatasource: this.state.results,\r\n });\r\n }\r\n }\r\n );\r\n };\r\n\r\n setRowKey(record) {\r\n const selectedRowKey = getRowKey(record);\r\n // console.log(selectedRowKey, typeof selectedRowKey);\r\n this.setState({ selectedRowKey });\r\n }\r\n\r\n renderContentTH() {\r\n const { EmpListDatasource, ColumnsDatasourceTH, PositionList, ColumnsDataReportTH, SectorListDatasource } = this.state;\r\n var tempSector = SectorListDatasource.filter((e) => {\r\n return e.SectorId == this.state.sectorTH;\r\n });\r\n return (\r\n
    \r\n window.history.back()}\r\n title=\"ประเมินผู้ใต้สังกัด\"\r\n />\r\n\r\n this.changeTabs(e)}\r\n visible\r\n centered\r\n >\r\n \r\n
    \r\n \r\n this.handlePositionChange(e)}\r\n //RUN 04202022 แก้ไขให้เป็น em เพื่อให้ไม่เคลื่อนเมื่อทำการเลือกตัวเลือกที่มีข้อความยาว\r\n style={{ width: '20em' }}\r\n >\r\n \r\n {PositionList.map((position) => (\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 {/* */}\r\n {/* hidden for now */}\r\n \r\n\r\n
    \r\n );\r\n }}\r\n content={() => this.componentRef}\r\n />\r\n \r\n
    (this.componentRef = el)}>\r\n
    \r\n

    \r\n คะแนนการประเมินการปฏิบัติงานประจำปีการศึกษา 2564\r\n

    \r\n

    {tempSector.map((e) => e.SectorNameTH)}

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

    ลงชื่อ _________________________________

    \r\n

    \r\n {\" \"}\r\n {\"( \" +\r\n localStorage.getItem(\"TitleTH\") +\r\n \" \" +\r\n localStorage.getItem(\"FirstNameTH\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameTH\") +\r\n \" )\"}\r\n

    \r\n

    ตำแหน่ง _______________________________

    \r\n

    วันที่ _________________

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n getRowKey(record)}\r\n rowClassName={(record) =>\r\n getRowKey(record) === this.state.selectedRowKey\r\n ? \"highlighted-selection\"\r\n : \"\"\r\n }\r\n onRow={(record) => {\r\n return {\r\n onClick: () => {\r\n this.setState({ visible: true });\r\n this.setRowKey(record);\r\n localStorage.setItem(\"defaultActiveKey\", 1);\r\n },\r\n };\r\n }}\r\n pagination={false}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n {localStorage.getItem(\"PositionID\") == \"02\" ||\r\n localStorage.getItem(\"PositionID\") == \"03\"\r\n || localStorage.getItem(\"PositionID\") == \"01\"\r\n ? (\r\n \r\n {/* */}\r\n \r\n \r\n ) : (\r\n localStorage.getItem(\"PositionID\") !== \"10\" &&\r\n \r\n localStorage.getItem(\"PositionID\") !== \"11\" && (\r\n \r\n \r\n \r\n )\r\n )}\r\n\r\n {/* { localStorage.getItem(\"PositionID\") !== \"10\" &&\r\n localStorage.getItem(\"PositionID\") !== \"11\" && (\r\n \r\n \r\n \r\n )}\r\n */}\r\n \r\n \r\n );\r\n }\r\n\r\n renderContentEN() {\r\n const { EmpListDatasource, ColumnsDatasourceEN, ColumnsDataReportEN, PositionList, SectorListDatasource } = this.state;\r\n var tempSector = SectorListDatasource.filter((e) => {\r\n return e.SectorId == this.state.sectorTH;\r\n });\r\n return (\r\n
    \r\n window.history.back()}\r\n title=\"Assessing Subordinate\"\r\n />\r\n\r\n this.changeTabs(e)}\r\n visible\r\n centered\r\n {...this.props}\r\n >\r\n \r\n
    \r\n \r\n this.handlePositionChange(e)}\r\n style={{ width: '20em' }}\r\n\r\n\r\n >\r\n \r\n {PositionList.map((position) => (\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 {/* */}\r\n {/* hidden for now */}\r\n \r\n\r\n
    \r\n );\r\n }}\r\n content={() => this.componentRef}\r\n />\r\n \r\n
    (this.componentRef = el)}>\r\n
    \r\n

    \r\n Points of Work Performance for Academic Year 2021\r\n

    \r\n

    {tempSector.map((e) => e.SectorNameEN)}

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

    Signarture _________________________________

    \r\n

    \r\n {\" \"}\r\n {\"( \" +\r\n localStorage.getItem(\"TitleEN\") +\r\n \" \" +\r\n localStorage.getItem(\"FirstNameEN\") +\r\n \" \" +\r\n localStorage.getItem(\"LastNameEN\") +\r\n \" )\"}\r\n

    \r\n

    Position _______________________________

    \r\n

    Date _________________

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n getRowKey(record)}\r\n rowClassName={(record) =>\r\n getRowKey(record) === this.state.selectedRowKey\r\n ? \"highlighted-selection\"\r\n : \"\"\r\n }\r\n onRow={(record) => {\r\n return {\r\n onClick: () => {\r\n this.setState({ visible: true });\r\n this.setRowKey(record);\r\n },\r\n };\r\n }}\r\n pagination={false}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n {localStorage.getItem(\"PositionID\") == \"02\" ||\r\n localStorage.getItem(\"PositionID\") == \"03\"\r\n || localStorage.getItem(\"PositionID\") == \"04\"\r\n || localStorage.getItem(\"PositionID\") == \"01\"\r\n ? (\r\n \r\n \r\n \r\n ) : (\r\n localStorage.getItem(\"PositionID\") !== \"10\" &&\r\n localStorage.getItem(\"PositionID\") !== \"11\" && (\r\n \r\n \r\n \r\n )\r\n )}\r\n\r\n {/* {localStorage.getItem(\"PositionID\") !== \"10\" &&\r\n localStorage.getItem(\"PositionID\") !== \"11\" && (\r\n \r\n \r\n \r\n )} */}\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.state.language == \"TH\"\r\n ? this.renderContentTH()\r\n : this.renderContentEN()}\r\n
    \r\n );\r\n }\r\n}\r\n","import SubHeader from \"./SubHeader\";\r\nimport \"antd/dist/antd.css\";\r\n//RUN: new header component 16/04/2021\r\nimport \"../shared/css/list-page.css\";\r\nimport \"../shared/css/headerpages.css\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Drawer, Card, Table, Spin, PageHeader, Radio, Tabs, Button, Select, DatePicker, Space, Input, Skeleton, Form } from 'antd';\r\nimport { SaveOutlined, PlusOutlined, DeleteTwoTone } from '@ant-design/icons';\r\nimport * as _ from \"lodash\"; //\r\nimport moment from \"moment\";\r\nimport Dialog from '../shared/dialog';\r\nimport axios from \"axios\";\r\nimport { toInteger } from \"lodash\";\r\nconst titleTH = 'บันทึกข้อมูลประวัติการฉีดวัคซีน และ ประวัติการตรวจเชื้อ Covid-19';\r\nconst titleEN = 'Covid-19 vaccine and detection history'\r\nconst { TabPane } = Tabs;\r\nconst { Option } = Select;\r\nconst { RangePicker } = DatePicker;\r\nconst { TextArea } = Input;\r\nconst dateFormat = 'YYYY/MM/DD';\r\nconst weekFormat = 'MM/DD';\r\nconst monthFormat = 'YYYY/MM';\r\nconst newDate = Date.now();\r\nconst dateFormatList = ['DD/MM/YYYY', 'DD/MM/YY'];\r\n\r\nconst SecondBoardsTabs = () => {\r\n const [FinishAnswers, setFinishAnswer] = useState([]);\r\n const [AnswersCurrent, setAnswersCurrent] = useState([]);\r\n\r\n const [StatusEval, setStatusEval] = useState();\r\n const [underPrimery, setunderPrimery] = useState([]);\r\n const [EmpList, setEmpList] = useState([]);\r\n const [EmpListForSeacrh, setEmpListForSearch] = useState([]);\r\n const [assessorid, setassessor] = useState('');\r\n const [SectorList, setSectorList] = useState([]);\r\n const [spinner, setSpinner] = useState(true);\r\n const dialog = new Dialog();\r\n const init = async () => {\r\n setSpinner(\r\n true\r\n )\r\n\r\n const resultAns = await axios.post(process.env.REACT_APP_API_URL + \"/api/getAnsConfirmLevel\", {\r\n AssessorId: localStorage.getItem(\"EmpId\"),\r\n })\r\n\r\n const resultGetPrimary = await axios.post(process.env.REACT_APP_API_URL + \"/api/getUnderPrimaryByConfirmId\", {\r\n empid: localStorage.getItem(\"EmpId\"),\r\n })\r\n\r\n setFinishAnswer(\r\n resultAns.data[0].AnsForm\r\n )\r\n setStatusEval(\r\n resultAns.data[0].EvaluteStatus\r\n )\r\n setassessor(\r\n resultAns.data[0].assessor\r\n )\r\n setEmpListForSearch(\r\n resultGetPrimary.data[0].EmpList\r\n )\r\n setEmpList(\r\n resultGetPrimary.data[0].EmpList\r\n )\r\n setSectorList(\r\n resultGetPrimary.data[0].SectorList\r\n )\r\n\r\n setSpinner(\r\n false\r\n )\r\n //fetch emp list\r\n console.log('resultAns', resultAns)\r\n console.log('resultGetPrimary', resultGetPrimary)\r\n console.log('EmpList', EmpList)\r\n console.log('SectorList', SectorList)\r\n\r\n\r\n\r\n\r\n\r\n\r\n };\r\n\r\n const testarrayDupFunction = async (empid, assessor) => {\r\n //this.spinnerControl();\r\n\r\n // console.log(\"testarrayDupFunction\");\r\n var tempDup = [];\r\n var tempDupFin = [];\r\n\r\n //RUN: ยัดใส่เป็น ToString ให้หมดเนื่องจากส่งไปsave กับ ส่งคืนมา มีค่าdatatype อิอัยยยยยยยยยย 16/04/2021\r\n\r\n tempDup = AnswersCurrent.filter((e) => {\r\n return (\r\n e.empid.toString() !== empid.toString() ||\r\n e.assessor.toString() !== assessorid.toString()\r\n );\r\n });\r\n\r\n tempDupFin = FinishAnswers.filter((e) => {\r\n return (\r\n e.EmpId.toString() !== empid.toString() ||\r\n e.Assessor.toString() !== assessorid.toString()\r\n );\r\n });\r\n\r\n\r\n await setAnswersCurrent(\r\n tempDup\r\n )\r\n\r\n await setFinishAnswer(tempDupFin)\r\n\r\n }\r\n\r\n const handleChange = (\r\n empid\r\n ) => async (event) => {\r\n // console.log('in change')\r\n //this.spinnerControl();\r\n console.log('event', event.target.value)\r\n\r\n\r\n console.log('go on event beginning', AnswersCurrent)\r\n var temp = [];\r\n temp = AnswersCurrent.filter((e) => {\r\n return (\r\n e.empid.toString() === empid.toString() &&\r\n e.assessor.toString() === assessorid.toString()\r\n );\r\n\r\n });\r\n\r\n console.log('AnswersCurrent on handle change', temp)\r\n\r\n\r\n if (temp.length == 0) {\r\n console.log(' in length 0 ')\r\n let newModel = {\r\n empid: empid,\r\n assessor: assessorid,\r\n Point: event.target.value\r\n }\r\n let newFinishInclude = {\r\n EmpId: empid,\r\n Assessor: assessorid,\r\n Point: event.target.value\r\n }\r\n await setAnswersCurrent(\r\n (prevState) => (\r\n [...prevState, newModel]\r\n )\r\n )\r\n await setFinishAnswer(\r\n (prevState) => (\r\n [...prevState, newFinishInclude]\r\n )\r\n )\r\n } else {\r\n\r\n await testarrayDupFunction(\r\n empid\r\n );\r\n\r\n let newModel = {\r\n empid: empid,\r\n assessor: assessorid,\r\n Point: event.target.value\r\n }\r\n let newFinishInclude = {\r\n EmpId: empid,\r\n Assessor: assessorid,\r\n Point: event.target.value\r\n }\r\n await setAnswersCurrent(\r\n (prevState) => (\r\n [...prevState, newModel]\r\n )\r\n \r\n )\r\n await setFinishAnswer(\r\n (prevState) => (\r\n [...prevState, newFinishInclude]\r\n )\r\n )\r\n\r\n\r\n }\r\n\r\n console.log('after events and logic have been done ', AnswersCurrent)\r\n console.log('ssd done ', FinishAnswers)\r\n\r\n\r\n // this.AnsData.ansForm = this.testarrayDupFunction(\r\n // empid,\r\n // assessor\r\n // );\r\n\r\n // this.AnsData.ansForm.push({\r\n // empid: empid,\r\n // assessor: assessor,\r\n // Point: value\r\n // });\r\n // }\r\n\r\n // console.log('ansForm', this.AnsData.ansForm)\r\n\r\n\r\n // var five = this.AnsData.ansForm.filter(\r\n // (e) => (e.Point == 5)\r\n // );\r\n\r\n // var four = this.AnsData.ansForm.filter(\r\n // (e) => (e.Point == 4)\r\n // )\r\n // var three = this.AnsData.ansForm.filter(\r\n // (e) => (e.Point == 3)\r\n // )\r\n // var two = this.AnsData.ansForm.filter(\r\n // (e) => (e.Point == 2)\r\n // )\r\n // var one = this.AnsData.ansForm.filter(\r\n // (e) => (e.Point == 1)\r\n // )\r\n // console.log('ionsss')\r\n // this.setState({ five: five, four: four, three: three, two: two, one: one })\r\n //this.spinnerControl();\r\n\r\n // console.log('this.state.ansDefault in count', this.state.ansDefault)\r\n // console.log('five', this.state.five)\r\n // console.log('four', this.state.four.length)\r\n // console.log('three', this.state.three.length)\r\n // console.log('two', this.state.two.length)\r\n // console.log('one', this.state.one.length)\r\n\r\n };\r\n const RefreshDefault = async () => {\r\n console.log('ddddddddddddddddd')\r\n EmpList.forEach((data) => {\r\n getDefaultScore(data.EmpId)\r\n })\r\n }\r\n const getSearchResults = async (query) => {\r\n //this.spinnerControl();\r\n console.log('query', query)\r\n const allData = EmpListForSeacrh\r\n let dataToShow = [];\r\n if (query == null) {\r\n dataToShow = allData\r\n \r\n\r\n } else {\r\n allData.forEach((item) => {\r\n // // console.log(\"item\", item);\r\n const searchString = query;\r\n if (item.SectorId == searchString) {\r\n dataToShow.push(item);\r\n }\r\n });\r\n \r\n\r\n }\r\n\r\n // console.log('data to show: ', dataToShow);\r\n await setEmpList(\r\n dataToShow\r\n )\r\n await RefreshDefault()\r\n //this.spinnerControl();\r\n\r\n };\r\n const handleSectorChange = () => async (event) => {\r\n console.log('stepteptet handleSectorChange',)\r\n \r\n // tableDataTH.map((data,index)=>{\r\n // console.log('lodlsaolsdolaosdl',data.StepPoint)\r\n // })\r\n\r\n\r\n await getSearchResults(event);\r\n // getDefaultScore();\r\n //this.spinnerControl();\r\n\r\n // console.log(\"handlePositionChange\", value);\r\n // this.setState(\r\n // {\r\n // query: value,\r\n // },\r\n // () => {\r\n // if (this.state.query && this.state.query.length > 0) {\r\n // // console.log(\"this.state.query\", this.state.query);\r\n // this.getSearchResults(this.state.query);\r\n // } else {\r\n // this.setState({\r\n // EmpListDatasource: this.state.results,\r\n // });\r\n // }\r\n // }\r\n // );\r\n //this.spinnerControl();\r\n\r\n };\r\n\r\n const handleSaveDraft = () => {\r\n var empid;\r\n var assess;\r\n var point;\r\n console.log('in handlesavedraft', AnswersCurrent)\r\n // console.log(\"empid\", empid);\r\n // console.log(\"assess\", assess);\r\n // console.log(\"point\", point);\r\n\r\n // console.log(\"ansSaveData\", ansSaveData);\r\n\r\n fetch(process.env.REACT_APP_API_URL + \"/api/saveFormFirstLevel\", {\r\n method: \"post\",\r\n\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n body: JSON.stringify({\r\n empid: localStorage.getItem('EmpId'),\r\n formid: \"2\",\r\n assessor: assessorid,\r\n buttonaction: \"1\",\r\n jsonans: AnswersCurrent,\r\n }),\r\n })\r\n .then((Response) => Response.json())\r\n .then((result) => {\r\n // console.log(\"save draft result: \" + JSON.stringify(result));\r\n if (result.status == \"404\") {\r\n console.log('result', result)\r\n // alert(\"บันทึกไม่สำเร็จ\");\r\n //RUN: ปรับการแจ้งเตือนให้เป็น pop up dialog 18/04/2021\r\n\r\n\r\n if (localStorage.getItem('Language') == 'TH') {\r\n dialog.WarningDialog('บันทึกร่างไม่สำเร็จ')\r\n } else {\r\n dialog.WarningDialog('Unable to Save Draft')\r\n }\r\n } else {\r\n\r\n if (localStorage.getItem('Language') == 'TH') {\r\n dialog.SuccessDialog('บันทึกร่างสำเร็จ', '/assessing-subordinate')\r\n localStorage.setItem('defaultActiveKey', 2)\r\n\r\n } else {\r\n dialog.SuccessDialog('Save Draft Success', '/assessing-subordinate')\r\n localStorage.setItem('defaultActiveKey', 2)\r\n }\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n\r\n // };\r\n const getDefaultScore = (empid) => {\r\n //this.spinnerControl();\r\n console.log(' in get default scores',FinishAnswers)\r\n var tempArray = [];\r\n tempArray = FinishAnswers.filter((e) => {\r\n return (\r\n e.EmpId == empid.toString() &&\r\n e.Assessor == assessorid.toString()\r\n );\r\n });\r\n // // console.log('empid temp: ', empid)\r\n // // console.log('assessor temp: ', assessor)\r\n // // console.log('ansDefault temp: ', this.state.ansDefault)\r\n // // console.log('getDefaultScore temp: ', tempArray)\r\n if (tempArray.length > 0) {\r\n //this.spinnerControl();\r\n console.log('ffff', typeof tempArray[0].Point)\r\n\r\n return parseInt(tempArray[0].Point);\r\n } else {\r\n //this.spinnerControl();\r\n\r\n return null;\r\n }\r\n\r\n\r\n }\r\n const columnsTH = [\r\n {\r\n title: 'รหัสบุคคลากร',\r\n dataIndex: 'EmpId',\r\n width: '0.1%',\r\n },\r\n {\r\n title: 'ชื่อ',\r\n dataIndex: 'FirstNameTH',\r\n width: '0.001%',\r\n },\r\n {\r\n title: 'นามสกุล',\r\n dataIndex: 'LastNameTH',\r\n width: '10%',\r\n\r\n },\r\n {\r\n title: 'ตำแหน่ง',\r\n dataIndex: 'PositionNameTH',\r\n width: '10%',\r\n },\r\n {\r\n title: 'สังกัด',\r\n dataIndex: 'SectorNameTH',\r\n width: '10%',\r\n },\r\n {\r\n title: 'คะแนนประเมินตนเอง',\r\n dataIndex: 'SumSelfEval',\r\n width: '10%',\r\n },\r\n {\r\n title: 'คะแนนหัวหน้าประเมิน',\r\n dataIndex: 'SumAssessorCalPoint',\r\n width: '10%',\r\n },\r\n {\r\n title: 'ระดับหัวหน้าประเมิน',\r\n dataIndex: 'StepPointAdmin',\r\n width: '10%',\r\n },\r\n {\r\n title: 'ระดับผลการปฎิบัติงาน',\r\n dataIndex: 'StepPoint',\r\n width: '10%',\r\n },\r\n ];\r\n\r\n let tableDataTH = [];\r\n {\r\n EmpList.map((data, index) => {\r\n tableDataTH.push(\r\n {\r\n key: index,\r\n EmpId: data.EmpId,\r\n FirstNameTH: data.FirstNameTH,\r\n LastNameTH: data.LastNameTH,\r\n PositionNameTH: data.PositionNameTH,\r\n SectorNameTH: data.SectorNameTH,\r\n SumSelfEval: data.SumSelfEval,\r\n SumAssessorCalPoint: data.SumAssessorCalPoint,\r\n StepPointAdmin: data.StepPointAdmin,\r\n StepPoint: (\r\n \r\n \r\n \r\n {/*
    เปิดในวันที่ 25/04/2022
    */}\r\n \r\n {\r\n // let pointtemp = null\r\n // if(dataFin.EmpId.toString() == data.EmpId.toString()){ \r\n // console.log('data dadada',dataFin.Point)\r\n // pointtemp = dataFin.Point\r\n // return {pointtemp}\r\n // }else{ \r\n // console.log('ddddd',dataFin.Point)\r\n // return {pointtemp}\r\n // }\r\n // })}\r\n\r\n value={getDefaultScore(data.EmpId)}\r\n \r\n // value={\r\n // FinishAnswers.map((dataFin,index)=>{\r\n // if(dataFin.EmpId.toString() == data.EmpId.toString()){ \r\n // console.log('data dadada',dataFin.Point)\r\n // return dataFin.Point\r\n // }\r\n // })}\r\n\r\n >\r\n 5\r\n 4\r\n 3\r\n 2\r\n 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\r\n const con = () => {\r\n console.log(' in change style')\r\n return 'green'\r\n }\r\n useEffect(() => {\r\n init();\r\n }, []);\r\n\r\n const newPostFormTH = () => (\r\n
    \r\n \r\n \r\n {SectorList.map((position) => (\r\n \r\n ))}\r\n \r\n \r\n {/*
    \r\n \r\n \r\n }\r\n >\r\n \r\n\r\n
    \r\n
    \r\n

    ท่านได้รับวัคซีนโควิด-19 แล้วหรือไม่

    :\r\n\r\n \r\n ได้รับแล้ว\r\n ยังไม่ได้รับ\r\n \r\n
    \r\n
    \r\n {VacState == 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 {ReasonUnVac == 3 ?\r\n
    \r\n \r\n
    \r\n