Commit 83fbf918 authored by XieZhiXiong's avatar XieZhiXiong

Merge branch 'dev' into test

parents b1f6a656 f8ff772e
......@@ -57,7 +57,7 @@
"god": "^0.2.4",
"immutability-helper": "^3.1.1",
"lingxi-design": "^1.0.8",
"lingxi-design-ui": "^1.1.16",
"lingxi-design-ui": "^1.1.17",
"lingxi-editor-core": "^1.0.6",
"lingxi-web": "^1.0.6",
"lint-staged": "^10.0.7",
......
This diff is collapsed.
......@@ -121,7 +121,7 @@ const Header: React.FC<HeaderPropsType> = (props) => {
<div id="floatSearch" className={cx(styles.header, styles.float)}>
<div className={styles.header_container}>
<div className={styles.logo}>
<img src={logo} />
<ImageBox width={145} height={50} imgUrl={logo} />
</div>
<div className={styles.mall_search}>
<div className={styles.mall_search_box}>
......
......@@ -10,6 +10,7 @@ import {
Modal,
Spin,
message,
Empty,
} from 'antd';
import { createFormActions, FormEffectHooks } from '@formily/antd';
import lodash from 'lodash';
......@@ -503,68 +504,73 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
<Spin spinning={billInfoLoading}>
{!visibleRecord ? (
<>
<Row
gutter={100}
align="middle"
style={{
marginBottom: 24,
}}
>
<Col span={14}>
<div className={styles.repayment}>
<div className={styles['repayment-left']}>
<div className={styles.statistic}>
<div className={styles['statistic-title']}>剩余应还(元):</div>
<div className={styles['statistic-amount']}>{billInfo?.residueRepayQuota}</div>
{!billInfoLoading && billInfo && (<>
<Row
gutter={100}
align="middle"
style={{
marginBottom: 24,
}}
>
<Col span={14}>
<div className={styles.repayment}>
<div className={styles['repayment-left']}>
<div className={styles.statistic}>
<div className={styles['statistic-title']}>剩余应还(元):</div>
<div className={styles['statistic-amount']}>{billInfo?.residueRepayQuota}</div>
</div>
<div className={styles['repayment-end']}>
<span className={styles['repayment-time']}>
{billInfo?.expireTime} 到期
</span>
<StatusTag
type="danger"
title={
billInfo && billInfo.expireDay !== undefined ?
billInfo.expireDay > 0 ? `${billInfo.expireDay}天后` : `逾期 ${billInfo.expireDay} 天` :
''
}
/>
</div>
</div>
<div className={styles['repayment-end']}>
<span className={styles['repayment-time']}>
{billInfo?.expireTime} 到期
</span>
<StatusTag
type="danger"
title={
billInfo && billInfo.expireDay !== undefined ?
billInfo.expireDay > 0 ? `${billInfo.expireDay}天后` : `逾期 ${billInfo.expireDay} 天` :
''
}
/>
<div className={styles['repayment-right']}>
<Button type="primary" onClick={() => this.handleRepayment(true)}>立即还款</Button>
</div>
</div>
<div className={styles['repayment-right']}>
<Button type="primary" onClick={() => this.handleRepayment(true)}>立即还款</Button>
</div>
</div>
</Col>
<Col span={10}>
<div className={styles.statistic}>
<div className={styles['statistic-title']}>本期账单(元):</div>
<div className={styles['statistic-amount']}>{billInfo?.billQuota}</div>
</div>
</Col>
</Row>
<div className={styles.foot}>
<Row>
<Col span={8}>
<div className={styles.badgeWrap}>
<Badge color="#EF6260" text={(<span className={styles['badgeWrap-title']}>最后还款日期:</span>)} />
<span className={styles['badgeWrap-content']}>{billInfo?.lastRepayDate}</span>
</div>
</Col>
<Col span={8}>
<div className={styles.badgeWrap}>
<Badge color="#DFE1E6" text={(<span className={styles['badgeWrap-title']}>还款周期:</span>)} />
<span className={styles['badgeWrap-content']}>{billInfo?.repayPeriod}</span>
</div>
</Col>
<Col span={8}>
<div className={styles.badgeWrap}>
<Badge color="#DFE1E6" text={(<span className={styles['badgeWrap-title']}>账单日期:</span>)} />
<span className={styles['badgeWrap-content']}>{billInfo?.billDay}</span>
<Col span={10}>
<div className={styles.statistic}>
<div className={styles['statistic-title']}>本期账单(元):</div>
<div className={styles['statistic-amount']}>{billInfo?.billQuota}</div>
</div>
</Col>
</Row>
</div>
<div className={styles.foot}>
<Row>
<Col span={8}>
<div className={styles.badgeWrap}>
<Badge color="#EF6260" text={(<span className={styles['badgeWrap-title']}>最后还款日期:</span>)} />
<span className={styles['badgeWrap-content']}>{billInfo?.lastRepayDate}</span>
</div>
</Col>
<Col span={8}>
<div className={styles.badgeWrap}>
<Badge color="#DFE1E6" text={(<span className={styles['badgeWrap-title']}>还款周期:</span>)} />
<span className={styles['badgeWrap-content']}>{billInfo?.repayPeriod}</span>
</div>
</Col>
<Col span={8}>
<div className={styles.badgeWrap}>
<Badge color="#DFE1E6" text={(<span className={styles['badgeWrap-title']}>账单日期:</span>)} />
<span className={styles['badgeWrap-content']}>{billInfo?.billDay}</span>
</div>
</Col>
</Row>
</div>
</>)}
{!billInfoLoading && !billInfo && (
<Empty style={{ marginTop: 80 }} />
)}
</>
) : (
<TradeRecord fetchRecordList={this.getRecordList} ref={node => this.tradeRecordRef = node} />
......
......@@ -116,8 +116,6 @@ const RefundModal: React.FC<RefundModalProps> = (props) => {
});
createEffects($, actions);
console.log('123')
useAsyncSelect('tradeChannel', getPayChannels, ['label', 'value']);
}}
expressionScope={{
......
......@@ -2,11 +2,11 @@
* @Author: XieZhiXiong
* @Date: 2020-12-30 14:49:11
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-12-30 14:56:41
* @LastEditTime: 2021-01-04 10:50:14
* @Description:
*/
import { ISchema } from '@formily/antd';
import { UPLOAD_TYPE } from '@/constants';
import { PATTERN_MAPS } from '@/constants/regExp';
export const repaymentModalSchema: ISchema = {
type: 'object',
......@@ -25,12 +25,17 @@ export const repaymentModalSchema: ISchema = {
'x-component-props': {
placeholder: '',
addonBefore: '¥',
step: 0.01,
},
'x-rules': [
{
required: true,
message: '请填写还款金额',
},
{
pattern: /^[1-9]+[0-9]*(?:\.\d{0,2})?$/,
message: '请填写大于0的正数',
},
],
},
amountSlide: {
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-09-29 15:51:31
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 10:01:52
* @LastEditTime: 2021-01-04 10:44:01
* @Description:
*/
import { ISchema } from '@formily/antd';
......@@ -48,6 +48,7 @@ export const editModalSchema: ISchema = {
// label: '{{MaxMarks}}',
// },
// },
step: 0.01,
style: {
margin: '0 20px 28px'
},
......
......@@ -289,9 +289,9 @@ const QuotaMenage: React.FC = () => {
} = data;
return {
memberTypeName: memberTypes.map(item => ({ label: item.memberTypeName, value: item.memberTypeId })),
memberRoleName: roles.map(item => ({ label: item.roleName, value: item.roleId })),
memberLevelName: levels.map(item => ({ label: item.levelTag, value: item.level })),
level: memberTypes.map(item => ({ label: item.memberTypeName, value: item.memberTypeId })),
memberTypeId: roles.map(item => ({ label: item.roleName, value: item.roleId })),
subRoleId: levels.map(item => ({ label: item.levelTag, value: item.level })),
};
}
return {};
......@@ -328,7 +328,7 @@ const QuotaMenage: React.FC = () => {
fetchSearchItems,
);
useAsyncInitSelect(
['memberLevelName', 'memberTypeName', 'memberRoleName'],
['level', 'memberTypeId', 'subRoleId'],
fetchSearchMemberItems,
);
}}
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-09-27 17:47:42
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-10-27 15:28:17
* @LastEditTime: 2021-01-04 10:26:01
* @Description:
*/
import { ISchema } from '@formily/antd';
......@@ -35,7 +35,7 @@ export const listSearchSchema: ISchema = {
columns: 6,
},
properties: {
memberLevelName: {
level: {
type: 'string',
default: undefined,
enum: [],
......@@ -44,7 +44,7 @@ export const listSearchSchema: ISchema = {
allowClear: true,
},
},
memberTypeName: {
memberTypeId: {
type: 'string',
default: undefined,
enum: [],
......@@ -53,7 +53,7 @@ export const listSearchSchema: ISchema = {
allowClear: true,
},
},
memberRoleName: {
subRoleId: {
type: 'string',
default: undefined,
enum: [],
......
......@@ -172,9 +172,9 @@ const QuotaPr1: React.FC = () => {
} = data;
return {
memberTypeName: memberTypes.map(item => ({ label: item.memberTypeName, value: item.memberTypeId })),
memberRoleName: roles.map(item => ({ label: item.roleName, value: item.roleId })),
memberLevelName: levels.map(item => ({ label: item.levelTag, value: item.level })),
memberTypeId: memberTypes.map(item => ({ label: item.memberTypeName, value: item.memberTypeId })),
subRoleId: roles.map(item => ({ label: item.roleName, value: item.roleId })),
level: levels.map(item => ({ label: item.levelTag, value: item.level })),
};
}
return {};
......@@ -206,7 +206,7 @@ const QuotaPr1: React.FC = () => {
fetchSearchItems,
);
useAsyncInitSelect(
['memberLevelName', 'memberTypeName', 'memberRoleName'],
['memberTypeId', 'subRoleId', 'level'],
fetchSearchMemberItems,
);
}}
......
......@@ -172,9 +172,9 @@ const QuotaPr1: React.FC = () => {
} = data;
return {
memberTypeName: memberTypes.map(item => ({ label: item.memberTypeName, value: item.memberTypeId })),
memberRoleName: roles.map(item => ({ label: item.roleName, value: item.roleId })),
memberLevelName: levels.map(item => ({ label: item.levelTag, value: item.level })),
memberTypeId: memberTypes.map(item => ({ label: item.memberTypeName, value: item.memberTypeId })),
subRoleId: roles.map(item => ({ label: item.roleName, value: item.roleId })),
level: levels.map(item => ({ label: item.levelTag, value: item.level })),
};
}
return {};
......@@ -206,7 +206,7 @@ const QuotaPr1: React.FC = () => {
fetchSearchItems,
);
useAsyncInitSelect(
['memberLevelName', 'memberTypeName', 'memberRoleName'],
['memberTypeId', 'subRoleId', 'level'],
fetchSearchMemberItems,
);
}}
......
......@@ -172,9 +172,9 @@ const QuotaPr3: React.FC = () => {
} = data;
return {
memberTypeName: memberTypes.map(item => ({ label: item.memberTypeName, value: item.memberTypeId })),
memberRoleName: roles.map(item => ({ label: item.roleName, value: item.roleId })),
memberLevelName: levels.map(item => ({ label: item.levelTag, value: item.level })),
memberTypeId: memberTypes.map(item => ({ label: item.memberTypeName, value: item.memberTypeId })),
subRoleId: roles.map(item => ({ label: item.roleName, value: item.roleId })),
level: levels.map(item => ({ label: item.levelTag, value: item.level })),
};
}
return {};
......@@ -206,7 +206,7 @@ const QuotaPr3: React.FC = () => {
fetchSearchItems,
);
useAsyncInitSelect(
['memberLevelName', 'memberTypeName', 'memberRoleName'],
['memberTypeId', 'subRoleId', 'level'],
fetchSearchMemberItems,
);
}}
......
......@@ -172,9 +172,9 @@ const QuotaPrConfirm: React.FC = () => {
} = data;
return {
memberTypeName: memberTypes.map(item => ({ label: item.memberTypeName, value: item.memberTypeId })),
memberRoleName: roles.map(item => ({ label: item.roleName, value: item.roleId })),
memberLevelName: levels.map(item => ({ label: item.levelTag, value: item.level })),
memberTypeId: memberTypes.map(item => ({ label: item.memberTypeName, value: item.memberTypeId })),
subRoleId: roles.map(item => ({ label: item.roleName, value: item.roleId })),
level: levels.map(item => ({ label: item.levelTag, value: item.level })),
};
}
return {};
......@@ -206,7 +206,7 @@ const QuotaPrConfirm: React.FC = () => {
fetchSearchItems,
);
useAsyncInitSelect(
['memberLevelName', 'memberTypeName', 'memberRoleName'],
['memberTypeId', 'subRoleId', 'level'],
fetchSearchMemberItems,
);
}}
......
......@@ -172,9 +172,9 @@ const QuotaPrSubmit: React.FC = () => {
} = data;
return {
memberTypeName: memberTypes.map(item => ({ label: item.memberTypeName, value: item.memberTypeId })),
memberRoleName: roles.map(item => ({ label: item.roleName, value: item.roleId })),
memberLevelName: levels.map(item => ({ label: item.levelTag, value: item.level })),
memberTypeId: memberTypes.map(item => ({ label: item.memberTypeName, value: item.memberTypeId })),
subRoleId: roles.map(item => ({ label: item.roleName, value: item.roleId })),
level: levels.map(item => ({ label: item.levelTag, value: item.level })),
};
}
return {};
......@@ -206,7 +206,7 @@ const QuotaPrSubmit: React.FC = () => {
fetchSearchItems,
);
useAsyncInitSelect(
['memberLevelName', 'memberTypeName', 'memberRoleName'],
['memberTypeId', 'subRoleId', 'level'],
fetchSearchMemberItems,
);
}}
......
......@@ -59,7 +59,7 @@ export const listSearchSchema: ISchema = {
allowClear: true,
},
},
memberLevelName: {
level: {
type: 'string',
default: undefined,
enum: [],
......@@ -68,7 +68,7 @@ export const listSearchSchema: ISchema = {
allowClear: true,
},
},
memberTypeName: {
memberTypeId: {
type: 'string',
default: undefined,
enum: [],
......@@ -77,7 +77,7 @@ export const listSearchSchema: ISchema = {
allowClear: true,
},
},
memberRoleName: {
subRoleId: {
type: 'string',
default: undefined,
enum: [],
......
......@@ -188,19 +188,17 @@ const Bills: React.FC<{}> = () => {
title: '单据类型',
align: 'center',
dataIndex: 'invoicesType',
key: 'invoicesType',
},
{
title: '单据摘要',
align: 'center',
dataIndex: 'invoicesAbstract',
key: 'invoicesAbstract',
ellipsis: true,
},
{
title: '会员名称',
align: 'center',
dataIndex: 'memberName',
key: 'memberName',
},
{
title: '对应仓库',
......
......@@ -3,8 +3,11 @@
.theme-mall-science {
font-size: 14px;
--mall_main_color: #00B37A;
--mall_main_color_opacity_2: rgba(211, 47, 47, .2);
--mall_sub_color: rgba(211, 47, 47, 0.1);
--mall_main_color_opacity_2: #daf2e7;
--mall_sub_color: #daf2e7;
// --mall_main_color: #D32F2F;
// --mall_main_color_opacity_2: rgba(211, 47, 47, .2);
// --mall_sub_color: rgba(211, 47, 47, 0.1);
--category_content_bg: #FFFFFF;
--category_content_title_text: #303133;
......
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