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
f35a5cb6
Commit
f35a5cb6
authored
Aug 02, 2021
by
前端-钟卫鹏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:
parent
21402d2d
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
68 additions
and
473 deletions
+68
-473
addAttribute.tsx
src/pages/classAndProperty/attribute/addAttribute.tsx
+8
-11
index.ts
src/pages/procurement/callForBids/addNewBid/schema/index.ts
+7
-7
index.tsx
src/pages/repositories/index.tsx
+6
-6
index.tsx
src/pages/transaction/common/index.tsx
+17
-0
index.tsx
src/pages/transaction/purchaseOrder/index.tsx
+0
-2
index.tsx
src/pages/transaction/purchaseOrder/orderCollect/index.tsx
+3
-15
index.tsx
...nsaction/purchaseOrder/orderCollectB2b/constant/index.tsx
+9
-35
index.ts
...ransaction/purchaseOrder/orderCollectB2b/effects/index.ts
+0
-41
index.tsx
...pages/transaction/purchaseOrder/orderCollectB2b/index.tsx
+3
-17
index.ts
...transaction/purchaseOrder/orderCollectB2b/schema/index.ts
+3
-169
index.tsx
...Order/orderCollectSrm/components/selectContract/index.tsx
+0
-57
index.tsx
...nsaction/purchaseOrder/orderCollectSrm/constant/index.tsx
+2
-2
index.ts
...ransaction/purchaseOrder/orderCollectSrm/effects/index.ts
+0
-68
index.tsx
...pages/transaction/purchaseOrder/orderCollectSrm/index.tsx
+6
-30
index.ts
...transaction/purchaseOrder/orderCollectSrm/schema/index.ts
+1
-0
RuleSetting.tsx
...s/transaction/transactionRules/components/RuleSetting.tsx
+3
-13
No files found.
src/pages/classAndProperty/attribute/addAttribute.tsx
View file @
f35a5cb6
import
React
,
{
useState
,
use
Ref
,
use
Effect
}
from
'react'
import
React
,
{
useState
,
useEffect
}
from
'react'
import
{
history
}
from
'umi'
import
{
Row
,
Col
,
Form
,
Input
,
Select
,
Popconfirm
,
Button
,
Card
,
Modal
,
Checkbox
,
Tooltip
,
message
,
Table
,
Radio
}
from
'antd'
;
import
{
Row
,
Col
,
Form
,
Input
,
Select
,
Popconfirm
,
Button
,
Card
,
Checkbox
,
Tooltip
}
from
'antd'
;
import
{
LinkOutlined
,
QuestionCircleOutlined
,
InfoCircleOutlined
}
from
'@ant-design/icons'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
StandardTable
}
from
'god'
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
ReutrnEle
from
'@/components/ReturnEle'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
validatorByte
}
from
'@/utils/regExp'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
Search
from
'@/components/NiceForm/components/Search'
import
Submit
from
'@/components/NiceForm/components/Submit'
import
{
createFormActions
}
from
'@formily/antd'
;
import
ModalTable
from
'@/components/ModalTable'
;
const
{
Option
}
=
Select
;
...
...
@@ -33,10 +30,7 @@ const tailLayout = {
},
};
const
formActions
=
createFormActions
();
const
AddAtttribute
:
React
.
FC
<
{}
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
const
[
menuForm
]
=
Form
.
useForm
();
const
[
roleVisible
,
setRoleVisible
]
=
useState
(
false
)
const
[
selectRow
,
setSelectRow
]
=
useState
<
any
[]
>
([])
// 模态框选择的行数据
...
...
@@ -69,15 +63,18 @@ const AddAtttribute: React.FC<{}> = () => {
setSubmitLoading
(
true
)
menuForm
.
validateFields
().
then
((
values
:
any
)
=>
{
delete
values
.
attributeShow
if
(
JSON
.
stringify
(
values
.
attribute
)
===
'{}'
)
if
(
JSON
.
stringify
(
values
.
attribute
)
===
'{}'
)
{
delete
values
.
attribute
}
PublicApi
.
postProductCustomerSaveOrUpdateCustomerAttribute
(
values
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
if
(
res
.
code
===
1000
)
{
history
.
goBack
()
else
}
else
{
setSubmitLoading
(
false
)
}
})
}).
catch
(
error
=>
{
setSubmitLoading
(
false
)
console
.
error
(
error
)
})
}
...
...
src/pages/procurement/callForBids/addNewBid/schema/index.ts
View file @
f35a5cb6
...
...
@@ -600,13 +600,13 @@ const evaluationNeedInfo: ISchema = {
},
title
:
'{{help("是否在线评标", "在线进行评标打分")}}'
,
default
:
true
,
//
"x-linkages": [
//
{
//
type: 'value:visible',
// target: 'checkedTime
',
//
condition: "{{!!$value}}"
//
}
//
]
"x-linkages"
:
[
{
type
:
'value:visible'
,
target
:
'templateId
'
,
condition
:
"{{!!$value}}"
}
]
},
templateId
:
{
type
:
'number'
,
...
...
src/pages/repositories/index.tsx
View file @
f35a5cb6
...
...
@@ -171,9 +171,9 @@ const Repositories: React.FC<{}> = () => {
message
:
'请填写仓位库存'
,
},
{
pattern
:
/^
[
+-
]?\d
*
(\.\d{0
,3})?
$/
,
message
:
'
请填写数值,最多保留3
位小数'
,
}
,
pattern
:
/^
\d
+
(\.\d{1
,3})?
$/
,
message
:
'
仅限三
位小数'
,
}
],
},
inventoryRate
:
{
...
...
@@ -190,9 +190,9 @@ const Repositories: React.FC<{}> = () => {
message
:
'请填写仓位库存调整比率'
,
},
{
pattern
:
/^
\d
+
(\.\d{1
,3})?
$/
,
message
:
'
仅限三
位小数'
,
}
pattern
:
/^
[
+-
]?\d
*
(\.\d{0
,3})?
$/
,
message
:
'
请填写数值,最多保留3
位小数'
,
}
,
],
},
}
...
...
src/pages/transaction/common/index.tsx
0 → 100644
View file @
f35a5cb6
import
React
from
'react'
import
{
Tooltip
}
from
'antd'
;
import
{
QuestionCircleOutlined
}
from
'@ant-design/icons'
/** NiceForm lable帮助信息 */
export
const
help
=
(
title
:
string
,
desc
:
string
)
=>
{
return
(
<
div
>
<
span
>
{
title
}
</
span
>
<
Tooltip
title=
{
desc
}
>
<
QuestionCircleOutlined
style=
{
{
margin
:
"0 3px"
,
cursor
:
"default"
,
marginLeft
:
3
}
}
/>
</
Tooltip
>
</
div
>
);
};
src/pages/transaction/purchaseOrder/index.tsx
View file @
f35a5cb6
...
...
@@ -4,7 +4,6 @@ import { StandardTable } from 'god'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
PublicApi
}
from
'@/services/api'
import
{
baseOrderListColumns
}
from
'./constant'
import
{
PurchaseOrderOutWorkState
}
from
'@/constants/order'
import
{
history
}
from
'umi'
import
{
tableListSchema
}
from
'../_public/order/constant'
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
...
...
@@ -15,7 +14,6 @@ import NiceForm from '@/components/NiceForm'
import
{
createFormActions
}
from
'@formily/antd'
import
styled
from
'styled-components'
import
cx
from
'classnames'
import
TableOperation
from
'@/components/TableOperation'
import
ModalForm
from
'@/components/ModalForm'
import
{
useHttpRequest
}
from
'@/hooks/useHttpRequest'
import
{
CaretDownOutlined
}
from
'@ant-design/icons'
...
...
src/pages/transaction/purchaseOrder/orderCollect/index.tsx
View file @
f35a5cb6
...
...
@@ -3,9 +3,9 @@ import { history } from 'umi'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
ReutrnEle
from
'@/components/ReturnEle'
import
{
usePageStatus
,
PageStatus
}
from
'@/hooks/usePageStatus'
import
{
Button
,
Card
,
Row
,
Col
,
message
,
Tooltip
}
from
'antd'
import
{
Button
,
Card
,
Row
,
Col
,
message
}
from
'antd'
import
{
createFormActions
,
registerVirtualBox
,
useFormSpy
}
from
'@formily/antd'
import
{
SaveOutlined
,
LinkOutlined
,
PlusOutlined
,
QuestionCircleOutlined
}
from
'@ant-design/icons'
import
{
SaveOutlined
,
LinkOutlined
,
PlusOutlined
}
from
'@ant-design/icons'
import
NiceForm
from
'@/components/NiceForm'
import
{
mergeAllSchemas
,
payInfo
,
orderMaterial
,
orderProduct
}
from
'./schema'
import
{
useModelTypeChange
,
useEditHideField
,
useOrderFormInitEffect
,
useProductTableChangeForPay
,
useOrderUpdateChangeOther
}
from
'./effects'
...
...
@@ -38,6 +38,7 @@ import MergeOrderModalTable from './components/mergeOrderModalTable'
import
{
useMaterialTable
}
from
'./model/useMaterialTable'
import
ContractModalTable
from
'./components/contractModalTable'
import
MaterialModalTable
from
'./components/materialModalTable'
import
{
help
}
from
'../../common'
export
interface
PurchaseOrderDetailProps
{}
...
...
@@ -52,19 +53,6 @@ const RowStyle = styled(props => <Row style={{marginTop: 12}} justify='end' {...
}
`
const
help
=
(
title
,
desc
)
=>
{
return
(
<
div
>
<
span
>
{
title
}
</
span
>
<
Tooltip
title=
{
desc
}
>
<
QuestionCircleOutlined
style=
{
{
margin
:
"0 3px"
,
cursor
:
"default"
,
marginLeft
:
3
}
}
/>
</
Tooltip
>
</
div
>
);
};
const
addSchemaAction
=
createFormActions
()
// 总计金额联动框
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/constant/index.tsx
View file @
f35a5cb6
...
...
@@ -28,52 +28,26 @@ export const PriceComp = (props) => {
/***********控制订单模式联动其他字段的数组集合 *******/
export
const
orderCombination
=
{
// 需从外部页面传入参数生成的订单联动, 用于禁用下单模式的手动选择
queryPageOrderModal
:
[
OrderModalType
.
PURCHASE_ORDER
,
OrderModalType
.
CHANNEL_DIRECT_PURCHASE_ORDER
,
OrderModalType
.
CHANNEL_SPOT_PURCHASE_ORDER
],
// 是否显示报价单字段
showQuotation
NoOrder
:
[
showQuotation
Field
:
[
OrderModalType
.
INQUIRY_QUOTATION_ORDER
,
OrderModalType
.
DEMAND_QUOTATION_ORDER
,
OrderModalType
.
CONSOLIDATED_ORDER
],
// 是否显示报价单按钮
showQuotation
NoOrder
Btn
:
[
showQuotation
Select
Btn
:
[
OrderModalType
.
INQUIRY_QUOTATION_ORDER
,
OrderModalType
.
DEMAND_QUOTATION_ORDER
,
OrderModalType
.
CONSOLIDATED_ORDER
,
],
// 是否显示
选择采购合同按钮
showPurchaseContract
:
[
// 是否显示
采购合同字段
showPurchaseContract
Field
:
[
OrderModalType
.
PURCHASE_ENQUIRY_CONTRACT_ORDER
,
OrderModalType
.
PURCHASE_TENDER_CONTRACT_ORDER
,
OrderModalType
.
PURCHASE_BIDDING_CONTRACT_ORDER
],
// 是否显示供应会员按钮
showSupplyMembersNameBtn
:
[
OrderModalType
.
HAND_ORDER
,
OrderModalType
.
CHANNEL_DIRECT_MINING_ORDER
,
OrderModalType
.
CHANNEL_SPOT_MANUAL_ORDER
,
OrderModalType
.
CONSOLIDATED_ORDER
],
// 渠道会员专属下单类型
channelMemberOrderModal
:
[
OrderModalType
.
CHANNEL_DIRECT_PURCHASE_ORDER
,
OrderModalType
.
CHANNEL_DIRECT_MINING_ORDER
,
OrderModalType
.
CHANNEL_SPOT_PURCHASE_ORDER
,
OrderModalType
.
CHANNEL_SPOT_MANUAL_ORDER
// 是否显示选择采购合同按钮
showPurchaseContractBtn
:
[
OrderModalType
.
PURCHASE_ENQUIRY_CONTRACT_ORDER
,
OrderModalType
.
PURCHASE_TENDER_CONTRACT_ORDER
,
OrderModalType
.
PURCHASE_BIDDING_CONTRACT_ORDER
],
// 企业个人会员专属下单类型
individualsMemberOrderModal
:
[
OrderModalType
.
PURCHASE_ORDER
,
OrderModalType
.
HAND_ORDER
,
OrderModalType
.
INQUIRY_QUOTATION_ORDER
,
OrderModalType
.
DEMAND_QUOTATION_ORDER
,
OrderModalType
.
CONSOLIDATED_ORDER
,
]
}
export
const
orderTypeLabel
=
[
''
,
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/effects/index.ts
View file @
f35a5cb6
import
{
ISchemaFormActions
,
FormEffectHooks
,
ISchemaFormAsyncActions
}
from
'@formily/antd'
;
import
{
usePageStatus
,
PageStatus
}
from
'@/hooks/usePageStatus'
;
import
{
useLinkageUtils
}
from
'@/utils/formEffectUtils'
;
import
{
orderCombination
}
from
'../constant'
;
import
{
history
}
from
'umi'
;
import
{
fetchOrderApi
}
from
'../apis'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
getAuth
}
from
'@/utils/auth'
import
moment
from
'moment'
;
...
...
@@ -111,45 +108,7 @@ export const useProductTableChangeForPay = (ctx: ISchemaFormActions | ISchemaFor
// 表单初始化时,对应操作
export
const
useOrderFormInitEffect
=
(
ctx
:
ISchemaFormActions
|
ISchemaFormAsyncActions
)
=>
{
const
{
modelType
=
0
,
spam_id
}
=
history
.
location
.
query
const
typeEnums
=
parseInt
(
modelType
)
const
auth
:
any
=
getAuth
()
FormEffectHooks
.
onFormMount$
().
subscribe
(
async
()
=>
{
ctx
.
setFieldState
(
'orderModel'
,
state
=>
{
state
.
props
.
enum
=
state
.
props
.
enum
.
map
(
v
=>
{
const
assign
:
any
=
Object
.
assign
({},
v
)
// 过滤服务提供者
if
(
auth
.
memberRoleType
===
2
)
{
// 采购商
// 企业+个人
// if ((auth.memberType === 1 || auth.memberType === 2) && (assign.value > 9 && assign.value !== 24)) {
if
((
auth
.
memberType
===
1
||
auth
.
memberType
===
2
)
&&
(
assign
.
value
>
9
&&
assign
.
value
<
30
))
{
assign
.
disabled
=
true
}
// 渠道(企业+个人)
if
((
auth
.
memberType
===
3
||
auth
.
memberType
===
4
)
&&
assign
.
value
<
10
)
{
assign
.
disabled
=
true
}
// 商城下单
if
(
orderCombination
.
queryPageOrderModal
.
includes
(
assign
.
value
)
&&
typeEnums
!==
assign
.
value
)
{
assign
.
disabled
=
true
}
// 禁用积分
if
(
assign
.
value
===
24
||
assign
.
value
===
25
)
{
assign
.
disabled
=
true
}
}
else
{
assign
.
disabled
=
true
}
// if (orderCombination.queryPageOrderModal.includes(assign.value) && typeEnums !== assign.value) {
// assign.disabled = true
// }
return
assign
}).
sort
((
prev
,
next
)
=>
prev
.
disabled
?
prev
.
value
:
next
.
value
-
prev
.
value
)
})
// 写入收货地址数据
useProductAddress
(
ctx
)
})
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/index.tsx
View file @
f35a5cb6
...
...
@@ -3,9 +3,9 @@ import { history } from 'umi'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
ReutrnEle
from
'@/components/ReturnEle'
import
{
usePageStatus
,
PageStatus
}
from
'@/hooks/usePageStatus'
import
{
Button
,
Card
,
Row
,
Col
,
message
,
Tooltip
}
from
'antd'
import
{
Button
,
Card
,
Row
,
Col
,
message
}
from
'antd'
import
{
createFormActions
,
registerVirtualBox
,
useFormSpy
}
from
'@formily/antd'
import
{
SaveOutlined
,
LinkOutlined
,
PlusOutlined
,
QuestionCircleOutlined
}
from
'@ant-design/icons'
import
{
SaveOutlined
,
LinkOutlined
,
PlusOutlined
}
from
'@ant-design/icons'
import
NiceForm
from
'@/components/NiceForm'
import
{
mergeAllSchemas
}
from
'./schema'
import
{
useModelTypeChange
,
useEditHideField
,
useOrderFormInitEffect
,
useProductTableChangeForPay
,
useOrderUpdateChangeOther
}
from
'./effects'
...
...
@@ -26,10 +26,9 @@ import { useUpdate } from '@umijs/hooks'
import
{
PublicApi
}
from
'@/services/api'
import
{
formatTimeString
,
omit
,
findLastIndexFlowState
}
from
'@/utils'
import
{
changeRouterTitleByStatus
}
from
'../../_public/order/utils'
import
{
getCookie
,
removeCookie
}
from
'@/utils/cookie'
import
{
ReadyAddOrderDetailContext
}
from
'../context'
import
{
TOP_DOMAIN
}
from
'@/constants'
import
AuditProcess
from
'@/components/AuditProcess'
import
{
help
}
from
'../../common'
import
styles
from
'./index.less'
export
interface
PurchaseOrderDetailProps
{}
...
...
@@ -45,19 +44,6 @@ const RowStyle = styled(props => <Row style={{marginTop: 12}} justify='end' {...
}
`
const
help
=
(
title
,
desc
)
=>
{
return
(
<
div
>
<
span
>
{
title
}
</
span
>
<
Tooltip
title=
{
desc
}
>
<
QuestionCircleOutlined
style=
{
{
margin
:
"0 3px"
,
cursor
:
"default"
,
marginLeft
:
3
}
}
/>
</
Tooltip
>
</
div
>
);
};
const
addSchemaAction
=
createFormActions
()
// 总计金额联动框
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/schema/index.ts
View file @
f35a5cb6
...
...
@@ -5,7 +5,7 @@ import moment from 'moment'
// 将获取的商城转化为可用类型
const
getShopTypeMap
=
(()
=>
{
return
GlobalConfig
.
web
.
shopInfo
.
map
(
item
=>
({
return
GlobalConfig
.
web
.
shopInfo
.
filter
(
item
=>
(
item
.
type
===
1
)
&&
(
item
.
environment
===
1
)).
map
(
item
=>
({
label
:
item
.
name
,
value
:
item
.
id
,
type
:
item
.
type
,
...
...
@@ -13,60 +13,6 @@ const getShopTypeMap = (() => {
}))
})()
/**
* 除了订单必填字段, 默认
*/
export
const
tableListSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
orderNo
:
{
type
:
'string'
,
"x-component"
:
'SearchFilter'
,
'x-component-props'
:
{
placeholder
:
'请输入订单编号'
,
align
:
'flex-end'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
inline
:
true
,
colStyle
:
{
marginLeft
:
20
}
},
properties
:
{
orderThe
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'请输入订单摘要'
,
}
},
"supplyMembersName"
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
'请输入供应会员名称'
}
},
"[startCreateTime,endCreateTime]"
:
{
type
:
'array'
,
"x-component"
:
'DateRangePickerUnix'
,
'x-component-props'
:
{
placeholder
:
[
'开始时间'
,
'结束时间'
],
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
}
}
// 基本信息
const
basicInfo
:
ISchema
=
{
"x-index"
:
0
,
...
...
@@ -103,7 +49,7 @@ const basicInfo: ISchema = {
{
type
:
"value:schema"
,
"target"
:
"quotationNo"
,
condition
:
`{{!!$value && orderCombination.showQuotationBtn.includes($value)}}`
,
condition
:
`{{!!$value && orderCombination.showQuotation
Select
Btn.includes($value)}}`
,
schema
:
{
"x-component-props"
:
{
disabled
:
true
,
...
...
@@ -125,7 +71,7 @@ const basicInfo: ISchema = {
enum
:
getShopTypeMap
,
title
:
'适应商城'
,
required
:
true
,
visible
:
false
,
//
visible: false,
},
orderThe
:
{
type
:
'string'
,
...
...
@@ -432,114 +378,7 @@ const ortherInfo: ISchema = {
}
}
// 审核单据
const
auditRecord
:
ISchema
=
{
type
:
'object'
,
"x-component"
:
'tabpane'
,
"x-component-props"
:
{
tab
:
'审核单据'
},
properties
:
{
NO_SUBMIT_LAYOUT_3
:
{
type
:
'object'
,
"x-component"
:
'mega-layout'
,
"x-component-props"
:
{
labelAlign
:
'left'
,
labelCol
:
4
,
wrapperCol
:
10
},
properties
:
{
state
:
{
title
:
'是否审核通过'
,
type
:
'radio'
,
required
:
true
,
enum
:
[
{
label
:
'审核通过'
,
value
:
1
},
{
label
:
'审核不通过'
,
value
:
0
}
],
editable
:
true
,
default
:
1
,
"x-linkages"
:
[
{
type
:
'value:visible'
,
target
:
'cause'
,
condition
:
"{{$value === 0}}"
}
]
},
cause
:
{
type
:
'textarea'
,
title
:
'审核不通过原因'
,
required
:
true
,
"x-component-props"
:
{
rows
:
3
},
editable
:
true
,
}
}
}
}
}
// 电子合同
const
electronicResult
:
ISchema
=
{
type
:
'object'
,
"x-component"
:
'tabpane'
,
"x-component-props"
:
{
tab
:
'电子合同'
},
properties
:
{
NO_SUBMIT_LAYOUT_3
:
{
type
:
'object'
,
"x-component"
:
'mega-layout'
,
"x-component-props"
:
{
labelAlign
:
'left'
,
labelCol
:
4
,
wrapperCol
:
10
},
properties
:
{
electronic
:
{
title
:
'电子合同'
,
type
:
'checkbox'
,
required
:
true
,
enum
:
[
{
label
:
'pdf'
,
value
:
true
}
],
editable
:
true
,
default
:
false
}
}
}
}
}
// 流转记录
const
transformRecord
:
ISchema
=
{
type
:
'object'
,
"x-component"
:
'tabpane'
,
"x-component-props"
:
{
tab
:
'流转记录'
},
properties
:
{
RECORD
:
{
type
:
'object'
,
"x-component"
:
'VirtualChildren'
,
"x-component-props"
:
{
children
:
"{{CirculationRecord}}"
}
}
}
}
// 新增订单详情
export
const
orderDetailSchema
:
ISchema
=
{
type
:
'object'
,
...
...
@@ -553,7 +392,6 @@ export const orderDetailSchema: ISchema = {
orderProduct
,
payInfo
,
ortherInfo
,
transformRecord
,
}
}
}
...
...
@@ -572,8 +410,6 @@ export const auditOneSchema: ISchema = {
orderProduct
,
payInfo
,
ortherInfo
,
auditRecord
,
transformRecord
}
}
}
...
...
@@ -610,8 +446,6 @@ export const orderElectronicSchema: ISchema = {
orderProduct
,
payInfo
,
ortherInfo
,
electronicResult
,
transformRecord
}
}
}
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/components/selectContract/index.tsx
deleted
100644 → 0
View file @
21402d2d
import
React
,
{
useState
,
useRef
,
useEffect
}
from
'react'
import
{
history
}
from
"umi"
import
{
Button
,
Radio
,
Row
,
Col
,
Tag
,
Checkbox
,
Modal
}
from
'antd'
import
{
ISchemaFormProps
,
ISchemaFieldProps
,
ISchemaFieldComponentProps
,
createFormActions
,
useFieldState
}
from
'@formily/antd'
import
{
FilePdfFilled
}
from
'@ant-design/icons'
import
{
PublicApi
}
from
'@/services/api'
const
SelectContract
=
(
props
:
ISchemaFieldComponentProps
)
=>
{
let
{
form
,
value
=
{},
mutators
,
editable
}
=
props
const
popConfirm
=
()
=>
{
history
.
push
(
`/memberCenter/tranactionAbility/electronicContracts/apply`
)
}
const
onChange
=
(
e
)
=>
{
if
(
e
.
target
.
checked
)
{
PublicApi
.
getContractSignatureAuthAuthState
().
then
(({
data
})
=>
{
if
(
data
.
state
!==
1
)
{
// 未认证
Modal
.
confirm
({
title
:
'提示'
,
content
:
'未签约电子合同, 是否要立即前往?'
,
onOk
:
popConfirm
,
maskClosable
:
true
})
}
else
{
mutators
.
change
(
1
)
}
})
}
else
{
mutators
.
change
(
0
)
}
}
return
(
<
div
style=
{
{
display
:
"flex"
,
flexDirection
:
"column"
}
}
>
<
Checkbox
onChange=
{
onChange
}
>
同意
</
Checkbox
>
<
Button
type=
"link"
icon=
{
<
FilePdfFilled
/>
}
style=
{
{
color
:
"#7178ea"
}
}
href=
{
`/api/order/contractTemplate/downloadContract?contractName=${props.props["x-component-props"].contract.contractName}&contractUrl=${props.props["x-component-props"].contract.contractUrl}`
}
>
{
props
.
props
[
"x-component-props"
].
contract
?.
contractName
}
</
Button
>
</
div
>
)
}
SelectContract
.
defaultProps
=
{}
SelectContract
.
isFieldComponent
=
true
;
export
default
SelectContract
src/pages/transaction/purchaseOrder/orderCollectSrm/constant/index.tsx
View file @
f35a5cb6
...
...
@@ -517,7 +517,7 @@ export const materialInfoColumns: any[] = [
key
:
'purchaseCount'
,
formItem
:
'input'
,
editable
:
true
,
width
:
80
//
width: 80
},
{
title
:
'含税'
,
...
...
@@ -547,7 +547,7 @@ export const materialInfoColumns: any[] = [
key
:
'logistics'
,
formItem
:
'select'
,
editable
:
true
,
width
:
80
//
width: 80
// render: (t, r) => {
// if(r.logistics?.deliveryType === 1)
// return "物流(默认)"
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/effects/index.ts
View file @
f35a5cb6
import
{
ISchemaFormActions
,
FormEffectHooks
,
ISchemaFormAsyncActions
}
from
'@formily/antd'
;
import
{
usePageStatus
,
PageStatus
}
from
'@/hooks/usePageStatus'
;
import
{
useLinkageUtils
}
from
'@/utils/formEffectUtils'
;
import
{
orderCombination
}
from
'../constant'
;
import
{
history
}
from
'umi'
;
import
{
fetchOrderApi
}
from
'../apis'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
getAuth
}
from
'@/utils/auth'
import
moment
from
'moment'
;
import
{
OrderModalType
}
from
'@/constants/order'
;
// 异步填充表格字段
const
asyncPadDataForProduct
=
async
(
ctx
:
ISchemaFormActions
|
ISchemaFormAsyncActions
,
productValue
:
any
)
=>
{
const
productData
=
productValue
.
value
const
loading
=
productValue
.
loading
if
(
productData
.
length
===
0
||
loading
)
{
return
false
}
ctx
.
setFieldState
(
productValue
.
path
,
state
=>
{
state
.
loading
=
true
})
ctx
.
setFieldState
(
productValue
.
path
,
state
=>
{
state
.
loading
=
false
})
}
export
const
createEffects
=
context
=>
()
=>
{
}
export
const
useModelTypeChange
=
(
callback
)
=>
{
const
utils
=
useLinkageUtils
()
...
...
@@ -51,47 +24,6 @@ export const useEditHideField = () => {
})
}
export
const
useProductTableChangeForPay
=
(
ctx
:
ISchemaFormActions
|
ISchemaFormAsyncActions
,
update
)
=>
{
const
{
pageStatus
}
=
usePageStatus
()
FormEffectHooks
.
onFieldValueChange$
(
'orderProductRequests'
).
subscribe
(
state
=>
{
const
{
value
}
=
state
// 强制渲染一次, 用于触发金额总数
update
()
const
orderModel
=
ctx
.
getFieldValue
(
'orderModel'
)
if
(
value
&&
value
.
length
>
0
&&
!
state
.
loading
){
// 添加loading判断避免二次调用
// 请求一次并复制给支付信息
const
productItem
=
value
[
0
]
console
.
log
(
productItem
,
'pitem'
)
if
(
pageStatus
===
PageStatus
.
EDIT
)
{
// 编辑下 支付信息联动实现
}
else
if
(
pageStatus
===
PageStatus
.
ADD
&&
ctx
.
getFieldValue
(
'orderModel'
)
<
OrderModalType
.
PURCHASE_ENQUIRY_CONTRACT_ORDER
)
{
// 新增下 需要支付信息生成支付次数 // @采购合同下单无需支付信息
fetchOrderApi
.
getPayInfoList
({
productId
:
(
orderModel
===
OrderModalType
[
"HAND_ORDER"
]
||
orderModel
===
OrderModalType
[
"CHANNEL_DIRECT_MINING_ORDER"
]
||
orderModel
===
OrderModalType
[
"CHANNEL_SPOT_MANUAL_ORDER"
])
?
productItem
.
id
:
(
productItem
.
productId
||
productItem
.
id
),
memberId
:
productItem
?.
memberId
||
ctx
.
getFieldValue
(
'supplyMembersId'
),
memberRoleId
:
productItem
?.
memberRoleId
||
ctx
.
getFieldValue
(
'supplyMembersRoleId'
),
orderModel
:
orderModel
,
shopId
:
ctx
.
getFieldValue
(
'shopId'
)
}).
then
(
data
=>
{
ctx
.
setFieldValue
(
'paymentInformationResponses'
,
data
)
}).
catch
(
err
=>
{
})
}
}
// 确认后 需根据商品id请求会员折扣接口, 以及配送方式
// 由于商品存在多个, 需对接口做一定缓存
asyncPadDataForProduct
(
ctx
,
state
)
const
numberInputs
=
document
.
getElementsByClassName
(
"purchase_amount_input"
)
if
(
numberInputs
?.
length
)
{
for
(
let
i
=
0
;
i
<
numberInputs
.
length
;
i
++
)
{
numberInputs
[
i
].
removeAttribute
(
"disabled"
)
}
}
})
}
// 表单初始化时,对应操作
export
const
useOrderFormInitEffect
=
(
ctx
:
ISchemaFormActions
|
ISchemaFormAsyncActions
)
=>
{
FormEffectHooks
.
onFormMount$
().
subscribe
(
async
()
=>
{
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/index.tsx
View file @
f35a5cb6
...
...
@@ -3,17 +3,15 @@ import { history } from 'umi'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
ReutrnEle
from
'@/components/ReturnEle'
import
{
usePageStatus
,
PageStatus
}
from
'@/hooks/usePageStatus'
import
{
Button
,
Card
,
Row
,
Col
,
message
,
Tooltip
}
from
'antd'
import
{
Button
,
Card
,
Row
,
Col
,
message
}
from
'antd'
import
{
createFormActions
,
registerVirtualBox
,
useFormSpy
}
from
'@formily/antd'
import
{
SaveOutlined
,
LinkOutlined
,
PlusOutlined
,
QuestionCircleOutlined
}
from
'@ant-design/icons'
import
{
SaveOutlined
,
LinkOutlined
,
PlusOutlined
}
from
'@ant-design/icons'
import
NiceForm
from
'@/components/NiceForm'
import
{
mergeAllSchemas
}
from
'./schema'
import
{
useModelTypeChange
,
useEditHideField
,
useOrderFormInitEffect
,
use
ProductTableChangeForPay
,
use
OrderUpdateChangeOther
}
from
'./effects'
import
{
useModelTypeChange
,
useEditHideField
,
useOrderFormInitEffect
,
useOrderUpdateChangeOther
}
from
'./effects'
import
{
orderCombination
,
orderTypeLabelMap
,
procurementProcessField
,
procurementRenderField
}
from
'./constant'
import
{
OrderModalType
}
from
'@/constants/order'
import
CirculationRecord
from
'../components/circulationRecord'
import
SelectAddress
from
'./components/selectAddress'
import
SelectContract
from
'./components/selectContract'
import
TheInvoiceList
from
'./components/theInvoiceList'
import
moment
from
'moment'
import
styled
from
'styled-components'
...
...
@@ -21,6 +19,7 @@ import { useUpdate } from '@umijs/hooks'
import
{
PublicApi
}
from
'@/services/api'
import
{
formatTimeString
,
omit
,
findLastIndexFlowState
}
from
'@/utils'
import
{
changeRouterTitleByStatus
}
from
'../../_public/order/utils'
import
{
help
}
from
'../../common'
import
{
ReadyAddOrderDetailContext
}
from
'../context'
import
AuditProcess
from
'@/components/AuditProcess'
import
styles
from
'./index.less'
...
...
@@ -41,19 +40,6 @@ const RowStyle = styled(props => <Row style={{marginTop: 12}} justify='end' {...
}
`
const
help
=
(
title
,
desc
)
=>
{
return
(
<
div
>
<
span
>
{
title
}
</
span
>
<
Tooltip
title=
{
desc
}
>
<
QuestionCircleOutlined
style=
{
{
margin
:
"0 3px"
,
cursor
:
"default"
,
marginLeft
:
3
}
}
/>
</
Tooltip
>
</
div
>
);
};
const
addSchemaAction
=
createFormActions
()
// 总计金额联动框
...
...
@@ -89,7 +75,7 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
const
[
btnLoading
,
setBtnLoading
]
=
useState
(
false
)
const
update
=
useUpdate
()
const
productSumPriceRef
=
useRef
<
any
>
(
0
)
const
{
pageStatus
,
id
,
page_type
=
'0'
,
modelType
,
om
}
=
usePageStatus
()
const
{
pageStatus
,
id
,
page_type
=
'0'
,
modelType
}
=
usePageStatus
()
const
[
initFormSchema
,
setInitFormSchema
]
=
useState
<
any
>
(()
=>
({...
mergeAllSchemas
[
page_type
]}))
const
[
initFormValue
,
setInitFormValue
]
=
useState
<
any
>
(()
=>
{
let
resultState
=
{}
...
...
@@ -110,14 +96,11 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
if
(
id
)
{
setFormLoading
(
true
)
// @ts-ignore
PublicApi
.
getOrderProcurementOrderDetails
({
id
}).
then
(
res
=>
{
PublicApi
.
getOrderProcurementOrderDetails
({
id
}).
then
(
res
=>
{
const
{
data
}
=
res
const
_orderProductRequests
=
procurementRenderField
(
data
.
orderProductRequests
)
setInitFormValue
({
...
data
,
// 判断是否合同下单
orderProductRequests
:
[],
deliveryTime
:
formatTimeString
(
data
.
deliveryTime
)
})
...
...
@@ -238,9 +221,6 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
// 选择合同
const
handleOrderContract
=
()
=>
{
// if(!addSchemaAction.getFieldValue('shopId')) {
// return message.error('请先选择适应商城')
// }
contractOrderRef
.
current
.
setVisible
(
true
)
}
...
...
@@ -295,13 +275,11 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
// editable={pageStatus !== PageStatus.PREVIEW}
value=
{
initFormValue
}
actions=
{
addSchemaAction
}
// schema={mergeAllSchemas[page_type]}
schema=
{
initFormSchema
}
onSubmit=
{
handleSubmit
}
components=
{
{
SelectAddress
,
TheInvoiceList
,
SelectContract
}
}
effects=
{
(
$
,
ctx
)
=>
{
$
(
'onFormMount'
).
subscribe
(()
=>
{
...
...
@@ -332,8 +310,6 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
ctx
.
setFieldValue
(
'type'
,
orderTypeLabelMap
()[
value
])
})
useEditHideField
()
// 商品信息的改动 驱动支付信息变化
useProductTableChangeForPay
(
ctx
,
update
)
// 编辑 地址和发票信息变动 触发订单更新
useOrderUpdateChangeOther
(
ctx
)
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/schema/index.ts
View file @
f35a5cb6
...
...
@@ -201,6 +201,7 @@ export const orderMaterial: ISchema = {
rowKey
:
'id'
,
columns
:
"{{materialColumns}}"
,
components
:
"{{materialComponents}}"
,
prefix
:
"{{materialAddButton}}"
,
},
},
// 仅合同下单时备用参数数据
...
...
src/pages/transaction/transactionRules/components/RuleSetting.tsx
View file @
f35a5cb6
...
...
@@ -6,10 +6,8 @@ import { ISchemaFormActions, ISchema, FormEffectHooks } from '@formily/antd'
import
{
useRowSelectionTable
}
from
'@/hooks/useRowSelectionTable'
import
{
createAddContractTemplateEffect
}
from
'../effects'
import
{
PublicApi
}
from
'@/services/api'
import
{
PlusOutlined
,
QuestionCircleOutlined
,
}
from
'@ant-design/icons'
import
{
Button
,
message
,
Tooltip
}
from
'antd'
import
{
PlusOutlined
}
from
'@ant-design/icons'
import
{
Button
,
message
}
from
'antd'
import
NiceForm
from
'@/components/NiceForm'
import
ModalTable
from
'@/components/ModalTable'
import
{
GlobalConfig
}
from
'@/global/config'
...
...
@@ -20,6 +18,7 @@ import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilte
import
Submit
from
'@/components/NiceForm/components/Submit'
import
SelectProcesss
from
'./selectProcesss'
import
{
usePaymentTable
}
from
'../model/usePaymentTable'
import
{
help
}
from
'../../common'
export
interface
RuleSettingProps
{
addSchemaAction
:
ISchemaFormActions
,
...
...
@@ -301,13 +300,6 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
})
}
const
help
=
(
text
:
string
,
desc
:
string
)
=>
(<>
{
text
}
<
Tooltip
title=
{
desc
}
>
<
QuestionCircleOutlined
/>
</
Tooltip
>
</>)
return
(
<>
<
NiceForm
...
...
@@ -425,9 +417,7 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
rowKey
:
'id'
}
}
/>
</>
)
}
...
...
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