Commit 98166728 authored by XieZhiXiong's avatar XieZhiXiong
parents 33be0639 bb95613b
import React, { useState, useEffect } from 'react';
import { Input, Space, Select, Button, Cascader } from 'antd';
import { useFieldState, FormPath, FormEffectHooks, useFormEffects } from '@formily/antd';
import { Space, Cascader } from 'antd';
import { FormEffectHooks, useFormEffects } from '@formily/antd';
/**
* 筛选项 搜索和远程数据结合的 Cascader
......
import React, { useState, useEffect } from 'react';
import { Input, Space, Select, Button } from 'antd';
import { CaretUpOutlined, CaretDownOutlined } from '@ant-design/icons';
import { useFieldState, FormPath, FormEffectHooks, useFormEffects } from '@formily/antd';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { PublicApi } from '@/services/api';
import { Space, Select } from 'antd';
/**
* 筛选项 搜索和远程数据结合的select
......
......@@ -87,6 +87,9 @@ const AddProducts: React.FC<{}> = (props) => {
afterService: data.afterService,
isTax: true,
taxRate: data.taxRate,
title: data.title,
keywords: data.keywords,
description: data.description,
})
setProductName(data?.name)
setProductPriceType(data?.priceType)
......
......@@ -36,6 +36,7 @@ const OtherForm: React.FC<Iprops> = (props) => {
onRef(otherFormRef)
if(id){
console.log(getOtherFormParamsByEdit, 'getOtherFormParamsByEdit')
otherForm.setFieldsValue(getOtherFormParamsByEdit)
}
}, [])
......@@ -77,6 +78,7 @@ const OtherForm: React.FC<Iprops> = (props) => {
message: "请选择是否提供发票"
}]}
style={{ display: "none" }}
initialValue={true}
>
<Radio.Group size="small" disabled={disabledInvoice}>
<Radio.Button value={true} style={{ width: 100, textAlign: 'center' }}></Radio.Button>
......
......@@ -329,7 +329,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
}) : _tempObj[_attributeNameArr[i]||_attributeNameArr[0]] = _rowArr // 当一项变动的时候 找_attributeNameArr可能会找不到 找不到的情况下置为索引0的那项
if(history.location.query?.id){
// 编辑的时候,先指定数据中的货品id,如果是重新组合的不存在id就使用选择的货品中的第一个,如果没有置为0;同理,不存在单价就置为{}
_tempObj['对应货品'] = selectedGoods.length > 0 ? selectedGoods[0].id : 0
_tempObj['对应货品'] = selectedGoods.length > 0 ? selectedGoods[i].id : 0
// 通过 isUpdateAttribute 判断是否需要携带unitPriceAndPicList的id字段
if(!productInfoByEdit.isUpdateAttribute){
_tempObj['规格ID'] = productInfoByEdit.unitPriceAndPicList[i]?.id
......
import React, { useEffect, useRef, useState } from 'react'
import ModalTable, { ModalTableProps } from '@/components/ModalTable'
import { PublicApi } from '@/services/api'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { upperCommodityColumns, upperCommoditySchema } from '../../constant'
import { FORM_FILTER_PATH } from '@/formSchema/const'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch'
import Search from '@/components/NiceForm/components/Search'
import Submit from '@/components/NiceForm/components/Submit'
import SearchSelect from '@/components/NiceForm/components/SearchSelect';
import CustomCategorySearch from '@/components/NiceForm/components/CustomCategorySearch'
import CustomInputSearch from '@/components/NiceForm/components/CustomInputSearch'
export interface UpperProductModalTableProps extends ModalTableProps {
type?: 'radio' | 'checkbox',
currentRef?: any,
tableRef?: any,
}
// 选择采购合同弹窗
const UpperProductModalTable: React.FC<UpperProductModalTableProps> = (props) => {
const { type = 'radio', currentRef, tableRef, ...restProps } = props
const [visible, setVisible] = useState(false)
const [confirmLoading, setConfirmLoading] = useState<boolean>(false)
const [rowSelection, rowSelectionCtl] = useRowSelectionTable({type})
useEffect(() => {
if (currentRef) {
currentRef.current = {
setVisible,
visible,
rowSelectionCtl
}
}
}, [])
const handleConfirm = async () => {
const items = rowSelectionCtl.selectRow
if (items.length) {
setConfirmLoading(true)
PublicApi.postProductCommoditySaveUpperCommodity({ idList: items.map(item => item.id) }).then(res => {
const { data, code } = res
if(code === 1000) {
rowSelectionCtl.setSelectedRowKeys([])
setVisible(false)
setTimeout(() => {
tableRef && tableRef.current && tableRef.current.reload()
}, 800)
}
}).finally(() => setConfirmLoading(false))
}
}
return (
<ModalTable
modalTitle='选择上游商品'
width={900}
columns={upperCommodityColumns}
visible={visible}
confirm={handleConfirm}
loading={confirmLoading}
cancel={() => setVisible(false)}
fetchTableData={async (params) => (await PublicApi.getProductCommodityGetUpperCommodityList({...params})).data}
rowSelection={rowSelection}
resetModal={{destroyOnClose: true, forceRender: true}}
modalType='none'
tableProps={{
rowKey: 'id',
}}
formilyProps={{
ctx: {
schema: upperCommoditySchema,
components: { ModalSearch: Search, SearchSelect, Submit, CustomCategorySearch, CustomInputSearch },
effects: ($, actions) => {
useStateFilterSearchLinkageEffect(
$,
actions,
'name',
FORM_FILTER_PATH,
);
}
}
}}
{...restProps}
/>
)
}
UpperProductModalTable.defaultProps = {}
export default UpperProductModalTable
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { PublicApi } from '@/services/api';
import { ISchema } from '@formily/antd';
import { ColumnType } from 'antd/lib/table';
import moment from 'moment';
import React, { ReactNode } from 'react'
......@@ -128,3 +131,149 @@ export const validatorNumberRange = (rule: any, value: any, callback: any, min?:
callback(err)
}
}
// 上游商品 弹框列
export const upperCommodityColumns: ColumnType<any>[] = [
{
title: 'ID',
dataIndex: 'id',
key: 'id',
},
{
title: '商品名称',
dataIndex: 'name',
key: 'name',
// width: 240,
// ellipsis: true,
},
{
title: '商品品类',
dataIndex: ['customerCategory', 'name'],
key: 'customerCategory.name',
},
{
title: '商品品牌',
dataIndex: ['brand', 'name'],
key: 'brand.name',
},
{
title: '单位',
dataIndex: 'unitName',
key: 'unitName',
},
{
title: '产品定价',
dataIndex: 'priceType',
key: 'priceType',
render: (text:any, reocrd:any) => priceTypeLabel[text]
},
{
title: '价格',
dataIndex: 'min',
key: 'min',
render: (text:any, reocrd:any) => {
if(reocrd.priceType === 1){
if(reocrd.max === reocrd.min)
return <>{reocrd.min}</>
else
return <>{reocrd.min} ~ ¥{reocrd.max}</>
}
if(reocrd.priceType === 3){
if(reocrd.max === reocrd.min)
return <>{reocrd.min}</>
else
return <>{reocrd.min} ~ {reocrd.max}</>
}
if(reocrd.priceType === 2)
return null
}
},
{
title: '供应会员',
dataIndex: 'memberName',
key: 'memberName',
},
{
title: '商品状态',
dataIndex: 'status',
key: 'status',
render: (text: any, record: any) => productStatusLabel[text]
},
]
export const upperCommoditySchema: ISchema = {
type: 'object',
properties: {
name: {
type: 'string',
'x-component': 'ModalSearch',
'x-component-props': {
placeholder: '商品名称',
align: 'flex-left',
},
},
[FORM_FILTER_PATH]: {
type: 'object',
'x-component': 'flex-layout',
'x-component-props': {
rowStyle: {
flexWrap: 'nowrap',
style: {
marginRight: 0
}
},
colStyle: {
marginTop: 20,
},
},
properties: {
brandName: {
type: 'string',
'x-component-props': {
placeholder: '请输入商品品牌',
},
},
customerCategoryName: {
type: 'string',
'x-component-props': {
placeholder: '请输入商品品类',
},
},
priceType: {
type: 'number',
enum: [
{
label: '现货价格',
value: 1
},
{
label: '价格需要询问',
value: 2
},
],
"x-component-props": {
placeholder: '请选择商品定价',
style: { width: '160px' },
}
},
memberName: {
type: 'string',
"x-component-props": {
placeholder: '请输入供应会员',
style: { width: '160px' },
}
},
submit: {
"x-component": 'Submit',
"x-mega-props": {
span: 1
},
"x-component-props": {
children: '查询'
}
}
}
}
}
}
import React, { useEffect } from 'react'
import { ISchemaFormActions, FormEffectHooks, IFormActions } from '@formily/antd';
import { PublicApi } from '@/services/api';
import { useAsyncSelect } from '@/formSchema/effects/useAsyncSelect';
const { onFieldValueChange$ } = FormEffectHooks
// 高级筛选schema中用于输入搜索品牌的Effect
export const searchBrandOptionEffect = (context: any, fieldName: string) => {
context.getFieldState(fieldName, state => {
// console.log(state.props['x-component-props'].searchValue, 'pagesearchvalue') // 此处可以实时获取到输入并暂存在schema props的值
PublicApi.getProductSelectGetSelectBrand({ name: state.props['x-component-props'].searchValue }).then(res => {
context.setFieldState(fieldName, state => {
state.props['x-component-props'].dataoption = res.data
......@@ -21,11 +16,6 @@ export const searchBrandOptionEffect = (context: any, fieldName: string) => {
export const searchCustomerCategoryOptionEffect = (context: any, fieldName: string) => {
context.getFieldState(fieldName, state => {
// PublicApi.getProductSelectGetSelectCustomerCategory({ name: state.props['x-component-props'].searchValue }).then(res => {
// context.setFieldState(fieldName, state => {
// state.props['x-component-props'].dataoption = res.data
// })
// })
PublicApi.getProductCustomerGetCustomerCategoryTree().then(res => {
context.setFieldState(fieldName, state => {
state.props['x-component-props'].dataoption = res.data
......
import React, { useState, useEffect, useRef, ReactNode, useMemo } from 'react'
import React, { useState, useEffect, useRef, useMemo } from 'react'
import { history } from 'umi'
import { Button, Form, Card, Modal, Result, Progress, Select, Tooltip, Checkbox, Row, Col, Dropdown, Input, Menu, Space, message, InputNumber } from 'antd'
import { Button, Form, Card, Modal, Result, Progress, Select, Tooltip, Checkbox, Row, Col, Dropdown, Menu, Space, message } from 'antd'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import {
PlusOutlined,
......@@ -28,6 +28,7 @@ import { getAuth } from '@/utils/auth'
import useSetSearchValueInTable from '@/hooks/useSetSearchValueInTable'
import { priceTypeLabel, productStatusLabel } from './constant'
import EyePreview from '@/components/EyePreview'
import UpperProductModalTable from './components/upperProductModalTable'
const { Option } = Select;
const { confirm } = Modal;
......@@ -65,6 +66,7 @@ const Products: React.FC<{}> = () => {
const [currentOptionId, setCurrentOptionId] = useState()
const [isDisabledOKbtn, setIsDisabledOKbtn] = useState<boolean>(false)
const currentRef = useRef<any>()
const upperRef = useRef<any>({})
const [shopId, setShopId] = useState<any>()
/** 带参数查询,给表单带默认值 */
......@@ -501,6 +503,10 @@ const Products: React.FC<{}> = () => {
});
}
const handleUpperCommodity = () => {
upperRef.current.setVisible(true)
}
const menuMore = (
<Menu onClick={(e) => handleMenuClick(e)}>
<Menu.Item key="1" icon={<DeleteOutlined />}>
......@@ -521,6 +527,7 @@ const Products: React.FC<{}> = () => {
<PlusOutlined />新建
</Button>
{/* <Button style={{margin:'0 16px'}} onClick={()=>setImportModal(true)}>导入数据</Button> */}
<Button style={{margin:'0 16px'}} onClick={handleUpperCommodity}>导入上游供应商品</Button>
<Dropdown overlay={menuMore} trigger={['click']}>
<Button>
更多 <DownOutlined />
......@@ -671,6 +678,8 @@ const Products: React.FC<{}> = () => {
</Form.Item>
</Form>
</Modal>
{/* 选择上游商品 */}
<UpperProductModalTable currentRef={upperRef} type="checkbox" tableRef={ref} />
</PageHeaderWrapper>
)
}
......
......@@ -10,7 +10,7 @@ import { history } from 'umi'
interface OrderDetailHookProps {
// 采购、销售、待收货、待确认发货
type: 'purchaseOrder' | 'saleOrder' | 'readyReceiveOrder' | 'readyConfirmDelevedOrder'
type: 'purchaseOrder' | 'saleOrder' | 'p_readyReceiveOrder' | 's_readyConfirmDelevedOrder'
}
// 订单详情, 支持两种订单模式
......@@ -28,7 +28,7 @@ export const useOrderDetail = (options: OrderDetailHookProps) => {
const dataRef = useRef<any>([
{ label: '对应报价单号', name: 'quoteNo', span: 8, render: text => <Link to={'/'}>{text}</Link> },
{ label: '订单摘要', name: 'digest', span: 8 },
{ label: type === 'saleOrder' ? '采购会员' : '供应会员', name: type === 'saleOrder' ? 'buyerMemberName' : 'vendorMemberName', span: 8 },
{ label: type[0] === 's' ? '采购会员' : '供应会员', name: type[0] === 's' ? 'buyerMemberName' : 'vendorMemberName', span: 8 },
{ label: '下单模式', name: 'orderModeName', span: 8 },
{ label: '订单类型', name: 'orderTypeName', span: 8 },
{ label: '下单时间', name: 'createTime', span: 8, render: text => formatTimeString(text) },
......@@ -59,9 +59,9 @@ export const useOrderDetail = (options: OrderDetailHookProps) => {
break;
case 'saleOrder': api = PublicApi.getOrderVendorDetail;
break;
case 'readyReceiveOrder': api = PublicApi.getOrderBuyerValidateReceiveDetail;
case 'p_readyReceiveOrder': api = PublicApi.getOrderBuyerValidateReceiveDetail;
break;
case 'readyConfirmDelevedOrder': api = PublicApi.getOrderVendorValidateDeliveryDetail;
case 's_readyConfirmDelevedOrder': api = PublicApi.getOrderVendorValidateDeliveryDetail;
break;
default:
api = PublicApi.getOrderBuyerDetail;
......
......@@ -2,7 +2,7 @@ import React from 'react'
import { Tooltip } from 'antd';
import { QuestionCircleOutlined } from '@ant-design/icons'
/** NiceForm lable帮助信息 */
/** NiceForm lable帮助信息 */
export const help = (title: string, desc: string) => {
return (
<div>
......
......@@ -124,37 +124,6 @@ export const orderCombination = {
]
}
export const orderTypeLabel = ['',
'现货采购',
'现货采购',
'询价采购',
'需求采购',
'集采',
'渠道直采',
'渠道直采',
'渠道现货',
'渠道现货',
// '采购询价合同',
// '采购竞价合同',
// '采购招标合同',
]
// export const orderTypeLabelMap = {
// "5": "现货采购",
// "6": "现货采购",
// "7": "询价采购",
// "8": "需求采购",
// "9": "集采",
// "10": "渠道直采",
// "11": "渠道直采",
// "12": "渠道现货",
// "13": "渠道现货",
// // "24": "积分兑换",
// // "25": "渠道积分兑换",
// "32": "采购询价合同",
// "33": "采购招标合同",
// "34": "采购竞价合同",
// }
export const orderTypeLabelMap = () => {
let tempObject: { [key: number]: string } = {}
......
......@@ -2,8 +2,6 @@ import React from 'react'
import { formatTimeString } from '@/utils'
import { Row } from 'antd'
import { DELIVERY_TYPE, OrderModalType, PurchaseOrderOutWorkStateTexts } from '@/constants/order'
import moment from 'moment'
import { GlobalConfig } from '@/global/config';
import { AddressPop } from '@/pages/transaction/components/addressPop'
// 简单控制价格区间的组件
......@@ -50,21 +48,6 @@ export const orderCombination = {
],
}
export const orderTypeLabel = ['',
'现货采购',
'现货采购',
'询价采购',
'需求采购',
'集采',
'渠道直采',
'渠道直采',
'渠道现货',
'渠道现货',
// '采购询价合同',
// '采购竞价合同',
// '采购招标合同',
]
export const orderTypeLabelMap = {
'3': '询价采购',
'12': '采购询价合同',
......@@ -175,19 +158,16 @@ export const paymentInformationColumns: any[] = [
{
title: '支付次数',
dataIndex: 'payCount',
// align: 'center',
key: 'payCount'
},
{
title: '支付环节',
dataIndex: 'payNode',
// align: 'center',
key: 'payNode'
},
{
title: '外部状态',
dataIndex: 'externalState',
// align: 'center',
key: 'externalState',
render: text => PurchaseOrderOutWorkStateTexts[text]
},
......@@ -207,7 +187,6 @@ export const paymentInformationColumns: any[] = [
{
title: '支付金额',
dataIndex: 'payPrice',
// align: 'center',
key: 'payPrice'
},
{
......
......@@ -24,10 +24,9 @@ import { useProductTable } from './model/useProductTable'
import styled from 'styled-components'
import { useUpdate } from '@umijs/hooks'
import { PublicApi } from '@/services/api'
import { formatTimeString, omit, findLastIndexFlowState } from '@/utils'
import { formatTimeString, omit } from '@/utils'
import { changeRouterTitleByStatus } from '../../_public/order/utils'
import { ReadyAddOrderDetailContext } from '../context'
import AuditProcess from '@/components/AuditProcess'
import { help } from '../../common'
import styles from './index.less'
import { useAsyncSelect } from '@/formSchema/effects/useAsyncSelect'
......
......@@ -14,70 +14,6 @@ export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions
cell: PayInfoCell
},
}
const initPayWayList = (data) => {
if (!data) {
return []
}
let result = []
for (let item of data) {
if (result.some(tempItem => tempItem.payType === item.payType)) {
result = result.map(resItem => {
if (resItem.payType === item.payType) {
resItem.payList = [...resItem.payList, item]
}
return resItem
})
} else {
let payVal = ""
switch (item.payType) {
case 1:
payVal = "线上支付"
break
case 2:
payVal = "线下支付"
break
case 3:
payVal = "授信支付"
break
case 4:
payVal = "货到付款"
break
default:
// 不在上述范围之内 为100账结 101月结
if(item.settlementWay === 100) payVal = '账期'
if(item.settlementWay === 101) payVal = '月结'
break
}
result.push({
payVal,
payType: item.id === -1 ? item.id : item.payType,
payList: item.id === -1 ? [{
...item,
way: item.settlementWay === 100 ? `账期${item.settlementDays}天` : `月结${item.settlementDate}号`,
payType: item.id,
// 具体结算方式
wayId: item.settlementWay,
id: item.settlementWay,
}] : [item]
})
}
}
console.log(result, 'result')
return result
}
// useEffect(() => {
// PublicApi.getPayPayWayList().then(res => {
// const { code, data } = res
// if (code === 1000) {
// const newColumns = [...columns]
// newColumns[5].formItemProps.options = initPayWayList(data)
// paywayData.current = data
// setColumns(newColumns)
// }
// })
// }, [])
useEffect(() => {
// 当选择报价单/会员/商品时有memberId传入时 调用支付方式api
......@@ -99,7 +35,7 @@ export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions
roleId: memberRoleId,
shopId: ctx.getFieldValue('shopId'),
orderMode: ctx.getFieldValue('orderMode'),
productIds: ctx.getFieldValue('products').map(item => item.id)
productIds: ctx.getFieldValue('products').map(item => item.productId)
}).then(res => {
const { code, data } = res
if (code === 1000) {
......
......@@ -75,7 +75,7 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
orderMode = ctx.getFieldValue('orderMode')
const handleDelete = (record) => {
const newData = [...ctx.getFieldValue('orderProductRequests')]
const newData = [...ctx.getFieldValue('products')]
// 删除formvalue
const colIndex = newData.findIndex(v => v.id === record.id)
newData.splice(colIndex, 1)
......@@ -83,7 +83,7 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
// 删除选中的项
rowSelectionCtl.setSelectRow(newData)
rowSelectionCtl.setSelectedRowKeys(newData.map(v => v.id))
ctx.setFieldValue('orderProductRequests', newData)
ctx.setFieldValue('products', newData)
// 商品行数变动 清空之前的支付信息
if (pageStatus === PageStatus.ADD) {
......@@ -149,7 +149,7 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
ctx.setFieldValue('paymentInformationResponses', [])
}
return new Promise((resolve, reject) => {
const newData = [...ctx.getFieldValue('orderProductRequests')];
const newData = [...ctx.getFieldValue('products')];
const index = newData.findIndex(item => row.id === item.id);
const item = newData[index];
row['money'] = getUnitPriceTotal(row)
......@@ -160,7 +160,7 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
...item,
...row,
});
ctx.setFieldValue('orderProductRequests', newData)
ctx.setFieldValue('products', newData)
resolve({item, newData})
})
};
......
......@@ -35,6 +35,7 @@ const ContractModalTable:React.FC<ContractModalTableProps> = (props) => {
if(visible) {
/** 这里分 询价 竞价 招标 三种采购合同类型 */
let sourceType = null;
const contract = schemaAction.getFieldValue('contract')
switch (schemaAction.getFieldValue('orderMode')) {
case OrderModalType.PURCHASE_BIDDING_CONTRACT_ORDER:
sourceType = 3;
......@@ -46,6 +47,7 @@ const ContractModalTable:React.FC<ContractModalTableProps> = (props) => {
sourceType = 2;
break;
}
rowSelectionCtl.setSelectedRowKeys([contract['contractId']])
setOriginType(sourceType)
}
}, [visible])
......@@ -53,6 +55,7 @@ const ContractModalTable:React.FC<ContractModalTableProps> = (props) => {
const handleConfirm = async () => {
const item = rowSelectionCtl.selectRow[0]
if (item) {
schemaAction.setFieldValue('products', [])
schemaAction.setFieldValue('contractNo', item.contractNo)
schemaAction.setFieldValue('contract', item)
const { data } = await fetchOrderApi.getContractPurchaseMaterielList({
......
......@@ -114,17 +114,6 @@ export const orderCombination = {
],
}
export const orderTypeLabel = ['',
'现货采购',
'现货采购',
'询价采购',
'需求采购',
'集采',
'渠道直采',
'渠道直采',
'渠道现货',
'渠道现货',
]
export const orderTypeLabelMap = {
'3': '询价采购',
......@@ -265,7 +254,7 @@ export const contractColumns: any[] = [
title: '合同剩余金额',
dataIndex: 'freeAmount',
key: 'freeAmount',
render: (t) => `¥${t}`
render: (t) => `¥${t.toFixed(2)}`
},
{
title: '寻源类型',
......@@ -343,7 +332,7 @@ export const materialInfoColumns: any[] = [
dataIndex: 'price',
align: 'left',
key: 'price',
render: (t) => `¥${t}`
render: (t) => `¥${t.toFixed(2)}`
},
// {
// title: '供方库存',
......@@ -379,6 +368,7 @@ export const materialInfoColumns: any[] = [
dataIndex: 'amount',
align: 'center',
key: 'amount',
render: (t, r) => t ? `${Number(t).toFixed(2)}` : null
},
// 接口调用
{
......
......@@ -182,7 +182,7 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
}
// 合同数据字段转换
if(pageStatus === PageStatus.ADD) {
if(pageStatus === PageStatus.ADD || params?.contract?.id) {
params.contract = {
contractId: params.contract.id,
contractNo: params.contract.contractNo,
......
......@@ -52,10 +52,10 @@ export const useMaterialTable = (ctx: ISchemaFormActions | ISchemaFormAsyncActio
// 渲染操作
materialInfoColumns[materialInfoColumns.length - 1].render = (text, record) => <Button type='link' onClick={() => handleDelete(record)}>删除</Button>
// 渲染单价
materialInfoColumns[7].render = (t, r) => <span style={{color: 'red'}}>{r.price}</span>
materialInfoColumns[7].render = (t, r) => <span style={{color: 'red'}}>{Number(r.price).toFixed(2)}</span>
} else {
// 渲染单价
materialInfoColumns[7].render = (t, r) => <span style={{color: 'red'}}>{r.price}</span>
materialInfoColumns[7].render = (t, r) => <span style={{color: 'red'}}>{Number(r.price).toFixed(2)}</span>
materialInfoColumns[materialInfoColumns.length - 1].render = (t, r) => null
......
......@@ -96,17 +96,6 @@ export const orderCombination = {
]
}
export const orderTypeLabel = ['',
'询价采购',
'需求采购',
'现货采购',
'集采',
'积分兑换',
'渠道直采',
'渠道现货',
'渠道积分兑换'
]
// 支付方式
export const payTypeLabel = [
{
......
......@@ -11,7 +11,7 @@ import OrderHandReceivedModal from '@/pages/transaction/components/orderHandRece
import { usePageStatus } from '@/hooks/usePageStatus';
const ReadyReceiveOrderDetail: React.FC = () => {
const { formContext, id, detailList } = useOrderDetail({type: 'readyReceiveOrder'})
const { formContext, id, detailList } = useOrderDetail({type: 'p_readyReceiveOrder'})
const approvedRef = useRef<any>({})
const { batchNo } = usePageStatus()
......
......@@ -96,17 +96,6 @@ export const orderCombination = {
]
}
export const orderTypeLabel = ['',
'询价采购',
'需求采购',
'现货采购',
'集采',
'积分兑换',
'渠道直采',
'渠道现货',
'渠道积分兑换'
]
// 支付方式
export const payTypeLabel = [
{
......
......@@ -10,7 +10,7 @@ import OrderDetailSection from '../../../components/orderDetailSection';
import { usePageStatus } from '@/hooks/usePageStatus';
const ReadyConfirmDelevedOrderDetail: React.FC = () => {
const { formContext, id, detailList } = useOrderDetail({type: 'readyConfirmDelevedOrder'})
const { formContext, id, detailList } = useOrderDetail({type: 's_readyConfirmDelevedOrder'})
const { batchNo } = usePageStatus()
// // 是否是手工发货
// const isHandDeleved = formContext.data && formContext.data.purchaseOrderInteriorState === SaleOrderInsideWorkState.HAND_DELEVED_ORDER
......
......@@ -52,7 +52,7 @@ const AddRule:React.FC<{}> = (props) => {
params.expireHours = Number(params.expireHours)
}
if(params?.payments) {
if(params?.payments && params.payments.length > 0) {
params.payments = params.payments.map(item => ({
...item,
payRate: Number(item['payRate'])
......
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