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
shenshaokai
jinfa-platform
Commits
5509eb9b
Commit
5509eb9b
authored
Oct 19, 2021
by
前端-钟卫鹏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 采购销售订单列表导出,商品副单位价格,采购订单列表修改送货时间
parent
15624697
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
316 additions
and
182 deletions
+316
-182
addProducts.tsx
src/pages/commodity/products/addProducts.tsx
+1
-0
priceAttributeForm.tsx
...commodity/products/addProductsItem/priceAttributeForm.tsx
+43
-13
productAttributeForm.tsx
...mmodity/products/addProductsItem/productAttributeForm.tsx
+4
-6
index.tsx
src/pages/commodity/products/index.tsx
+20
-16
priceSetting.tsx
...ages/priceManage/priceStrategy/component/priceSetting.tsx
+8
-2
index.tsx
src/pages/transaction/purchaseOrder/constant/index.tsx
+2
-1
index.tsx
src/pages/transaction/purchaseOrder/index.tsx
+150
-17
index.tsx
...er/orderCollectB2b/components/inquiryModalTable/index.tsx
+8
-6
index.ts
...ransaction/purchaseOrder/orderCollectB2b/effects/index.ts
+1
-1
index.tsx
...pages/transaction/purchaseOrder/orderCollectB2b/index.tsx
+11
-11
index.ts
...transaction/purchaseOrder/orderCollectB2b/schema/index.ts
+25
-22
index.ts
src/pages/transaction/saleOrder/agentOrder/effects/index.ts
+7
-1
index.tsx
src/pages/transaction/saleOrder/agentOrder/index.tsx
+3
-1
index.ts
src/pages/transaction/saleOrder/agentOrder/schema/index.ts
+13
-0
index.tsx
src/pages/transaction/saleOrder/constant/index.tsx
+2
-0
index.tsx
src/pages/transaction/saleOrder/index.tsx
+18
-85
No files found.
src/pages/commodity/products/addProducts.tsx
View file @
5509eb9b
...
...
@@ -271,6 +271,7 @@ const AddProducts: React.FC<{}> = (props) => {
goods
:
{
id
:
item
.
goodsId
},
attributeAndValueList
:
item
.
attributeAndValueList
,
unitPrice
:
item
.
unitPrice
,
priceRate
:
item
.
priceRate
,
commodityPic
:
productInfoByEdit
.
unitPriceAndPicList
[
index
].
commodityPic
}
})
...
...
src/pages/commodity/products/addProductsItem/priceAttributeForm.tsx
View file @
5509eb9b
...
...
@@ -57,6 +57,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
const
[
isTax
,
setIsTax
]
=
useState
<
boolean
>
(
true
)
// 是否含税
const
[
assistantUniquePrice
,
setAssistantUniquePrice
]
=
useState
<
any
>
(
0
)
// 副单价
const
[
assistantUniqueLadderPrice
,
setAssistantUniqueLadderPrice
]
=
useState
<
any
[]
>
([])
// 副阶梯单价
const
[
assistantUniquePriceRate
,
setAssistantUniquePriceRate
]
=
useState
<
any
>
(
0
)
// 副单价换算比率
const
[
combineAttributeChangeFatories
,
setCombineAttributeChangeFatories
]
=
useState
<
number
>
(
0
)
...
...
@@ -309,7 +310,6 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
width
:
200
,
render
:
(
text
,
record
)
=>
{
const
assistPrice
=
_tableDataSource
[
record
[
'索引'
]][
"副单价"
]
console
.
log
(
assistPrice
,
'assis'
)
if
(
assistPrice
&&
Array
.
isArray
(
assistPrice
))
{
return
assistPrice
.
map
(
p
=>
<
p
>
{
planPrice
===
3
?
p
:
`¥${p}`
}
</
p
>)
}
else
if
(
assistPrice
)
{
...
...
@@ -358,21 +358,38 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
_tempObj
[
'规格ID'
]
=
productInfoByEdit
.
unitPriceAndPicList
[
i
]?.
id
}
if
(
updateFlag
.
current
){
// 初次渲染tab 再次进入tab采用缓存数据
console
.
log
(
1
,
productInfoByEdit
.
unitPriceAndPicList
[
i
])
if
(
productInfoByEdit
.
unitPriceAndPicList
[
i
]?.
unitPrice
)
{
let
unitPric
=
productInfoByEdit
.
unitPriceAndPicList
[
i
]?.
unitPrice
_tempObj
[
'单价'
]
=
orderlyLadderPrice
(
unitPric
)
// _tempObj['单价'] = orderlyLadderPrice(unitPric)
const
_price
=
orderlyLadderPrice
(
unitPric
)
const
_priceRate
=
productInfoByEdit
.
unitPriceAndPicList
[
i
]?.
priceRate
console
.
log
(
_price
,
_priceRate
)
_tempObj
[
'单价'
]
=
_price
_tempObj
[
'副单价率'
]
=
_priceRate
setAssistantUniquePriceRate
(
_priceRate
)
const
_priceNumber
=
Object
.
keys
(
_price
)[
0
]
===
'0-0'
?
Object
.
values
(
_price
)[
0
]
:
Object
.
values
(
_price
)
_tempObj
[
'副单价'
]
=
Array
.
isArray
(
_priceNumber
)
?
_priceNumber
.
map
(
_p
=>
(
Number
(
_p
)
*
Number
(
_priceRate
)
/
100
).
toFixed
(
2
))
:
(
Number
(
_priceNumber
)
*
Number
(
_priceRate
)
/
100
).
toFixed
(
2
)
}
else
{
_tempObj
[
'单价'
]
=
{}
}
}
else
{
console
.
log
(
2
,
_tableDataSource
[
i
]
&&
tableDataSource
[
i
]
&&
tableDataSource
[
i
])
if
(
_tableDataSource
[
i
]
&&
tableDataSource
[
i
]
&&
tableDataSource
[
i
][
'单价'
])
{
let
unitPric
=
_tableDataSource
[
i
]
&&
tableDataSource
[
i
]
&&
tableDataSource
[
i
][
'单价'
]
_tempObj
[
'单价'
]
=
orderlyLadderPrice
(
unitPric
)
// _tempObj['单价'] = orderlyLadderPrice(unitPric)
const
_price
=
orderlyLadderPrice
(
unitPric
)
const
_priceRate
=
_tableDataSource
[
i
]
&&
tableDataSource
[
i
]
&&
tableDataSource
[
i
][
'副单价率'
]
console
.
log
(
_price
,
_priceRate
)
_tempObj
[
'单价'
]
=
_price
_tempObj
[
'副单价率'
]
=
_priceRate
setAssistantUniquePriceRate
(
_priceRate
)
_tempObj
[
'副单价'
]
=
(
Number
(
_price
)
*
Number
(
_priceRate
)
/
100
).
toFixed
(
2
)
}
else
{
_tempObj
[
'单价'
]
=
{}
}
}
}
else
{
}
else
{
_tempObj
[
'对应货品'
]
=
selectedGoods
.
length
>
0
?
selectedGoods
[
0
].
id
:
0
_tempObj
[
'单价'
]
=
_tableDataSource
[
i
]
&&
tableDataSource
[
i
]
&&
tableDataSource
[
i
][
'单价'
]
||
{}
}
...
...
@@ -417,9 +434,6 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
useEffect
(()
=>
{
constructedPrarams
()
if
(
priceModalVisible
)
{
setAssistantUniquePrice
(
0
)
}
},[
combineAttributeArray
,
attributeObjArr
,
attributeValObjArr
,
priceModalVisible
,
tableDataSource
])
/* 生成传输数据 */
...
...
@@ -463,19 +477,22 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
}
})
)
/* code3 end */
/* code2 end */
console
.
log
(
_tableDataSource
[
index
]
&&
_tableDataSource
[
index
][
'副单价率'
])
_paramsArray
.
push
({
goodsId
:
_tableDataSource
[
index
]
?
_tableDataSource
[
index
][
'对应货品'
]
:
0
,
attributeAndValueList
:
_tempArr
,
unitPrice
:
_tableDataSource
[
index
]
&&
_tableDataSource
[
index
][
'单价'
],
priceRate
:
_tableDataSource
[
index
]
&&
_tableDataSource
[
index
][
'副单价率'
],
id
:
_tableDataSource
[
index
]
&&
_tableDataSource
[
index
][
'规格ID'
],
})
/*带上货品id 带上单价*/
})
:
_paramsArray
.
push
({
goodsId
:
_tableDataSource
[
0
]
?
_tableDataSource
[
0
][
'对应货品'
]
:
0
,
attributeAndValueList
:
[],
unitPrice
:
_tableDataSource
[
0
]
&&
_tableDataSource
[
0
][
'单价'
],
priceRate
:
_tableDataSource
[
0
]
&&
_tableDataSource
[
0
][
'副单价率'
],
id
:
_tableDataSource
[
0
]
&&
_tableDataSource
[
0
][
'规格ID'
],
})
/*带上货品id 带上单价*/
/* code1 end */
console
.
log
(
_tableDataSource
,
'params'
,
_paramsArray
)
setPriceAttributeParams
(
_paramsArray
)
}
...
...
@@ -531,6 +548,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
const
confirmPrice
=
()
=>
{
setPriceForm
.
validateFields
().
then
(
v
=>
{
setPriceModalVisible
(
false
)
console
.
log
(
v
,
'v'
)
const
{
ladderPrice
,
ladderRange
}
=
v
let
_priceRange
=
{}
if
(
ladderPrice
){
// 判断阶梯价格
...
...
@@ -540,20 +558,26 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
}
else
{
_priceRange
[
'0-0'
]
=
v
.
uniquePrice
}
console
.
log
(
v
,
assistantUniquePrice
,
assistantUniqueLadderPrice
)
let
_row
=
{
...
curretSetPriceRow
,
单价
:
_priceRange
,
副单价
:
ladderPrice
?
[...
assistantUniqueLadderPrice
]
:
assistantUniquePrice
}
let
_row
=
{
...
curretSetPriceRow
,
单价
:
_priceRange
,
副单价
:
ladderPrice
?
[...
assistantUniqueLadderPrice
]
:
assistantUniquePrice
,
副单价率
:
assistantUniquePriceRate
}
let
newTabeData
=
[...
_tableDataSource
]
if
(
isBatchSetting
){
// 判断是否批量设置价格
// _tableDataSource.map(_item => _item['单价'] = _priceRange)
_tableDataSource
.
forEach
(
_item
=>
{
_item
[
'单价'
]
=
_priceRange
_item
[
'副单价'
]
=
ladderPrice
?
[...
assistantUniqueLadderPrice
]
:
assistantUniquePrice
_item
[
'副单价率'
]
=
assistantUniquePriceRate
})
}
else
{
newTabeData
[
curretSetPriceRow
[
'索引'
]]
=
_row
}
_tableDataSource
=
newTabeData
setTableDataSource
(
_tableDataSource
)
console
.
log
(
_tableDataSource
,
'confirmPrice'
)
})
}
...
...
@@ -561,17 +585,22 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
setIsBatchSetting
(
false
)
// 点击行操作批量置为false
setCurrentSetPriceRow
(
record
)
setPriceModalVisible
(
true
)
//
console.log(record, 'record') // 通过判断key字符串'0-0' 是否是阶梯价格 注:空对象时候{}为新建状态
console
.
log
(
record
,
'record'
)
// 通过判断key字符串'0-0' 是否是阶梯价格 注:空对象时候{}为新建状态
setPriceForm
.
resetFields
()
// 先清空 若需要价格回显 在此处处理
if
(
Object
.
keys
(
record
[
'单价'
])[
0
]
===
'0-0'
)
{
// 状态为非阶梯价格
setLadderPrice
(
false
)
setPriceForm
.
setFieldsValue
({
ladderPrice
:
false
,
uniquePrice
:
Object
.
values
(
record
[
'单价'
])[
0
]})
const
p
=
Object
.
values
(
record
[
'单价'
])[
0
]
setPriceForm
.
setFieldsValue
({
ladderPrice
:
false
,
uniquePrice
:
p
})
setPriceForm
.
setFieldsValue
({
assistantUniquePriceRate
:
record
[
'副单价率'
]})
setAssistantUniquePrice
((
Number
(
p
||
0
)
*
Number
(
record
[
'副单价率'
]
||
0
)
/
100
).
toFixed
(
2
))
}
else
if
(
JSON
.
stringify
(
record
[
'单价'
])
===
'{}'
){
// 新建情况下默认为{}
setLadderPrice
(
false
)
setAssistantUniquePrice
(
0
)
}
else
{
// 否则编辑情况下
setLadderPrice
(
true
)
let
numberArray
=
Object
.
keys
(
record
[
'单价'
]).
map
(
item
=>
item
.
split
(
'-'
).
map
(
_
=>
Number
(
_
)))
let
priceArray
=
Object
.
values
(
record
[
'单价'
])
setPriceForm
.
setFieldsValue
({
assistantUniquePriceRate
:
record
[
'副单价率'
]})
// 截取范围数组中第一个和最小起订 做对比,变动则重置阶梯数量
let
minOrder
=
priceForm
.
getFieldValue
(
'minOrder'
)
if
(
numberArray
[
0
][
0
]
===
minOrder
){
...
...
@@ -579,6 +608,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
numberArray
.
map
((
_item
,
_index
)
=>
{
tempArr
.
push
({
numberPrice
:
priceArray
[
_index
],
numberRange
:
{
numberMin
:
_item
[
0
],
numberMax
:
_item
[
1
]
}
})
})
setAssistantUniqueLadderPrice
(()
=>
tempArr
.
map
(
_item
=>
(
Number
(
_item
.
numberPrice
)
*
Number
(
record
[
'副单价率'
])
/
100
).
toFixed
(
2
)))
setPriceForm
.
setFieldsValue
({
ladderPrice
:
true
,
ladderRange
:
tempArr
})
}
else
{
let
tempArr
=
[];
...
...
@@ -645,7 +675,6 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
}
const
formValueChange
=
(
changeValue
,
values
)
=>
{
console
.
log
(
values
,
'vvv'
)
if
(
values
.
ladderPrice
)
{
setAssistantUniqueLadderPrice
(()
=>
{
return
values
?.
ladderRange
?
values
.
ladderRange
.
map
(
item
=>
{
...
...
@@ -659,6 +688,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
}
else
{
setAssistantUniquePrice
((
Number
(
values
[
'uniquePrice'
]
||
0
)
*
Number
(
values
[
'assistantUniquePriceRate'
]
||
0
)
/
100
).
toFixed
(
2
))
}
setAssistantUniquePriceRate
(
values
[
'assistantUniquePriceRate'
])
}
useEffect
(()
=>
{
...
...
src/pages/commodity/products/addProductsItem/productAttributeForm.tsx
View file @
5509eb9b
...
...
@@ -25,8 +25,6 @@ const { RangePicker } = DatePicker
let
paramsArray
=
[];
const
isEdit
=
history
.
location
.
query
?.
id
const
ProductAttributeForm
:
React
.
FC
<
Iprops
>
=
(
props
)
=>
{
const
{
attributesData
,
onRef
}
=
props
const
[
isClearFormAndDataInEdit
,
setIsClearFormAndDataInEdit
]
=
useState
<
boolean
>
(
false
)
// 编辑情况下 是否要清空商品属性表单数据和页面全局数据
...
...
@@ -45,7 +43,7 @@ const ProductAttributeForm: React.FC<Iprops> = (props) => {
useEffect
(()
=>
{
onRef
(
productAttributeFormRef
)
// 编辑情况下 构建选中属性数据 给paramsArray初始化数据用于编辑 设置表单数据
if
(
isEdit
){
if
(
history
.
location
.
query
?.
id
){
constructProductSelectAttribute
()
attributeForm
.
setFieldsValue
(
getProductAttributeFormParamsByEdit
)
}
...
...
@@ -53,7 +51,7 @@ const ProductAttributeForm: React.FC<Iprops> = (props) => {
useEffect
(()
=>
{
// 属性变动 表明品类品牌变动 清空页面全局参数组合和store的选中属性 重置表单 (只对新增有效)
if
(
isEdit
){
if
(
history
.
location
.
query
?.
id
){
// 编辑第一次执行不清空,之后的变动需要清空
if
(
isClearFormAndDataInEdit
){
paramsArray
=
[]
...
...
@@ -150,7 +148,7 @@ const ProductAttributeForm: React.FC<Iprops> = (props) => {
let
_isPrice
=
null
let
_isUpdateAttribute
=
null
let
_isDisabled
=
false
if
(
isEdit
){
if
(
history
.
location
.
query
?.
id
){
_isPrice
=
attrItem
.
isPrice
_isUpdateAttribute
=
productInfoByEdit
.
isUpdateAttribute
_isDisabled
=
_isPrice
&&
!
_isUpdateAttribute
...
...
@@ -268,7 +266,7 @@ const ProductAttributeForm: React.FC<Iprops> = (props) => {
<
Tabs
defaultActiveKey=
"1"
tabPosition=
"left"
>
{
attributesData
?.
length
>
0
&&
attributesData
.
map
(
attributeItem
=>
isEdit
&&
!
productInfoByEdit
.
isUpdateAttribute
&&
(
attributeItem
.
createTime
>
productInfoByEdit
.
createTime
)
?
null
:
<
TabPane
tab=
{
attributeItem
.
name
}
key=
{
attributeItem
.
id
}
>
!
productInfoByEdit
?.
isUpdateAttribute
&&
(
attributeItem
?.
createTime
>
productInfoByEdit
?
.
createTime
)
?
null
:
<
TabPane
tab=
{
attributeItem
.
name
}
key=
{
attributeItem
.
id
}
>
{
renderTabPanchildren
(
attributeItem
)
}
...
...
src/pages/commodity/products/index.tsx
View file @
5509eb9b
...
...
@@ -363,23 +363,26 @@ const Products: React.FC<{}> = () => {
console
.
log
(
'取消删除'
)
}
const
onChangeUpShop
=
(
values
)
=>
{
const
onChangeUpShop
=
async
(
values
)
=>
{
console
.
log
(
values
,
'values'
)
// 全是自营商城 无需判断
// 商城属性: 1.B端商城 2.C端商城 3.B端自营商城 4.C端自营商城。为null的话就不是自营商城。
if
(
values
.
every
(
item
=>
item
.
property
===
3
||
item
.
property
===
4
))
{
setCheckedValues
(
values
)
return
;
}
// 判断上架之前是否有店铺 有即可以上下架
if
(
judgeShopRef
.
current
){
PublicApi
.
getTemplateWebMemberShopWebFindCurrMemberShop
({
memberId
:
getAuth
().
memberId
,
memberRoleId
:
getAuth
().
memberRoleId
}).
then
(
res
=>
{
if
(
res
.
data
?.
id
){
setShopId
(
res
.
data
)
setCheckedValues
(
values
)
}
else
{
message
.
error
(
'您还还未创建店铺,请先创建店铺!'
)
setTimeout
(()
=>
{
history
.
push
(
'/memberCenter/shopAbility/infoManage'
)
},
1000
)
}
})
const
{
data
}
=
await
PublicApi
.
getTemplateWebMemberShopWebFindCurrMemberShop
({
memberId
:
getAuth
().
memberId
,
memberRoleId
:
getAuth
().
memberRoleId
})
if
(
data
?.
id
)
{
setShopId
(
data
)
setCheckedValues
(
values
)
}
else
{
message
.
error
(
'您还还未创建店铺,请先创建店铺!'
)
setTimeout
(()
=>
{
history
.
push
(
'/memberCenter/shopAbility/infoManage'
)
},
1000
)
}
judgeShopRef
.
current
=
false
}
else
{
setCheckedValues
(
values
)
...
...
@@ -407,7 +410,8 @@ const Products: React.FC<{}> = () => {
if
(
isUp
)
{
if
(
checkedValues
.
length
>
0
){
const
fn
=
isBatch
?
PublicApi
.
postProductCommodityPublishCommodityBatch
:
PublicApi
.
postProductCommodityPublishCommodity
fn
(
isBatch
?
{
storeId
:
shopId
[
'id'
],
storeName
:
shopId
[
'name'
],
shopList
:
checkedValues
,
idList
:
currentRef
.
current
}
:
{
storeId
:
shopId
[
'id'
],
storeName
:
shopId
[
'name'
],
...
params
}).
then
(
res
=>
{
// @ts-ignore
fn
(
isBatch
?
{
storeId
:
shopId
[
'id'
],
storeName
:
shopId
[
'name'
],
shopList
:
checkedValues
,
idList
:
currentRef
.
current
}
:
{
storeId
:
shopId
?.
id
||
null
,
storeName
:
shopId
?.
name
||
null
,
...
params
}).
then
(()
=>
{
setUpDownModal
(
false
)
ref
.
current
.
reload
()
setIsDisabledOKbtn
(
false
)
...
...
src/pages/priceManage/priceStrategy/component/priceSetting.tsx
View file @
5509eb9b
...
...
@@ -17,6 +17,8 @@ import { constructTableData, transformDataForNiceForm } from '../../effect'
import
PriceModal
from
'./priceModal'
import
ProductModal
from
'./productModal'
import
MemberModal
from
'./memberModal'
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
import
{
fectchShopListsSource
}
from
'@/utils/type'
const
{
Search
}
=
Input
...
...
@@ -27,6 +29,10 @@ export interface PriceSettingProps {
formSubmit
?(
values
),
}
const
fetchShopLists
=
async
()
=>
{
return
await
fectchShopListsSource
({
type
:
1
})
}
const
PriceSetting
:
React
.
FC
<
PriceSettingProps
>
=
(
props
)
=>
{
const
{
addSchemaAction
,
schema
,
formSubmit
,
onFieldChange
=
()
=>
{}
}
=
props
const
priceRef
=
useRef
<
any
>
({})
...
...
@@ -225,14 +231,14 @@ const PriceSetting:React.FC<PriceSettingProps> = (props) => {
FormEffectHooks
.
onFormInputChange$
().
subscribe
(()
=>
{
onFieldChange
()
})
useAsyncSelect
(
'shopId'
,
fetchShopLists
,
[
'name'
,
'id'
])
$
(
'onFieldValueChange'
,
'shopId'
).
subscribe
(
parentState
=>
{
if
(
parentState
.
value
)
{
ctx
.
setFieldState
(
'shopId'
,
state
=>
{
// state.dataSource = pageStatus === PageStatus.PREVIEW ?
// GlobalConfig.web.shopInfo.filter(v => v.id === parentState.value && state.value.includes(v.id))
// :
state
.
dataSource
=
GlobalConfig
.
web
.
shopInfo
.
filter
(
v
=>
v
.
id
===
parentState
.
value
)
//
state.dataSource = GlobalConfig.web.shopInfo.filter(v => v.id === parentState.value)
if
(
pageStatus
===
PageStatus
.
EDIT
)
{
state
.
props
[
'x-component-props'
].
disabled
=
true
;
...
...
src/pages/transaction/purchaseOrder/constant/index.tsx
View file @
5509eb9b
...
...
@@ -3,6 +3,7 @@ import { history } from 'umi'
import
{
formatTimeString
}
from
'@/utils'
import
StatusColors
from
'../components/statusColors'
import
EyePreview
from
'@/components/EyePreview'
import
{
ORDER_TYPE_CHANNEL_POINTS
,
ORDER_TYPE_POINTS
}
from
'@/constants/order'
export
const
baseOrderListColumns
:
any
=
()
=>
{
...
...
@@ -49,7 +50,7 @@ export const baseOrderListColumns: any = () => {
dataIndex
:
'amount'
,
key
:
'amount'
,
ellipsis
:
true
,
render
:
(
t
)
=>
`¥
${
t
}
`
render
:
(
t
,
r
)
=>
(
r
.
orderType
===
ORDER_TYPE_POINTS
||
r
.
orderType
===
ORDER_TYPE_CHANNEL_POINTS
)
?
t
:
`¥
${
t
}
`
},
{
title
:
'订单类型'
,
...
...
src/pages/transaction/purchaseOrder/index.tsx
View file @
5509eb9b
...
...
@@ -19,6 +19,9 @@ import { useHttpRequest } from '@/hooks/useHttpRequest'
import
TableOperation
from
'@/components/TableOperation'
import
{
ORDER_TYPE_POINTS
}
from
'@/constants/order'
import
axios
from
'axios'
import
{
getAuth
}
from
'@/utils/auth'
import
moment
from
'moment'
const
SelectStyles
=
styled
((
props
)
=>
<
div
className=
'select-list'
{
...
props
}
></
div
>)
`
.select_style_border {
...
...
@@ -61,6 +64,7 @@ const fetchTableData = async (params) => {
const
formActions
=
createFormActions
();
const
destroyActions
=
createFormActions
()
const
adjustActions
=
createFormActions
();
// const showDataSource = [
// { id: 1, name: "换货"},
...
...
@@ -75,6 +79,7 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
const
[
orderType
,
setOrderType
]
=
useState
<
any
>
()
const
ref
=
useRef
<
any
>
({})
const
destoryRef
=
useRef
<
any
>
({})
const
adjustRef
=
useRef
<
any
>
({})
const
{
run
,
loading
}
=
useHttpRequest
(
PublicApi
.
postOrderBuyerCancel
)
const
[
showDataSource
,
setShowDataSource
]
=
useState
([
{
id
:
1
,
name
:
"换货"
},
...
...
@@ -82,6 +87,7 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
{
id
:
3
,
name
:
"维修"
},
])
const
[
fetchParams
,
setFetchParams
]
=
useState
<
any
>
()
const
{
token
,
memberId
,
memberRoleId
}
=
(
getAuth
()
||
{})
const
loadingTableData
=
(
params
)
=>
{
setFetchParams
(
params
)
...
...
@@ -153,13 +159,15 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
const
buttonGroup
=
{
'取消订单'
:
record
.
showCancel
,
'售后'
:
record
.
showAfterSales
,
'评价'
:
record
.
showComment
'评价'
:
record
.
showComment
,
'调整送货时间'
:
record
.
showModifyDeliverTime
}
const
operationHandler
=
{
'取消订单'
:
()
=>
handleCancel
(
record
.
orderId
),
'售后'
:
()
=>
handleSaleAfter
(
record
),
'评价'
:
()
=>
handleEvaluate
(
record
.
orderId
),
'调整送货时间'
:
()
=>
handleAdjust
(
record
)
}
return
(
...
...
@@ -185,24 +193,72 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
}
}
const
handleExport
=
async
()
=>
{
const
downloadLink
=
document
.
createElement
(
'a'
)
// const data = await PublicApi.getOrderBuyerExport({...fetchParams}, {extendsOptions: { responseType: "blob" }})
const
data
=
await
axios
.
get
(
'/order/buyer/export'
,
{
params
:
{...
fetchParams
},
headers
:
{
"Content-Type"
:
"application/vnd.ms-excel;charset=UTF-8"
},
responseType
:
'blob'
console
.
log
(
`
${
process
.
env
.
BACK_GATEWAY
}
/order/vendor/export?token=
${
token
}
`
)
window
.
open
(
`
${
process
.
env
.
BACK_GATEWAY
}
/order/buyer/export?token=
${
token
}
`
,
'_blank'
)
// const downloadLink = document.createElement('a')
// downloadLink.style.display = 'none';
// downloadLink.href = `${process.env.BACK_GATEWAY}order/buyer/export?token=${token}`;
// downloadLink.target = '_blank'
// document.body.appendChild(downloadLink)
// downloadLink.click()
// document.body.removeChild(downloadLink)
// axios({
// method: 'GET',
// url: '/order/buyer/export',
// params: {...fetchParams},
// responseType: 'blob',
// headers: {
// token,
// 'contentType': 'application/vnd.ms-excel;charset=UTF-8'
// },
// }).then(res => {
// console.log(res, res['headers'])
// // @ts-ignore
// let blob = new Blob([res.data], {type: "application/vnd.ms-excel;charset=utf-8"});
// downloadLink.style.display = 'none';
// downloadLink.href = URL.createObjectURL(blob);
// downloadLink.download = '采购订单列表.xls'
// document.body.appendChild(downloadLink)
// downloadLink.click()
// document.body.removeChild(downloadLink)
// }).catch(err => {
// console.log(err)
// })
}
const
handleAdjust
=
async
(
record
)
=>
{
adjustRef
.
current
.
setVisible
(
true
)
const
{
code
,
data
}
=
await
PublicApi
.
getOrderBuyerGetDeliveryTime
({
shopId
:
record
.
shopId
,
orderId
:
record
.
orderId
})
if
(
code
===
1000
)
{
adjustActions
.
setFieldValue
(
'orderId'
,
record
.
orderId
)
adjustActions
.
setFieldValue
(
'reason'
,
data
.
reason
)
adjustActions
.
setFieldValue
(
'deliverDate'
,
data
.
deliverDate
)
adjustActions
.
setFieldState
(
'timeLine'
,
prevState
=>
{
prevState
.
visible
=
data
.
isShow
})
}
}
const
handleSubmitAdjust
=
()
=>
{
adjustActions
.
submit
().
then
(
async
({
values
}:
any
)
=>
{
console
.
log
(
values
,
'adjust'
)
const
result
=
await
PublicApi
.
postOrderBuyerUpdateDeliveryTime
(
values
)
if
(
result
.
code
===
1000
)
{
adjustActions
.
reset
()
adjustRef
.
current
.
setVisible
(
false
)
setTimeout
(()
=>
{
ref
.
current
.
reload
()
},
800
)
}
})
// @ts-ignore
let
blob
=
new
Blob
([
data
],
{
type
:
'application/vnd.ms-excel'
})
downloadLink
.
style
.
display
=
'none'
;
downloadLink
.
href
=
URL
.
createObjectURL
(
blob
);
downloadLink
.
download
=
'采购订单列表.xls'
document
.
body
.
appendChild
(
downloadLink
)
downloadLink
.
click
()
document
.
body
.
removeChild
(
downloadLink
)
}
const
resetAdjustSelect
=
()
=>
{
adjustActions
.
reset
()
}
const
controllerBtns
=
<
Button
style=
{
{
width
:
140
}
}
onClick=
{
handleExport
}
type=
'default'
>
导出
</
Button
>
...
...
@@ -309,6 +365,83 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
}
}
modalProps=
{
{
confirmLoading
:
loading
}
}
/>
{
/* 调整送货时间 */
}
<
ModalForm
modalTitle=
'调整送货时间'
currentRef=
{
adjustRef
}
confirm=
{
handleSubmitAdjust
}
cancel=
{
resetAdjustSelect
}
actions=
{
adjustActions
}
// className={styles.adjustModal}
schema=
{
{
type
:
'object'
,
properties
:
{
NO_SUBMIT
:
{
type
:
'object'
,
"x-component"
:
'mega-layout'
,
"x-component-props"
:
{
labelAlign
:
'top'
,
},
properties
:
{
orderId
:
{
type
:
'number'
,
title
:
'当前id'
,
visible
:
false
,
},
deliverDate
:
{
type
:
'string'
,
"x-component"
:
'date'
,
title
:
'送货时间'
,
required
:
true
,
"x-component-props"
:
{
disabledDate
:
current
=>
{
return
current
&&
current
<
moment
().
startOf
(
'day'
)
},
showTime
:
true
,
style
:
{
width
:
'100%'
}
}
},
timeLine
:
{
title
:
'时间段'
,
type
:
'radio'
,
enum
:
[
{
label
:
'审核通过'
,
value
:
1
},
{
label
:
'审核不通过'
,
value
:
0
},
],
"x-component-props"
:
{
disabled
:
false
,
optionType
:
'button'
,
// className: styles.adjustFormItem
},
},
reason
:
{
type
:
'textarea'
,
"x-component-props"
:
{
rows
:
4
,
placeholder
:
'在此输入你的原因, 最多50个汉字'
},
title
:
'调整原因'
,
"x-rules"
:
[
{
required
:
true
,
message
:
'请输入调整原因'
},
{
limitByte
:
true
,
maxByte
:
100
}
]
}
}
}
}
}
}
effects=
{
(
$
,
actions
)
=>
{
$
(
'onFormInit'
).
subscribe
(()
=>
{
})
}
}
/>
</
PageHeaderWrapper
>
}
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/components/inquiryModalTable/index.tsx
View file @
5509eb9b
...
...
@@ -42,9 +42,8 @@ const InquiryModalTable:React.FC<InquiryModalTableProps> = (props) => {
const
handleConfirm
=
async
()
=>
{
const
item
=
rowSelectionCtl
.
selectRow
[
0
]
console
.
log
(
item
,
'item'
)
if
(
item
)
{
schemaAction
.
setFieldValue
(
'quoteNo'
,
item
.
quotationNo
)
schemaAction
.
setFieldValue
(
'quoteId'
,
item
.
id
)
const
data
=
await
fetchOrderApi
.
getProductListByQuotationOrderId
({
id
:
item
.
inquiryListId
})
...
...
@@ -53,16 +52,19 @@ const InquiryModalTable:React.FC<InquiryModalTableProps> = (props) => {
v
.
memberId
=
item
.
offerMemberId
v
.
memberRoleId
=
item
.
offerMemberRoleId
v
.
orderMode
=
schemaAction
.
getFieldValue
(
'orderMode'
)
v
.
shopId
=
schemaAction
.
getFieldValue
(
'shopId'
)
v
.
shopId
=
item
[
'shopId'
]
// b2b询价下单 定价类型必定为2
v
.
priceType
=
2
return
v
})
schemaAction
.
setFieldValue
(
'quoteNo'
,
item
.
quotationNo
)
schemaAction
.
setFieldValue
(
'quoteId'
,
item
.
id
)
schemaAction
.
setFieldValue
(
'vendorRoleId'
,
item
.
offerMemberRoleId
)
schemaAction
.
setFieldValue
(
'products'
,
await
filterProductDataById
([],
newData
))
schemaAction
.
setFieldValue
(
'vendorMemberName'
,
item
.
offerMemberName
)
schemaAction
.
setFieldValue
(
'vendorMemberId'
,
item
.
offerMemberId
)
schemaAction
.
setFieldValue
(
'vendorRoleId'
,
item
.
offerMemberRoleId
)
schemaAction
.
setFieldValue
(
'shopId'
,
item
[
'shopId'
])
// 询价单回显订单明细
schemaAction
.
setFieldValue
(
'digest'
,
item
.
details
)
}
...
...
@@ -76,7 +78,7 @@ const InquiryModalTable:React.FC<InquiryModalTableProps> = (props) => {
visible=
{
visible
}
confirm=
{
handleConfirm
}
cancel=
{
()
=>
setVisible
(
false
)
}
fetchTableData=
{
async
(
params
)
=>
(
await
PublicApi
.
getTransactionNotarizeEnquiryProductQuotationList
({...
params
,
externalState
:
4
,
shopId
:
schemaAction
.
getFieldValue
(
'shopId'
)
})).
data
}
fetchTableData=
{
async
(
params
)
=>
(
await
PublicApi
.
getTransactionNotarizeEnquiryProductQuotationList
({...
params
,
externalState
:
4
})).
data
}
rowSelection=
{
rowSelection
}
modalType=
'inquiryByDefault'
searchName=
"quotationNo"
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/effects/index.ts
View file @
5509eb9b
...
...
@@ -65,7 +65,7 @@ export const useProductTableChangeForPay = (ctx: ISchemaFormActions | ISchemaFor
const
productItem
=
value
[
0
]
if
(
pageStatus
===
PageStatus
.
ADD
)
{
// 新增下 需要支付信息生成支付次数
ctx
.
setFieldValue
(
'payments'
,
[])
// 变动后先 清空支付信息
const
shopId
=
ctx
.
getFieldValue
(
'shopId'
)
const
shopId
=
productItem
[
'shopId'
]
const
products
=
value
.
map
(
item
=>
({
productId
:
item
.
commodityId
,
skuId
:
item
.
productId
}))
if
(
shopId
&&
products
?.
length
)
{
// 判断不存在物流 隐藏交付地址
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/index.tsx
View file @
5509eb9b
...
...
@@ -350,9 +350,9 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
// 唤起报价单弹窗
const
handleOrderNo
=
async
()
=>
{
if
(
!
addSchemaAction
.
getFieldValue
(
'shopId'
))
{
return
message
.
error
(
'请先选择适应商城'
)
}
//
if(!addSchemaAction.getFieldValue('shopId')) {
//
return message.error('请先选择适应商城')
//
}
inquiryRef
.
current
.
setVisible
(
true
)
}
...
...
@@ -436,7 +436,7 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
effects=
{
(
$
,
ctx
)
=>
{
useAsyncSelect
(
'orderMode'
,
fetchOrderMode
,
[
'text'
,
'id'
])
$
(
'onFormMount'
).
subscribe
(
async
()
=>
{
const
data
=
await
fectchShopListsSource
(
{
type
:
1
,
environment
:
1
}
)
const
data
=
await
fectchShopListsSource
()
if
(
data
&&
data
.
length
)
{
ctx
.
setFieldState
(
'shopId'
,
state
=>
{
state
.
props
.
enum
=
data
.
map
(
item
=>
({
...
...
@@ -503,13 +503,13 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
}
})
// 新增下并且不是采购跳转 切换商城 清空受影响的字段
$
(
'onFieldValueChange'
,
'shopId'
).
subscribe
(
state
=>
{
pageStatus
===
PageStatus
.
ADD
&&
!
quotationId
&&
ctx
.
reset
({
validate
:
false
,
selector
:
'*(quoteNo,quoteId,vendorMemberName,vendorMemberId,vendorRoleId,products,payments)'
})
})
//
//
新增下并且不是采购跳转 切换商城 清空受影响的字段
//
$('onFieldValueChange', 'shopId').subscribe(state =>
{
//
pageStatus === PageStatus.ADD && !quotationId && ctx.reset(
{
//
validate: false,
//
selector: '*(quoteNo,quoteId,vendorMemberName,vendorMemberId,vendorRoleId,products,payments)'
//
})
//
})
}
}
expressionScope=
{
{
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/schema/index.ts
View file @
5509eb9b
...
...
@@ -65,28 +65,6 @@ const basicInfo: ISchema = {
},
],
},
shopId
:
{
type
:
'number'
,
// enum: getShopTypeMap,
enum
:
[],
title
:
'适应商城'
,
required
:
true
,
// visible: false,
},
digest
:
{
type
:
'string'
,
title
:
'订单摘要'
,
"x-rules"
:
[
{
required
:
true
,
message
:
'请输入订单摘要'
},
{
limitByte
:
true
,
maxByte
:
60
}
]
},
quoteNo
:
{
type
:
'string'
,
title
:
'对应报价单号'
,
...
...
@@ -113,6 +91,31 @@ const basicInfo: ISchema = {
title
:
'报价单号ID'
,
visible
:
false
,
},
digest
:
{
type
:
'string'
,
title
:
'订单摘要'
,
"x-rules"
:
[
{
required
:
true
,
message
:
'请输入订单摘要'
},
{
limitByte
:
true
,
maxByte
:
60
}
]
},
shopId
:
{
type
:
'number'
,
// enum: getShopTypeMap,
enum
:
[],
title
:
'适应商城'
,
required
:
true
,
"x-component-props"
:
{
disabled
:
true
,
},
// visible: false,
},
vendorMemberName
:
{
type
:
'string'
,
title
:
'供应会员'
,
...
...
src/pages/transaction/saleOrder/agentOrder/effects/index.ts
View file @
5509eb9b
...
...
@@ -4,7 +4,6 @@ import { useLinkageUtils } from '@/utils/formEffectUtils';
import
{
fetchOrderApi
}
from
'../apis'
;
import
{
PublicApi
}
from
'@/services/api'
;
// 异步填充表格字段
const
asyncPadDataForProduct
=
async
(
ctx
:
ISchemaFormActions
|
ISchemaFormAsyncActions
,
productValue
:
any
)
=>
{
const
productData
=
productValue
.
value
...
...
@@ -106,6 +105,13 @@ export const useProductTableChangeForPay = (ctx: ISchemaFormActions | ISchemaFor
})
}
// 异步处理发货 时间配置
export
const
useOrderDeliverTimeEffect
=
(
ctx
:
ISchemaFormActions
|
ISchemaFormAsyncActions
,
shopId
)
=>
{
PublicApi
.
getOrderParamFindDeliveryDate
({
shopId
}).
then
(
res
=>
{
console
.
log
(
res
.
data
,
'商城变动驱动送货时间段'
)
})
}
// 表单初始化时,对应操作
export
const
useOrderFormInitEffect
=
(
ctx
:
ISchemaFormActions
|
ISchemaFormAsyncActions
)
=>
{
FormEffectHooks
.
onFormMount$
().
subscribe
(
async
()
=>
{
...
...
src/pages/transaction/saleOrder/agentOrder/index.tsx
View file @
5509eb9b
...
...
@@ -8,7 +8,7 @@ import { createFormActions, registerVirtualBox, useFormSpy } from '@formily/antd
import
{
SaveOutlined
,
PlusOutlined
}
from
'@ant-design/icons'
import
NiceForm
from
'@/components/NiceForm'
import
{
mergeAllSchemas
}
from
'./schema'
import
{
useEditHideField
,
useOrderFormInitEffect
,
useProductTableChangeForPay
}
from
'./effects'
import
{
useEditHideField
,
useOrder
DeliverTimeEffect
,
useOrder
FormInitEffect
,
useProductTableChangeForPay
}
from
'./effects'
import
{
orderCombination
,
procurementProcessField
,
procurementRenderField
,
procurmentRenderInit
}
from
'./constant'
import
ProductModalTable
from
'./components/productModalTable'
import
CirculationRecord
from
'../components/circulationRecord'
...
...
@@ -432,6 +432,8 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => {
// 新增下并且不是采购跳转 切换商城 清空受影响的字段
$
(
'onFieldValueChange'
,
'shopId'
).
subscribe
(
async
state
=>
{
console
.
log
(
state
,
'shop'
)
// 初始化 配送时间段处理
useOrderDeliverTimeEffect
(
ctx
,
state
.
value
)
const
data
=
await
fetchOrderApi
.
getOrderModeOrderType
({
shopType
:
state
.
values
[
1
][
'type'
]})
ctx
.
setFieldValue
(
'orderMode'
,
data
.
orderMode
)
ctx
.
setFieldValue
(
'orderModeName'
,
data
.
orderModeName
)
...
...
src/pages/transaction/saleOrder/agentOrder/schema/index.ts
View file @
5509eb9b
...
...
@@ -230,6 +230,19 @@ const submitInfo: ISchema = {
style
:
{
width
:
400
}
}
},
timeLine
:
{
// title: '配送时间段',
type
:
'radio'
,
enum
:
[
{
label
:
'审核通过'
,
value
:
1
},
{
label
:
'审核不通过'
,
value
:
0
},
],
"x-component-props"
:
{
disabled
:
false
,
optionType
:
'button'
,
// className: styles.adjustFormItem
},
},
}
},
deliveryAddresId
:
{
...
...
src/pages/transaction/saleOrder/constant/index.tsx
View file @
5509eb9b
...
...
@@ -9,6 +9,7 @@ import { ISchemaFormActions, ISchemaFormAsyncActions } from '@formily/antd'
import
{
useModalTable
}
from
'../../purchaseOrder/orderCollectB2b/model/useModalTable'
import
{
Button
}
from
'antd'
import
{
PublicApi
}
from
'@/services/api'
import
{
ORDER_TYPE_CHANNEL_POINTS
,
ORDER_TYPE_POINTS
}
from
'@/constants/order'
/** 订单审核各个页面 只有订单类型查询的Schema */
export
const
tableListSchema
:
any
=
(
align
?:
String
,
colStyle
?:
Object
)
=>
{
...
...
@@ -123,6 +124,7 @@ export const baseOrderListColumns: any = () => {
align
:
'center'
,
dataIndex
:
'amount'
,
key
:
'amount'
,
render
:
(
t
,
r
)
=>
(
r
.
orderType
===
ORDER_TYPE_POINTS
||
r
.
orderType
===
ORDER_TYPE_CHANNEL_POINTS
)
?
t
:
`¥
${
t
}
`
},
{
title
:
'订单类型'
,
...
...
src/pages/transaction/saleOrder/index.tsx
View file @
5509eb9b
...
...
@@ -33,19 +33,19 @@ const formActions = createFormActions();
const
destroyActions
=
createFormActions
();
const
pauseActions
=
createFormActions
();
const
transformActions
=
createFormActions
();
const
adjustActions
=
createFormActions
();
const
SaleOrder
:
React
.
FC
<
SaleOrderProps
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
const
destoryRef
=
useRef
<
any
>
({})
const
pauseRef
=
useRef
<
any
>
({})
const
orderIds
=
useRef
<
number
[]
>
([])
const
adjustRef
=
useRef
<
any
>
({})
const
{
run
,
loading
}
=
useHttpRequest
(
PublicApi
.
postOrderVendorCancel
)
const
{
run
:
runPause
,
loading
:
loadingEnd
}
=
useHttpRequest
(
PublicApi
.
postOrderVendorTerminate
)
const
{
transformRef
,
orderColumns
}
=
useTransformOrderTable
(
transformActions
)
const
{
roles
}
=
getAuth
()
||
{}
const
serversRoles
=
roles
.
filter
(
item
=>
item
[
'roleType'
]
===
MEMBER_ROLE_TYPE_SERVICE_CONSUMER
)
const
{
token
,
memberId
,
memberRoleId
}
=
(
getAuth
()
||
{})
// 提交取消
const
handleSubmit
=
()
=>
{
...
...
@@ -173,24 +173,15 @@ const SaleOrder: React.FC<SaleOrderProps> = () => {
})
}
const
handleSubmitAdjust
=
()
=>
{
}
const
resetAdjustSelect
=
()
=>
{
}
/** 参照后台数据生成 */
const
renderOptionButton
=
(
record
)
=>
{
const
buttonGroup
=
{
'取消订单'
:
record
.
showCancel
,
'中止'
:
record
.
showTerminate
,
'评价'
:
record
.
showComment
,
'转单'
:
record
.
showTransfer
,
'调整送货时间'
:
true
}
const
buttonGroup
=
{
'取消订单'
:
record
.
showCancel
,
'中止'
:
record
.
showTerminate
,
'评价'
:
record
.
showComment
,
'转单'
:
record
.
showTransfer
}
const
operationHandler
=
{
'取消订单'
:
()
=>
handleCancel
(
record
),
'中止'
:
()
=>
handleSuspend
(
record
),
'评价'
:
()
=>
handleEvaluate
(
record
.
orderId
),
'转单'
:
()
=>
onlyTransform
(
record
.
orderId
),
'调整送货时间'
:
()
=>
adjustRef
.
current
.
setVisible
(
true
)
}
return
(
...
...
@@ -216,11 +207,25 @@ const SaleOrder: React.FC<SaleOrderProps> = () => {
}
}
const
handleExport
=
async
()
=>
{
console
.
log
(
`
${
process
.
env
.
BACK_GATEWAY
}
/order/vendor/export?token=
${
token
}
`
)
window
.
open
(
`
${
process
.
env
.
BACK_GATEWAY
}
/order/vendor/export?token=
${
token
}
`
,
'_blank'
)
// const downloadLink = document.createElement('a')
// downloadLink.style.display = 'none';
// downloadLink.href = `${process.env.BACK_GATEWAY}order/vendor/export?token=${token}`;
// downloadLink.target = '_blank'
// document.body.appendChild(downloadLink)
// downloadLink.click()
// document.body.removeChild(downloadLink)
}
const
controllerBtns
=
<
Space
>
<
Button
style=
{
{
width
:
140
}
}
onClick=
{
()
=>
{}
}
type=
'default'
>
导出
</
Button
>
<
Button
style=
{
{
width
:
140
}
}
onClick=
{
handleExport
}
type=
'default'
>
导出
</
Button
>
<
Button
type=
"primary"
onClick=
{
()
=>
batchTransform
()
}
>
转单
</
Button
>
</
Space
>
registerVirtualBox
(
"CustomTitle"
,
({
props
})
=>
{
return
<
p
>
当前勾运了
<
b
>
{
props
[
'x-component-props'
].
number
}
</
b
>
张订单进行转单,转单后生成的采购订单可通过会员角色
<
b
>
{
props
[
'x-component-props'
].
roleName
||
serversRoles
[
0
][
'memberRoleName'
]
}
</
b
>
进行查看
</
p
>
})
...
...
@@ -422,78 +427,6 @@ const SaleOrder: React.FC<SaleOrderProps> = () => {
orderColumns
,
}
}
/>
{
/* 调整送货时间 */
}
<
ModalForm
modalTitle=
'调整送货时间'
currentRef=
{
adjustRef
}
confirm=
{
handleSubmitAdjust
}
cancel=
{
resetAdjustSelect
}
actions=
{
adjustActions
}
// className={styles.adjustModal}
schema=
{
{
type
:
'object'
,
properties
:
{
NO_SUBMIT
:
{
type
:
'object'
,
"x-component"
:
'mega-layout'
,
"x-component-props"
:
{
labelAlign
:
'top'
,
},
properties
:
{
deliverDate
:
{
type
:
'string'
,
"x-component"
:
'date'
,
title
:
'送货时间'
,
required
:
true
,
"x-component-props"
:
{
disabledDate
:
current
=>
{
return
current
&&
current
<
moment
().
startOf
(
'day'
)
},
style
:
{
width
:
'100%'
}
}
},
timeLine
:
{
title
:
'时间段'
,
type
:
'radio'
,
enum
:
[
{
label
:
'审核通过'
,
value
:
1
},
{
label
:
'审核不通过'
,
value
:
0
},
],
default
:
1
,
"x-component-props"
:
{
disabled
:
false
,
optionType
:
'button'
,
// className: styles.adjustFormItem
},
},
adjustReason
:
{
type
:
'textarea'
,
"x-component-props"
:
{
rows
:
4
,
placeholder
:
'在此输入你的原因, 最多50个汉字'
},
title
:
'调整原因'
,
"x-rules"
:
[
{
required
:
true
,
message
:
'请输入调整原因'
},
{
limitByte
:
true
,
maxByte
:
100
}
]
}
}
}
}
}
}
effects=
{
(
$
,
actions
)
=>
{
$
(
'onFormInit'
).
subscribe
(()
=>
{
})
}
}
/>
</
PageHeaderWrapper
>
}
...
...
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