Commit 1600b538 authored by GuanHua's avatar GuanHua
parents babfb93a d877e1d5
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-08-20 16:15:59
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-08-21 17:07:35
* @LastEditTime: 2020-12-21 13:57:12
* @Description: 简单封装了分页事件的 Table
*/
import React from 'react';
......@@ -54,7 +54,6 @@ export default class NormalTable extends React.PureComponent<StandardTableProps>
showSizeChanger: true,
showQuickJumper: true,
onChange: this.handlePaginationChange,
onShowSizeChange: this.handlePaginationChange,
size: 'small',
showTotal: () => `共 ${pagination.total || 0} 条`,
...pagination,
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-04 15:09:09
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-12-17 15:25:03
* @LastEditTime: 2020-12-21 11:44:17
* @Description: 维修商品抽屉组件
*/
import React, { useState, useEffect } from 'react';
......@@ -22,7 +22,7 @@ import { PublicApi } from '@/services/api';
const formActions = createFormActions();
const PAGE_SIZE = 5;
const PAGE_SIZE = 10;
interface GoodsDrawerProps {
// 选中值(子表格的值)
......@@ -525,7 +525,7 @@ class GoodsDrawer extends React.Component<GoodsDrawerProps, GoodsDrawerState> {
const first = data.length ? data[0] : null;
if (!first) {
return;
return [];
}
const filtered = data.filter(item => item.processEnum === first.processEnum);
if (filtered.length !== data.length) {
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-05 17:36:45
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-12-09 16:38:48
* @LastEditTime: 2020-12-21 11:13:21
* @Description: 查看退货数量与退款金额 抽屉
*/
import React from 'react';
......@@ -164,6 +164,7 @@ const ReturnInfoDrawer: React.FC<ReturnInfoDrawerProps> = ({
</Button>
</div>
}
destroyOnClose
>
<NiceForm
initialValues={orderInfo}
......
......@@ -226,7 +226,7 @@ export const addBillSchema: ISchema = {
'x-rules': [
{
required: true,
message: '请选择维修商品',
message: '请选择退货商品',
},
],
items: {
......@@ -286,11 +286,23 @@ export const addBillSchema: ISchema = {
type: 'string',
title: '退货数量',
'x-component': 'Text',
'x-rules': [
{
required: true,
message: '请输入退货数量',
},
],
},
refundAmount: {
type: 'string',
title: '退款金额',
'x-component': 'Text',
'x-rules': [
{
required: true,
message: '请输入退款金额',
},
],
},
// 其他数据,不用于展示,只用于收集值
extraData: {
......
......@@ -329,9 +329,29 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
_tempObj['规格ID'] = productInfoByEdit.unitPriceAndPicList[i]?.id
}
if(updateFlag.current){ // 初次渲染tab 再次进入tab采用缓存数据
_tempObj['单价'] = productInfoByEdit.unitPriceAndPicList[i]?.unitPrice || {}
// _tempObj['单价'] = productInfoByEdit.unitPriceAndPicList[i]?.unitPrice || {}
if(productInfoByEdit.unitPriceAndPicList[i]?.unitPrice) {
let tempUnit = {}
let unitPric = productInfoByEdit.unitPriceAndPicList[i]?.unitPrice
Object.keys(unitPric).sort().forEach(function(key) {
tempUnit[key] = unitPric[key];
})
_tempObj['单价'] = tempUnit
} else {
_tempObj['单价'] = {}
}
}else{
_tempObj['单价'] = _tableDataSource[i] && tableDataSource[i] && tableDataSource[i]['单价'] || {}
// _tempObj['单价'] = _tableDataSource[i] && tableDataSource[i] && tableDataSource[i]['单价'] || {}
if(_tableDataSource[i] && tableDataSource[i] && tableDataSource[i]['单价']) {
let tempUnit = {}
let unitPric = _tableDataSource[i] && tableDataSource[i] && tableDataSource[i]['单价']
Object.keys(unitPric).sort().forEach(function(key) {
tempUnit[key] = unitPric[key]
})
_tempObj['单价'] = tempUnit
} else {
_tempObj['单价'] = {}
}
}
}else{
_tempObj['对应货品'] = selectedGoods.length > 0 ? selectedGoods[0].id : 0
......
......@@ -79,13 +79,13 @@ const EquityInfo: React.FC<EquityInfoProps> = ({
const [receivedPage, setReceivedPage] = useState(1);
const [receivedSize, setReceivedSize] = useState(PAGE_SIZE);
const [receivedTotal, setReceivedTotal] = useState(0);
const [receivedList, setReceivedList] = useState([]);
const [receivedList, setReceivedList] = useState<ReceivedData[]>([]);
const [receivedListLoading, setReceivedListLoading] = useState(false);
const [usagePage, setUsagePage] = useState(1);
const [usageSize, setUsageSize] = useState(PAGE_SIZE);
const [usageTotal, setUsageTotal] = useState(0);
const [usageList, setUsageList] = useState([]);
const [usageList, setUsageList] = useState<UsageData[]>([]);
const [usageListLoading, setUsageListLoading] = useState(false);
const receivedColumns: EditableColumns[] = [
......@@ -151,15 +151,13 @@ const EquityInfo: React.FC<EquityInfoProps> = ({
},
];
const getReceivedList = () => {
const getReceivedList = (params?) => {
if (fetchReceivedList) {
if (receivedListLoading) {
return;
}
setReceivedListLoading(true);
fetchReceivedList({
current: receivedPage,
pageSize: receivedSize,
...params,
}).then(res => {
const { data = [], totalCount = 0 } = (res || {});
setReceivedList(data);
......@@ -170,15 +168,13 @@ const EquityInfo: React.FC<EquityInfoProps> = ({
}
};
const getUsageList = () => {
const getUsageList = (params?) => {
if (fetchUsageList) {
if (usageListLoading) {
return;
}
setUsageListLoading(true);
fetchUsageList({
current: usagePage,
pageSize: usageSize,
...params,
}).then(res => {
const { data = [], totalCount = 0 } = (res || {});
setUsageList(data);
......@@ -211,13 +207,19 @@ const EquityInfo: React.FC<EquityInfoProps> = ({
const handleReceivedPaginationChange = (page: number, size: number) => {
setReceivedPage(page);
setReceivedSize(size);
getReceivedList();
getReceivedList({
current: page,
pageSize: size,
});
};
const handleUsagePaginationChange = (page: number, size: number) => {
setUsagePage(page);
setUsageSize(size);
getReceivedList();
getUsageList({
current: page,
pageSize: size,
});
};
return (
......
......@@ -124,7 +124,7 @@ const AccountDetail: React.FC<{}> = () => {
title: '交易时间',
dataIndex: 'tradeTime',
key: 'tradeTime',
render: (text: any) => moment(text).format("YYYY-MM-DD HH:mm:ss")
render: (text: any) => moment(text).format("YYYY-MM-DD HH:mm:ss")
},
{
title: '交易金额(元)',
......@@ -156,7 +156,7 @@ const AccountDetail: React.FC<{}> = () => {
title: '序号',
dataIndex: 'id',
key: 'id',
render: (t, c, i) => i + 1
render: (t, c, i) => i + 1
},
{
title: '操作角色',
......@@ -174,14 +174,14 @@ const AccountDetail: React.FC<{}> = () => {
dataIndex: 'operation',
key: 'operation',
render: (t, r)=> {
return t === 1 ? '冻结资金账户' : '解冻资金账户'
return t === 1 ? '解冻资金账户' : '冻结资金账户'
}
},
{
title: '操作时间',
dataIndex: 'createTime',
key: 'createTime',
render: (text: any) => moment(text).format("YYYY-MM-DD HH:mm:ss")
render: (text: any) => moment(text).format("YYYY-MM-DD HH:mm:ss")
},
{
title: '意见',
......@@ -195,7 +195,7 @@ const AccountDetail: React.FC<{}> = () => {
}
const handleCannel = () => {
}
const handleSubmit = (value) => {
......@@ -240,8 +240,8 @@ const AccountDetail: React.FC<{}> = () => {
<Space direction="vertical" style={{width:'100%'}}>
<Card headStyle={{borderBottom:'none'}} title="账户信息">
<Row gutter={100}>
<Col
// span={8}
<Col
// span={8}
xxl={8}
xl={9}
lg={9}
......@@ -262,24 +262,24 @@ const AccountDetail: React.FC<{}> = () => {
</div>
</div>
</Col>
<Col
// span={10}
<Col
// span={10}
xxl={10}
xl={8}
lg={8}
>
<div className={styles.infoRight}>
<Row>
<Col
// span={4}
<Col
// span={4}
xxl={4}
xl={10}
lg={10}
>
<p className={styles.rightTitle}>账户归属:</p>
</Col>
<Col
// span={20}
<Col
// span={20}
xxl={20}
xl={14}
lg={14}
......@@ -288,15 +288,15 @@ const AccountDetail: React.FC<{}> = () => {
</Col>
</Row>
<Row>
<Col
<Col
xxl={4}
xl={10}
lg={10}
>
<p className={styles.rightTitle}>账户余额(元):</p>
</Col>
<Col
// span={20}
<Col
// span={20}
xxl={20}
xl={14}
lg={14}
......@@ -305,15 +305,15 @@ const AccountDetail: React.FC<{}> = () => {
</Col>
</Row>
<Row>
<Col
<Col
xxl={4}
xl={10}
lg={10}
>
<p className={styles.rightTitle}>锁定金额(元):</p>
</Col>
<Col
// span={20}
<Col
// span={20}
xxl={20}
xl={14}
lg={14}
......@@ -322,15 +322,15 @@ const AccountDetail: React.FC<{}> = () => {
</Col>
</Row>
<Row>
<Col
<Col
xxl={4}
xl={10}
lg={10}
>
<p className={styles.rightTitle}>账户状态:</p>
</Col>
<Col
// span={20}
<Col
// span={20}
xxl={20}
xl={14}
lg={14}
......@@ -345,8 +345,8 @@ const AccountDetail: React.FC<{}> = () => {
</Row>
</div>
</Col>
<Col
// span={20}
<Col
// span={20}
xxl={6}
xl={7}
lg={7}
......
import React, {useState, useRef, useEffect} from 'react'
import { history } from 'umi'
import { Button, Form, Card, Modal, Select, Table, Checkbox, Row, Col, Tooltip, Slider, InputNumber, Avatar, message } from 'antd'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import {
PlusOutlined,
SaveOutlined,
LinkOutlined,
LoadingOutlined,
} from '@ant-design/icons'
import { ColumnType } from 'antd/lib/table/interface';
import { StandardTable } from 'god'
import ReutrnEle from '@/components/ReturnEle';
import './index.less'
import NiceForm from '@/components/NiceForm'
import { repositDetailSchema } from './schema'
import { createFormActions, ISchema, FormEffectHooks } from '@formily/antd'
import EyePreview from '@/components/EyePreview'
import { findItemAndDelete, omit } from '@/utils'
import { PublicApi } from '@/services/api'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { useAsyncSelect } from '@/formSchema/effects/useAsyncSelect'
import { usePageStatus, PageStatus } from '@/hooks/usePageStatus'
import PositionSetting from './components/PositionSetting'
const addSchemaAction = createFormActions()
const AddRepository:React.FC<{}> = (props) => {
const {
id,
preview,
pageStatus
} = usePageStatus()
// 整体表单提交
const formSubmit = async (values) => {
const params = omit(values, ['NO_SUBMIT3'])
if (params['applyMember']) {
params['applyMember'] = params['applyMember']
}
if(!params['isAllMemberShare'] && !params['applyMember']?.length) {
message.error('请选择指定会员')
} else {
await PublicApi.postWarehouseFreightSpaceAdd(params)
setTimeout(() => {
history.goBack(-1)
}, 1000)
}
}
return (
<PageHeaderWrapper
onBack={() => history.goBack()}
backIcon={<ReutrnEle description="返回"/>}
className='addRepository'
title={pageStatus === PageStatus.PREVIEW ? '查看仓位' : '新增仓位'}
extra={(
pageStatus !== PageStatus.PREVIEW
? (
<Button key="1" onClick={() => addSchemaAction.submit()} type="primary" icon={<SaveOutlined />}>
保存
</Button>
)
: null
)}
>
<Card className=''>
<PositionSetting addSchemaAction={addSchemaAction} schema={repositDetailSchema} formSubmit={formSubmit}/>
</Card>
</PageHeaderWrapper>
)
}
export default AddRepository
import React, {useState, useRef, useEffect} from 'react'
import { history } from 'umi'
import { Button, Form, Card, Modal, Select, Table, Checkbox, Row, Col, Tooltip, Slider, InputNumber, Avatar, message } from 'antd'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import {
PlusOutlined,
SaveOutlined,
LinkOutlined,
LoadingOutlined,
} from '@ant-design/icons'
import { ColumnType } from 'antd/lib/table/interface';
import { StandardTable } from 'god'
import ReutrnEle from '@/components/ReturnEle';
import './index.less'
import NiceForm from '@/components/NiceForm'
import { repositDetailSchema } from './schema'
import { createFormActions, ISchema, FormEffectHooks } from '@formily/antd'
import EyePreview from '@/components/EyePreview'
import { findItemAndDelete, omit } from '@/utils'
import { PublicApi } from '@/services/api'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { useAsyncSelect } from '@/formSchema/effects/useAsyncSelect'
import { usePageStatus, PageStatus } from '@/hooks/usePageStatus'
import PositionSetting from './components/PositionSetting'
const addSchemaAction = createFormActions()
const AddRepository:React.FC<{}> = (props) => {
const {
id,
preview,
pageStatus
} = usePageStatus()
// 整体表单提交
const formSubmit = async (values) => {
const params = omit(values, ['NO_SUBMIT3'])
if (params['applyMember']) {
params['applyMember'] = params['applyMember']
}
if(!params['isAllMemberShare'] && !params['applyMember']?.length) {
message.error('请选择指定会员')
} else {
addSchemaAction.getFieldState('warehouseId', prevState => {
params['warehouseName'] = prevState.props.enum.filter((item: any) => item.value === prevState.value)[0]['label']
})
await PublicApi.postWarehouseFreightSpaceAdd(params)
setTimeout(() => {
history.goBack(-1)
}, 1000)
}
}
return (
<PageHeaderWrapper
onBack={() => history.goBack()}
backIcon={<ReutrnEle description="返回"/>}
className='addRepository'
title={pageStatus === PageStatus.PREVIEW ? '查看仓位' : '新增仓位'}
extra={(
pageStatus !== PageStatus.PREVIEW
? (
<Button key="1" onClick={() => addSchemaAction.submit()} type="primary" icon={<SaveOutlined />}>
保存
</Button>
)
: null
)}
>
<Card className=''>
<PositionSetting addSchemaAction={addSchemaAction} schema={repositDetailSchema} formSubmit={formSubmit}/>
</Card>
</PageHeaderWrapper>
)
}
export default AddRepository
......@@ -48,9 +48,9 @@ export const useOrderDetail = (options: OrderDetailHookProps) => {
const { code, data, message: msg } = res
if (code === 1000) {
setFormData(data)
if(data.paymentInformationResponses.length > 0){
setCurrentPayInfoId(data.paymentInformationResponses[0].id)
}
// if(data.paymentInformationResponses.length > 0){
// setCurrentPayInfoId(data.paymentInformationResponses[0].id)
// }
reloadPayList(data.supplyMembersId, data.supplyMembersRoleId)
} else {
message.error(msg)
......
......@@ -497,8 +497,6 @@ export const useBusinessEffects = (context, actions) => {
if (fieldState.name === 'invoicesTypeId') {
const invoicesTypeIdState = getFieldState('invoicesTypeId');
console.log('invoicesTypeIdState2', invoicesTypeIdState)
if (invoicesTypeIdState.value) {
const current = invoicesTypeIdState.originAsyncData.find(item => item.id === invoicesTypeIdState.value);
......
......@@ -21,12 +21,6 @@ import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilte
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { useAsyncSelect } from '@/formSchema/effects/useAsyncSelect';
import {
DEPENDENT_DOC_ORDER,
DEPENDENT_DOC_EXCHANGE,
DEPENDENT_DOC_RETURN,
DEPENDENT_DOC_PRODUCTION,
DEPENDENT_DOC_INTERNAL,
DOC_TYPE_PURCHASE_RECEIPT,
DOC_TYPE_SALES_INVOICE,
DOC_TYPE_PROCESS_RECEIPT,
......@@ -59,6 +53,23 @@ interface BillsFormProps {
relevanceInvoicesId: string, // 单据id,可能是待新增销售发货单,待新增采购入库单跳转过来的
};
function transforDirection(type) {
let flag = 0;
switch (type) {
case DOC_TYPE_PURCHASE_RECEIPT:
case DOC_TYPE_PROCESS_RECEIPT:
case DOC_TYPE_RETURN_RECEIPT:
case DOC_TYPE_EXCHANGE_RECEIPT:
case DOC_TYPE_EXCHANGE_RETURN_RECEIPT:
flag = 1;
break;
default:
break;
}
return flag;
};
const BillsForm: React.FC<BillsFormProps> = ({
id,
isEdit = false,
......@@ -154,9 +165,20 @@ const BillsForm: React.FC<BillsFormProps> = ({
const details = invoicesDetailsList ? invoicesDetailsList.map(item => ({
...item,
// 单据数量,需要判断是 入库 还是 发货 单 匹配对应的字段值
productCount: transforDirection(rest.invoicesTypeId) ? item.storageCount : item.shipmentQuantity,
product: item.productId,
amount: `¥${(+item.productCount * item.price).toFixed(2)}`,
deliveryType,
extraData: {
productName: item.productName,
deliveryType,
id: '', // 加工发货单需要,明细id
processNum: 0, // 加工发货单需要,加工数量
orderNo: item.orderNo, // 订单编号
goodsCount: item.productCount, // 采购数量
price: item.price, // 加工发货、入库单需要,加工单价
totalPrice: 0, // 加工发货、入库单需要,加工总价
},
})) : [];
addSchemaAction.setFieldState(
......
......@@ -504,7 +504,7 @@ export const addBillSchema: ISchema = {
message: '请输入单据数量',
},
{
pattern: PATTERN_MAPS.quantity,
pattern: PATTERN_MAPS.weight,
message: '请输入正确的数量',
},
],
......
......@@ -178,7 +178,7 @@ const Bills: React.FC<{}> = () => {
align: 'center',
render: (text: any, record: any) => (
<EyePreview
url={`/memberCenter/tranactionAbility/stockSellStorage/bills/detail?id=${record.id}&preview=1`}
url={`/memberCenter/tranactionAbility/stockSellStorage/bills/detail?id=${record.id}`}
>
{text}
</EyePreview>
......
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