????

Your IP : 216.73.216.152


Current Path : C:/inetpub/vhost/xaydung.gdtsolutions.vn/build/static/js/
Upload File :
Current File : C:/inetpub/vhost/xaydung.gdtsolutions.vn/build/static/js/1373.000a0246.chunk.js.map

{"version":3,"file":"static/js/1373.000a0246.chunk.js","mappings":"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","sources":["views/quan-ly-du-an/DuAn/ThanhToan/PhieuThanhToan.js","views/quan-ly-du-an/DuAn/ThanhToan/data.js"],"sourcesContent":["// import { format } from 'date-fns';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Card, CardBody, CardFooter, CardHeader, Col, Row, FormGroup } from \"reactstrap\"\nimport Swal from 'sweetalert2';\nimport { formatDate, formatISODate, formatNumber } from '../../../../actions/util';\nimport { CHECK_ERROR, CHECK_SUCCESS, CHECK_WARNING } from '../../../../components/alert/Alert';\nimport { ButtonCancel, ButtonSave } from \"../../../../components/base/Button\"\nimport FormControl from '../../../../components/base/Form/FormControl';\nimport { InputDate } from '../../../../components/base/Input';\nimport { useKey } from '../../../../hooks';\nimport { ThanhToansEndpoint, KhoanThusEndpoint, CongNoEndPoint } from '../../../../service/GDTCores';\nimport CongNoEndpoint from '../../../../service/GDTCores/CongNoEndpoint';\nimport { Enums_LoaiNoNumber, _Enums_DoiTuong } from '../../../action/defaultEnums';\nimport { CongNoData, formData, formDataLabel } from './data';\n\nconst INITIAL_DOITUONG = _Enums_DoiTuong.KhachHang;\nconst INITIAL_LOAINO = Enums_LoaiNoNumber.DuAnNo;\nconst INITIAL_CONGNO = { ...CongNoData, LoaiNo: INITIAL_LOAINO, DoiTuong: INITIAL_DOITUONG };\nconst INITIAL_DATA = { DoiTuong: INITIAL_DOITUONG, ThoiGian: formatISODate(new Date()) }\nfunction Index({ dataThanhToan, code, DMKhoanThuId, onClose, closeAndReload, dataDuAn, dataIni }) {\n    const { Id: IdThanhToan = null } = dataThanhToan || {};\n    const [data, setData] = useState(INITIAL_DATA);\n    const [thongTinCaNhan, setThongTinCaNhan] = useState(null);\n    const [dataCongNo, setDataCongNo] = useState(0);\n\n    const getTongTienDuAn = useCallback(async (dataIni) => {\n        const { DotThanhToan, IdDuAn, payed, QuyetToan } = dataIni;\n        const { value: arrCongNo } = await CongNoEndpoint.getCongNoByDuAn(IdDuAn, INITIAL_DOITUONG);\n        const congNo = arrCongNo.find(cn => cn.IsThanhToan === false);\n        let soTienConLai = arrCongNo.length !== 0 ? congNo?.SoTien || 0 : QuyetToan\n        setDataCongNo(pre => ({\n            ...pre, TongTien: ((!congNo && DotThanhToan !== 1) || payed) ? 0 : soTienConLai || 0,\n            IdCongNo: (congNo && congNo.Id) || null\n        }))\n    }, [])\n    useEffect(() => {\n        dataIni && getTongTienDuAn(dataIni);\n        setData(dataThanhToan || INITIAL_DATA);\n    }, [dataThanhToan, dataIni, code, getTongTienDuAn])\n\n    useEffect(() => {\n        const { ThongTinCaNhan = null } = dataDuAn || {};\n        setThongTinCaNhan(ThongTinCaNhan);\n    }, [dataDuAn])\n    const ConfirmContinue = useCallback((text) => {\n        return Swal.fire({\n            title: text || 'Bạn chắc chắn tạo phiếu thanh toán',\n            icon: 'warning',\n            showCancelButton: true,\n            confirmButtonColor: '#3085d6',\n            cancelButtonColor: '#d33',\n            confirmButtonText: 'Đồng ý',\n            cancelButtonText: 'Hủy'\n        })\n    }, [])\n    const handleValidate = useCallback((data) => {\n        const dataCheck = { data, formData };\n        const listRequired = Object.values(formData).filter(field => field.required);\n        for (let index = 0; index < listRequired.length; index++) {\n            const field = listRequired[index];\n            let value = (dataCheck['data'] && dataCheck['data'][field.field_name]) || null;\n            if (value === null || value === '' || value === undefined || value.length === 0) {\n                CHECK_WARNING('Vui lòng nhập \"' + field.title + '\"');\n                return false;\n            }\n        }\n        return true;\n    }, []);\n    const getDataThanhToan = (data) => {\n        const dataSave = { ...data, SoTien: data.TienThanhToan, IsThanhToan: true };\n        delete dataSave['TienThanhToan']; delete dataSave['DMKhoanThuId']\n        return dataSave;\n    }\n    const handleSave = useCallback((e = null) => {\n        ConfirmContinue().then(async res => {\n            if (res.value) {\n                e && e.preventDefault();\n                if (handleValidate(data)) {\n                    const { DotThanhToan, IdDuAn } = dataIni || {};\n                    const { TongTien, IdCongNo } = dataCongNo;\n                    const { GhiChu } = data; delete data['GhiChu'];\n                    const dataSave = { ...data, DuAnId: IdDuAn, DMKhoanThuId: DMKhoanThuId };\n                    const { ConLai: TienConlai, NguoiLapPhieu } = dataSave;\n                    delete dataSave['ConLai']; delete dataSave['NguoiLapPhieu'];\n                    if (!IdThanhToan) {\n                        try {\n                            const { value: [khoanThus] } = await KhoanThusEndpoint.findByIdDuAn(IdDuAn, INITIAL_DOITUONG, DMKhoanThuId);\n                            //thêm mới khoản thu nếu là lần thanh toán đầu tiên / lần 2 chỉ update\n                            const { ResultObj: { Id } } = !khoanThus ? await KhoanThusEndpoint.add(dataSave)\n                                : await KhoanThusEndpoint.update(khoanThus.Id, { TienThanhToan: khoanThus.TienThanhToan + data.TienThanhToan })\n                            //Data thanh toán\n                            const dataThanhToan = getDataThanhToan({ ...dataSave, GhiChu: GhiChu, Code: code, KhoanThuId: Id, DotThanhToan: DotThanhToan, NguoiLapPhieu: NguoiLapPhieu })\n                            const { ResultObj: { Id: ThanhToanId } } = await ThanhToansEndpoint.add(dataThanhToan);\n                            //Update công nợ cũ\n                            if (IdCongNo) { await CongNoEndpoint.update(IdCongNo, { IsThanhToan: true, DaTra: data.TienThanhToan, ThanhToanId: ThanhToanId }) }\n                            // thêm công nợ\n                            if (TienConlai !== 0 && TienConlai < TongTien) {\n                                delete dataThanhToan['DMKhoanThuId']; delete dataThanhToan['NguoiLapPhieu']; delete dataThanhToan['Code'];\n                                await CongNoEndPoint.addCongNo({ ...dataThanhToan, ...INITIAL_CONGNO, SoTien: TienConlai });\n                            }\n                            // else {\n                            //     await DuAnEndpoint.update(IdDuAn, { IsCompleted: true })\n                            // }\n                            setData(INITIAL_DATA);\n                            CHECK_SUCCESS('Thanh toán thành công');\n                            closeAndReload();\n                        } catch (error) { CHECK_ERROR('Thao tác không thành công') }\n                    } else {\n                        const dataFake = { ...data }; delete dataFake['Id'];\n                        return ThanhToansEndpoint.update(IdThanhToan, dataFake)\n                            .then(res => CHECK_SUCCESS('Cập nhật thành công'))\n                            .catch(err => CHECK_ERROR('Thao tác không thành công'))\n                    }\n                }\n            }\n        })\n    }, [ConfirmContinue, DMKhoanThuId, IdThanhToan, closeAndReload, code, data, dataCongNo, dataIni, handleValidate]);\n\n    useKey('F1', handleSave);\n\n    const handleChangeTT = useCallback((name, value) => {\n        const { TongTien } = dataCongNo;\n        if (name !== 'TienThanhToan') {\n            setData(pre => ({ ...pre, [name]: value }))\n        } else {\n            setData((pre) => {\n                let dataThanhToan = { ...pre };\n                if (TongTien < value) return { ...dataThanhToan };\n                const tienCon = value === TongTien ? 0 : TongTien - value;\n                return { ...dataThanhToan, TienThanhToan: value, ConLai: tienCon };\n            })\n        }\n    }, [dataCongNo]);\n    const InfoKhachHang = useMemo(() => {\n        return (\n            <Row className=\"border rounded shadow p-0 bg-white rounded\">\n                <Col xs='12' className=\"infor-label mb-1 mt-2 font-weight-bold\">Khách hàng</Col>\n                <Col xs='7'>\n                    <FormControl colLabel='5' colValue='7' data={formDataLabel.DinhDanhCaNhan} value={(thongTinCaNhan && thongTinCaNhan.DinhDanhCaNhan) || null} />\n                    <FormGroup row><Col md='5'>Họ và tên</Col><Col md='7'>{`${thongTinCaNhan && thongTinCaNhan.HoVaTenDem} ${thongTinCaNhan && thongTinCaNhan.Ten}`}</Col></FormGroup>\n                </Col>\n                <Col xs='5'>\n                    <FormControl colLabel='5' colValue='7' data={formDataLabel.DienThoai} value={(thongTinCaNhan && thongTinCaNhan.DienThoai) || null} />\n                    <FormControl colLabel='5' colValue='7' data={formDataLabel.Birthday} value={(thongTinCaNhan && formatDate(thongTinCaNhan.Birthday)) || null} />\n                </Col>\n            </Row>\n        )\n    }, [thongTinCaNhan])\n    const InforThanhToan = useMemo(() => {\n        return (\n            <Row className=\"position-relative border rounded shadow p-0 bg-white \">\n                {dataCongNo && dataCongNo.TongTien === 0 && !IdThanhToan && <div id=\"payed\"><div id=\"text\">Đã thanh toán</div></div>}\n                <Col xs='12' className=\"infor-label mb-1 mt-2 font-weight-bold\">Thanh toán</Col>\n                {!IdThanhToan && <Col xs='7'><FormControl colLabel='6' colValue='6' data={formDataLabel.SoTien} value={formatNumber(dataCongNo.TongTien) || 0} /></Col>}\n                {/* <Col xs='6'><FormControl data={formData.DMKhoanThuId} value={(data && data.DMKhoanThuId)}\n                    onChange={(name, value) => handleChangeTT(name, value.Id)} /></Col> */}\n                <Col xs={!IdThanhToan ? '5' : '6'}><FormControl data={formData.NguoiLapPhieu} value={(data && data.NguoiLapPhieu) || null} onChange={handleChangeTT} /></Col>\n                <Col xs='6'><FormControl colLabel='5' colValue='7' data={formData.TienThanhToan} value={(data && data.TienThanhToan) || null} onChange={handleChangeTT} /></Col>\n                {!IdThanhToan && <Col xs='6'><FormControl colLabel='4' colValue='8' data={formData.ConLai} value={(data && data.ConLai) || null} /></Col>}\n                <Col xs='12'><FormControl data={formData.GhiChu} value={(data && data.GhiChu) || null} onChange={handleChangeTT} /></Col>\n            </Row>\n        )\n    }, [dataCongNo, IdThanhToan, data, handleChangeTT])\n    const keyPress = useCallback((e) => {\n        if (e.keyCode === 112) return null\n    }, [])\n    return (\n        <Card>\n            <CardHeader className=\"header-card-pay text-center\">\n                <label className=\"mb-0\">PHIẾU THANH TOÁN</label><br></br>\n                <div className=\"d-flex justify-content-center\">\n                    <label>Mã phiếu: {code}</label>\n                    <InputDate\n                        style={{ height: '2rem', width: '7rem' }}\n                        className=\"date-time pay-time\"\n                        value={(data && data.ThoiGian)}\n                        onChange={date => handleChangeTT('ThoiGian', date)}\n                    />\n                </div>\n            </CardHeader>\n            <CardBody>\n                {InfoKhachHang}\n                <hr className=\"hr-pay\"></hr>\n                {InforThanhToan}\n            </CardBody>\n            <CardFooter className=\"d-flex justify-content-end bg-white\">\n                <ButtonSave onClick={handleSave} disabled={dataCongNo.TongTien === 0 || IdThanhToan} onKeyDown={keyPress}>Thanh toán</ButtonSave>\n                <ButtonCancel onClick={onClose}>Hủy</ButtonCancel>\n            </CardFooter>\n        </Card >\n    )\n}\nexport default Index","export const formData = {\n    // DMKhoanThuId: {\n    //     field_name: 'DMKhoanThuId',\n    //     url: 'GDTCores/DMKhoanThus',\n    //     placeholder: 'Loại doanh thu',\n    //     title: 'Loại doanh thu',\n    //     fields: ['Code'],\n    //     type: 'data-select-odata',\n    //     value_field: 'Id',\n    //     value_label: 'Name',\n    //     value_type: 'uuid',\n    //     required: true,\n    //     disabled: true,\n    //     getFullValue: true,\n    //     hidden_label: true\n    // },\n    // DMDonViTinhId: {\n    //     field_name: 'DMDonViTinhId',\n    //     url: 'GDTCores/DMDonViTinhs',\n    //     placeholder: 'Đơn vị tính',\n    //     title: 'Loại doanh thu',\n    //     type: 'data-select-odata',\n    //     value_field: 'Id',\n    //     value_label: 'Name',\n    //     value_type: 'uuid',\n    //     required: true,\n    //     hidden_label: true\n    // },\n    NguoiLapPhieu: {\n        field_name: 'NguoiLapPhieu',\n        title: 'Người lập phiếu',\n        type: 'textbox',\n        required: true,\n        hidden_label: true\n    },\n    TienThanhToan: {\n        field_name: 'TienThanhToan',\n        title: 'Số tiền trả',\n        type: 'currency',\n        required: true,\n    },\n    ConLai: {\n        field_name: 'ConLai',\n        title: 'Còn lại',\n        type: 'currency',\n        disabled: true\n    },\n    GhiChu: {\n        field_name: 'GhiChu',\n        title: 'Nội dung',\n        type: 'textbox',\n        required: true,\n        hidden_label: true\n    },\n}\nexport const formDataLabel = {\n    DinhDanhCaNhan: {\n        field_name: 'DinhDanhCaNhan',\n        title: 'CMND',\n        type: 'label',\n        disabled: true\n    },\n    SoTien: {\n        field_name: 'SoTien',\n        title: 'Tổng tiền',\n        type: 'label',\n        required: true\n    },\n    DienThoai: {\n        field_name: 'DienThoai',\n        title: 'Điện thoại',\n        type: 'label'\n    },\n    Birthday: {\n        field_name: 'Birthday',\n        title: 'Ngày sinh',\n        type: 'label'\n    },\n}\nexport const CongNoData = {\n    \"SoTien\": 0,\n    \"IsThanhToan\": false\n}"],"names":["INITIAL_DOITUONG","_Enums_DoiTuong","KhachHang","INITIAL_LOAINO","Enums_LoaiNoNumber","DuAnNo","INITIAL_CONGNO","CongNoData","LoaiNo","DoiTuong","INITIAL_DATA","ThoiGian","formatISODate","Date","_ref","dataThanhToan","code","DMKhoanThuId","onClose","closeAndReload","dataDuAn","dataIni","Id","IdThanhToan","data","setData","useState","thongTinCaNhan","setThongTinCaNhan","dataCongNo","setDataCongNo","getTongTienDuAn","useCallback","async","DotThanhToan","IdDuAn","payed","QuyetToan","value","arrCongNo","CongNoEndpoint","getCongNoByDuAn","congNo","find","cn","IsThanhToan","soTienConLai","length","SoTien","pre","TongTien","IdCongNo","useEffect","ThongTinCaNhan","ConfirmContinue","text","Swal","title","icon","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","cancelButtonText","handleValidate","dataCheck","formData","listRequired","Object","values","filter","field","required","index","field_name","undefined","CHECK_WARNING","handleSave","e","arguments","then","res","preventDefault","GhiChu","dataSave","DuAnId","ConLai","TienConlai","NguoiLapPhieu","dataFake","ThanhToansEndpoint","update","CHECK_SUCCESS","catch","err","CHECK_ERROR","khoanThus","KhoanThusEndpoint","findByIdDuAn","ResultObj","TienThanhToan","add","getDataThanhToan","Code","KhoanThuId","ThanhToanId","DaTra","CongNoEndPoint","addCongNo","error","useKey","handleChangeTT","name","tienCon","InfoKhachHang","useMemo","_jsxs","Row","className","children","_jsx","Col","xs","FormControl","colLabel","colValue","formDataLabel","DinhDanhCaNhan","FormGroup","row","md","HoVaTenDem","Ten","DienThoai","Birthday","formatDate","InforThanhToan","id","formatNumber","onChange","keyPress","keyCode","Card","CardHeader","InputDate","style","height","width","date","CardBody","CardFooter","ButtonSave","onClick","disabled","onKeyDown","ButtonCancel","type","hidden_label"],"sourceRoot":""}