Commit 83fbf918 authored by XieZhiXiong's avatar XieZhiXiong

Merge branch 'dev' into test

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