CreateReportItems.js 57.5 KB
Newer Older
EKSAD's avatar
EKSAD committed
1
import React, { Component } from 'react';
EKSAD's avatar
EKSAD committed
2
import { TextField, Typography, Snackbar, withStyles } from '@material-ui/core';
EKSAD's avatar
EKSAD committed
3 4 5 6 7
import * as R from 'ramda';
import api from '../../../api';
import Autocomplete from '@material-ui/lab/Autocomplete';
import { titleCase } from '../../../library/Utils';
import format from "date-fns/format";
EKSAD's avatar
EKSAD committed
8
import { DatePicker } from '@material-ui/pickers';
d.arizona's avatar
d.arizona committed
9
import Images from '../../../assets/Images';
EKSAD's avatar
EKSAD committed
10
import MuiAlert from '@material-ui/lab/Alert';
a.bairuha's avatar
a.bairuha committed
11
import Constant from '../../../library/Constant';
EKSAD's avatar
EKSAD committed
12 13
const Alert = withStyles({
})((props) => <MuiAlert elevation={6} variant="filled" {...props} />);
EKSAD's avatar
EKSAD committed
14

EKSAD's avatar
EKSAD committed
15
export default class CreateReportItems extends Component {
EKSAD's avatar
EKSAD committed
16 17 18
    constructor(props) {
        super(props)
        this.state = {
EKSAD's avatar
EKSAD committed
19
            InputType: null,
EKSAD's avatar
EKSAD committed
20
            company: null,
EKSAD's avatar
EKSAD committed
21 22 23 24
            parent: null,
            reportType: null,
            startDate: null,
            endDate: null,
EKSAD's avatar
EKSAD committed
25
            order: '',
EKSAD's avatar
EKSAD committed
26 27
            description: '',
            uom: '',
28
            weight: '',
EKSAD's avatar
EKSAD committed
29
            formula: '',
EKSAD's avatar
EKSAD committed
30
            formulasum: '',
EKSAD's avatar
EKSAD committed
31
            realVal: '',
EKSAD's avatar
EKSAD committed
32
            condition: null,
EKSAD's avatar
EKSAD committed
33 34
            date: new Date(),
            listInputType: null,
EKSAD's avatar
EKSAD committed
35
            listCompany: null,
EKSAD's avatar
EKSAD committed
36 37
            listReportType: null,
            listParent: null,
38 39
            listKPI: null,
            listMaxAch: null,
EKSAD's avatar
EKSAD committed
40 41 42 43 44 45
            errorOrder: false,
            errorDesc: false,
            errorFormula: false,
            errorRV: false,
            errorStartDate: false,
            errorEndDate: false,
46 47
            errorTipeData: false,
            errorCondition: false,
Deni Rinaldi's avatar
Deni Rinaldi committed
48 49 50 51
            errorJenisLaporan: false,
            errorPerusahaan: false,
            msgErrorJenisLaporan: '',
            msgErrorPerusahaan: '',
52 53
            msgErrorTipeData: '',
            msgErrorCondition: '',
EKSAD's avatar
EKSAD committed
54 55 56
            msgErrorOrder: '',
            msgErrorDesc: '',
            msgErrorFormula: '',
EKSAD's avatar
EKSAD committed
57
            msgErrorRV: '',
EKSAD's avatar
EKSAD committed
58 59
            msgErrorSD: '',
            msgErrorED: '',
EKSAD's avatar
EKSAD committed
60
            disabledFormula: true,
EKSAD's avatar
EKSAD committed
61
            disabledFormulaSum: true,
EKSAD's avatar
EKSAD committed
62
            disabledCondt: true,
EKSAD's avatar
EKSAD committed
63
            disabledValue: true,
EKSAD's avatar
EKSAD committed
64 65 66
            options: ['WARNING', 'STOPPER'],
            alert: false,
            tipeAlert: '',
a.bairuha's avatar
a.bairuha committed
67 68 69
            messageAlert: '',
            kpiType: ['HIG', 'HIB'],
            maxAch: ['50%', '100%', 'Unlimited'],
d.arizona's avatar
d.arizona committed
70
            formulaYtd: ['SUM', 'AVG', 'LAST', 'FORMULA'],
a.bairuha's avatar
a.bairuha committed
71 72
            kpiTypeValue: null,
            maxAchValue: null,
73 74 75
            formulaYTDValue: null,
            kpiDisable: true,
            maxAchDisable: true
EKSAD's avatar
EKSAD committed
76 77 78
        }
    }

EKSAD's avatar
EKSAD committed
79
    componentDidMount() {
EKSAD's avatar
EKSAD committed
80
        this.getInputType()
EKSAD's avatar
EKSAD committed
81
        this.getPerusahaan()
EKSAD's avatar
EKSAD committed
82
        this.getReportType()
d.arizona's avatar
d.arizona committed
83
        // this.getParent()
EKSAD's avatar
EKSAD committed
84
        let date = format(new Date, 'yyyy-MM-dd')
EKSAD's avatar
EKSAD committed
85
        // console.log(date);
86 87 88 89
        this.setState({
            startDate: date,
            endDate: date
        })
EKSAD's avatar
EKSAD committed
90 91
    }

EKSAD's avatar
EKSAD committed
92

EKSAD's avatar
EKSAD committed
93 94
    handleChange(e, type) {
        let data = this.state
95
        let isDate = type !== '' ? true : false
EKSAD's avatar
EKSAD committed
96
        if (isDate && type === 'start_date') {
97 98
            this.setState({
                ...data, startDate: format(e, 'yyyy-MM-dd'), endDate: null,
EKSAD's avatar
EKSAD committed
99
                errorOrder: false,
EKSAD's avatar
EKSAD committed
100 101 102
                errorDesc: false,
                errorFormula: false,
                errorRV: false,
EKSAD's avatar
EKSAD committed
103 104
                errorStartDate: false,
                errorEndDate: false,
105 106 107 108
                errorTipeData: false,
                errorCondition: false,
                msgErrorTipeData: '',
                msgErrorCondition: '',
EKSAD's avatar
EKSAD committed
109
                msgErrorOrder: '',
EKSAD's avatar
EKSAD committed
110 111 112
                msgErrorDesc: '',
                msgErrorFormula: '',
                msgErrorRV: '',
EKSAD's avatar
EKSAD committed
113 114
                msgErrorSD: '',
                msgErrorED: '',
EKSAD's avatar
EKSAD committed
115
            })
EKSAD's avatar
EKSAD committed
116
        } else if (isDate && type === 'end_date') {
117 118
            this.setState({
                ...data, endDate: format(e, 'yyyy-MM-dd'),
EKSAD's avatar
EKSAD committed
119
                errorOrder: false,
EKSAD's avatar
EKSAD committed
120 121 122
                errorDesc: false,
                errorFormula: false,
                errorRV: false,
EKSAD's avatar
EKSAD committed
123 124
                errorStartDate: false,
                errorEndDate: false,
125 126 127 128
                errorTipeData: false,
                errorCondition: false,
                msgErrorTipeData: '',
                msgErrorCondition: '',
EKSAD's avatar
EKSAD committed
129
                msgErrorOrder: '',
EKSAD's avatar
EKSAD committed
130 131 132
                msgErrorDesc: '',
                msgErrorFormula: '',
                msgErrorRV: '',
EKSAD's avatar
EKSAD committed
133 134
                msgErrorSD: '',
                msgErrorED: '',
EKSAD's avatar
EKSAD committed
135 136
            })
        } else {
137 138
            this.setState({
                ...data, [e.target.name]: e.target.value,
EKSAD's avatar
EKSAD committed
139
                errorOrder: false,
EKSAD's avatar
EKSAD committed
140 141 142
                errorDesc: false,
                errorFormula: false,
                errorRV: false,
EKSAD's avatar
EKSAD committed
143 144
                errorStartDate: false,
                errorEndDate: false,
145 146 147 148
                errorTipeData: false,
                errorCondition: false,
                msgErrorTipeData: '',
                msgErrorCondition: '',
EKSAD's avatar
EKSAD committed
149
                msgErrorOrder: '',
EKSAD's avatar
EKSAD committed
150 151 152
                msgErrorDesc: '',
                msgErrorFormula: '',
                msgErrorRV: '',
EKSAD's avatar
EKSAD committed
153 154 155
                msgErrorSD: '',
                msgErrorED: '',
            })
EKSAD's avatar
EKSAD committed
156 157 158 159
        }
    }

