Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-platform
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄庭坚
jinfa-platform
Commits
48407c2d
Commit
48407c2d
authored
Aug 20, 2021
by
前端-许佳敏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 去掉小写组件
parent
91f770b5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
0 additions
and
541 deletions
+0
-541
MemberModal.tsx
...pages/priceManage/priceStrategy/component/MemberModal.tsx
+0
-137
PriceModal.tsx
src/pages/priceManage/priceStrategy/component/PriceModal.tsx
+0
-279
PriceSetting.tsx
...ages/priceManage/priceStrategy/component/PriceSetting.tsx
+0
-0
ProductModal.tsx
...ages/priceManage/priceStrategy/component/ProductModal.tsx
+0
-125
BatchPositionSetting.tsx
src/pages/repositories/components/BatchPositionSetting.tsx
+0
-0
PositionSetting.tsx
src/pages/repositories/components/PositionSetting.tsx
+0
-0
RuleSetting.tsx
...ages/transaction/purchaseRules/components/RuleSetting.tsx
+0
-0
RuleSetting.tsx
...s/transaction/transactionRules/components/RuleSetting.tsx
+0
-0
No files found.
src/pages/priceManage/priceStrategy/component/MemberModal.tsx
deleted
100644 → 0
View file @
91f770b5
import
React
,
{
useEffect
}
from
'react'
import
{
ISchemaFormActions
,
ISchemaFormAsyncActions
}
from
'@formily/antd'
import
{
useModalTable
}
from
'../../model/useModalTable'
import
ModalTable
from
'@/components/ModalTable'
import
{
columnsSetMember
}
from
'../../constant'
import
{
PublicApi
}
from
'@/services/api'
import
{
formSearch
}
from
'../../schema'
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
import
ModalSearch
from
'@/components/NiceForm/components/Search'
import
Submit
from
'@/components/NiceForm/components/Submit'
import
{
PageStatus
,
usePageStatus
}
from
'@/hooks/usePageStatus'
import
{
clearModalParams
}
from
'@/utils'
export
interface
MemberModalProps
{
type
?:
'radio'
|
'checkbox'
,
schemaAction
:
ISchemaFormActions
|
ISchemaFormAsyncActions
,
currentRef
?:
any
,
}
const
MemberModal
:
React
.
FC
<
MemberModalProps
>
=
(
props
)
=>
{
const
{
type
=
"checkbox"
,
schemaAction
,
currentRef
,
...
restProps
}
=
props
const
{
visible
,
setVisible
,
rowSelection
,
rowSelectionCtl
,
}
=
useModalTable
({
type
,
customKey
:
"memberId"
})
const
{
id
,
preview
,
pageStatus
}
=
usePageStatus
()
useEffect
(()
=>
{
if
(
currentRef
)
{
currentRef
.
current
=
{
setVisible
,
visible
,
rowSelectionCtl
}
}
},
[])
// 添加会员
const
handleOkAddMember
=
()
=>
{
setVisible
(
false
)
// let hasMember: any = schemaAction.setFieldValue('commodityMemberList') || []
// // schemaAction.setFieldValue('commodityMemberList', hasMember.concat(rowSelectionCtl.selectRow))
// schemaAction.setFieldValue('commodityMemberList', rowSelectionCtl.selectRow)
// // rowSelectionCtl.setSelectedRowKeys([])
if
(
pageStatus
===
PageStatus
.
EDIT
)
{
schemaAction
.
setFieldState
(
'commodityMemberList'
,
state
=>
{
state
.
isDelete
=
true
})
let
hasMember
:
any
=
schemaAction
.
getFieldValue
(
'commodityMemberList'
)
||
[]
schemaAction
.
setFieldValue
(
'commodityMemberList'
,
hasMember
.
concat
(
rowSelectionCtl
.
selectRow
))
rowSelectionCtl
.
setSelectedRowKeys
([])
rowSelectionCtl
.
setSelectRow
([])
}
else
{
schemaAction
.
setFieldValue
(
'commodityMemberList'
,
rowSelectionCtl
.
selectRow
)
schemaAction
.
setFieldState
(
'commodityMemberList'
,
state
=>
{
state
.
dataSource
=
rowSelectionCtl
.
selectRow
})
}
clearModalParams
()
}
const
handleCancelAddMember
=
()
=>
{
setVisible
(
false
)
clearModalParams
()
}
const
fetchMemberList
=
async
(
params
)
=>
{
const
excludeIds
=
await
PublicApi
.
getProductCommodityGetStrategyMemberByCommodityId
({
commodityId
:
schemaAction
.
getFieldValue
(
"productId"
)},
{
ctlType
:
'none'
})
let
checkedMember
=
schemaAction
.
getFieldValue
(
'commodityMemberList'
)
if
(
schemaAction
.
getFieldState
(
'commodityMemberList'
).
isDelete
)
{
params
.
excludeList
=
checkedMember
.
map
(
item
=>
({
memberId
:
item
.
memberId
,
roleId
:
item
.
roleId
,
}))
}
else
{
params
.
excludeList
=
excludeIds
.
data
.
map
(
item
=>
({
memberId
:
item
.
memberId
,
roleId
:
item
.
memberRoleId
,
}))
}
const
res
=
await
PublicApi
.
postMemberManageLowerConsumerPage
(
params
,
{
ctlType
:
'none'
});
return
res
.
data
}
return
(
<
ModalTable
modalTitle=
'选择会员'
confirm=
{
handleOkAddMember
}
cancel=
{
handleCancelAddMember
}
visible=
{
visible
}
columns=
{
columnsSetMember
}
rowSelection=
{
rowSelection
}
fetchTableData=
{
params
=>
fetchMemberList
(
params
)
}
formilyProps=
{
{
ctx
:
{
schema
:
formSearch
,
components
:
{
ModalSearch
,
Submit
,
},
effects
:
(
$
,
actions
)
=>
{
actions
.
reset
()
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'name'
,
FORM_FILTER_PATH
,
);
},
}
}
}
resetModal=
{
{
destroyOnClose
:
true
}
}
tableProps=
{
{
rowKey
:
'memberId'
}
}
/>
)
}
MemberModal
.
defaultProps
=
{}
export
default
MemberModal
src/pages/priceManage/priceStrategy/component/PriceModal.tsx
deleted
100644 → 0
View file @
91f770b5
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
import
{
ISchemaFormActions
,
ISchemaFormAsyncActions
}
from
'@formily/antd'
import
{
PlusOutlined
,
MinusOutlined
,
}
from
'@ant-design/icons'
import
{
Button
,
Input
,
Modal
,
Form
,
Table
,
Checkbox
,
Row
,
Col
,
InputNumber
}
from
'antd'
import
{
useModalTable
}
from
'../../model/useModalTable'
const
layoutSetPrice
=
{
labelCol
:
{
span
:
24
},
wrapperCol
:
{
span
:
24
},
}
export
interface
PriceModalProps
{
schemaAction
:
ISchemaFormActions
|
ISchemaFormAsyncActions
,
currentRef
?:
any
,
}
const
PriceModal
:
React
.
FC
<
PriceModalProps
>
=
(
props
)
=>
{
const
{
schemaAction
,
currentRef
,
...
restProps
}
=
props
const
[
setPriceForm
]
=
Form
.
useForm
()
const
{
visible
,
setVisible
,
ladderPrice
,
setLadderPrice
,
isBatchSetting
,
setIsBatchSetting
,
curretSetPriceRow
,
setCurrentSetPriceRow
}
=
useModalTable
()
useEffect
(()
=>
{
if
(
currentRef
)
{
currentRef
.
current
=
{
setVisible
,
visible
,
ladderPrice
,
setLadderPrice
,
isBatchSetting
,
setIsBatchSetting
,
curretSetPriceRow
,
setCurrentSetPriceRow
}
}
},
[])
useEffect
(()
=>
{
let
record
=
{...
curretSetPriceRow
}
if
(
record
&&
JSON
.
stringify
(
record
)
!==
"{}"
&&
record
.
id
)
{
setVisible
(
true
)
setIsBatchSetting
(
false
)
setPriceForm
.
resetFields
()
// 0-0为 非阶梯
if
(
Object
.
keys
(
record
[
'单价'
])[
0
]
===
'0-0'
)
{
setLadderPrice
(
false
)
setPriceForm
.
setFieldsValue
({
ladderPrice
:
false
,
uniquePrice
:
Object
.
values
(
record
[
'单价'
])[
0
]})
}
else
if
(
JSON
.
stringify
(
record
[
'单价'
])
===
'{}'
)
{
// {} 为新增
setLadderPrice
(
false
)
}
else
{
// 编辑
setLadderPrice
(
true
)
let
numberArray
=
Object
.
keys
(
record
[
'单价'
]).
map
(
item
=>
item
.
split
(
'-'
).
map
(
_
=>
Number
(
_
)))
let
priceArray
=
Object
.
values
(
record
[
'单价'
])
let
tempArr
=
[]
numberArray
.
map
((
_item
,
_index
)
=>
{
tempArr
.
push
({
numberPrice
:
priceArray
[
_index
],
numberRange
:
{
numberMin
:
_item
[
0
],
numberMax
:
_item
[
1
]
}
})
})
setPriceForm
.
setFieldsValue
({
ladderPrice
:
true
,
ladderRange
:
tempArr
})
}
}
},
[
curretSetPriceRow
])
useEffect
(()
=>
{
if
(
isBatchSetting
)
{
setPriceForm
.
resetFields
()
setPriceForm
.
setFields
([{
name
:
'ladderPrice'
,
value
:
false
}])
currentRef
.
current
.
setLadderPrice
(
false
)
}
},
[
isBatchSetting
])
const
changeLadderPrice
=
(
e
:
any
)
=>
{
setLadderPrice
(
e
.
target
.
checked
)
setPriceForm
.
setFields
([{
name
:
'ladderPrice'
,
value
:
e
.
target
.
checked
}])
}
const
handlePriceOk
=
()
=>
{
setPriceForm
.
validateFields
().
then
(
v
=>
{
setVisible
(
false
)
let
memberUnitPriceList
=
schemaAction
.
getFieldValue
(
"memberUnitPriceList"
)
const
{
ladderPrice
,
ladderRange
}
=
v
let
_priceRange
=
{}
if
(
ladderPrice
)
{
// 判断阶梯价格
ladderRange
.
length
>
0
&&
ladderRange
.
map
(
item
=>
{
_priceRange
[
`
${
item
.
numberRange
.
numberMin
}
-
${
item
.
numberRange
.
numberMax
}
`
]
=
item
.
numberPrice
})
}
else
{
_priceRange
[
'0-0'
]
=
v
.
uniquePrice
}
let
_row
=
{
...
curretSetPriceRow
,
单价
:
_priceRange
}
let
newTabeData
=
[...
memberUnitPriceList
]
if
(
isBatchSetting
)
{
// 判断是否批量设置价格
newTabeData
.
map
(
item
=>
item
[
'单价'
]
=
_priceRange
)
}
else
{
newTabeData
[
curretSetPriceRow
[
'索引'
]]
=
_row
}
schemaAction
.
setFieldValue
(
"memberUnitPriceList"
,
newTabeData
)
})
}
// 校验阶梯范围
const
validatorNumberRange
=
(
rule
,
value
,
callback
)
=>
{
try
{
if
(
Array
.
isArray
(
value
)){
let
range
=
value
.
map
(
item
=>
{
if
(
item
)
return
Object
.
values
(
item
.
numberRange
)
}).
reduce
(
function
(
a
,
b
)
{
return
a
.
concat
(
b
);
},
[]
)
let
result
=
range
.
map
(
Number
).
reduce
((
a
,
b
)
=>
{
if
(
a
<
b
)
return
b
})
if
(
!
result
)
throw
new
Error
(
'请正确输入阶梯数量范围'
);
if
(
Number
(
range
[
0
])
!==
schemaAction
.
getFieldValue
(
"minOrder"
))
throw
new
Error
(
'阶段的起始值必须为最小起订数'
);
callback
()
}
}
catch
(
err
)
{
callback
(
err
)
}
}
return
(
<
Modal
title=
{
currentRef
.
current
.
isBatchSetting
?
"批量设置价格"
:
"设置价格"
}
visible=
{
visible
}
onOk=
{
handlePriceOk
}
onCancel=
{
()
=>
setVisible
(
false
)
}
forceRender=
{
true
}
{
...
restProps
}
>
<
Form
{
...
layoutSetPrice
}
name=
"settingPrice"
form=
{
setPriceForm
}
initialValues=
{
{
ladderPrice
:
false
}
}
>
<
Form
.
Item
label=
""
name=
"ladderPrice"
valuePropName=
"checked"
>
<
Checkbox
onChange=
{
changeLadderPrice
}
>
阶梯价格
</
Checkbox
>
</
Form
.
Item
>
{
ladderPrice
?
<
Form
.
Item
name=
"ladderRange"
label=
""
shouldUpdate=
{
true
}
rules=
{
[
{
required
:
true
,
message
:
'阶梯范围为必填项'
},
{
validator
:
validatorNumberRange
}
]
}
>
<
Form
.
List
name=
"ladderRange"
>
{
(
fields
,
{
add
,
remove
})
=>
{
if
(
!
fields
.
length
)
{
add
()
}
return
(
<
div
>
{
fields
.
map
(
field
=>
(
<
Row
key=
{
Number
(
field
.
key
)
+
100
}
gutter=
{
[
0
,
10
]
}
>
<
Col
span=
{
20
}
style=
{
{
display
:
'flex'
}
}
>
<
Form
.
Item
{
...
field
}
name=
{
[
field
.
name
,
'numberRange'
,
'numberMin'
]
}
fieldKey=
{
[
field
.
fieldKey
,
'numberRange'
,
'numberMin'
]
}
rules=
{
[
{
required
:
true
,
message
:
'阶梯最小数量为必填项'
},
{
pattern
:
/^
\d
+
(\.\d
{1,3}
)?
$/
,
message
:
'阶梯数值仅限三位小数'
,
}
]
}
>
<
Input
placeholder=
"最小数量"
/>
</
Form
.
Item
>
<
Input
style=
{
{
width
:
30
,
height
:
32
,
borderLeft
:
0
,
borderRight
:
0
,
pointerEvents
:
'none'
,
}
}
placeholder=
"~"
disabled
/>
<
Form
.
Item
{
...
field
}
name=
{
[
field
.
name
,
'numberRange'
,
'numberMax'
]
}
fieldKey=
{
[
field
.
fieldKey
,
'numberRange'
,
'numberMax'
]
}
rules=
{
[
{
required
:
true
,
message
:
'阶梯最大数量为必填项'
},
{
pattern
:
/^
\d
+
(\.\d
{1,3}
)?
$/
,
message
:
'阶梯数值仅限三位小数'
,
}
]
}
>
<
Input
placeholder=
"最大数量"
/>
</
Form
.
Item
>
<
Form
.
Item
{
...
field
}
name=
{
[
field
.
name
,
'numberPrice'
]
}
fieldKey=
{
[
field
.
fieldKey
,
'numberPrice'
]
}
rules=
{
[
{
required
:
true
,
message
:
'阶梯单价为必填项'
},
{
pattern
:
/^
\d
+
(\.\d
{1,4}
)?
$/
,
message
:
'阶梯单价仅限四位小数'
,
}
]
}
style=
{
{
marginLeft
:
20
}
}
>
<
Input
placeholder=
"请输入单价"
/>
</
Form
.
Item
>
</
Col
>
<
Col
span=
{
4
}
>
<
Button
size=
"small"
onClick=
{
()
=>
add
()
}
style=
{
{
marginLeft
:
20
,
marginRight
:
8
}
}
icon=
{
<
PlusOutlined
/>
}
/>
{
field
.
key
>
0
&&
(<
Button
size=
"small"
onClick=
{
()
=>
remove
(
field
.
name
)
}
icon=
{
<
MinusOutlined
/>
}
/>)
}
</
Col
>
</
Row
>)
)
}
</
div
>
);
}
}
</
Form
.
List
>
</
Form
.
Item
>
:
<
Form
.
Item
label=
"单价"
name=
"uniquePrice"
rules=
{
[
{
required
:
true
,
type
:
'number'
,
message
:
'请输入价格'
},
{
pattern
:
/^
\d
+
(\.\d
{1,4}
)?
$/
,
message
:
'小数点后仅限四位'
,
}
]
}
>
<
InputNumber
min=
{
0
}
style=
{
{
width
:
'100%'
}
}
placeholder=
"请输入价格"
/>
</
Form
.
Item
>
}
</
Form
>
</
Modal
>
)
}
PriceModal
.
defaultProps
=
{}
export
default
PriceModal
src/pages/priceManage/priceStrategy/component/PriceSetting.tsx
deleted
100644 → 0
View file @
91f770b5
This diff is collapsed.
Click to expand it.
src/pages/priceManage/priceStrategy/component/ProductModal.tsx
deleted
100644 → 0
View file @
91f770b5
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
import
{
ISchemaFormActions
,
ISchemaFormAsyncActions
}
from
'@formily/antd'
import
{
useModalTable
}
from
'../../model/useModalTable'
import
ModalTable
from
'@/components/ModalTable'
import
{
columnsSetProduct
}
from
'../../constant'
import
{
GlobalConfig
}
from
'@/global/config'
import
{
PublicApi
}
from
'@/services/api'
import
{
formProduct
}
from
'../../schema'
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
import
ModalSearch
from
'@/components/NiceForm/components/Search'
import
Submit
from
'@/components/NiceForm/components/Submit'
import
CustomCategorySearch
from
'@/components/NiceForm/components/CustomCategorySearch'
import
SearchSelect
from
'@/components/NiceForm/components/SearchSelect'
import
{
clearModalParams
}
from
'@/utils'
import
{
FormEffectHooks
}
from
'@formily/antd'
import
{
searchCustomerCategoryOptionEffect
}
from
'../../effect'
export
interface
ProductModalProps
{
type
?:
'radio'
|
'checkbox'
,
schemaAction
:
ISchemaFormActions
|
ISchemaFormAsyncActions
,
currentRef
?:
any
,
}
const
ProductModal
:
React
.
FC
<
ProductModalProps
>
=
(
props
)
=>
{
const
{
type
=
"radio"
,
schemaAction
,
currentRef
,
...
restProps
}
=
props
const
{
visible
,
setVisible
,
rowSelection
,
rowSelectionCtl
,
}
=
useModalTable
({
type
})
useEffect
(()
=>
{
if
(
currentRef
)
{
currentRef
.
current
=
{
setVisible
,
visible
,
rowSelectionCtl
}
}
},
[])
// 指定商品
const
fetchProductList
=
async
(
params
)
=>
{
const
shopId
=
schemaAction
.
getFieldValue
(
'shopId'
)
let
shopInfo
:
any
=
GlobalConfig
.
web
.
shopInfo
.
filter
(
item
=>
item
.
id
===
shopId
)
const
res
=
await
PublicApi
.
getProductCommodityGetStrategyCommodityList
({
...
params
,
type
:
shopInfo
[
0
][
"type"
],
environment
:
shopInfo
[
0
].
environment
,
shopId
,
// priceTypeList: [1, 2],
})
return
res
.
data
}
// 商品添加弹窗控制
const
handleOkAddProduct
=
async
()
=>
{
setVisible
(
false
)
const
selectResult
=
rowSelectionCtl
.
selectRow
[
0
]
if
(
!
selectResult
)
{
return
null
}
schemaAction
.
setFieldValue
(
'productName'
,
selectResult
.
name
)
schemaAction
.
setFieldValue
(
'productId'
,
selectResult
.
id
)
schemaAction
.
setFieldValue
(
'minOrder'
,
selectResult
.
minOrder
)
clearModalParams
()
}
const
handleCancel
=
()
=>
{
setVisible
(
false
)
clearModalParams
()
}
return
(
<
ModalTable
modalTitle=
'选择商品'
confirm=
{
handleOkAddProduct
}
cancel=
{
handleCancel
}
visible=
{
visible
}
columns=
{
columnsSetProduct
}
rowSelection=
{
rowSelection
}
fetchTableData=
{
params
=>
fetchProductList
(
params
)
}
formilyProps=
{
{
ctx
:
{
schema
:
formProduct
,
components
:
{
ModalSearch
,
SearchSelect
,
Submit
,
CustomCategorySearch
},
effects
:
(
$
,
actions
)
=>
{
actions
.
reset
()
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'name'
,
FORM_FILTER_PATH
,
);
FormEffectHooks
.
onFieldChange$
(
'customerCategoryId'
).
subscribe
(
state
=>
{
searchCustomerCategoryOptionEffect
(
actions
,
'customerCategoryId'
)
})
}
}
}
}
resetModal=
{
{
destroyOnClose
:
true
,
}
}
tableProps=
{
{
rowKey
:
'id'
,
}
}
/>
)
}
ProductModal
.
defaultProps
=
{}
export
default
ProductModal
src/pages/repositories/components/BatchPositionSetting.tsx
deleted
100644 → 0
View file @
91f770b5
This diff is collapsed.
Click to expand it.
src/pages/repositories/components/PositionSetting.tsx
deleted
100644 → 0
View file @
91f770b5
This diff is collapsed.
Click to expand it.
src/pages/transaction/purchaseRules/components/RuleSetting.tsx
deleted
100644 → 0
View file @
91f770b5
This diff is collapsed.
Click to expand it.
src/pages/transaction/transactionRules/components/RuleSetting.tsx
deleted
100644 → 0
View file @
91f770b5
This diff is collapsed.
Click to expand it.
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