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
d7fea8be
Commit
d7fea8be
authored
Apr 15, 2022
by
前端-钟卫鹏
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'v2-220418' of…
Merge branch 'v2-220418' of
https://gitlab.shushangyun.com/linkseeks-design/pro-platform
into fix418
parents
c433b458
d6edae11
Hide whitespace changes
Inline
Side-by-side
Showing
50 changed files
with
493 additions
and
469 deletions
+493
-469
deliveryNotice.ts
config/routes/orderRoute/deliveryNotice.ts
+1
-1
AddressDrawer.tsx
src/components/AddressDrawer/AddressDrawer.tsx
+2
-0
AddressRaio.tsx
src/components/AddressDrawer/AddressRaio.tsx
+5
-4
index.tsx
src/components/AddressDrawer/index.tsx
+49
-2
AuthUrl.ts
src/components/AuthButton/AuthUrl.ts
+18
-18
index.tsx
src/components/AuthButton/index.tsx
+15
-19
editor.ts
src/locales/en-US/editor.ts
+1
-0
editor.ts
src/locales/ko-KR/editor.ts
+1
-0
editor.ts
src/locales/zh-CN/editor.ts
+1
-0
index.tsx
src/pages/authConfig/portalSystem/index.tsx
+27
-18
index.tsx
src/pages/channel/templateDetail/index.tsx
+2
-2
HandleFormSubmit.ts
src/pages/order/assets/handles/HandleFormSubmit.ts
+9
-6
index.tsx
src/pages/order/components/CalendarModal/index.tsx
+1
-1
deliveryNotice.ts
src/pages/order/constants/deliveryNotice.ts
+2
-2
label.ts
src/pages/order/constants/label.ts
+3
-1
add.tsx
src/pages/order/deliveryNotice/create/add.tsx
+39
-64
add.tsx
src/pages/order/deliveryNotice/manageB2B/add.tsx
+21
-32
edit.tsx
src/pages/order/deliveryNotice/manageB2B/edit.tsx
+24
-31
index.tsx
src/pages/order/deliveryNotice/manageB2B/index.tsx
+13
-12
add.tsx
src/pages/order/deliveryNotice/manageSRM/add.tsx
+21
-31
edit.tsx
src/pages/order/deliveryNotice/manageSRM/edit.tsx
+16
-29
index.tsx
src/pages/order/deliveryNotice/manageSRM/index.tsx
+11
-11
index.tsx
...eliveryNoticeAwaitSRM/components/AddEditContent/index.tsx
+4
-9
index.tsx
...liveryNoticeManagement/deliveryNoticeFromCreate/index.tsx
+38
-38
details.tsx
...r/deliveryPlanCollaboration/deliveryPlanAwait/details.tsx
+1
-1
index.tsx
...der/deliveryPlanCollaboration/deliveryPlanAwait/index.tsx
+4
-3
details.tsx
...r/deliveryPlanCollaboration/deliveryPlanQuery/details.tsx
+18
-11
index.tsx
...der/deliveryPlanCollaboration/deliveryPlanQuery/index.tsx
+9
-8
create.tsx
...er/deliveryPlanManagement/deliveryPlanAwaitB2B/create.tsx
+9
-1
index.tsx
...der/deliveryPlanManagement/deliveryPlanAwaitB2B/index.tsx
+10
-6
create.tsx
...er/deliveryPlanManagement/deliveryPlanAwaitSRM/create.tsx
+4
-2
details.tsx
...r/deliveryPlanManagement/deliveryPlanAwaitSRM/details.tsx
+1
-1
index.tsx
...der/deliveryPlanManagement/deliveryPlanAwaitSRM/index.tsx
+13
-9
update.tsx
...er/deliveryPlanManagement/deliveryPlanAwaitSRM/update.tsx
+1
-1
index.tsx
.../order/deliveryPlanManagement/deliveryPlanQuery/index.tsx
+4
-3
add.tsx
src/pages/order/receivingNote/deliveryNoteManage/add.tsx
+7
-21
index.tsx
src/pages/order/receivingNote/deliveryNoteManage/index.tsx
+3
-3
index.tsx
src/pages/order/receivingNote/deliveryNoteQuery/index.tsx
+4
-5
status.ts
src/pages/order/utils/status.ts
+1
-1
index.tsx
...ages/ownMall/ownMallManager/components/useModal/index.tsx
+1
-1
index.tsx
src/pages/ownMall/ownMallManager/templateDetail/index.tsx
+2
-2
detailLibrary.tsx
src/pages/priceManage/priceLibrary/detailLibrary.tsx
+11
-6
index.tsx
src/pages/priceManage/priceLibrary/index.tsx
+1
-1
index.tsx
...s/procurement/callForBids/readyAddMallBid/model/index.tsx
+3
-3
index.tsx
src/pages/procurement/components/bidMethod/index.tsx
+20
-20
index.tsx
src/pages/shop/templateDetail/index.tsx
+2
-2
index.tsx
...pages/systemSetting/salesmanManage/salesmanBind/index.tsx
+23
-17
index.tsx
...saction/dealAbility/inquiryOffer/waitAllotOrder/index.tsx
+15
-10
index.tsx
...ngAbility/merchantCoupon/components/RunningInfo/index.tsx
+1
-0
index.tsx
...aseAbility/purchaseInquiry/addMallInquiry/modal/index.tsx
+1
-0
No files found.
config/routes/orderRoute/deliveryNotice.ts
View file @
d7fea8be
...
...
@@ -85,7 +85,7 @@ const DeliveryNotice = [
},
{
path
:
'/memberCenter/order/deliveryNotice/synergy
/c
reate'
,
path
:
'/memberCenter/order/deliveryNotice/synergy
C
reate'
,
name
:
'新增送货单(协同)'
,
component
:
'@/pages/order/deliveryNotice/create/add'
,
hideInMenu
:
true
,
...
...
src/components/AddressDrawer/AddressDrawer.tsx
View file @
d7fea8be
...
...
@@ -9,6 +9,7 @@ import AreaSet from './AreaSet';
interface
SumbitRequest
{
add
:
(
values
?:
any
)
=>
Promise
<
any
>
update
:
(
values
?:
any
)
=>
Promise
<
any
>
info
:
(
values
?:
any
)
=>
Promise
<
any
>
}
/**
...
...
@@ -186,6 +187,7 @@ function AddressDrawer(props: AddressDrawerProps) {
<Space className='w-full' direction="vertical">
<AddressRaio
info={sumbitRequest?.info}
onEdit={(addr) => {
setShowForm(true)
addrForm.setFieldsValue(addr);
...
...
src/components/AddressDrawer/AddressRaio.tsx
View file @
d7fea8be
...
...
@@ -13,10 +13,11 @@ export const AddressRaioContextProvider = AddressRaioContext.Provider;
interface
AddressRaioProps
{
onChange
?:
(
value
)
=>
void
onEdit
?:
(
address
)
=>
void
info
:
(
val
)
=>
Promise
<
any
>
}
function
AddressRaio
(
props
:
AddressRaioProps
)
{
const
{
onEdit
}
=
props
;
const
{
onEdit
,
info
}
=
props
;
const
addrList
=
useContext
(
AddressRaioContext
);
...
...
@@ -24,7 +25,7 @@ function AddressRaio(props: AddressRaioProps) {
<>
{
addrList
.
map
(
addr
=>
(
<
div
className=
'flex mb-14'
key=
{
addr
.
id
}
>
<
div
className=
'_left felx-auto'
>
<
Radio
className=
{
styles
[
'antRadioWrapperItems'
]
}
value=
{
JSON
.
stringify
(
addr
)
}
>
<
div
className=
'address_base ml-10'
>
...
...
@@ -43,14 +44,14 @@ function AddressRaio(props: AddressRaioProps) {
<
Button
.
Group
size=
'small'
>
<
Button
onClick=
{
()
=>
{
if
(
onEdit
)
{
getLogisticsShipperAddressGet
({
id
:
addr
.
id
}).
then
(
res
=>
{
info
({
id
:
addr
.
id
}).
then
(
res
=>
{
onEdit
(
res
.
data
)
})
}
}
}
>
编辑
</
Button
>
</
Button
.
Group
>
</
div
>
</
div
>
...
...
src/components/AddressDrawer/index.tsx
View file @
d7fea8be
export
{
default
as
AddressDrawer
}
from
'./AddressDrawer'
\ No newline at end of file
import
{
getLogisticsReceiverAddressGet
,
getLogisticsSelectListReceiverAddress
,
getLogisticsSelectListShipperAddress
,
getLogisticsShipperAddressGet
,
postLogisticsReceiverAddressAdd
,
postLogisticsReceiverAddressUpdate
,
postLogisticsShipperAddressAdd
,
postLogisticsShipperAddressUpdate
}
from
'@/services/LogisticsV2Api'
import
AddressDrawer
from
'./AddressDrawer'
export
{
default
as
AddressDrawer
}
from
'./AddressDrawer'
export
const
ReceiverAddress
=
(
props
)
=>
{
return
(
<
AddressDrawer
{
...
props
}
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListReceiverAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsReceiverAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsReceiverAddressAdd
(
val
)
},
info
:
(
val
)
=>
{
return
getLogisticsReceiverAddressGet
(
val
)
}
}
}
/>
)
}
export
const
ShipperAddress
=
(
props
)
=>
{
return
(
<
AddressDrawer
{
...
props
}
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListShipperAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsShipperAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsShipperAddressAdd
(
val
)
},
info
:
(
val
)
=>
{
return
getLogisticsShipperAddressGet
(
val
)
}
}
}
/>
)
}
\ No newline at end of file
src/components/AuthButton/AuthUrl.ts
View file @
d7fea8be
...
...
@@ -5,23 +5,23 @@ export const AuthUrl = (btnCode: string) => {
const
{
pathname
}
=
new
URL
(
window
.
location
.
href
);
const
RoutesAuth
=
auth
.
filter
((
item
:
any
)
=>
item
?.
u
===
pathname
)
// 默认 让所以按钮权限 打开
return
true
;
//
return true;
// 先把全部按钮打开
//
if (btnCode === 'DevTest') return true
//
//
本地开发时传的特殊标识,直接开放权限
//
if (RoutesAuth.length > 0) {
//
const { b } = RoutesAuth[0];
//
// 本地开发时传的特殊标识,直接开放权限
//
for (let i = 0; i < b.length; i++) {
//
if (btnCode) {
//
// 是否有页面标识
//
// 找到该页面标识的按钮权限数据,并匹配权限按钮是否勾选
//
if (b[i] === btnCode) {
//
return true
//
}
//
}
//
continue
//
}
//
return false
//
}
if
(
btnCode
===
'DevTest'
)
return
true
// 本地开发时传的特殊标识,直接开放权限
if
(
RoutesAuth
.
length
>
0
)
{
const
{
b
}
=
RoutesAuth
[
0
];
// 本地开发时传的特殊标识,直接开放权限
for
(
let
i
=
0
;
i
<
b
.
length
;
i
++
)
{
if
(
btnCode
)
{
// 是否有页面标识
// 找到该页面标识的按钮权限数据,并匹配权限按钮是否勾选
if
(
b
[
i
]
===
btnCode
)
{
return
true
}
}
continue
}
return
false
}
}
src/components/AuthButton/index.tsx
View file @
d7fea8be
...
...
@@ -26,26 +26,22 @@ const AuthButton = (props: AuthButtonProps) => {
const
_authorityBtn
=
()
=>
{
// 本地开发时直接开放权限
if
(
process
.
env
.
NODE_ENV
===
"development"
)
return
true
// 全部按钮打开
return
true
// 校验权限
//
if (RoutesAuth.length > 0) {
//
const { b } = RoutesAuth[0];
//
console.log(RoutesAuth.length, RoutesAuth)
//
for (let i = 0; i < b.length; i++) {
//
if (btnCode) {
//
// 是否有页面标识
//
// 找到该页面标识的按钮权限数据,并匹配权限按钮是否勾选
//
if (b[i] === btnCode) {
//
return true
//
}
//
}
//
continue
//
}
//
return false
//
}
if
(
RoutesAuth
.
length
>
0
)
{
const
{
b
}
=
RoutesAuth
[
0
];
console
.
log
(
RoutesAuth
.
length
,
RoutesAuth
)
for
(
let
i
=
0
;
i
<
b
.
length
;
i
++
)
{
if
(
btnCode
)
{
// 是否有页面标识
// 找到该页面标识的按钮权限数据,并匹配权限按钮是否勾选
if
(
b
[
i
]
===
btnCode
)
{
return
true
}
}
continue
}
return
false
}
}
return
_authorityBtn
()
?
children
:
null
}
...
...
src/locales/en-US/editor.ts
View file @
d7fea8be
...
...
@@ -274,4 +274,5 @@
'editor.cateogry.show.title'
:
'Whether to show recommended categories'
,
'editor.cateogry.show.yes'
:
'Yes'
,
'editor.cateogry.show.no'
:
'No'
,
'template.detail.openMro'
:
'Enable Mall MRO filter mode'
,
}
src/locales/ko-KR/editor.ts
View file @
d7fea8be
...
...
@@ -274,5 +274,6 @@ export default {
'editor.cateogry.show.title'
:
'추천 카테고리 표시 여부'
,
'editor.cateogry.show.yes'
:
'예'
,
'editor.cateogry.show.no'
:
'아니요'
,
'template.detail.openMro'
:
'몰 MRO 필터 모드 활성화'
,
}
src/locales/zh-CN/editor.ts
View file @
d7fea8be
...
...
@@ -274,5 +274,6 @@ export default {
'editor.cateogry.show.title'
:
'是否展示推荐分类'
,
'editor.cateogry.show.yes'
:
'是'
,
'editor.cateogry.show.no'
:
'否'
,
'template.detail.openMro'
:
'启用商城MRO筛选模式'
,
}
src/pages/authConfig/portalSystem/index.tsx
View file @
d7fea8be
...
...
@@ -8,6 +8,8 @@ import EyePreview from '@/components/EyePreview';
import
{
PlusOutlined
}
from
'@ant-design/icons'
;
import
{
getMemberStorePage
,
postMemberStoreDelete
,
postMemberStoreEnable
}
from
'@/services/MemberV2Api'
;
import
StatusSwitch
from
'@/components/StatusSwitch'
;
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
;
import
AuthButton
from
'@/components/AuthButton'
;
const
intl
=
getIntl
()
...
...
@@ -27,12 +29,14 @@ const PortalSystem = () => {
const
_delete
=
async
(
record
)
=>
{
setConfirmLoading
(
true
)
await
postMemberStoreDelete
({
id
:
record
.
id
}).
then
(
res
=>
{
await
postMemberStoreDelete
({
id
:
record
.
id
}).
then
(
res
=>
{
setConfirmLoading
(
false
)
tableRef
.
current
.
reload
()
})
}
console
.
log
(
AuthUrl
(
'portalSystem.detail'
),
'portalSystem.detail'
)
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
intl
.
formatMessage
({
id
:
'portalSystem.mendiandaima'
,
defaultMessage
:
'门店代码'
}),
...
...
@@ -43,7 +47,7 @@ const PortalSystem = () => {
title
:
intl
.
formatMessage
({
id
:
'portalSystem.mendianmingcheng'
,
defaultMessage
:
'门店名称'
}),
key
:
'name'
,
dataIndex
:
'name'
,
render
:
(
text
,
record
)
=>
<
EyePreview
url=
{
`/memberCenter/systemSetting/authConfig/portalSystem/detail?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
render
:
(
text
,
record
)
=>
<
EyePreview
type=
{
AuthUrl
(
'portalSystem.detail'
)
?
'link'
:
'button'
}
url=
{
`/memberCenter/systemSetting/authConfig/portalSystem/detail?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
},
{
title
:
intl
.
formatMessage
({
id
:
'portalSystem.mendiandizhi'
,
defaultMessage
:
'门店地址'
}),
...
...
@@ -75,7 +79,7 @@ const PortalSystem = () => {
title
:
intl
.
formatMessage
({
id
:
'portalSystem.zhuangtai'
,
defaultMessage
:
'状态'
}),
key
:
'status'
,
dataIndex
:
'status'
,
render
:
(
_text
,
record
)
=>
<
StatusSwitch
handleConfirm=
{
()
=>
handleStatus
(
record
)
}
record=
{
record
}
/
>
render
:
(
_text
,
record
)
=>
<
AuthButton
btnCode=
'portalSystem.status'
><
StatusSwitch
handleConfirm=
{
()
=>
handleStatus
(
record
)
}
record=
{
record
}
/></
AuthButton
>
},
{
title
:
intl
.
formatMessage
({
id
:
'portalSystem.caozuo'
,
defaultMessage
:
'操作'
}),
...
...
@@ -83,13 +87,15 @@ const PortalSystem = () => {
dataIndex
:
'operate'
,
render
:
(
_text
,
record
)
=>
(
<
Fragment
>
{
record
.
showUpdate
&&
<
Button
type=
'link'
onClick=
{
()
=>
history
.
push
(
`/memberCenter/systemSetting/authConfig/portalSystem/edit?id=${record.id}`
)
}
>
{
intl
.
formatMessage
({
id
:
'portalSystem.bianji'
,
defaultMessage
:
'编辑'
})
}
</
Button
>
}
{
record
.
showUpdate
&&
<
AuthButton
btnCode=
'portalSystem.eidt'
><
Button
type=
'link'
onClick=
{
()
=>
history
.
push
(
`/memberCenter/systemSetting/authConfig/portalSystem/edit?id=${record.id}`
)
}
>
{
intl
.
formatMessage
({
id
:
'portalSystem.bianji'
,
defaultMessage
:
'编辑'
})
}
</
Button
></
Auth
Button
>
}
{
record
.
showDelete
&&
(
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'portalSystem.quedingyaoshanchuma'
,
defaultMessage
:
'确定要删除吗?'
})
}
okText=
{
intl
.
formatMessage
({
id
:
'portalSystem.shi'
,
defaultMessage
:
'是'
})
}
cancelText=
{
intl
.
formatMessage
({
id
:
'portalSystem.fou'
,
defaultMessage
:
'否'
})
}
onConfirm=
{
()
=>
_delete
(
record
)
}
okButtonProps=
{
{
loading
:
confirmLoading
}
}
>
<
Button
type=
'link'
>
{
intl
.
formatMessage
({
id
:
'portalSystem.shanchu'
,
defaultMessage
:
'删除'
})
}
</
Button
>
</
Popconfirm
>
<
AuthButton
btnCode=
'portalSystem.deletd'
>
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'portalSystem.quedingyaoshanchuma'
,
defaultMessage
:
'确定要删除吗?'
})
}
okText=
{
intl
.
formatMessage
({
id
:
'portalSystem.shi'
,
defaultMessage
:
'是'
})
}
cancelText=
{
intl
.
formatMessage
({
id
:
'portalSystem.fou'
,
defaultMessage
:
'否'
})
}
onConfirm=
{
()
=>
_delete
(
record
)
}
okButtonProps=
{
{
loading
:
confirmLoading
}
}
>
<
Button
type=
'link'
>
{
intl
.
formatMessage
({
id
:
'portalSystem.shanchu'
,
defaultMessage
:
'删除'
})
}
</
Button
>
</
Popconfirm
>
</
AuthButton
>
)
}
</
Fragment
>
)
...
...
@@ -165,8 +171,8 @@ const PortalSystem = () => {
},
},
enum
:
[
{
label
:
intl
.
formatMessage
({
id
:
'portalSystem.qiyong'
,
defaultMessage
:
'启用'
}),
value
:
1
},
{
label
:
intl
.
formatMessage
({
id
:
'portalSystem.tingyong'
,
defaultMessage
:
'停用'
}),
value
:
0
},
{
label
:
intl
.
formatMessage
({
id
:
'portalSystem.qiyong'
,
defaultMessage
:
'启用'
}),
value
:
1
},
{
label
:
intl
.
formatMessage
({
id
:
'portalSystem.tingyong'
,
defaultMessage
:
'停用'
}),
value
:
0
},
],
},
}
...
...
@@ -188,13 +194,16 @@ const PortalSystem = () => {
<
Row
>
<
Col
span=
{
24
}
>
<
Space
direction=
"horizontal"
size=
{
16
}
>
<
Button
type=
"primary"
icon=
{
<
PlusOutlined
/>
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/systemSetting/authConfig/portalSystem/add`
)
}
>
{
intl
.
formatMessage
({
id
:
'portalSystem.added'
,
defaultMessage
:
'新增'
})
}
</
Button
>
<
AuthButton
btnCode=
'portalSystem.added'
>
<
Button
type=
"primary"
icon=
{
<
PlusOutlined
/>
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/systemSetting/authConfig/portalSystem/add`
)
}
>
{
intl
.
formatMessage
({
id
:
'portalSystem.added'
,
defaultMessage
:
'新增'
})
}
</
Button
>
</
AuthButton
>
</
Space
>
</
Col
>
</
Row
>
...
...
src/pages/channel/templateDetail/index.tsx
View file @
d7fea8be
...
...
@@ -151,7 +151,7 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
{
/* @todo 需要通过PASS配置MRO才能显示是否开启MRO商城筛选 */
}
{
isMro
&&
<
div
>
<
Checkbox
onChange=
{
onChangeMroSetting
}
checked=
{
detailInfo
.
openMro
}
>
启用商城MRO筛选模式
</
Checkbox
>
<
Checkbox
onChange=
{
onChangeMroSetting
}
checked=
{
detailInfo
.
openMro
}
>
{
intl
.
formatMessage
({
id
:
'template.detail.openMro'
,
defaultMessage
:
'启用商城MRO筛选模式'
})
}
</
Checkbox
>
</
div
>
}
<
AuthButton
btnCode=
'channelTemplate.Detail.see'
>
...
...
@@ -177,7 +177,7 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
}
</
AuthButton
>
<
AuthButton
btnCode=
'channelTemplate.Detail.use'
>
<
div
className=
{
cx
(
styles
.
btn
,
detailInfo
?.
use
===
1
?
styles
.
use
:
''
)
}
onClick=
{
()
=>
detailInfo
?.
use
!==
1
?
setUseModalVisible
(
true
)
:
{}
}
>
<
div
className=
{
cx
(
styles
.
btn
,
detailInfo
?.
use
===
1
?
styles
.
use
:
''
)
}
onClick=
{
()
=>
setUseModalVisible
(
true
)
}
>
<
PushpinOutlined
/>
<
label
>
{
detailInfo
?.
use
===
1
?
intl
.
formatMessage
({
id
:
'shop.template.button.state.using'
})
:
intl
.
formatMessage
({
id
:
'shop.template.button.state.use'
})
}
</
label
>
</
div
>
...
...
src/pages/order/assets/handles/HandleFormSubmit.ts
View file @
d7fea8be
...
...
@@ -84,9 +84,9 @@ export class HandleFormSubmit {
digest
:
data
?.
digest
,
remark
:
data
?.
remark
,
member
:
{
buyerMemberId
:
data
?.
buyerMember
Name
,
buyerMemberId
:
data
?.
buyerMember
Id
,
buyerMemberName
:
data
?.
buyerMemberName
,
buyerRoleId
:
data
?.
vendorMember
Id
,
buyerRoleId
:
data
?.
buyerRole
Id
,
roleType
:
2
,
name
:
data
?.
buyerMemberName
},
...
...
@@ -103,7 +103,7 @@ export class HandleFormSubmit {
receiveVO
:
{
...
data
?.
receiverBO
,
receiverName
:
data
?.
receiverBO
?.
consignee
,
fullAddress
:
`
${
data
?.
receiverBO
?.
provinceName
??
''
}
$
{
data
?.
receiverBO
?.
cityName
??
''
}
$
{
data
?.
receiverBO
?.
districtName
??
''
}
$
{
data
?.
receiverBO
?.
streetName
??
''
}
`
fullAddress
:
`
${
data
?.
receiverBO
?.
provinceName
??
''
}
$
{
data
?.
receiverBO
?.
cityName
??
''
}
$
{
data
?.
receiverBO
?.
districtName
??
''
}
$
{
data
?.
receiverBO
?.
streetName
??
''
}
`
},
executorVO: {
...data?.executorVO,
...
...
@@ -123,7 +123,7 @@ export class HandleFormSubmit {
deliveryNo: data?.deliveryNo
}
console.log(formField);
return formField
}
...
...
@@ -218,7 +218,8 @@ export class DeliveryNoteAddService extends HandleFormSubmit {
values.buyerMemberId = values.member.buyerMemberId
values.buyerMemberName = values.member.buyerMemberName
values.receiveVO.consignee = values.receiveVO.shipperName
values.receiveVO.consignee = values.receiveVO.shipperName ?? values.receiveVO.consignee
values.executorVO.consignee = values.executorVO.receiverName
values.logisticsCompanyId = values?.logisticsCompanyInt?.value ?? ''
...
...
@@ -322,6 +323,7 @@ export class ReceiveOrderCreate extends DeliveryNoteAddService {
label: data.logisticsCompany,
value: data.logisticsCompanyId
},
deliveryType: data?.deliveryType,
outerHistoryList: data.outerHistoryList,
deliveryNo: data.deliveryNo
}
...
...
@@ -372,7 +374,8 @@ export class DeliveryNoticeOrderAddService extends DeliveryNoteAddService {
},
"receiverBO.phone": data.receiveVO.phone,
products: data.products,
orderType: data.orderType
orderType: data.orderType,
sourceNo: data.sourceNo
}
return formField
})
...
...
src/pages/order/components/CalendarModal/index.tsx
View file @
d7fea8be
...
...
@@ -84,7 +84,7 @@ const CalendarModal = React.forwardRef((props: CalendarModalProps, ref: React.Re
<
Modal
title=
{
title
||
DefaultSelectDateText
}
visible=
{
visible
}
width=
{
width
||
10
80
}
width=
{
width
||
6
80
}
okText=
{
okText
||
DefaultModalOkText
}
cancelText=
{
cancelText
||
DefaultModalCancelText
}
onOk=
{
modalOnOk
}
...
...
src/pages/order/constants/deliveryNotice.ts
View file @
d7fea8be
...
...
@@ -40,7 +40,7 @@ export enum STATUS {
// 已确认
[
STATUS
.
HAD_CONFIRM
]:
'已确认'
,
// 已生产送货单
[
STATUS
.
HAD_GENERATE
]:
'已生
产
送货单'
,
[
STATUS
.
HAD_GENERATE
]:
'已生
成
送货单'
,
// 已作废
[
STATUS
.
HAD_TO_VOID
]:
'已作废'
,
}
...
...
@@ -56,7 +56,7 @@ export const TAG_STATUS_COLOR = {
// 已确认
[
STATUS
.
HAD_CONFIRM
]:
{
color
:
'#ebf9f6'
,
fontColor
:
'#00a98f'
},
// 已生产送货单
[
STATUS
.
HAD_GENERATE
]:
{
color
:
'#
f0f5ff'
,
fontColor
:
'#f0f5f
f'
},
[
STATUS
.
HAD_GENERATE
]:
{
color
:
'#
ebf9f6'
,
fontColor
:
'#00a98
f'
},
// 已作废
[
STATUS
.
HAD_TO_VOID
]:
{
color
:
'#fff2f0'
,
fontColor
:
'#ff4d4f'
},
}
src/pages/order/constants/label.ts
View file @
d7fea8be
...
...
@@ -2,6 +2,8 @@ export const ReceiptAddLabel = '新增收货单';
export
const
ReceiptAbstractLabel
=
'收货单摘要'
;
export
const
DeliveryAbstractLabel
=
'送货单摘要'
;
export
const
DeliveryAbstractNoLabel
=
'送货通知编号'
;
export
const
DeliveryPanleNoLabel
=
'送货计划编号'
export
const
SupplyMembersLabel
=
'供应会员'
;
export
const
NoteLabel
=
'备注'
;
...
...
@@ -15,7 +17,7 @@ export const DeliveryNoLabel = '送货单编号';
export
const
DeliveryDateLabel
=
'发货日期'
;
export
const
DeliveryTimeLabel
=
'发货时间'
;
export
const
DeliveryAddrLabel
=
'送货地址'
;
export
const
DeliverySlefAddrLabel
=
'
送
货(自提)地址'
;
export
const
DeliverySlefAddrLabel
=
'
发
货(自提)地址'
;
export
const
DeliveryNameLabel
=
'送货人'
;
export
const
DeliveryPhoneLabel
=
'送货人电话'
;
...
...
src/pages/order/deliveryNotice/create/add.tsx
View file @
d7fea8be
...
...
@@ -5,7 +5,12 @@
*/
import
AnchorPage
,
{
AnchorsItem
}
from
'@/components/AnchorPage'
import
React
,
{
useCallback
,
useEffect
,
useState
,
useContext
}
from
'react'
import
{
BaseInfo
,
BuyerLabel
,
ConsigneeTimeLabel
,
DeliveryAbstractLabel
,
DeliveryDate
,
DeliveryGood
,
DeliveryInfo
,
DeliveryNameLabel
,
DeliveryPhoneLabel
,
DeliveryTime
,
DeliveryTimeLabel
,
DeliveryTypeLabel
,
Distribution
,
LogisticsCarNoLabel
,
LogisticsCompanyLabel
,
LogisticsInfo
,
LogisticsNoLabel
,
NoteLabel
,
ReceivingAddress
}
from
'../../constants'
import
{
BaseInfo
,
BuyerLabel
,
ConsigneeTimeLabel
,
DeliveryAbstractLabel
,
DeliveryDate
,
DeliveryGood
,
DeliveryInfo
,
DeliveryNameLabel
,
DeliveryPanleNoLabel
,
DeliveryPhoneLabel
,
DeliveryTime
,
DeliveryTimeLabel
,
DeliveryTypeLabel
,
Distribution
,
LogisticsCarNoLabel
,
LogisticsCompanyLabel
,
LogisticsInfo
,
LogisticsNoLabel
,
NoteLabel
,
ReceivingAddress
as
ReceivingAddressLabel
}
from
'../../constants'
import
{
BaseInfo
as
ContentBox
}
from
'@/components/BaseInfo'
import
{
Input
,
Table
,
Radio
,
Form
,
Button
,
Modal
}
from
'antd'
;
import
{
DeliveryNoticeTableColumn
}
from
'../../constants/page-table-column'
;
...
...
@@ -23,6 +28,8 @@ import { DeliveryAddFactory } from '../../assets/factory/DeliveryAddFactory';
import
{
useLocation
}
from
'umi'
;
import
{
SourceTypeEnum
}
from
'../../constants/SourceTypeEnum'
;
import
{
ShipperAddress
,
ReceiverAddress
}
from
'@/components/AddressDrawer'
const
DeliveryNoticeManageSRMDetails
:
React
.
FC
=
()
=>
{
...
...
@@ -51,6 +58,8 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
let
formFeils
=
service
.
formatField
(
data
)
setTableDataSource
(
data
.
products
)
form
.
setFieldsValue
({
sourceType
:
SourceTypeEnum
.
PlanAdd
,
...
formFeils
...
...
@@ -64,7 +73,6 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
title
:
"提示"
,
content
:
"确认送货单资料填写是否正确,提交后不能再撤回!"
,
onOk
:
()
=>
{
service
.
setTableData
(
tableDataSource
);
service
.
submit
().
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
...
...
@@ -96,6 +104,11 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
</
FormItem
>
<
ContentBox
title=
{
BaseInfo
.
name
}
id=
{
BaseInfo
.
key
}
>
<
FormItem
label=
{
DeliveryPanleNoLabel
}
name=
"sourceNo"
>
<
Input
disabled
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
...
...
@@ -134,39 +147,22 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
<
DatePickerSelect
disabled=
{
true
}
defualtToday=
{
true
}
className=
'w-full'
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
DeliveryNameLabel
}
name=
"deliveryVO"
>
<
AddressDrawer
showDefault=
{
true
}
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListReceiverAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsReceiverAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsReceiverAddressAdd
(
val
)
}
}
}
onChange=
{
(
val
)
=>
{
form
.
setFieldsValue
({
"executorVO.phone"
:
val
?.
phone
})
}
}
/>
label=
{
DeliveryTime
}
name=
"deliveryRangeTime"
>
<
DatePickerSelect
.
RangePicker
className=
"w-full"
picker=
'time'
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
Delivery
Time
}
name=
"deliveryRangeTim
e"
>
<
DatePickerSelect
.
RangePicker
className=
"w-full"
picker=
'time'
/>
label=
{
Delivery
NameLabel
}
name=
"executorVO.consigne
e"
>
<
Input
/>
</
FormItem
>
<
FormItem
...
...
@@ -180,6 +176,22 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
<
ContentBox
title=
{
DeliveryInfo
.
name
}
id=
{
DeliveryInfo
.
key
}
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
DeliveryNameLabel
}
name=
"deliveryVO"
>
<
ShipperAddress
showDefault=
{
true
}
onChange=
{
(
val
)
=>
{
form
.
setFieldsValue
({
"executorVO.phone"
:
val
?.
phone
})
}
}
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
...
...
@@ -192,21 +204,9 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
rules=
{
[
required
()
]
}
label=
{
ReceivingAddress
}
name=
"receiveVO"
>
<
AddressDrawer
label=
{
ReceivingAddressLabel
}
name=
"receiveVO"
>
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListShipperAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsShipperAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsShipperAddressAdd
(
val
)
}
}
}
/>
<
ReceiverAddress
/>
</
FormItem
>
...
...
@@ -239,31 +239,6 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
</
ContentBox
>
<
ContentBox
title=
{
DeliveryGood
.
name
}
id=
{
DeliveryGood
.
key
}
cols=
{
1
}
>
{
/* 在编辑的时候不需要进行此操作 */
}
<
DeliveryGoodTableSelect
form=
{
form
}
onChange=
{
(
value
)
=>
{
if
(
value
.
length
>
0
)
{
let
addr
=
{
provinceName
:
value
[
0
].
provinceName
,
cityName
:
value
[
0
].
cityName
,
districtName
:
value
[
0
].
districtName
,
streetName
:
value
[
0
].
streetName
,
address
:
value
[
0
].
address
,
phone
:
value
[
0
].
phone
,
consignee
:
value
[
0
].
consignee
,
receiverName
:
value
[
0
].
consignee
,
fullAddress
:
`${value[0].provinceName}${value[0].cityName}${value[0].districtName}${value[0].streetName}${value[0].address}`
}
form
.
setFieldsValue
({
'receiveVO'
:
addr
})
}
setTableDataSource
(
value
)
}
}
/>
<
HarvestMaterialContextProvider
value=
{
{
dataSource
:
tableDataSource
...
...
src/pages/order/deliveryNotice/manageB2B/add.tsx
View file @
d7fea8be
...
...
@@ -11,7 +11,7 @@ import { Input, Table, Radio, Form, Button, Modal } from 'antd';
import
{
DeliveryNoticeTableColumn
}
from
'../../constants/page-table-column'
;
import
{
FormItem
,
required
}
from
'@/components/FormItem'
;
import
{
DatePickerSelect
}
from
'@/components/DatePickerSelect'
import
{
AddressDrawer
}
from
'@/components/AddressDrawer'
;
import
{
AddressDrawer
,
ReceiverAddress
,
ShipperAddress
}
from
'@/components/AddressDrawer'
;
import
{
getLogisticsSelectListReceiverAddress
,
getLogisticsSelectListShipperAddress
,
postLogisticsReceiverAddressAdd
,
postLogisticsReceiverAddressUpdate
,
postLogisticsShipperAddressAdd
,
postLogisticsShipperAddressUpdate
}
from
'@/services/LogisticsV2Api'
;
import
DeliveryGoodTableSelect
from
'../../components/DeliveryGoodTableSelect/DeliveryGoodTableSelect'
;
import
{
HarvestMaterialContextProvider
,
HarvestMaterialInput
}
from
'../../assets/context'
;
...
...
@@ -91,6 +91,7 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
</
FormItem
>
<
ContentBox
title=
{
BillsInfo
.
name
}
id=
{
BillsInfo
.
key
}
>
<
FormItem
rules=
{
[
required
()
...
...
@@ -133,31 +134,19 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
rules=
{
[
required
()
]
}
label=
{
DeliveryNameLabel
}
name=
"executorVO"
>
<
AddressDrawer
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListShipperAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsShipperAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsShipperAddressAdd
(
val
)
}
}
}
/>
label=
{
DeliveryTimeLabel
}
name=
"deliveryRangeTime"
>
<
DatePickerSelect
.
RangePicker
className=
"w-full"
picker=
'time'
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
Delivery
TimeLabel
}
name=
"deliveryRangeTim
e"
>
<
DatePickerSelect
.
RangePicker
className=
"w-full"
picker=
'time'
/>
label=
{
Delivery
NameLabel
}
name=
"executorVO.consigne
e"
>
<
Input
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
...
...
@@ -169,6 +158,19 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
<
ContentBox
title=
{
DeliveryInfo
.
name
}
id=
{
DeliveryInfo
.
key
}
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
DeliverySlefAddrLabel
}
name=
"deliveryVO"
>
<
ShipperAddress
showDefault=
{
true
}
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
...
...
@@ -182,21 +184,8 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
required
()
]
}
label=
{
ReceivingAddress
}
name=
"receiveVO"
>
<
AddressDrawer
disabled=
{
false
}
showDefault=
{
true
}
<
ReceiverAddress
formatValue=
{
addrFormatValue
}
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListReceiverAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsReceiverAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsReceiverAddressAdd
(
val
)
}
}
}
/>
</
FormItem
>
...
...
src/pages/order/deliveryNotice/manageB2B/edit.tsx
View file @
d7fea8be
...
...
@@ -7,6 +7,7 @@ import AnchorPage, { AnchorsItem } from '@/components/AnchorPage'
import
React
,
{
useCallback
,
useEffect
,
useState
,
useContext
}
from
'react'
import
{
BillsInfo
,
BuyerLabel
,
ConsigneeTimeLabel
,
DeliveryAbstractLabel
,
DeliveryDateLabel
,
DeliveryGood
,
DeliveryInfo
,
DeliveryNameLabel
,
DeliveryPhoneLabel
,
DeliverySlefAddrLabel
,
DeliveryTimeLabel
,
DeliveryTypeLabel
,
Distribution
,
ExternalRoamRecord
,
LogisticsCarNoLabel
,
LogisticsCompanyLabel
,
LogisticsInfo
,
LogisticsNoLabel
,
NoteLabel
,
ReceivingAddress
}
from
'../../constants'
import
{
BaseInfo
as
ContentBox
}
from
'@/components/BaseInfo'
...
...
@@ -14,7 +15,7 @@ import { Input, Table, Row, Col, Select, Radio, Form, Button, Modal } from 'antd
import
{
DeliveryNoticeTableColumn
,
ExternalRoamRecordTableColumn
}
from
'../../constants/page-table-column'
;
import
{
FormItem
,
required
}
from
'@/components/FormItem'
;
import
{
DatePickerSelect
}
from
'@/components/DatePickerSelect'
import
{
AddressDrawer
}
from
'@/components/AddressDrawer'
;
import
{
AddressDrawer
,
ReceiverAddress
,
ShipperAddress
}
from
'@/components/AddressDrawer'
;
import
{
getLogisticsSelectListReceiverAddress
,
getLogisticsSelectListShipperAddress
,
postLogisticsReceiverAddressAdd
,
postLogisticsReceiverAddressUpdate
,
postLogisticsShipperAddressAdd
,
postLogisticsShipperAddressUpdate
}
from
'@/services/LogisticsV2Api'
;
import
{
DeliveryNoteB2bUploadService
}
from
'../../assets/handles/HandleFormSubmit'
;
import
{
RoleSelect
}
from
'@/components/RoleSelect'
;
...
...
@@ -136,33 +137,22 @@ const DeliveryNoticeManageSRMEdit: React.FC = () => {
<
DatePickerSelect
disabled=
{
true
}
className=
'w-full'
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
DeliveryNameLabel
}
name=
"executorVO"
>
<
AddressDrawer
disabled=
{
true
}
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListShipperAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsShipperAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsShipperAddressAdd
(
val
)
}
}
}
/>
label=
{
DeliveryTimeLabel
}
name=
"deliveryRangeTime"
>
<
DatePickerSelect
.
RangePicker
disabled=
{
true
}
className=
"w-full"
picker=
'time'
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
Delivery
TimeLabel
}
name=
"deliveryRangeTim
e"
>
<
DatePickerSelect
.
RangePicker
disabled=
{
true
}
className=
"w-full"
picker=
'time'
/>
label=
{
Delivery
NameLabel
}
name=
"executorVO.consigne
e"
>
<
Input
/>
</
FormItem
>
<
FormItem
label=
{
DeliveryPhoneLabel
}
name=
"executorVO.phone"
>
...
...
@@ -171,6 +161,19 @@ const DeliveryNoticeManageSRMEdit: React.FC = () => {
</
ContentBox
>
<
ContentBox
title=
{
DeliveryInfo
.
name
}
id=
{
DeliveryInfo
.
key
}
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
DeliverySlefAddrLabel
}
name=
"deliveryVO"
>
<
ShipperAddress
showDefault=
{
true
}
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
...
...
@@ -184,20 +187,10 @@ const DeliveryNoticeManageSRMEdit: React.FC = () => {
required
()
]
}
label=
{
ReceivingAddress
}
name=
"receiveVO"
>
<
AddressDrawer
disabled=
{
false
}
<
ReceiverAddress
disabled=
{
true
}
formatValue=
{
addrFormatValue
}
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListReceiverAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsReceiverAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsReceiverAddressAdd
(
val
)
}
}
}
/>
</
FormItem
>
...
...
src/pages/order/deliveryNotice/manageB2B/index.tsx
View file @
d7fea8be
...
...
@@ -20,6 +20,8 @@ import { TagStatusFactory } from '../../utils'
import
dayjs
from
'dayjs'
import
NoteFactoryService
from
'../../assets/handles/DeliveryNoteService'
import
{
Link
,
useHistory
}
from
'umi'
import
AuthButton
from
'@/components/AuthButton'
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
const
tagStatus
=
TagStatusFactory
.
getInstance
();
const
statusTxt
=
new
Map
([[
1
,
'已提交'
],
[
2
,
'已收货'
],
[
3
,
'已作废'
]]);
...
...
@@ -32,28 +34,27 @@ const DeliveryNoticeManageB2B: React.FC = () => {
const
formActions
=
createFormActions
()
const
controllerBtns
=
(<
Space
>
<
Link
to=
{
"/memberCenter/order/deliveryNotice/manageB2B/add"
}
>
<
Button
type=
'primary'
icon=
{
<
PlusOutlined
/>
}
>
新增
</
Button
>
</
Link
>
<
AuthButton
btnCode=
'deliveryNoticeManageB2B.create'
>
<
Button
type=
'primary'
icon=
{
<
PlusOutlined
/>
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/order/deliveryNotice/manageB2B/add`
)
}
>
新增
</
Button
>
</
AuthButton
>
</
Space
>)
const
renderOptionButton
=
(
record
:
any
)
=>
{
const
btnAuthOfOperationTextMap
=
{
'修改'
:
'
DevTest
'
,
'作废'
:
'DevTest'
,
'查看'
:
'
DevTest
'
,
'修改'
:
'
deliveryNoticeManageB2B.update
'
,
//
'作废': 'DevTest',
'查看'
:
'
deliveryNoticeManageB2B.looking
'
,
}
const
buttonGroup
=
{
'修改'
:
true
,
'作废'
:
false
,
'修改'
:
record
.
outerStatus
===
1
,
//
'作废': false,
'查看'
:
true
,
}
const
operationHandler
=
{
'修改'
:
()
=>
{
history
.
push
(
`/memberCenter/order/deliveryNotice/manageB2B/edit?id=
${
record
.
id
}
`
)
},
'作废'
:
()
=>
{
console
.
log
(
'作废 :>> '
,)
},
//
'作废': () => { console.log('作废 :>> ',) },
'查看'
:
()
=>
{
history
.
push
(
`/memberCenter/order/deliveryNotice/manageB2B/details?id=
${
record
.
id
}
`
)
},
...
...
@@ -72,7 +73,7 @@ const DeliveryNoticeManageB2B: React.FC = () => {
dataIndex
:
'id'
,
key
:
'id'
,
width
:
160
,
render
:
(
text
,
r
)
=>
<
EyePreview
url=
{
`/memberCenter/order/deliveryNotice/manageB2B/details?id=${r.id}`
}
>
{
r
.
deliveryNo
}
</
EyePreview
>
render
:
(
text
,
r
)
=>
<
EyePreview
type=
{
AuthUrl
(
'deliveryNoticeManageB2B.looking'
)?
'link'
:
'button'
}
url=
{
`/memberCenter/order/deliveryNotice/manageB2B/details?id=${r.id}`
}
>
{
r
.
deliveryNo
}
</
EyePreview
>
},
{
title
:
'送货单摘要'
,
dataIndex
:
'digest'
,
key
:
'digest'
},
{
...
...
src/pages/order/deliveryNotice/manageSRM/add.tsx
View file @
d7fea8be
...
...
@@ -11,7 +11,7 @@ import { Input, Table, Row, Col, Select, Radio, Form, Button, Modal } from 'antd
import
{
DeliveryNoticeTableColumn
}
from
'../../constants/page-table-column'
;
import
{
FormItem
,
required
}
from
'@/components/FormItem'
;
import
{
DatePickerSelect
}
from
'@/components/DatePickerSelect'
import
{
AddressDrawer
}
from
'@/components/AddressDrawer'
;
import
{
AddressDrawer
,
ReceiverAddress
,
ShipperAddress
}
from
'@/components/AddressDrawer'
;
import
{
getLogisticsSelectListReceiverAddress
,
getLogisticsSelectListShipperAddress
,
postLogisticsReceiverAddressAdd
,
postLogisticsReceiverAddressUpdate
,
postLogisticsShipperAddressAdd
,
postLogisticsShipperAddressUpdate
}
from
'@/services/LogisticsV2Api'
;
import
DeliveryGoodTableSelect
from
'../../components/DeliveryGoodTableSelect/DeliveryGoodTableSelect'
;
import
{
HarvestMaterialContextProvider
,
HarvestMaterialContext
,
HarvestMaterialInput
}
from
'../../assets/context'
;
...
...
@@ -132,21 +132,8 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
rules=
{
[
required
()
]
}
label=
{
DeliveryNameLabel
}
name=
"executorVO"
>
<
AddressDrawer
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListShipperAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsShipperAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsShipperAddressAdd
(
val
)
}
}
}
/>
label=
{
DeliveryNameLabel
}
name=
"executorVO.consignee"
>
<
Input
/>
</
FormItem
>
<
FormItem
...
...
@@ -168,6 +155,19 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
<
ContentBox
title=
{
DeliveryInfo
.
name
}
id=
{
DeliveryInfo
.
key
}
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
DeliverySlefAddrLabel
}
name=
"deliveryVO"
>
<
ShipperAddress
showDefault=
{
true
}
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
...
...
@@ -181,28 +181,18 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
required
()
]
}
label=
{
ReceivingAddress
}
name=
"receiveVO"
>
<
AddressDrawer
disabled=
{
false
}
showDefault=
{
true
}
formatValue=
{
addrFormatValue
}
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListReceiverAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsReceiverAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsReceiverAddressAdd
(
val
)
}
}
}
<
ReceiverAddress
/>
</
FormItem
>
</
ContentBox
>
<
ContentBox
title=
{
LogisticsInfo
.
name
}
id=
{
LogisticsInfo
.
key
}
>
<
FormItem
rules=
{
[
required
()
...
...
src/pages/order/deliveryNotice/manageSRM/edit.tsx
View file @
d7fea8be
...
...
@@ -11,7 +11,7 @@ import { Input, Table, Row, Col, Select, Radio, Form, Button, message, Modal } f
import
{
DeliveryNoticeTableColumn
,
ExternalRoamRecordTableColumn
}
from
'../../constants/page-table-column'
;
import
{
FormItem
,
required
}
from
'@/components/FormItem'
;
import
{
DatePickerSelect
}
from
'@/components/DatePickerSelect'
import
{
AddressDrawer
}
from
'@/components/AddressDrawer'
;
import
{
AddressDrawer
,
ReceiverAddress
,
ShipperAddress
}
from
'@/components/AddressDrawer'
;
import
{
getLogisticsSelectListReceiverAddress
,
getLogisticsSelectListShipperAddress
,
postLogisticsReceiverAddressAdd
,
postLogisticsReceiverAddressUpdate
,
postLogisticsShipperAddressAdd
,
postLogisticsShipperAddressUpdate
}
from
'@/services/LogisticsV2Api'
;
import
DeliveryGoodTableSelect
from
'../../components/DeliveryGoodTableSelect/DeliveryGoodTableSelect'
;
import
{
HarvestMaterialContextProvider
,
HarvestMaterialContext
}
from
'../../assets/context'
;
...
...
@@ -142,20 +142,8 @@ const DeliveryNoticeManageSRMEdit: React.FC = () => {
rules=
{
[
required
()
]
}
label=
{
DeliveryNameLabel
}
name=
"executorVO"
>
<
AddressDrawer
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListShipperAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsShipperAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsShipperAddressAdd
(
val
)
}
}
}
/>
label=
{
DeliveryNameLabel
}
name=
"executorVO.consignee"
>
<
Input
/>
</
FormItem
>
<
FormItem
...
...
@@ -172,6 +160,17 @@ const DeliveryNoticeManageSRMEdit: React.FC = () => {
</
ContentBox
>
<
ContentBox
title=
{
DeliveryInfo
.
name
}
id=
{
DeliveryInfo
.
key
}
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
DeliverySlefAddrLabel
}
name=
"deliveryVO"
>
<
ShipperAddress
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
...
...
@@ -185,20 +184,8 @@ const DeliveryNoticeManageSRMEdit: React.FC = () => {
required
()
]
}
label=
{
ReceivingAddress
}
name=
"receiveVO"
>
<
AddressDrawer
disabled=
{
true
}
formatValue=
{
addrFormatValue
}
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListReceiverAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsReceiverAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsReceiverAddressAdd
(
val
)
}
}
}
<
ReceiverAddress
/>
</
FormItem
>
...
...
src/pages/order/deliveryNotice/manageSRM/index.tsx
View file @
d7fea8be
...
...
@@ -20,6 +20,8 @@ import NoteFactoryService from '../../assets/handles/DeliveryNoteService'
import
dayjs
from
'dayjs'
import
{
TagStatus
,
TagStatusFactory
}
from
'../../utils'
import
{
Link
,
useHistory
}
from
'umi'
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
import
AuthButton
from
'@/components/AuthButton'
const
DeliveryNoticeManageSRM
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
...
...
@@ -32,22 +34,20 @@ const DeliveryNoticeManageSRM: React.FC = () => {
const
controllerBtns
=
(
<
Space
>
<
Link
to=
"/memberCenter/order/deliveryNotice/manageSRM/add"
>
<
Button
type=
'primary'
icon=
{
<
PlusOutlined
/>
}
>
新增
</
Button
>
</
Link
>
<
AuthButton
btnCode=
'deliveryNoticeManageSRM.create'
>
<
Button
type=
'primary'
icon=
{
<
PlusOutlined
/>
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/order/deliveryNotice/manageSRM/add`
)
}
>
新增
</
Button
>
</
AuthButton
>
</
Space
>
)
const
renderOptionButton
=
(
record
:
any
)
=>
{
const
btnAuthOfOperationTextMap
=
{
'修改'
:
'
DevTest
'
,
'作废'
:
'DevTest'
,
'查看'
:
'
DevTest
'
,
'修改'
:
'
deliveryNoticeManageSRM.update
'
,
//
'作废': 'DevTest',
'查看'
:
'
deliveryNoticeManageSRM.looking
'
,
}
const
buttonGroup
=
{
'修改'
:
true
,
'作废'
:
false
,
'修改'
:
record
.
outerStatus
===
1
,
//
'作废': false,
'查看'
:
true
,
}
const
operationHandler
=
{
...
...
@@ -74,7 +74,7 @@ const DeliveryNoticeManageSRM: React.FC = () => {
key
:
'id'
,
width
:
160
,
render
:
(
t
,
r
)
=>
<
EyePreview
url=
{
`/memberCenter/order/deliveryNotice/manageSRM/details?id=${r.id}`
}
>
{
r
.
deliveryNo
}
</
EyePreview
>
<
EyePreview
type=
{
AuthUrl
(
'deliveryNoticeManageSRM.looking'
)?
'link'
:
'button'
}
url=
{
`/memberCenter/order/deliveryNotice/manageSRM/details?id=${r.id}`
}
>
{
r
.
deliveryNo
}
</
EyePreview
>
},
{
title
:
'送货单摘要'
,
dataIndex
:
'digest'
,
key
:
'digest'
},
{
...
...
src/pages/order/deliveryNoticeManagement/deliveryNoticeAwaitSRM/components/AddEditContent/index.tsx
View file @
d7fea8be
...
...
@@ -9,7 +9,7 @@ import { history } from 'umi'
import
BaseInfo
from
'@/components/BaseInfo/BaseInfo'
import
{
Button
,
DatePicker
,
Form
,
Input
,
message
,
Steps
,
Table
,
TimePicker
}
from
'antd'
import
{
PlusOutlined
}
from
'@ant-design/icons'
import
{
AddressDrawer
}
from
'@/components/AddressDrawer'
import
{
AddressDrawer
,
ReceiverAddress
}
from
'@/components/AddressDrawer'
import
AuthButton
from
'@/components/AuthButton'
import
{
RoleSelect
}
from
'@/components/RoleSelect'
import
StandardTable
from
'@/components/StandardTable'
...
...
@@ -283,14 +283,9 @@ const DeliveryNoticeManagementAwaitSRMDetails: React.FC<PropsType> = ({ type, id
rules=
{
[
{
required
:
true
,
message
:
`请选择${ReceivingAddress}`
}
]
}
>
<
AddressDrawer
disabled
rows=
{
1
}
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListReceiverAddress
(
val
)
}
}
/>
>
<
ReceiverAddress
disabled
/>
</
Form
.
Item
>
<
Form
.
Item
...
...
src/pages/order/deliveryNoticeManagement/deliveryNoticeFromCreate/index.tsx
View file @
d7fea8be
...
...
@@ -2,11 +2,11 @@ import AnchorPage, { AnchorsItem } from "@/components/AnchorPage";
import
{
Button
,
Form
,
Input
,
message
,
Radio
,
Table
}
from
"antd"
;
import
{
useCallback
,
useEffect
,
useState
}
from
"react"
;
import
{
DeliveryNoticeOrderAddService
}
from
"../../assets/handles/HandleFormSubmit"
;
import
{
BillsInfo
,
BuyerLabel
,
ConsigneeTimeLabel
,
DeliveryAbstractLabel
,
DeliveryDateLabel
,
DeliveryGood
,
DeliveryInfo
,
DeliveryNameLabel
,
DeliveryPhoneLabel
,
DeliveryTimeLabel
,
DeliveryTypeLabel
,
Distribution
,
LogisticsCarNoLabel
,
LogisticsCompanyLabel
,
LogisticsInfo
,
LogisticsNoLabel
,
NoteLabel
,
ReceivingAddress
}
from
"../../constants"
;
import
{
BillsInfo
,
BuyerLabel
,
ConsigneeTimeLabel
,
DeliveryAbstractLabel
,
Delivery
AbstractNoLabel
,
Delivery
DateLabel
,
DeliveryGood
,
DeliveryInfo
,
DeliveryNameLabel
,
DeliveryPhoneLabel
,
DeliveryTimeLabel
,
DeliveryTypeLabel
,
Distribution
,
LogisticsCarNoLabel
,
LogisticsCompanyLabel
,
LogisticsInfo
,
LogisticsNoLabel
,
NoteLabel
,
ReceivingAddress
}
from
"../../constants"
;
import
{
BaseInfo
}
from
'@/components/BaseInfo'
;
import
{
required
,
FormItem
}
from
"@/components/FormItem"
;
import
{
RoleSelect
}
from
"@/components/RoleSelect"
;
import
{
AddressDrawer
}
from
"@/components/AddressDrawer"
;
import
{
AddressDrawer
,
ReceiverAddress
,
ShipperAddress
}
from
"@/components/AddressDrawer"
;
import
{
getLogisticsSelectListReceiverAddress
,
getLogisticsSelectListShipperAddress
,
postLogisticsReceiverAddressAdd
,
postLogisticsReceiverAddressUpdate
,
postLogisticsShipperAddressAdd
,
postLogisticsShipperAddressUpdate
}
from
"@/services/LogisticsV2Api"
;
import
LogisticsCompanyMerchantsSelect
from
"@/components/LogisticsCompanySelect/LogisticsCompanyMerchantsSelect"
;
import
{
HarvestMaterialContextProvider
,
HarvestMaterialInput
}
from
"../../assets/context"
;
...
...
@@ -52,6 +52,8 @@ function DeliveryNoticeFromCreate() {
service
.
setFormService
(
type
);
form
.
setFieldsValue
(
res
)
console
.
log
(
res
.
products
);
setTableDataSource
(
res
.
products
)
})
...
...
@@ -74,7 +76,7 @@ function DeliveryNoticeFromCreate() {
}
return
(
<
AnchorPage
title=
"送货单管理
详情
"
<
AnchorPage
title=
"送货单管理
新增
"
anchors=
{
anchors
}
extra=
{
<
AuthButton
btnCode=
'deliveryNoticeQuery.submit'
>
...
...
@@ -90,6 +92,15 @@ function DeliveryNoticeFromCreate() {
</
FormItem
>
<
ContentBox
title=
{
BillsInfo
.
name
}
id=
{
BillsInfo
.
key
}
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
DeliveryAbstractNoLabel
}
name=
"sourceNo"
>
<
Input
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
...
...
@@ -130,39 +141,24 @@ function DeliveryNoticeFromCreate() {
<
DatePickerSelect
disabled=
{
true
}
className=
'w-full'
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
DeliveryNameLabel
}
name=
"deliveryVO"
>
<
AddressDrawer
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListShipperAddress
(
val
)
}
}
onChange=
{
(
v
)
=>
{
form
.
setFieldsValue
({
"executorVO.phone"
:
v
.
phone
})
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsShipperAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsShipperAddressAdd
(
val
)
}
}
}
/>
label=
{
DeliveryTimeLabel
}
name=
"deliveryRangeTime"
>
<
DatePickerSelect
.
RangePicker
disabled=
{
true
}
className=
"w-full"
picker=
'time'
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
Delivery
TimeLabel
}
name=
"deliveryRangeTim
e"
>
<
DatePickerSelect
.
RangePicker
disabled=
{
true
}
className=
"w-full"
picker=
'time'
/>
label=
{
Delivery
NameLabel
}
name=
"executorVO.consigne
e"
>
<
Input
/>
</
FormItem
>
<
FormItem
...
...
@@ -180,6 +176,20 @@ function DeliveryNoticeFromCreate() {
rules=
{
[
required
()
]
}
label=
{
DeliveryNameLabel
}
name=
"deliveryVO"
>
<
ShipperAddress
onChange=
{
(
v
)
=>
{
form
.
setFieldsValue
({
"executorVO.phone"
:
v
.
phone
})
}
}
/>
</
FormItem
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
ConsigneeTimeLabel
}
name=
"sendTime"
>
<
DatePickerSelect
className=
"w-full"
/>
</
FormItem
>
...
...
@@ -189,19 +199,9 @@ function DeliveryNoticeFromCreate() {
required
()
]
}
label=
{
ReceivingAddress
}
name=
"receiveVO"
>
<
AddressDrawer
<
ReceiverAddress
disabled=
{
false
}
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListReceiverAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsReceiverAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsReceiverAddressAdd
(
val
)
}
}
}
/>
</
FormItem
>
...
...
src/pages/order/deliveryPlanCollaboration/deliveryPlanAwait/details.tsx
View file @
d7fea8be
...
...
@@ -33,7 +33,7 @@ const columnB2B = [
const
columnSRM
=
[
{
...
MaterialNoColumn
,
dataIndex
:
'skuId'
,
width
:
80
,
},
{
...
MaterialNameColumn
,
dataIndex
:
'productName'
,
width
:
192
,
},
{
...
MaterialModelColumn
,
dataIndex
:
'
productName
'
,
width
:
128
,
},
{
...
MaterialModelColumn
,
dataIndex
:
'
spec
'
,
width
:
128
,
},
{
...
ClassColumn
,
dataIndex
:
'category'
,
width
:
96
,
},
{
...
BrandColumn
,
dataIndex
:
'brand'
,
width
:
96
,
},
{
...
UntilColumn
,
dataIndex
:
'unit'
,
width
:
64
,
},
...
...
src/pages/order/deliveryPlanCollaboration/deliveryPlanAwait/index.tsx
View file @
d7fea8be
...
...
@@ -20,6 +20,7 @@ import { deliveryPlanCollaborationAwaitSchema } from './schema'
import
{
godBtoa
,
TagStatus
}
from
'../../utils'
import
{
ExternalStateColumn
,
OperationColumn
,
PlannedEndDateColumn
,
PlannedStartDateColumn
,
PlanNumberColumn
,
PlanSummaryColumn
,
SupplyMemberColumn
}
from
'../../constants/table-column'
import
{
getOrderDeliveryPlanVendorPage
}
from
'@/services/OrderNewV2Api'
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
const
tagStatus
=
new
TagStatus
()
const
statusTxt
=
new
Map
([[
1
,
'待提交'
],
[
2
,
'待确认'
],
[
3
,
'待修订'
],
[
4
,
'已确认'
],
[
5
,
'已删除'
]])
...
...
@@ -31,8 +32,8 @@ const DeliveryPlanCollaborationAwait: React.FC = () => {
const
controllerBtns
=
(<
Space
></
Space
>)
const
renderOptionButton
=
(
record
:
any
)
=>
{
const
btnAuthOfOperationTextMap
=
{
'确认'
:
'
DevTest
'
,
'查看'
:
'
DevTest
'
,
'确认'
:
'
deliveryPlanCollaborationAwait.confirm
'
,
'查看'
:
'
deliveryPlanCollaborationAwait.looking
'
,
}
const
buttonGroup
=
{
'确认'
:
true
,
...
...
@@ -55,7 +56,7 @@ const DeliveryPlanCollaborationAwait: React.FC = () => {
...
PlanNumberColumn
,
dataIndex
:
'planNo'
,
key
:
'planNo'
,
render
:
(
text
:
unknown
,
record
:
any
)
=>
<
EyePreview
url=
{
`/memberCenter/order/deliveryPlanCollaboration/await/details?ty=${godBtoa(record.orderType)}&i=${godBtoa(record.id)}`
}
>
{
text
}
</
EyePreview
>
render
:
(
text
:
unknown
,
record
:
any
)
=>
<
EyePreview
type=
{
AuthUrl
(
'deliveryPlanCollaborationAwait.looking'
)?
'link'
:
'button'
}
url=
{
`/memberCenter/order/deliveryPlanCollaboration/await/details?ty=${godBtoa(record.orderType)}&i=${godBtoa(record.id)}`
}
>
{
text
}
</
EyePreview
>
},
{
...
PlanSummaryColumn
,
dataIndex
:
'digest'
,
key
:
'digest'
},
{
...
PlannedStartDateColumn
,
dataIndex
:
'planStartTime'
,
key
:
'planStartTime'
,
render
:
(
text
:
string
,
record
:
any
)
=>
(
moment
(
text
).
format
(
'YYYY-MM-DD'
))
},
...
...
src/pages/order/deliveryPlanCollaboration/deliveryPlanQuery/details.tsx
View file @
d7fea8be
...
...
@@ -33,7 +33,7 @@ const columnB2B = [
const
columnSRM
=
[
{
...
MaterialNoColumn
,
dataIndex
:
'skuId'
,
width
:
80
,
},
{
...
MaterialNameColumn
,
dataIndex
:
'productName'
,
width
:
192
,
},
{
...
MaterialModelColumn
,
dataIndex
:
'
productName
'
,
width
:
128
,
},
{
...
MaterialModelColumn
,
dataIndex
:
'
spec
'
,
width
:
128
,
},
{
...
ClassColumn
,
dataIndex
:
'category'
,
width
:
96
,
},
{
...
BrandColumn
,
dataIndex
:
'brand'
,
width
:
96
,
},
{
...
UntilColumn
,
dataIndex
:
'unit'
,
width
:
64
,
},
...
...
@@ -49,10 +49,12 @@ const statusTxt = new Map([[1, '待提交'], [2, '待确认'], [3, '待修订'],
const
selectedTableItem
=
new
Map
()
const
DeliveryPlanCollaborationDetails
:
React
.
FC
=
()
=>
{
const
{
location
:
{
query
:
{
ty
,
i
}
}
}
=
history
const
{
location
:
{
query
:
{
ty
,
i
,
bt
}
}
}
=
history
// 1-B2B 2-SRM
const
deliveryPlanType
=
godAtob
(
ty
as
string
)
const
id
=
godAtob
(
i
as
string
)
// notice-通知单 deliveryNote-送货单
const
pageBtn
=
godAtob
(
bt
as
string
)
const
ref
=
useRef
<
any
>
()
...
...
@@ -198,7 +200,7 @@ const DeliveryPlanCollaborationDetails: React.FC = () => {
const
time
=
new
Date
().
getTime
()
// 判断跳转
const
url
=
deliveryPlanType
===
'1'
?
'/memberCenter/order/deliveryNoticeManagement/awaitB2B/add'
:
'/memberCenter/order/deliveryNoticeManagement/awaitSRM/add'
noticePath
[
time
]
=
res
.
data
noticePath
[
time
]
=
res
.
data
localStorage
.
setItem
(
'NOTICE_PATH'
,
JSON
.
stringify
(
noticePath
))
selectedTableItem
.
clear
()
setTimeout
(()
=>
{
...
...
@@ -228,12 +230,12 @@ const DeliveryPlanCollaborationDetails: React.FC = () => {
}
let
noticePath
=
{}
const
time
=
new
Date
().
getTime
()
noticePath
[
time
]
=
res
.
data
noticePath
[
time
]
=
res
.
data
localStorage
.
setItem
(
'DELIVERY_NOTICE_PATH'
,
JSON
.
stringify
(
noticePath
))
selectedTableItem
.
clear
()
setTimeout
(()
=>
{
history
.
push
(
`/memberCenter/order/deliveryNotice/synergy
/c
reate?time=
${
time
}
&ot=
${
deliveryPlanType
}
`
)
},
1000
)
setTimeout
(()
=>
{
history
.
push
(
`/memberCenter/order/deliveryNotice/synergy
C
reate?time=
${
time
}
&ot=
${
deliveryPlanType
}
`
)
},
1000
)
}
else
{
message
.
warning
(
res
.
message
)
}
...
...
@@ -256,8 +258,13 @@ const DeliveryPlanCollaborationDetails: React.FC = () => {
extra=
{
<
Space
>
{
/* 条件渲染 */
}
<
Button
type=
'primary'
icon=
{
<
CheckCircleOutlined
/>
}
onClick=
{
()
=>
handleSubmitVerify
(
'Notice'
)
}
>
生成通知单
</
Button
>
<
Button
type=
'primary'
icon=
{
<
CheckCircleOutlined
/>
}
onClick=
{
()
=>
handleSubmitVerify
(
'DeliveryNote'
)
}
>
生成送货单
</
Button
>
{
pageBtn
===
'notice'
?
<
Button
type=
'primary'
icon=
{
<
CheckCircleOutlined
/>
}
onClick=
{
()
=>
handleSubmitVerify
(
'Notice'
)
}
>
生成送货通知单
</
Button
>
:
pageBtn
===
'deliveryNote'
?
<
Button
type=
'primary'
icon=
{
<
CheckCircleOutlined
/>
}
onClick=
{
()
=>
handleSubmitVerify
(
'DeliveryNote'
)
}
>
生成送货单
</
Button
>
:
null
}
</
Space
>
}
>
...
...
@@ -306,8 +313,8 @@ const DeliveryPlanCollaborationDetails: React.FC = () => {
ref=
{
ref
}
onOk=
{
(
date
)
=>
{
operation
===
'Notice'
?
generateNotice
(
date
)
:
generateDeliveryNote
(
date
)
?
generateNotice
(
date
)
:
generateDeliveryNote
(
date
)
}
}
/>
</
Spin
>
...
...
src/pages/order/deliveryPlanCollaboration/deliveryPlanQuery/index.tsx
View file @
d7fea8be
...
...
@@ -20,6 +20,7 @@ import { deliveryPlanCollaborationQuerySchema } from './schema'
import
{
godBtoa
,
TagStatus
}
from
'../../utils'
import
{
ExternalStateColumn
,
OperationColumn
,
PlannedEndDateColumn
,
PlannedStartDateColumn
,
PlanNumberColumn
,
PlanSummaryColumn
,
SupplyMemberColumn
}
from
'../../constants/table-column'
import
{
getOrderDeliveryPlanVendorPage
}
from
'@/services/OrderNewV2Api'
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
const
tagStatus
=
new
TagStatus
()
...
...
@@ -36,22 +37,22 @@ const DeliveryPlanCollaborationQuery: React.FC = () => {
)
const
renderOptionButton
=
(
record
:
any
)
=>
{
const
btnAuthOfOperationTextMap
=
{
'查看'
:
'
DevTest
'
,
'生成送货通知单'
:
'
DevTest
'
,
'生成送货单'
:
'
DevTest
'
,
'查看'
:
'
deliveryPlanCollaboration.looking
'
,
'生成送货通知单'
:
'
deliveryPlanCollaboration.generateNotice
'
,
'生成送货单'
:
'
deliveryPlanCollaboration.generateDeliveryNote
'
,
}
const
buttonGroup
=
{
'查看'
:
true
,
'生成送货通知单'
:
true
,
'生成送货单'
:
true
,
'生成送货通知单'
:
record
.
status
===
4
,
'生成送货单'
:
record
.
status
===
4
,
}
const
operationHandler
=
{
'查看'
:
()
=>
history
.
push
(
`/memberCenter/order/deliveryPlanCollaboration/query/details?ty=
${
godBtoa
(
record
.
orderType
)}
&i=
${
godBtoa
(
record
.
id
)}
`
),
'生成送货通知单'
:
()
=>
{
history
.
push
(
`/memberCenter/order/deliveryPlanCollaboration/query/details?ty=
${
godBtoa
(
record
.
orderType
)}
&i=
${
godBtoa
(
record
.
id
)}
`
)
history
.
push
(
`/memberCenter/order/deliveryPlanCollaboration/query/details?ty=
${
godBtoa
(
record
.
orderType
)}
&i=
${
godBtoa
(
record
.
id
)}
&bt=
${
godBtoa
(
'notice'
)}
`
)
},
'生成送货单'
:
()
=>
{
history
.
push
(
`/memberCenter/order/deliveryPlanCollaboration/query/details?ty=
${
godBtoa
(
record
.
orderType
)}
&i=
${
godBtoa
(
record
.
id
)}
`
)
history
.
push
(
`/memberCenter/order/deliveryPlanCollaboration/query/details?ty=
${
godBtoa
(
record
.
orderType
)}
&i=
${
godBtoa
(
record
.
id
)}
&bt=
${
godBtoa
(
'deliveryNote'
)}
`
)
},
}
return
(
...
...
@@ -67,7 +68,7 @@ const DeliveryPlanCollaborationQuery: React.FC = () => {
...
PlanNumberColumn
,
dataIndex
:
'planNo'
,
key
:
'planNo'
,
render
:
(
text
:
unknown
,
record
:
any
)
=>
<
EyePreview
url=
{
`/memberCenter/order/deliveryPlanCollaboration/query/details?ty=${godBtoa(record.orderType)}&i=${godBtoa(record.id)}`
}
>
{
text
}
</
EyePreview
>
render
:
(
text
:
unknown
,
record
:
any
)
=>
<
EyePreview
type=
{
AuthUrl
(
'deliveryPlanCollaboration.looking'
)?
'link'
:
'button'
}
url=
{
`/memberCenter/order/deliveryPlanCollaboration/query/details?ty=${godBtoa(record.orderType)}&i=${godBtoa(record.id)}`
}
>
{
text
}
</
EyePreview
>
},
{
...
PlanSummaryColumn
,
dataIndex
:
'digest'
,
key
:
'digest'
},
{
...
PlannedStartDateColumn
,
dataIndex
:
'planStartTime'
,
key
:
'planStartTime'
,
render
:
(
text
:
string
,
record
:
any
)
=>
(
moment
(
text
).
format
(
'YYYY-MM-DD'
))
},
...
...
src/pages/order/deliveryPlanManagement/deliveryPlanAwaitB2B/create.tsx
View file @
d7fea8be
...
...
@@ -118,6 +118,8 @@ const DeliveryPlanAwaitB2BCreate: React.FC = () => {
}).
catch
(
err
=>
{
setSpinning
(
false
)
})
}).
catch
(
err
=>
{
message
.
warning
(
'重要信息未选择或填写, 请检查后再次提交'
)
})
}
...
...
@@ -242,6 +244,9 @@ const DeliveryPlanAwaitB2BCreate: React.FC = () => {
{
...
formItemLayout
}
label=
{
PlanningCycle
}
name=
'dates'
rules=
{
[
{
required
:
true
,
message
:
'请选择'
}
]
}
>
<
DatePicker
.
RangePicker
disabledDate=
{
disabledDate
}
style=
{
{
width
:
'100%'
}
}
onChange=
{
(
dates
)
=>
handleDateAssembleColumn
(
dates
)
}
/>
</
Form
.
Item
>
...
...
@@ -250,6 +255,9 @@ const DeliveryPlanAwaitB2BCreate: React.FC = () => {
{
...
formItemLayout
}
label=
{
SupplyMembersLabel
}
name=
'memberInfo'
rules=
{
[
{
required
:
true
,
message
:
'请选择'
}
]
}
>
<
RoleSelect
request=
{
getMemberManageSupplyMember
}
...
...
@@ -279,7 +287,7 @@ const DeliveryPlanAwaitB2BCreate: React.FC = () => {
scroll=
{
{
x
:
'100%'
}
}
/>
</
BaseInfo
>
<
BaseInfo
className=
'mt-16'
title=
{
Remarks
.
name
}
id=
{
Remarks
.
key
}
cols=
{
1
}
>
<
BaseInfo
className=
'mt-16'
title=
{
<>
{
Remarks
.
name
}
<
span
style=
{
{
color
:
'red'
}
}
>
*
</
span
></>
}
id=
{
Remarks
.
key
}
cols=
{
1
}
>
<
Form
.
Item
name=
'remark'
rules=
{
[
...
...
src/pages/order/deliveryPlanManagement/deliveryPlanAwaitB2B/index.tsx
View file @
d7fea8be
...
...
@@ -21,6 +21,8 @@ import { godBtoa, TagStatus } from '../../utils'
import
{
ExternalStateColumn
,
OperationColumn
,
PlannedEndDateColumn
,
PlannedStartDateColumn
,
PlanNumberColumn
,
PlanSummaryColumn
,
SupplyMemberColumn
}
from
'../../constants/table-column'
import
moment
from
'moment'
import
{
getOrderDeliveryPlanBuyerPage
,
postOrderDeliveryPlanDelete
,
postOrderDeliveryPlanSubmit
}
from
'@/services/OrderNewV2Api'
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
import
AuthButton
from
'@/components/AuthButton'
// 外部状态1-待提交 2-已确认
const
STATUS
=
2
...
...
@@ -64,15 +66,17 @@ const DeliveryPlanManagementAwaitB2B: React.FC = () => {
const
controllerBtns
=
(
<
Space
>
<
Button
type=
'primary'
icon=
{
<
PlusOutlined
/>
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/order/deliveryPlanManagement/awaitB2B/create`
)
}
>
新增
</
Button
>
<
AuthButton
btnCode=
'create'
>
<
Button
type=
'primary'
icon=
{
<
PlusOutlined
/>
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/order/deliveryPlanManagement/awaitB2B/create`
)
}
>
新增
</
Button
>
</
AuthButton
>
</
Space
>
)
const
renderOptionButton
=
(
record
:
any
)
=>
{
const
btnAuthOfOperationTextMap
=
{
'提交'
:
'
DevTes
t'
,
'修改'
:
'
DevTest
'
,
'删除'
:
'
DevTest
'
,
'查看'
:
'
DevTest
'
,
'提交'
:
'
awaitB2B.submi
t'
,
'修改'
:
'
awaitB2B.update
'
,
'删除'
:
'
awaitB2B.delete
'
,
'查看'
:
'
awaitB2B.looking
'
,
}
const
buttonGroup
=
{
'提交'
:
record
.
status
<=
1
,
...
...
@@ -100,7 +104,7 @@ const DeliveryPlanManagementAwaitB2B: React.FC = () => {
dataIndex
:
'planNo'
,
key
:
'planNo'
,
// width: 160,
render
:
(
text
:
unknown
,
record
:
any
)
=>
<
EyePreview
url=
{
`/memberCenter/order/deliveryPlanManagement/awaitB2B/details?i=${godBtoa(record.id)}`
}
>
{
text
}
</
EyePreview
>
render
:
(
text
:
unknown
,
record
:
any
)
=>
<
EyePreview
type=
{
AuthUrl
(
'awaitB2B.looking'
)
?
'link'
:
'button'
}
url=
{
`/memberCenter/order/deliveryPlanManagement/awaitB2B/details?i=${godBtoa(record.id)}`
}
>
{
text
}
</
EyePreview
>
},
{
...
PlanSummaryColumn
,
dataIndex
:
'digest'
,
key
:
'digest'
},
{
...
PlannedStartDateColumn
,
dataIndex
:
'planStartTime'
,
key
:
'planStartTime'
,
render
:
(
text
:
string
,
record
:
any
)
=>
(
moment
(
text
).
format
(
'YYYY-MM-DD'
))
},
...
...
src/pages/order/deliveryPlanManagement/deliveryPlanAwaitSRM/create.tsx
View file @
d7fea8be
...
...
@@ -30,7 +30,7 @@ const ORDER_TYPE = '2'
const
initMaterialTableColumn
=
[
{
...
MaterialNoColumn
,
dataIndex
:
'skuId'
,
width
:
80
,
},
{
...
MaterialNameColumn
,
dataIndex
:
'productName'
,
width
:
192
,
},
{
...
MaterialModelColumn
,
dataIndex
:
'
productName
'
,
width
:
128
,
},
{
...
MaterialModelColumn
,
dataIndex
:
'
spec
'
,
width
:
128
,
},
{
...
ClassColumn
,
dataIndex
:
'category'
,
width
:
96
,
},
{
...
BrandColumn
,
dataIndex
:
'brand'
,
width
:
96
,
},
{
...
UntilColumn
,
dataIndex
:
'unit'
,
width
:
64
,
},
...
...
@@ -120,6 +120,8 @@ const DeliveryPlanAwaitSRMCreate: React.FC = () => {
}).
catch
(
err
=>
{
setSpinning
(
false
)
})
}).
catch
(
err
=>
{
message
.
warning
(
'重要信息未选择或填写, 请检查后再次提交'
)
})
}
...
...
@@ -287,7 +289,7 @@ const DeliveryPlanAwaitSRMCreate: React.FC = () => {
scroll=
{
{
x
:
2022
}
}
/>
</
BaseInfo
>
<
BaseInfo
className=
'mt-16'
title=
{
Remarks
.
name
}
id=
{
Remarks
.
key
}
cols=
{
1
}
>
<
BaseInfo
className=
'mt-16'
title=
{
<>
{
Remarks
.
name
}
<
span
style=
{
{
color
:
'red'
}
}
>
*
</
span
></>
}
id=
{
Remarks
.
key
}
cols=
{
1
}
>
<
Form
.
Item
name=
'remark'
rules=
{
[
...
...
src/pages/order/deliveryPlanManagement/deliveryPlanAwaitSRM/details.tsx
View file @
d7fea8be
...
...
@@ -33,7 +33,7 @@ const DeliveryPlanAwaitSRMDetails: React.FC = () => {
const
[
materialTableColumn
,
setMaterialTableColumn
]
=
useState
<
any
>
([
{
...
MaterialNoColumn
,
dataIndex
:
'skuId'
,
width
:
80
,
},
{
...
MaterialNameColumn
,
dataIndex
:
'productName'
,
width
:
192
,
},
{
...
MaterialModelColumn
,
dataIndex
:
'
productName
'
,
width
:
128
,
},
{
...
MaterialModelColumn
,
dataIndex
:
'
spec
'
,
width
:
128
,
},
{
...
ClassColumn
,
dataIndex
:
'category'
,
width
:
96
,
},
{
...
BrandColumn
,
dataIndex
:
'brand'
,
width
:
96
,
},
{
...
UntilColumn
,
dataIndex
:
'unit'
,
width
:
64
,
},
...
...
src/pages/order/deliveryPlanManagement/deliveryPlanAwaitSRM/index.tsx
View file @
d7fea8be
...
...
@@ -21,6 +21,8 @@ import { godBtoa, TagStatus } from '../../utils'
import
{
ExternalStateColumn
,
OperationColumn
,
PlannedEndDateColumn
,
PlannedStartDateColumn
,
PlanNumberColumn
,
PlanSummaryColumn
,
SupplyMemberColumn
}
from
'../../constants/table-column'
import
{
getOrderDeliveryPlanBuyerPage
,
postOrderDeliveryPlanDelete
,
postOrderDeliveryPlanSubmit
}
from
'@/services/OrderNewV2Api'
import
moment
from
'moment'
import
AuthButton
from
'@/components/AuthButton'
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
// 外部状态1-待提交 2-已确认
const
STATUS
=
2
...
...
@@ -64,15 +66,17 @@ const DeliveryPlanManagementAwaitSRM: React.FC = () => {
const
controllerBtns
=
(
<
Space
>
<
Button
type=
'primary'
icon=
{
<
PlusOutlined
/>
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/order/deliveryPlanManagement/awaitSRM/create`
)
}
>
新增
</
Button
>
<
AuthButton
btnCode=
'deliveryPlanAwaitSRM.create'
>
<
Button
type=
'primary'
icon=
{
<
PlusOutlined
/>
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/order/deliveryPlanManagement/awaitSRM/create`
)
}
>
新增
</
Button
>
</
AuthButton
>
</
Space
>
)
const
renderOptionButton
=
(
record
:
any
)
=>
{
const
btnAuthOfOperationTextMap
=
{
'提交'
:
'
DevTes
t'
,
'修改'
:
'
DevTest
'
,
'删除'
:
'
DevTest
'
,
'查看'
:
'
DevTest
'
,
'提交'
:
'
deliveryPlanAwaitSRM.submi
t'
,
'修改'
:
'
deliveryPlanAwaitSRM.update
'
,
'删除'
:
'
deliveryPlanAwaitSRM.delete
'
,
'查看'
:
'
deliveryPlanAwaitSRM.looking
'
,
}
const
buttonGroup
=
{
'提交'
:
record
.
status
<=
1
,
...
...
@@ -101,7 +105,7 @@ const DeliveryPlanManagementAwaitSRM: React.FC = () => {
dataIndex
:
'planNo'
,
key
:
'planNo'
,
// width: 160,
render
:
(
text
:
unknown
,
record
:
any
)
=>
<
EyePreview
url=
{
`/memberCenter/order/deliveryPlanManagement/awaitSRM/details?i=${godBtoa(record.id)}`
}
>
{
text
}
</
EyePreview
>
render
:
(
text
:
unknown
,
record
:
any
)
=>
<
EyePreview
type=
{
AuthUrl
(
'deliveryPlanAwaitSRM.looking'
)
?
'link'
:
'button'
}
url=
{
`/memberCenter/order/deliveryPlanManagement/awaitSRM/details?i=${godBtoa(record.id)}`
}
>
{
text
}
</
EyePreview
>
},
{
...
PlanSummaryColumn
,
dataIndex
:
'digest'
,
key
:
'digest'
},
{
...
PlannedStartDateColumn
,
dataIndex
:
'planStartTime'
,
key
:
'planStartTime'
,
render
:
(
text
:
string
,
record
:
any
)
=>
(
moment
(
text
).
format
(
'YYYY-MM-DD'
))
},
...
...
@@ -112,10 +116,10 @@ const DeliveryPlanManagementAwaitSRM: React.FC = () => {
dataIndex
:
'status'
,
key
:
'status'
,
render
:
(
text
:
string
,
record
:
any
)
=>
{
const
s
ytle
=
tagStatus
.
getTagStyle
(
record
.
status
);
const
s
tyles
=
tagStatus
.
getTagStyle
(
record
.
status
);
return
(
<
Tag
color=
{
s
ytle
.
bgColor
}
>
<
span
style=
{
{
color
:
s
ytle
.
fontColor
}
}
>
{
statusTxt
.
get
(
record
.
status
)
}
</
span
>
<
Tag
color=
{
s
tyles
.
bgColor
}
>
<
span
style=
{
{
color
:
s
tyles
.
fontColor
}
}
>
{
statusTxt
.
get
(
record
.
status
)
}
</
span
>
</
Tag
>
)
}
...
...
src/pages/order/deliveryPlanManagement/deliveryPlanAwaitSRM/update.tsx
View file @
d7fea8be
...
...
@@ -46,7 +46,7 @@ const DeliveryPlanAwaitSRMUpdate: React.FC = () => {
const
[
materialTableColumn
,
setMaterialTableColumn
]
=
useState
<
any
>
([
{
...
MaterialNoColumn
,
dataIndex
:
'skuId'
,
width
:
80
,
},
{
...
MaterialNameColumn
,
dataIndex
:
'productName'
,
width
:
192
,
},
{
...
MaterialModelColumn
,
dataIndex
:
'
productName
'
,
width
:
128
,
},
{
...
MaterialModelColumn
,
dataIndex
:
'
spec
'
,
width
:
128
,
},
{
...
ClassColumn
,
dataIndex
:
'category'
,
width
:
96
,
},
{
...
BrandColumn
,
dataIndex
:
'brand'
,
width
:
96
,
},
{
...
UntilColumn
,
dataIndex
:
'unit'
,
width
:
64
,
},
...
...
src/pages/order/deliveryPlanManagement/deliveryPlanQuery/index.tsx
View file @
d7fea8be
...
...
@@ -19,6 +19,7 @@ import { deliveryPlanManagementQuerySchema } from './schema'
import
{
godBtoa
,
TagStatus
}
from
'../../utils'
import
{
ExternalStateColumn
,
OperationColumn
,
PlannedEndDateColumn
,
PlannedStartDateColumn
,
PlanNumberColumn
,
PlanSummaryColumn
,
SupplyMemberColumn
}
from
'../../constants/table-column'
import
{
getOrderDeliveryPlanBuyerPage
}
from
'@/services/OrderNewV2Api'
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
const
tagStatus
=
new
TagStatus
()
const
statusTxt
=
new
Map
([[
1
,
'待提交'
],
[
2
,
'待确认'
],
[
3
,
'待修订'
],[
4
,
'已确认'
],[
5
,
'已删除'
]])
...
...
@@ -34,8 +35,8 @@ const DeliveryPlanManagementQuery: React.FC = () => {
)
const
renderOptionButton
=
(
record
:
any
)
=>
{
const
btnAuthOfOperationTextMap
=
{
'查看'
:
'
DevTest
'
,
'变更'
:
'
DevTest
'
'查看'
:
'
deliveryPlanManagement.looking
'
,
'变更'
:
'
deliveryPlanManagement.update
'
}
const
buttonGroup
=
{
'查看'
:
true
,
...
...
@@ -59,7 +60,7 @@ const DeliveryPlanManagementQuery: React.FC = () => {
dataIndex
:
'planNo'
,
key
:
'planNo'
,
// width: 160,
render
:
(
text
:
string
,
record
:
any
)
=>
<
EyePreview
url=
{
`/memberCenter/order/deliveryPlanManagement/query/details?ty=${godBtoa(record.orderType)}&i=${godBtoa(record.id)}`
}
>
{
text
}
</
EyePreview
>
render
:
(
text
:
string
,
record
:
any
)
=>
<
EyePreview
type=
{
AuthUrl
(
'deliveryPlanManagement.looking'
)?
'link'
:
'button'
}
url=
{
`/memberCenter/order/deliveryPlanManagement/query/details?ty=${godBtoa(record.orderType)}&i=${godBtoa(record.id)}`
}
>
{
text
}
</
EyePreview
>
},
{
...
PlanSummaryColumn
,
dataIndex
:
'digest'
,
key
:
'digest'
},
{
...
PlannedStartDateColumn
,
dataIndex
:
'planStartTime'
,
key
:
'planStartTime'
,
render
:
(
text
:
string
,
record
:
any
)
=>
(
moment
(
text
).
format
(
'YYYY-MM-DD'
))
},
...
...
src/pages/order/receivingNote/deliveryNoteManage/add.tsx
View file @
d7fea8be
...
...
@@ -15,7 +15,7 @@ import { HarvestMaterialContextProvider, HarvestMaterialInput } from '../../asse
import
{
DeliveryNoteB2bUploadService
,
ReceiveOrderCreate
,
ReceivingNoteAddService
}
from
"../../assets/handles/HandleFormSubmit"
import
NoteFactoryService
from
"../../assets/handles/DeliveryNoteService"
import
{
RoleSelect
}
from
"@/components/RoleSelect"
import
{
AddressDrawer
}
from
"@/components/AddressDrawer"
import
{
AddressDrawer
,
ShipperAddress
}
from
"@/components/AddressDrawer"
import
{
getLogisticsSelectListReceiverAddress
,
getLogisticsSelectListShipperAddress
,
postLogisticsReceiverAddressAdd
,
postLogisticsReceiverAddressUpdate
,
postLogisticsShipperAddressAdd
,
postLogisticsShipperAddressUpdate
}
from
"@/services/LogisticsV2Api"
import
{
DatePickerSelect
}
from
"@/components/DatePickerSelect"
import
LogisticsCompanyMerchantsSelect
from
"@/components/LogisticsCompanySelect/LogisticsCompanyMerchantsSelect"
...
...
@@ -74,6 +74,7 @@ function DeliveryNoteAddForm() {
function
RenaderDeliveryType
({
value
}:
{
value
?:
any
})
{
return
(
<>
<
Input
/>
{
value
===
0
?
'自提'
:
'物流'
}
</>
)
...
...
@@ -187,22 +188,7 @@ function DeliveryNoteAddForm() {
required
()
]
}
label=
{
DeliveryNameLabel
}
name=
"deliveryVO"
>
<
AddressDrawer
disabled=
{
true
}
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListShipperAddress
(
val
)
}
}
sumbitRequest=
{
{
update
:
(
val
)
=>
{
return
postLogisticsShipperAddressUpdate
(
val
)
},
add
:
(
val
)
=>
{
return
postLogisticsShipperAddressAdd
(
val
)
}
}
}
/>
<
ShipperAddress
disabled=
{
true
}
/>
</
FormItem
>
<
FormItem
...
...
@@ -218,11 +204,11 @@ function DeliveryNoteAddForm() {
<
ContentBox
title=
{
LogisticsInfo
.
name
}
id=
{
LogisticsInfo
.
key
}
>
<
FormItem
rules=
{
[
required
()
]
}
label=
{
DeliveryTypeLabel
}
name=
"deliveryType"
>
<
RenaderDeliveryType
/>
<>
<
Input
hidden
/>
<
RenaderDeliveryType
/>
</>
</
FormItem
>
<
FormItem
label=
{
LogisticsCarNoLabel
}
name=
"executorVO.carNumbers"
>
...
...
src/pages/order/receivingNote/deliveryNoteManage/index.tsx
View file @
d7fea8be
...
...
@@ -75,8 +75,8 @@ const DeliveryNoteManage: React.FC = () => {
{
title
:
'单据时间'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
},
{
title
:
'外部状态'
,
dataIndex
:
'
id6
'
,
key
:
'
id6
'
,
dataIndex
:
'
outerStatusName
'
,
key
:
'
outerStatusName
'
,
render
:
(
text
,
record
)
=>
{
const
styles
=
tagService
.
getTagStyle
(
record
.
outerStatus
);
return
(
...
...
@@ -119,7 +119,7 @@ const DeliveryNoteManage: React.FC = () => {
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'
planCode
'
,
'
receiveNo
'
,
FORM_FILTER_PATH
,
)
}
}
...
...
src/pages/order/receivingNote/deliveryNoteQuery/index.tsx
View file @
d7fea8be
...
...
@@ -55,12 +55,11 @@ const DeliveryNoteQuery: React.FC = () => {
const
controllerBtns
=
(<
Space
></
Space
>)
const
renderOptionButton
=
(
r
:
any
)
=>
{
const
btnAuthOfOperationTextMap
=
{
'生成收货单'
:
'
DevTest
'
,
'查看'
:
'
DevTest
'
,
'生成收货单'
:
'
deliveryNoteQuery.generateReceivingNote
'
,
'查看'
:
'
deliveryNoteQuery.looking
'
,
}
const
buttonGroup
=
{
'生成收货单'
:
true
,
'修改'
:
true
,
'生成收货单'
:
r
.
outerStatus
<
2
,
'查看'
:
true
,
}
const
operationHandler
=
{
...
...
@@ -141,7 +140,7 @@ const DeliveryNoteQuery: React.FC = () => {
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'
planCode
'
,
'
deliveryNo
'
,
FORM_FILTER_PATH
,
)
}
}
...
...
src/pages/order/utils/status.ts
View file @
d7fea8be
...
...
@@ -63,7 +63,7 @@ class TagStatus {
}
generatedStyle
()
{
return
{
bgColor
:
'#
f0f5ff'
,
fontColor
:
'#f0f5f
f'
,
txt
:
'已确认'
}
return
{
bgColor
:
'#
ebf9f6'
,
fontColor
:
'#00a98
f'
,
txt
:
'已确认'
}
}
voidedStyle
()
{
...
...
src/pages/ownMall/ownMallManager/components/useModal/index.tsx
View file @
d7fea8be
...
...
@@ -85,7 +85,7 @@ const UseModal: React.FC<UseModalPropsType> = (props) => {
label=
{
intl
.
formatMessage
({
id
:
'detail.purchase.selectMall'
})
}
rules=
{
[{
required
:
true
}]
}
>
<
Select
className=
{
styles
.
selectBox
}
onChange=
{
handleSelect
}
>
<
Select
className=
{
styles
.
selectBox
}
onChange=
{
handleSelect
}
defaultValue=
{
(
mallList
&&
mallList
.
some
((
item
)
=>
item
.
id
===
dataInfo
?.
shopId
))
?
dataInfo
?.
shopId
:
undefined
}
>
{
mallList
&&
mallList
.
map
((
mallItem
)
=>
(
<
Select
.
Option
value=
{
mallItem
.
id
}
label=
{
mallItem
.
name
}
key=
{
mallItem
.
id
}
>
...
...
src/pages/ownMall/ownMallManager/templateDetail/index.tsx
View file @
d7fea8be
...
...
@@ -175,7 +175,7 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
</div>
{
isMro && <div>
<Checkbox onChange={onChangeMroSetting} checked={detailInfo.openMro}>
启用商城MRO筛选模式
</Checkbox>
<Checkbox onChange={onChangeMroSetting} checked={detailInfo.openMro}>
{intl.formatMessage({ id: 'template.detail.openMro', defaultMessage: '启用商城MRO筛选模式' })}
</Checkbox>
</div>
}
<AuthButton btnCode='ownMallTemplate.detail.see'>
...
...
@@ -201,7 +201,7 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
}
</AuthButton>
<AuthButton btnCode='ownMallTemplate.detail.state' >
<div className={cx(styles.btn,
detailInfo?.use === 1 ? styles.use : '')} onClick={() => detailInfo?.use !== 1 ? setUseModalVisible(true) : {}
}>
<div className={cx(styles.btn,
(detailInfo?.use === 1 && detailInfo?.shopId) ? styles.use : '')} onClick={() => setUseModalVisible(true)
}>
<PushpinOutlined />
<label>{detailInfo?.use === 1 ? intl.formatMessage({ id: 'shop.template.button.state.using' }) : intl.formatMessage({ id: 'shop.template.button.state.use' })}</label>
</div>
...
...
src/pages/priceManage/priceLibrary/detailLibrary.tsx
View file @
d7fea8be
...
...
@@ -5,6 +5,7 @@ import StandardTable from '@/components/StandardTable';
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
getIntl
,
history
}
from
'umi'
;
import
{
getProductPriceManagementGetGoodsPriceHistory
}
from
'@/services/ProductV2Api'
;
import
moment
from
'moment'
;
const
DetailLibrary
:
React
.
FC
<
{}
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
...
...
@@ -36,17 +37,15 @@ const DetailLibrary: React.FC<{}> = () => {
title
:
getIntl
().
formatMessage
({
id
:
'priceManage.schema.formProduct.pinlei'
,
}),
dataIndex
:
'customerCategory'
,
key
:
'customerCategory'
,
render
:
text
=>
text
?.
name
,
dataIndex
:
'categoryName'
,
key
:
'categoryName'
,
},
{
title
:
getIntl
().
formatMessage
({
id
:
'priceManage.schema.formProduct.pinpai'
,
}),
dataIndex
:
'unitName'
,
key
:
'unitName'
,
render
:
text
=>
text
?.
name
,
dataIndex
:
'brandName'
,
key
:
'brandName'
,
},
{
title
:
getIntl
().
formatMessage
({
...
...
@@ -103,6 +102,9 @@ const DetailLibrary: React.FC<{}> = () => {
}),
dataIndex
:
'effectiveStartTime'
,
key
:
'effectiveStartTime'
,
render
:
text
=>
{
return
text
?
moment
(
text
).
format
(
'YYYY-MM-DD'
)
:
undefined
;
},
},
{
title
:
getIntl
().
formatMessage
({
...
...
@@ -110,6 +112,9 @@ const DetailLibrary: React.FC<{}> = () => {
}),
dataIndex
:
'effectiveEndTime'
,
key
:
'effectiveEndTime'
,
render
:
text
=>
{
return
text
?
moment
(
text
).
format
(
'YYYY-MM-DD'
)
:
undefined
;
},
},
];
const
fetchData
=
(
params
:
any
)
=>
{
...
...
src/pages/priceManage/priceLibrary/index.tsx
View file @
d7fea8be
...
...
@@ -149,7 +149,7 @@ const PriceLibrary: React.FC<{}> = () => {
width
:
128
,
render
:
(
_text
:
any
,
record
:
any
)
=>
{
return
(
<
AuthButton
btnCode=
""
>
<
AuthButton
btnCode=
"
priceLibrary.historicalPrice
"
>
<
Button
type=
"link"
className=
"padLeft0"
...
...
src/pages/procurement/callForBids/readyAddMallBid/model/index.tsx
View file @
d7fea8be
...
...
@@ -43,17 +43,17 @@ export const useSelfTable = () => {
return
<>
{
record
.
isSubmitCheck
&&
<
AuthButton
btnCode=
'
r
eadyAddBid.submit'
>
<
AuthButton
btnCode=
'
MallR
eadyAddBid.submit'
>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.submit'
})
}
</
Button
>
</
AuthButton
>
}
<
AuthButton
btnCode=
'
r
eadyAddBid.eidt'
>
<
AuthButton
btnCode=
'
MallR
eadyAddBid.eidt'
>
<
Button
type=
'link'
onClick=
{
()
=>
handleEdit
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.eidt'
})
}
</
Button
>
</
AuthButton
>
{
record
.
isAddTenderDelete
&&
<
AuthButton
btnCode=
'
r
eadyAddBid.del'
>
<
AuthButton
btnCode=
'
MallR
eadyAddBid.del'
>
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.shifouyaoshanchu'
})
}
onConfirm=
{
()
=>
handleDelete
(
record
)
}
>
<
Button
type=
'link'
>
{
intl
.
formatMessage
({
id
:
'table.purchase.delete'
})
}
</
Button
>
</
Popconfirm
>
...
...
src/pages/procurement/components/bidMethod/index.tsx
View file @
d7fea8be
...
...
@@ -8,8 +8,8 @@ import BASE_CONFIG from '../../../../../config/base.config.json'
import
{
CALLFORBID_TYPE
,
INVITE_BID
}
from
'@/constants/procurement'
;
import
{
ENTERPRISE_CENTER_URL
}
from
'@/constants'
import
{
getIntl
}
from
'umi'
;
const
shopInfo
=
BASE_CONFIG
.
web
.
shopInfo
const
intl
=
getIntl
();
const
shopInfo
=
BASE_CONFIG
.
web
.
shopInfo
const
intl
=
getIntl
();
/**
* 招标方式
...
...
@@ -19,7 +19,7 @@ export interface BidMethodProps {
cardTitle
?:
string
;
}
const
BidMethod
:
React
.
FC
<
BidMethodProps
>
=
({
cardTitle
})
=>
{
const
BidMethod
:
React
.
FC
<
BidMethodProps
>
=
({
cardTitle
})
=>
{
const
bidDetailContext
=
useContext
(
BidDetailContext
)
const
{
data
:
_data
,
ctl
,
apiType
}
=
bidDetailContext
...
...
@@ -75,7 +75,7 @@ const BidMethod: React.FC<BidMethodProps> = ({cardTitle}) => {
return
(
<
MellowCard
title=
{
cardTitle
}
style=
{
{
marginTop
:
24
}
}
style=
{
{
marginTop
:
24
}
}
bordered=
{
false
}
fullHeight
>
...
...
@@ -87,22 +87,22 @@ const BidMethod: React.FC<BidMethodProps> = ({cardTitle}) => {
</
div
>
{
data
.
inviteTenderType
===
INVITE_BID
?
<
Table
dataSource=
{
data
.
memberList
}
columns=
{
columns
}
pagination=
{
{
size
:
"small"
}
}
/>
:
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
2
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.fabushangcheng'
})
}
</
p
></
Col
>
<
Col
>
<
p
>
{
data
.
inviteTenderShopList
.
map
(
item
=>
{
return
shopInfo
.
find
(
_item
=>
_item
.
type
===
item
.
type
&&
_item
.
environment
===
item
.
environment
)[
'name'
]
}).
join
(
' / '
)
}
</
p
>
</
Col
>
</
Row
>
</
div
>
<
Table
dataSource=
{
data
.
memberList
}
columns=
{
columns
}
pagination=
{
{
size
:
"small"
}
}
/>
:
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
2
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.fabushangcheng'
})
}
</
p
></
Col
>
<
Col
>
<
p
>
{
data
.
inviteTenderShopList
.
map
(
item
=>
{
return
shopInfo
.
find
(
_item
=>
_item
.
type
===
item
.
type
&&
_item
.
id
===
item
.
shopId
)[
'name'
]
}).
join
(
' / '
)
}
</
p
>
</
Col
>
</
Row
>
</
div
>
}
</
MellowCard
>)
}
...
...
src/pages/shop/templateDetail/index.tsx
View file @
d7fea8be
...
...
@@ -141,7 +141,7 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
</div>
{
isMro && <div>
<Checkbox onChange={onChangeMroSetting}>
启用商城MRO筛选模式
</Checkbox>
<Checkbox onChange={onChangeMroSetting}>
{intl.formatMessage({ id: 'template.detail.openMro', defaultMessage: '启用商城MRO筛选模式' })}
</Checkbox>
</div>
}
<AuthButton btnCode='shopAbility.template.detail.see' >
...
...
@@ -157,7 +157,7 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
</div>
</AuthButton>
<AuthButton btnCode='shopAbility.template.detail.state'>
<div className={cx(styles.btn, detailInfo?.use === 1 ? styles.use : '')} onClick={() =>
detailInfo?.use !== 1 ? setUseModalVisible(true) : {}
}>
<div className={cx(styles.btn, detailInfo?.use === 1 ? styles.use : '')} onClick={() =>
setUseModalVisible(true)
}>
<PushpinOutlined />
<label>{detailInfo?.use === 1 ? intl.formatMessage({ id: 'shop.template.button.state.using' }) : intl.formatMessage({ id: 'shop.template.button.state.use' })}</label>
</div>
...
...
src/pages/systemSetting/salesmanManage/salesmanBind/index.tsx
View file @
d7fea8be
...
...
@@ -7,6 +7,8 @@ import { ColumnType } from 'antd/lib/table/interface';
import
EyePreview
from
'@/components/EyePreview'
;
import
{
PlusOutlined
}
from
'@ant-design/icons'
;
import
{
getMemberAbilitySalesPage
,
postMemberAbilitySalesDelete
}
from
'@/services/MemberV2Api'
;
import
AuthButton
from
'@/components/AuthButton'
;
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
;
const
intl
=
getIntl
()
...
...
@@ -35,7 +37,7 @@ const PortalSystem = () => {
title
:
intl
.
formatMessage
({
id
:
'channel.member.table.name'
}),
key
:
'name'
,
dataIndex
:
'name'
,
render
:
(
text
,
record
)
=>
<
EyePreview
url=
{
`/memberCenter/systemSetting/salesmanManage/salesmanBind/detail?id=${record.userId}`
}
>
{
text
}
</
EyePreview
>
render
:
(
text
,
record
)
=>
<
EyePreview
type=
{
AuthUrl
(
'memberList.see'
)
?
'link'
:
'button'
}
url=
{
`/memberCenter/systemSetting/salesmanManage/salesmanBind/detail?id=${record.userId}`
}
>
{
text
}
</
EyePreview
>
},
{
title
:
intl
.
formatMessage
({
id
:
'channel.member.table.orgName'
}),
...
...
@@ -63,16 +65,18 @@ const PortalSystem = () => {
dataIndex
:
'options'
,
render
:
(
text
:
any
,
record
:
any
)
=>
{
return
<>
<
Button
type=
'link'
onClick=
{
()
=>
updateItem
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'common.button.modify'
})
}
</
Button
>
<
AuthButton
btnCode=
'memberList.update'
><
Button
type=
'link'
onClick=
{
()
=>
updateItem
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'common.button.modify'
})
}
</
Button
></
Auth
Button
>
{
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'common.tip.option.confirm'
})
}
onConfirm=
{
()
=>
deleteItem
(
record
)
}
okText=
{
intl
.
formatMessage
({
id
:
'common.button.yes'
})
}
cancelText=
{
intl
.
formatMessage
({
id
:
'common.button.no'
})
}
>
<
Button
type=
'link'
>
{
intl
.
formatMessage
({
id
:
'common.button.delete'
})
}
</
Button
>
</
Popconfirm
>
<
AuthButton
btnCode=
'memberList.del'
>
<
Popconfirm
title=
{
intl
.
formatMessage
({
id
:
'common.tip.option.confirm'
})
}
onConfirm=
{
()
=>
deleteItem
(
record
)
}
okText=
{
intl
.
formatMessage
({
id
:
'common.button.yes'
})
}
cancelText=
{
intl
.
formatMessage
({
id
:
'common.button.no'
})
}
>
<
Button
type=
'link'
>
{
intl
.
formatMessage
({
id
:
'common.button.delete'
})
}
</
Button
>
</
Popconfirm
>
</
AuthButton
>
}
</>
}
...
...
@@ -159,13 +163,15 @@ const PortalSystem = () => {
<
Row
>
<
Col
span=
{
24
}
>
<
Space
direction=
"horizontal"
size=
{
16
}
>
<
Button
type=
"primary"
icon=
{
<
PlusOutlined
/>
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/systemSetting/salesmanManage/salesmanBind/add`
)
}
>
{
intl
.
formatMessage
({
id
:
'portalSystem.added'
,
defaultMessage
:
'新增'
})
}
</
Button
>
<
AuthButton
btnCode=
'memberList.add'
>
<
Button
type=
"primary"
icon=
{
<
PlusOutlined
/>
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/systemSetting/salesmanManage/salesmanBind/add`
)
}
>
{
intl
.
formatMessage
({
id
:
'portalSystem.added'
,
defaultMessage
:
'新增'
})
}
</
Button
>
</
AuthButton
>
</
Space
>
</
Col
>
</
Row
>
...
...
src/pages/transaction/dealAbility/inquiryOffer/waitAllotOrder/index.tsx
View file @
d7fea8be
...
...
@@ -8,6 +8,8 @@ import { Row, Col, Button, Tag, Badge, Modal } from 'antd';
import
{
WAITALLOTORDERSCHEMA
}
from
'./schema'
;
import
{
EXTERNALSTATE_COLOR
,
INTERNALSTATE_COLOR
}
from
'@/pages/transaction/components/stateColor'
;
import
{
getTransactionProductInquiryExternalStateEnum
,
getTransactionProductInquiryInteriorStateEnum
,
getTransactionProductInquiryNotAssignedAssigned
,
getTransactionProductInquiryNotAssignedList
,
postTransactionProductInquiryNotAssignedAssignedBatch
}
from
'@/services/TransactionV2Api'
;
import
{
AuthUrl
}
from
'@/components/AuthButton/AuthUrl'
;
import
AuthButton
from
'@/components/AuthButton'
;
const
intl
=
getIntl
();
const
WaitAllotOrder
=
()
=>
{
...
...
@@ -21,10 +23,10 @@ const WaitAllotOrder = () => {
const
fetchSubmitBatch
=
async
(
id
?:
string
,
index
?:
number
)
=>
{
let
res
=
null
;
if
(
id
)
{
setLoading
({
[
index
]:
true
})
setLoading
({
[
index
]:
true
})
res
=
await
getTransactionProductInquiryNotAssignedAssigned
({
inquiryId
:
id
})
}
else
{
setLoading
({
load
:
true
})
setLoading
({
load
:
true
})
res
=
await
postTransactionProductInquiryNotAssignedAssignedBatch
({
idList
:
rowkeys
});
}
if
(
res
.
code
!==
1000
)
{
...
...
@@ -44,6 +46,7 @@ const WaitAllotOrder = () => {
key
:
'inquiryListNo'
,
dataIndex
:
'inquiryListNo'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
EyePreview
type=
{
AuthUrl
(
'waitAllotOrder.detail'
)
?
'link'
:
'button'
}
url=
{
`/memberCenter/tranactionAbility/inquiryOffer/waitAllotOrder/preview?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
},
{
...
...
@@ -90,7 +93,7 @@ const WaitAllotOrder = () => {
title
:
intl
.
formatMessage
({
id
:
'dealAbility.caozuo'
}),
key
:
'options'
,
dataIndex
:
'options'
,
render
:
(
text
:
any
,
record
:
any
,
index
:
number
)
=>
<
Button
type=
'link'
loading=
{
loading
[
index
]
}
onClick=
{
()
=>
fetchSubmitBatch
(
record
.
id
,
index
)
}
>
领取
</
Button
>
render
:
(
text
:
any
,
record
:
any
,
index
:
number
)
=>
<
AuthButton
btnCode=
'waitAllotOrder.collect'
><
Button
type=
'link'
loading=
{
loading
[
index
]
}
onClick=
{
()
=>
fetchSubmitBatch
(
record
.
id
,
index
)
}
>
领取
</
Button
></
Auth
Button
>
},
];
return
(
...
...
@@ -107,13 +110,15 @@ const WaitAllotOrder = () => {
controllerBtns=
{
<
Row
>
<
Col
span=
{
6
}
>
<
Button
loading=
{
loading
?.
load
}
disabled=
{
rowkeys
.
length
===
0
}
onClick=
{
()
=>
fetchSubmitBatch
()
}
>
批量领取
</
Button
>
<
AuthButton
btnCode=
'waitAllotOrder.batch'
>
<
Button
loading=
{
loading
?.
load
}
disabled=
{
rowkeys
.
length
===
0
}
onClick=
{
()
=>
fetchSubmitBatch
()
}
>
批量领取
</
Button
>
</
AuthButton
>
</
Col
>
</
Row
>
}
...
...
src/pages/transaction/marketingAbility/merchantCoupon/components/RunningInfo/index.tsx
View file @
d7fea8be
...
...
@@ -201,6 +201,7 @@ const RunningInfo: React.FC<IProps> = (props) => {
{
title
:
`
${
intl
.
formatMessage
({
id
:
'merchantCoupon.OrderUseTime'
})}
`
,
dataIndex
:
'useTime'
,
render
:
(
text
)
=>
text
?
moment
(
text
).
format
(
'YYYY-MM-DD HH:mm:ss'
)
:
''
,
},
{
title
:
`
${
intl
.
formatMessage
({
id
:
'merchantCoupon.Mall'
})}
`
,
...
...
src/pages/transaction/purchaseAbility/purchaseInquiry/addMallInquiry/modal/index.tsx
View file @
d7fea8be
...
...
@@ -185,6 +185,7 @@ const AnchorModal: React.FC<AnchorModalProps> = (props: any) => {
name
:
Object
.
keys
(
product
).
length
>
0
?
product
.
name
:
res
.
name
,
category
:
Object
.
keys
(
product
).
length
>
0
?
product
.
customerCategory
.
name
:
edit
.
category
,
materialGroup
:
Object
.
keys
(
product
).
length
>
0
?
product
?.
materialGroup
?.
name
:
edit
.
materialGroup
,
goodsGroup
:
Object
.
keys
(
product
).
length
>
0
?
product
?.
materialGroup
?.
name
:
edit
.
materialGroup
,
ids
:
res
.
ids
,
categoryId
:
(
Object
.
keys
(
product
).
length
>
0
&&
!
isEmpty
(
product
.
customerCategory
.
category
))
?
product
.
customerCategory
.
category
.
id
:
edit
.
categoryId
,
memberCategoryId
:
Object
.
keys
(
product
).
length
>
0
?
product
.
customerCategory
.
id
:
edit
.
memberCategoryId
,
...
...
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