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
project
jinfa-admin
Commits
e8ab40bf
Commit
e8ab40bf
authored
Sep 24, 2020
by
前端-钟卫鹏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:交易规则配置
parent
694c827a
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
160 additions
and
176 deletions
+160
-176
addRule.tsx
src/pages/ruleSettingManage/transactionRules/addRule.tsx
+20
-6
RuleSetting.tsx
...SettingManage/transactionRules/components/RuleSetting.tsx
+61
-42
index.tsx
...nage/transactionRules/components/selectProcesss/index.tsx
+4
-4
index.tsx
src/pages/ruleSettingManage/transactionRules/index.tsx
+8
-9
ruleDetails.tsx
src/pages/ruleSettingManage/transactionRules/ruleDetails.tsx
+66
-46
index.tsx
...pages/ruleSettingManage/transactionRules/schema/index.tsx
+1
-69
No files found.
src/pages/ruleSettingManage/transactionRules/addRule.tsx
View file @
e8ab40bf
...
...
@@ -17,6 +17,8 @@ import RuleSetting from './components/RuleSetting'
const
addSchemaAction
=
createFormActions
()
const
AddRule
:
React
.
FC
<
{}
>
=
(
props
)
=>
{
const
[
isDisabled
,
setIsDisabled
]
=
useState
<
boolean
>
(
false
)
const
{
id
,
preview
,
...
...
@@ -25,13 +27,19 @@ const AddRule:React.FC<{}> = (props) => {
// 整体表单提交
const
formSubmit
=
async
(
values
)
=>
{
setIsDisabled
(
true
)
const
params
=
omit
(
values
,
[
'state'
])
console
.
log
(
values
,
params
,
'values'
)
await
PublicApi
.
postOrderTradingRulesBackgroundAdd
(
params
)
setTimeout
(()
=>
{
let
res
:
any
=
{}
if
(
pageStatus
===
PageStatus
.
EDIT
){
res
=
await
PublicApi
.
postOrderTradingRulesBackgroundUpdata
(
params
)
}
else
if
(
pageStatus
===
PageStatus
.
ADD
){
res
=
await
PublicApi
.
postOrderTradingRulesBackgroundAdd
(
params
)
}
if
(
res
.
code
===
1000
){
setIsDisabled
(
false
)
history
.
goBack
(
-
1
)
}
,
1000
)
}
}
return
(
...
...
@@ -41,7 +49,13 @@ const AddRule:React.FC<{}> = (props) => {
title=
{
pageStatus
===
PageStatus
.
PREVIEW
?
'查看交易规则'
:
(
pageStatus
===
PageStatus
.
EDIT
?
'编辑交易规则'
:
'新增交易规则'
)
}
className=
"addRule"
extra=
{
[
<
Button
key=
"1"
onClick=
{
()
=>
addSchemaAction
.
submit
()
}
type=
"primary"
icon=
{
<
SaveOutlined
/>
}
>
<
Button
key=
"1"
onClick=
{
()
=>
addSchemaAction
.
submit
()
}
type=
"primary"
icon=
{
<
SaveOutlined
/>
}
disabled=
{
isDisabled
}
>
保存
</
Button
>,
]
}
...
...
src/pages/ruleSettingManage/transactionRules/components/RuleSetting.tsx
View file @
e8ab40bf
import
React
,
{
useState
}
from
'react'
import
React
,
{
use
Effect
,
use
State
}
from
'react'
import
{
usePageStatus
,
PageStatus
}
from
'@/hooks/usePageStatus'
import
{
useInitValue
}
from
'@/formSchema/effects/useInitValue'
import
EyePreview
from
'@/components/EyePreview'
...
...
@@ -35,6 +35,8 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
const
{
addSchemaAction
,
schema
,
formSubmit
,
onFieldChange
=
()
=>
{}
}
=
props
const
[
visibleChannelRroduct
,
setVisibleChannelRroduct
]
=
useState
(
false
)
const
[
memberRowSelection
,
memberRowCtl
]
=
useRowSelectionTable
({
customKey
:
'memberId'
})
const
[
initValue
,
setInitialValue
]
=
useState
({})
const
[
membersLength
,
setMembersLength
]
=
useState
(
0
)
const
{
id
,
...
...
@@ -42,15 +44,8 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
pageStatus
}
=
usePageStatus
()
const
initValue
=
useInitValue
(
PublicApi
.
getWarehouseFreightSpaceDetails
)
useUnitPreview
(
initValue
,
addSchemaAction
)
const
fetchProductList
=
async
(
params
)
=>
{
const
tradingRulesId
=
addSchemaAction
.
getFieldValue
(
'transactionProcesssId'
)
const
res
=
await
PublicApi
.
getOrderTradingRulesProductList
({
...
params
,
tradingRulesId
,
})
const
fetchMembersList
=
async
(
params
)
=>
{
const
res
=
await
PublicApi
.
getMemberManageAllProviderPage
(
params
)
return
res
.
data
}
...
...
@@ -61,11 +56,6 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
}
const
handleAddMemberBtn
=
()
=>
{
// const transactionProcesss = addSchemaAction.getFieldValue('transactionProcesssId')
// if (!transactionProcesss) {
// message.error('请先选择交易流程')
// return false
// }
const
checkBoxs
=
addSchemaAction
.
getFieldValue
(
'memberIds'
)
memberRowCtl
.
setSelectedRowKeys
(
checkBoxs
.
map
(
v
=>
v
.
productId
))
memberRowCtl
.
setSelectRow
(
checkBoxs
)
...
...
@@ -77,31 +67,31 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
const
tableColumns
=
[
{
dataIndex
:
'
i
d'
,
dataIndex
:
'
memberI
d'
,
title
:
'ID'
,
key
:
'
i
d'
key
:
'
memberI
d'
},
{
dataIndex
:
'
n
ame'
,
dataIndex
:
'
memberN
ame'
,
title
:
'会员名称'
,
key
:
'
n
ame'
,
render
:
(
_
,
record
)
=>
<
EyePreview
url=
{
`/memberCenter/commodityAbility/commodity/products/viewProducts?id=${record.id}`
}
>
{
_
}
</
EyePreview
>
key
:
'
memberN
ame'
,
//
render: (_, record) => <EyePreview url={`/memberCenter/commodityAbility/commodity/products/viewProducts?id=${record.id}`}>{_}</EyePreview>
},
{
dataIndex
:
'
typ
e'
,
dataIndex
:
'
memberTypeNam
e'
,
title
:
'会员类型'
,
key
:
'
typ
e'
key
:
'
memberTypeNam
e'
},
{
dataIndex
:
'role'
,
dataIndex
:
'role
Name
'
,
title
:
'会员角色'
,
key
:
'role'
key
:
'role
Name
'
},
{
dataIndex
:
'
class
'
,
dataIndex
:
'
levelTag
'
,
title
:
'会员等级'
,
key
:
'
class
'
,
render
:
(
text
,
record
)
=>
<
LevelBrand
level=
{
3
}
/>
key
:
'
levelTag
'
,
render
:
(
text
,
record
)
=>
<
LevelBrand
level=
{
record
.
level
}
/>
},
{
dataIndex
:
'ctl'
,
...
...
@@ -127,9 +117,9 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
const
columnsSetProduct
:
any
[]
=
[
{
dataIndex
:
'
i
d'
,
dataIndex
:
'
memberI
d'
,
title
:
'ID'
,
key
:
'
i
d'
key
:
'
memberI
d'
},
{
dataIndex
:
'name'
,
...
...
@@ -137,20 +127,20 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
key
:
'name'
},
{
dataIndex
:
'
typ
e'
,
dataIndex
:
'
memberTypeNam
e'
,
title
:
'会员类型'
,
key
:
'
typ
e'
key
:
'
memberTypeNam
e'
},
{
dataIndex
:
'role'
,
dataIndex
:
'role
Name
'
,
title
:
'会员角色'
,
key
:
'role'
key
:
'role
Name
'
},
{
dataIndex
:
'
class
'
,
dataIndex
:
'
levelTag
'
,
title
:
'会员等级'
,
key
:
'
class
'
,
render
:
(
text
,
record
)
=>
<
LevelBrand
level=
{
3
}
/>
key
:
'
levelTag
'
,
render
:
(
text
,
record
)
=>
<
LevelBrand
level=
{
record
.
level
}
/>
},
]
...
...
@@ -228,7 +218,6 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
// 会员弹框筛选select值
const
fetchSelectOptions
=
async
()
=>
{
const
res
=
await
PublicApi
.
getMemberManagePageitems
()
if
(
res
.
code
===
1000
)
{
const
{
data
=
{}
}:
any
=
res
const
{
...
...
@@ -246,6 +235,38 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
return
{}
}
useEffect
(()
=>
{
async
function
getInitValue
()
{
const
{
data
}
=
await
PublicApi
.
getOrderTradingRulesBackgroundDetails
({
id
:
id
});
if
(
data
.
isTacitlyApprove
===
2
)
{
const
res
=
await
getBindingMembers
({
id
:
id
.
toString
(),
current
:
'1'
,
pageSize
:
'10'
})
addSchemaAction
.
setFieldState
(
'memberIds'
,
(
state
)
=>
{
state
.
value
=
res
.
data
})
setMembersLength
(
res
.
totalCount
);
}
console
.
log
(
data
,
'data'
)
addSchemaAction
.
setFieldValue
(
'isTacitlyApprove'
,
data
.
isTacitlyApprove
===
1
?
1
:
2
)
setInitialValue
(
data
)
}
if
(
id
!=
''
)
{
getInitValue
();
}
},
[
id
])
// 拿到绑定的会员
const
getBindingMembers
=
async
({
id
=
'1'
,
current
=
'1'
,
pageSize
=
'10'
})
=>
{
const
res
=
await
PublicApi
.
getOrderTradingRulesBackgroundMember
({
id
,
current
,
pageSize
})
return
res
.
data
}
const
paginationChange
=
async
(
page
:
number
,
size
:
number
)
=>
{
if
(
id
!==
''
)
{
const
result
=
await
getBindingMembers
({
id
,
current
:
page
.
toString
(),
pageSize
:
size
.
toString
()})
addSchemaAction
.
setFieldValue
(
'memberIds'
,
result
.
data
)
}
}
return
(
<>
<
NiceForm
...
...
@@ -255,6 +276,8 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
expressionScope=
{
{
tableColumns
,
tableAddButton
,
paginationChange
,
membersLength
}
}
components=
{
{
SelectProcesss
,
...
...
@@ -263,7 +286,6 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
FormEffectHooks
.
onFormInputChange$
().
subscribe
(()
=>
{
onFieldChange
()
})
createAddContractTemplateEffect
(
addSchemaAction
)
}
}
onSubmit=
{
handleSubmit
}
actions=
{
addSchemaAction
}
...
...
@@ -278,7 +300,7 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
visible=
{
visibleChannelRroduct
}
columns=
{
columnsSetProduct
}
rowSelection=
{
memberRowSelection
}
fetchTableData=
{
params
=>
fetch
Product
List
(
params
)
}
fetchTableData=
{
params
=>
fetch
Members
List
(
params
)
}
formilyProps=
{
{
ctx
:
{
...
...
@@ -301,13 +323,10 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
}
tableProps=
{
{
rowKey
:
'memberId'
,
// pagination:
{
position
:
[
'none'
,
'topRight'
],
size
:
'small'
,
simple
:
true
,
disabled
:
true
}
// pagination: false
}
}
/>
</>
)
}
...
...
src/pages/ruleSettingManage/transactionRules/components/selectProcesss/index.tsx
View file @
e8ab40bf
import
React
,
{
useState
,
useRef
,
useEffect
}
from
'react'
import
styled
from
'styled-components'
import
{
ISchemaF
ormProps
,
ISchemaFieldProps
,
ISchemaF
ieldComponentProps
,
createFormActions
,
useFieldState
}
from
'@formily/antd'
import
{
Button
,
Space
,
Row
,
Col
,
Tag
}
from
'antd'
import
{
PlusOutlined
,
DeleteColumnOutlined
,
EditOutlined
,
DeleteOutlined
,
CaretUpOutlined
,
CaretDownOutlined
,
Eye
Outlined
}
from
'@ant-design/icons'
import
{
ISchemaFieldComponentProps
,
createFormActions
,
useFieldState
}
from
'@formily/antd'
import
{
Row
,
Col
,
Tag
}
from
'antd'
import
{
CaretUpOutlined
,
CaretDown
Outlined
}
from
'@ant-design/icons'
import
cx
from
'classnames'
import
{
PublicApi
}
from
'@/services/api'
import
{
findItemAndDelete
}
from
'@/utils'
...
...
@@ -63,7 +63,7 @@ const SelectProcesss = (props: ISchemaFieldComponentProps) => {
const
value
:
number
[]
=
props
.
value
||
[]
useEffect
(()
=>
{
PublicApi
.
getOrder
TradingRulesTransactionProcess
List
().
then
(
res
=>
{
PublicApi
.
getOrder
ProcessRuleConfig
List
().
then
(
res
=>
{
setFieldState
({
dataSource
:
res
.
data
,
showMore
...
...
src/pages/ruleSettingManage/transactionRules/index.tsx
View file @
e8ab40bf
...
...
@@ -19,10 +19,9 @@ const TransactionRules: React.FC<{}> = () => {
const
ref
=
useRef
<
any
>
({})
const
fetchData
=
(
params
:
any
)
=>
{
console
.
log
(
params
,
'params'
)
if
(
!
params
?.
name
)
delete
params
.
name
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getOrderTradingRulesList
(
params
).
then
(
res
=>
{
PublicApi
.
getOrderTradingRules
Background
List
(
params
).
then
(
res
=>
{
const
{
data
}
=
res
resolve
(
data
)
})
...
...
@@ -47,11 +46,11 @@ const TransactionRules: React.FC<{}> = () => {
{
text
}
</
EyePreview
>
},
{
title
:
'交易流程名称'
,
dataIndex
:
'transactionProcess'
,
key
:
'transactionProcess'
,
},
//
{
//
title: '交易流程名称',
//
dataIndex: 'transactionProcess',
//
key: 'transactionProcess',
//
},
{
title
:
'操作时间'
,
dataIndex
:
'operationTime'
,
...
...
@@ -107,7 +106,7 @@ const TransactionRules: React.FC<{}> = () => {
];
const
confirm
=
(
record
:
any
)
=>
{
PublicApi
.
postOrderTradingRulesUpdateState
({
id
:
record
.
id
,
state
:
record
.
state
?
0
:
1
}).
then
(
res
=>
{
PublicApi
.
postOrderTradingRules
Background
UpdateState
({
id
:
record
.
id
,
state
:
record
.
state
?
0
:
1
}).
then
(
res
=>
{
ref
.
current
.
reload
()
})
}
...
...
@@ -117,7 +116,7 @@ const TransactionRules: React.FC<{}> = () => {
}
const
handelDelete
=
(
record
:
any
)
=>
{
PublicApi
.
postOrderTradingRulesDelete
({
id
:
record
.
id
}).
then
(
res
=>
{
PublicApi
.
postOrderTradingRules
Background
Delete
({
id
:
record
.
id
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
ref
.
current
.
reload
()
})
...
...
src/pages/ruleSettingManage/transactionRules/ruleDetails.tsx
View file @
e8ab40bf
...
...
@@ -2,68 +2,67 @@ import React, {useState, useRef, useEffect} from 'react'
import
{
history
}
from
'umi'
import
{
Space
,
Card
,
Col
,
Row
,
Table
}
from
'antd'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
ReutrnEle
from
'@/components/ReturnEle'
;
import
ReutrnEle
from
'@/components/ReturnEle'
import
{
PublicApi
}
from
'@/services/api'
import
EyePreview
from
'@/components/EyePreview'
;
import
LevelBrand
from
'@/pages/member/components/LevelBrand'
;
import
EyePreview
from
'@/components/EyePreview'
import
LevelBrand
from
'@/pages/member/components/LevelBrand'
import
{
GetOrderTradingRulesBackgroundDetailsResponse
,
GetOrderTradingRulesBackgroundMemberResponse
}
from
'@/services/OrderApi'
import
{
StandardTable
}
from
'god'
const
AddRule
:
React
.
FC
<
{}
>
=
(
props
)
=>
{
const
[
membersList
,
setMembersList
]
=
useState
<
GetOrderTradingRulesBackgroundMemberResponse
>
()
const
[
ruleDetails
,
setRuleDetails
]
=
useState
<
GetOrderTradingRulesBackgroundDetailsResponse
>
()
const
{
id
}
=
history
.
location
.
query
useEffect
(()
=>
{
// 获取规则详情
PublicApi
.
getOrderTradingRulesBackgroundDetails
({
id
,
current
:
'1'
,
pageSize
:
'10'
}).
then
(
res
=>
{
const
{
data
}
=
res
setRuleDetails
(
data
)
})
},
[])
const
fetchData
=
(
params
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
// 获取绑定的会员列表
PublicApi
.
getOrderTradingRulesBackgroundMember
({
id
,
...
params
}).
then
(
res
=>
{
const
{
data
}
=
res
resolve
(
data
)
})
})
}
const
tableColumns
=
[
{
dataIndex
:
'
i
d'
,
dataIndex
:
'
memberI
d'
,
title
:
'ID'
,
key
:
'
i
d'
key
:
'
memberI
d'
},
{
dataIndex
:
'
n
ame'
,
dataIndex
:
'
memberN
ame'
,
title
:
'会员名称'
,
key
:
'
n
ame'
,
render
:
(
_
,
record
)
=>
<
EyePreview
url=
{
`/memberCenter/commodityAbility/commodity/products/viewProducts?id=${record.id}`
}
>
{
_
}
</
EyePreview
>
key
:
'
memberN
ame'
,
//
render: (_, record) => <EyePreview url={`/memberCenter/commodityAbility/commodity/products/viewProducts?id=${record.id}`}>{_}</EyePreview>
},
{
dataIndex
:
'
typ
e'
,
dataIndex
:
'
memberTypeNam
e'
,
title
:
'会员类型'
,
key
:
'
typ
e'
key
:
'
memberTypeNam
e'
},
{
dataIndex
:
'role'
,
dataIndex
:
'role
Name
'
,
title
:
'会员角色'
,
key
:
'role'
key
:
'role
Name
'
},
{
dataIndex
:
'
class
'
,
dataIndex
:
'
levelTag
'
,
title
:
'会员等级'
,
key
:
'
class
'
,
render
:
(
text
,
record
)
=>
<
LevelBrand
level=
{
text
}
/>
key
:
'
levelTag
'
,
render
:
(
text
,
record
)
=>
<
LevelBrand
level=
{
record
.
level
}
/>
},
]
const
tableData
=
[
{
id
:
2
,
name
:
'土豪会员'
,
type
:
'大众会员'
,
role
:
'大众'
,
class
:
2
},
{
id
:
3
,
name
:
'高级会员'
,
type
:
'一般会员'
,
role
:
'群众'
,
class
:
4
},
{
id
:
2
,
name
:
'底层会员'
,
type
:
'一般会员'
,
role
:
'底层'
,
class
:
1
}
]
return
(
<
PageHeaderWrapper
onBack=
{
()
=>
history
.
goBack
()
}
...
...
@@ -73,24 +72,45 @@ const AddRule:React.FC<{}> = (props) => {
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"基本信息"
>
<
Row
>
<
Col
span=
{
3
}
>
<
p
>
交易
规则名称:
</
p
>
<
Col
span=
{
3
}
>
<
p
>
流程
规则名称:
</
p
>
</
Col
>
<
Col
span=
{
21
}
>
<
p
>
B2B区府办鉴定报告
</
p
>
<
p
>
{
ruleDetails
?.
name
}
</
p
>
</
Col
>
<
Col
span=
{
3
}
>
<
p
>
交易流程名称
:
</
p
>
<
p
>
状态
:
</
p
>
</
Col
>
<
Col
span=
{
21
}
>
<
p
>
通我们的离开过
</
p
>
<
p
>
{
ruleDetails
?.
state
?
'有效'
:
'无效'
}
</
p
>
</
Col
>
{
/* <Col span={3}>
<p>交易流程名称:</p>
</Col>
<Col span={21}>
<p>
{
ruleDetails?.transactionProcesss.toString()
}
</p>
</Col> */
}
</
Row
>
</
Card
>
</
Space
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"适用会员"
>
<
Table
dataSource=
{
tableData
}
columns=
{
tableColumns
}
/>
<
Row
>
<
Col
span=
{
3
}
>
<
p
>
是否所有会员共用:
</
p
>
</
Col
>
<
Col
span=
{
21
}
>
<
p
>
{
ruleDetails
?.
isTacitlyApprove
===
1
?
'是'
:
'否'
}
</
p
>
</
Col
>
</
Row
>
<
StandardTable
columns=
{
tableColumns
}
fetchTableData=
{
(
params
:
any
)
=>
fetchData
(
params
)
}
/>
</
Card
>
</
Space
>
</
PageHeaderWrapper
>
...
...
src/pages/ruleSettingManage/transactionRules/schema/index.tsx
View file @
e8ab40bf
import
React
from
'react'
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
GlobalConfig
}
from
'@/global/config'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
SHOP_TYPES
}
from
'@/constants'
;
import
{
padRequiredMessage
}
from
'@/utils'
;
...
...
@@ -65,78 +61,14 @@ export const ruleDetailSchema: ISchema = padRequiredMessage({
"x-rules"
:
[
{
required
:
true
,
message
:
'请选择
收货方式
'
message
:
'请选择
流程配置
'
}
],
// required: true,
// "x-component": 'SearchSelect',
// "x-component-props": {
// placeholder: '请选择交易流程',
// className: 'fixed-ant-selected-down',
// fetchSearch: PublicApi.getOrderTradingRulesTransactionProcessList,
// }
},
// MEGA_LAYOUT1_1: {
// type: 'object',
// 'x-component': 'mega-layout',
// 'x-component-props': {
// label: '电子合同',
// wrapperCol: 24,
// },
// properties: {
// isElectronicContract: {
// type: 'string',
// "x-component-props": {
// children: "使用电子合同"
// },
// "x-component": "checkboxsingle",
// default: false
// },
// contractTemplateId: {
// type: 'string',
// required: true,
// enum: [],
// "x-component-props": {
// placeholder: '请选择电子合同模板'
// },
// visible: false
// }
// }
// }
}
}
}
},
// "tab-2": {
// "type": "object",
// "x-component": "tabpane",
// "x-component-props": {
// "tab": "适用商城"
// },
// "properties": {
// MEGA_LAYOUT2: {
// type: 'object',
// "x-component": 'mega-layout',
// "x-component-props": {
// labelCol: 4,
// labelAlign: 'left'
// },
// properties: {
// "shopIds": {
// "type": "array:number",
// "x-component": 'CardCheckBox',
// "x-component-props": {
// dataSource: GlobalConfig.web.shopInfo
// },
// "title": "适用商城",
// required: true,
// }
// }
// }
// }
// },
"tab-2"
:
{
type
:
'object'
,
"x-component"
:
'tabpane'
,
...
...
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