    validasi() {
EKSAD's avatar
EKSAD committed
160
        // alert('coba ya')
Deni Rinaldi's avatar
Deni Rinaldi committed
161
        if (R.isNil(this.state.reportType)) {
162 163 164
            this.setState({ errorJenisLaporan: true, msgErrorJenisLaporan: 'Report Type Cannot be Empty' })
        } else if (R.isNil(this.state.company)) {
            this.setState({ errorPerusahaan: true, msgErrorPerusahaan: 'Company Name Cannot be Empty' })
Deni Rinaldi's avatar
Deni Rinaldi committed
165
        } else if (R.isEmpty(this.state.order)) {
EKSAD's avatar
EKSAD committed
166
            this.setState({ errorOrder: true, msgErrorOrder: 'Order Cannot be Empty' })
167
        }
EKSAD's avatar
EKSAD committed
168
        else if (R.isEmpty(this.state.description)) {
EKSAD's avatar
EKSAD committed
169
            this.setState({ errorDesc: true, msgErrorDesc: 'Description Cannot be Empty' })
170 171
        }
        else if (R.isNil(this.state.InputType)) {
EKSAD's avatar
EKSAD committed
172
            this.setState({ errorTipeData: true, msgErrorTipeData: 'Data Type Cannot be Empty' })
173
        }
EKSAD's avatar
EKSAD committed
174
        else if (this.state.disabledFormula === false && R.isEmpty(this.state.formula)) {
EKSAD's avatar
EKSAD committed
175
            this.setState({ errorFormula: true, msgErrorFormula: 'Formula Cannot be Empty' })
176
        }
EKSAD's avatar
EKSAD committed
177
        else if (this.state.disabledValue === false && R.isEmpty(this.state.realVal)) {
EKSAD's avatar
EKSAD committed
178
            this.setState({ errorRV: true, msgErrorRV: 'True Value Cannot be Empty' })
179 180
        }
        else if (this.state.disabledCondt === false && R.isEmpty(this.state.condition)) {
EKSAD's avatar
EKSAD committed
181
            this.setState({ errorCondition: true, msgErrorCondition: 'False Condition Cannot be Empty' })
EKSAD's avatar
EKSAD committed
182 183
        }
        else if (R.isNil(this.state.startDate)) {
EKSAD's avatar
EKSAD committed
184
            this.setState({ errorStartDate: true, msgErrorSD: 'Valid From Cannot be Empty' })
185
        }
EKSAD's avatar
EKSAD committed
186
        else if (R.isNil(this.state.endDate)) {
EKSAD's avatar
EKSAD committed
187
            this.setState({ errorEndDate: true, msgErrorED: 'Valid To Cannot be Empty' })
188
        }
EKSAD's avatar
EKSAD committed
189
        else {
EKSAD's avatar
EKSAD committed
190 191
            this.addReportItems()
        }
EKSAD's avatar
EKSAD committed
192 193
    }

EKSAD's avatar
EKSAD committed
194
    addReportItems() {
EKSAD's avatar
EKSAD committed
195 196 197 198 199 200
        // alert("test")
        let payload = {
            "report_id": this.state.reportType.report_id,
            "company_id": this.state.company.company_id,
            "description": this.state.description,
            "orders": this.state.order,
EKSAD's avatar
EKSAD committed
201
            "parent": this.state.parent === null ? null : this.state.parent.item_report_id,
a.bairuha's avatar
a.bairuha committed
202
            "type_report_id": this.state.InputType.type_item_report_id,
EKSAD's avatar
EKSAD committed
203 204 205 206 207
            "formula": this.state.formula,
            "uom": this.state.uom,
            "weight": this.state.weight,
            "condition_if_wrong": this.state.condition,
            "condition_it_should_be": this.state.realVal,
208 209
            "type_kpi": this.state.kpiTypeValue ? this.state.kpiTypeValue.value : null,
            "max_ach": this.state.maxAchValue ? this.state.maxAchValue.value : null,
a.bairuha's avatar
a.bairuha committed
210
            "formula_ytd": this.state.formulaYTDValue,
EKSAD's avatar
EKSAD committed
211 212 213
            "start_date": this.state.startDate,
            "end_date": this.state.endDate
        }
EKSAD's avatar
EKSAD committed
214
        // console.log(payload)
215
        this.props.createReportItems(payload)
EKSAD's avatar
EKSAD committed
216 217
    }

218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240
    getKPIType() {
        let body = {
            group: 'CAT',
            company_id: this.state.company.company_id,
            type: 'KPI_TYPE'
        }
        api.create().getAllSettingByType(body).then(response => {
            if (response.data) {
                if (response.ok) {
                    if (response.data.status === 'success') {
                        let data = response.data.data
                        let inputKPI = data.map((item) => {
                            return {
                                value: item.value
                            }
                        })
                        let defaultProps = {
                            options: inputKPI,
                            getOptionLabel: (option) => titleCase(option.value),
                        };
                        this.setState({ listKPI: defaultProps, inputKPI: response.data.data })
                    } else {
                        this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
d.arizona's avatar
d.arizona committed
241
                            if (response.data.message.includes("Someone Logged In") || response.data.message.includes("Token Expired")) {
242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281
                                setTimeout(() => {
                                    localStorage.removeItem(Constant.TOKEN)
                                    window.location.reload();
                                }, 1000);
                            }
                        })
                        // alert(response.data.message)
                    }
                } else {
                    this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
                }
            } else {
                this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
            }
        })
    }

    getMaxAch() {
        let body = {
            group: 'CAT',
            company_id: this.state.company.company_id,
            type: 'MAX_ACHIEVEMENT'
        }
        api.create().getAllSettingByType(body).then(response => {
            if (response.data) {
                if (response.ok) {
                    if (response.data.status === 'success') {
                        let data = response.data.data
                        let inputMaxAch = data.map((item) => {
                            return {
                                value: item.value
                            }
                        })
                        let defaultProps = {
                            options: inputMaxAch,
                            getOptionLabel: (option) => titleCase(option.value),
                        };
                        this.setState({ listMaxAch: defaultProps, inputMaxAch: response.data.data })
                    } else {
                        this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
d.arizona's avatar
d.arizona committed
282
                            if (response.data.message.includes("Someone Logged In") || response.data.message.includes("Token Expired")) {
283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299
                                setTimeout(() => {
                                    localStorage.removeItem(Constant.TOKEN)
                                    window.location.reload();
                                }, 1000);
                            }
                        })
                        // alert(response.data.message)
                    }
                } else {
                    this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
                }
            } else {
                this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
            }
        })
    }

