Commit d4e780bb by tdgiang

update code

parent 58add8ae
...@@ -27,32 +27,26 @@ const SimpleForm = (props) => { ...@@ -27,32 +27,26 @@ const SimpleForm = (props) => {
const handleSubmit = async (event) => { const handleSubmit = async (event) => {
const newValue = trimObject(state) const newValue = trimObject(state)
console.log('newValue', newValue) props.showLoading()
console.log('isStore', isStore)
console.log('invoice', invoice)
console.log('payment', payment)
//props.showLoading()
const res = await createMerchant({ const res = await createMerchant({
...newValue, ...newValue,
is_admin_store: true, is_admin_store: isStore,
is_connect_hddt: true, is_connect_hddt: invoice,
is_connect_qr: true, is_connect_qr: payment,
})
props.hideLoading()
if (res.data.code == 200) {
history.push('/merchant')
if (res.data.code == 200) {
toast.success('Tạo pháp nhân thành công!', {
theme: 'colored',
}) })
//props.hideLoading() }
console.log('res', res) } else {
// if (res.data.code == 200) { toast.error(t(res.data.error), {
// history.push('/merchant') theme: 'colored',
// if (res.data.code == 200) { })
// toast.success('Tạo pháp nhân thành công!', { }
// theme: 'colored',
// })
// }
// } else {
// toast.error(t(res.data.error), {
// theme: 'colored',
// })
// }
} }
const handleChange = (event) => { const handleChange = (event) => {
...@@ -64,7 +58,7 @@ const SimpleForm = (props) => { ...@@ -64,7 +58,7 @@ const SimpleForm = (props) => {
} }
const { const {
merchan_name, merchant_name,
tax_code, tax_code,
address, address,
email, email,
...@@ -105,8 +99,8 @@ const SimpleForm = (props) => { ...@@ -105,8 +99,8 @@ const SimpleForm = (props) => {
label="Tên pháp nhân *" label="Tên pháp nhân *"
onChange={handleChange} onChange={handleChange}
type="text" type="text"
name="merchan_name" name="merchant_name"
value={merchan_name || ''} value={merchant_name || ''}
validators={['required']} validators={['required']}
errorMessages={[ errorMessages={[
'Không được để trống trường này', 'Không được để trống trường này',
......
...@@ -30,7 +30,7 @@ const ToolNotificate = (props) => { ...@@ -30,7 +30,7 @@ const ToolNotificate = (props) => {
const handeChangeActive = async (id, status_id) => { const handeChangeActive = async (id, status_id) => {
props.showLoading() props.showLoading()
const res = await changeStatusMerchant({ id, status_id }) const res = await changeStatusMerchant({ idGuid: id, status_id })
props.hideLoading() props.hideLoading()
if (res.data.code == 200) { if (res.data.code == 200) {
getData() getData()
......
...@@ -210,14 +210,14 @@ function TableList(props) { ...@@ -210,14 +210,14 @@ function TableList(props) {
</Select> </Select>
</TableCell> </TableCell>
<TableCell> <TableCell>
{checkRole(user, '/function/delete') ? ( {checkRole(user, '/merchant/delete') ? (
<Tooltip title="Xoá"> <Tooltip title="Xoá">
<IconButton <IconButton
onClick={() => { onClick={() => {
setSelected({ setSelected({
...row, ...row,
title: 'Xóa chức năng', title: 'Xóa pháp nhân',
content: `Bạn có muốn xóa chức năng ${row.name} hay không?`, content: `Bạn có muốn xóa pháp nhân ${row.merchant_name} hay không?`,
}) })
setOpen(true) setOpen(true)
}} }}
...@@ -230,13 +230,13 @@ function TableList(props) { ...@@ -230,13 +230,13 @@ function TableList(props) {
</IconButton> </IconButton>
</Tooltip> </Tooltip>
) : null} ) : null}
{checkRole(user, '/function/update') ? ( {checkRole(user, '/merchant/update') ? (
<Tooltip title="Cập nhật"> <Tooltip title="Cập nhật">
<IconButton <IconButton
onClick={() => { onClick={() => {
history.push({ history.push({
pathname: pathname:
'/function/update', '/merchant/update',
state: row.id, state: row.id,
}) })
}} }}
......
import React, { useState, useEffect } from 'react' import React, { useState, useEffect } from 'react'
import { ValidatorForm, TextValidator } from 'react-material-ui-form-validator' import { ValidatorForm, TextValidator } from 'react-material-ui-form-validator'
import { Button, Grid } from '@material-ui/core' import {
Button,
Grid,
FormControlLabel,
Checkbox,
Typography,
} from '@material-ui/core'
import { detailFunction, updateFunction } from 'app/apis/Functions/function' import { updateMerchant, detailMerchant } from 'app/apis/Functions/merchant'
import { showLoading, hideLoading } from 'app/redux/actions/loadingAction' import { showLoading, hideLoading } from 'app/redux/actions/loadingAction'
import { toast } from 'react-toastify' import { toast } from 'react-toastify'
import { Breadcrumb, SimpleCard } from 'app/components' import { Breadcrumb, SimpleCard } from 'app/components'
import { Link, useHistory, useLocation } from 'react-router-dom' import { Link, useHistory, useLocation } from 'react-router-dom'
import { trimObject } from 'app/config/Function' import { trimObject } from 'app/config/Function'
import { connect } from 'react-redux' import { connect } from 'react-redux'
import localStorageService from 'app/services/localStorageService' import { useTranslation } from 'react-i18next'
const SimpleForm = (props) => { const SimpleForm = (props) => {
const [state, setState] = useState({}) const [state, setState] = useState({})
const history = useHistory() const history = useHistory()
const [isStore, setIsStore] = useState(false)
const [invoice, setInvoice] = useState(false)
const [payment, setPayment] = useState(false)
const { t } = useTranslation()
const location = useLocation() const location = useLocation()
useEffect(() => { useEffect(() => {
getData() getData()
}, []) }, [])
useEffect(() => {
if (!invoice) {
setState({
...state,
hddt_tax_code: '',
hddt_username: '',
hddt_password: '',
hddt_character: '',
})
}
}, [invoice])
useEffect(() => {
if (!payment) {
setState({
...state,
qr_merchant_code: '',
qr_api_key: '',
qr_secret_key: '',
})
}
}, [payment])
const getData = async () => { const getData = async () => {
props.showLoading() props.showLoading()
const res = await detailFunction(location.state, {}) const res = await detailMerchant(location.state, {})
props.hideLoading() props.hideLoading()
if (res.data.code == 200 && res.data.data) { if (res.data.code == 200 && res.data.data) {
console.log(res.data.data)
setState(res.data.data) setState(res.data.data)
setInvoice(res.data.data?.is_connect_hddt)
setPayment(res.data.data?.is_connect_qr)
setIsStore(res.data.data?.is_admin_store)
} else if (res.data.code == 401) { } else if (res.data.code == 401) {
localStorageService.removeToken()
setTimeout(() => { setTimeout(() => {
history.push('/') history.push('/')
}, 100) }, 100)
} else { } else {
toast.error('Lấy thông tin bản ghi thất bại!', { toast.error(t(res.data.error), {
theme: 'colored', theme: 'colored',
}) })
} }
...@@ -39,22 +76,24 @@ const SimpleForm = (props) => { ...@@ -39,22 +76,24 @@ const SimpleForm = (props) => {
const handleSubmit = async (event) => { const handleSubmit = async (event) => {
const newValue = trimObject(state) const newValue = trimObject(state)
props.showLoading() props.showLoading()
const res = await updateFunction({ const res = await updateMerchant({
...newValue, ...newValue,
status: 1, is_admin_store: isStore,
is_default: true, is_connect_hddt: invoice,
is_connect_qr: payment,
}) })
props.hideLoading() props.hideLoading()
if (res.data.code == 200) { if (res.data.code == 200) {
history.push('/merchant') history.push('/merchant')
if (res.data.code == 200) { if (res.data.code == 200) {
toast.success('Cập nhật hành động thành công!', { toast.success('Tạo pháp nhân thành công!', {
theme: 'colored', theme: 'colored',
}) })
} }
} else { } else {
toast.error('Cập nhật hành động thất bại!', { toast.error(t(res.data.error), {
theme: 'colored', theme: 'colored',
}) })
} }
...@@ -68,11 +107,23 @@ const SimpleForm = (props) => { ...@@ -68,11 +107,23 @@ const SimpleForm = (props) => {
}) })
} }
const handleDateChange = (date) => { const {
setState({ ...state, date }) merchant_name,
} tax_code,
address,
const { description, name, code, url } = state email,
phone_number,
representative,
username,
password,
hddt_tax_code,
hddt_username,
hddt_password,
hddt_character,
qr_merchant_code,
qr_api_key,
qr_secret_key,
} = state
return ( return (
<div className="m-sm-30"> <div className="m-sm-30">
...@@ -98,60 +149,302 @@ const SimpleForm = (props) => { ...@@ -98,60 +149,302 @@ const SimpleForm = (props) => {
label="Tên pháp nhân *" label="Tên pháp nhân *"
onChange={handleChange} onChange={handleChange}
type="text" type="text"
name="name" name="merchant_name"
value={name || ''} value={merchant_name || ''}
validators={['required']}
errorMessages={[
'Không được để trống trường này',
]}
/>
</Grid>
<Grid item lg={6} md={6} sm={12} xs={12}>
<TextValidator
variant="outlined"
className="mb-4 w-full"
label="Mã số thuế *"
onChange={handleChange}
type="text"
name="tax_code"
value={tax_code || ''}
validators={['required']}
errorMessages={[
'Không được để trống trường này',
]}
/>
</Grid>
<Grid item lg={6} md={6} sm={12} xs={12}>
<TextValidator
variant="outlined"
className="mb-4 w-full"
label="Địa chỉ *"
onChange={handleChange}
type="text"
name="address"
value={address || ''}
validators={['required']}
errorMessages={[
'Không được để trống trường này',
]}
/>
</Grid>
<Grid item lg={6} md={6} sm={12} xs={12}>
<TextValidator
variant="outlined"
className="mb-4 w-full"
label="Email *"
onChange={handleChange}
type="text"
name="email"
value={email || ''}
validators={['required', 'isEmail']}
errorMessages={[
'Không được để trống trường này',
'Email không hợp lệ',
]}
/>
</Grid>
<Grid item lg={6} md={6} sm={12} xs={12}>
<TextValidator
variant="outlined"
className="mb-4 w-full"
label="Tên người đại diện *"
onChange={handleChange}
type="text"
name="representative"
value={representative || ''}
validators={['required']}
errorMessages={[
'Không được để trống trường này',
]}
/>
</Grid>
<Grid item lg={6} md={6} sm={12} xs={12}>
<TextValidator
variant="outlined"
className="mb-4 w-full"
label="Số điện thoại liên hệ *"
onChange={handleChange}
type="text"
name="phone_number"
value={phone_number || ''}
validators={[
'required',
'isNumber',
'minStringLength:10',
'maxStringLength:15',
]}
errorMessages={[
'Không được để trống trường này',
'Trường này phải nhập số ',
'Số điện thoại phải có ít nhất 10 chữ số',
'Số điện thoại nhiều nhất chỉ có 15 chữ số',
]}
/>
</Grid>
<Grid item lg={6} md={6} sm={12} xs={12}>
<TextValidator
variant="outlined"
className="mb-4 w-full"
disabled={true}
label="Tên đăng nhập *"
onChange={handleChange}
type="text"
name="username"
value={username || ''}
validators={['required']}
errorMessages={[
'Không được để trống trường này',
]}
/>
</Grid>
<Grid lg={12} md={12} sm={12} xs={12} item>
<FormControlLabel
className="min-w-288"
control={
<Checkbox
size="small"
color="primary"
onChange={(event) => {
console.log(
event.target.checked
)
setIsStore(event.target.checked)
}}
checked={isStore}
/>
}
label="Pháp nhân là chủ cửa hàng"
/>
</Grid>
<Grid lg={12} md={12} sm={12} xs={12} item>
<Typography variant="h6">
Thông tin tích hp
</Typography>
</Grid>
<Grid lg={12} md={12} sm={12} xs={12} item>
<FormControlLabel
className="min-w-288"
control={
<Checkbox
size="small"
name={'he1'}
color="primary"
onChange={(event) => {
setInvoice(event.target.checked)
}}
checked={invoice}
/>
}
label="Tích hợp hóa đơn"
/>
</Grid>
{invoice ? (
<Grid item lg={6} md={6} sm={12} xs={12}>
<TextValidator
variant="outlined"
className="mb-4 w-full"
label="Mã số thuế hoá đơn *"
onChange={handleChange}
type="text"
name="hddt_tax_code"
value={hddt_tax_code || ''}
validators={['required']} validators={['required']}
errorMessages={[ errorMessages={[
'Không được để trống trường này', 'Không được để trống trường này',
]} ]}
/> />
</Grid> </Grid>
) : null}
{invoice ? (
<Grid item lg={6} md={6} sm={12} xs={12}> <Grid item lg={6} md={6} sm={12} xs={12}>
<TextValidator <TextValidator
variant="outlined" variant="outlined"
className="mb-4 w-full" className="mb-4 w-full"
label="Mã code *" label="Tài khoản hoá đơn *"
onChange={handleChange} onChange={handleChange}
type="text" type="text"
name="code" name="hddt_username"
value={code || ''} value={hddt_username || ''}
validators={['required']} validators={['required']}
errorMessages={[ errorMessages={[
'Không được để trống trường này', 'Không được để trống trường này',
]} ]}
/> />
</Grid> </Grid>
) : null}
{invoice ? (
<Grid item lg={6} md={6} sm={12} xs={12}> <Grid item lg={6} md={6} sm={12} xs={12}>
<TextValidator <TextValidator
variant="outlined" variant="outlined"
className="mb-4 w-full" className="mb-4 w-full"
label="Đường dẫn *" label="Mật khẩu hoá đơn *"
onChange={handleChange} onChange={handleChange}
type="text" type="text"
name="url" name="hddt_password"
value={url || ''} value={hddt_password || ''}
validators={['required']} validators={['required']}
errorMessages={[ errorMessages={[
'Không được để trống trường này', 'Không được để trống trường này',
]} ]}
/> />
</Grid> </Grid>
) : null}
{invoice ? (
<Grid item lg={6} md={6} sm={12} xs={12}> <Grid item lg={6} md={6} sm={12} xs={12}>
<TextValidator <TextValidator
variant="outlined" variant="outlined"
className="mb-4 w-full" className="mb-4 w-full"
label="Mô tả " label="Chữ ký hoá đơn *"
onChange={handleChange} onChange={handleChange}
type="text" type="text"
name="description" name="hddt_character"
value={description || ''} value={hddt_character || ''}
//validators={['required']} validators={['required']}
errorMessages={[
'Không được để trống trường này',
]}
/>
</Grid>
) : null}
<Grid lg={12} md={12} sm={12} xs={12} item>
<FormControlLabel
className="min-w-288"
control={
<Checkbox
size="small"
color="primary"
name={'he2'}
onChange={(event) => {
setPayment(event.target.checked)
}}
checked={payment}
/>
}
label="Tích hợp thanh toán"
/>
</Grid>
{payment ? (
<Grid item lg={6} md={6} sm={12} xs={12}>
<TextValidator
variant="outlined"
className="mb-4 w-full"
label="Mã QR code *"
onChange={handleChange}
type="text"
name="qr_merchant_code"
value={qr_merchant_code || ''}
validators={['required']}
errorMessages={[
'Không được để trống trường này',
]}
/>
</Grid>
) : null}
{payment ? (
<Grid item lg={6} md={6} sm={12} xs={12}>
<TextValidator
variant="outlined"
className="mb-4 w-full"
label="API QR key *"
onChange={handleChange}
type="text"
name="qr_api_key"
value={qr_api_key || ''}
validators={['required']}
errorMessages={[
'Không được để trống trường này',
]}
/>
</Grid>
) : null}
{payment ? (
<Grid item lg={6} md={6} sm={12} xs={12}>
<TextValidator
variant="outlined"
className="mb-4 w-full"
label="Mật khẩu QR *"
onChange={handleChange}
type="text"
name="qr_secret_key"
value={qr_secret_key || ''}
validators={['required']}
errorMessages={[ errorMessages={[
'Không được để trống trường này', 'Không được để trống trường này',
]} ]}
/> />
</Grid> </Grid>
) : null}
</Grid> </Grid>
<Grid container justify={'flex-end'}> <Grid container justify={'flex-end'}>
<Link to="merchant"> <Link to="merchant">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment