From 21752ca924fd54800ba9e17cdeebd1e825155210 Mon Sep 17 00:00:00 2001 From: farhantock Date: Fri, 19 Jan 2024 11:17:41 +0700 Subject: [PATCH] update colomn company name --- src/views/Master/MasterAbsensi/index.js | 26 +++- src/views/Master/MasterBroadcast/index.js | 83 ++++++------ src/views/Master/MasterRoles/index.js | 146 +++++++++++---------- src/views/Master/ProjectPhase/index.js | 47 +++++-- src/views/Report/k3/index.js | 32 ++++- src/views/SimproV2/ChecklistK3/index.js | 135 +++++++++++-------- src/views/SimproV2/CreatedProyek/index.js | 54 ++++---- src/views/SimproV2/Divisi/index.js | 124 +++++++++-------- src/views/SimproV2/PanicButton/index.js | 16 ++- src/views/SimproV2/Presence/index.js | 25 +++- src/views/SimproV2/ProjectType/index.js | 46 +++++-- src/views/SimproV2/ResourceWorker/index.js | 19 ++- src/views/SimproV2/Satuan/index.js | 102 ++++++++------ 13 files changed, 521 insertions(+), 334 deletions(-) diff --git a/src/views/Master/MasterAbsensi/index.js b/src/views/Master/MasterAbsensi/index.js index 8d17489..b8e26f5 100644 --- a/src/views/Master/MasterAbsensi/index.js +++ b/src/views/Master/MasterAbsensi/index.js @@ -55,7 +55,15 @@ class index extends Component { currentProyek: parseInt(localStorage.getItem('role_id')) === 2 ? parseInt(localStorage.getItem('proyek_id')) : null, allUserToProyek: [], allDataProyek: [], - finishSetupOption: false + finishSetupOption: false, + role_name: props.role_name || '', + role_id: props.role_id || 0, + user_id: props.user_id || 0, + isLogin: props.isLogin || false, + token: props.token || '', + all_project: props.all_project || null, + hierarchy: props.hierarchy || [], + user_name: props.user_name || '', } } @@ -195,7 +203,14 @@ class index extends Component { "ascending": false } } - + if (this.state.role_name === 'Super Admin') { + payload.joins.push( + { name: "m_company", column_join: "company_id", column_results: ["company_name"] } + ) + payload.columns.push( + { name: "company_name", logic_operator: "~*", value: this.state.search, table_name: "m_company" } + ) + } const result = await axios @@ -448,6 +463,9 @@ class index extends Component { Edit */} + {this.state.role_name === 'Super Admin' && + {n.join_second_company_name ? n.join_second_company_name : ""} + } {n.join_first_name ? n.join_first_name : ""} {n.description ? n.description : "-"} {n.created_at ? moment(n.created_at).format("YYYY-MM-DD") : "-"} @@ -494,10 +512,12 @@ class index extends Component { render() { const t = this.props; const column = [ + this.state.role_name === 'Super Admin' ? { name: this.props.t('company') } : null, { name: this.props.t('nameHR') }, { name: this.props.t('description') }, { name: this.props.t('dateAbsent') }, - ] + ].filter(column => column && column.name); + const { tooltipTambah, tooltipExport, dataTable, openDialog, currentPage, rowsPerPage, totalPage, search, tooltipEdit, tooltipDelete } = this.state return (
diff --git a/src/views/Master/MasterBroadcast/index.js b/src/views/Master/MasterBroadcast/index.js index e9d3efc..2622210 100644 --- a/src/views/Master/MasterBroadcast/index.js +++ b/src/views/Master/MasterBroadcast/index.js @@ -5,7 +5,7 @@ import React, { Component } from 'react'; import SweetAlert from 'react-bootstrap-sweetalert'; import axios from 'axios'; import moment from 'moment'; -import { USER_LIST, BASE_SIMPRO_LUMEN, ROLE_LIST } from '../../../const/ApiConst'; +import { USER_LIST, BASE_SIMPRO_LUMEN, ROLE_LIST, COMPANY_MANAGEMENT_LIST } from '../../../const/ApiConst'; import { Button, Card, CardBody, CardHeader, DropdownItem, DropdownMenu, DropdownToggle, Input, InputGroup, InputGroupButtonDropdown, Table, Row, Col } from 'reactstrap'; import { DatePicker, Pagination } from 'antd'; import { NotificationContainer, NotificationManager } from 'react-notifications'; @@ -66,6 +66,9 @@ class index extends Component { totalPage: 0, typeClock: "All", typeDialog: 'Save', + role_name: props.role_name || '', + company_id: props.company_id, + listCompany: [] } } @@ -79,42 +82,22 @@ class index extends Component { if (startDate !== prevState.startDate) this.getDataBroadcast() } - handleSearch = e => { - const value = e.target.value - this.setState({ search: value, currentPage: 1 }) - }; - - getDataUsers = async () => { - const result = await axios - .get(USER_LIST, config) - .then(res => res) - .catch((error) => error.response); - if (result && result.data && result.status == 200) { - const dataRes = result.data.data; - const finalData = []; - if (dataRes.length > 0) { - dataRes.map((val, index) => { - let data = { - id: val.id, - name: val.name, - }; - finalData.push(data); - }); - } - this.setState({ dataUser: finalData }); - } - } - getDataRoles = async () => { + getDataCompany = async () => { const result = await axios - .get(ROLE_LIST, config) + .get(COMPANY_MANAGEMENT_LIST, config) .then(res => res) .catch((error) => error.response); - if (result && result.data && result.status == 200) { - this.setState({ dataRoles: result.data.data }); + if (result && result.data && result.data.code == 200) { + this.setState({ listCompany: result.data.data }) } } + handleSearch = e => { + const value = e.target.value + this.setState({ search: value, currentPage: 1 }) + }; + getDataBroadcast = async () => { let url = BASE_SIMPRO_LUMEN + `/broadcast/search`; @@ -141,8 +124,9 @@ class index extends Component { "name": searchDetailField, "operator": "AND", "value": search - } + }, ], + "joins": [], "orders": { "ascending": false, "columns": [ @@ -155,7 +139,22 @@ class index extends Component { } } - if (this.state.search !== "" && this.state.search !== null) { + if (this.state.role_name === 'Super Admin') { + payload.joins.push( + { name: "m_company", column_join: "company_id", column_results: ["company_name"] } + ) + payload.columns.push( + { name: "company_name", logic_operator: "~*", value: this.state.search, table_name: "m_company" } + ) + } else { + payload.columns.push( + { + "name": "company_id", + "logic_operator": "=", + "value": this.state.company_id, + "operator": "AND" + } + ) } const result = await axios @@ -165,8 +164,7 @@ class index extends Component { if (result && result.data) { if (result.data.code === 200) { this.setState({ dataTable: result.data.data, totalPage: result.data.totalRecord }); - this.getDataUsers() - this.getDataRoles() + this.getDataCompany() } else { NotificationManager.error('Failed retreiving data!!', 'Failed'); } @@ -214,13 +212,13 @@ class index extends Component { saveBroadcast = async (type, data) => { let url = BASE_SIMPRO_LUMEN + `/broadcast/add`; - const param = { "title_notif": data.title, "status_send": type, "send_to_type": "all", "message_notif": data.message, "description": data.description, + "company_id": data.company_id } const paramRoles = { @@ -229,7 +227,8 @@ class index extends Component { "send_to_type": "roles", "message_notif": data.message, "description": data.description, - "send_to_id": data.id + "send_to_id": data.id, + "company_id": data.company_id } const paramUsers = { @@ -238,7 +237,8 @@ class index extends Component { "send_to_type": "users", "message_notif": data.message, "description": data.description, - "send_to_id": data.send_to_type == "users" ? data.id.map((id, index) => id) : null + "send_to_id": data.send_to_type == "users" ? data.id.map((id, index) => id) : null, + "company_id": data.company_id } if (data.send_to_type === "all") { @@ -491,6 +491,9 @@ class index extends Component { + {this.state.role_name === 'Super Admin' && + {n.join_first_company_name ? n.join_first_company_name : "-"} + } {n.title_notif} {n.message_notif !== "" ? n.message_notif : "-"} {n.description !== "" ? n.description : "-"} @@ -557,13 +560,14 @@ class index extends Component { render() { const column = [ { name: this.props.t('action') }, + this.state.role_name === 'Super Admin' ? { name: this.props.t('company') } : null, { name: this.props.t('title') }, { name: this.props.t('message') }, { name: this.props.t('description') }, { name: this.props.t('receiver') }, { name: "Status" }, { name: this.props.t('date') }, - ] + ].filter(column => column && column.name); const t = this.props; const { tooltipTambah, tooltipExport, dataTable, splitButtonOpen, openDialog, currentPage, rowsPerPage, totalPage, search, tooltipEdit, tooltipDelete, statusSend } = this.state return ( @@ -591,6 +595,9 @@ class index extends Component { dataEdit={this.state.dataEdit} showDialog={showDialog => this.showChildDialog = showDialog} dataHs={this.state.dataIdHo} + company_id={this.state.company_id} + role_name={this.state.role_name} + listCompany={this.state.listCompany} /> , }, - { - title: this.state.role_name === 'Super Admin' ? "Company Name" : null, - dataIndex: "join_first_company_name", - key: "join_first_company_name", - render: (text, record) => { - return this.state.role_name === 'Super Admin' ? ( - {record.join_first_company_name} - ) : null; - } - }, + ...(this.state.role_name === 'Super Admin' + ? [ + { + title: this.props.t('company'), + dataIndex: "join_first_company_name", + key: "join_first_company_name", + render: (text, record) => ( + {record.join_first_company_name} + ), + } + ] + : []), { title: this.props.t('nameRole'), dataIndex: 'name', key: 'name', className: "nowrap" }, { title: this.props.t('description'), dataIndex: 'description', key: 'description' }, ] @@ -119,17 +121,17 @@ class index extends Component { const formData = { "paging": { "start": start, "length": this.state.rowsPerPage }, "columns": [], - group_column: { - "operator": "AND", - "group_operator": "OR", - "where": [ - { - "name": "name", - "logic_operator": "~*", - "value": this.state.search, - } - ] - }, + group_column: { + "operator": "AND", + "group_operator": "OR", + "where": [ + { + "name": "name", + "logic_operator": "~*", + "value": this.state.search, + } + ] + }, "joins": [], "orders": { "columns": ["id"], "ascending": false } } @@ -141,12 +143,12 @@ class index extends Component { formData.columns.push( { "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" }, ) - formData.joins.push( - { "name": "m_company", "column_join": "company_id", "column_results": ["company_name"] } - ) - formData.group_column.where.push( - { name: "company_name", logic_operator: "~*", value: this.state.search, table_name: "m_company" } - ) + formData.joins.push( + { "name": "m_company", "column_join": "company_id", "column_results": ["company_name"] } + ) + formData.group_column.where.push( + { name: "company_name", logic_operator: "~*", value: this.state.search, table_name: "m_company" } + ) } const result = await axios .post(ROLE_SEARCH, formData, this.state.config) @@ -369,36 +371,36 @@ class index extends Component { const formData = { "paging": { "start": start, "length": this.state.rowsPerPage }, "columns": [], - "group_column": { - "operator": "AND", - "group_operator": "OR", - "where": [ - { - "name": "name", - "logic_operator": "~*", - "value": this.state.search, - } - ] - }, + "group_column": { + "operator": "AND", + "group_operator": "OR", + "where": [ + { + "name": "name", + "logic_operator": "~*", + "value": this.state.search, + } + ] + }, "joins": [], "orders": { "columns": ["id"], "ascending": false } } - if (this.state.role_name !== "Super Admin") { - formData.columns.push( - { "name": "company_id", "logic_operator": "=", "value": this.state.company_id, "operator": "AND" }, - ) - } else { - formData.columns.push( - { "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" }, - ) - formData.joins.push( - { "name": "m_company", "column_join": "company_id", "column_results": ["company_name"] } - ) - formData.group_column.where.push( - { name: "company_name", logic_operator: "~*", value: this.state.search, table_name: "m_company" } - ) - } + if (this.state.role_name !== "Super Admin") { + formData.columns.push( + { "name": "company_id", "logic_operator": "=", "value": this.state.company_id, "operator": "AND" }, + ) + } else { + formData.columns.push( + { "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" }, + ) + formData.joins.push( + { "name": "m_company", "column_join": "company_id", "column_results": ["company_name"] } + ) + formData.group_column.where.push( + { name: "company_name", logic_operator: "~*", value: this.state.search, table_name: "m_company" } + ) + } const result = await axios .post(ROLE_SEARCH, formData, this.state.config) @@ -410,11 +412,11 @@ class index extends Component { const dataExport = []; dataRes.map((val, index) => { let row = {}; - if (this.state.role_name === 'Super Admin') { - row.Company = val.join_first_company_name; - } - row.Nama = val.name; - row.Deskripsi = val.description; + if (this.state.role_name === 'Super Admin') { + row.Company = val.join_first_company_name; + } + row.Nama = val.name; + row.Deskripsi = val.description; dataExport.push(row); }) this.setState({ dataExport: dataExport }, () => { diff --git a/src/views/Master/ProjectPhase/index.js b/src/views/Master/ProjectPhase/index.js index 71239f3..9effc9b 100644 --- a/src/views/Master/ProjectPhase/index.js +++ b/src/views/Master/ProjectPhase/index.js @@ -6,13 +6,13 @@ import axios from "../../../const/interceptorApi" import moment from 'moment' import { Card, CardBody, CardHeader, Col, Row, Input } from 'reactstrap'; import { NotificationContainer, NotificationManager } from 'react-notifications'; -import { PROJECT_PHASE_ADD, PROJECT_PHASE_EDIT, PROJECT_PHASE_DELETE, PROJECT_PHASE_SEARCH, PROJECT_PHASE_LIST, BASE_OSPRO } from '../../../const/ApiConst'; +import { PROJECT_PHASE_ADD, PROJECT_PHASE_EDIT, PROJECT_PHASE_DELETE, PROJECT_PHASE_SEARCH, COMPANY_MANAGEMENT_LIST, BASE_OSPRO } from '../../../const/ApiConst'; import { Pagination, Button, Tooltip, Table } from 'antd'; import { useTranslation } from 'react-i18next'; const ProjectPhase = ({ params, ...props }) => { - let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name=''; + let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name = '', hierarchy = [], user_name = ''; if (props && props.role_id && props.user_id) { role_id = props.role_id; user_id = props.user_id; @@ -49,6 +49,7 @@ const ProjectPhase = ({ params, ...props }) => { const [search, setSearch] = useState('') const [totalPage, setTotalPage] = useState(0) const [typeDialog, setTypeDialog] = useState('Save') + const [listCompany, setListCompany] = useState([]) const { t } = useTranslation() useEffect(() => { getDataProjectPhase() @@ -61,6 +62,21 @@ const ProjectPhase = ({ params, ...props }) => { } }, [dataExport]) + useEffect(() => { + getDataCompany() + }, []) + + const getDataCompany = async () => { + const result = await axios + .get(COMPANY_MANAGEMENT_LIST, HEADER) + .then(res => res) + .catch((error) => error.response); + + if (result && result.data && result.data.code == 200) { + setListCompany(result.data.data); + } + } + const getDataProjectPhase = async () => { let start = 0; if (currentPage !== 1 && currentPage > 1) { @@ -192,8 +208,8 @@ const ProjectPhase = ({ params, ...props }) => { if (role_name === 'Super Admin') { dataRow.Company = val.join_first_company_name; } - dataRow.Nama=val.name; - dataRow.Color=val.color; + dataRow.Nama = val.name; + dataRow.Color = val.color; excelData.push(dataRow) }) await setDataExport(excelData) @@ -341,17 +357,19 @@ const ProjectPhase = ({ params, ...props }) => { {" "} , }, - { - title: role_name === 'Super Admin' ? "Company Name" : null, - dataIndex: "join_first_company_name", - key: "join_first_company_name", - render: (text, record) => { - return role_name === 'Super Admin' ? ( + ...(role_name === 'Super Admin' ? + [{ + title: t('companyName'), + dataIndex: "join_first_company_name", + key: "join_first_company_name", + render: (text, record) => ( {record.join_first_company_name} - ) : null; - } + ) + }] + : []), + { + title: t('phase'), dataIndex: 'name', key: 'name', className: "nowrap" }, - { title: t('phase'), dataIndex: 'name', key: 'name', className: "nowrap" }, { title: t('color'), dataIndex: 'color', @@ -398,6 +416,9 @@ const ProjectPhase = ({ params, ...props }) => { dataEdit={dataEdit} clickOpenModal={clickOpenModal} dataParent={allDataMenu} + listCompany={listCompany} + role_name={role_name} + company_id={company_id} /> diff --git a/src/views/Report/k3/index.js b/src/views/Report/k3/index.js index d967fd9..4fdc769 100644 --- a/src/views/Report/k3/index.js +++ b/src/views/Report/k3/index.js @@ -26,7 +26,7 @@ const LENGTH_DATA = 10 class index extends Component { constructor(props) { - let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name=''; + let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name = '', hierarchy = [], user_name = ''; if (props && props.role_id && props.user_id) { role_id = props.role_id; user_id = props.user_id; @@ -127,7 +127,7 @@ class index extends Component { "joins": [], "orders": { "columns": ["id"], "ascending": false } } - if (this.state.role_id !== "Super Admin") { + if (this.state.role_name !== "Super Admin") { payload.columns.push( { name: "created_by_id", logic_operator: "IN", value: this.state.hierarchy, operator: "AND" } ) @@ -207,11 +207,25 @@ class index extends Component { } if (currentProyek) { - let proyekPayload = { "name": "proyek_id", "logic_operator": "=", "value": this.state.currentProyek }; - payload.columns.push(proyekPayload) + payload.columns.push({ "name": "proyek_id", "logic_operator": "=", "value": this.state.currentProyek }) + if (this.state.role_name === "Super Admin") { + payload.joins.push( + { name: "m_company", column_join: "company_id", column_results: ["company_name"] } + ) + payload.columns.push( + { name: "company_name", logic_operator: "~*", value: this.state.search, table_name: "m_company" } + ) + } } else { - let proyekPayload = { "name": "proyek_id", "logic_operator": "in", "value": this.state.proyekIds }; - payload.columns.push(proyekPayload) + payload.columns.push({ "name": "proyek_id", "logic_operator": "in", "value": this.state.proyekIds }) + if (this.state.role_name === "Super Admin") { + payload.joins.push( + { name: "m_company", column_join: "company_id", column_results: ["company_name"] } + ) + payload.columns.push( + { name: "company_name", logic_operator: "~*", value: this.state.search, table_name: "m_company" } + ) + } } const result = await axios @@ -465,6 +479,9 @@ class index extends Component { {dataTable2.length !== 0 ? dataTable2.map((n) => { return ( + {this.state.role_name === 'Super Admin' && + {n.join_third_company_name ? n.join_third_company_name : "-"} + } {n.join_first_name ? n.join_first_name : "-"} {n.join_second_nama ? n.join_second_nama : "-"} {n.report_date ? moment(n.report_date).format("DD-MM-YYYY") : "-"} @@ -534,6 +551,7 @@ class index extends Component { render() { const column = [ + this.state.role_name === 'Super Admin' ? { name: this.props.t('company') } : null, { name: this.props.t('nameHR') }, { name: this.props.t('projectName') }, { name: this.props.t('dateReport') }, @@ -541,7 +559,7 @@ class index extends Component { { name: this.props.t('gearNotUse') }, { name: this.props.t('description') }, { name: this.props.t('action') }, - ] + ].filter(column => column && column.name); const t = this.props; const { tooltipExport, dataTable, openDialog, currentPage, rowsPerPage, totalPage, search, tooltipEdit, tooltipDelete } = this.state return ( diff --git a/src/views/SimproV2/ChecklistK3/index.js b/src/views/SimproV2/ChecklistK3/index.js index 4d538ca..e0632b6 100644 --- a/src/views/SimproV2/ChecklistK3/index.js +++ b/src/views/SimproV2/ChecklistK3/index.js @@ -5,15 +5,13 @@ import SweetAlert from 'react-bootstrap-sweetalert'; import axios from "../../../const/interceptorApi" import { Card, CardBody, CardHeader, Col, Row, Input, Table } from 'reactstrap'; import { NotificationContainer, NotificationManager } from 'react-notifications'; -import { Pagination, Button, Tooltip } from 'antd'; +import { Pagination, Button, Tooltip, } from 'antd'; import { - CHECKLIST_K3_ADD, CHECKLIST_K3_EDIT, CHECKLIST_K3_DELETE, CHECKLIST_K3_SEARCH + CHECKLIST_K3_ADD, CHECKLIST_K3_EDIT, CHECKLIST_K3_DELETE, CHECKLIST_K3_SEARCH, COMPANY_MANAGEMENT_LIST } from '../../../const/ApiConst'; import { useTranslation } from 'react-i18next'; const token = window.localStorage.getItem('token'); -const role_name = window.localStorage.getItem('role_name'); -const company_id = window.localStorage.getItem('company_id'); const config = { headers: { @@ -22,8 +20,20 @@ const config = { } }; -const ChecklistK3 = ({ params }) => { - const token = localStorage.getItem("token") +const ChecklistK3 = ({ params, ...props }) => { + let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name = '', hierarchy = [], user_name = ''; + if (props && props.role_id && props.user_id) { + role_id = props.role_id; + user_id = props.user_id; + token = props.token; + isLogin = props.isLogin; + company_id = props.company_id; + all_project = props.all_project; + role_name = props.role_name; + isLogin = props.isLogin; + hierarchy = props.hierarchy; + user_name = props.user_name; + } const HEADER = { headers: { "Content-Type": "application/json", @@ -45,12 +55,13 @@ const ChecklistK3 = ({ params }) => { const [search, setSearch] = useState('') const [totalPage, setTotalPage] = useState(0) const [typeDialog, setTypeDialog] = useState('Save') + const [listCompany, setListCompany] = useState([]) const { t } = useTranslation() const column = [ - { name: "Company Name" }, + role_name === 'Super Admin' ? { name: t('company') } : null, { name: t('name') }, { name: t('description') }, - ] + ].filter(column => column && column.name) useEffect(() => { getDataChecklistK3() }, [currentPage, rowsPerPage, search]) @@ -62,6 +73,22 @@ const ChecklistK3 = ({ params }) => { } }, [dataExport]) + useEffect(() => { + getDataCompany() + }, []) + + + const getDataCompany = async () => { + const result = await axios + .get(COMPANY_MANAGEMENT_LIST, config) + .then(res => res) + .catch((error) => error.response); + + if (result && result.data && result.data.code == 200) { + setListCompany(result.data.data); + } + } + const getDataChecklistK3 = async () => { let start = 0; @@ -72,16 +99,16 @@ const ChecklistK3 = ({ params }) => { const payload = { group_column: { - "operator": "AND", - "group_operator": "OR", - "where": [ - { - "name": "name", - "logic_operator": "~*", - "value": search, - } - ] - }, + "operator": "AND", + "group_operator": "OR", + "where": [ + { + "name": "name", + "logic_operator": "~*", + "value": search, + } + ] + }, "columns": [], "orders": { "ascending": true, @@ -93,7 +120,7 @@ const ChecklistK3 = ({ params }) => { "length": rowsPerPage, "start": start }, - 'joins': [] + 'joins': [] } if (role_name !== "Super Admin") { @@ -106,10 +133,10 @@ const ChecklistK3 = ({ params }) => { ) payload.joins.push( { name: "m_company", column_join: "company_id", column_results: ["company_name"] } - ) - payload.group_column.where.push( + ) + payload.group_column.where.push( { name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" } - ) + ) } const result = await axios @@ -139,36 +166,36 @@ const ChecklistK3 = ({ params }) => { const handleExportExcel = async () => { const payload = { group_column: { - "operator": "AND", - "group_operator": "OR", - "where": [ - { - "name": "name", - "logic_operator": "~*", - "value": search, - } - ] - }, + "operator": "AND", + "group_operator": "OR", + "where": [ + { + "name": "name", + "logic_operator": "~*", + "value": search, + } + ] + }, "paging": { "start": 0, "length": -1 }, "columns": [], "joins": [], "orders": { "columns": ["id"], "ascending": false } } if (role_name !== "Super Admin") { - payload.columns.push( - { "name": "company_id", "logic_operator": "=", "value": company_id, "operator": "AND" }, - ) - } else { - payload.columns.push( - { "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" }, - ) - payload.joins.push( - { name: "m_company", column_join: "company_id", column_results: ["company_name"] } - ) - payload.group_column.where.push( - { name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" } - ) - } + payload.columns.push( + { "name": "company_id", "logic_operator": "=", "value": company_id, "operator": "AND" }, + ) + } else { + payload.columns.push( + { "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" }, + ) + payload.joins.push( + { name: "m_company", column_join: "company_id", column_results: ["company_name"] } + ) + payload.group_column.where.push( + { name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" } + ) + } const result = await axios .post(CHECKLIST_K3_SEARCH, payload, config) @@ -183,8 +210,8 @@ const ChecklistK3 = ({ params }) => { if (role_name === 'Super Admin') { dataRow.Company = val.join_first_company_name; } - dataRow.Nama=val.name; - dataRow.Deskripsi=val.description; + dataRow.Nama = val.name; + dataRow.Deskripsi = val.description; excelData.push(dataRow) }) await setDataExport(excelData); @@ -324,6 +351,8 @@ const ChecklistK3 = ({ params }) => { clickOpenModal={clickOpenModal} dataParent={allDataMenu} company_id={company_id} + listCompany={listCompany} + role_name={role_name} /> @@ -367,11 +396,11 @@ const ChecklistK3 = ({ params }) => { handleEdit(n)}> - {role_name === 'Super Admin'&& - ( - {n.join_first_company_name} - ) - } + {role_name === 'Super Admin' && + ( + {n.join_first_company_name} + ) + } {n.name} {n.description} diff --git a/src/views/SimproV2/CreatedProyek/index.js b/src/views/SimproV2/CreatedProyek/index.js index 6840aa2..8916117 100644 --- a/src/views/SimproV2/CreatedProyek/index.js +++ b/src/views/SimproV2/CreatedProyek/index.js @@ -80,12 +80,13 @@ import ReportAnalysis from "./ReportAnalysis"; import { Icon } from "@iconify/react"; // import SubProyekComp from './SubProyekComp'; import { Link, useHistory, withRouter } from "react-router-dom"; +import { t } from "i18next"; const url = ""; const format = "DD-MM-YYYY"; const CreatedProyek = ({ params, ...props }) => { - let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name=''; + let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name = '', hierarchy = [], user_name = ''; if (props && props.role_id && props.user_id) { role_id = props.role_id; user_id = props.user_id; @@ -389,7 +390,7 @@ const CreatedProyek = ({ params, ...props }) => { { name: "company_id", logic_operator: "like", value: company_id, operator: "AND" } ); } - if(role_name !== 'Super Admin') { + if (role_name !== 'Super Admin') { payload.columns.push( { name: "created_by_id", logic_operator: "IN", value: [JSON.parse(hierarchy)], operator: "AND" } ); @@ -1341,7 +1342,7 @@ const CreatedProyek = ({ params, ...props }) => { const handleExportExcel = async () => { const payload = { - columns:[], + columns: [], group_column: { "operator": "AND", "group_operator": "OR", @@ -1364,7 +1365,7 @@ const CreatedProyek = ({ params, ...props }) => { ); } - if(role_name !== 'Super Admin') { + if (role_name !== 'Super Admin') { payload.columns.push( { name: "created_by_id", logic_operator: "IN", value: [JSON.parse(hierarchy)], operator: "AND" } ); @@ -1393,25 +1394,25 @@ const CreatedProyek = ({ params, ...props }) => { dataRow.Sortname = n.kode_sortname ? n.kode_sortname : ""; dataRow["Nama Project"] = n.nama ? n.nama : ""; dataRow["Tanggal Mulai"] = n.mulai_proyek - ? moment(n.mulai_proyek).format(format) - : "-"; - dataRow["Tanggal Selesai"] = n.akhir_proyek - ? moment(n.akhir_proyek).format(format) - : "-"; + ? moment(n.mulai_proyek).format(format) + : "-"; + dataRow["Tanggal Selesai"] = n.akhir_proyek + ? moment(n.akhir_proyek).format(format) + : "-"; dataRow["Area Kerja"] = n.area_kerja ? n.area_kerja : ""; dataRow["Perusahaan"] = n.company ? n.company : ""; dataRow["Keterangan"] = n.keterangan ? n.keterangan : ""; dataRow["Dianggap sukses ketika"] = n.considered_success_when - ? n.considered_success_when - : ""; + ? n.considered_success_when + : ""; dataRow["Tujuan Proyek"] = n.project_objectives ? n.project_objectives : ""; dataRow["Resiko potensial"] = n.potential_risk ? n.potential_risk : ""; dataRow["Rencana Biaya"] = n.rencana_biaya - ? formatThousand(n.rencana_biaya) - : "-"; + ? formatThousand(n.rencana_biaya) + : "-"; dataRow["Testing Environment"] = n.testing_environment - ? n.testing_environment - : "-"; + ? n.testing_environment + : "-"; excelData.push(dataRow); }); @@ -1424,11 +1425,11 @@ const CreatedProyek = ({ params, ...props }) => { const handleExportPdf = async () => { const doc = new jsPDF(); let headers = [ - [role_name === 'Super Admin' ? "Company" : null,"Project Name", "Budget", "Project Type", "PM", "Time Project"], + [role_name === 'Super Admin' ? "Company" : null, "Project Name", "Budget", "Project Type", "PM", "Time Project"], ]; const payload = { - columns:[], + columns: [], group_column: { "operator": "AND", "group_operator": "OR", @@ -1472,7 +1473,7 @@ const CreatedProyek = ({ params, ...props }) => { { name: "company_id", logic_operator: "like", value: company_id, operator: "AND" } ); } - if(role_name !== 'Super Admin') { + if (role_name !== 'Super Admin') { payload.columns.push( { name: "created_by_id", logic_operator: "IN", value: [JSON.parse(hierarchy)], operator: "AND" } ); @@ -1726,16 +1727,15 @@ const CreatedProyek = ({ params, ...props }) => { ), }, - { - title: role_name === 'Super Admin' ? "Company Name" : null, - dataIndex: "join_third_company_name", - key: "join_third_company_name", - render: (text, record) => { - return role_name === 'Super Admin' ? ( + ...(role_name === 'Super Admin' ? [ + { + title: t('company'), + dataIndex: "join_third_company_name", + key: "join_third_company_name", + render: (text, record) => ( {record.join_third_company_name} - ) : null; - } - }, + ) + }] : []), { title: "Project Name", dataIndex: "nama", key: "nama" }, { title: "Budget", diff --git a/src/views/SimproV2/Divisi/index.js b/src/views/SimproV2/Divisi/index.js index a3b2866..382c1a3 100644 --- a/src/views/SimproV2/Divisi/index.js +++ b/src/views/SimproV2/Divisi/index.js @@ -4,33 +4,27 @@ import React, { useState, useEffect } from 'react'; import SweetAlert from 'react-bootstrap-sweetalert'; import axios from "../../../const/interceptorApi" import { Card, CardBody, CardHeader, Col, Row, Input, Table } from 'reactstrap'; -import { DIVISI_LIST, DIVISI_ADD, DIVISI_EDIT, DIVISI_DELETE, DIVISI_SEARCH } from '../../../const/ApiConst'; +import { DIVISI_LIST, DIVISI_ADD, DIVISI_EDIT, DIVISI_DELETE, DIVISI_SEARCH, COMPANY_MANAGEMENT_LIST } from '../../../const/ApiConst'; import { NotificationContainer, NotificationManager } from 'react-notifications'; import { Pagination, Button, Tooltip } from 'antd'; import { useTranslation } from 'react-i18next'; -const column = [ - { name: "Company Name" }, - { name: "Nama Divisi" }, - { name: "Deskripsi" }, - { name: "Color" }, -] - const ProjectType = ({ params, ...props }) => { - let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name=''; - if (props && props.role_id && props.user_id) { - role_id = props.role_id; - user_id = props.user_id; - token = props.token; - isLogin = props.isLogin; - company_id = props.company_id; - all_project = props.all_project; - role_name = props.role_name; - isLogin = props.isLogin; - hierarchy = props.hierarchy; - user_name = props.user_name; - } + let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name = '', hierarchy = [], user_name = ''; + if (props && props.role_id && props.user_id) { + role_id = props.role_id; + user_id = props.user_id; + token = props.token; + isLogin = props.isLogin; + company_id = props.company_id; + all_project = props.all_project; + role_name = props.role_name; + isLogin = props.isLogin; + hierarchy = props.hierarchy; + user_name = props.user_name; + } + const HEADER = { headers: { "Content-Type": "application/json", @@ -53,8 +47,14 @@ const ProjectType = ({ params, ...props }) => { const [totalPage, setTotalPage] = useState(0) const [typeDialog, setTypeDialog] = useState('Save') const [dataDivisions, setDataDivisions] = useState([]) + const [listCompany, setListCompany] = useState([]) const { t } = useTranslation() - + const column = [ + role_name === 'Super Admin' ? { name: t('company') } : null, + { name: t('nameDivision') }, + { name: t('description') }, + { name: t('color') }, + ].filter(column => column && column.name); useEffect(() => { getDataProjectType(); }, [currentPage, rowsPerPage, search]) @@ -65,6 +65,20 @@ const ProjectType = ({ params, ...props }) => { exportExcel() } }, [dataExport]) + useEffect(() => { + getDataCompany() + }, []) + + const getDataCompany = async () => { + const result = await axios + .get(COMPANY_MANAGEMENT_LIST, HEADER) + .then(res => res) + .catch((error) => error.response); + + if (result && result.data && result.data.code == 200) { + setListCompany(result.data.data); + } + } const getListDivision = async () => { const payload = { @@ -72,13 +86,13 @@ const ProjectType = ({ params, ...props }) => { "operator": "AND", "group_operator": "OR", "where": [ - { - "name": "name", - "logic_operator": "~*", - "value": search, - } + { + "name": "name", + "logic_operator": "~*", + "value": search, + } ] - }, + }, columns: [], "orders": { "ascending": true, @@ -102,10 +116,10 @@ const ProjectType = ({ params, ...props }) => { { "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" }, ) payload.joins.push( - { name: "m_company", column_join: "company_id", column_results: ["company_name"] } + { name: "m_company", column_join: "company_id", column_results: ["company_name"] } ) payload.group_column.where.push( - { name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" } + { name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" } ) } const listDivions = await axios @@ -135,13 +149,13 @@ const ProjectType = ({ params, ...props }) => { "operator": "AND", "group_operator": "OR", "where": [ - { - "name": "name", - "logic_operator": "~*", - "value": search, - } + { + "name": "name", + "logic_operator": "~*", + "value": search, + } ] - }, + }, columns: [], "orders": { "ascending": true, @@ -196,13 +210,13 @@ const ProjectType = ({ params, ...props }) => { "operator": "AND", "group_operator": "OR", "where": [ - { - "name": "name", - "logic_operator": "~*", - "value": search, - } + { + "name": "name", + "logic_operator": "~*", + "value": search, + } ] - }, + }, "columns": [], "orders": { "ascending": true, @@ -218,17 +232,17 @@ const ProjectType = ({ params, ...props }) => { } if (role_name !== "Super Admin") { payload.columns.push( - { "name": "company_id", "logic_operator": "=", "value": company_id, "operator": "AND" }, + { "name": "company_id", "logic_operator": "=", "value": company_id, "operator": "AND" }, ) - } else { + } else { payload.columns.push( - { "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" }, + { "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" }, ) payload.joins.push( - { name: "m_company", column_join: "company_id", column_results: ["company_name"] } + { name: "m_company", column_join: "company_id", column_results: ["company_name"] } ) payload.group_column.where.push( - { name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" } + { name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" } ) } const result = await axios @@ -241,10 +255,10 @@ const ProjectType = ({ params, ...props }) => { resData.map((val, index) => { let dataRow = {}; if (role_name === 'Super Admin') { - dataRow.Company = val.join_first_company_name; + dataRow.Company = val.join_first_company_name; } - dataRow["Nama Divisi"]=val.name; - dataRow.Deskripsi=val.description; + dataRow["Nama Divisi"] = val.name; + dataRow.Deskripsi = val.description; excelData.push(dataRow) }) await setDataExport(excelData) @@ -393,6 +407,8 @@ const ProjectType = ({ params, ...props }) => { dataParent={allDataMenu} dataDivisions={dataDivisions} company_id={company_id} + listCompany={listCompany} + role_name={role_name} /> @@ -436,10 +452,10 @@ const ProjectType = ({ params, ...props }) => { handleEdit(n)}> - {role_name === 'Super Admin'&& - ( - {n.join_first_company_name} - ) + {role_name === 'Super Admin' && + ( + {n.join_first_company_name} + ) } {n.name} {n.description ?? '-'} diff --git a/src/views/SimproV2/PanicButton/index.js b/src/views/SimproV2/PanicButton/index.js index 00d2dd8..7f59f31 100644 --- a/src/views/SimproV2/PanicButton/index.js +++ b/src/views/SimproV2/PanicButton/index.js @@ -60,6 +60,7 @@ class index extends Component { totalPage: 0, typeClock: "All", typeDialog: 'Save', + role_name: props.role_name || '', } } @@ -120,6 +121,15 @@ class index extends Component { } } + if (this.state.role_name === 'Super Admin') { + payload.joins.push( + { name: "m_company", column_join: "company_id", column_results: ["company_name"] } + ) + payload.columns.push( + { name: "company_name", logic_operator: "~*", value: this.state.search, table_name: "m_company" } + ) + } + const result = await axios .post(PANIC_BUTTON_SEARCH, payload, config) .then(res => res) @@ -275,6 +285,9 @@ class index extends Component { this.handleMap(n)}> + {this.state.role_name === 'Super Admin' && + {n.join_second_company_name ? n.join_second_company_name : "-"} + } {n.created_at !== null ? moment(n.created_at).format("DD-MM-YYYY HH:mm:ss") : "-"} {n.join_first_name !== null ? n.join_first_name : "-"} {n.status_response !== null ? n.status_response : "-"} @@ -321,10 +334,11 @@ class index extends Component { render() { const column = [ { name: this.props.t('action') }, + this.state.role_name === 'Super Admin' ? { name: this.props.t('company') } : null, { name: this.props.t('date') }, { name: this.props.t('nameHR') }, { name: this.props.t('statusResponse') }, - ] + ].filter(column => column && column.name); const t = this.props; const { tooltipExport, dataTable, openDialogEdit, openDialog, currentPage, rowsPerPage, totalPage, search, tooltipMap, tooltipDelete } = this.state return ( diff --git a/src/views/SimproV2/Presence/index.js b/src/views/SimproV2/Presence/index.js index 3b4c1d4..5f1a592 100644 --- a/src/views/SimproV2/Presence/index.js +++ b/src/views/SimproV2/Presence/index.js @@ -11,8 +11,8 @@ import DialogFoto from './DialogFoto'; import { useTranslation } from 'react-i18next'; const { RangePicker } = DatePicker; -const Index = ({ params,...props }) => { - let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name=''; +const Index = ({ params, ...props }) => { + let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name = '', hierarchy = [], user_name = ''; if (props && props.role_id && props.user_id) { role_id = props.role_id; user_id = props.user_id; @@ -92,6 +92,15 @@ const Index = ({ params,...props }) => { "orders": { "columns": ["id"], "ascending": false } } + if (role_name === 'Super Admin') { + payload.joins.push( + { name: "m_company", column_join: "company_id", column_results: ["company_name"] } + ) + payload.columns.push( + { name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" } + ) + } + const result = await axios @@ -244,6 +253,18 @@ const Index = ({ params,...props }) => { , }, + ...(role_name === 'Super Admin' + ? [ + { + title: t('company'), + dataIndex: "join_second_company_name", + key: "join_second_company_name", + render: (text, record) => ( + {record.join_second_company_name} + ) + }, + ] + : []), { title: t('nik'), dataIndex: 'join_first_ktp_number', key: 'join_first_ktp_number' }, { title: t('nameHR'), dataIndex: 'join_first_name', key: 'join_first_name' }, { title: t('presenceIn'), dataIndex: 'clock_in', key: 'clock_in', render: (text, record) => (
{text ? moment(text).format("D-M-YYYY HH:mm:ss") : "-"}
) }, diff --git a/src/views/SimproV2/ProjectType/index.js b/src/views/SimproV2/ProjectType/index.js index da49642..5d5b37c 100644 --- a/src/views/SimproV2/ProjectType/index.js +++ b/src/views/SimproV2/ProjectType/index.js @@ -8,12 +8,13 @@ import moment from 'moment' import { Card, CardBody, CardHeader, Col, Row, Input } from 'reactstrap'; import { DownloadOutlined } from '@ant-design/icons'; import { NotificationContainer, NotificationManager } from 'react-notifications'; -import { PROJECT_TYPE_ADD, PROJECT_TYPE_EDIT, PROJECT_TYPE_DELETE, PROJECT_TYPE_SEARCH } from '../../../const/ApiConst'; +import { PROJECT_TYPE_ADD, PROJECT_TYPE_EDIT, PROJECT_TYPE_DELETE, PROJECT_TYPE_SEARCH, COMPANY_MANAGEMENT_LIST } from '../../../const/ApiConst'; import { Pagination, Button, Tooltip, Table } from 'antd'; import { useTranslation } from 'react-i18next'; + const ProjectType = ({ params, ...props }) => { - let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name=''; + let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name = '', hierarchy = [], user_name = ''; if (props && props.role_id && props.user_id) { role_id = props.role_id; user_id = props.user_id; @@ -49,6 +50,7 @@ const ProjectType = ({ params, ...props }) => { const [search, setSearch] = useState('') const [totalPage, setTotalPage] = useState(0) const [typeDialog, setTypeDialog] = useState('Save') + const [listCompany, setListCompany] = useState([]) const { t } = useTranslation(); useEffect(() => { getDataProjectType() @@ -61,6 +63,21 @@ const ProjectType = ({ params, ...props }) => { } }, [dataExport]) + useEffect(() => { + getDataCompany() + }, []) + + const getDataCompany = async () => { + const result = await axios + .get(COMPANY_MANAGEMENT_LIST, HEADER) + .then(res => res) + .catch((error) => error.response); + + if (result && result.data && result.data.code == 200) { + setListCompany(result.data.data); + } + } + const getDataProjectType = async () => { let start = 0; @@ -194,8 +211,8 @@ const ProjectType = ({ params, ...props }) => { if (role_name === 'Super Admin') { dataRow.Company = val.join_first_company_name; } - dataRow.Nama=val.name; - dataRow.Deskripsi=val.description; + dataRow.Nama = val.name; + dataRow.Deskripsi = val.description; excelData.push(dataRow) }) await setDataExport(excelData); @@ -346,16 +363,16 @@ const ProjectType = ({ params, ...props }) => { , }, - { - title: role_name === 'Super Admin' ? "Company Name" : null, - dataIndex: "join_first_company_name", - key: "join_first_company_name", - render: (text, record) => { - return role_name === 'Super Admin' ? ( + ...(role_name === 'Super Admin' ? [ + { + title: t('company'), + dataIndex: "join_first_company_name", + key: "join_first_company_name", + render: (text, record) => ( {record.join_first_company_name} - ) : null; - } - }, + ) + }] : []), + { title: t('nameProjectType'), dataIndex: 'name', key: 'name', className: "nowrap" }, { title: t('description'), dataIndex: 'description', key: 'description' }, ]; @@ -394,6 +411,9 @@ const ProjectType = ({ params, ...props }) => { dataEdit={dataEdit} clickOpenModal={clickOpenModal} dataParent={allDataMenu} + listCompany={listCompany} + company_id={company_id} + role_name={role_name} /> { - let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name=''; + let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name = '', hierarchy = [], user_name = ''; if (props && props.role_id && props.user_id) { role_id = props.role_id; user_id = props.user_id; @@ -539,16 +539,15 @@ const ResourceWorker = ({ params, ...props }) => { , }, - { - title: role_name === 'Super Admin' ? "Company Name" : null, - dataIndex: "join_third_company_name", - key: "join_third_company_name", - render: (text, record) => { - return role_name === 'Super Admin' ? ( + ...(role_name === 'Super Admin' ? [ + { + title: t('company'), + dataIndex: "join_third_company_name", + key: "join_third_company_name", + render: (text, record) => ( {record.join_third_company_name} - ) : null; - } - }, + ) + }] : []), { title: t('nik'), dataIndex: 'ktp_number', key: 'ktp_number' }, { title: t('nameHR'), dataIndex: 'name', key: 'name' }, { title: t('division'), dataIndex: 'join_second_name', key: 'join_second_name' }, diff --git a/src/views/SimproV2/Satuan/index.js b/src/views/SimproV2/Satuan/index.js index dfe0528..fae6018 100644 --- a/src/views/SimproV2/Satuan/index.js +++ b/src/views/SimproV2/Satuan/index.js @@ -6,24 +6,24 @@ import axios from "../../../const/interceptorApi" import { Card, CardBody, CardHeader, Col, Row, Input, Table } from 'reactstrap'; import { NotificationContainer, NotificationManager } from 'react-notifications'; import { Pagination, Button, Tooltip } from 'antd'; -import { SATUAN_ADD, SATUAN_EDIT, SATUAN_DELETE, SATUAN_SEARCH } from '../../../const/ApiConst'; +import { SATUAN_ADD, SATUAN_EDIT, SATUAN_DELETE, SATUAN_SEARCH, COMPANY_MANAGEMENT_LIST } from '../../../const/ApiConst'; import { useTranslation } from 'react-i18next'; const Satuan = ({ params, ...props }) => { - let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name=''; - if (props && props.role_id && props.user_id) { - role_id = props.role_id; - user_id = props.user_id; - token = props.token; - isLogin = props.isLogin; - company_id = props.company_id; - all_project = props.all_project; - role_name = props.role_name; - isLogin = props.isLogin; - hierarchy = props.hierarchy; - user_name = props.user_name; - } + let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name = '', hierarchy = [], user_name = ''; + if (props && props.role_id && props.user_id) { + role_id = props.role_id; + user_id = props.user_id; + token = props.token; + isLogin = props.isLogin; + company_id = props.company_id; + all_project = props.all_project; + role_name = props.role_name; + isLogin = props.isLogin; + hierarchy = props.hierarchy; + user_name = props.user_name; + } const HEADER = { headers: { @@ -46,6 +46,7 @@ const Satuan = ({ params, ...props }) => { const [search, setSearch] = useState('') const [totalPage, setTotalPage] = useState(0) const [typeDialog, setTypeDialog] = useState('Save') + const [listCompany, setListCompany] = useState([]) const { t } = useTranslation() useEffect(() => { getDataSatuan() @@ -58,11 +59,27 @@ const Satuan = ({ params, ...props }) => { } }, [dataExport]) + useEffect(() => { + getDataCompany() + }, []) + const column = [ - { name: "Company Name" }, + role_name === 'Super Admin' ? { name: t('company') } : null, { name: t('name') }, { name: t('description') }, - ] + ].filter(column => column && column.name); + + const getDataCompany = async () => { + const result = await axios + .get(COMPANY_MANAGEMENT_LIST, HEADER) + .then(res => res) + .catch((error) => error.response); + + if (result && result.data && result.data.code == 200) { + setListCompany(result.data.data); + } + } + const getDataSatuan = async () => { let start = 0; @@ -76,11 +93,11 @@ const Satuan = ({ params, ...props }) => { "operator": "AND", "group_operator": "OR", "where": [ - { - "name": "name", - "logic_operator": "~*", - "value": search, - } + { + "name": "name", + "logic_operator": "~*", + "value": search, + } ] }, "columns": [], @@ -106,10 +123,10 @@ const Satuan = ({ params, ...props }) => { { "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" }, ) payload.joins.push( - { name: "m_company", column_join: "company_id", column_results: ["company_name"] } + { name: "m_company", column_join: "company_id", column_results: ["company_name"] } ) payload.group_column.where.push( - { name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" } + { name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" } ) } @@ -143,13 +160,13 @@ const Satuan = ({ params, ...props }) => { "operator": "AND", "group_operator": "OR", "where": [ - { - "name": "name", - "logic_operator": "~*", - "value": search, - } + { + "name": "name", + "logic_operator": "~*", + "value": search, + } ] - }, + }, "paging": { "start": 0, "length": -1 }, "columns": [], "orders": { "columns": ["id"], "ascending": false }, @@ -157,17 +174,17 @@ const Satuan = ({ params, ...props }) => { } if (role_name !== "Super Admin") { payload.columns.push( - { "name": "company_id", "logic_operator": "=", "value": company_id, "operator": "AND" }, + { "name": "company_id", "logic_operator": "=", "value": company_id, "operator": "AND" }, ) - } else { + } else { payload.columns.push( - { "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" }, + { "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" }, ) payload.joins.push( - { name: "m_company", column_join: "company_id", column_results: ["company_name"] } + { name: "m_company", column_join: "company_id", column_results: ["company_name"] } ) payload.group_column.where.push( - { name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" } + { name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" } ) } const result = await axios @@ -179,11 +196,11 @@ const Satuan = ({ params, ...props }) => { const excelData = []; resData.map((val, index) => { let dataRow = {}; - if (role_name === 'Super Admin') { + if (role_name === 'Super Admin') { dataRow.Company = val.join_first_company_name; } - dataRow.Nama=val.name; - dataRow.Deskripsi=val.description; + dataRow.Nama = val.name; + dataRow.Deskripsi = val.description; excelData.push(dataRow) }) await setDataExport(excelData); @@ -322,6 +339,9 @@ const Satuan = ({ params, ...props }) => { dataEdit={dataEdit} clickOpenModal={clickOpenModal} dataParent={allDataMenu} + listCompany={listCompany} + role_name={role_name} + company_id={company_id} /> @@ -367,10 +387,10 @@ const Satuan = ({ params, ...props }) => { handleEdit(n)}> - {role_name === 'Super Admin'&& - ( - {n.join_first_company_name} - ) + {role_name === 'Super Admin' && + ( + {n.join_first_company_name} + ) } {n.name} {n.description}