EKSAD's avatar
EKSAD committed
300 301
    getInputType() {
        api.create().getInputType().then((response) => {
EKSAD's avatar
EKSAD committed
302
            // console.log(response.data)
303
            if (response.data) {
a.bairuha's avatar
a.bairuha committed
304
                if (response.ok) {
a.bairuha's avatar
a.bairuha committed
305 306 307 308 309 310 311 312 313 314 315 316 317 318 319
                    if (response.data.status === 'success') {
                        let data = response.data.data
                        let inputData = data.map((item) => {
                            return {
                                type_item_report_id: item.type_item_report_id,
                                type_item_report_name: item.type_item_report_name
                            }
                        })
                        let defaultProps = {
                            options: inputData,
                            getOptionLabel: (option) => titleCase(option.type_item_report_name),
                        };
                        this.setState({ listInputType: defaultProps, inputData: response.data.data })
                    } else {
                        this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
d.arizona's avatar
d.arizona committed
320
                            if (response.data.message.includes("Someone Logged In") || response.data.message.includes("Token Expired")) {
a.bairuha's avatar
a.bairuha committed
321 322 323 324 325 326 327 328
                                setTimeout(() => {
                                    localStorage.removeItem(Constant.TOKEN)
                                    window.location.reload();
                                }, 1000);
                            }
                        })
                        // alert(response.data.message)
                    }
EKSAD's avatar
EKSAD committed
329
                } else {
a.bairuha's avatar
a.bairuha committed
330
                    this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
EKSAD's avatar
EKSAD committed
331
                }
EKSAD's avatar
EKSAD committed
332
            } else {
EKSAD's avatar
EKSAD committed
333
                this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
EKSAD's avatar
EKSAD committed
334 335 336 337 338
            }
        })
    }

    getPerusahaan() {
EKSAD's avatar
EKSAD committed
339 340
        api.create().getPerusahaanActive().then((response) => {
            // console.log(response)
EKSAD's avatar
EKSAD committed
341
            if (response.data) {
a.bairuha's avatar
a.bairuha committed
342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361
                if (response.ok) {
                    if (response.data.status === 'success') {
                        let data = response.data.data
                        let companyData = data.map((item) => {
                            return {
                                company_id: item.company_id,
                                company_name: item.company_name
                            }
                        })
                        companyData.push({
                            company_id: 0,
                            company_name: 'Default'
                        })
                        let typeProps = {
                            options: companyData.sort((a, b) => a.company_id - b.company_id),
                            getOptionLabel: (option) => option.company_name,
                        };
                        this.setState({ listCompany: typeProps, companyData: response.data.data })
                    } else {
                        this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
d.arizona's avatar
d.arizona committed
362
                            if (response.data.message.includes("Someone Logged In") || response.data.message.includes("Token Expired")) {
a.bairuha's avatar
a.bairuha committed
363 364 365 366 367 368 369 370
                                setTimeout(() => {
                                    localStorage.removeItem(Constant.TOKEN)
                                    window.location.reload();
                                }, 1000);
                            }
                        })
                        // alert(response.data.message)
                    }
EKSAD's avatar
EKSAD committed
371
                } else {
a.bairuha's avatar
a.bairuha committed
372
                    this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
EKSAD's avatar
EKSAD committed
373
                }
EKSAD's avatar
EKSAD committed
374
            } else {
EKSAD's avatar
EKSAD committed
375
                this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
EKSAD's avatar
EKSAD committed
376 377
            }
        })
EKSAD's avatar
EKSAD committed
378 379
    }

