Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-platform
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陈智峰
jinfa-platform
Commits
3a9a4ed4
Commit
3a9a4ed4
authored
Oct 30, 2020
by
前端-许佳敏
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'test' into dev
parents
25d68206
1945326c
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
604 additions
and
12 deletions
+604
-12
index.tsx
src/pages/lxMall/commodityDetail/index.tsx
+1
-0
index.less
src/pages/lxMall/components/SearchNoResult/index.less
+47
-0
index.tsx
...s/payandSettle/creditApplication/quotaFormQuery/index.tsx
+194
-0
index.tsx
...es/payandSettle/creditApplication/quotaPrSubmit/index.tsx
+282
-0
index.ts
.../payandSettle/creditManage/quotaFormQuery/schema/index.ts
+80
-0
index.tsx
src/pages/payandSettle/creditManage/quotaPr1/index.tsx
+0
-12
No files found.
src/pages/lxMall/commodityDetail/index.tsx
View file @
3a9a4ed4
...
...
@@ -21,6 +21,7 @@ import jinhuodanIcon from '@/assets/imgs/jinhuodan.png'
import
styles
from
'./index.less'
import
{
GlobalConfig
}
from
'@/global/config'
import
{
isEmpty
}
from
'lodash'
import
{
LAYOUT_TYPE
,
COMMODITY_TYPE
,
OrderModalType
}
from
'@/constants'
const
Logistics_Type
=
{
...
...
src/pages/lxMall/components/SearchNoResult/index.less
0 → 100644
View file @
3a9a4ed4
.no_result {
padding: 120px 0 120px 287px;
&_tip {
font-size: 14px;
color: #D32F2F;
font-weight: 500;
display: flex;
&_text {
line-height: 30px;
}
&_search {
color: #303133;
}
&_img {
width: 30px;
height: 30px;
overflow: hidden;
margin-right: 16px;
&>img {
width: 30px;
height: 30px;
}
}
}
&_suggest {
margin-top: 12px;
font-size: 12px;
color: #909399;
padding-left: 46px;
&_list {
padding: 0;
margin: 0;
&>li {
list-style: none;
}
}
}
}
\ No newline at end of file
src/pages/payandSettle/creditApplication/quotaFormQuery/index.tsx
0 → 100644
View file @
3a9a4ed4
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
{
Card
,
Badge
,
Progress
,
Button
}
from
'antd'
;
import
{
ClockCircleOutlined
,
}
from
'@ant-design/icons'
;
import
{
StandardTable
}
from
'god'
;
import
moment
from
'moment'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
coverColFiltersItem
}
from
'@/utils'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT_OUTER_STATUS_TAG_MAP
,
CREDIT_INNER_STATUS_BADGE_MAP
,
}
from
'../../constant'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
const
QuotaFormQuery
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
defaultColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'申请单号/时间'
,
dataIndex
:
'applyNo'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail?id=${record.id}&creditId=${record.creditId}`
}
>
{
text
}
</
EyePreview
>
<
div
>
<
ClockCircleOutlined
/>
{
record
.
applyTime
}
</
div
>
</>
),
},
{
title
:
'会员归属'
,
dataIndex
:
'parentMemberName'
,
align
:
'center'
,
},
{
title
:
'会员类型'
,
dataIndex
:
'memberTypeName'
,
align
:
'center'
,
},
{
title
:
'会员角色'
,
dataIndex
:
'memberRoleName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<>
{
text
}
</>,
},
{
title
:
'所属会员等级'
,
dataIndex
:
'memberLevelName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<>
{
text
}
</>,
},
{
title
:
'调整前额度(元)'
,
dataIndex
:
'originalQuota'
,
align
:
'center'
,
},
{
title
:
'申请调整后额度(元)'
,
dataIndex
:
'applyQuota'
,
align
:
'center'
,
},
{
title
:
'外部状态'
,
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
outerStatus
===
value
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
{
CREDIT_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
innerStatus
===
value
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
CREDIT_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
];
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
fetchListData
=
(
params
:
any
)
=>
{
const
{
startTime
,
endTime
,
...
rest
}
=
params
;
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getPayCreditApplyPageCreditApply
({
startTime
:
startTime
?
moment
(
startTime
).
format
(
'YYYY-MM-DD'
)
:
null
,
endTime
:
startTime
?
moment
(
startTime
).
format
(
'YYYY-MM-DD'
)
:
null
,
...
rest
,
})
.
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
);
}
reject
();
})
.
catch
(()
=>
{
reject
();
});
});
};
// 初始化高级筛选选项
const
fetchSearchItems
=
async
()
=>
{
const
res
=
await
PublicApi
.
getPayCreditApplyPageItemsByConsumer
();
if
(
res
.
code
===
1000
)
{
const
{
data
}
=
res
;
const
{
outerStatusList
=
[],
innerStatusList
=
[],
}
=
data
;
const
newColumns
=
columns
.
slice
();
// filter 0 过滤掉全部选项
coverColFiltersItem
(
newColumns
,
'outerStatusName'
,
outerStatusList
.
map
(
item
=>
({
text
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
);
coverColFiltersItem
(
newColumns
,
'innerStatusName'
,
innerStatusList
.
map
(
item
=>
({
text
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
);
setColumns
(
newColumns
);
return
{
outerStatus
:
outerStatusList
.
map
(
item
=>
({
label
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
innerStatus
:
innerStatusList
.
map
(
item
=>
({
label
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
};
}
return
{};
};
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'applyNo'
,
FORM_FILTER_PATH
,
);
useAsyncInitSelect
(
[
'innerStatus'
,
'outerStatus'
],
fetchSearchItems
,
);
}
}
schema=
{
listSearchSchema
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
);
};
export
default
QuotaFormQuery
;
\ No newline at end of file
src/pages/payandSettle/creditApplication/quotaPrSubmit/index.tsx
0 → 100644
View file @
3a9a4ed4
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
{
Card
,
Badge
,
Progress
,
Button
,
Popconfirm
,
message
,
}
from
'antd'
;
import
{
ClockCircleOutlined
,
}
from
'@ant-design/icons'
;
import
{
StandardTable
}
from
'god'
;
import
{
history
}
from
'umi'
;
import
moment
from
'moment'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
coverColFiltersItem
}
from
'@/utils'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT_INNER_STATUS_UNCOMMITTED
,
CREDIT_OUTER_STATUS_FAILED
,
}
from
'@/constants'
;
import
{
CREDIT_OUTER_STATUS_TAG_MAP
,
CREDIT_INNER_STATUS_BADGE_MAP
,
}
from
'../../constant'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
const
QuotaPrSubmit
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
handleSubmit
=
record
=>
{
const
msg
=
message
.
loading
({
content
:
'正在提交'
,
duration
:
0
,
});
PublicApi
.
postPayCreditApplySubmitCreditApply
({
applyId
:
record
.
id
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
();
}
}).
finally
(()
=>
{
msg
();
});
};
const
handleJumpVerify
=
record
=>
{
history
.
push
(
`/memberCenter/payandSettle/creditApplication/quotaPrSubmit/verify?id=
${
record
.
id
}
&creditId=
${
record
.
creditId
}
`
);
};
const
handleDelete
=
record
=>
{
const
msg
=
message
.
loading
({
content
:
'正在删除'
,
duration
:
0
,
});
PublicApi
.
postPayCreditApplyDeleteCreditApply
({
applyId
:
record
.
id
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
();
}
}).
finally
(()
=>
{
msg
();
});
};
const
defaultColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'申请单号/时间'
,
dataIndex
:
'applyNo'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/payandSettle/creditApplication/quotaPrSubmit/detail?id=${record.id}&creditId=${record.creditId}`
}
>
{
text
}
</
EyePreview
>
<
div
>
<
ClockCircleOutlined
/>
{
record
.
applyTime
}
</
div
>
</>
),
},
{
title
:
'会员归属'
,
dataIndex
:
'parentMemberName'
,
align
:
'center'
,
},
{
title
:
'会员类型'
,
dataIndex
:
'memberTypeName'
,
align
:
'center'
,
},
{
title
:
'会员角色'
,
dataIndex
:
'memberRoleName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<>
{
text
}
</>,
},
{
title
:
'所属会员等级'
,
dataIndex
:
'memberLevelName'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
<>
{
text
}
</>,
},
{
title
:
'调整前额度(元)'
,
dataIndex
:
'originalQuota'
,
align
:
'center'
,
},
{
title
:
'申请调整后额度(元)'
,
dataIndex
:
'applyQuota'
,
align
:
'center'
,
},
{
title
:
'外部状态'
,
dataIndex
:
'outerStatus'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
outerStatus
===
value
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
{
CREDIT_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
record
.
outerStatusName
}
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatus'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
innerStatus
===
value
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
CREDIT_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
record
.
innerStatusName
}
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
{
record
.
outerStatus
===
CREDIT_INNER_STATUS_UNCOMMITTED
&&
(
<
Button
type=
"link"
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
提交
</
Button
>
)
}
{
record
.
outerStatus
===
CREDIT_INNER_STATUS_UNCOMMITTED
&&
(
<
Popconfirm
title=
"确定要删除吗?"
okText=
"是"
cancelText=
"否"
onConfirm=
{
()
=>
handleDelete
(
record
)
}
>
<
Button
type=
"link"
danger
>
删除
</
Button
>
</
Popconfirm
>
)
}
{
record
.
outerStatus
===
CREDIT_OUTER_STATUS_FAILED
&&
(
<
Button
type=
"link"
onClick=
{
()
=>
handleJumpVerify
(
record
)
}
>
编辑
</
Button
>
)
}
</>
),
},
];
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
fetchListData
=
(
params
:
any
)
=>
{
const
{
startTime
,
endTime
,
...
rest
}
=
params
;
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getPayCreditApplyPageWaitSubmitCreditApply
({
startTime
:
startTime
?
moment
(
startTime
).
format
(
'YYYY-MM-DD'
)
:
null
,
endTime
:
startTime
?
moment
(
startTime
).
format
(
'YYYY-MM-DD'
)
:
null
,
...
rest
,
})
.
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
);
}
reject
();
})
.
catch
(()
=>
{
reject
();
});
});
};
// 初始化高级筛选选项
const
fetchSearchItems
=
async
()
=>
{
const
res
=
await
PublicApi
.
getPayCreditApplyPageItemsByConsumer
();
if
(
res
.
code
===
1000
)
{
const
{
data
}
=
res
;
const
{
outerStatusList
=
[],
innerStatusList
=
[],
}
=
data
;
const
newColumns
=
columns
.
slice
();
// filter 0 过滤掉全部选项
coverColFiltersItem
(
newColumns
,
'outerStatus'
,
outerStatusList
.
map
(
item
=>
({
text
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
);
coverColFiltersItem
(
newColumns
,
'innerStatus'
,
innerStatusList
.
map
(
item
=>
({
text
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
);
setColumns
(
newColumns
);
return
{
outerStatus
:
outerStatusList
.
map
(
item
=>
({
label
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
innerStatus
:
innerStatusList
.
map
(
item
=>
({
label
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
};
}
return
{};
};
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'applyNo'
,
FORM_FILTER_PATH
,
);
useAsyncInitSelect
(
[
'innerStatus'
,
'outerStatus'
],
fetchSearchItems
,
);
}
}
schema=
{
listSearchSchema
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
);
};
export
default
QuotaPrSubmit
;
\ No newline at end of file
src/pages/payandSettle/creditManage/quotaFormQuery/schema/index.ts
0 → 100644
View file @
3a9a4ed4
/*
* @Author: XieZhiXiong
* @Date: 2020-09-29 10:03:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-09-30 15:40:16
* @Description:
*/
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
;
export
const
listSearchSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
applyNo
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
align
:
'flex-left'
,
tip
:
'输入 申请单号、会员归属 进行搜索'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
'[startTime, endTime]'
:
{
type
:
'string'
,
default
:
''
,
'x-component'
:
'dateSelect'
,
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
outerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'外部状态(全部)'
,
allowClear
:
true
,
},
},
innerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'内部状态(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
\ No newline at end of file
src/pages/payandSettle/creditManage/quotaPr1/index.tsx
View file @
3a9a4ed4
...
...
@@ -94,10 +94,6 @@ const QuotaPr1: React.FC = () => {
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
<
<<<<<<
HEAD
<<<<<<<<
HEAD
:
src
/
pages
/
payandSettle
/
creditManage
/
quotaPr1
/
index
.
tsx
=======
>
>>>>>>
dev
render
:
(
text
,
record
)
=>
<
Badge
color=
{
CREDIT_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
},
{
...
...
@@ -114,14 +110,6 @@ const QuotaPr1: React.FC = () => {
</
Button
>
</>
),
<
<<<<<<
HEAD
========
filters
:
[],
onFilter
:
(
value
,
record
)
=
>
record.innerStatus === value,
render: (text, record) =
>
<
Badge
color=
{
CREDIT_INNER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>
,
>>>>>>>>
dev:src/pages/payandSettle/creditApplication/quotaFormQuery/index.tsx
=======
>>>>>>>
dev
},
];
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment