Commit e605d611 authored by Bill's avatar Bill

修改加工查询页

parent ab53247a
......@@ -15,14 +15,12 @@
const HandlingRoute = {
path: '/memberCenter/balance',
name: 'balance',
key: 'balance',
icon: 'smile',
routes: [
// 结算规则配置
{
path: '/memberCenter/balance/settleRules',
name: 'settleRules',
key: 'settleRules',
routes: [
// 结算规则配置 -> 对公账号 配置
{
......@@ -83,7 +81,6 @@ const HandlingRoute = {
{
path: '/memberCenter/balance/platformSettlement',
name: 'platformSettlement',
key: 'platformSettlement',
routes: [
// 平台结算管理 -> 平台待收账款
{
......@@ -121,7 +118,6 @@ const HandlingRoute = {
{
path: '/memberCenter/balance/accountsPayable',
name: 'accountsPayable',
key: 'accountsPayable',
routes: [
// 应付账款管理 -> 应付账款结算列表页
{
......@@ -152,7 +148,6 @@ const HandlingRoute = {
{
path: '/memberCenter/balance/accountsReceivable',
name: 'accountsReceivable',
key: 'accountsReceivable',
routes: [
// 应收账款管理 -> 应收账款结算列表
{
......
......@@ -9,79 +9,77 @@
const HandlingRoute = {
path: '/memberCenter/handling',
name: 'handling',
key: 'handling',
icon: 'smile',
routes: [
//指派生产通知单
{
path: '/memberCenter/handling/assign',
name: 'assign',
key: 'assign',
routes: [
// 指派生产通知单查询
{
path: '/memberCenter/handling/assign/All',
path: '/memberCenter/handling/assign/query',
name: 'assignProductionAll',
icon: 'smile',
component: '@/pages/handling/assign/all',
component: '@/pages/handling/components/Query',
},
// 指派生产通知单 -> 待新增生产通知单
{
path: '/memberCenter/handling/assign/ToBeAdd',
path: '/memberCenter/handling/assign/tobeAddQuery',
name: 'assignProductionToBeAdd',
icon: 'smile',
component: '@/pages/handling/assign/tobeAdd'
component: '@/pages/handling/components/Query'
},
// 指派生产通知单 -> 新增成产通知单(新建)
{
path: '/memberCenter/handling/assign/add',
path: '/memberCenter/handling/assign/tobeAddQuery/add',
name: 'assignProductionAdd',
icon: 'smile',
component: '@/pages/handling/assign/add',
hideInMenu: true
},
// 指派生产通知单 -> 详情
{
path: '/memberCenter/handling/assign/detail',
name: 'assignProductionDetail',
icon: 'smile',
component: '@/pages/handling/assign/detail',
hideInMenu: true
},
// // 指派生产通知单 -> 详情
// {
// path: '/memberCenter/handling/assign/detail',
// name: 'assignProductionDetail',
// icon: 'smile',
// component: '@/pages/handling/assign/detail',
// hideInMenu: true
// },
// 指派生产通知单 -> 待审核通知单(一级)
{
path: '/memberCenter/handling/assign/examineFirst',
path: '/memberCenter/handling/assign/pendingFirst',
name: 'examineFirst',
icon: 'smile',
component: '@/pages/handling/assign/examineFirst'
component: '@/pages/handling/components/Query'
},
// 指派生产通知单 -> 待审核通知单(二级)
{
path: '/memberCenter/handling/assign/examineSecond',
path: '/memberCenter/handling/assign/pendingSecond',
name: 'examineSecond',
icon: 'smile',
component: '@/pages/handling/assign/examineSecond'
component: '@/pages/handling/components/Query'
},
// 指派生产通知单 -> 待提交生产通知单
{
path: '/memberCenter/handling/assign/toBeSubmit',
path: '/memberCenter/handling/assign/pendingSubmit',
name: 'toBeSubmit',
icon: 'smile',
component: '@/pages/handling/assign/toBeSubmit'
component: '@/pages/handling/components/Query'
},
// 指派生产通知单 -> 待新增加工入库单
{
path: '/memberCenter/handling/assign/processStock',
path: '/memberCenter/handling/assign/pendingAddProcessing',
name: 'processStock',
icon: 'smile',
component: '@/pages/handling/assign/processStock'
component: '@/pages/handling/components/Query'
},
// 指派生产通知单 -> 待收货生产通知单
{
path: '/memberCenter/handling/assign/toBeRecieve',
path: '/memberCenter/handling/assign/pendingReceive',
name: 'toBeRecieve',
icon: 'smile',
component: '@/pages/handling/assign/toBeRecieve'
component: '@/pages/handling//components/Query'
},
// 指派生产通知单 -> 新建加工入库单
{
......
......@@ -239,7 +239,6 @@ const MemberSettleAdd: React.FC = () => {
fetchTableData={params => fetchMemberData(params)}
tableProps={{
rowKey: 'memberId',
}}
formilyProps={
{
......
......@@ -13,6 +13,111 @@ import EnterPrise from '../../components/EnterPrise';
import ProcessProducts from '../../components/ProcessProducts';
import ProcessOrder from '../../components/ProcessOrder';
import {WrapUploadFile} from '../../components/UploadFile';
import ModalTable from '@/components/ModalTable';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import SearchSelect from '@/components/NiceForm/components/SearchSelect'
import Search from '@/components/NiceForm/components/Search'
import Submit from '@/components/NiceForm/components/Submit'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch'
export const memberSchema = {
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: {
roleId: {
type: 'string',
enum: [],
"x-component-props": {
placeholder: '选择会员角色',
style: {width: '200px'}
}
},
submit: {
"x-component": 'Submit',
"x-mega-props": {
span: 1
},
"x-component-props": {
children: '查询'
}
}
}
}
}
}
export const memberSchema1 = {
type: 'object',
properties: {
"search_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: {
roleId: {
type: 'string',
enum: [],
"x-component-props": {
placeholder: '选择会员角色',
style: {width: '200px'}
}
},
submit: {
"x-component": 'Submit',
"x-mega-props": {
span: 1
},
"x-component-props": {
children: '查询'
}
}
}
}
}
}
/*
* @Author: Bill
* @Date: 2020-10-12 11:36:38
......@@ -110,6 +215,20 @@ const Add: React.FC<{}> = () => {
formActions.setFieldValue('Tabs.tab-2.layout.someLists', rows)
}
const fetchMemberData = async (params) => {
console.log(params);
return {
totalCount: 1,
data: []
}
}
const handleOkAddMember = () => {
console.log(123);
// formActions.setFieldValue('Tabs.memberTab.someLists', memberRowCtl.selectRow);
// setVisible(false);
}
/** 逻辑 end */
return (
......@@ -143,23 +262,84 @@ const Add: React.FC<{}> = () => {
effects={formEffects()}
/>
{/* 加工企业 Modal 框 */}
<EnterPrise
{/* <EnterPrise
visible={modalEnterPriseVisible}
cancel={() => setEnterPriseModalVisible(false)}
></EnterPrise>
></EnterPrise> */}
{/* 加工商品Modal框 */}
<ProcessProducts
{/* <ProcessProducts
visible={modalProductVisible}
cancel={() => setModalProductVisible(false)}
actions={ProcessProductActions}
onOk={processProductSelected}
></ProcessProducts>
></ProcessProducts> */}
<ModalTable
modalTitle='选择加工企业'
confirm={handleOkAddMember}
cancel={() => setEnterPriseModalVisible(false)}
visible={modalEnterPriseVisible}
columns={[]}
// rowSelection={memberRowSelection}
fetchTableData={params => fetchMemberData(params)}
tableProps={{
rowKey: 'memberId',
}}
formilyProps={
{
ctx: {
schema: memberSchema,
actions: formActions,
components: { ModalSearch: Search, SearchSelect, Submit } ,
effects: ($, actions) => {
useStateFilterSearchLinkageEffect(
$,
actions,
'name',
FORM_FILTER_PATH,
)
}
}
}
}
/>
<ModalTable
modalTitle='选择加工企业1'
confirm={handleOkAddMember}
cancel={() => setModalProductVisible(false)}
visible={modalProductVisible}
columns={[]}
// rowSelection={memberRowSelection}
fetchTableData={params => fetchMemberData(params)}
tableProps={{
rowKey: 'memberId',
}}
formilyProps={
{
ctx: {
schema: memberSchema1,
actions: formActions,
components: { ModalSearch: Search, SearchSelect, Submit } ,
effects: ($, actions) => {
useStateFilterSearchLinkageEffect(
$,
actions,
'search_name',
FORM_FILTER_PATH,
)
}
}
}
}
/>
<ProcessOrder
{/* <ProcessOrder
visible={modalOrderVisible}
cancel={() => setModalOrderVisible(false)}
>
</ProcessOrder>
</ProcessOrder> */}
</Card>
</PageHeaderWrapper>
)
......
......@@ -3,10 +3,10 @@ import { Modal} from 'antd';
import { PublicApi } from '@/services/api';
import EyePreview from '@/components/EyePreview';
import { BasicForm, TablePagination, SearchForm } from '../ModalForTable'
import { createFormActions } from '@formily/antd';
import { createAsyncFormActions } from '@formily/antd';
import processProductSchema from '../../schema/processProductSchema';
// const actions = createFormActions();
const actions = createAsyncFormActions();
const columns = [
{ title: 'ID', dataIndex: 'id'},
{ title: '商品名称', dataIndex: 'name'},
......@@ -30,7 +30,7 @@ const tableSchema = {
}
const schema = processProductSchema(tableSchema);
const paginationParams = { current: 1, pageSize: 10};
const ProcessProducts = ({visible, cancel, actions, ...restProps}) => {
const ProcessProducts = ({visible, cancel, ...restProps}) => {
const [selectedRow, setSelectedRow] = useState({});
const fetchData = async (params: any) => {
let res = await PublicApi.getManageContentColumnPage(params);
......@@ -38,6 +38,7 @@ const ProcessProducts = ({visible, cancel, actions, ...restProps}) => {
};
const setTableStatus = ({dataSource, totalCount}) => {
actions.setFieldState("table", state => {
//@ts-ignore
state.props["x-component-props"]["loading"] = false;
......@@ -52,6 +53,10 @@ const ProcessProducts = ({visible, cancel, actions, ...restProps}) => {
useEffect(() => {
if(visible) {
actions.setFieldState("table", state => {
//@ts-ignore
state.props["x-component-props"]["loading"] = true;
})
fetchData(paginationParams).then((data) => {
setTableStatus({dataSource:data.data, totalCount: data.totalCount})
})
......@@ -82,6 +87,10 @@ const ProcessProducts = ({visible, cancel, actions, ...restProps}) => {
}
}
const handleSubmit = (value) => {
console.log(value);
}
const onOk = () => {
restProps.onOk(selectedRow)
cancel();
......@@ -99,6 +108,7 @@ const ProcessProducts = ({visible, cancel, actions, ...restProps}) => {
schema={schema}
actions={actions}
onSearch={handleSearch}
onSubmit={handleSubmit}
expressionScope={{rowSelection: rowSelection}}
></SearchForm>
......
/**
* 指派生产通知单-生产通知单查询页
*/
export const QUERY_SEARCH_NAME = "desc";
/**
* 指派生产通知单-待新增生产通知单列表页
*/
export const TO_BE_ADD_QUERY_SEARCH_NAME = "search";
/**
* 指派生产通知单-待审核生产通知单(一级)
*/
export const PENDING_FIRST_NOTICE = "search";
/**
* 指派生产通知单-待审核生产通知单(二级)
*/
export const PENDING_SECOND_NOTICE = "search";
/**
* 指派生产通知单-待提交生产通知单
*/
export const PENDING_TO_SUBMIT = "search";
/**
* 指派生产通知单-待新增加工入库单
*/
export const PENDING_ADD_PROCESS = "desc"
/**
* 指派生产通知单-待收货生产通知单
*/
export const PENDING_RECEIVE = "desc"
\ No newline at end of file
/**
* @author Bill
* @description 加工通用列表页列表页, 用于 ["生产通知单","待生产通知单","待审核生产通知单(一级)", ""]等
*/
import React, { useRef } from 'react';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { Card, Space, Button, Menu, Dropdown } from 'antd';
import NiceForm from '@/components/NiceForm';
import { StandardTable } from 'god';
import { PublicApi } from '@/services/api';
import EyePreview from '@/components/EyePreview';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { createFormActions } from '@formily/antd';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { PlusOutlined } from '@ant-design/icons';
import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
import { usePageStatus } from '@/hooks/usePageStatus';
import { ColumnsType } from 'antd/es/table';
import { DownOutlined, DeleteOutlined } from '@ant-design/icons';
import { history } from 'umi';
import { querySchema, tobeAddQuerySchema, pendingFirstQuerySchema } from './schema';
import {
QUERY_SEARCH_NAME,
TO_BE_ADD_QUERY_SEARCH_NAME,
PENDING_FIRST_NOTICE,
PENDING_SECOND_NOTICE,
PENDING_TO_SUBMIT,
PENDING_ADD_PROCESS,
PENDING_RECEIVE
} from './contants';
const formActions = createFormActions();
const columns: ColumnsType = [
{
title: '通知单号',
dataIndex: 'id',
},
{
title: '通知单摘要',
dataIndex: 'desc',
},
{
title: '加工企业名称',
dataIndex: 'businessName'
},
{
title: '单据时间',
dataIndex: 'create-at',
},
{
title: '外部状态',
dataIndex: 'status',
},
{
title: '内部状态',
dataIndex: 'status2'
}
]
// 根据 lastTypeParams, 获取相对应的schema
const schemas = {
"/query": querySchema,
"/tobeAddQuery": tobeAddQuerySchema,
"/pendingFirst": pendingFirstQuerySchema,
"/pendingSecond": pendingFirstQuerySchema,
"/pendingSubmit": pendingFirstQuerySchema,
"/pendingAddProcessing": querySchema,
"/pendingReceive": querySchema
}
// 根据 lastTypeParams, 获取对应的高级筛选 name
const filterName = {
"/query": QUERY_SEARCH_NAME,
"/tobeAddQuery": TO_BE_ADD_QUERY_SEARCH_NAME,
"/pendingFirst": PENDING_FIRST_NOTICE,
"/pendingSecond": PENDING_SECOND_NOTICE,
"/pendingSubmit": PENDING_TO_SUBMIT,
"/pendingAddProcessing": PENDING_ADD_PROCESS,
"/pendingReceive": PENDING_RECEIVE
}
const Query: React.FC<{}> = (props) => {
const ref = useRef<any>({});
const { lastTypeParams } = usePageStatus();
const fetchData = async (params: any) => {
console.log(params);
// let res = await PublicApi.getMemberAbilityInfoPage(params);
// return res.data;
return {}
};
// 初始化高级筛选选项
const fetchSelectOptions = async () => {
return {};
};
const menu = (
<Menu >
<Menu.Item key="BatchDelete" icon={<DeleteOutlined />}>
批量删除
</Menu.Item>
</Menu>
);
const controllerBtns = (
<Space>
<Button
type="primary"
onClick={() => { history.push('/memberCenter/handling/assign/tobeAddQuery/add') }}
>
<PlusOutlined /> 新建
</Button>
<Button>批量提交审核</Button>
<Dropdown.Button
overlay={menu}
trigger={['click']}
icon={<DownOutlined />}
>
更多
</Dropdown.Button>
</Space>
);
const batchUpdateBtn = (
<div>
{
lastTypeParams == 'pendingSubmit'
? <Button>批量提交</Button>
: <Button>批量提交审核</Button>
}
</div>
)
return (
<PageHeaderWrapper
title={"生产通知单查询"}
>
<Card>
<StandardTable
tableProps={{
rowKey: 'memberId',
}}
columns={columns}
currentRef={ref}
fetchTableData={(params: any) => fetchData(params)}
controlRender={
<NiceForm
actions={formActions}
expressionScope={{controllerBtns, batchUpdateBtn}}
onSubmit={values => ref.current.reload(values)}
effects={($, actions) => {
useStateFilterSearchLinkageEffect($, actions, filterName[lastTypeParams], FORM_FILTER_PATH);
useAsyncInitSelect(
['innerStatus', 'outerStatus'],
fetchSelectOptions,
);
}}
schema={schemas[lastTypeParams]}
/>
}
/>
</Card>
</PageHeaderWrapper>
)
}
export default Query
import { ISchema } from '@formily/antd';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { QUERY_SEARCH_NAME, TO_BE_ADD_QUERY_SEARCH_NAME } from './contants';
/**
* @author: Bill
* @description: 指派生产通知单查询页 schema - 生产通知单查询
*/
export const querySchema: ISchema = {
type: 'object',
properties: {
megaLayout: {
type: 'object',
'x-component': 'mega-layout',
properties: {
[QUERY_SEARCH_NAME]: {
type: 'string',
'x-component': 'Search',
'x-component-props': {
placeholder: '搜索',
align: 'flex-left',
tip: '输入通知单号、通知单摘要进行搜索',
},
},
[FORM_FILTER_PATH]: {
type: 'object',
'x-component': 'mega-layout',
'x-component-props': {
grid: true,
full: true,
autoRow: true,
columns: 6,
},
properties: {
name: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '加工企业名称(全部)',
allowClear: true,
},
},
time: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '单据时间(全部)',
allowClear: true,
},
},
outerStatus: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '外部状态(全部)',
allowClear: true,
},
},
innerStatus: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '内部状态(全部)',
allowClear: true,
},
},
submit: {
'x-component': 'Submit',
'x-mega-props': {
span: 1,
},
'x-component-props': {
children: '查询',
},
},
},
},
},
},
},
};
/**
* @description 待生产通知单列表页
*/
export const tobeAddQuerySchema: ISchema = {
type: 'object',
properties: {
megaLayout: {
type: 'object',
'x-component': 'mega-layout',
properties: {
topLayout: {
type: 'object',
'x-component': 'Mega-Layout',
'x-component-props': {
grid: true,
},
properties: {
ctl: {
type: 'object',
'x-component': 'Children',
'x-component-props': {
children: '{{controllerBtns}}',
},
},
[TO_BE_ADD_QUERY_SEARCH_NAME]: {
type: 'string',
'x-component': 'Search',
'x-component-props': {
placeholder: '搜索',
},
},
},
},
[FORM_FILTER_PATH]: {
type: 'object',
'x-component': 'flex-layout',
'x-component-props': {
colStyle: {
marginLeft: 20,
},
},
properties: {
name: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '加工企业名称(全部)',
allowClear: true,
},
},
time: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '单据时间(全部)',
allowClear: true,
},
},
outerStatus: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '外部状态(全部)',
allowClear: true,
},
},
innerStatus: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '内部状态(全部)',
allowClear: true,
},
},
submit: {
'x-component': 'Submit',
'x-mega-props': {
span: 1,
},
'x-component-props': {
children: '查询',
},
},
},
},
},
},
},
};
/**
* 指派生产通知单 - 待审核生产通知单(一级)
* - 待审核生产通知单 (二级)
*/
export const pendingFirstQuerySchema: ISchema = {
type: 'object',
properties: {
megaLayout: {
type: 'object',
'x-component': 'mega-layout',
properties: {
topLayout: {
type: 'object',
'x-component': 'Mega-Layout',
'x-component-props': {
grid: true,
},
properties: {
ctl: {
type: 'object',
'x-component': 'Children',
'x-component-props': {
children: '{{batchUpdateBtn}}',
},
},
search: {
type: 'string',
'x-component': 'Search',
'x-component-props': {
placeholder: '搜索',
},
},
},
},
[FORM_FILTER_PATH]: {
type: 'object',
'x-component': 'flex-layout',
'x-component-props': {
colStyle: {
marginLeft: 20,
},
},
properties: {
name: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '加工企业名称(全部)',
allowClear: true,
},
},
time: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '单据时间(全部)',
allowClear: true,
},
},
outerStatus: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '外部状态(全部)',
allowClear: true,
},
},
innerStatus: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '内部状态(全部)',
allowClear: true,
},
},
submit: {
'x-component': 'Submit',
'x-mega-props': {
span: 1,
},
'x-component-props': {
children: '查询',
},
},
},
},
},
},
},
};
/**
* 待提交生产通知单
*/
......@@ -3,7 +3,6 @@ import UploadFile from './UploadFile';
const WrapUpload = (props) => {
const { mutators } = props
const uploadProps = props.props['x-component-props'] || {}
console.log(props.value);
return (
<UploadFile
fileList = {props.value}
......
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