EKSAD's avatar
EKSAD committed
380 381 382
    getReportType() {
        api.create().getReportType().then((response) => {
            // console.log(response)
EKSAD's avatar
EKSAD committed
383
            if (response.data) {
a.bairuha's avatar
a.bairuha committed
384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400
                if (response.ok) {
                    if (response.data.status === 'success') {
                        let data = response.data.data
                        let reportTypeData = data.map((item) => {
                            return {
                                report_id: item.report_id,
                                report_name: item.report_name,
                            }
                        })
                        let defaultProps = {
                            options: reportTypeData,
                            getOptionLabel: (option) => titleCase(option.report_name),
                        };
                        this.setState({ listReportType: defaultProps, reportTypeData: response.data.data })
                    } else {
                        // alert(response.data.message)
                        this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
d.arizona's avatar
d.arizona committed
401
                            if (response.data.message.includes("Someone Logged In") || response.data.message.includes("Token Expired")) {
a.bairuha's avatar
a.bairuha committed
402 403 404 405 406 407 408
                                setTimeout(() => {
                                    localStorage.removeItem(Constant.TOKEN)
                                    window.location.reload();
                                }, 1000);
                            }
                        })
                    }
EKSAD's avatar
EKSAD committed
409
                } else {
a.bairuha's avatar
a.bairuha committed
410
                    this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
EKSAD's avatar
EKSAD committed
411
                }
EKSAD's avatar
EKSAD committed
412
            } else {
EKSAD's avatar
EKSAD committed
413
                this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
EKSAD's avatar
EKSAD committed
414 415 416 417 418
            }
        })
    }

    getParent() {
419
        if (this.state.reportType !== null && this.state.company !== null) {
d.arizona's avatar
d.arizona committed
420 421 422
            let payload = {
                "report_id": this.state.reportType.report_id,
                "company_id": this.state.company.company_id
EKSAD's avatar
EKSAD committed
423
            }
d.arizona's avatar
d.arizona committed
424
            api.create().getReportParent(payload).then((response) => {
EKSAD's avatar
EKSAD committed
425 426
                // console.log(response)
                if (response.data) {
a.bairuha's avatar
a.bairuha committed
427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442
                    if (response.ok) {
                        if (response.data.status === 'success') {
                            let data = response.data.data
                            let parentData = data.map((item) => {
                                return {
                                    item_report_id: item.item_report_id,
                                    description: item.description
                                }
                            })
                            let defaultProps = {
                                options: parentData,
                                getOptionLabel: (option) => titleCase(option.description),
                            };
                            this.setState({ listParent: defaultProps, parentData: response.data.data })
                        } else {
                            this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
d.arizona's avatar
d.arizona committed
443
                                if (response.data.message.includes("Someone Logged In") || response.data.message.includes("Token Expired")) {
a.bairuha's avatar
a.bairuha committed
444 445 446 447 448 449 450 451
                                    setTimeout(() => {
                                        localStorage.removeItem(Constant.TOKEN)
                                        window.location.reload();
                                    }, 1000);
                                }
                            })
                            // alert(response.data.message)
                        }
EKSAD's avatar
EKSAD committed
452
                    } else {
a.bairuha's avatar
a.bairuha committed
453
                        this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
EKSAD's avatar
EKSAD committed
454
                    }
d.arizona's avatar
d.arizona committed
455
                } else {
EKSAD's avatar
EKSAD committed
456
                    this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
d.arizona's avatar
d.arizona committed
457 458 459
                }
            })
        }
EKSAD's avatar
EKSAD committed
460 461
    }

EKSAD's avatar
EKSAD committed
462 463 464 465 466
    handleDate(item) {
        let value = format(item, 'dd MMMM yyyy')
        return value
    }

467 468
    clearMessage() {
        this.setState({
Deni Rinaldi's avatar
Deni Rinaldi committed
469
            errorFormula: false, msgErrorFormula: '',
470 471 472 473
            errorTipeData: false,
            errorCondition: false,
            msgErrorTipeData: '',
            msgErrorCondition: '',
Deni Rinaldi's avatar
Deni Rinaldi committed
474 475 476
            errorRV: false, msgErrorRV: '',
            errorJenisLaporan: false, msgErrorJenisLaporan: '',
            errorPerusahaan: false, msgErrorPerusahaan: ''
477 478 479
        })
    }

a.bairuha's avatar
a.bairuha committed
480 481 482 483
    closeAlert() {
        this.setState({ alert: false })
    }

EKSAD's avatar
EKSAD committed
484
    render() {
EKSAD's avatar
EKSAD committed
485

EKSAD's avatar
EKSAD committed
486 487 488
        return (
            <div className="test app-popup-show">
                <div className="popup-content background-white border-radius" style={{ borderRadius: 8 }}>
EKSAD's avatar
EKSAD committed
489
                    <div className="popup-panel grid grid-2x main-color" style={{ height: 64, borderTopRightRadius: 8, borderTopLeftRadius: 8 }}>
EKSAD's avatar
EKSAD committed
490 491
                        <div className="col-1" style={{ maxWidth: "inherit", display: 'flex', alignItems: 'center' }}>
                            <div className="popup-title">
EKSAD's avatar
EKSAD committed
492
                                <span style={{ color: '#fff', fontSize: 16, fontWeight: 'bold' }}>Create Data</span>
EKSAD's avatar
EKSAD committed
493 494 495 496 497 498 499 500
                            </div>
                        </div>
                        <div className="col-2 content-right" style={{ maxWidth: "inherit", alignSelf: 'center' }}>
                            <button
                                type="button"
                                className="btn btn-circle btn-white"
                                onClick={() => this.props.onClickClose()}
                            >
501
                                <img src={Images.close} />
EKSAD's avatar
EKSAD committed
502 503 504
                            </button>
                        </div>
                    </div>
EKSAD's avatar
EKSAD committed
505 506 507 508 509
                    <Snackbar open={this.state.alert} autoHideDuration={6000} onClose={() => this.closeAlert()}>
                        <Alert onClose={() => this.closeAlert()} severity={this.state.tipeAlert}>
                            {this.state.messageAlert}
                        </Alert>
                    </Snackbar>
EKSAD's avatar
EKSAD committed
510

EKSAD's avatar
EKSAD committed
511
                    <div className="grid grid-2x grid-mobile-none gap-15px" style={{ paddingLeft: 20, paddingRight: 20 }}>
EKSAD's avatar
EKSAD committed
512
                        <div className="column-1">
EKSAD's avatar
EKSAD committed
513
                            <div className="margin-top-10px" style={{ backgroundColor: '#e8e8e8', padding: 10, borderRadius: 5 }}>
EKSAD's avatar
EKSAD committed
514 515
                                <TextField
                                    style={{ width: '100%' }}
EKSAD's avatar
EKSAD committed
516
                                    value={'-'}
EKSAD's avatar
EKSAD committed
517
                                    id="ID"
EKSAD's avatar
EKSAD committed
518 519 520 521
                                    label="ID"
                                    disabled
                                    inputProps={{
                                        style: {
EKSAD's avatar
EKSAD committed
522 523
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
EKSAD's avatar
EKSAD committed
524 525 526 527 528
                                        }
                                    }}
                                    InputLabelProps={{
                                        style: {
                                            fontSize: 11,
EKSAD's avatar
EKSAD committed
529 530
                                            fontFamily: 'Nunito Sans, sans-serif',
                                            color: '#7e8085',
EKSAD's avatar
EKSAD committed
531 532 533 534
                                        }
                                    }}
                                />
                            </div>
EKSAD's avatar
EKSAD committed
535 536
                        </div>
                        <div className="column-2">
537
                            <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
EKSAD's avatar
EKSAD committed
538 539 540
                                <Autocomplete
                                    {...this.state.listReportType}
                                    id="reportType"
541 542
                                    onChange={(event, newInputValue) => this.setState({ reportType: newInputValue, kpiDisable: true, maxAchDisable: true }, () => {
                                        newInputValue == null || (newInputValue.report_name !== 'CAT') ? this.setState({ kpiTypeValue: null, maxAchValue: null, formulaYTDValue: null }, () => this.clearMessage())
a.bairuha's avatar
a.bairuha committed
543 544
                                            : this.clearMessage();
                                    })}
EKSAD's avatar
EKSAD committed
545
                                    debug
546 547
                                    renderInput={(params) =>
                                        <TextField {...params}
548
                                            label="Report Type"
EKSAD's avatar
EKSAD committed
549 550 551 552 553 554 555
                                            InputLabelProps={{
                                                style: {
                                                    fontSize: 11,
                                                    fontFamily: 'Nunito Sans, sans-serif',
                                                    color: '#7e8085'
                                                }
                                            }}
Deni Rinaldi's avatar
Deni Rinaldi committed
556 557
                                            error={this.state.errorJenisLaporan}
                                            helperText={this.state.msgErrorJenisLaporan}
EKSAD's avatar
EKSAD committed
558
                                            InputProps={{ ...params.InputProps, style: { fontSize: 11, fontFamily: 'Nunito Sans, sans-serif' } }}
EKSAD's avatar
EKSAD committed
559 560 561 562 563 564 565 566 567
                                        />}
                                    value={this.state.reportType}
                                />
                            </div>
                        </div>
                    </div>

                    <div className="grid grid-2x grid-mobile-none gap-15px" style={{ paddingLeft: 20, paddingRight: 20 }}>
                        <div className="column-1">
568
                            <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }} >
