Commit b9af4593 authored by 前端-许佳敏's avatar 前端-许佳敏

fix:修改订单-修改商品价格时无法修改支付信息

parent 96ee62f7
...@@ -87,6 +87,7 @@ export const useEditHideField = () => { ...@@ -87,6 +87,7 @@ export const useEditHideField = () => {
export const useProductTableChangeForPay = (ctx: ISchemaFormActions | ISchemaFormAsyncActions, update) => { export const useProductTableChangeForPay = (ctx: ISchemaFormActions | ISchemaFormAsyncActions, update) => {
FormEffectHooks.onFieldValueChange$('orderProductRequests').subscribe(state => { FormEffectHooks.onFieldValueChange$('orderProductRequests').subscribe(state => {
const { value } = state const { value } = state
console.log(value)
const payInfoData = ctx.getFieldValue('paymentInformationResponses') const payInfoData = ctx.getFieldValue('paymentInformationResponses')
// 强制渲染一次, 用于触发金额总数 // 强制渲染一次, 用于触发金额总数
update() update()
......
...@@ -300,15 +300,25 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => { ...@@ -300,15 +300,25 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
TheInvoiceList TheInvoiceList
}} }}
effects={($, ctx) => { effects={($, ctx) => {
if (id) { $('onFormMount').subscribe(() => {
ctx.setFieldState('orderModel', state => { if (id) {
state.props["x-component-props"] = { ctx.setFieldState('orderModel', state => {
disabled: true state.props["x-component-props"] = {
} disabled: true
}) }
} })
}
})
// 监听商品总价的变更, 此处逻辑需优化 // 监听商品总价的变更, 此处逻辑需优化
$('sumPrice').subscribe(payload => { $('sumPrice').subscribe(payload => {
const oldData = [...addSchemaAction.getFieldValue('paymentInformationResponses')];
if (oldData && oldData.length > 0) {
const newData = oldData.map(v => {
v.payPrice = (v.payRatio / 100 * payload).toFixed(2)
return v
})
addSchemaAction.setFieldValue('paymentInformationResponses', newData)
}
setProductSumPrice(payload) setProductSumPrice(payload)
}) })
$('onFieldInputChange', 'orderModel').subscribe(state => { $('onFieldInputChange', 'orderModel').subscribe(state => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment