Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-admin
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
linweijiong
jinfa-admin
Commits
75e0011c
Commit
75e0011c
authored
Nov 12, 2020
by
前端-黄佳鑫
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增系统管理页面
parent
cfcfb367
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
722 additions
and
134 deletions
+722
-134
index.ts
config/routes/index.ts
+2
-0
rfqOfferRoute.ts
config/routes/rfqOfferRoute.ts
+2
-1
systemManageRoute.ts
config/routes/systemManageRoute.ts
+82
-0
global.less
src/global.less
+5
-1
global.d.ts
src/global/config/global.d.ts
+1
-1
menu.ts
src/locales/zh-CN/menu.ts
+12
-0
index.tsx
src/pages/rfq/details/index.tsx
+12
-55
index.tsx
src/pages/rfq/list/index.tsx
+1
-1
index.tsx
src/pages/rfqOffer/details/index.tsx
+80
-74
index.tsx
src/pages/rfqOffer/list/index.tsx
+1
-1
index.tsx
src/pages/systemManage/effect/index.tsx
+0
-0
index.tsx
src/pages/systemManage/exchangeRate/index.tsx
+108
-0
template.tsx
src/pages/systemManage/exchangeRate/template.tsx
+64
-0
index.tsx
src/pages/systemManage/platformArg/index.tsx
+56
-0
index.tsx
src/pages/systemManage/sensitiveWords/index.tsx
+111
-0
template.tsx
src/pages/systemManage/sensitiveWords/template.tsx
+45
-0
index.tsx
src/pages/systemManage/unit/index.tsx
+96
-0
template.tsx
src/pages/systemManage/unit/template.tsx
+44
-0
No files found.
config/routes/index.ts
View file @
75e0011c
...
...
@@ -23,6 +23,7 @@ import contentRoute from './contentRoute'; // 内容管理
import
balancedRoute
from
'./balancedRoute'
;
// 平台结算管理
import
capitalAccount
from
'./capitalAccountRoute'
;
// 会员资金账户
import
messageRoute
from
'./messgeRoute'
;
// 消息管理
import
systemManageRoute
from
'./systemManageRoute'
;
// 系统管理
const
routeList
=
[
pageCustomized
,
calssPropertyRoute
,
...
...
@@ -41,6 +42,7 @@ const routeList = [
enquiryOfferRoute
,
capitalAccount
,
messageRoute
,
systemManageRoute
,
]
const
router
=
[
...
...
config/routes/rfqOfferRoute.ts
View file @
75e0011c
...
...
@@ -26,7 +26,7 @@ const router = {
name
:
'inquiryDetails'
,
hideInMenu
:
true
,
hidePageHeader
:
true
,
component
:
'@/pages/rfq
Offer
/details'
,
component
:
'@/pages/rfq/details'
,
}]
}
export
default
router
\ No newline at end of file
config/routes/systemManageRoute.ts
0 → 100644
View file @
75e0011c
/*
* @Author: HJX
* @Date: 2020-11-12 10:40:40
* @LastEditors: HJX
* @LastEditTime: 2020-11-12 10:40:40
* @RouterName: 系统管理
*/
const
router
=
{
path
:
'/system'
,
name
:
'system'
,
icon
:
'SmileOutlined'
,
routes
:
[{
// 敏感词列表
path
:
'/system/sensitiveWords'
,
name
:
'sensitiveWords'
,
hidePageHeader
:
true
,
component
:
'@/pages/systemManage/sensitiveWords'
,
},{
// 敏感词列表 - 新建
path
:
'/system/sensitiveWords/add'
,
name
:
'sensitiveWordsAdd'
,
hidePageHeader
:
true
,
hideInMenu
:
true
,
component
:
'@/pages/systemManage/sensitiveWords/template'
,
},{
// 敏感词列表 - 编辑
path
:
'/system/sensitiveWords/edit'
,
name
:
'sensitiveWordsEdit'
,
hidePageHeader
:
true
,
hideInMenu
:
true
,
component
:
'@/pages/systemManage/sensitiveWords/template'
,
},{
// 汇率列表
path
:
'/system/exchangeRate'
,
name
:
'exchangeRate'
,
hidePageHeader
:
true
,
component
:
'@/pages/systemManage/exchangeRate'
,
},{
// 汇率列表 - 新增
path
:
'/system/exchangeRate/add'
,
name
:
'exchangeRateAdd'
,
hidePageHeader
:
true
,
hideInMenu
:
true
,
component
:
'@/pages/systemManage/exchangeRate/template'
,
},{
// 汇率列表 - 编辑
path
:
'/system/exchangeRate/edit'
,
name
:
'exchangeRateEdit'
,
hidePageHeader
:
true
,
hideInMenu
:
true
,
component
:
'@/pages/systemManage/exchangeRate/template'
,
},{
// 单位列表
path
:
'/system/unit'
,
name
:
'unit'
,
hidePageHeader
:
true
,
component
:
'@/pages/systemManage/unit'
,
},{
// 单位列表 - 新增
path
:
'/system/unit/add'
,
name
:
'unitAdd'
,
hidePageHeader
:
true
,
hideInMenu
:
true
,
component
:
'@/pages/systemManage/unit/template'
,
},{
// 单位列表 - 编辑
path
:
'/system/unit/edit'
,
name
:
'unitEdit'
,
hidePageHeader
:
true
,
hideInMenu
:
true
,
component
:
'@/pages/systemManage/unit/template'
,
},{
// 平台参数列表
path
:
'/system/platformArg'
,
name
:
'platformArg'
,
hidePageHeader
:
true
,
component
:
'@/pages/systemManage/platformArg'
,
}]
}
export
default
router
\ No newline at end of file
src/global.less
View file @
75e0011c
...
...
@@ -368,5 +368,8 @@ ol {
}
}
// 没去掉会导致表格上搜索出现40的高度
.god-table-control {
margin-bottom: 0;
}
}
\ No newline at end of file
src/global/config/global.d.ts
View file @
75e0011c
...
...
@@ -50,7 +50,7 @@ export interface ShopInfo {
type
:
number
;
environment
:
number
;
logoUrl
:
string
;
describe
?:
any
;
describe
:
string
;
state
:
number
;
url
:
string
;
}
...
...
src/locales/zh-CN/menu.ts
View file @
75e0011c
...
...
@@ -207,5 +207,17 @@ export default {
'menu.message.messageList'
:
'消息列表'
,
'menu.message.addMessage'
:
'新建消息'
,
// 系统管理
'menu.system'
:
'系统管理'
,
'menu.system.sensitiveWords'
:
'敏感词'
,
'menu.system.sensitiveWordsAdd'
:
'新建敏感词'
,
'menu.system.sensitiveWordsEdit'
:
'编辑敏感词'
,
'menu.system.exchangeRate'
:
'汇率'
,
'menu.system.exchangeRateAdd'
:
'新建汇率'
,
'menu.system.exchangeRateEdit'
:
'编辑汇率'
,
'menu.system.unit'
:
'单位'
,
'menu.system.unitAdd'
:
'新建单位'
,
'menu.system.unitEdit'
:
'编辑单位'
,
'menu.system.platformArg'
:
'平他参数'
,
}
// export default utils.transformDataPre(data, 'menu')
src/pages/rfq/details/index.tsx
View file @
75e0011c
...
...
@@ -7,12 +7,16 @@ import { ColumnType } from 'antd/lib/table/interface';
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
moment
from
'moment'
;
const
{
TabPane
}
=
Tabs
;
const
{
Step
}
=
Steps
;
const
Details
:
React
.
FC
<
{}
>
=
(
props
)
=>
{
const
{
id
}
=
history
.
location
.
query
;
const
format
=
(
text
)
=>
{
return
<>
{
moment
(
text
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
}
</>
}
// 拿到pathname,通过判断来显示询价单号或报价单号
const
{
pathname
}
=
history
.
location
;
const
type
=
pathname
.
split
(
'/'
)[
pathname
.
split
(
'/'
).
length
-
2
];
...
...
@@ -113,12 +117,12 @@ const Details: React.FC<{}> = (props) => {
base
:
{
title
:
'交易条件'
,
leftElem
:
[
{
title
:
'交付日期'
,
key
:
''
,
value
:
data
.
deliveryTime
},
{
title
:
'交付日期'
,
key
:
''
,
value
:
format
(
data
.
deliveryTime
)
},
{
title
:
'交付地址'
,
key
:
''
,
value
:
data
.
fullAddress
},
{
title
:
'物流要求'
,
key
:
''
,
value
:
data
.
logistics
}
],
centerElem
:
[
{
title
:
'报价截止日期'
,
key
:
''
,
value
:
data
.
quotationAsTime
},
{
title
:
'报价截止日期'
,
key
:
''
,
value
:
format
(
data
.
quotationAsTime
)
},
{
title
:
'报价要求'
,
key
:
''
,
value
:
data
.
offer
},
{
title
:
'包装要求'
,
key
:
''
,
value
:
data
.
packRequire
},
],
...
...
@@ -127,23 +131,7 @@ const Details: React.FC<{}> = (props) => {
{
title
:
'税费要求'
,
key
:
''
,
value
:
data
.
taxes
},
{
title
:
'其他要求'
,
key
:
''
,
value
:
data
.
otherRequire
}
],
},
freight
:
{
title
:
'其他报价说明'
,
leftElem
:
[
{
title
:
'最小起订'
,
key
:
''
,
value
:
data
.
minimumOrder
},
{
title
:
'交付说明'
,
key
:
''
,
value
:
data
.
fullAddress
},
{
title
:
'付款说明'
,
key
:
''
,
value
:
data
.
paymentType
}
],
centerElem
:
[
{
title
:
'税费说明'
,
key
:
''
,
value
:
data
.
taxes
},
{
title
:
'物流说明'
,
key
:
''
,
value
:
data
.
logistics
},
{
title
:
'包装说明'
,
key
:
''
,
value
:
data
.
packRequire
},
],
rightElem
:
[
{
title
:
'其他说明'
,
key
:
''
,
value
:
data
.
otherRequire
}
],
},
}
}
// 外部流转记录&内部流转记录
const
flowRecord
=
{
...
...
@@ -159,6 +147,7 @@ const Details: React.FC<{}> = (props) => {
title
:
'状态'
,
key
:
'state'
,
dataIndex
:
'state'
,
render
:(
text
:
any
)
=>
ExternalState
(
text
)
},
{
title
:
'操作'
,
key
:
'operation'
,
...
...
@@ -167,44 +156,12 @@ const Details: React.FC<{}> = (props) => {
title
:
'操作时间'
,
key
:
'operationTime'
,
dataIndex
:
'operationTime'
,
render
:(
text
:
any
)
=>
format
(
text
)
},
{
title
:
'审核意见'
,
key
:
'auditOpinion'
,
dataIndex
:
'auditOpinion'
,
}],
interior
:
[{
title
:
'流转记录'
,
key
:
'inquiryListId'
,
dataIndex
:
'inquiryListId'
,
},
{
title
:
'操作人'
,
key
:
'roleName'
,
dataIndex
:
'roleName'
,
},
{
title
:
'部门'
,
key
:
'department'
,
dataIndex
:
'department'
,
},
{
title
:
'职位'
,
key
:
'position'
,
dataIndex
:
'position'
,
},
{
title
:
'状态'
,
key
:
'state'
,
dataIndex
:
'state'
,
},
{
title
:
'操作'
,
key
:
'operation'
,
dataIndex
:
'operation'
,
},
{
title
:
'操作时间'
,
key
:
'operationTime'
,
dataIndex
:
'operationTime'
,
},
{
title
:
'审核意见'
,
key
:
'auditOpinion'
,
dataIndex
:
'auditOpinion'
,
}],
}]
}
// 数据请求
...
...
@@ -254,7 +211,7 @@ const Details: React.FC<{}> = (props) => {
</
div
>
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
单据时间
</
div
>
<
div
>
{
data
.
voucherTime
}
</
div
>
<
div
>
{
format
(
data
.
voucherTime
)
}
</
div
>
</
div
>
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
外部状态
</
div
>
...
...
@@ -269,7 +226,7 @@ const Details: React.FC<{}> = (props) => {
<
Steps
style=
{
{
padding
:
'20px 0'
}
}
progressDot
current=
{
1
}
current=
{
Number
(
data
.
externalState
-
1
)
}
>
{
detailData
.
externalStateStep
.
items
.
map
((
item
,
index
)
=>
{
return
(
...
...
src/pages/rfq/list/index.tsx
View file @
75e0011c
...
...
@@ -6,7 +6,7 @@ import { ColumnType } from 'antd/lib/table/interface';
import
NiceForm
from
'@/components/NiceForm'
;
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
searchSelectGetSelectCategoryOptionEffect
}
from
'../effect'
import
{
searchSelectGetSelectCategoryOptionEffect
}
from
'../
../systemManage/
effect'
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
rfqSearchSchema
}
from
'../schema'
;
import
moment
from
'moment'
;
...
...
src/pages/rfqOffer/details/index.tsx
View file @
75e0011c
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
import
React
,
{
useState
,
useEffect
,
ReactNode
,
useRef
}
from
'react'
;
import
style
from
'./index.less'
import
{
history
}
from
'umi'
;
import
{
Button
,
Card
,
Tabs
,
Steps
,
Table
}
from
'antd'
;
import
{
Card
,
Tabs
,
Steps
,
Table
,
Tag
}
from
'antd'
;
import
{
LinkOutlined
}
from
'@ant-design/icons'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
EyeOutlined
,
ClockCircleOutlined
,
UpOutlined
,
DownOutlined
,
StopOutlined
,
CheckSquareOutlined
}
from
'@ant-design/icons'
import
ReutrnEle
from
'@/components/ReturnEle'
;
import
{
StandardTable
}
from
'god'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
moment
from
'moment'
;
import
{
StandardTable
}
from
'god'
;
const
{
TabPane
}
=
Tabs
;
const
{
Step
}
=
Steps
;
const
Details
:
React
.
FC
<
{}
>
=
(
props
)
=>
{
const
[
visible
,
setvisible
]
=
useState
(
false
)
const
ref
=
useRef
<
any
>
({});
//page_type: 1.待确认报价单,2.待审核报价单1级,3.待审核报价单2级,4.报价单查询,5.待提交审核报价单
//view: 1.询价单号,2.报价单号
const
{
id
}
=
history
.
location
.
query
;
const
[
headerWrapperData
,
setheaderWrapperData
]
=
useState
<
Array
<
any
>>
([]
);
const
ref
=
useRef
<
any
>
({}
);
// 拿到pathname,通过判断来显示询价单号或报价单号
const
{
pathname
}
=
history
.
location
;
const
type
=
pathname
.
split
(
'/'
)[
pathname
.
split
(
'/'
).
length
-
2
];
const
[
view
,
setview
]
=
useState
<
Number
>
(
1
);
const
format
=
(
text
)
=>
{
return
<>
{
moment
(
text
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
}
</>
}
// steps 切换
const
[
detailData
,
setDetailData
]
=
useState
<
any
>
({
externalStateStep
:
{
...
...
@@ -51,33 +49,6 @@ const Details: React.FC<{}> = (props) => {
]
},
interiorStateStep
:
{
current
:
0
,
title
:
'内部流转'
,
items
:
[
{
title
:
'采购员'
,
desc
:
'新增询价单'
,
},
{
title
:
'采购经理'
,
desc
:
'审核询价单'
,
},
{
title
:
'副总经理'
,
desc
:
'审核询价单'
,
},
{
title
:
'采购员'
,
desc
:
'提交询价单'
,
},
{
title
:
'完成'
,
desc
:
''
}
]
}
})
// 模拟数据
const
[
data
,
setdata
]
=
useState
<
any
>
({});
...
...
@@ -93,24 +64,24 @@ const Details: React.FC<{}> = (props) => {
render
:
(
text
:
any
,
record
:
any
)
=>
<
EyePreview
>
{
text
}
</
EyePreview
>
},
{
title
:
'品类'
,
key
:
'
inquiryListNo
'
,
dataIndex
:
'
inquiryListNo
'
,
key
:
'
category
'
,
dataIndex
:
'
category
'
,
},
{
title
:
'品牌'
,
key
:
'brand'
,
dataIndex
:
'brand'
,
},
{
title
:
'单位'
,
key
:
'
nu
it'
,
dataIndex
:
'
nu
it'
,
key
:
'
un
it'
,
dataIndex
:
'
un
it'
,
},
{
title
:
'采购数量'
,
key
:
'purchase
Quantity
'
,
dataIndex
:
'purchase
Quantity
'
,
key
:
'purchase
Count
'
,
dataIndex
:
'purchase
Count
'
,
},
{
title
:
'报价单价'
,
key
:
'pric'
,
dataIndex
:
'pric'
,
key
:
'pric
e
'
,
dataIndex
:
'pric
e
'
,
},
{
title
:
'金额'
,
key
:
'money'
,
...
...
@@ -149,6 +120,7 @@ const Details: React.FC<{}> = (props) => {
title
:
'状态'
,
key
:
'state'
,
dataIndex
:
'state'
,
render
:
(
text
:
any
)
=>
ExternalState
(
text
)
},
{
title
:
'操作'
,
key
:
'operation'
,
...
...
@@ -157,41 +129,83 @@ const Details: React.FC<{}> = (props) => {
title
:
'操作时间'
,
key
:
'operationTime'
,
dataIndex
:
'operationTime'
,
render
:
(
text
:
any
)
=>
format
(
text
)
},
{
title
:
'审核意见'
,
key
:
'auditOpinion'
,
dataIndex
:
'auditOpinion'
,
}],
}]
}
// 数据请求
useEffect
(()
=>
{
PublicApi
.
getOrderPlatformProductQuotationDetails
({
id
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
setdata
(
res
.
data
)
}
})
},
[])
const
ExternalState
=
(
text
:
any
)
=>
{
let
component
:
ReactNode
=
null
;
text
===
1
?
component
=
<
Tag
color=
"default"
>
提交询价单
</
Tag
>:
text
===
2
?
component
=
<
Tag
color=
"processing"
>
提交报价单
</
Tag
>:
text
===
3
?
component
=
<
Tag
color=
"warning"
>
确认报价单
</
Tag
>:
text
===
4
?
component
=
<
Tag
color=
"success"
>
报价通过
</
Tag
>:
component
=
<
Tag
color=
"error"
>
报价不通过
</
Tag
>
return
component
;
}
//询价商品
// const fetchData = (params:any) => {
// return new Promise(resolve => {
// PublicApi.getOrderInquiryDetails({...params,id}).then(res => {
// console.log(res, 10086)
// resolve(res.data)
// })
// })
// }
return
(
<
PageHeaderWrapper
className=
{
style
.
header
}
onBack=
{
()
=>
history
.
goBack
()
}
title=
{
<>
<
div
className=
{
style
[
'headerTop'
]
}
>
<
div
className=
{
style
[
'headerTop-prefix'
]
}
>
单
</
div
>
<
div
className=
{
style
[
'headerTop-name'
]
}
>
报价单号 :
100000000
报价单号 :
{
data
.
quotationNo
}
</
div
>
<
div
className=
{
style
[
`levelIcon${'1'}`
]
}
></
div
>
</
div
>
</>
}
extra=
{
{}
}
content=
{
<
div
className=
{
style
[
'headerMain'
]
}
>
<
div
className=
{
style
[
'headerMain-left'
]
}
>
{
Number
(
page_type
)
!==
4
&&
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
询价单号:
</
div
>
<
div
><
a
>
123132132132
</
a
>
</
div
>
</
div
>
}
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
询价会员:
</
div
>
<
div
><
a
>
123132132132
</
a
>
</
div
>
<
div
>
对应询价单号
</
div
>
<
div
><
a
>
{
data
.
inquiryListNo
}
</
a
></
div
>
</
div
>
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
询价会员
</
div
>
<
div
><
a
>
{
data
.
memberName
}
</
a
></
div
>
</
div
>
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
报价单摘要
</
div
>
<
div
>
{
data
.
details
}
</
div
>
</
div
>
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
报价截止时间
</
div
>
<
div
>
{
format
(
data
.
quotationAsTime
)
}
</
div
>
</
div
>
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
单据时间
</
div
>
<
div
>
{
format
(
data
.
voucherTime
)
}
</
div
>
</
div
>
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
外部状态
</
div
>
<
div
>
{
ExternalState
(
data
.
externalState
)
}
</
div
>
</
div
>
</
div
>
</
div
>
...
...
@@ -202,7 +216,7 @@ const Details: React.FC<{}> = (props) => {
<
Steps
style=
{
{
padding
:
'20px 0'
}
}
progressDot
current=
{
1
}
current=
{
Number
(
data
.
externalState
-
1
)
}
>
{
detailData
.
externalStateStep
.
items
.
map
((
item
,
index
)
=>
{
return
(
...
...
@@ -217,6 +231,12 @@ const Details: React.FC<{}> = (props) => {
</
Card
>
<
Card
className=
{
style
.
item_wrap
}
>
<
div
className=
{
style
.
mainCol_title
}
style=
{
view
===
2
?
{
paddingBottom
:
'0px'
}
:
{
paddingBottom
:
'24px'
}
}
>
询价商品
</
div
>
{
/* <StandardTable
currentRef={ref}
columns={inquiryGoods}
tableProps={{ rowKew: 'id' }}
fetchTableData={(params: any) => fetchData(params)}
/> */
}
<
Table
columns=
{
inquiryGoods
}
pagination=
{
false
}
rowKey=
'id'
dataSource=
{
data
.
inquiryListProductRequests
}
/>
</
Card
>
<
Card
className=
{
style
.
item_wrap
}
>
...
...
@@ -287,22 +307,8 @@ const Details: React.FC<{}> = (props) => {
</
div
>
</
Card
>
<
Card
className=
{
style
.
item_wrap
}
>
{
Number
(
page_type
)
===
4
?
<>
<
div
className=
{
style
.
mainCol_title
}
>
外部流转记录
</
div
>
<
Table
columns=
{
flowRecord
.
external
}
rowKey=
'id'
pagination=
{
false
}
dataSource=
{
data
.
externalInquiryListLogResponses
}
/>
</>
:
<
Tabs
>
<
TabPane
tab=
"外部流转记录"
key=
"1"
>
<
Table
columns=
{
flowRecord
.
external
}
rowKey=
'id'
pagination=
{
false
}
dataSource=
{
data
.
externalInquiryListLogResponses
}
/>
</
TabPane
>
<
TabPane
tab=
"内部流转记录"
key=
"2"
>
<
Table
columns=
{
flowRecord
.
interior
}
rowKey=
'id'
pagination=
{
false
}
dataSource=
{
data
.
interiorInquiryListLogResponses
}
/>
</
TabPane
>
</
Tabs
>
}
<
div
className=
{
style
.
mainCol_title
}
>
外部流转记录
</
div
>
<
Table
columns=
{
flowRecord
.
external
}
rowKey=
'id'
pagination=
{
false
}
dataSource=
{
data
.
externalRequisitionFormResponses
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
...
...
src/pages/rfqOffer/list/index.tsx
View file @
75e0011c
...
...
@@ -41,7 +41,7 @@ const List:React.FC<{}> = () => {
key
:
'inquiryListNo'
,
dataIndex
:
'inquiryListNo'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
EyePreview
url=
{
`/rfqOffer/inquiry/details?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
url=
{
`/rfqOffer/inquiry/details?id=${record.i
nquiryListI
d}`
}
>
{
text
}
</
EyePreview
>
},{
title
:
'报价单摘要'
,
key
:
'details'
,
...
...
src/pages/
rfq
/effect/index.tsx
→
src/pages/
systemManage
/effect/index.tsx
View file @
75e0011c
File moved
src/pages/systemManage/exchangeRate/index.tsx
0 → 100644
View file @
75e0011c
import
React
,
{
useRef
}
from
'react'
;
import
{
Card
,
Row
,
Col
,
Space
,
Button
}
from
'antd'
;
import
{
PlusOutlined
}
from
'@ant-design/icons'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
StandardTable
}
from
'god'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
const
SensitiveWords
:
React
.
FC
<
{}
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'ID'
,
key
:
'id'
,
dataIndex
:
'id'
,
},
{
title
:
'外币英文简称'
,
key
:
'name'
,
dataIndex
:
'name'
,
},
{
title
:
'本地英文简称'
,
key
:
'remarks'
,
dataIndex
:
'remarks'
,
},
{
title
:
'汇率'
,
key
:
'hui'
,
dataIndex
:
'hui'
,
},
{
title
:
'有效期起'
,
key
:
'qi'
,
dataIndex
:
'qi'
,
},{
title
:
'有效期止'
,
key
:
'zhi'
,
dataIndex
:
'zhi'
,
},{
title
:
'状态'
,
key
:
'status'
,
dataIndex
:
'status'
,
},{
title
:
'操作'
,
key
:
'options'
,
dataIndex
:
'options'
,
},
]
const
controllerBtns
=
<
Row
>
<
Col
span=
{
24
}
>
<
Space
direction=
"horizontal"
size=
{
16
}
>
<
Button
type=
"primary"
icon=
{
<
PlusOutlined
/>
}
>
新建
</
Button
>
</
Space
>
</
Col
>
</
Row
>
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
currentRef=
{
ref
}
columns=
{
columns
}
tableProps=
{
{
rowKew
:
'id'
}
}
formilyLayouts=
{
{
justify
:
'space-between'
}
}
formilyProps=
{
{
layouts
:
{
order
:
1
,
span
:
4
},
ctx
:
{
inline
:
false
,
schema
:
{
type
:
'object'
,
properties
:
{
megaLayout0
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
"x-component-props"
:
{
grid
:
true
,
columns
:
1
,
},
properties
:
{
name
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'属性名称'
,
},
'x-component'
:
'Search'
}
}
}
}
}
}
}
}
formilyChilds=
{
{
layouts
:
{
order
:
0
},
children
:
(
<>
{
controllerBtns
}
</>
)
}
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
SensitiveWords
;
\ No newline at end of file
src/pages/systemManage/exchangeRate/template.tsx
0 → 100644
View file @
75e0011c
import
React
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
history
}
from
'umi'
;
import
ReutrnEle
from
'@/components/ReturnEle'
;
import
{
Card
,
Form
,
Input
,
Button
,
Space
,
Select
,
DatePicker
}
from
'antd'
;
import
moment
from
'moment'
const
layout
:
any
=
{
colon
:
false
,
labelCol
:
{
style
:
{
width
:
'174px'
}
},
wrapperCol
:
{
span
:
9
},
labelAlign
:
"left"
};
const
tailLayout
=
{
wrapperCol
:
{
style
:
{
marginLeft
:
'174px'
}
},
};
const
{
Option
}
=
Select
;
const
Template
:
React
.
FC
<
{}
>
=
()
=>
{
// 只能选当天和之后的日期
const
disabledDate
=
(
current
)
=>
{
return
current
&&
current
<
moment
().
startOf
(
'day'
);
}
return
(
<
PageHeaderWrapper
onBack=
{
()
=>
history
.
goBack
()
}
backIcon=
{
<
ReutrnEle
description=
"返回"
/>
}
>
<
Card
>
<
Form
{
...
layout
}
>
<
Form
.
Item
label=
'外币英文简称'
name=
'name'
rules=
{
[{
required
:
true
,
message
:
'请输入单位名称'
}]
}
>
<
Input
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'本币英文简称'
name=
'enName'
rules=
{
[{
required
:
true
,
message
:
'请输入英文简称'
}]
}
>
<
Input
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'汇率'
name=
'enName'
rules=
{
[{
required
:
true
,
message
:
'请输入英文简称'
}]
}
>
<
Input
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'有效期起'
name=
'enName'
rules=
{
[{
required
:
true
,
message
:
'请输入英文简称'
}]
}
>
<
DatePicker
disabledDate=
{
disabledDate
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'有效期止'
name=
'enName'
rules=
{
[{
required
:
true
,
message
:
'请输入英文简称'
}]
}
>
<
DatePicker
disabledDate=
{
disabledDate
}
/>
</
Form
.
Item
>
<
Form
.
Item
{
...
tailLayout
}
>
<
Space
size=
{
24
}
>
<
Button
type=
'primary'
>
保存
</
Button
>
<
Button
>
取消
</
Button
>
</
Space
>
</
Form
.
Item
>
</
Form
>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
Template
;
\ No newline at end of file
src/pages/systemManage/platformArg/index.tsx
0 → 100644
View file @
75e0011c
import
React
,
{
useRef
}
from
'react'
;
import
{
Card
,
Row
,
Col
,
Space
,
Button
}
from
'antd'
;
import
{
PlusOutlined
}
from
'@ant-design/icons'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
StandardTable
}
from
'god'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
const
SensitiveWords
:
React
.
FC
<
{}
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'参数编号'
,
key
:
'id'
,
dataIndex
:
'id'
,
},
{
title
:
'参数名称'
,
key
:
'name'
,
dataIndex
:
'name'
,
},
{
title
:
'参数描述'
,
key
:
'remarks'
,
dataIndex
:
'remarks'
,
},{
title
:
'参数值'
,
key
:
'zhi'
,
dataIndex
:
'zhi'
,
},{
title
:
'状态'
,
key
:
'status'
,
dataIndex
:
'status'
,
},{
title
:
'操作'
,
key
:
'options'
,
dataIndex
:
'options'
,
}
]
const
controllerBtns
=
<
Row
>
<
Col
span=
{
24
}
>
<
Space
direction=
"horizontal"
size=
{
16
}
>
<
Button
type=
"primary"
icon=
{
<
PlusOutlined
/>
}
>
新建
</
Button
>
</
Space
>
</
Col
>
</
Row
>
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
currentRef=
{
ref
}
columns=
{
columns
}
tableProps=
{
{
rowKew
:
'id'
}
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
SensitiveWords
;
\ No newline at end of file
src/pages/systemManage/sensitiveWords/index.tsx
0 → 100644
View file @
75e0011c
import
React
,
{
useRef
}
from
'react'
;
import
{
Card
,
Row
,
Col
,
Space
,
Button
}
from
'antd'
;
import
{
PlusOutlined
}
from
'@ant-design/icons'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
StandardTable
}
from
'god'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
history
}
from
'umi'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
SensitiveWords
:
React
.
FC
<
{}
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'敏感词编码'
,
key
:
'no'
,
dataIndex
:
'no'
,
},
{
title
:
'敏感词名称'
,
key
:
'name'
,
dataIndex
:
'name'
,
},
{
title
:
'备注'
,
key
:
'remarks'
,
dataIndex
:
'remarks'
,
},
{
title
:
'状态'
,
key
:
'status'
,
dataIndex
:
'status'
,
},
{
title
:
'操作'
,
key
:
'options'
,
dataIndex
:
'options'
,
},
]
const
controllerBtns
=
<
Row
>
<
Col
span=
{
24
}
>
<
Space
direction=
"horizontal"
size=
{
16
}
>
<
Button
type=
"primary"
icon=
{
<
PlusOutlined
/>
}
onClick=
{
()
=>
history
.
push
(
`/system/sensitiveWords/add`
)
}
>
新建
</
Button
>
<
Button
>
导入
</
Button
>
<
Button
>
导出
</
Button
>
</
Space
>
</
Col
>
</
Row
>
const
fetchdata
=
(
params
:
any
)
=>
{
return
new
Promise
(
resolve
=>
{
PublicApi
.
getManageSensitiveWordPage
({...
params
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
)
}
})
})
}
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
currentRef=
{
ref
}
columns=
{
columns
}
tableProps=
{
{
rowKew
:
'id'
}
}
fetchTableData=
{
(
params
)
=>
fetchdata
(
params
)
}
formilyLayouts=
{
{
justify
:
'space-between'
}
}
formilyProps=
{
{
layouts
:
{
order
:
1
,
span
:
4
},
ctx
:
{
inline
:
false
,
schema
:
{
type
:
'object'
,
properties
:
{
megaLayout0
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
"x-component-props"
:
{
grid
:
true
,
columns
:
1
,
},
properties
:
{
name
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'属性名称'
,
},
'x-component'
:
'Search'
}
}
}
}
}
}
}
}
formilyChilds=
{
{
layouts
:
{
order
:
0
},
children
:
(
<>
{
controllerBtns
}
</>
)
}
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
SensitiveWords
;
\ No newline at end of file
src/pages/systemManage/sensitiveWords/template.tsx
0 → 100644
View file @
75e0011c
import
React
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
history
}
from
'umi'
;
import
ReutrnEle
from
'@/components/ReturnEle'
;
import
{
Card
,
Form
,
Input
,
Button
,
Space
}
from
'antd'
;
const
layout
:
any
=
{
colon
:
false
,
labelCol
:
{
style
:
{
width
:
'174px'
}
},
wrapperCol
:
{
span
:
9
},
labelAlign
:
"left"
};
const
tailLayout
=
{
wrapperCol
:
{
style
:
{
marginLeft
:
'174px'
}
},
};
const
{
TextArea
}
=
Input
;
const
Template
:
React
.
FC
<
{}
>
=
()
=>
{
return
(
<
PageHeaderWrapper
onBack=
{
()
=>
history
.
goBack
()
}
backIcon=
{
<
ReutrnEle
description=
"返回"
/>
}
>
<
Card
>
<
Form
{
...
layout
}
>
<
Form
.
Item
label=
'敏感词名称'
name=
'name'
rules=
{
[{
required
:
true
,
message
:
'请输入敏感词名称'
}]
}
>
<
Input
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'备注'
name=
'remarks'
>
<
TextArea
rows=
{
4
}
/>
</
Form
.
Item
>
<
Form
.
Item
{
...
tailLayout
}
>
<
Space
size=
{
24
}
>
<
Button
type=
'primary'
>
保存
</
Button
>
<
Button
>
取消
</
Button
>
</
Space
>
</
Form
.
Item
>
</
Form
>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
Template
;
\ No newline at end of file
src/pages/systemManage/unit/index.tsx
0 → 100644
View file @
75e0011c
import
React
,
{
useRef
}
from
'react'
;
import
{
Card
,
Row
,
Col
,
Space
,
Button
}
from
'antd'
;
import
{
PlusOutlined
}
from
'@ant-design/icons'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
StandardTable
}
from
'god'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
const
SensitiveWords
:
React
.
FC
<
{}
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'ID'
,
key
:
'id'
,
dataIndex
:
'id'
,
},
{
title
:
'单位名称'
,
key
:
'name'
,
dataIndex
:
'name'
,
},
{
title
:
'英文简称'
,
key
:
'remarks'
,
dataIndex
:
'remarks'
,
},{
title
:
'状态'
,
key
:
'status'
,
dataIndex
:
'status'
,
},{
title
:
'操作'
,
key
:
'options'
,
dataIndex
:
'options'
,
},
]
const
controllerBtns
=
<
Row
>
<
Col
span=
{
24
}
>
<
Space
direction=
"horizontal"
size=
{
16
}
>
<
Button
type=
"primary"
icon=
{
<
PlusOutlined
/>
}
>
新建
</
Button
>
</
Space
>
</
Col
>
</
Row
>
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
currentRef=
{
ref
}
columns=
{
columns
}
tableProps=
{
{
rowKew
:
'id'
}
}
formilyLayouts=
{
{
justify
:
'space-between'
}
}
formilyProps=
{
{
layouts
:
{
order
:
1
,
span
:
4
},
ctx
:
{
inline
:
false
,
schema
:
{
type
:
'object'
,
properties
:
{
megaLayout0
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
"x-component-props"
:
{
grid
:
true
,
columns
:
1
,
},
properties
:
{
name
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'属性名称'
,
},
'x-component'
:
'Search'
}
}
}
}
}
}
}
}
formilyChilds=
{
{
layouts
:
{
order
:
0
},
children
:
(
<>
{
controllerBtns
}
</>
)
}
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
SensitiveWords
;
\ No newline at end of file
src/pages/systemManage/unit/template.tsx
0 → 100644
View file @
75e0011c
import
React
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
history
}
from
'umi'
;
import
ReutrnEle
from
'@/components/ReturnEle'
;
import
{
Card
,
Form
,
Input
,
Button
,
Space
}
from
'antd'
;
const
layout
:
any
=
{
colon
:
false
,
labelCol
:
{
style
:
{
width
:
'174px'
}
},
wrapperCol
:
{
span
:
9
},
labelAlign
:
"left"
};
const
tailLayout
=
{
wrapperCol
:
{
style
:
{
marginLeft
:
'174px'
}
},
};
const
Template
:
React
.
FC
<
{}
>
=
()
=>
{
return
(
<
PageHeaderWrapper
onBack=
{
()
=>
history
.
goBack
()
}
backIcon=
{
<
ReutrnEle
description=
"返回"
/>
}
>
<
Card
>
<
Form
{
...
layout
}
>
<
Form
.
Item
label=
'单位名称'
name=
'name'
rules=
{
[{
required
:
true
,
message
:
'请输入单位名称'
}]
}
>
<
Input
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'英文简称'
name=
'enName'
rules=
{
[{
required
:
true
,
message
:
'请输入英文简称'
}]
}
>
<
Input
/>
</
Form
.
Item
>
<
Form
.
Item
{
...
tailLayout
}
>
<
Space
size=
{
24
}
>
<
Button
type=
'primary'
>
保存
</
Button
>
<
Button
>
取消
</
Button
>
</
Space
>
</
Form
.
Item
>
</
Form
>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
Template
;
\ No newline at end of file
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