EKSAD's avatar
EKSAD committed
569 570
                                <Autocomplete
                                    {...this.state.listCompany}
EKSAD's avatar
EKSAD committed
571
                                    id="company"
572 573 574 575 576 577
                                    onChange={(event, newInputValue) => this.setState({ company: newInputValue, kpiDisable: false, maxAchDisable: false }, () => {
                                        this.getParent()
                                        this.clearMessage()
                                        this.getKPIType()
                                        this.getMaxAch()
                                    })}
EKSAD's avatar
EKSAD committed
578
                                    debug
579 580
                                    renderInput={(params) =>
                                        <TextField {...params}
EKSAD's avatar
EKSAD committed
581
                                            label="Company Name"
EKSAD's avatar
EKSAD committed
582 583 584 585 586 587 588
                                            InputLabelProps={{
                                                style: {
                                                    fontSize: 11,
                                                    fontFamily: 'Nunito Sans, sans-serif',
                                                    color: '#7e8085'
                                                }
                                            }}
Deni Rinaldi's avatar
Deni Rinaldi committed
589 590
                                            error={this.state.errorPerusahaan}
                                            helperText={this.state.msgErrorPerusahaan}
EKSAD's avatar
EKSAD committed
591
                                            InputProps={{ ...params.InputProps, style: { fontSize: 11, fontFamily: 'Nunito Sans, sans-serif' } }}
EKSAD's avatar
EKSAD committed
592
                                        />}
EKSAD's avatar
EKSAD committed
593 594
                                    value={this.state.company}
                                />
EKSAD's avatar
EKSAD committed
595
                            </div>
EKSAD's avatar
EKSAD committed
596 597
                        </div>
                        <div className="column-2">
598
                            <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
EKSAD's avatar
EKSAD committed
599 600
                                <TextField
                                    style={{ width: '100%' }}
EKSAD's avatar
EKSAD committed
601 602 603
                                    id="orders"
                                    name="order"
                                    label="Order"
604
                                    type="number"
EKSAD's avatar
EKSAD committed
605
                                    onChange={(e) => this.handleChange(e, null)}
EKSAD's avatar
EKSAD committed
606 607 608
                                    value={this.state.order}
                                    error={this.state.errorOrder}
                                    helperText={this.state.msgErrorOrder}
EKSAD's avatar
EKSAD committed
609
                                    inputProps={{
610
                                        min: 0,
EKSAD's avatar
EKSAD committed
611 612 613 614 615 616 617 618 619 620 621 622 623 624 625
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                        }
                                    }}
                                    InputLabelProps={{
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                            color: '#7e8085',
                                        }
                                    }}
                                >
                                </TextField>
                            </div>
EKSAD's avatar
EKSAD committed
626 627 628 629 630
                        </div>
                    </div>

                    <div className="grid grid-2x grid-mobile-none gap-15px" style={{ paddingLeft: 20, paddingRight: 20 }}>
                        <div className="column-1">
631
                            <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
EKSAD's avatar
EKSAD committed
632 633
                                <TextField
                                    style={{ width: '100%' }}
EKSAD's avatar
EKSAD committed
634
                                    id="description"
635
                                    label="Description"
EKSAD's avatar
EKSAD committed
636 637 638 639
                                    name="description"
                                    value={this.state.description}
                                    error={this.state.errorDesc}
                                    helperText={this.state.msgErrorDesc}
EKSAD's avatar
EKSAD committed
640
                                    onChange={(e) => this.handleChange(e, '')}
EKSAD's avatar
EKSAD committed
641
                                    // value={this.props.data.business_unit_name}
EKSAD's avatar
EKSAD committed
642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657
                                    inputProps={{
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                        }
                                    }}
                                    InputLabelProps={{
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                            color: '#7e8085',
                                        }
                                    }}
                                >
                                </TextField>
                            </div>
EKSAD's avatar
EKSAD committed
658 659
                        </div>
                        <div className="column-2">
660
                            <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }} >
EKSAD's avatar
EKSAD committed
661
                                <Autocomplete
EKSAD's avatar
EKSAD committed
662 663
                                    {...this.state.listParent}
                                    id="parentId"
664
                                    onChange={(event, newInputValue) => this.setState({ parent: newInputValue })}
EKSAD's avatar
EKSAD committed
665
                                    debug
EKSAD's avatar
EKSAD committed
666
                                    disabled={this.state.reportType == null || this.state.company == null}
667 668 669
                                    renderInput={(params) =>
                                        <TextField {...params}
                                            label="Parent ID"
EKSAD's avatar
EKSAD committed
670 671 672 673 674 675 676
                                            InputLabelProps={{
                                                style: {
                                                    fontSize: 11,
                                                    fontFamily: 'Nunito Sans, sans-serif',
                                                    color: '#7e8085'
                                                }
                                            }}
EKSAD's avatar
EKSAD committed
677
                                            InputProps={{ ...params.InputProps, style: { fontSize: 11, fontFamily: 'Nunito Sans, sans-serif' } }}
EKSAD's avatar
EKSAD committed
678
                                        />}
EKSAD's avatar
EKSAD committed
679
                                    value={this.state.parent}
EKSAD's avatar
EKSAD committed
680
                                />
EKSAD's avatar
EKSAD committed
681
                            </div>
EKSAD's avatar
EKSAD committed
682 683
                        </div>
                    </div>
EKSAD's avatar
EKSAD committed
684

EKSAD's avatar
EKSAD committed
685 686
                    <div className="grid grid-2x grid-mobile-none gap-15px" style={{ paddingLeft: 20, paddingRight: 20 }}>
                        <div className="column-1">
687
                            <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
EKSAD's avatar
EKSAD committed
688 689
                                <TextField
                                    style={{ width: '100%' }}
EKSAD's avatar
EKSAD committed
690 691 692 693
                                    id="uom"
                                    name="uom"
                                    label="UOM"
                                    value={this.state.uom}
EKSAD's avatar
EKSAD committed
694
                                    onChange={(e) => this.handleChange(e, '')}
EKSAD's avatar
EKSAD committed
695 696 697 698 699 700 701 702 703 704 705 706 707
                                    inputProps={{
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                        }
                                    }}
                                    InputLabelProps={{
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                            color: '#7e8085',
                                        }
                                    }}
EKSAD's avatar
EKSAD committed
708 709
                                >
                                </TextField>
EKSAD's avatar
EKSAD committed
710 711 712
                            </div>
                        </div>
                        <div className="column-2">
713
                            <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
EKSAD's avatar
EKSAD committed
714 715
                                <TextField
                                    style={{ width: '100%' }}
EKSAD's avatar
EKSAD committed
716 717 718 719
                                    id="weight"
                                    label="Weight"
                                    name="weight"
                                    value={this.state.weight}
EKSAD's avatar
EKSAD committed
720
                                    onChange={(e) => this.handleChange(e, '')}
EKSAD's avatar
EKSAD committed
721 722
                                    inputProps={{
                                        style: {
EKSAD's avatar
EKSAD committed
723 724
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
EKSAD's avatar
EKSAD committed
725 726 727 728 729
                                        }
                                    }}
                                    InputLabelProps={{
                                        style: {
                                            fontSize: 11,
EKSAD's avatar
EKSAD committed
730 731
                                            fontFamily: 'Nunito Sans, sans-serif',
                                            color: '#7e8085',
EKSAD's avatar
EKSAD committed
732 733 734 735 736
                                        }
                                    }}
                                >
                                </TextField>
                            </div>
EKSAD's avatar
EKSAD committed
737 738 739 740 741
                        </div>
                    </div>

                    <div className="grid grid-2x grid-mobile-none gap-15px" style={{ paddingLeft: 20, paddingRight: 20 }}>
                        <div className="column-1">
742
                            <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
EKSAD's avatar
EKSAD committed
743
                                <Autocomplete
EKSAD's avatar
EKSAD committed
744 745
                                    {...this.state.listInputType}
                                    id="inputType"
746 747
                                    onChange={(event, newInputValue) => this.setState({ InputType: newInputValue },
                                        () => newInputValue === null ? this.setState({ disabledFormula: true, disabledCondt: true, disabledValue: true, formula: '', condition: '', realVal: '' })
a.bairuha's avatar
a.bairuha committed
748
                                            : newInputValue.type_item_report_name === 'Formula' ?
749 750 751 752 753 754 755 756
                                                this.setState({
                                                    disabledFormula: false,
                                                    disabledCondt: true,
                                                    disabledValue: true,
                                                    formula: '',
                                                    condition: '',
                                                    realVal: ''
                                                }, () => this.clearMessage())
a.bairuha's avatar
a.bairuha committed
757
                                                : newInputValue.type_item_report_name === 'Validation' ?
758 759 760 761 762 763 764 765
                                                    this.setState({
                                                        disabledFormula: false,
                                                        disabledCondt: false,
                                                        disabledValue: false,
                                                        formula: '',
                                                        condition: '',
                                                        realVal: ''
                                                    }, () => this.clearMessage())
EKSAD's avatar
EKSAD committed
766 767 768 769 770 771 772 773 774
                                                    : newInputValue.type_item_report_name === 'Formula - Summary' ?
                                                    this.setState({
                                                        disabledFormula: false,
                                                        disabledCondt: true,
                                                        disabledValue: true,
                                                        formula: '',
                                                        condition: '',
                                                        realVal: ''
                                                    }, () => this.clearMessage())
775 776 777 778 779 780 781 782 783
                                                    : this.setState({
                                                        disabledFormula: true,
                                                        disabledCondt: true,
                                                        disabledValue: true,
                                                        formula: '',
                                                        condition: '',
                                                        realVal: ''
                                                    }, () => this.clearMessage())
                                    )}
EKSAD's avatar
EKSAD committed
784
                                    debug
785 786
                                    renderInput={(params) =>
                                        <TextField {...params}
787
                                            label="Data Type"
788 789
                                            error={this.state.errorTipeData}
                                            helperText={this.state.msgErrorTipeData}
EKSAD's avatar
EKSAD committed
790 791 792 793 794 795 796
                                            InputLabelProps={{
                                                style: {
                                                    fontSize: 11,
                                                    fontFamily: 'Nunito Sans, sans-serif',
                                                    color: '#7e8085'
                                                }
                                            }}
Deni Rinaldi's avatar
Deni Rinaldi committed
797 798
                                            error={this.state.errorTipeData}
                                            helperText={this.state.msgErrorTipeData}
EKSAD's avatar
EKSAD committed
799
                                            InputProps={{ ...params.InputProps, style: { fontSize: 11, fontFamily: 'Nunito Sans, sans-serif' } }}
EKSAD's avatar
EKSAD committed
800
                                        />}
EKSAD's avatar
EKSAD committed
801
                                    value={this.state.InputType}
EKSAD's avatar
EKSAD committed
802
                                />
EKSAD's avatar
EKSAD committed
803
                            </div>
EKSAD's avatar
EKSAD committed
804 805
                        </div>
                        <div className="column-2">
806
                            <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
EKSAD's avatar
EKSAD committed
807 808
                                <TextField
                                    style={{ width: '100%' }}
