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
85869e8e
Commit
85869e8e
authored
Dec 17, 2020
by
Bill
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into test
parents
b0c877be
49848366
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
239 additions
and
70 deletions
+239
-70
info.tsx
src/pages/balance/settleRules/memberSettle/info.tsx
+14
-9
index.tsx
src/pages/balance/settleRules/memberSettle/schema/index.tsx
+1
-1
columns.tsx
src/pages/handling/assign/add/columns.tsx
+28
-0
formEffects.tsx
src/pages/handling/assign/add/formEffects.tsx
+48
-0
index.tsx
src/pages/handling/assign/add/index.tsx
+0
-0
schema.tsx
src/pages/handling/assign/add/schema.tsx
+117
-33
useRowSelection.tsx
src/pages/handling/common/useRowSelection.tsx
+2
-2
index.tsx
src/pages/handling/components/EnterPrise/index.tsx
+13
-5
schema.tsx
src/pages/handling/components/EnterPrise/schema.tsx
+1
-1
content.tsx
src/pages/handling/components/ProcessDetail/content.tsx
+6
-6
index.tsx
src/pages/handling/components/ProcessDetail/index.tsx
+6
-2
UploadFile.tsx
src/pages/handling/components/UploadFile/UploadFile.tsx
+2
-5
index.tsx
src/utils/index.tsx
+1
-6
No files found.
src/pages/balance/settleRules/memberSettle/info.tsx
View file @
85869e8e
...
...
@@ -49,7 +49,7 @@ const common_columns: any = [
]
const
MemberSettleAdd
:
React
.
FC
=
()
=>
{
const
[
visible
,
setVisible
]
=
useState
(
false
)
const
[
memberRowSelection
,
memberRowCtl
]
=
useRowSelectionTable
({
customKey
:
'
i
d'
});
const
[
memberRowSelection
,
memberRowCtl
]
=
useRowSelectionTable
({
customKey
:
'
uniqueI
d'
});
const
[
initialValue
,
setInitialValue
]
=
useState
({});
const
{
id
,
preview
}
=
usePageStatus
();
const
[
submitLoading
,
setSubmitLoading
]
=
useState
(
false
);
...
...
@@ -77,7 +77,7 @@ const MemberSettleAdd: React.FC = () => {
title
:
'操作'
,
render
:
(
text
,
record
)
=>
{
return
(
<
div
onClick=
{
()
=>
handleRemove
(
record
.
member
Id
)
}
>
删除
</
div
>
<
div
onClick=
{
()
=>
handleRemove
(
record
.
unique
Id
)
}
>
删除
</
div
>
)
}
}
...
...
@@ -102,7 +102,11 @@ const MemberSettleAdd: React.FC = () => {
const
fetchMemberData
=
async
(
params
:
any
)
=>
{
//member/manage/lower/page/bynamerole
const
{
data
}
=
await
PublicApi
.
getMemberManageLowerPageBynamerole
(
params
);
return
data
return
{
...
data
,
data
:
data
.
data
.
map
((
v
)
=>
({...
v
,
uniqueId
:
v
.
memberId
+
"_"
+
v
.
roleId
})),
totalCount
:
data
.
totalCount
}
}
// 获取适用会员下拉搜索框
...
...
@@ -155,11 +159,11 @@ const MemberSettleAdd: React.FC = () => {
const
handleRemove
=
(
id
:
number
)
=>
{
const
string
=
'Tabs.memberTab.someLists'
;
const
chooseList
=
formActions
.
getFieldValue
(
string
);
const
res
=
chooseList
.
filter
((
item
)
=>
item
.
member
Id
!==
id
);
const
res
=
chooseList
.
filter
((
item
)
=>
item
.
unique
Id
!==
id
);
formActions
.
setFieldValue
(
string
,
res
);
// 必须设置key
memberRowCtl
.
setSelectRow
(
res
);
memberRowCtl
.
setSelectedRowKeys
(
res
.
map
((
item
)
=>
item
.
member
Id
))
memberRowCtl
.
setSelectedRowKeys
(
res
.
map
((
item
)
=>
item
.
unique
Id
))
}
// 从PAAS平台--规则配置--平台规则配置取已勾选的结算方式决定是否显示结算方式
...
...
@@ -188,10 +192,11 @@ const MemberSettleAdd: React.FC = () => {
otherValues
:
[
res
.
data
.
settlementDays
,
res
.
data
.
settlementDate
],
}
})
formActions
.
setFieldValue
(
'Tabs.memberTab.someLists'
,
res
.
data
.
memberList
);
const
list
=
res
.
data
.
memberList
.
map
((
item
)
=>
({...
item
,
uniqueId
:
item
.
memberId
+
"_"
+
item
.
roleId
}))
formActions
.
setFieldValue
(
'Tabs.memberTab.someLists'
,
list
);
// 必须设置key
memberRowCtl
.
setSelectRow
(
res
.
data
.
memberL
ist
);
memberRowCtl
.
setSelectedRowKeys
(
res
.
data
.
memberList
.
map
((
item
)
=>
item
.
memberId
))
memberRowCtl
.
setSelectRow
(
l
ist
);
memberRowCtl
.
setSelectedRowKeys
(
res
.
data
.
memberList
.
map
((
item
)
=>
item
.
memberId
+
"_"
+
item
.
roleId
))
}
else
{
message
.
error
({
content
:
res
.
message
})
}
...
...
@@ -238,7 +243,7 @@ const MemberSettleAdd: React.FC = () => {
rowSelection=
{
memberRowSelection
}
fetchTableData=
{
params
=>
fetchMemberData
(
params
)
}
tableProps=
{
{
rowKey
:
'
i
d'
,
rowKey
:
'
uniqueI
d'
,
}
}
formilyProps=
{
{
...
...
src/pages/balance/settleRules/memberSettle/schema/index.tsx
View file @
85869e8e
...
...
@@ -129,7 +129,7 @@ export const addSchema = {
},
'x-component'
:
'MultTable'
,
'x-component-props'
:
{
rowKey
:
'
member
Id'
,
rowKey
:
'
unique
Id'
,
prefix
:
"{{tableAddButton}}"
,
columns
:
"{{tableColumns}}"
// columns: "{{tableColumns}}",
...
...
src/pages/handling/assign/add/columns.tsx
0 → 100644
View file @
85869e8e
import
React
from
'react'
;
export
const
productColumns
=
[
// { title: '订单号', dataIndex: 'orderNo' },
{
title
:
'商品ID'
,
dataIndex
:
'commodityId'
},
{
title
:
'商品名称'
,
dataIndex
:
'name'
},
{
title
:
'品类'
,
dataIndex
:
'customerCategoryName'
},
{
title
:
'品牌'
,
dataIndex
:
'brandName'
},
{
title
:
'单位'
,
dataIndex
:
'unitName'
},
// { title: '订单数量', dataIndex: 'orderTotal' },
// { title: '剩余加工数量', dataIndex: 'restTotal' },
{
title
:
'加工数量'
,
dataIndex
:
'processNum'
},
{
title
:
'加工单价'
,
dataIndex
:
'processUnitPrice'
},
{
title
:
'加工费'
,
dataIndex
:
'processTotalPrice'
},
]
export
const
orderColumns
=
[
{
title
:
'订单号'
,
dataIndex
:
'orderNo'
},
{
title
:
'商品ID'
,
dataIndex
:
'commodityId'
},
{
title
:
'商品名称'
,
dataIndex
:
'name'
},
{
title
:
'品类'
,
dataIndex
:
'customerCategoryName'
},
{
title
:
'品牌'
,
dataIndex
:
'brandName'
},
{
title
:
'单位'
,
dataIndex
:
'unitName'
},
{
title
:
'订单数量'
,
dataIndex
:
'orderTotal'
},
{
title
:
'剩余加工数量'
,
dataIndex
:
'restTotal'
},
{
title
:
'加工数量'
,
dataIndex
:
'processNum'
},
{
title
:
'加工单价'
,
dataIndex
:
'processUnitPrice'
},
{
title
:
'加工费'
,
dataIndex
:
'processTotalPrice'
},
]
src/pages/handling/assign/add/formEffects.tsx
View file @
85869e8e
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
{
onFieldValueChange$
,
onFieldMount$
}
=
FormEffectHooks
/**
* formEffect, 表单联动操作放这里操作,包括表单的生命周期等操作
*/
export
const
formEffects
=
()
=>
{
const
formActions
=
createFormActions
()
// 当物流为 物流时,那么填充
onFieldMount$
(
'receivefullAddress'
).
subscribe
((
state
)
=>
{
PublicApi
.
getLogisticsReceiverAddressPage
({
current
:
'1'
,
pageSize
:
'99'
})
.
then
((
res
)
=>
{
let
options
=
[];
if
(
res
.
code
===
1000
)
{
options
=
res
.
data
.
data
.
map
((
item
)
=>
{
return
{
label
:
`
${
item
.
fullAddress
}
/
${
item
.
receiverName
}
/
${
item
.
phone
}
`
,
value
:
item
.
id
}}
)
}
formActions
.
setFieldState
(
"receivefullAddress"
,
(
state
)
=>
{
state
.
props
[
"x-component-props"
][
"options"
]
=
options
;
})
})
})
/**
* 当改变物流地址的时候,那么修改隐藏的3个字段,
* 1. receiveAddress 详细的物流地址
* 2. receiveUserName 收货人
* 3. receiveUserTel 收货人电话
*/
onFieldValueChange$
(
'receivefullAddress'
).
subscribe
((
state
)
=>
{
if
(
state
.
visible
)
{
const
options
=
state
.
props
[
"x-component-props"
][
"options"
];
const
target
=
options
.
filter
((
item
)
=>
item
.
value
==
state
.
value
)[
0
];
if
(
target
)
{
const
[
receiveAddress
,
receiveUserName
,
receiveUserTel
]
=
target
.
label
.
split
(
"/"
);
formActions
.
setFieldValue
(
"receiveAddress"
,
receiveAddress
.
trim
());
formActions
.
setFieldValue
(
"receiveUserName"
,
receiveUserName
.
trim
());
formActions
.
setFieldValue
(
"receiveUserTel"
,
receiveUserTel
.
trim
());
formActions
.
setFieldValue
(
"receiverAddressId"
,
state
.
value
)
}
}
})
}
src/pages/handling/assign/add/index.tsx
View file @
85869e8e
This diff is collapsed.
Click to expand it.
src/pages/handling/assign/add/schema.tsx
View file @
85869e8e
/*
* @Author: your name
* @Date: 2020-10-12 13:37:06
* @LastEditTime: 2020-10-16 16:55:22
* @Description: 新建生产通知单 schema
*/
import
React
from
'react'
;
import
{
Space
,
Menu
,
Dropdown
}
from
'antd'
;
import
{
DownOutlined
}
from
'@ant-design/icons'
;
import
ProcessDetail
from
'../../components/ProcessDetail'
import
{
innerWorkFlowRecordColumn
,
outerWorkflowRecordsColumn
}
from
'../detail/columns'
;
// 流转记录
export
const
historyColumn
=
[
...
...
@@ -90,7 +80,30 @@ const basicTab = {
value
:
2
}
],
default
:
1
"x-linkages"
:
[
{
"type"
:
"value:state"
,
"target"
:
"*(productList, productSource)"
,
"condition"
:
"{{ $self.value === 1 }}"
,
state
:
{
display
:
false
,
},
otherwise
:{
//条件不满足时控制bbb字段的编辑状态
display
:
true
}
},
{
"type"
:
"value:state"
,
"target"
:
"*(orderList, orderSource)"
,
"condition"
:
"{{ $self.value === 2 }}"
,
state
:
{
display
:
false
,
},
otherwise
:{
//条件不满足时控制bbb字段的编辑状态
display
:
true
}
},
]
},
deliveryDate
:
{
...
...
@@ -157,17 +170,19 @@ const basicTab = {
type
:
'string'
,
display
:
false
},
doc
No
:
{
notice
No
:
{
type
:
'string'
,
title
:
'通知单号'
,
'x-component'
:
'Text'
editable
:
false
,
// 'x-component': 'Text'
},
doc
Time
:
{
create
Time
:
{
type
:
'string'
,
title
:
'单据时间'
,
'x-component'
:
'Text'
editable
:
false
// 'x-component': 'I'
},
s
tatus
:
{
outerS
tatus
:
{
type
:
'string'
,
title
:
'外部状态'
,
'x-component'
:
'Children'
,
...
...
@@ -175,7 +190,7 @@ const basicTab = {
children
:
'待提交通知单'
}
},
status2
:
{
innerStatus
:
{
type
:
'string'
,
title
:
'内部状态'
,
'x-component'
:
'Children'
,
...
...
@@ -209,14 +224,32 @@ const detailTab = {
labelAlign
:
'left'
},
properties
:
{
selectedSource
:
{
orderSource
:
{
type
:
'string'
,
title
:
'通知单来源'
,
'x-component'
:
'
Children
'
,
'x-component'
:
'
Radio
'
,
'x-component-props'
:
{
children
:
'{{source}}'
,
options
:
[{
label
:
'加工订单'
,
value
:
1
,
}],
defaultValue
:
1
,
},
},
someLists
:
{
productSource
:
{
type
:
'string'
,
title
:
'通知单来源'
,
'x-component'
:
'Radio'
,
'x-component-props'
:
{
options
:
[{
label
:
'加工商品'
,
value
:
2
,
}],
defaultValue
:
2
,
},
},
// 加工商品
productList
:
{
type
:
'array:number'
,
'x-mega-props'
:
{
wrapperCol
:
24
,
...
...
@@ -224,8 +257,8 @@ const detailTab = {
'x-component'
:
'MultTable'
,
'x-component-props'
:
{
rowKey
:
(
record
)
=>
record
.
id
+
"_"
+
record
.
fullId
,
prefix
:
"{{tableAddButton}}"
,
columns
:
"{{
noticesDetail
Column}}"
prefix
:
"{{table
Product
AddButton}}"
,
columns
:
"{{
renderProduct
Column}}"
// columns: "{{tableColumns}}",
},
'x-rules'
:
[
...
...
@@ -233,8 +266,29 @@ const detailTab = {
required
:
true
,
message
:
'请选择要加工的商品'
}
]
],
},
// 订单
orderList
:
{
type
:
'array:number'
,
'x-mega-props'
:
{
wrapperCol
:
24
,
},
'x-component'
:
'MultTable'
,
'x-component-props'
:
{
rowKey
:
(
record
)
=>
record
.
id
+
"_"
+
record
.
fullId
,
prefix
:
"{{tableOrderAddButton}}"
,
columns
:
"{{renderOrderColumn}}"
// columns: "{{tableColumns}}",
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择要加工的商品'
}
]
},
}
}
}
...
...
@@ -380,19 +434,49 @@ const historyRecord = {
properties
:
{
controller
:
{
type
:
'object'
,
'x-component'
:
'Children'
,
"x-component"
:
'aaa'
,
"x-component-props"
:
{
options
:
[
{
label
:
'外部流转'
,
value
:
1
},
{
label
:
'内部流转'
,
value
:
2
}
],
optionType
:
'button'
,
},
'x-linkages'
:
[
{
type
:
'value:visible'
,
target
:
'outerWorkFlow'
,
condition
:
'{{$value === 1}}'
},
{
type
:
'value:visible'
,
target
:
'innerWorkFlow'
,
condition
:
'{{$value === 2}}'
},
],
},
outerWorkFlow
:
{
type
:
'array:number'
,
'x-mega-props'
:
{
wrapperCol
:
24
,
},
'x-component'
:
'MultTable'
,
'x-component-props'
:
{
c
hildren
:
'{{RadioBtnGroup}}'
c
olumns
:
outerWorkflowRecordsColumn
}
},
historyTable
:
{
type
:
'object'
,
'x-component'
:
'Table'
,
innerWorkFlow
:
{
type
:
'array:number'
,
'x-mega-props'
:
{
wrapperCol
:
24
,
},
'x-component'
:
'MultTable'
,
'x-component-props'
:
{
columns
:
historyColumn
}
rowKey
:
(
record
)
=>
record
.
id
,
columns
:
innerWorkFlowRecordColumn
// columns: "{{tableColumns}}",
},
}
}
}
...
...
src/pages/handling/common/useRowSelection.tsx
View file @
85869e8e
...
...
@@ -11,9 +11,9 @@ export const useRowSelection = (options) => {
type
:
type
,
selectedRowKeys
:
selectedKeys
,
onSelect
:
async
(
record
:
any
,
selected
:
boolean
,
selectedRows
:
any
[],
nativeEvent
)
=>
{
const
tempKey
=
record
[
primaryKey
];
//
const tempKey = record[primaryKey];
if
(
type
===
'radio'
)
{
setSelectedKeys
(
record
[
tempKey
]);
setSelectedKeys
(
[
record
[
primaryKey
]
]);
setSelectedRows
(
selectedRows
);
return
;
}
...
...
src/pages/handling/components/EnterPrise/index.tsx
View file @
85869e8e
...
...
@@ -9,15 +9,23 @@ import { schema } from './schema';
const
actions
=
createAsyncFormActions
();
const
{
onFieldInit$
,
onFieldMount$
}
=
FormEffectHooks
const
EnterPrise
=
({
visible
,
cancel
,
...
restProps
})
=>
{
const
[
selectRow
,
memberRowCtl
]
=
useRowSelectionTable
({
customKey
:
'id'
,
type
:
'radio'
});
const
EnterPrise
=
({
visible
,
cancel
,
rowSelection
,
...
restProps
})
=>
{
//
const [selectRow, memberRowCtl] = useRowSelectionTable({ customKey: 'id', type: 'radio'});
const
fetchData
=
useCallback
(
async
(
params
:
any
)
=>
{
let
res
=
await
PublicApi
.
getMemberManageLowerPageBynamerole
(
params
);
return
res
;
console
.
log
(
res
);
return
{
...
res
,
code
:
res
.
code
,
data
:
{
data
:
res
.
data
.
data
.
map
((
v
)
=>
({...
v
,
uniqueId
:
v
.
memberId
+
"_"
+
v
.
roleId
})),
total
:
res
.
data
.
code
}
};
},
[]);
const
onOk
=
()
=>
{
restProps
.
onOk
(
memberRowCtl
)
restProps
.
onOk
()
cancel
();
}
...
...
@@ -51,7 +59,7 @@ const EnterPrise = ({visible, cancel, ...restProps}) => {
schema=
{
schema
}
actions=
{
actions
}
effects=
{
effects
}
expressionScope=
{
{
rowSelection
:
selectRow
}
}
expressionScope=
{
{
rowSelection
:
rowSelection
}
}
></
SearchForm
>
:
null
}
...
...
src/pages/handling/components/EnterPrise/schema.tsx
View file @
85869e8e
...
...
@@ -132,7 +132,7 @@ export const schema = {
"x-component"
:
"Table"
,
"x-component-props"
:
{
"columns"
:
columns
,
"rowKey"
:
"
i
d"
,
"rowKey"
:
"
uniqueI
d"
,
"pagination"
:
false
,
"rowSelection"
:
"{{rowSelection}}"
}
...
...
src/pages/handling/components/ProcessDetail/content.tsx
View file @
85869e8e
...
...
@@ -110,6 +110,7 @@ const Content: React.FC<Iprops> = React.forwardRef((props, conftentRef) => {
const
handleFormSubmit
=
(
value
)
=>
{
props
.
formSubmit
(
value
);
}
return
(
<
div
className=
{
styles
.
container
}
>
<
div
className=
{
styles
.
menu
}
>
...
...
@@ -165,20 +166,19 @@ const Content: React.FC<Iprops> = React.forwardRef((props, conftentRef) => {
<
div
className=
{
styles
.
header
}
>
{
"附件"
}
</
div
>
<
div
className=
{
styles
.
info
}
>
{
files
.
length
===
0
&&
props
.
type
!=
'edit'
files
.
length
===
0
?
<
p
>
无
</
p
>
:
null
}
{
files
.
map
((
item
,
key
)
=>
{
:
props
.
type
!=
'edit'
?
files
.
map
((
item
,
key
)
=>
{
return
(
<
FileList
name=
{
item
.
name
}
url=
{
item
.
url
}
key=
{
key
}
/>
)
})
:
null
}
{
props
.
type
==
'edit'
?
<
UploadFile
onChange=
{
props
.
fileOnChange
}
fileMaxSize=
{
20
*
1024
}
/>
?
<
UploadFile
fileList=
{
files
}
onChange=
{
props
.
fileOnChange
}
fileMaxSize=
{
20
*
1024
}
/>
:
null
}
</
div
>
...
...
src/pages/handling/components/ProcessDetail/index.tsx
View file @
85869e8e
...
...
@@ -17,6 +17,7 @@ interface Iprops {
productName
:
string
,
unitName
:
string
,
uniqueID
:
string
,
files
:
any
[],
}
interface
IfileProps
{
...
...
@@ -28,7 +29,7 @@ const ProcessDetail: React.FC<Iprops> = (props) => {
const
{
skuId
,
type
,
productName
,
...
rest
}
=
props
;
const
[
visible
,
setVisible
]
=
useState
<
boolean
>
(
false
);
const
[
info
,
setInfo
]
=
useState
<
any
>
({})
const
[
files
,
setFiles
]
=
useState
<
IfileProps
[]
>
(
[]
)
const
[
files
,
setFiles
]
=
useState
<
IfileProps
[]
>
(
()
=>
props
.
files
)
const
contentRef
=
useRef
(
null
)
const
onClose
=
()
=>
{
...
...
@@ -68,8 +69,11 @@ const ProcessDetail: React.FC<Iprops> = (props) => {
}
}
useEffect
(()
=>
{
setFiles
(
props
.
files
);
},
[
props
.
files
])
const
formSubmit
=
(
values
)
=>
{
console
.
log
(
values
);
!!
props
.
submit
&&
props
.
submit
({
files
:
files
,
uniqueID
:
props
.
uniqueID
,
...
...
src/pages/handling/components/UploadFile/UploadFile.tsx
View file @
85869e8e
...
...
@@ -4,7 +4,6 @@ import { Upload, Button, message } from 'antd';
import
{
UploadOutlined
}
from
'@ant-design/icons'
import
{
UPLOAD_TYPE
}
from
'@/constants'
import
FileListItem
from
'./FileList'
;
import
url
from
'*.svg'
;
const
UploadFile
=
(
props
)
=>
{
const
{
fileList
=
[],
onChange
,
fileMaxSize
=
20
}
=
props
...
...
@@ -51,8 +50,7 @@ const UploadFile = (props) => {
};
const
removeFile
=
(
key
)
=>
{
const
res
=
fileList
.
filter
((
item
)
=>
item
!=
key
);
console
.
log
(
res
);
const
res
=
fileList
.
filter
((
item
)
=>
item
.
name
!=
key
);
onChange
(
res
);
}
...
...
@@ -63,7 +61,7 @@ const UploadFile = (props) => {
fileList
.
map
((
item
,
key
)
=>
{
return
(
<
FileListItem
key=
{
item
}
key=
{
key
}
name=
{
item
.
name
}
url=
{
item
.
url
}
removeFile=
{
removeFile
}
...
...
@@ -77,7 +75,6 @@ const UploadFile = (props) => {
</
Upload
>
<
div
className=
{
styles
.
tips
}
>
一次上传一个文件,每个附件大小不能超过
{
fileMaxSize
/
1024
}
M
</
div
>
</
div
>
)
}
...
...
src/utils/index.tsx
View file @
85869e8e
...
...
@@ -520,13 +520,8 @@ export const findLastIndexFlowState = (data: any[], customKey = 'isExecute'): nu
}
// 循环数据,找到状态值,一直覆盖
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
if
(
!
data
[
i
][
customKey
])
{
if
(
data
[
i
][
customKey
])
{
index
=
i
;
break
;
}
// 循环到最后如果 index 还是为 0 的话,说明工作流全部跑完了,此时 index 为 data.length - 1
if
(
i
===
data
.
length
-
1
&&
index
===
0
)
{
index
=
data
.
length
-
1
;
}
}
return
index
;
...
...
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