Commit 5d5cd2df authored by GuanHua's avatar GuanHua

merge

parents 07f04e1b 46cd4783
......@@ -67,7 +67,7 @@ const CommodityRoute = {
{
path: '/memberCenter/commodityAbility/trademark',
name: 'trademark',
key: 'trademark',
// key: 'trademark',
icon: 'smile',
component: '@/pages/trademark',
},
......@@ -165,7 +165,7 @@ const CommodityRoute = {
{
path: '/memberCenter/commodityAbility/repositories',
name: 'repositories',
key: 'repositories',
// key: 'repositories',
icon: 'smile',
component: './repositories',
},
......
......@@ -177,7 +177,20 @@ const TranactionRoute = {
component: '@/pages/transaction/purchaseOrder/readyAddOrder/detail'
},
]
}
},
// 交易规则
{
path: '/memberCenter/tranactionAbility/transactionRules',
name: 'transactionRules',
component: '@/pages/transaction/transactionRules',
},
{
path: '/memberCenter/tranactionAbility/transactionRules/addRule',
name: 'addRule',
hideInMenu: true,
component: '@/pages/transaction/transactionRules/addRule',
},
]
}
......
/*
* @Author: XieZhiXiong
* @Date: 2020-09-15 17:48:36
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-09-15 17:49:54
* @Description: 内外部流转记录组件
*/
import React from 'react';
import {
Steps,
Tabs,
} from 'antd';
import MellowCard from '@/components/MellowCard';
import styles from './index.less';
interface AuditProcessProp {
outerVerifyCurrent?: number;
innerVerifyCurrent?: number;
outerVerifySteps?: { step: number, stepName: string, roleName: string }[];
innerVerifySteps?: { step: number, stepName: string, roleName: string }[];
};
const AuditProcess: React.FC<AuditProcessProp> = ({
outerVerifyCurrent = 0,
innerVerifyCurrent = 0,
outerVerifySteps = [],
innerVerifySteps = [],
}) => (
<MellowCard>
<Tabs onChange={() => {}}>
<Tabs.TabPane tab="外部审核流程" key="1">
<Steps style={{ marginTop: 30 }} progressDot current={outerVerifyCurrent}>
{outerVerifySteps.map(item => (
<Steps.Step
key={item.step}
title={item.stepName}
description={item.roleName}
/>
))}
</Steps>
</Tabs.TabPane>
<Tabs.TabPane tab="内部审核流程" key="2">
<Steps style={{ marginTop: 30 }} progressDot current={innerVerifyCurrent}>
{innerVerifySteps.map(item => (
<Steps.Step
key={item.step}
title={item.roleName}
description={item.stepName}
/>
))}
</Steps>
</Tabs.TabPane>
</Tabs>
</MellowCard>
);
export default AuditProcess;
\ No newline at end of file
......@@ -296,4 +296,26 @@ export const DOC_DIRECTION_OUTGOING = 2; // 出库
export const DOC_DIRECTION = {
[DOC_DIRECTION_WAREHOUSING]: '入库 + ',
[DOC_DIRECTION_OUTGOING]: '出库 - ',
[DOC_DIRECTION_WAREHOUSING]: '入库 + ',
[DOC_DIRECTION_OUTGOING]: '出库 - ',
};
// 订单类型
export const ORDER_TYPE2_INQUIRY = 1; // 询价采购
export const ORDER_TYPE2_DEMAND = 2; // 需求采购
export const ORDER_TYPE2_SPOT = 3; // 现货采购
export const ORDER_TYPE2_CENTRALIZED = 4; // 集采
export const ORDER_TYPE2_POINTS = 5; // 积分兑换
export const ORDER_TYPE2_CHANNEL_DIRECT = 6; // 渠道直采
export const ORDER_TYPE2_CHANNEL_SPOT = 7; // 渠道现货
export const ORDER_TYPE2_CHANNEL_POINTS = 8; // 渠道积分兑换
export const ORDER_TYPE2 = {
[ORDER_TYPE2_INQUIRY]: '询价采购',
[ORDER_TYPE2_DEMAND]: '需求采购',
[ORDER_TYPE2_SPOT]: '现货采购',
[ORDER_TYPE2_CENTRALIZED]: '集采',
[ORDER_TYPE2_POINTS]: '积分兑换',
[ORDER_TYPE2_CHANNEL_DIRECT]: '渠道直采',
[ORDER_TYPE2_CHANNEL_SPOT]: '渠道现货',
[ORDER_TYPE2_CHANNEL_POINTS]: '渠道积分兑换',
};
\ No newline at end of file
......@@ -119,6 +119,8 @@ export default {
'menu.tranactionAbility.stockSellStorage.bills': '单据',
'menu.tranactionAbility.stockSellStorage.addBills': '新增单据',
'menu.tranactionAbility.stockSellStorage.inventory': '库存',
'menu.tranactionAbility.transactionRules': '交易规则',
'menu.tranactionAbility.addRule': '新增交易规则',
//需求发布
'menu.tranactionAbility.enquirySubmit': '需求发布',
......
......@@ -188,6 +188,7 @@ const SelectProduct:React.FC<IProps> = (props) => {
ref={productFormRef}
name="add-channel-origin"
labelAlign="left"
colon={false}
>
<Form.Item
name="source"
......
......@@ -8,7 +8,6 @@ import {
MinusOutlined,
QuestionCircleOutlined
} from '@ant-design/icons'
import { ColumnType } from 'antd/lib/table/interface';
import styles from '../index.less'
import { PublicApi } from '@/services/api';
......@@ -310,6 +309,7 @@ const SetPrice:React.FC<IProps> = (props) => {
form={formPrice}
name="add-channel-discount"
labelAlign="left"
colon={false}
initialValues={{isMemberPrice: true}}
>
<Form.Item
......@@ -317,7 +317,7 @@ const SetPrice:React.FC<IProps> = (props) => {
label={
<span>
会员折扣&nbsp;
<Tooltip title="这是一段描述?">
<Tooltip title="是否允许会员使用会员折扣价购买当前商品?">
<QuestionCircleOutlined />
</Tooltip>
</span>
......
......@@ -101,23 +101,23 @@ export const channelSchema: ISchema = {
}
],
'x-component-props': {
placeholder: '商品状态',
placeholder: '商品来源',
style: { width: '174px' },
},
},
status: {
statusList: {
type: 'string',
enum: [
{
label: '未上架',
value: 4,
value: 7,
},
{
label: '上架',
label: '上架',
value: 5,
},
{
label: '下架',
label: '下架',
value: 6,
}
],
......@@ -126,7 +126,7 @@ export const channelSchema: ISchema = {
style: { width: '174px' },
},
},
priceType: {
priceTypeList: {
type: 'string',
enum: [
{
......
import React, { useState, useEffect } from 'react'
import { history } from 'umi'
import { Card, Space, Radio, Row, Col, Descriptions, Table, Avatar } from 'antd'
import { Card, Space, Row, Col, Descriptions, Table, Avatar } from 'antd'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import {
EyeOutlined,
UserOutlined
} from '@ant-design/icons'
import { ColumnType } from 'antd/lib/table/interface'
import ReutrnEle from '@/components/ReturnEle'
import styles from "./index.less"
import { PublicApi } from '@/services/api'
......
......@@ -158,7 +158,7 @@ const MemberMaintain: React.FC<[]> = () => {
type="link"
onClick={() => handleCommit(record.memberId, record.validateId)}
>
提交审核
提交平台审核
</Button>
</>
)}
......@@ -179,7 +179,10 @@ const MemberMaintain: React.FC<[]> = () => {
</>
)}
{/* 外部审核状态不等于 审核通过 可进行删除操作 */}
{record.outerStatus !== MEMBER_OUTER_STATUS_SUCCESS && (
{(
record.outerStatus === MEMBER_OUTER_STATUS_UNCOMMITTED ||
record.outerStatus === MEMBER_OUTER_STATUS_FAILED
) && (
<Popconfirm
title="确定要删除吗?"
okText="是"
......
......@@ -14,7 +14,7 @@ import { FormOutlined } from '@ant-design/icons';
import { usePageStatus, PageStatus } from '@/hooks/usePageStatus';
import { PublicApi } from '@/services/api';
import { GetMemberAbilityValidateStep1DetailResponse } from '@/services/MemberApi';
import { createFormActions, FormEffectHooks, FormPath } from '@formily/antd';
import { createAsyncFormActions, FormEffectHooks, FormPath } from '@formily/antd';
import NiceForm from '@/components/NiceForm';
import { MEMBER_INNER_STATUS_SUCCESS } from '@/constants';
import { MEMBER_INNER_STATUS_BADGE_COLOR, MEMBER_STATUS_TAG_MAP, MEMBER_OUTER_STATUS_TYPE } from '../constant';
......@@ -35,7 +35,7 @@ interface MemberInfo extends GetMemberAbilityValidateStep1DetailResponse {
areasInfo?: string[];
};
const modalFormActions = createFormActions();
const modalFormActions = createAsyncFormActions();
const {
onFieldValueChange$,
onFieldInputChange$,
......
......@@ -126,7 +126,7 @@ const Trademark: React.FC<{}> = () => {
];
const handleSee = (record: any) => {
console.log('see')
// console.log('see')
history.push(`/memberCenter/commodityAbility/trademark/viewBrand?id=${record.id}`)
}
......
......@@ -5,10 +5,18 @@ import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { SaveOutlined, PlusOutlined } from '@ant-design/icons';
import { createFormActions, FormEffectHooks } from '@formily/antd';
import { Button, Card } from 'antd';
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable';
import { PublicApi } from '@/services/api';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import ReutrnEle from '@/components/ReturnEle';
import NiceForm from '@/components/NiceForm';
import { getBillsDetailSchema } from './schema';
import { PublicApi } from '@/services/api';
import ModalTable from '@/components/ModalTable';
import Search from '@/components/NiceForm/components/Search';
import Submit from '@/components/NiceForm/components/Submit';
import DateSelect from '@/components/NiceForm/components/DateSelect';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { ORDER_TYPE2 } from '@/constants';
import { getBillsDetailSchema, orderBillSchema } from './schema';
const addSchemaAction = createFormActions();
......@@ -22,42 +30,37 @@ const AddBills: React.FC<{}> = (props: any) => {
const [relevance, setRelevance] = useState(1);
// 订单
const orderColumns = [
const orderColumns: any[] = [
{
title: '订单号',
align: 'center',
dataIndex: 'orderNo',
key: 'orderNo',
},
{
title: '订单商品摘要',
align: 'center',
dataIndex: 'invoicesAbstract',
key: 'invoicesAbstract',
dataIndex: 'orderThe',
},
{
title: '会员名称',
align: 'center',
dataIndex: 'memberName',
key: 'memberName',
dataIndex: 'supplyMembersName',
},
{
title: '下单时间',
align: 'center',
dataIndex: 'createTime',
key: 'createTime',
},
{
title: '订单类型',
align: 'center',
dataIndex: 'orderType',
key: 'orderType',
dataIndex: 'type',
render: text => ORDER_TYPE2[text],
},
{
title: '订单状态',
align: 'center',
dataIndex: 'state',
key: 'state',
dataIndex: 'externalState',
},
];
......@@ -130,6 +133,8 @@ const AddBills: React.FC<{}> = (props: any) => {
];
const [modalColumns, setModalColumns] = useState(orderColumns);
const [visibleRelation, setVisibleRelation] = useState(false);
const [relationRowSelection, relationRowCtl] = useRowSelectionTable({type: 'radio'})
const tableColumns = [
{ dataIndex: 'id', title: 'ID' },
......@@ -207,6 +212,25 @@ const AddBills: React.FC<{}> = (props: any) => {
if (res.code === 1000) return history.goBack();
});
};
// 关联单据弹窗 confirm
const handleConfirmRelation = () => {
console.log('relationRowCtl.selectRow', relationRowCtl.selectRow);
setVisibleRelation(false);
};
// 获取关联类型列表数据
const fetchRelationList = async (params: any) => {
const shopType = addSchemaAction.getFieldValue('shopType')
const res = await PublicApi.getOrderPurchaseReceiptAddList({
...params,
})
if (res.code === 1000) {
return res.data;
}
return [];
};
return (
<PageHeaderWrapper
onBack={() => history.goBack()}
......@@ -234,6 +258,8 @@ const AddBills: React.FC<{}> = (props: any) => {
}
>
<Card>
<Button onClick={() => setVisibleRelation(true)}>点我弹出</Button>
<NiceForm
expressionScope={{
tableColumns,
......@@ -246,8 +272,8 @@ const AddBills: React.FC<{}> = (props: any) => {
state.value === 1
? orderColumns
: state.value === 2 || state.value === 3
? afterSaleColumns
: productionColumns,
? afterSaleColumns
: productionColumns,
);
});
}}
......@@ -261,6 +287,47 @@ const AddBills: React.FC<{}> = (props: any) => {
})}
/>
</Card>
<ModalTable
modalTitle='选择订单'
confirm={handleConfirmRelation}
cancel={() => setVisibleRelation(false)}
visible={visibleRelation}
columns={orderColumns}
width={960}
rowSelection={relationRowSelection}
fetchTableData={params => fetchRelationList(params)}
formilyProps={
{
ctx: {
schema: orderBillSchema,
components: {
Search,
Submit,
DateSelect,
},
effects: ($, actions) => {
useStateFilterSearchLinkageEffect(
$,
actions,
'search',
FORM_FILTER_PATH,
);
},
inline: false,
}
}
}
tableProps={{
rowKey: 'id',
onRow: (record) => ({
onClick: () => {
relationRowCtl.setSelectRow([record]);
relationRowCtl.setSelectedRowKeys([record.id]);
},
})
}}
/>
</PageHeaderWrapper>
);
};
......
import { ISchema } from '@formily/antd';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import {
ORDER_TYPE2_INQUIRY,
ORDER_TYPE2_DEMAND,
ORDER_TYPE2_SPOT,
ORDER_TYPE2_CENTRALIZED,
ORDER_TYPE2_POINTS,
ORDER_TYPE2_CHANNEL_DIRECT,
ORDER_TYPE2_CHANNEL_SPOT,
ORDER_TYPE2_CHANNEL_POINTS,
ORDER_TYPE2,
} from '@/constants';
export const billsSchema: ISchema = {
type: 'object',
......@@ -448,3 +459,91 @@ export const getBillsDetailSchema = params => {
};
return billsDetailSchema;
};
export const orderBillSchema: ISchema = {
type: 'object',
properties: {
megaLayout: {
type: 'object',
'x-component': 'Mega-Layout',
properties: {
search: {
type: 'string',
'x-component': 'Search',
'x-mega-props': {},
'x-component-props': {
placeholder: '搜索',
align: 'flex-start',
},
},
[FORM_FILTER_PATH]: {
type: 'object',
'x-component': 'Mega-Layout',
'x-component-props': {
grid: true,
full: true,
autoRow: true,
columns: 3,
},
properties: {
orderNo: {
type: 'string',
'x-component-props': {
placeholder: '订单号(全部)',
allowClear: true,
},
},
orderThe: {
type: 'string',
'x-component-props': {
placeholder: '订单摘要(全部)',
allowClear: true,
},
},
supplyMembersName: {
type: 'string',
'x-component-props': {
placeholder: '会员名称(全部)',
allowClear: true,
},
},
'[startCreateTime, endCreateTime]': {
type: 'string',
'x-component': 'DateSelect',
'x-component-props': {
placeholder: '下单时间(全部)',
allowClear: true,
},
},
type: {
type: 'string',
'x-component-props': {
placeholder: '订单类型(全部)',
allowClear: true,
},
enum: [
{ label: ORDER_TYPE2[ORDER_TYPE2_INQUIRY], value: ORDER_TYPE2_INQUIRY },
{ label: ORDER_TYPE2[ORDER_TYPE2_DEMAND], value: ORDER_TYPE2_DEMAND },
{ label: ORDER_TYPE2[ORDER_TYPE2_SPOT], value: ORDER_TYPE2_SPOT },
{ label: ORDER_TYPE2[ORDER_TYPE2_CENTRALIZED], value: ORDER_TYPE2_CENTRALIZED },
{ label: ORDER_TYPE2[ORDER_TYPE2_POINTS], value: ORDER_TYPE2_POINTS },
{ label: ORDER_TYPE2[ORDER_TYPE2_CHANNEL_DIRECT], value: ORDER_TYPE2_CHANNEL_DIRECT },
{ label: ORDER_TYPE2[ORDER_TYPE2_CHANNEL_SPOT], value: ORDER_TYPE2_CHANNEL_SPOT },
{ label: ORDER_TYPE2[ORDER_TYPE2_CHANNEL_POINTS], value: ORDER_TYPE2_CHANNEL_POINTS },
],
},
submit: {
'x-component': 'Submit',
'x-mega-props': {
span: 1,
},
'x-component-props': {
children: '查询',
}
}
},
},
},
},
},
};
\ No newline at end of file
import React, {useState, useRef, useEffect} from 'react'
import { history } from 'umi'
import { Button, Card } from 'antd'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import {
SaveOutlined,
} from '@ant-design/icons'
import ReutrnEle from '@/components/ReturnEle';
import './index.less'
import { ruleDetailSchema } from './schema'
import { createFormActions, ISchema, FormEffectHooks } from '@formily/antd'
import { findItemAndDelete, omit } from '@/utils'
import { PublicApi } from '@/services/api'
import { usePageStatus, PageStatus } from '@/hooks/usePageStatus'
import RuleSetting from './components/RuleSetting'
const addSchemaAction = createFormActions()
const AddRule: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'].map(v => v.memberId)
}
await PublicApi.postWarehouseFreightSpaceAdd(params)
setTimeout(() => {
history.goBack(-1)
}, 1000)
}
return (
<PageHeaderWrapper
onBack={() => history.goBack()}
backIcon={<ReutrnEle description="返回"/>}
title={pageStatus === PageStatus.PREVIEW ? '查看交易规则' : ( pageStatus === PageStatus.EDIT ? '编辑交易规则' : '新增交易规则' )}
className="addRule"
extra={[
<Button key="1" onClick={() => addSchemaAction.submit()} type="primary" icon={<SaveOutlined />}>
保存
</Button>,
]}
>
<Card className=''>
<RuleSetting addSchemaAction={addSchemaAction} schema={ruleDetailSchema} formSubmit={formSubmit}/>
</Card>
</PageHeaderWrapper>
)
}
export default AddRule
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
export const useWarehouseSelect = (context: ISchemaFormActions) => {
onFieldValueChange$('warehouseId').subscribe(state => {
// 货品ID
const goodsId = context.getFieldValue('productId')
const warehouseId = state.value
PublicApi.getWarehouseInventoryByItemNo({
warehouseId,
itemId: goodsId
}).then(res => {
const { data } = res
context.setFieldValue('NO_SUBMIT3', data.inventory)
})
})
}
export const createAddRepositoryEffect = (context: ISchemaFormActions) => {
const fetchWarehouseAll = async () => {
const { data } = await PublicApi.getWarehouseWarehouseAll()
context.setFieldState('warehouseId', state => {
state.warehouseLists = data
})
return data.map(v => ({
value: v.id,
label: v.name
}))
}
useAsyncSelect('warehouseId', fetchWarehouseAll)
useWarehouseSelect(context)
}
export const useUnitPreview = (initValue, context) => {
useEffect(() => {
if (initValue) {
context.setFieldState('inventory', state => {
if (!state.props['x-props']) {
state.props['x-props'] = {}
}
state.props['x-props'].addonAfter = <div style={{marginLeft: 4}}>{initValue.unit}</div>
})
context.setFieldValue('itemNo', initValue.itemNo)
}
}, [initValue])
}
\ No newline at end of file
.addRule {
.ant-input-group-addon {
padding: 0;
border: none;
}
.connectBtn {
width: 80px;
height: 32px;
line-height: 32px;
background: #6B778C;
color: #fff;
text-align: center;
cursor: pointer;
}
}
// 添加仓位
.storeItemRadio{
display: flex;
flex-wrap: wrap;
// width: 320px;
margin: 0 auto;
& label{
width: 320px !important;
height: 48px !important;
line-height: 48px !important;
margin: 8px 0;
margin-right: 24px;
}
}
//仓位调拨
.circleAmount{
width: 160px;
height: 160px;
border: 4px solid #edeef2;
background-color: #fafbfc;
border-radius: 50%;
& p{
height: 160px;
line-height: 160px;
text-align: center;
font-size: 20px;
font-weight: bold;
}
}
//查看仓位
.amount{
font-size:24px;
font-weight:bold;
color:rgba(23,43,77,1);
}
\ No newline at end of file
import React, { ReactNode, useRef, useEffect } from 'react'
import { history } from 'umi'
import { Button, Popconfirm, Card, message, Dropdown, Menu } from 'antd'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import {
PlusOutlined,
PlayCircleOutlined,
EyeOutlined,
PauseCircleOutlined,
CaretDownOutlined
} from '@ant-design/icons'
import { StandardTable } from 'god'
import { ColumnType } from 'antd/lib/table/interface'
import moment from 'moment'
import EyePreview from '@/components/EyePreview';
import { PublicApi } from '@/services/api'
const TransactionRules: React.FC<{}> = () => {
const ref = useRef<any>({})
const fetchData = (params: any) => {
console.log(params, 'params')
if(!params?.name) delete params.name
return new Promise((resolve, reject) => {
PublicApi.getOrderTradingRulesList(params).then(res => {
const { data } = res
resolve(data)
})
})
}
// id
// name
// state
// 状态:1.有效 0.无效
// transactionProcess
// operationTime
const columns: ColumnType<any>[] = [
{
title: '交易规则ID',
dataIndex: 'id',
key: 'id',
},
{
title: '流程规则名称',
dataIndex: 'name',
key: 'name',
className: 'commonPickColor',
render: (text: any, record: any) => <EyePreview
url={`/memberCenter/tranactionAbility/transactionRules/addRule?id=${record.id}&preview=1`}
>
{text}
</EyePreview>
},
{
title: '交易流程名称',
dataIndex: 'transactionProcess',
key: 'transactionProcess',
},
{
title: '操作时间',
dataIndex: 'operationTime',
key: 'operationTime',
render: (text: any, record: any) => text && moment(text).format('YYYY-MM-DD HH:mm:ss')
},
{
title: '状态',
dataIndex: 'state',
key: 'state',
render: (text: any, record: any) => {
let component: ReactNode = null
component = (
<Popconfirm
title="确定要执行这个操作?"
onConfirm={() => confirm(record)}
onCancel={cancel}
okText="是"
cancelText="否"
>
<Button
type="link"
style={record.state ? { color: '#00B37A' } : { color: 'red' }}>{record.state ? <>有效 <PlayCircleOutlined /></> : <>无效 <PauseCircleOutlined /></>}</Button>
</Popconfirm>
)
return component
}
},
{
title: '操作',
dataIndex: 'option',
render: (text: any, record: any) => {
return (
<>
{
(record.state === 0) ? <>
<Popconfirm
title="确定要执行这个操作?"
onConfirm={() => handelDelete(record)}
onCancel={cancel}
okText="是"
cancelText="否"
>
<Button type='link'>删除</Button>
</Popconfirm>
<Button type='link' onClick={()=>history.push(`/memberCenter/tranactionAbility/transactionRules/addRule?id=${record.id}`)}>修改</Button>
</> : ''
}
</>
)
}
}
];
const confirm = (record: any) => {
PublicApi.postOrderTradingRulesUpdateState({ id: record.id, state: record.state ? 0 : 1 }).then(res => {
ref.current.reload()
})
}
const cancel = () => {
console.log('cancel')
}
const handelDelete = (record: any) => {
PublicApi.postOrderTradingRulesDelete({ id: record.id }).then(res => {
if(res.code === 1000)
ref.current.reload()
})
}
return (
<PageHeaderWrapper>
<Card>
<StandardTable
columns={columns}
currentRef={ref}
fetchTableData={(params: any) => fetchData(params)}
formilyLayouts={{
justify: 'space-between'
}}
formilyProps={{
layouts: {
order: 1,
span: 4,
},
ctx: {
inline: false,
schema: {
type: 'object',
properties: {
megaLayout0: {
type: 'object',
'x-component': 'mega-layout',
"x-component-props": {
grid: true,
columns: 2,
},
properties: {
name: {
type: 'string',
'x-component-props': {
placeholder: '规则名称',
},
'x-component': 'Search'
}
}
}
}
}
}
}}
formilyChilds={{
layouts: {
order: 0
},
children: (
<>
<Button type="primary" icon={<PlusOutlined />} onClick={() => history.push('/memberCenter/tranactionAbility/transactionRules/addRule')}>
新建
</Button>
</>
)
}}
/>
</Card>
</PageHeaderWrapper>
)
}
export default TransactionRules
This diff is collapsed.
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