EKSAD's avatar
EKSAD committed
809 810 811 812 813 814 815
                                    id="formula"
                                    label="Formula"
                                    name="formula"
                                    disabled={this.state.disabledFormula}
                                    value={this.state.formula}
                                    error={this.state.errorFormula}
                                    helperText={this.state.msgErrorFormula}
EKSAD's avatar
EKSAD committed
816
                                    onChange={(e) => this.handleChange(e, '')}
EKSAD's avatar
EKSAD committed
817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832
                                    inputProps={{
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                        }
                                    }}
                                    InputLabelProps={{
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                            color: '#7e8085',
                                        }
                                    }}
                                >
                                </TextField>
                            </div>
EKSAD's avatar
EKSAD committed
833 834 835 836 837
                        </div>
                    </div>

                    <div className="grid grid-2x grid-mobile-none gap-15px" style={{ paddingLeft: 20, paddingRight: 20 }}>
                        <div className="column-1">
838
                            <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
EKSAD's avatar
EKSAD committed
839 840
                                <TextField
                                    style={{ width: '100%' }}
EKSAD's avatar
EKSAD committed
841
                                    id="realVal"
842
                                    label="True Value"
EKSAD's avatar
EKSAD committed
843 844 845 846 847
                                    name="realVal"
                                    disabled={this.state.disabledValue}
                                    value={this.state.realVal}
                                    error={this.state.errorRV}
                                    helperText={this.state.msgErrorRV}
EKSAD's avatar
EKSAD committed
848
                                    onChange={(e) => this.handleChange(e, '')}
EKSAD's avatar
EKSAD committed
849 850 851 852 853 854 855 856 857 858 859 860 861
                                    inputProps={{
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                        }
                                    }}
                                    InputLabelProps={{
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                            color: '#7e8085',
                                        }
                                    }}
EKSAD's avatar
EKSAD committed
862
                                />
EKSAD's avatar
EKSAD committed
863
                            </div>
EKSAD's avatar
EKSAD committed
864 865
                        </div>
                        <div className="column-2">
866 867
                            <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
                                <Autocomplete
EKSAD's avatar
EKSAD committed
868
                                    value={this.state.condition}
EKSAD's avatar
EKSAD committed
869
                                    id="isWrongCondition"
EKSAD's avatar
EKSAD committed
870
                                    disabled={this.state.disabledCondt}
EKSAD's avatar
EKSAD committed
871
                                    onChange={(event, newValue) => {
872
                                        this.setState({ condition: newValue }, () => this.clearMessage());
EKSAD's avatar
EKSAD committed
873
                                    }}
EKSAD's avatar
EKSAD committed
874
                                    options={this.state.options}
875 876 877 878
                                    renderInput={(params) =>
                                        <TextField {...params}
                                            error={this.state.errorCondition}
                                            helperText={this.state.msgErrorCondition}
879
                                            label="False Condition"
EKSAD's avatar
EKSAD committed
880 881 882 883 884 885 886
                                            InputLabelProps={{
                                                style: {
                                                    fontSize: 11,
                                                    fontFamily: 'Nunito Sans, sans-serif',
                                                    color: '#7e8085'
                                                }
                                            }}
887
                                            InputProps={{ ...params.InputProps, style: { fontSize: 11, fontFamily: 'Nunito Sans, sans-serif' } }}
EKSAD's avatar
EKSAD committed
888 889
                                        />}
                                />
EKSAD's avatar
EKSAD committed
890
                            </div>
EKSAD's avatar
EKSAD committed
891 892 893
                        </div>
                    </div>

a.bairuha's avatar
a.bairuha committed
894
                    {this.state.reportType !== null && (
895 896 897 898 899 900 901 902 903 904
                        this.state.reportType.report_name === 'CAT' && (
                            <div className="grid grid-2x grid-mobile-none gap-15px" style={{ paddingLeft: 20, paddingRight: 20 }}>
                                <div className="column-1">
                                    <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
                                        <Autocomplete
                                            {...this.state.listKPI}
                                            value={this.state.kpiTypeValue}
                                            id="kpiType"
                                            onChange={(event, newValue) => {
                                                this.setState({ kpiTypeValue: newValue }, () => this.clearMessage());
a.bairuha's avatar
a.bairuha committed
905
                                            }}
906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929
                                            disabled={this.state.kpiDisable}
                                            renderInput={(params) =>
                                                <TextField {...params}
                                                    label="KPI Type"
                                                    InputLabelProps={{
                                                        style: {
                                                            fontSize: 11,
                                                            fontFamily: 'Nunito Sans, sans-serif',
                                                            color: '#7e8085'
                                                        }
                                                    }}
                                                    InputProps={{ ...params.InputProps, style: { fontSize: 11, fontFamily: 'Nunito Sans, sans-serif' } }}
                                                />}
                                        />
                                    </div>
                                </div>
                                <div className="column-2">
                                    <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
                                        <Autocomplete
                                            {...this.state.listMaxAch}
                                            value={this.state.maxAchValue}
                                            id="maxAch"
                                            onChange={(event, newValue) => {
                                                this.setState({ maxAchValue: newValue }, () => this.clearMessage());
a.bairuha's avatar
a.bairuha committed
930
                                            }}
931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946
                                            disabled={this.state.maxAchDisable}
                                            renderInput={(params) =>
                                                <TextField {...params}
                                                    label="Max Achievement"
                                                    InputLabelProps={{
                                                        style: {
                                                            fontSize: 11,
                                                            fontFamily: 'Nunito Sans, sans-serif',
                                                            color: '#7e8085'
                                                        }
                                                    }}
                                                    InputProps={{ ...params.InputProps, style: { fontSize: 11, fontFamily: 'Nunito Sans, sans-serif' } }}
                                                />}
                                        />
                                    </div>
                                </div>
a.bairuha's avatar
a.bairuha committed
947
                            </div>
948
                        ))}
a.bairuha's avatar
a.bairuha committed
949 950

                    {this.state.reportType !== null && (
951 952 953 954 955 956 957 958 959
                        this.state.reportType.report_name === 'CAT' && (
                            <div className="grid grid-2x grid-mobile-none gap-15px" style={{ paddingLeft: 20, paddingRight: 20 }}>
                                <div className="column-1">
                                    <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
                                        <Autocomplete
                                            value={this.state.formulaYTDValue}
                                            id="formulaYTD"
                                            onChange={(event, newValue) => {
                                                this.setState({ formulaYTDValue: newValue }, () => this.clearMessage());
a.bairuha's avatar
a.bairuha committed
960
                                            }}
961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976
                                            options={this.state.formulaYtd}
                                            renderInput={(params) =>
                                                <TextField {...params}
                                                    label="Formula YTD"
                                                    InputLabelProps={{
                                                        style: {
                                                            fontSize: 11,
                                                            fontFamily: 'Nunito Sans, sans-serif',
                                                            color: '#7e8085'
                                                        }
                                                    }}
                                                    InputProps={{ ...params.InputProps, style: { fontSize: 11, fontFamily: 'Nunito Sans, sans-serif' } }}
                                                />}
                                        />
                                    </div>
                                </div>
a.bairuha's avatar
a.bairuha committed
977
                            </div>
978
                        ))}
a.bairuha's avatar
a.bairuha committed
979

EKSAD's avatar
EKSAD committed
980 981
                    <div className="grid grid-2x grid-mobile-none gap-15px" style={{ paddingLeft: 20, paddingRight: 20 }}>
                        <div className="column-1">
982 983 984 985
                            <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
                                <DatePicker
                                    margin="normal"
                                    id="startDate"
986
                                    label="Valid From"
EKSAD's avatar
EKSAD committed
987
                                    format="dd-MM-yyyy"
988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009
                                    value={this.state.startDate == "" ? null : this.state.startDate}
                                    error={this.state.errorStartDate}
                                    helperText={this.state.msgErrorSD}
                                    onChange={(e) => this.handleChange(e, 'start_date')}
                                    KeyboardButtonProps={{
                                        'aria-label': 'change date',
                                    }}
                                    inputProps={{
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                        }
                                    }}
                                    InputLabelProps={{
                                        style: {
                                            fontSize: 11,
                                            color: '#7e8085',
                                            fontFamily: 'Nunito Sans, sans-serif',
                                        }
                                    }}

                                    style={{ padding: 0, margin: 0, width: '100%' }}
EKSAD's avatar
EKSAD committed
1010 1011 1012 1013
                                />
                            </div>
                        </div>
                        <div className="column-2">
1014 1015 1016 1017
                            <div className="margin-top-10px" style={{ padding: 10, borderRadius: 5 }}>
                                <DatePicker
                                    margin="normal"
                                    id="endDate"
1018
                                    label="Valid To"
EKSAD's avatar
EKSAD committed
1019
                                    format="dd-MM-yyyy"
1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042
                                    value={this.state.endDate == "" ? null : this.state.endDate}
                                    error={this.state.errorEndDate}
                                    helperText={this.state.msgErrorED}
                                    onChange={(e) => this.handleChange(e, 'end_date')}
                                    minDate={this.state.startDate}
                                    KeyboardButtonProps={{
                                        'aria-label': 'change date',
                                    }}
                                    inputProps={{
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                        }
                                    }}
                                    InputLabelProps={{
                                        style: {
                                            fontSize: 11,
                                            color: '#7e8085',
                                            fontFamily: 'Nunito Sans, sans-serif',
                                        }
                                    }}

                                    style={{ padding: 0, margin: 0, width: '100%' }}
EKSAD's avatar
EKSAD committed
1043
                                />
EKSAD's avatar
EKSAD committed
1044 1045
                            </div>
                        </div>
EKSAD's avatar
EKSAD committed
1046
                    </div>
EKSAD's avatar
EKSAD committed
1047

EKSAD's avatar
EKSAD committed
1048 1049
                    <div className="grid grid-2x grid-mobile-none gap-15px" style={{ paddingLeft: 20, paddingRight: 20 }}>
                        <div className="column-1">
1050
                            <div className="margin-top-10px" style={{ backgroundColor: '#e8e8e8', padding: 10, borderRadius: 5 }}>
EKSAD's avatar
EKSAD committed
1051 1052
                                <TextField
                                    style={{ width: '100%' }}
1053
                                    defaultValue={"active"}
EKSAD's avatar
EKSAD committed
1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073
                                    id="status"
                                    label="Status"
                                    disabled
                                    inputProps={{
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                        }
                                    }}
                                    InputLabelProps={{
                                        style: {
                                            fontSize: 11,
                                            fontFamily: 'Nunito Sans, sans-serif',
                                            color: '#7e8085',
                                        }
                                    }}
                                />
                            </div>
                        </div>
                    </div>
1074

1075
                    <div className="margin-top-10px" style={{ paddingTop: 10, paddingBottom: 30, paddingRight: 30, paddingLeft: 30 }}>
EKSAD's avatar
EKSAD committed
1076
                        <div style={{ display: 'flex' }}>
a.bairuha's avatar
a.bairuha committed
1077 1078
                            <Typography style={{ fontSize: 11, width: '13%' }}>Created By :</Typography>
                            {/* <Typography style={{ fontSize: 11 }}>: </Typography> */}
EKSAD's avatar
EKSAD committed
1079 1080
                        </div>
                        <div style={{ display: 'flex' }}>
a.bairuha's avatar
a.bairuha committed
1081 1082
                            <Typography style={{ fontSize: 11, width: '13%' }}>Updated By :</Typography>
                            {/* <Typography style={{ fontSize: 11 }}>: </Typography> */}
EKSAD's avatar
EKSAD committed
1083
                        </div>
EKSAD's avatar
EKSAD committed
1084 1085 1086 1087 1088 1089 1090 1091 1092
                    </div>

                    <div className="border-top grid grid-2x" style={{ height: 56, backgroundColor: '#f5f5f5', paddingLeft: 20, paddingRight: 20 }}>
                        <div className="column-1" style={{ alignSelf: 'center' }}>
                            <button
                                type="button"
                                onClick={() => this.props.onClickClose()}
                            >
                                <div style={{ width: 102, height: 30, border: 'solid 1px #354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center' }}>
1093
                                    <span style={{ color: '#354960', fontSize: 11 }}>Cancel</span>
EKSAD's avatar
EKSAD committed
1094 1095 1096
                                </div>
                            </button>
                        </div>
1097 1098
                        <div className="column-2" style={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center' }}>
                            <button
EKSAD's avatar
EKSAD committed
1099 1100 1101 1102
                                type="button"
                                onClick={() => this.validasi()}
                            >
                                <div style={{ width: 102, height: 30, backgroundColor: '#354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center' }}>
1103
                                    <span style={{ color: '#fff', fontSize: 11 }}>Save</span>
EKSAD's avatar
EKSAD committed
1104
                                </div>
EKSAD's avatar
EKSAD committed
1105
                            </button>
EKSAD's avatar
EKSAD committed
1106 1107 1108 1109 1110 1111 1112
                        </div>
                    </div>
                </div>
            </div>
        )
    }
}