Compare commits

...

3 Commits

Author SHA1 Message Date
e32b3853a3 update 2024-08-10 01:08:32 +08:00
fc31bddddc update 2024-08-10 00:46:56 +08:00
dc2b34f013 feat: update menu text 2024-08-09 22:51:31 +08:00
8 changed files with 71 additions and 18 deletions

View File

@ -104,6 +104,24 @@ body #root{
}
}
.table-header-title{
position: relative;
top:8px;
line-height: 1.2;
margin-bottom: 5px;
.tips {
font-size: 12px;
color: #ccc;
//position: absolute;
}
}
.semi-checkbox-addon{
.table-header-title{
top:2px;
}
}
/***************** semi overrides ****************/
.semi-dropdown-item{
max-width: 500%;

View File

@ -42,7 +42,7 @@ export const BillList: React.FC<BillListProps> = (props) => {
showCols: string[]
}>({
showCols: [
"id", "merchant_ref", "student_number", "application_number", "initiated_paid_at", "delivered_at", "paid_at", "student_english_name", "student_email", "programme_chinese_name",
"id", "merchant_ref", "student_number", "application_number", "initiated_paid_at", "delivered_at", "paid_at", "student_english_name", "student_email", "programme_english_name",
"intake_year", "detail", "detail_confirms", "amount", "pay_amount", "actual_payment_amount", "pay_method", "status", "apply_status"
]
})
@ -149,13 +149,15 @@ export const BillList: React.FC<BillListProps> = (props) => {
},
{
title: t('bill.title_program_name'),
dataIndex: 'programme_english_name',
width: 250,
dataIndex: i18n.language == 'en-US' ? 'programme_english_name' : 'programme_chinese_name',
render: (_, record) => (i18n.language == 'en-US' ? record.programme_english_name : record.programme_chinese_name),
// dataIndex: i18n.language == 'en-US' ? 'programme_english_name' : 'programme_chinese_name',
},
{
title: t('bill.title_department'),
width: 200,
dataIndex: '',
dataIndex: 'department_english_name',
render: (_, record) => (i18n.language == 'en-US' ? record.department_english_name : record.department_chinese_name),
},
{

View File

@ -15,6 +15,7 @@ type SearchFormProps = {
}
type SearchFormFields = {
dateRange?: Date[];
delivered_at?: Date[];
student_number?: string;
merchant_ref?: string;
id?: string;
@ -32,8 +33,12 @@ const SearchForm: React.FC<SearchFormProps> = (props) => {
const params: BillQueryParams = {}
if (value.dateRange && value.dateRange.length == 2) {
params.start_date = dayjs(value.dateRange[0]).format('YYYY-MM-DD');
params.end_date = dayjs(value.dateRange[1]).format('YYYY-MM-DD');
params.start_initiated = dayjs(value.dateRange[0]).format('YYYY-MM-DD');
params.end_initiated = dayjs(value.dateRange[1]).format('YYYY-MM-DD');
}
if (value.delivered_at && value.delivered_at.length == 2) {
params.start_delivered = dayjs(value.delivered_at[0]).format('YYYY-MM-DD');
params.end_delivered = dayjs(value.delivered_at[1]).format('YYYY-MM-DD');
}
if (value.id) {
params.id = value.id;
@ -52,6 +57,11 @@ const SearchForm: React.FC<SearchFormProps> = (props) => {
if (value.confirm_status) {
params.confirm_status = value.confirm_status;
}
// 支付方式
if (value.payment_channel) {
params.payment_channel = value.payment_channel;
}
// 账单状态
if (value.bill_status) {
params.status = value.bill_status;
@ -59,10 +69,6 @@ const SearchForm: React.FC<SearchFormProps> = (props) => {
if(!props.showApply){
params.status = 'PAID'
}
// 支付方式
if (value.payment_channel) {
params.payment_channel = value.payment_channel;
}
// 排序
if(value.sort_by){
const [field, order] = value.sort_by.split(' ')
@ -72,7 +78,11 @@ const SearchForm: React.FC<SearchFormProps> = (props) => {
params.sort_field = 'id'
params.sort_order = 'DESC'
}
props.onSearch?.(params);
props.onSearch?.({
...params,
...value
});
}
const {t, i18n} = useTranslation();
// 根据语言变化更新订单状态options
@ -106,7 +116,10 @@ const SearchForm: React.FC<SearchFormProps> = (props) => {
</Form.DatePicker>
</Col>
<Col xxl={4} xl={6} md={8}>
<Form.Input showClear field='id' label="ID / Merchant Ref" trigger='blur' placeholder={t('base.please_enter')}/>
<Form.Input type={'number'} showClear field='id' label="ID" trigger='blur' placeholder={t('base.please_enter')}/>
</Col>
<Col xxl={4} xl={6} md={8}>
<Form.Input showClear field='merchant_ref' label="Merchant Ref" trigger='blur' placeholder={t('base.please_enter')}/>
</Col>
<Col xxl={4} xl={6} md={8}>
<Form.Input showClear field='student_number' label={t('base.student_number')} trigger='blur'
@ -142,7 +155,7 @@ const SearchForm: React.FC<SearchFormProps> = (props) => {
</Col>
<Col xxl={4} xl={6} md={8}>
<Form.Select
field="bill_type" style={{width: '100%'}}
field="confirm_bill_type" style={{width: '100%'}}
label={t('manual.bill_type')}
placeholder={t('manual.bill_type')}
>

View File

@ -31,7 +31,7 @@
"confirm_bill_number": "Confirm Bill Number",
"confirm_bill_type": "Confirm Bill",
"confirm_bill_type_batch": "Batch confirm Bill Type",
"confirm_confirm_title": "Confirm check the Bill?",
"confirm_confirm_title": "Confirm check and sync the Bill?",
"confirm_select_empty": "Require confirm bill data",
"confirm_student_number": "Confirm Student Number",
"confirm_success": "Confirm success!",
@ -94,7 +94,7 @@
"logout": "Logout",
"menu": {
"bill": "Bill Query",
"check": "Reconciliation",
"check": "Reconciliation / Sync",
"manual": "Manual Pay",
"permission": "Permission"
}

View File

@ -31,7 +31,7 @@
"confirm_bill_number": "确认账单编号",
"confirm_bill_type": "确认账单",
"confirm_bill_type_batch": "批量确认账单",
"confirm_confirm_title": "请确定对账此账单?",
"confirm_confirm_title": "请确定对账并同步此账单?",
"confirm_select_empty": "对账账单为空",
"confirm_student_number": "确认学号",
"confirm_success": "对账成功!",
@ -94,7 +94,7 @@
"logout": "注销登录",
"menu": {
"bill": "账单查询",
"check": "对账",
"check": "对账/同步",
"manual": "现场支付",
"permission": "权限管理"
}

View File

@ -31,7 +31,7 @@
"confirm_bill_number": "確認帳單編號",
"confirm_bill_type": "確認賬單",
"confirm_bill_type_batch": "批次確認帳單",
"confirm_confirm_title": "請確定對帳此帳單?",
"confirm_confirm_title": "請確定對帳并同步此帳單?",
"confirm_select_empty": "對帳帳單為空",
"confirm_student_number": "確認學號",
"confirm_success": "對帳成功!",
@ -94,7 +94,7 @@
"logout": "登出登入",
"menu": {
"bill": "帳單查詢",
"check": "對帳",
"check": "對帳/同步",
"manual": "現場支付",
"permission": "權限管理"
}

View File

@ -58,6 +58,8 @@ const BillReconciliation = () => {
title={'Notice'}
content={t('bill.confirm_confirm_title')}
onConfirm={() => confirmBill([_record.id])}
okText={t('base.confirm')}
cancelText={t('base.cancel')}
>
<Button
loading={state.checkingId == _record.id} size={'small'} theme={'solid'}

18
src/types/bill.d.ts vendored
View File

@ -33,12 +33,30 @@ declare type BillQueryParam = {
apply_status:string;
id:string|number;
merchant_ref:string;
/**
* @deprecated
*/
bill_type:string;
confirm_bill_type:string;
student_number:string;
application_number:string;
payment_channel:string;
/**
* @deprecated
*/
start_date:string;
/**
* @deprecated
*/
end_date:string;
start_initiated:string;
end_initiated:string;
start_delivered:string;
end_delivered:string;
merchant_ref:string;
/**
* @deprecated
*/
department:string;
confirm_status: ConfirmStatus;
sort_field:string;