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
linweijiong
jinfa-platform
Commits
05309f59
Commit
05309f59
authored
Dec 07, 2020
by
前端-黄佳鑫
Browse files
Options
Browse Files
Download
Plain Diff
修改Package.json 冲突
parents
c634f6c7
e25588a3
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
338 additions
and
198 deletions
+338
-198
logisticsRoutes.ts
config/routes/logisticsRoutes.ts
+1
-1
package.json
package.json
+6
-2
index.ts
src/constants/index.ts
+1
-1
RightContent.tsx
src/layouts/components/RightContent.tsx
+7
-3
index.tsx
src/pages/editor/channelEdit/index.tsx
+16
-5
index.tsx
src/pages/handling/assign/add/index.tsx
+15
-4
index.tsx
src/pages/handling/components/ProcessOrder/index.tsx
+5
-3
TableList.tsx
src/pages/logistics/components/TableList.tsx
+91
-0
orderDetail.tsx
src/pages/logistics/components/orderDetail.tsx
+0
-0
orderSearchList.tsx
src/pages/logistics/components/orderSearchList.tsx
+2
-2
schema.ts
src/pages/logistics/components/schema.ts
+0
-0
basicInfo.tsx
...logistics/logisticsSubmit/detail/components/basicInfo.tsx
+44
-14
goods.tsx
...ges/logistics/logisticsSubmit/detail/components/goods.tsx
+6
-1
index.tsx
src/pages/logistics/logisticsSubmit/detail/index.tsx
+30
-23
index.tsx
src/pages/lxMall/commodityDetail/index.tsx
+1
-0
index.tsx
...es/lxMall/components/Filter/components/Category/index.tsx
+24
-11
index.tsx
src/pages/lxMall/components/SideNav/index.tsx
+1
-1
details.tsx
...es/transaction/confirmInquiryQuote/components/details.tsx
+45
-10
index.tsx
...s/transaction/confirmInquiryQuote/pendingSubmit/index.tsx
+3
-3
pendingReview.tsx
.../transaction/confirmInquiryQuote/schema/pendingReview.tsx
+0
-0
flowRecord.tsx
...tion/goodsOffer/addEnquiryOrder/components/flowRecord.tsx
+2
-30
details.tsx
src/pages/transaction/goodsOffer/components/details.tsx
+10
-61
flowRecord.tsx
...on/inquiryQuote/addInquiryOrder/components/flowRecord.tsx
+2
-2
details.tsx
src/pages/transaction/inquiryQuote/components/details.tsx
+14
-11
index.tsx
src/pages/transaction/inquiryQuote/pendingSubmit/index.tsx
+2
-2
index.ts
src/store/filter/index.ts
+2
-0
index.tsx
src/utils/index.tsx
+8
-8
No files found.
config/routes/logisticsRoutes.ts
View file @
05309f59
...
@@ -18,7 +18,7 @@ const LogisticsRoute: RouterChild = {
...
@@ -18,7 +18,7 @@ const LogisticsRoute: RouterChild = {
path
:
'/memberCenter/logisticsAbility/logistics'
,
path
:
'/memberCenter/logisticsAbility/logistics'
,
name
:
'logistics'
,
name
:
'logistics'
,
routes
:
[
routes
:
[
// 物流公司管理
//
//
物流公司管理
{
{
path
:
'/memberCenter/logisticsAbility/logistics/company'
,
path
:
'/memberCenter/logisticsAbility/logistics/company'
,
name
:
'company'
,
name
:
'company'
,
...
...
package.json
View file @
05309f59
...
@@ -18,16 +18,20 @@
...
@@ -18,16 +18,20 @@
"build:dev"
:
"pm2 start scripts/devServer.js"
,
"build:dev"
:
"pm2 start scripts/devServer.js"
,
"build:clean"
:
"cross-env NODE_OPTIONS=--max_old_space_size=4096 umi build"
,
"build:clean"
:
"cross-env NODE_OPTIONS=--max_old_space_size=4096 umi build"
,
"build:scm"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://lingxi-scm.wg.shushangyun.com USE_ROUTE_CONFIG=false SOCKET_URL=ws://lingxi-scm.wg.shushangyun.com yarn build"
,
"build:scm"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://lingxi-scm.wg.shushangyun.com USE_ROUTE_CONFIG=false SOCKET_URL=ws://lingxi-scm.wg.shushangyun.com yarn build"
,
<<<<<<<
HEAD
"build:10"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://10.0.0.10:8100 USE_ROUTE_CONFIG=false SOCKET_URL=ws://10.0.0.10:8100 yarn build"
,
"build:10"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://10.0.0.10:8100 USE_ROUTE_CONFIG=false SOCKET_URL=ws://10.0.0.10:8100 yarn build"
,
"build:25"
:
"cross-env SITE_ID=352 BACK_GATEWAY=http://10.0.0.25:8100 USE_ROUTE_CONFIG=false SOCKET_URL=ws://10.0.0.25:8100 yarn build"
,
"build:25"
:
"cross-env SITE_ID=352 BACK_GATEWAY=http://10.0.0.25:8100 USE_ROUTE_CONFIG=false SOCKET_URL=ws://10.0.0.25:8100 yarn build"
,
=======
"build:10"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://10.0.0.10:8100 USE_ROUTE_CONFIG=false SOCKET_URL=ws://10.0.0.10 yarn build"
,
>>>>>>>
dev
"postinstall"
:
"umi generate tmp"
,
"postinstall"
:
"umi generate tmp"
,
"prettier"
:
"prettier --write '**/*.{js,jsx,tsx,ts,less,md,json}'"
,
"prettier"
:
"prettier --write '**/*.{js,jsx,tsx,ts,less,md,json}'"
,
"test"
:
"umi-test"
,
"test"
:
"umi-test"
,
"test:coverage"
:
"umi-test --coverage"
,
"test:coverage"
:
"umi-test --coverage"
,
"start:cross"
:
"cross-env SITE_ID=352 USE_ROUTE_CONFIG=false SOCKET_URL=ws://10.0.0.25
:9400
yarn start"
,
"start:cross"
:
"cross-env SITE_ID=352 USE_ROUTE_CONFIG=false SOCKET_URL=ws://10.0.0.25 yarn start"
,
"start:scm"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://lingxi-scm.wg.shushangyun.com USE_ROUTE_CONFIG=false SOCKET_URL=ws://lingxi-scm.wg.shushangyun.com yarn start"
,
"start:scm"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://lingxi-scm.wg.shushangyun.com USE_ROUTE_CONFIG=false SOCKET_URL=ws://lingxi-scm.wg.shushangyun.com yarn start"
,
"start:url"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://lingxi-all.wg.shushangyun.com USE_ROUTE_CONFIG=true SOCKET_URL=ws://lingxi-all.wg.shushangyun.com yarn start"
,
"start:url"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://lingxi-all.wg.shushangyun.com USE_ROUTE_CONFIG=true SOCKET_URL=ws://lingxi-all.wg.shushangyun.com yarn start"
,
"start:10"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://10.0.0.10:8100 USE_ROUTE_CONFIG=true SOCKET_URL=ws://10.0.0.10
:8100
yarn start"
"start:10"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://10.0.0.10:8100 USE_ROUTE_CONFIG=true SOCKET_URL=ws://10.0.0.10 yarn start"
},
},
"lint-staged"
:
{
"lint-staged"
:
{
"*.{js,jsx,less,md,json}"
:
[
"*.{js,jsx,less,md,json}"
:
[
...
...
src/constants/index.ts
View file @
05309f59
export
const
NOT_CHANGE_VALUE
=
'hello, world'
export
const
NOT_CHANGE_VALUE
=
'hello, world'
// socket的链接地址, 默认会使用后端接口网关地址
// socket的链接地址, 默认会使用后端接口网关地址
export
const
SOCKET_URL
=
process
.
env
.
SOCKET_URL
?.
replace
(
'http|https'
,
'ws'
)
||
process
.
env
.
BACK_GATEWAY
?.
replace
(
'http|https'
,
'ws'
)
||
"ws://10.0.0.25:9400"
export
const
SOCKET_URL
=
process
.
env
.
SOCKET_URL
?.
replace
(
'http|https'
,
'ws'
)
||
process
.
env
.
BACK_GATEWAY
?.
replace
(
'http|https'
,
'ws'
)
console
.
log
(
SOCKET_URL
);
console
.
log
(
SOCKET_URL
);
export
const
MALL_TYPE
=
{
export
const
MALL_TYPE
=
{
...
...
src/layouts/components/RightContent.tsx
View file @
05309f59
...
@@ -16,6 +16,7 @@ import { SOCKET_URL } from '@/constants';
...
@@ -16,6 +16,7 @@ import { SOCKET_URL } from '@/constants';
// layout: 'sidemenu' | 'topmenu';
// layout: 'sidemenu' | 'topmenu';
// }
// }
const
NOT_READ_MESSAGE
=
1
;
const
GlobalHeaderRight
:
React
.
FC
<
{}
>
=
(
props
)
=>
{
const
GlobalHeaderRight
:
React
.
FC
<
{}
>
=
(
props
)
=>
{
// const { theme, layout } = props;
// const { theme, layout } = props;
const
[
message
,
setMessage
]
=
useState
<
number
>
(
0
);
const
[
message
,
setMessage
]
=
useState
<
number
>
(
0
);
...
@@ -30,14 +31,17 @@ const GlobalHeaderRight: React.FC<{}> = (props) => {
...
@@ -30,14 +31,17 @@ const GlobalHeaderRight: React.FC<{}> = (props) => {
const
ws
=
useRef
<
WebSocket
|
null
>
(
null
);
const
ws
=
useRef
<
WebSocket
|
null
>
(
null
);
const
webSocketInit
=
useCallback
(()
=>
{
const
webSocketInit
=
useCallback
(()
=>
{
console
.
log
(
ws
.
current
)
console
.
log
(
ws
.
current
)
if
((
!
ws
.
current
||
ws
.
current
.
readyState
===
3
)
&&
userInfo
)
{
if
(
SOCKET_URL
&&
(
!
ws
.
current
||
ws
.
current
.
readyState
===
3
)
&&
userInfo
)
{
ws
.
current
=
new
WebSocket
(
`
${
SOCKET_URL
}
/report/websocket?memberId=
${
userInfo
.
memberId
}
&roleId=
${
userInfo
.
memberRoleId
}
`
);
const
url
=
`
${
SOCKET_URL
}
/report/websocket?memberId=
${
userInfo
.
memberId
}
&roleId=
${
userInfo
.
memberRoleId
}
&token=
${
userInfo
.
token
}
&source=
${
1
}
`
;
ws
.
current
=
new
WebSocket
(
url
);
ws
.
current
.
onopen
=
(
e
)
=>
{
ws
.
current
.
onopen
=
(
e
)
=>
{
console
.
log
(
e
)
console
.
log
(
e
)
}
}
ws
.
current
.
onmessage
=
(
e
)
=>
{
ws
.
current
.
onmessage
=
(
e
)
=>
{
console
.
log
(
e
)
console
.
log
(
e
)
setMessage
(
e
.
data
)
if
(
e
.
data
.
type
===
NOT_READ_MESSAGE
)
{
setMessage
(
e
.
data
.
data
);
}
};
};
ws
.
current
.
onclose
=
(
e
)
=>
{
ws
.
current
.
onclose
=
(
e
)
=>
{
console
.
log
(
"关闭连接"
)
console
.
log
(
"关闭连接"
)
...
...
src/pages/editor/channelEdit/index.tsx
View file @
05309f59
...
@@ -9,6 +9,7 @@ import { topBarConfig, topAdvertConfig, headerConfig, mainNavConfig, bannerAdver
...
@@ -9,6 +9,7 @@ import { topBarConfig, topAdvertConfig, headerConfig, mainNavConfig, bannerAdver
import
Loading
from
'../components/Loading'
import
Loading
from
'../components/Loading'
import
{
menuData
}
from
'./defaultMenu'
import
{
menuData
}
from
'./defaultMenu'
import
{
PublicApi
}
from
'@/services/api'
import
{
PublicApi
}
from
'@/services/api'
import
{
getAuth
}
from
'@/utils/auth'
import
styles
from
'./index.less'
import
styles
from
'./index.less'
interface
ChannelPreviewPropsType
{
interface
ChannelPreviewPropsType
{
...
@@ -30,6 +31,7 @@ const TemplateList = ['science']
...
@@ -30,6 +31,7 @@ const TemplateList = ['science']
const
ChannelPreview
:
React
.
FC
<
ChannelPreviewPropsType
>
=
(
props
)
=>
{
const
ChannelPreview
:
React
.
FC
<
ChannelPreviewPropsType
>
=
(
props
)
=>
{
const
{
query
:
{
id
,
template
}
}
=
props
.
location
const
{
query
:
{
id
,
template
}
}
=
props
.
location
const
userInfo
=
getAuth
()
||
{}
const
[
loading
,
setLoading
]
=
useState
<
boolean
>
(
true
)
const
[
loading
,
setLoading
]
=
useState
<
boolean
>
(
true
)
const
[
theme
,
setTheme
]
=
useState
<
string
>
(
'theme-channel-science'
)
const
[
theme
,
setTheme
]
=
useState
<
string
>
(
'theme-channel-science'
)
const
[
componentConfigs
,
setComponentConfigs
]
=
useState
({})
const
[
componentConfigs
,
setComponentConfigs
]
=
useState
({})
...
@@ -47,7 +49,8 @@ const ChannelPreview: React.FC<ChannelPreviewPropsType> = (props) => {
...
@@ -47,7 +49,8 @@ const ChannelPreview: React.FC<ChannelPreviewPropsType> = (props) => {
return
new
Promise
((
resolve
)
=>
{
return
new
Promise
((
resolve
)
=>
{
const
params
:
any
=
{
const
params
:
any
=
{
templateId
:
id
,
templateId
:
id
,
type
:
1
type
:
1
,
memberId
:
userInfo
.
memberId
}
}
PublicApi
.
getTemplateChannelFindAdvertsByType
(
params
).
then
(
res
=>
{
PublicApi
.
getTemplateChannelFindAdvertsByType
(
params
).
then
(
res
=>
{
...
@@ -64,7 +67,8 @@ const ChannelPreview: React.FC<ChannelPreviewPropsType> = (props) => {
...
@@ -64,7 +67,8 @@ const ChannelPreview: React.FC<ChannelPreviewPropsType> = (props) => {
return
new
Promise
((
resolve
)
=>
{
return
new
Promise
((
resolve
)
=>
{
const
params
:
any
=
{
const
params
:
any
=
{
templateId
:
id
,
templateId
:
id
,
type
:
2
type
:
2
,
memberId
:
userInfo
.
memberId
}
}
PublicApi
.
getTemplateChannelFindAdvertsByType
(
params
).
then
(
res
=>
{
PublicApi
.
getTemplateChannelFindAdvertsByType
(
params
).
then
(
res
=>
{
...
@@ -82,7 +86,10 @@ const ChannelPreview: React.FC<ChannelPreviewPropsType> = (props) => {
...
@@ -82,7 +86,10 @@ const ChannelPreview: React.FC<ChannelPreviewPropsType> = (props) => {
*/
*/
const
fetchFirstCategory
=
()
=>
{
const
fetchFirstCategory
=
()
=>
{
return
new
Promise
((
resolve
)
=>
{
return
new
Promise
((
resolve
)
=>
{
PublicApi
.
getTemplateChannelFindAllFirstCategory
().
then
(
res
=>
{
const
params
:
any
=
{
memberId
:
userInfo
.
memberId
}
PublicApi
.
getTemplateChannelFindAllFirstCategory
(
params
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
)
resolve
(
res
.
data
)
}
}
...
@@ -97,7 +104,8 @@ const ChannelPreview: React.FC<ChannelPreviewPropsType> = (props) => {
...
@@ -97,7 +104,8 @@ const ChannelPreview: React.FC<ChannelPreviewPropsType> = (props) => {
return
new
Promise
((
resolve
)
=>
{
return
new
Promise
((
resolve
)
=>
{
const
param
:
any
=
{
const
param
:
any
=
{
templateId
:
id
,
templateId
:
id
,
categoryId
categoryId
,
memberId
:
userInfo
.
memberId
}
}
PublicApi
.
getTemplateChannelFindFirstCategoryDetail
(
param
).
then
(
res
=>
{
PublicApi
.
getTemplateChannelFindFirstCategoryDetail
(
param
).
then
(
res
=>
{
...
@@ -112,7 +120,10 @@ const ChannelPreview: React.FC<ChannelPreviewPropsType> = (props) => {
...
@@ -112,7 +120,10 @@ const ChannelPreview: React.FC<ChannelPreviewPropsType> = (props) => {
*/
*/
const
fetchShopInfo
=
()
=>
{
const
fetchShopInfo
=
()
=>
{
return
new
Promise
((
resolve
)
=>
{
return
new
Promise
((
resolve
)
=>
{
PublicApi
.
getTemplateChannelFindChannel
().
then
(
res
=>
{
const
params
:
any
=
{
memberId
:
userInfo
.
memberId
}
PublicApi
.
getTemplateChannelFindChannel
(
params
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
)
resolve
(
res
.
data
)
}
}
...
...
src/pages/handling/assign/add/index.tsx
View file @
05309f59
...
@@ -269,15 +269,26 @@ const Add: React.FC<{}> = () => {
...
@@ -269,15 +269,26 @@ const Add: React.FC<{}> = () => {
}
}
setSubmitLoading
(
true
);
setSubmitLoading
(
true
);
const
detailList
=
someLists
.
map
((
item
)
=>
{
const
detailList
=
someLists
.
map
((
item
)
=>
{
const
orderData
=
values
.
source
===
1
?
{
orderId
:
item
.
orderId
,
orderDetailId
:
item
.
fullId
,
orderNo
:
item
.
orderNo
,
productId
:
item
.
commodityId
,
purchaseCount
:
item
.
orderTotal
,
// 订单数量
surplusProcessNum
:
item
.
restTotal
,
// 剩余加工数量
}
:
{
productId
:
item
.
id
,
purchaseCount
:
null
,
surplusProcessNum
:
null
,
}
return
{
return
{
orederNo
:
item
.
orderNo
,
// 如果是商品加工,那么他没有订单号
...
orderData
,
productId
:
item
.
id
,
// skuid
productName
:
item
.
name
,
productName
:
item
.
name
,
category
:
item
.
customerCategoryName
,
category
:
item
.
customerCategoryName
,
brand
:
item
.
brandName
,
brand
:
item
.
brandName
,
unit
:
item
.
unitName
,
unit
:
item
.
unitName
,
purchaseCount
:
null
,
surplusProcessNum
:
null
,
processNum
:
item
.
processNum
||
0
,
processNum
:
item
.
processNum
||
0
,
processPrice
:
item
.
processUnitPrice
||
0
,
processPrice
:
item
.
processUnitPrice
||
0
,
processTotalPrice
:
item
.
processTotalPrice
,
processTotalPrice
:
item
.
processTotalPrice
,
...
...
src/pages/handling/components/ProcessOrder/index.tsx
View file @
05309f59
...
@@ -52,20 +52,22 @@ const ProcessProducts = ({visible, cancel, rowSelection, ...restProps}) => {
...
@@ -52,20 +52,22 @@ const ProcessProducts = ({visible, cancel, rowSelection, ...restProps}) => {
(
item
)
=>
{
(
item
)
=>
{
return
{
return
{
orderNo
:
record
.
orderNo
,
orderNo
:
record
.
orderNo
,
orderId
:
record
.
id
,
// 订单id
// orderDetailId: item.id, // 订单商品唯一id
commodityId
:
item
.
productId
,
// 商品id
commodityId
:
item
.
productId
,
// 商品id
id
:
item
.
productId
,
id
:
item
.
productId
,
// sku id
name
:
item
.
productName
,
name
:
item
.
productName
,
customerCategoryName
:
item
.
category
,
customerCategoryName
:
item
.
category
,
brandName
:
item
.
brand
,
brandName
:
item
.
brand
,
unitName
:
item
.
unit
,
unitName
:
item
.
unit
,
orderTotal
:
item
.
purchaseCount
,
orderTotal
:
item
.
purchaseCount
,
// 采购数量
restTotal
:
item
.
purchaseCount
-
(
item
.
processNum
||
0
),
restTotal
:
item
.
purchaseCount
-
(
item
.
processNum
||
0
),
processNum
:
''
,
processNum
:
''
,
processUnitPrice
:
''
,
processUnitPrice
:
''
,
processTotalPrice
:
''
,
processTotalPrice
:
''
,
price
:
item
.
price
,
//单价,
price
:
item
.
price
,
//单价,
hasProcessNum
:
item
.
processNum
||
0
,
hasProcessNum
:
item
.
processNum
||
0
,
fullId
:
item
.
id
fullId
:
item
.
id
,
//订单商品唯一id
}
}
}
}
)
)
...
...
src/pages/logistics/components/TableList.tsx
0 → 100644
View file @
05309f59
import
React
,
{
useRef
,
ReactNode
,
useEffect
}
from
'react'
;
import
{
StandardTable
}
from
'god'
;
import
{
Row
,
Col
,
Space
,
Button
,
Card
}
from
'antd'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
LogisticsOrderSubmitSearchSchema
,
LogisticsOrderToBeSubmitSearchSchema
,
LogisticsOrderProcessingSearchSchema
,
LogisticsOrderToBeConfirmedSearchSchema
,
None
}
from
'./schema'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
interface
tableListParams
{
columns
?:
any
,
// 表头
reloadRef
?:
any
,
// 处理刷新
fetchData
?:
Function
,
// 列表数据
schema
?:
boolean
,
// 是否显示schema 搜索
schemaType
?:
'LogisticsOrderSubmitSearchSchema'
|
'LogisticsOrderToBeSubmitSearchSchema'
|
'LogisticsOrderProcessingSearchSchema'
|
'LogisticsOrderToBeConfirmedSearchSchema'
|
'none'
}
const
formActions
=
createFormActions
();
const
LogisticsTableList
:
React
.
FC
<
tableListParams
>
=
(
props
)
=>
{
const
{
columns
,
reloadRef
,
fetchData
,
schema
=
false
,
schemaType
=
'none'
}
=
props
;
const
ref
=
useRef
<
any
>
({});
const
controllerBtns
:
ReactNode
=
<
Row
>
<
Col
>
<
Button
type=
'primary'
>
新建
</
Button
>
</
Col
>
</
Row
>
const
schemaRender
=
()
=>
{
switch
(
schemaType
)
{
case
'LogisticsOrderSubmitSearchSchema'
:
{
return
LogisticsOrderSubmitSearchSchema
}
case
'LogisticsOrderToBeSubmitSearchSchema'
:
{
return
LogisticsOrderToBeSubmitSearchSchema
}
case
'LogisticsOrderProcessingSearchSchema'
:
{
return
LogisticsOrderProcessingSearchSchema
}
case
'LogisticsOrderToBeConfirmedSearchSchema'
:
{
return
LogisticsOrderToBeConfirmedSearchSchema
}
case
'none'
:
{
return
None
}
}
}
useEffect
(()
=>
{
if
(
reloadRef
)
{
const
userAction
=
{
reload
:
()
=>
ref
.
current
.
reload
()
}
if
(
reloadRef
&&
typeof
reloadRef
===
'function'
)
{
reloadRef
(
userAction
);
}
if
(
reloadRef
&&
typeof
reloadRef
!==
'function'
)
{
reloadRef
.
current
=
userAction
;
}
}
})
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
columns=
{
columns
}
currentRef=
{
ref
}
tableProps=
{
{
rowKey
:
'id'
}
}
fetchTableData=
{
(
params
:
any
)
=>
fetchData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'logisticsOrderNo'
,
FORM_FILTER_PATH
)
}
}
expressionScope=
{
{
controllerBtns
}
}
schema=
{
schemaRender
()
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
LogisticsTableList
src/pages/logistics/components/orderDetail.tsx
deleted
100644 → 0
View file @
c634f6c7
src/pages/logistics/components/orderSearchList.tsx
View file @
05309f59
...
@@ -189,8 +189,8 @@ const orderSearchList: React.FC<listProps> = (props) => {
...
@@ -189,8 +189,8 @@ const orderSearchList: React.FC<listProps> = (props) => {
{
{
title
:
' 收货方'
,
title
:
' 收货方'
,
align
:
'left'
,
align
:
'left'
,
dataIndex
:
'receiverName'
,
dataIndex
:
'receiver
Member
Name'
,
key
:
'receiverName'
key
:
'receiver
Member
Name'
},
},
{
{
title
:
'总箱数'
,
title
:
'总箱数'
,
...
...
src/pages/logistics/components/schema.ts
View file @
05309f59
This diff is collapsed.
Click to expand it.
src/pages/logistics/logisticsSubmit/detail/components/basicInfo.tsx
View file @
05309f59
...
@@ -20,12 +20,13 @@ const layout: any = {
...
@@ -20,12 +20,13 @@ const layout: any = {
labelAlign
:
"left"
labelAlign
:
"left"
};
};
export
interface
interfaceinfo
{
export
interface
interfaceinfo
{
parmas
?:
any
,
set
?:
any
,
handleRevise
?:
Function
currentRef
?:
any
,
onGet
?:
Function
}
}
const
BasicInfo
:
React
.
FC
<
interfaceinfo
>
=
(
props
)
=>
{
const
BasicInfo
:
React
.
FC
<
interfaceinfo
>
=
(
props
)
=>
{
const
{
parmas
,
handleRevise
}
=
props
;
const
{
set
,
currentRef
,
onGet
}
=
props
;
const
[
listcompany
,
setlistcompany
]
=
useState
<
any
>
([]);
//物流服务商
const
[
listcompany
,
setlistcompany
]
=
useState
<
any
>
([]);
//物流服务商
const
[
shipperaddress
,
setshipperaddress
]
=
useState
<
any
>
([]);
//发货地址
const
[
shipperaddress
,
setshipperaddress
]
=
useState
<
any
>
([]);
//发货地址
const
[
shippingvisible
,
setshippingvisible
]
=
useState
<
boolean
>
(
false
);
const
[
shippingvisible
,
setshippingvisible
]
=
useState
<
boolean
>
(
false
);
...
@@ -109,21 +110,50 @@ const BasicInfo: React.FC<interfaceinfo> = (props) => {
...
@@ -109,21 +110,50 @@ const BasicInfo: React.FC<interfaceinfo> = (props) => {
]
]
// 确定
// 确定
const
handleShipping
=
(
type
:
any
,
values
:
any
,
param
:
any
)
=>
{
const
handleShipping
=
(
type
:
any
,
values
:
any
,
param
:
any
)
=>
{
console
.
log
(
values
,
'handleShipping'
)
handleRevise
(
values
[
0
],
1
);
form
.
setFieldsValue
({
form
.
setFieldsValue
({
shipmentOrderCode
:
values
[
0
].
invoicesNo
shipmentOrderCode
:
values
[
0
].
invoicesNo
})
})
onGet
(
values
[
0
],
2
);
setshippingvisible
(
false
);
setshippingvisible
(
false
);
}
}
const
handleInvoices
=
(
type
:
any
,
values
:
any
,
param
:
any
)
=>
{
const
handleInvoices
=
(
type
:
any
,
values
:
any
,
param
:
any
)
=>
{
console
.
log
(
values
,
'handleInvoices'
)
handleRevise
(
values
[
0
],
2
);
form
.
setFieldsValue
({
form
.
setFieldsValue
({
invoicesNo
:
values
[
0
].
orderNo
invoicesNo
:
values
[
0
].
orderNo
})
})
onGet
(
values
[
0
],
3
);
setinvoicesvisible
(
false
);
setinvoicesvisible
(
false
);
}
}
useEffect
(()
=>
{
currentRef
.
current
=
{
get
:
()
=>
new
Promise
((
resolve
:
any
)
=>
{
form
.
validateFields
().
then
(
res
=>
{
resolve
({
state
:
true
,
name
:
'basicInfo'
,
data
:
{
digest
:
res
.
digest
,
companyId
:
res
.
companyId
,
shipmentOrderCode
:
res
.
shipmentOrderCode
,
invoicesNo
:
res
.
invoicesNo
,
shipperAddressId
:
res
.
shipperAddressId
,
companyName
:
set
.
companyName
,
shipperFullAddress
:
set
.
shipperFullAddress
,
receiverMemberId
:
set
.
receiverMemberId
,
receiverMemberName
:
set
.
receiverMemberName
,
receiverFullAddress
:
set
.
receiverFullAddress
,
receiverName
:
set
.
receiverName
,
receiverPhone
:
set
.
receiverPhone
,
}
})
}).
catch
(
error
=>
{
console
.
log
(
error
)
})
})
}
})
return
(
return
(
<>
<>
<
Form
<
Form
...
@@ -134,7 +164,7 @@ const BasicInfo: React.FC<interfaceinfo> = (props) => {
...
@@ -134,7 +164,7 @@ const BasicInfo: React.FC<interfaceinfo> = (props) => {
<
Input
/>
<
Input
/>
</
Form
.
Item
>
</
Form
.
Item
>
<
Form
.
Item
label=
"物流服务商"
name=
"companyId"
rules=
{
[{
required
:
true
,
message
:
'请选择流服务商'
}]
}
>
<
Form
.
Item
label=
"物流服务商"
name=
"companyId"
rules=
{
[{
required
:
true
,
message
:
'请选择流服务商'
}]
}
>
<
Select
allowClear
>
<
Select
allowClear
onChange=
{
(
value
,
option
)
=>
onGet
(
option
,
1
)
}
>
{
{
listcompany
.
map
((
item
:
any
,
index
:
number
)
=>
(
listcompany
.
map
((
item
:
any
,
index
:
number
)
=>
(
<
Option
key=
{
item
.
id
}
value=
{
item
.
id
}
>
{
item
.
name
}
</
Option
>
<
Option
key=
{
item
.
id
}
value=
{
item
.
id
}
>
{
item
.
name
}
</
Option
>
...
@@ -144,20 +174,20 @@ const BasicInfo: React.FC<interfaceinfo> = (props) => {
...
@@ -144,20 +174,20 @@ const BasicInfo: React.FC<interfaceinfo> = (props) => {
</
Form
.
Item
>
</
Form
.
Item
>
<
Form
.
Item
label=
"物流单号"
name=
'receiverName1'
><
span
></
span
></
Form
.
Item
>
<
Form
.
Item
label=
"物流单号"
name=
'receiverName1'
><
span
></
span
></
Form
.
Item
>
<
Form
.
Item
label=
'对应发货单号'
name=
'shipmentOrderCode'
>
<
Form
.
Item
label=
'对应发货单号'
name=
'shipmentOrderCode'
>
<
Search
value=
{
parmas
.
shipmentOrderCode
||
undefined
}
readOnly
enterButton=
{
<><
LinkOutlined
/>
选择
</>
}
onSearch=
{
()
=>
setshippingvisible
(
true
)
}
/>
<
Search
readOnly
enterButton=
{
<><
LinkOutlined
/>
选择
</>
}
onSearch=
{
()
=>
setshippingvisible
(
true
)
}
/>
{
/* <Button type='link'>查看单号详情</Button> */
}
{
/* <Button type='link'>查看单号详情</Button> */
}
</
Form
.
Item
>
</
Form
.
Item
>
<
Form
.
Item
label=
'对应订单号/售后单'
name=
'invoicesNo'
>
<
Form
.
Item
label=
'对应订单号/售后单'
name=
'invoicesNo'
>
<
Search
value=
{
parmas
.
invoicesNo
||
undefined
}
readOnly
enterButton=
{
<><
LinkOutlined
/>
选择
</>
}
onSearch=
{
()
=>
setinvoicesvisible
(
true
)
}
/>
<
Search
readOnly
enterButton=
{
<><
LinkOutlined
/>
选择
</>
}
onSearch=
{
()
=>
setinvoicesvisible
(
true
)
}
/>
{
/* <Button type='link'>查看单号详情</Button> */
}
{
/* <Button type='link'>查看单号详情</Button> */
}
</
Form
.
Item
>
</
Form
.
Item
>
<
Form
.
Item
label=
"收货方"
name=
'receiverName'
><
span
>
{
parmas
.
receiverName
}
</
span
></
Form
.
Item
>
<
Form
.
Item
label=
"收货方"
name=
'receiverName'
><
span
>
{
set
.
receiverName
}
</
span
></
Form
.
Item
>
<
Form
.
Item
label=
"收货地址"
name=
'receiverFullAddress'
>
<
Form
.
Item
label=
"收货地址"
name=
'receiverFullAddress'
>
<
div
style=
{
{
lineHeight
:
'36px'
}
}
>
{
parmas
.
memberName
}
/
{
parmas
.
p
hone
}
</
div
>
<
div
style=
{
{
lineHeight
:
'36px'
}
}
>
{
set
.
receiverName
}
/
{
set
.
receiverP
hone
}
</
div
>
<
div
>
{
parmas
.
receiverFullAddress
}
</
div
>
<
div
>
{
set
.
receiverFullAddress
}
</
div
>
</
Form
.
Item
>
</
Form
.
Item
>
<
Form
.
Item
label=
"发货地址"
name=
"shipperAddressId"
>
<
Form
.
Item
label=
"发货地址"
name=
"shipperAddressId"
>
<
Select
allowClear
>
<
Select
allowClear
onChange=
{
(
value
,
option
)
=>
onGet
(
option
,
4
)
}
>
{
{
shipperaddress
.
map
((
item
:
any
,
index
:
number
)
=>
(
shipperaddress
.
map
((
item
:
any
,
index
:
number
)
=>
(
<
Option
key=
{
item
.
id
}
value=
{
item
.
id
}
>
{
item
.
fullAddress
}
</
Option
>
<
Option
key=
{
item
.
id
}
value=
{
item
.
id
}
>
{
item
.
fullAddress
}
</
Option
>
...
...
src/pages/logistics/logisticsSubmit/detail/components/goods.tsx
View file @
05309f59
...
@@ -4,7 +4,12 @@ import { ColumnType } from 'antd/lib/table/interface';
...
@@ -4,7 +4,12 @@ import { ColumnType } from 'antd/lib/table/interface';
import
{
PlusOutlined
}
from
'@ant-design/icons'
;
import
{
PlusOutlined
}
from
'@ant-design/icons'
;
import
ModalTable
from
'@/components/ModalTable'
import
ModalTable
from
'@/components/ModalTable'
const
AddGoods
:
React
.
FC
<
{}
>
=
()
=>
{
interface
goodsParamsProps
{
currentRef
?:
any
,
set
?:
any
}
const
AddGoods
:
React
.
FC
<
goodsParamsProps
>
=
(
props
)
=>
{
const
columns
:
ColumnType
<
any
>
[]
=
[
const
columns
:
ColumnType
<
any
>
[]
=
[
{
{
title
:
'ID'
,
title
:
'ID'
,
...
...
src/pages/logistics/logisticsSubmit/detail/index.tsx
View file @
05309f59
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
* @Date: 2020-11-06
* @Date: 2020-11-06
* @Author: HJX
* @Author: HJX
*/
*/
import
React
,
{
useState
}
from
'react'
;
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
{
Button
,
Card
,
Tabs
}
from
'antd'
;
import
{
Button
,
Card
,
Tabs
}
from
'antd'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
ReturnEle
from
'@/components/ReturnEle'
;
import
ReturnEle
from
'@/components/ReturnEle'
;
...
@@ -14,6 +14,7 @@ import Goods from './components/goods';//物流单明细
...
@@ -14,6 +14,7 @@ import Goods from './components/goods';//物流单明细
const
{
TabPane
}
=
Tabs
const
{
TabPane
}
=
Tabs
const
AddEditLogistics
:
React
.
FC
<
{}
>
=
()
=>
{
const
AddEditLogistics
:
React
.
FC
<
{}
>
=
()
=>
{
const
basic
=
useRef
<
any
>
();
// 用于提交的
// 用于提交的
const
[
parmas
,
setParmas
]
=
useState
<
any
>
({
const
[
parmas
,
setParmas
]
=
useState
<
any
>
({
digest
:
''
,
//单据摘要
digest
:
''
,
//单据摘要
...
@@ -31,33 +32,36 @@ const AddEditLogistics: React.FC<{}> = () => {
...
@@ -31,33 +32,36 @@ const AddEditLogistics: React.FC<{}> = () => {
detailList
:
[],
//物流单明细列表 ,LogisticsOrderDetailRequest
detailList
:
[],
//物流单明细列表 ,LogisticsOrderDetailRequest
})
})
const
[
data
,
setData
]
=
useState
<
any
>
({})
const
[
data
,
setData
]
=
useState
<
any
>
({})
// 调用修改Fn
const
handleRevise
=
(
value
:
any
,
index
:
number
)
=>
{
// 提交数据
console
.
log
(
value
,
'传过来的数据'
)
const
handleSubmit
=
async
()
=>
{
const
basicRef
=
await
basic
.
current
.
get
();
if
(
basicRef
.
state
)
{
console
.
log
(
basicRef
.
data
);
}
}
const
getBasicInfo
=
(
value
:
any
,
index
:
number
)
=>
{
const
data
=
{
...
parmas
};
const
data
=
{
...
parmas
};
if
(
index
===
1
)
{
if
(
index
===
1
)
{
data
.
invoicesNo
=
value
.
orderNo
;
//对应单据编号
data
.
companyName
=
value
.
children
data
.
receiverAddressId
=
value
.
deliveryAddresId
;
//收货方id
}
else
if
(
index
===
2
)
{
data
.
shipmentOrderId
=
value
.
id
;
//发货单id
data
.
shipmentOrderCode
=
value
.
invoicesNo
;
//发货单号
data
.
shipmentOrderCode
=
value
.
invoicesNo
;
//发货单号
data
.
p
hone
=
value
.
phone
;
data
.
receiverP
hone
=
value
.
phone
;
data
.
receiverName
=
value
.
receiverName
;
//收货方名称
data
.
receiverName
=
value
.
receiverName
;
//收货方名称
data
.
receiverFullAddress
=
value
.
fullAddress
;
data
.
receiverFullAddress
=
value
.
fullAddress
;
data
.
m
emberName
=
value
.
memberName
;
data
.
receiverM
emberName
=
value
.
memberName
;
setParmas
(
data
)
data
.
invoicesId
=
value
.
id
}
else
if
(
index
===
2
&&
!
data
.
invoicesNo
)
{
}
else
if
(
index
===
3
&&
!
data
.
invoicesNo
)
{
data
.
p
hone
=
value
.
phone
;
data
.
receiverP
hone
=
value
.
phone
;
data
.
receiverName
=
value
.
receiverName
;
//收货方名称
data
.
receiverName
=
value
.
receiverName
;
//收货方名称
data
.
receiverFullAddress
=
value
.
fullAddress
;
data
.
receiverFullAddress
=
value
.
fullAddress
;
data
.
memberName
=
value
.
memberName
;
data
.
receiverMemberName
=
value
.
memberName
;
setParmas
(
data
)
data
.
invoicesId
=
value
.
id
}
else
{
data
.
shipperFullAddress
=
value
.
children
}
}
setParmas
(
data
)
}
// 提交数据
const
handleSubmit
=
()
=>
{
console
.
log
(
'提交数据'
);
}
}
return
(
return
(
...
@@ -70,12 +74,15 @@ const AddEditLogistics: React.FC<{}> = () => {
...
@@ -70,12 +74,15 @@ const AddEditLogistics: React.FC<{}> = () => {
<
Tabs
type=
"card"
>
<
Tabs
type=
"card"
>
<
TabPane
key=
'tab-1'
tab=
'基本信息'
>
<
TabPane
key=
'tab-1'
tab=
'基本信息'
>
<
BasicInfo
<
BasicInfo
parmas=
{
parmas
}
currentRef=
{
basic
}
handleRevise=
{
handleRevise
}
set=
{
parmas
}
onGet=
{
getBasicInfo
}
/>
/>
</
TabPane
>
</
TabPane
>
<
TabPane
key=
'tab-2'
tab=
'物流单明细'
>
<
TabPane
key=
'tab-2'
tab=
'物流单明细'
>
<
Goods
/>
<
Goods
set=
{
parmas
}
/>
</
TabPane
>
</
TabPane
>
<
TabPane
key=
'tab-3'
tab=
'运费'
></
TabPane
>
<
TabPane
key=
'tab-3'
tab=
'运费'
></
TabPane
>
<
TabPane
key=
'tab-4'
tab=
'流转记录'
>
<
TabPane
key=
'tab-4'
tab=
'流转记录'
>
...
...
src/pages/lxMall/commodityDetail/index.tsx
View file @
05309f59
...
@@ -518,6 +518,7 @@ const CommodityDetail = (props) => {
...
@@ -518,6 +518,7 @@ const CommodityDetail = (props) => {
shopId
:
storeId
,
shopId
:
storeId
,
memberRoleId
:
commodityDetail
.
memberRoleId
memberRoleId
:
commodityDetail
.
memberRoleId
}
}
PublicApi
.
postOrderDirectPayment
(
param
).
then
(
res
=>
{
PublicApi
.
postOrderDirectPayment
(
param
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
message
.
destroy
()
message
.
destroy
()
...
...
src/pages/lxMall/components/Filter/components/Category/index.tsx
View file @
05309f59
...
@@ -30,14 +30,14 @@ const Category: React.FC<CategoryPropsType> = (props) => {
...
@@ -30,14 +30,14 @@ const Category: React.FC<CategoryPropsType> = (props) => {
const
[
initSelectAttributeList
,
setInitSelectAttributeList
]
=
useState
<
any
>
([])
const
[
initSelectAttributeList
,
setInitSelectAttributeList
]
=
useState
<
any
>
([])
useEffect
(()
=>
{
useEffect
(()
=>
{
console
.
log
(
JSON
.
stringify
(
filterList
))
if
(
isEmpty
(
filterList
))
{
if
(
isEmpty
(
filterList
))
{
setSelectedKeys
([])
setSelectedKeys
([])
setLastCategoryId
(
null
)
setLastCategoryId
(
null
)
setSelectAttrbuteList
([])
setSelectAttrbuteList
([])
}
else
{
}
else
{
const
initKeys
=
[]
const
initKeys
=
[]
// let initAttr
Keys = []
let
attrInit
Keys
=
[]
for
(
const
item
of
filterList
)
{
for
(
const
item
of
filterList
)
{
if
(
item
.
type
===
FILTER_TYPE
.
category
)
{
if
(
item
.
type
===
FILTER_TYPE
.
category
)
{
initKeys
.
push
(
String
(
item
.
key
))
initKeys
.
push
(
String
(
item
.
key
))
...
@@ -45,8 +45,14 @@ const Category: React.FC<CategoryPropsType> = (props) => {
...
@@ -45,8 +45,14 @@ const Category: React.FC<CategoryPropsType> = (props) => {
initKeys
.
push
(
String
(
item
.
key
))
initKeys
.
push
(
String
(
item
.
key
))
}
}
if
(
item
.
type
===
FILTER_TYPE
.
attribute
)
{
if
(
item
.
type
===
FILTER_TYPE
.
attribute
)
{
setInitSelectAttributeList
(
item
.
key
)
attrInitKeys
=
item
.
key
}
}
}
setInitSelectAttributeList
(
attrInitKeys
)
if
(
isEmpty
(
attrInitKeys
))
{
setSelectAttrbuteList
([])
}
}
setSelectedKeys
(
initKeys
)
setSelectedKeys
(
initKeys
)
}
}
...
@@ -197,15 +203,10 @@ const Category: React.FC<CategoryPropsType> = (props) => {
...
@@ -197,15 +203,10 @@ const Category: React.FC<CategoryPropsType> = (props) => {
setLastCategoryId
(
selectedKeys
[
0
])
setLastCategoryId
(
selectedKeys
[
0
])
}
}
}
else
{
}
else
{
setLastCategoryId
(
null
)
initAttribute
()
setAttributeList
([])
if
(
filterList
.
some
(
item
=>
item
.
type
===
FILTER_TYPE
.
attribute
))
{
onFilter
({
type
:
FILTER_TYPE
.
attribute
,
key
:
null
,
title
:
``
})
}
}
if
(
selectedKeys
.
length
===
0
)
{
initAttribute
()
}
}
switch
(
layoutType
)
{
switch
(
layoutType
)
{
case
LAYOUT_TYPE
.
mall
:
case
LAYOUT_TYPE
.
mall
:
...
@@ -226,6 +227,18 @@ const Category: React.FC<CategoryPropsType> = (props) => {
...
@@ -226,6 +227,18 @@ const Category: React.FC<CategoryPropsType> = (props) => {
}
}
const
initAttribute
=
()
=>
{
setLastCategoryId
(
null
)
setAttributeList
([])
if
(
filterList
.
some
(
item
=>
item
.
type
===
FILTER_TYPE
.
attribute
))
{
onFilter
({
type
:
FILTER_TYPE
.
attribute
,
key
:
null
,
title
:
``
})
}
}
const
handleExpand
=
(
expandedKeys
)
=>
{
const
handleExpand
=
(
expandedKeys
)
=>
{
setExpandedKeys
(
expandedKeys
)
setExpandedKeys
(
expandedKeys
)
}
}
...
...
src/pages/lxMall/components/SideNav/index.tsx
View file @
05309f59
...
@@ -56,7 +56,7 @@ const SideNav: React.FC<SideNavPropsType> = (props) => {
...
@@ -56,7 +56,7 @@ const SideNav: React.FC<SideNavPropsType> = (props) => {
<
div
className=
"side_nav_list_item"
onClick=
{
()
=>
linkToPurchaseOrder
()
}
>
<
div
className=
"side_nav_list_item"
onClick=
{
()
=>
linkToPurchaseOrder
()
}
>
<
MyIcon
type=
"icon-gouwuche"
/>
<
MyIcon
type=
"icon-gouwuche"
/>
</
div
>
</
div
>
<
div
className=
"side_nav_list_item"
>
<
div
className=
"side_nav_list_item"
onClick=
{
()
=>
history
.
push
(
'/memberCenter/systemSetting/message'
)
}
>
<
MyIcon
type=
"icon-xiaoxi"
/>
<
MyIcon
type=
"icon-xiaoxi"
/>
</
div
>
</
div
>
<
div
className=
"side_nav_list_item"
>
<
div
className=
"side_nav_list_item"
>
...
...
src/pages/transaction/confirmInquiryQuote/components/details.tsx
View file @
05309f59
...
@@ -394,20 +394,44 @@ const Details: React.FC<parmas> = (props) => {
...
@@ -394,20 +394,44 @@ const Details: React.FC<parmas> = (props) => {
}
}
>
>
<
div
className=
{
style
.
item_wrap
}
>
<
div
className=
{
style
.
item_wrap
}
>
{
<
Tabs
>
<
Tabs
>
{
Object
.
keys
(
data
).
length
>
0
&&
<>
{
type
===
'quote'
?
<
TabPane
tab=
"外部流转"
key=
"1"
>
<
TabPane
tab=
"外部流转"
key=
"1"
>
<
Steps
<
Steps
style=
{
{
padding
:
'20px 0'
}
}
style=
{
{
padding
:
'20px 0'
}
}
progressDot
progressDot
current=
{
Number
(
data
.
externalState
-
1
)
}
current=
{
data
.
externalState
-
1
}
>
>
{
detailData
.
externalStateStep
.
item
s
.
map
((
item
,
index
)
=>
{
{
Object
.
keys
(
data
).
length
>
0
&&
data
.
externalRequisitionFormResponse
s
.
map
((
item
,
index
)
=>
{
return
(
return
(
<
Step
<
Step
key=
{
index
}
key=
{
index
}
title=
{
item
.
title
}
title=
{
item
.
roleName
}
description=
{
item
.
desc
}
description=
{
item
.
operation
}
status=
{
item
.
isExecute
?
'finish'
:
'wait'
}
/>
);
})
}
</
Steps
>
</
TabPane
>
:
<>
<
TabPane
tab=
"外部流转"
key=
"1"
>
<
Steps
style=
{
{
padding
:
'20px 0'
}
}
progressDot
current=
{
data
.
externalState
-
1
}
>
{
Object
.
keys
(
data
).
length
>
0
&&
data
.
externalInquiryListStateResponses
.
map
((
item
,
index
)
=>
{
return
(
<
Step
key=
{
index
}
title=
{
item
.
roleName
}
description=
{
item
.
operationalProcess
}
status=
{
item
.
isExecute
?
'finish'
:
'wait'
}
/>
/>
);
);
})
}
})
}
...
@@ -419,20 +443,23 @@ const Details: React.FC<parmas> = (props) => {
...
@@ -419,20 +443,23 @@ const Details: React.FC<parmas> = (props) => {
progressDot
progressDot
current=
{
Number
(
data
.
interiorState
-
1
)
}
current=
{
Number
(
data
.
interiorState
-
1
)
}
>
>
{
detailData
.
interiorStateStep
.
item
s
.
map
((
item
,
index
)
=>
{
{
Object
.
keys
(
data
).
length
>
0
&&
data
.
interiorRequisitionFormStateResponse
s
.
map
((
item
,
index
)
=>
{
return
(
return
(
<
Step
<
Step
key=
{
index
}
key=
{
index
}
title=
{
item
.
title
}
title=
{
item
.
roleName
}
description=
{
item
.
desc
}
description=
{
item
.
operationalProcess
}
status=
{
item
.
isExecute
?
'finish'
:
'wait'
}
/>
/>
);
);
})
}
})
}
</
Steps
>
</
Steps
>
</
TabPane
>
</
TabPane
>
</
Tabs
>
</
>
}
}
</>
}
</
Tabs
>
</
div
>
</
div
>
<
div
className=
{
style
.
item_wrap
}
>
<
div
className=
{
style
.
item_wrap
}
>
<
div
className=
{
style
.
mainCol_title
}
style=
{
view
===
2
?
{
paddingBottom
:
'0px'
}
:
{
paddingBottom
:
'24px'
}
}
>
询价商品
</
div
>
<
div
className=
{
style
.
mainCol_title
}
style=
{
view
===
2
?
{
paddingBottom
:
'0px'
}
:
{
paddingBottom
:
'24px'
}
}
>
询价商品
</
div
>
...
@@ -515,12 +542,20 @@ const Details: React.FC<parmas> = (props) => {
...
@@ -515,12 +542,20 @@ const Details: React.FC<parmas> = (props) => {
</
div
>
</
div
>
<
div
className=
{
style
.
item_wrap
}
>
<
div
className=
{
style
.
item_wrap
}
>
<
Tabs
>
<
Tabs
>
{
type
===
'quote'
?
<
TabPane
tab=
"外部流转记录"
key=
"1"
>
<
Table
columns=
{
flowRecord
.
external
}
rowKey=
'id'
pagination=
{
false
}
dataSource=
{
view
===
2
?
data
.
externalRequisitionFormResponses
:
data
.
externalInquiryListLogResponses
}
/>
</
TabPane
>
:
<>
<
TabPane
tab=
"外部流转记录"
key=
"1"
>
<
TabPane
tab=
"外部流转记录"
key=
"1"
>
<
Table
columns=
{
flowRecord
.
external
}
rowKey=
'id'
pagination=
{
false
}
dataSource=
{
view
===
2
?
data
.
externalRequisitionFormResponses
:
data
.
externalInquiryListLogResponses
}
/>
<
Table
columns=
{
flowRecord
.
external
}
rowKey=
'id'
pagination=
{
false
}
dataSource=
{
view
===
2
?
data
.
externalRequisitionFormResponses
:
data
.
externalInquiryListLogResponses
}
/>
</
TabPane
>
</
TabPane
>
<
TabPane
tab=
"内部流转记录"
key=
"2"
>
<
TabPane
tab=
"内部流转记录"
key=
"2"
>
<
Table
columns=
{
flowRecord
.
interior
}
rowKey=
'id'
pagination=
{
false
}
dataSource=
{
view
===
2
?
data
.
interiorQuotationLogResponses
:
data
.
interiorInquiryListLogResponses
}
/>
<
Table
columns=
{
flowRecord
.
interior
}
rowKey=
'id'
pagination=
{
false
}
dataSource=
{
view
===
2
?
data
.
interiorQuotationLogResponses
:
data
.
interiorInquiryListLogResponses
}
/>
</
TabPane
>
</
TabPane
>
</>
}
</
Tabs
>
</
Tabs
>
</
div
>
</
div
>
<
AuditModal
<
AuditModal
...
...
src/pages/transaction/confirmInquiryQuote/pendingSubmit/index.tsx
View file @
05309f59
...
@@ -38,11 +38,11 @@ const PendingSubmit: React.FC<{}> = () => {
...
@@ -38,11 +38,11 @@ const PendingSubmit: React.FC<{}> = () => {
render
:
(
text
:
any
,
record
:
any
)
=>
<
EyePreview
render
:
(
text
:
any
,
record
:
any
)
=>
<
EyePreview
url=
{
`/memberCenter/tranactionAbility/confirmInquiryQuote/pendingSubmit/rfq/preview?id=${record.inquiryListId}`
}
>
{
text
}
</
EyePreview
>
url=
{
`/memberCenter/tranactionAbility/confirmInquiryQuote/pendingSubmit/rfq/preview?id=${record.inquiryListId}`
}
>
{
text
}
</
EyePreview
>
},
{
},
{
title
:
'
询价单摘要'
,
title
:
'
报价单摘要'
,
key
:
'details'
,
key
:
'details'
,
dataIndex
:
'details'
,
dataIndex
:
'details'
,
},
{
},
{
title
:
'
询价会员'
,
title
:
'
报价会员'
,
key
:
'memberName'
,
key
:
'memberName'
,
dataIndex
:
'memberName'
,
dataIndex
:
'memberName'
,
},
{
},
{
...
@@ -171,7 +171,7 @@ const PendingSubmit: React.FC<{}> = () => {
...
@@ -171,7 +171,7 @@ const PendingSubmit: React.FC<{}> = () => {
actions=
{
formActions
}
actions=
{
formActions
}
onSubmit=
{
values
=>
handleSumbit
(
values
)
}
onSubmit=
{
values
=>
handleSumbit
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'
inquiryListNo'
,
FORM_FILTER_PATH
)
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'
quotationNo'
,
FORM_FILTER_PATH
)
}
}
}
}
expressionScope=
{
{
expressionScope=
{
{
controllerBtns
controllerBtns
...
...
src/pages/transaction/confirmInquiryQuote/schema/pendingReview.tsx
View file @
05309f59
src/pages/transaction/goodsOffer/addEnquiryOrder/components/flowRecord.tsx
View file @
05309f59
...
@@ -18,38 +18,10 @@ const FlowRecord: React.FC<parmas> = (props) => {
...
@@ -18,38 +18,10 @@ const FlowRecord: React.FC<parmas> = (props) => {
const
format
=
(
text
)
=>
{
const
format
=
(
text
)
=>
{
return
<>
{
moment
(
text
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
}
</>
return
<>
{
moment
(
text
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
}
</>
}
}
/**
* @description: 外部流转记录
* @param {type}
* @return {type}
*/
const
externalTextState
=
(
text
)
=>
{
let
name
=
''
editData
.
externalInquiryListStateResponses
.
forEach
(
element
=>
{
if
(
element
.
state
===
text
)
{
name
=
element
.
operationalProcess
}
})
return
<>
{
name
}
</>
}
/**
* @description: 内部流转记录
* @param {type}
* @return {type}
*/
const
interiorTextState
=
(
text
)
=>
{
let
name
=
''
editData
.
interiorInquiryListLogResponses
.
forEach
(
element
=>
{
if
(
element
.
state
===
text
)
{
name
=
element
.
operationalProcess
}
})
return
<>
{
name
}
</>
}
const
outerColumns
:
EditableColumns
[]
=
[{
const
outerColumns
:
EditableColumns
[]
=
[{
title
:
'序号'
,
title
:
'序号'
,
dataIndex
:
'i
nquiryListI
d'
,
dataIndex
:
'id'
,
},
{
},
{
title
:
'操作角色'
,
title
:
'操作角色'
,
dataIndex
:
'roleName'
,
dataIndex
:
'roleName'
,
...
@@ -70,7 +42,7 @@ const FlowRecord: React.FC<parmas> = (props) => {
...
@@ -70,7 +42,7 @@ const FlowRecord: React.FC<parmas> = (props) => {
}]
}]
const
insideColumns
:
EditableColumns
[]
=
[{
const
insideColumns
:
EditableColumns
[]
=
[{
title
:
'序号'
,
title
:
'序号'
,
dataIndex
:
'i
nquiryListI
d'
,
dataIndex
:
'id'
,
},
{
},
{
title
:
'操作人'
,
title
:
'操作人'
,
dataIndex
:
'roleName'
,
dataIndex
:
'roleName'
,
...
...
src/pages/transaction/goodsOffer/components/details.tsx
View file @
05309f59
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
style
from
'./index.less'
;
import
style
from
'./index.less'
;
import
{
history
}
from
'umi'
;
import
{
history
}
from
'umi'
;
import
{
Button
,
Card
,
Tabs
,
Steps
,
Table
}
from
'antd'
;
import
{
Button
,
Tabs
,
Steps
,
Table
}
from
'antd'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
StopOutlined
,
CheckSquareOutlined
,
LinkOutlined
}
from
'@ant-design/icons'
import
{
CheckSquareOutlined
,
LinkOutlined
}
from
'@ant-design/icons'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
quoteOrderInternalState
,
inquiryQuoteOuterState
}
from
'../../common/tableStatusList'
;
import
AuditModal
from
'../components/auditModel'
;
import
AuditModal
from
'../components/auditModel'
;
import
moment
from
'moment'
;
import
moment
from
'moment'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
PublicApi
}
from
'@/services/api'
;
...
@@ -41,59 +40,7 @@ const Details: React.FC<parmas> = (props) => {
...
@@ -41,59 +40,7 @@ const Details: React.FC<parmas> = (props) => {
const
format
=
(
text
)
=>
{
const
format
=
(
text
)
=>
{
return
<>
{
moment
(
text
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
}
</>
return
<>
{
moment
(
text
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
}
</>
}
}
// steps 切换
const
[
detailData
,
setDetailData
]
=
useState
<
any
>
({
externalStateStep
:
{
current
:
0
,
title
:
'外部流转'
,
items
:
[
{
title
:
'采购商'
,
desc
:
'提交询价单'
,
},
{
title
:
'供应商'
,
desc
:
'提交报价单'
,
},
{
title
:
'采购商'
,
desc
:
'确认报价单'
,
},
{
title
:
'完成'
,
desc
:
''
}
]
},
interiorStateStep
:
{
current
:
0
,
title
:
'内部流转'
,
items
:
[
{
title
:
'采购员'
,
desc
:
'新增询价单'
,
},
{
title
:
'采购经理'
,
desc
:
'审核询价单'
,
},
{
title
:
'副总经理'
,
desc
:
'审核询价单'
,
},
{
title
:
'采购员'
,
desc
:
'提交询价单'
,
},
{
title
:
'完成'
,
desc
:
''
}
]
}
})
// 模拟数据
// 模拟数据
const
[
data
,
setdata
]
=
useState
<
any
>
({});
const
[
data
,
setdata
]
=
useState
<
any
>
({});
// 询价商品
// 询价商品
...
@@ -357,12 +304,13 @@ const Details: React.FC<parmas> = (props) => {
...
@@ -357,12 +304,13 @@ const Details: React.FC<parmas> = (props) => {
progressDot
progressDot
current=
{
Number
(
data
.
externalState
-
1
)
}
current=
{
Number
(
data
.
externalState
-
1
)
}
>
>
{
detailData
.
externalStateStep
.
item
s
.
map
((
item
,
index
)
=>
{
{
Object
.
keys
(
data
).
length
>
0
&&
data
.
externalInquiryListStateResponse
s
.
map
((
item
,
index
)
=>
{
return
(
return
(
<
Step
<
Step
key=
{
index
}
key=
{
index
}
title=
{
item
.
title
}
title=
{
item
.
roleName
}
description=
{
item
.
desc
}
description=
{
item
.
operationalProcess
}
status=
{
item
.
isExecute
?
'finish'
:
'wait'
}
/>
/>
);
);
})
}
})
}
...
@@ -374,12 +322,13 @@ const Details: React.FC<parmas> = (props) => {
...
@@ -374,12 +322,13 @@ const Details: React.FC<parmas> = (props) => {
progressDot
progressDot
current=
{
Number
(
data
.
interiorState
-
1
)
}
current=
{
Number
(
data
.
interiorState
-
1
)
}
>
>
{
detailData
.
interiorStateStep
.
item
s
.
map
((
item
,
index
)
=>
{
{
Object
.
keys
(
data
).
length
>
0
&&
data
.
interiorRequisitionFormStateResponse
s
.
map
((
item
,
index
)
=>
{
return
(
return
(
<
Step
<
Step
key=
{
index
}
key=
{
index
}
title=
{
item
.
title
}
title=
{
item
.
roleName
}
description=
{
item
.
desc
}
description=
{
item
.
operationalProcess
}
status=
{
item
.
isExecute
?
'finish'
:
'wait'
}
/>
/>
);
);
})
}
})
}
...
...
src/pages/transaction/inquiryQuote/addInquiryOrder/components/flowRecord.tsx
View file @
05309f59
...
@@ -19,7 +19,7 @@ const FlowRecord: React.FC<parmas> = (props) => {
...
@@ -19,7 +19,7 @@ const FlowRecord: React.FC<parmas> = (props) => {
}
}
const
outerColumns
:
EditableColumns
[]
=
[{
const
outerColumns
:
EditableColumns
[]
=
[{
title
:
'序号'
,
title
:
'序号'
,
dataIndex
:
'i
nquiryListI
d'
,
dataIndex
:
'id'
,
},
{
},
{
title
:
'操作角色'
,
title
:
'操作角色'
,
dataIndex
:
'roleName'
,
dataIndex
:
'roleName'
,
...
@@ -40,7 +40,7 @@ const FlowRecord: React.FC<parmas> = (props) => {
...
@@ -40,7 +40,7 @@ const FlowRecord: React.FC<parmas> = (props) => {
}]
}]
const
insideColumns
:
EditableColumns
[]
=
[{
const
insideColumns
:
EditableColumns
[]
=
[{
title
:
'序号'
,
title
:
'序号'
,
dataIndex
:
'i
nquiryListI
d'
,
dataIndex
:
'id'
,
},
{
},
{
title
:
'操作人'
,
title
:
'操作人'
,
dataIndex
:
'roleName'
,
dataIndex
:
'roleName'
,
...
...
src/pages/transaction/inquiryQuote/components/details.tsx
View file @
05309f59
...
@@ -434,19 +434,20 @@ const Details: React.FC<parmas> = (props) => {
...
@@ -434,19 +434,20 @@ const Details: React.FC<parmas> = (props) => {
{
{
Object
.
keys
(
data
).
length
>
0
&&
Object
.
keys
(
data
).
length
>
0
&&
<>
<>
{
type
===
'
rfq
'
?
{
type
===
'
quote
'
?
<
TabPane
tab=
"外部流转"
key=
"1"
>
<
TabPane
tab=
"外部流转"
key=
"1"
>
<
Steps
<
Steps
style=
{
{
padding
:
'20px 0'
}
}
style=
{
{
padding
:
'20px 0'
}
}
progressDot
progressDot
current=
{
data
.
externalState
-
1
}
current=
{
data
.
externalState
-
1
}
>
>
{
detailData
.
externalStateStep
.
item
s
.
map
((
item
,
index
)
=>
{
{
Object
.
keys
(
data
).
length
>
0
&&
data
.
externalRequisitionFormResponse
s
.
map
((
item
,
index
)
=>
{
return
(
return
(
<
Step
<
Step
key=
{
index
}
key=
{
index
}
title=
{
item
.
title
}
title=
{
item
.
roleName
}
description=
{
item
.
desc
}
description=
{
item
.
operation
}
status=
{
item
.
isExecute
?
'finish'
:
'wait'
}
/>
/>
);
);
})
}
})
}
...
@@ -460,12 +461,13 @@ const Details: React.FC<parmas> = (props) => {
...
@@ -460,12 +461,13 @@ const Details: React.FC<parmas> = (props) => {
progressDot
progressDot
current=
{
data
.
externalState
-
1
}
current=
{
data
.
externalState
-
1
}
>
>
{
detailData
.
externalStateStep
.
item
s
.
map
((
item
,
index
)
=>
{
{
Object
.
keys
(
data
).
length
>
0
&&
data
.
externalInquiryListStateResponse
s
.
map
((
item
,
index
)
=>
{
return
(
return
(
<
Step
<
Step
key=
{
index
}
key=
{
index
}
title=
{
item
.
title
}
title=
{
item
.
roleName
}
description=
{
item
.
desc
}
description=
{
item
.
operationalProcess
}
status=
{
item
.
isExecute
?
'finish'
:
'wait'
}
/>
/>
);
);
})
}
})
}
...
@@ -477,12 +479,13 @@ const Details: React.FC<parmas> = (props) => {
...
@@ -477,12 +479,13 @@ const Details: React.FC<parmas> = (props) => {
progressDot
progressDot
current=
{
Number
(
data
.
interiorState
-
1
)
}
current=
{
Number
(
data
.
interiorState
-
1
)
}
>
>
{
detailData
.
interiorStateStep
.
item
s
.
map
((
item
,
index
)
=>
{
{
Object
.
keys
(
data
).
length
>
0
&&
data
.
interiorRequisitionFormStateResponse
s
.
map
((
item
,
index
)
=>
{
return
(
return
(
<
Step
<
Step
key=
{
index
}
key=
{
index
}
title=
{
item
.
title
}
title=
{
item
.
roleName
}
description=
{
item
.
desc
}
description=
{
item
.
operationalProcess
}
status=
{
item
.
isExecute
?
'finish'
:
'wait'
}
/>
/>
);
);
})
}
})
}
...
@@ -575,7 +578,7 @@ const Details: React.FC<parmas> = (props) => {
...
@@ -575,7 +578,7 @@ const Details: React.FC<parmas> = (props) => {
</
div
>
</
div
>
<
div
className=
{
style
.
item_wrap
}
>
<
div
className=
{
style
.
item_wrap
}
>
{
{
type
===
'
rfq
'
?
type
===
'
quote
'
?
<>
<>
<
div
className=
{
style
.
mainCol_title
}
>
外部流转记录
</
div
>
<
div
className=
{
style
.
mainCol_title
}
>
外部流转记录
</
div
>
<
Table
columns=
{
flowRecord
.
external
}
rowKey=
'id'
pagination=
{
false
}
dataSource=
{
data
.
externalInquiryListLogResponses
}
/>
<
Table
columns=
{
flowRecord
.
external
}
rowKey=
'id'
pagination=
{
false
}
dataSource=
{
data
.
externalInquiryListLogResponses
}
/>
...
...
src/pages/transaction/inquiryQuote/pendingSubmit/index.tsx
View file @
05309f59
...
@@ -105,8 +105,8 @@ const PendingSubmit: React.FC<{}> = () => {
...
@@ -105,8 +105,8 @@ const PendingSubmit: React.FC<{}> = () => {
/**搜索 */
/**搜索 */
const
handleSumbit
=
(
values
:
any
)
=>
{
const
handleSumbit
=
(
values
:
any
)
=>
{
if
(
values
.
voucherTime
)
{
if
(
values
.
voucherTime
)
{
values
.
start
VoucherTime
=
timeRange
(
values
.
voucherTime
).
st
values
.
start
DocumentsTime
=
timeRange
(
values
.
voucherTime
).
st
values
.
end
VoucherTime
=
timeRange
(
values
.
voucherTime
).
et
values
.
end
DocumentsTime
=
timeRange
(
values
.
voucherTime
).
et
delete
values
.
voucherTime
delete
values
.
voucherTime
}
}
console
.
log
(
'values'
,
values
)
console
.
log
(
'values'
,
values
)
...
...
src/store/filter/index.ts
View file @
05309f59
...
@@ -136,7 +136,9 @@ class FilterStore {
...
@@ -136,7 +136,9 @@ class FilterStore {
for
(
const
filterItem
of
newFilterList
)
{
for
(
const
filterItem
of
newFilterList
)
{
switch
(
filterItem
.
type
)
{
switch
(
filterItem
.
type
)
{
case
FILTER_TYPE
.
category
:
case
FILTER_TYPE
.
category
:
if
(
Number
(
filterItem
.
key
[
0
]))
{
tempFilterParam
.
categoryId
=
Number
(
filterItem
.
key
[
0
])
tempFilterParam
.
categoryId
=
Number
(
filterItem
.
key
[
0
])
}
break
break
case
FILTER_TYPE
.
customerCategory
:
case
FILTER_TYPE
.
customerCategory
:
tempFilterParam
.
customerCategoryId
=
Number
(
filterItem
.
key
[
0
])
tempFilterParam
.
customerCategoryId
=
Number
(
filterItem
.
key
[
0
])
...
...
src/utils/index.tsx
View file @
05309f59
...
@@ -13,7 +13,7 @@ export function isObject(obj: any) {
...
@@ -13,7 +13,7 @@ export function isObject(obj: any) {
return
Object
.
prototype
.
toString
.
call
(
obj
)
===
'[object Object]'
return
Object
.
prototype
.
toString
.
call
(
obj
)
===
'[object Object]'
}
}
export
function
formatTimeString
(
date
,
format
:
string
=
'YYYY-MM-DD HH:mm:ss'
)
{
export
function
formatTimeString
(
date
,
format
=
'YYYY-MM-DD HH:mm:ss'
)
{
return
date
?
moment
(
date
).
format
(
format
)
:
''
return
date
?
moment
(
date
).
format
(
format
)
:
''
}
}
...
@@ -115,7 +115,7 @@ export function timeRange(val: number) {
...
@@ -115,7 +115,7 @@ export function timeRange(val: number) {
export
const
arrayGroupsByCount
=
(
array
,
count
)
=>
{
export
const
arrayGroupsByCount
=
(
array
,
count
)
=>
{
let
index
=
0
;
let
index
=
0
;
le
t
newArray
=
[];
cons
t
newArray
=
[];
while
(
index
<
array
.
length
)
{
while
(
index
<
array
.
length
)
{
newArray
.
push
(
array
.
slice
(
index
,
index
+=
count
));
newArray
.
push
(
array
.
slice
(
index
,
index
+=
count
));
}
}
...
@@ -139,7 +139,7 @@ export function isPrimeNum(num) {
...
@@ -139,7 +139,7 @@ export function isPrimeNum(num) {
if
(
!
isThree
(
num
))
{
if
(
!
isThree
(
num
))
{
return
false
;
return
false
;
}
}
for
(
var
i
=
2
;
i
<
num
/
5
+
1
;
i
++
)
{
for
(
let
i
=
2
;
i
<
num
/
5
+
1
;
i
++
)
{
if
(
num
%
i
==
0
)
{
if
(
num
%
i
==
0
)
{
return
false
;
return
false
;
}
}
...
@@ -154,13 +154,13 @@ function isNum(num) {
...
@@ -154,13 +154,13 @@ function isNum(num) {
}
}
function
isDual
(
num
)
{
function
isDual
(
num
)
{
var
num
=
num
.
toString
();
var
num
=
num
.
toString
();
var
lastNum
=
num
.
substring
(
num
.
length
-
1
,
num
.
length
);
const
lastNum
=
num
.
substring
(
num
.
length
-
1
,
num
.
length
);
return
lastNum
%
2
==
0
||
lastNum
%
5
==
0
?
false
:
true
;
return
lastNum
%
2
==
0
||
lastNum
%
5
==
0
?
false
:
true
;
}
}
function
isThree
(
num
)
{
function
isThree
(
num
)
{
var
str
=
num
.
toString
();
const
str
=
num
.
toString
();
var
sum
=
0
;
let
sum
=
0
;
for
(
var
i
=
0
;
i
<
str
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
str
.
length
;
i
++
)
{
sum
+=
+
str
.
substring
(
i
,
i
+
1
);
sum
+=
+
str
.
substring
(
i
,
i
+
1
);
};
};
return
sum
%
3
==
0
?
false
:
true
;
return
sum
%
3
==
0
?
false
:
true
;
...
@@ -528,7 +528,7 @@ export const findLastIndexFlowState = (data: any[], customKey = 'isExecute'): nu
...
@@ -528,7 +528,7 @@ export const findLastIndexFlowState = (data: any[], customKey = 'isExecute'): nu
}
}
// 循环数据,找到状态值,一直覆盖
// 循环数据,找到状态值,一直覆盖
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
if
(
!
Boolean
(
data
[
i
][
customKey
])
)
{
if
(
!
data
[
i
][
customKey
]
)
{
index
=
i
-
1
;
index
=
i
-
1
;
}
}
// 循环到最后如果 index 还是为 0 的话,说明工作流全部跑完了,此时 index 为 data.length - 1
// 循环到最后如果 index 还是为 0 的话,说明工作流全部跑完了,此时 index 为 data.length - 1
...
...
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