Commit 9388ea87 authored by XieZhiXiong's avatar XieZhiXiong
parents 1544d920 bcc267f9
......@@ -49,18 +49,16 @@ const ChannelInfo: React.FC<ShopInfoPropsType> = (props) => {
const PDFList = ['application/pdf']
const isPDF = PDFList.includes(file.type)
if (!isLt50M) {
setFileLoading(true);
message.error('上传文件大小不超过 50M!');
}
if (!isPDF) {
setFileLoading(true);
message.error('请上传pdf格式文件');
}
return isLt50M && isPDF;
}
const handleChange = ({ file }) => {
setFileLoading(true);
if (file.response) {
setFileLoading(true);
if (file.response.code !== 1000) {
setFileLoading(false);
return
......@@ -70,6 +68,8 @@ const ChannelInfo: React.FC<ShopInfoPropsType> = (props) => {
albumName: file.name,
albumUrl: file.response.data,
})
} else {
setFileLoading(false);
}
}
const fileRemove = () => {
......
......@@ -24,6 +24,7 @@ import Submit from '@/components/NiceForm/components/Submit'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch'
import ModalTable from '@/components/ModalTable'
import { clearModalParams } from '@/utils'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
// import styles from './index.less'
const formActions = createFormActions();
......@@ -82,10 +83,11 @@ const Attribute: React.FC<{}> = () => {
const ref = useRef<any>({})
const syncRef = useRef<any>({})
const [syncVisible, setSyncVisible] = useState<boolean>(false)
const [selectRow, setSelectRow] = useState<any[]>([]) // 模态框选择的行数据
const [selectedRowKeys, setSelectedRowKeys] = useState<Array<string>>([])
// const [selectRow, setSelectRow] = useState<any[]>([]) // 模态框选择的行数据
// const [selectedRowKeys, setSelectedRowKeys] = useState<Array<string>>([])
const [syncLoading, setSyncLoading] = useState<boolean>(false)
const [rowSelection, rowSelectionCtl] = useRowSelectionTable({customKey: 'id'})
const fetchData = (params?: any) => {
return new Promise((resolve, reject) => {
......@@ -201,23 +203,23 @@ const Attribute: React.FC<{}> = () => {
setSyncVisible(true)
}
const rowSelection: any = {
type: 'checkbox',
selectedRowKeys: selectedRowKeys,
onChange: (selectedRowKeys: any, selectedRows: any) => {
setSelectRow(selectedRows)
setSelectedRowKeys(selectedRowKeys)
}
};
// const rowSelection: any = {
// type: 'checkbox',
// selectedRowKeys: selectedRowKeys,
// onChange: (selectedRowKeys: any, selectedRows: any) => {
// setSelectRow(selectedRows)
// setSelectedRowKeys(selectedRowKeys)
// }
// };
const handleAsyncOk = () => {
setSyncLoading(true)
if(selectedRowKeys.length) {
if(rowSelectionCtl.selectedRowKeys.length) {
// @ts-ignore
PublicApi.postProductCustomerSyncAttribute({idList: selectedRowKeys}).then(res => {
PublicApi.postProductCustomerSyncAttribute({idList: rowSelectionCtl.selectedRowKeys}).then(res => {
if(res.code === 1000) {
ref.current.reload()
setSelectedRowKeys([])
rowSelectionCtl.setSelectedRowKeys([])
}
setSyncVisible(false)
setSyncLoading(false)
......
......@@ -9,7 +9,7 @@ import {
} from '@ant-design/icons';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { history } from 'umi';
import { MenuTree, StandardTable } from 'god';
import { StandardTable } from 'god';
import { ColumnType } from 'antd/lib/table/interface';
import { PublicApi } from '@/services/api';
import { useTreeTabs } from '@/hooks/useTreeTabs';
......@@ -21,6 +21,7 @@ import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilte
import Submit from '@/components/NiceForm/components/Submit'
import { ISchema } from '@formily/antd';
import { clearModalParams } from '@/utils';
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable';
const treeActions = createTreeActions()
......@@ -91,8 +92,9 @@ const PropertyValue: React.FC<{}> = () => {
const [syncVisible, setSyncVisible] = useState(false)
const [syncLoading, setSyncLoading] = useState<boolean>(false)
const [selectRow, setSelectRow] = useState<any[]>([]) // 模态框选择的行数据
const [selectedRowKeys, setSelectedRowKeys] = useState<Array<string>>([])
// const [selectRow, setSelectRow] = useState<any[]>([]) // 模态框选择的行数据
// const [selectedRowKeys, setSelectedRowKeys] = useState<Array<string>>([])
const [rowSelection, rowSelectionCtl] = useRowSelectionTable({customKey: 'id'})
const {
treeData,
......@@ -282,26 +284,26 @@ const PropertyValue: React.FC<{}> = () => {
setSyncVisible(true)
}
const rowSelection: any = {
type: 'checkbox',
selectedRowKeys: selectedRowKeys,
onChange: (selectedRowKeys: any, selectedRows: any) => {
setSelectRow(selectedRows)
setSelectedRowKeys(selectedRowKeys)
}
};
// const rowSelection: any = {
// type: 'checkbox',
// selectedRowKeys: selectedRowKeys,
// onChange: (selectedRowKeys: any, selectedRows: any) => {
// setSelectRow(selectedRows)
// setSelectedRowKeys(selectedRowKeys)
// }
// };
const handleAsyncOk = () => {
setSyncLoading(true)
if(selectedRowKeys.length) {
if(rowSelectionCtl.selectedRowKeys.length) {
// @ts-ignore
PublicApi.postProductCustomerSyncAttributeValue({idList: selectedRowKeys}).then(res => {
PublicApi.postProductCustomerSyncAttributeValue({idList: rowSelectionCtl.selectedRowKeys}).then(res => {
if(res.code === 1000) {
if(ref?.current?.reload) {
ref.current.reload()
}
resetMenu()
setSelectedRowKeys([])
rowSelectionCtl.setSelectedRowKeys([])
}
setSyncVisible(false)
setSyncLoading(false)
......
......@@ -140,7 +140,7 @@ const FormList = (props: any) => {
associatedGoods: _filter(sourceType, item, ['', 'productAttributeJson', 'commodityAttribute', '']), //关联
associatedMaterielNo: _filter(sourceType, item, ['', 'number', 'commodityCode']), // 关联物料编号
associatedMaterielName: _filter(sourceType, item, ['', 'productName', 'commodityName']), // 关联商品名称
associatedType: _filter(sourceType, item, ['', 'productAttributeJson', 'commodityCategory', '']).split('-')[1], //规格型号
associatedType: sourceType == 1 ? _filter(sourceType, item, ['', 'productAttributeJson', 'commodityCategory', '']).split('-')[1] : _filter(sourceType, item, ['', 'productAttributeJson', 'commodityCategory', '']), //规格型号
associatedCategory: _filter(sourceType, item, ['', 'productAttributeJson', 'commodityCategory', '']), // 关联商品品类
associatedBrand: _filter(sourceType, item, ['', 'productBrand', 'commodityBrand', '']),// 关联品牌
rowId: index,
......@@ -322,7 +322,7 @@ const FormList = (props: any) => {
purchaseCount: item.purchaseCount,
price: Number(item.price),
bidCount: item.bidCount,
bidAmount: item.bidCount && item.price ? Number(item.bidCount) * Number(item.price) : '',
bidAmount: item.bidCount && item.price ? (Number(item.bidCount) * Number(item.price)).toFixed(2) : '',
associatedMaterielName: Object.keys(Row).length === 0 ? '' : item.associatedMaterielName,
associatedGoods: Object.keys(Row).length === 0 ? '' : item.associatedGoods,
associatedDataId: Object.keys(Row).length === 0 ? '' : item.associatedDataId,
......
......@@ -91,7 +91,7 @@ const FormList = (props: any) => {
width: 130,
}}
placeholder=""
value={item.payAmount}
value={Number(item.payAmount).toFixed(2)}
onChange={(e) => onSelectChange(e, 'payAmount', index)}
/>
</div>
......@@ -224,7 +224,7 @@ const FormList = (props: any) => {
PlanList.map(item => {
item.payNum = Number(item.payNum)
item.payRatio = Number(item.payRatio)
item.payAmount = Number(item.payAmount)
item.payAmount = Number(item.payAmount).toFixed(2)
item.payWay = Number(item.payWay)
item.payParam = Number(item.payParam)
// 付款方式: 1 - 账期,2 - 月结,3 - 现结
......
......@@ -104,7 +104,7 @@ const Information = (props: any) => {
basicsVO.partyBName = Row.partyBName ? Row.partyBName : '';
basicsVO.sourceNo = Row.sourceNo ? Row.sourceNo : '';
basicsVO.sourceId = Row.sourceId ? Row.sourceId : '';
basicsVO.totalAmount = Row.totalAmount ? Row.totalAmount : '';
basicsVO.totalAmount = Row.totalAmount ? Number(Row.totalAmount).toFixed(2) : '';
basicsVO.partyBMemberId = sourceType === '1' ? Row.awardRoleId ? Row.awardMemberId : '' : Row.partyBMemberId;
basicsVO.partyBRoleId = sourceType === '1' ? Row.awardRoleId ? Row.awardRoleId : '' : Row.partyBRoleId;
console.log(Row, basicsVO)
......@@ -183,7 +183,7 @@ const Information = (props: any) => {
default:
break;
}
basicsVO.totalAmount = totalAmount;
basicsVO.totalAmount = Number(totalAmount).toFixed(2);
basicsVO.sourceId = sourceId;
basicsVO.partyBName = partyBName;
basicsVO.partyBMemberId = partyBMemberId;
......
......@@ -192,6 +192,7 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
const handleConfirmSave = useCallback((e: any) => {
e.preventDefault();
if (JSON.stringify(props) === JSON.stringify(newProps)) {
clearSelectedStatus()
return
}
setConfirmLoading(true)
......
......@@ -105,6 +105,7 @@ const BrandSetting: React.FC<ShopSettingPropsType> = (props) => {
const handleConfirmSave = () => {
if (JSON.stringify(brandList) === JSON.stringify(selectBrandList)) {
clearSelectedStatus()
return
}
// if (selectBrandList.length <= 0) {
......
......@@ -79,6 +79,7 @@ const CategoryRecommendSetting: React.FC<CategoryRecommendSettingPropsType> = (p
const handleConfirmSave = useCallback((e: any) => {
e.preventDefault();
if (JSON.stringify(props) === JSON.stringify(newProps)) {
clearSelectedStatus()
return
}
......
......@@ -190,8 +190,8 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => {
}
const handleConfirmSave = () => {
console.log('handleConfirmSave1')
if (JSON.stringify(goodsList) === JSON.stringify(selectGoodsList)) {
clearSelectedStatus()
return
}
// console.log('handleConfirmSave2')
......@@ -200,7 +200,7 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => {
// return
// } else
if (selectGoodsList.length > 9) {
message.error("最多只能推荐10件商品")
message.error("最多只能推荐9件商品")
return
}
setConfirmLoading(true)
......
......@@ -106,6 +106,7 @@ const ShopSetting: React.FC<ShopSettingPropsType> = (props) => {
const handleConfirmSave = () => {
if (JSON.stringify(shopsList) === JSON.stringify(selectShopsList)) {
clearSelectedStatus()
return
}
......
......@@ -49,18 +49,16 @@ const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
const PDFList = ['application/pdf']
const isPDF = PDFList.includes(file.type)
if (!isLt50M) {
setFileLoading(true);
message.error('上传文件大小不超过 50M!');
}
if (!isPDF) {
setFileLoading(true);
message.error('请上传pdf格式文件');
}
return isLt50M && isPDF;
}
const handleChange = ({ file }) => {
setFileLoading(true);
if (file.response) {
setFileLoading(true);
if (file.response.code !== 1000) {
setFileLoading(false);
return
......@@ -70,6 +68,8 @@ const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
albumName: file.name,
albumUrl: file.response.data,
})
} else {
setFileLoading(false);
}
}
const fileRemove = () => {
......
......@@ -3,7 +3,7 @@ import { Row, Col, Tag, Modal } from 'antd'
import MellowCard from '@/components/MellowCard'
import { OrderDetailContext } from '../../_public/order/context'
import { formatTimeString } from '@/utils'
import { DELIVERY_TYPE } from '@/constants/order'
import { DELIVERY_TYPE, OrderKindType } from '@/constants/order'
import style from './index.less'
import ContractList from '../ContractList'
import cx from 'classnames'
......@@ -56,29 +56,25 @@ const OrderMergeInfo: React.FC<OrderMergeInfoProps> = (props) => {
</div>
}
</div>, resetCol: {flex: '1 1 100%'} },
{ title: '包装要求:', name: 'pageRequire' },
{ title: '其他要求:', name: 'restsRequire' },
{ title: '包装要求', name: 'requirement', render: (t, d) => d.requirement.detail?.pageRequire || '' },
{ title: '其他要求', name: 'requirement', render: (t, d) => d.requirement.detail?.restsRequire || '' },
]
if(data.orderModel > 30) {
otherInfo.shift()
}
return (
<>
<Row style={{ marginTop: 24 }} gutter={24}>
<Col span={(data.externalStateName !== '不接受订单') || (data.orderModel > 30) ? 15 : 12}>
<Col span={(data.externalStateName !== '不接受订单') || (data.orderKind === OrderKindType.SRM_ORDER) ? 15 : 12}>
<MellowCard title='交易信息' fullHeight>
<RenderCard infoList={payInfo} dataSource={consignee} />
</MellowCard>
</Col>
<Col span={(data.externalStateName !== '不接受订单') || (data.orderModel > 30) ? 9: 6}>
<Col span={(data.externalStateName !== '不接受订单') || (data.orderKind === OrderKindType.SRM_ORDER) ? 9: 6}>
<MellowCard title='其他信息' fullHeight>
<RenderCard infoList={otherInfo} dataSource={data} />
</MellowCard>
</Col>
{
(data.externalStateName !== '不接受订单') || (data.orderModel > 30) ?
(data.orderKind === OrderKindType.SRM_ORDER) || !data.hasContract ?
null
:
<Col span={6}>
......
......@@ -117,7 +117,7 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
const handleCancel = async (id) => {
destoryRef.current.setVisible(true)
destroyActions.setFieldValue('id', id)
destroyActions.setFieldValue('orderId', id)
}
/** 参照后台数据生成 */
......@@ -250,12 +250,12 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
labelAlign: 'top',
},
properties: {
id: {
orderId: {
type: 'number',
title: '当前id',
visible: false,
},
cancelReason: {
reason: {
type: 'textarea',
"x-component-props": {
rows: 4,
......
......@@ -379,7 +379,6 @@ export const materialInfoColumns: any[] = [
dataIndex: 'amount',
align: 'center',
key: 'amount',
render: (t) => `¥${t}`
},
// 接口调用
{
......
......@@ -155,6 +155,8 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
const address = deliveryAddress[0]
return {
...item,
spec: item.type,
quotedSpec: item.relevanceProductType,
deliveryType: item.logistics,
addressId: address.id,
address: address.fullAddress,
......
......@@ -37,24 +37,23 @@ const fetchOrderMode = async () => {
}
const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => {
const { run: deleteRun } = useHttpRequest(PublicApi.postOrderProcurementOrderDeleteAll)
const { loading: submitLoading, run: submitRun } = useHttpRequest(PublicApi.postOrderProcurementOrderSubmitExamineAll)
const { run: deleteRun } = useHttpRequest(PublicApi.postOrderBuyerCreateDeleteBatch)
const { loading: submitLoading, run: submitRun } = useHttpRequest(PublicApi.postOrderBuyerCreateSubmitBatch)
const currentRef = useRef<any>({})
const { columns, ref, rowSelection, rowSelectionCtl } = useSelfTable()
const handleMenuClick = async (e) => {
switch(e.key) {
case '1': {
// 批量删除
const canDelete = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ADD_PURCHASE_ORDER)
if (canDelete) {
const { code } = await deleteRun({ids: rowSelectionCtl.selectedRowKeys})
if (rowSelectionCtl.selectRow.length) {
const { code } = await deleteRun(rowSelectionCtl.selectedRowKeys.map(item => ({ orderId: item })))
if (code === 1000) {
ref.current.reload()
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
}
} else {
message.error('只能删除内部状态为未审核过的订单')
message.error('请先选择待新增的订单')
}
break;
}
......@@ -63,7 +62,7 @@ const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => {
const handleBitchPush = async () => {
if (rowSelectionCtl.selectRow.length) {
const { code } = await submitRun({ids: rowSelectionCtl.selectedRowKeys})
const { code } = await submitRun(rowSelectionCtl.selectedRowKeys.map(item => ({ orderId: item })))
if (code === 1000) {
ref.current.reload()
rowSelectionCtl.setSelectRow([])
......
......@@ -44,6 +44,8 @@ const AddRule:React.FC<{}> = (props) => {
params.contract = {
contractId: params.contractId,
}
} else {
params.hasContract = false
}
if(params?.expireHours) {
......
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