Commit 7faf08c3 authored by 前端-黄佳鑫's avatar 前端-黄佳鑫

修改需求发布 需求报价 确认需求报价得外部内部状态显示

parent f09618ac
// 内部状态
import React, { useEffect, useState } from 'react';
import React, { useState, useEffect } from 'react';
import { Tag } from 'antd';
import { PublicApi } from '@/services/api';
interface params {
state?: any,
data: Array<any>
data: Array<any>,
colorType?: number
}
const ExternalState: React.FC<params> = (props) => {
const { state, data } = props;
const color = ['default', 'processing', 'warning', 'success', 'error']
const { state, data, colorType } = props;
const [color, setcolor] = useState<any>([]);
useEffect(() => {
switch(colorType) {
case 1:
setcolor(['', 'default', 'warning', 'default', 'warning', 'success', 'error', 'error', 'error'])
break;
case 2:
setcolor(['', 'default', 'processing', 'warning', 'success', 'error'])
break;
}
},[])
return (
<>
{data.length > 0 && data.map((item: any) => {
......
// 外部状态
import React from 'react';
import React, { useState, useEffect } from 'react';
import { Badge } from 'antd';
interface params {
state?: any,
data: Array<any>
data: Array<any>,
colorType?: number
}
const InteriorState: React.FC<params> = (props) => {
const { state, data } = props;
const color: any = ['default', 'warning', 'processing', 'success', 'error']
const { state, data, colorType } = props;
const [color, setcolor] = useState<any>([]);
useEffect(() => {
switch(colorType) {
case 1:
setcolor(['', 'default', 'warning', 'warning', 'processing', 'success', 'error', 'error'])
break;
case 2:
setcolor(['', 'default', 'warning', 'warning', 'success', 'success', 'error'])
break;
}
}, [])
return (
<>
{data.length > 0 && data.map((item: any) => {
......
......@@ -77,13 +77,13 @@ const ReviewList: React.FC<parmas> = (props) => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState state={text} data={externalState} />
render: text => <GeneralExternalState colorType={2} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState state={text} data={interiorState} />
render: (text: any) => <GeneralInteriorState colorType={2} state={text} data={interiorState} />
},
{
title: '操作',
......
......@@ -58,13 +58,13 @@ const PendingSubmit: React.FC<{}> = () => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState state={text} data={externalState} />
render: text => <GeneralExternalState colorType={2} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState state={text} data={interiorState} />
render: (text: any) => <GeneralInteriorState colorType={2} state={text} data={interiorState} />
},
{
title: '操作',
......
......@@ -58,13 +58,13 @@ const PendingSubmitReview: React.FC<{}> = () => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState state={text} data={externalState} />
render: text => <GeneralExternalState colorType={2} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState state={text} data={interiorState} />
render: (text: any) => <GeneralInteriorState colorType={2} state={text} data={interiorState} />
},{
title: '操作',
key: 'options',
......
......@@ -56,13 +56,13 @@ const EnquiryOrder: React.FC<{}> = (props) => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState state={text} data={externalState} />
render: text => <GeneralExternalState colorType={2} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState state={text} data={interiorState} />
render: (text: any) => <GeneralInteriorState colorType={2} state={text} data={interiorState} />
}];
//交易能力 询价报价 询价单查询
const fetchData = (params?: any) => {
......
......@@ -73,13 +73,13 @@ export const commonEnquieryOfferSchema: ISchema = {
details:{
type:'string',
"x-component-props":{
placeholder:'价单摘要'
placeholder:'价单摘要'
}
},
memberName:{
type:'string',
"x-component-props":{
placeholder:'询价会员'
placeholder:'询价会员'
}
},
voucherTime:{
......@@ -463,7 +463,7 @@ export const quoteFormSearch: ISchema = {
type:'string',
"x-component": 'Select',
"x-component-props":{
placeholder:'部状态',
placeholder:'部状态',
className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ??
fetchSearch: PublicApi.getOrderProductInquiryInteriorStateEnum,
style: {
......
......@@ -46,6 +46,8 @@ import { FORM_FILTER_PATH } from '@/formSchema/const';
import { commonEnquieryOfferSchema } from '../schema';
import { PublicApi } from '@/services/api';
import { values, action } from 'mobx';
import GeneralExternalState from '@/pages/transaction/common/externalState';
import GeneralInteriorState from '@/pages/transaction/common/interiorState';
/**
* @description: type: 1.待审核1级,2.待审核2级,3.待提交报价单
* @param {type}
......@@ -156,17 +158,13 @@ const List: React.FC<listParams> = (props) => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
align: 'center',
render: (text: any, reconds) =>
enquiryOfferSearchexternalState(text)
render: text => <GeneralExternalState colorType={1} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
align: 'center',
render: (text: any) =>
enquiryOfferSearchInteriorState(text)
render: (text: any) => <GeneralInteriorState colorType={1} state={text} data={interiorState} />
},
{
title: '操作',
......@@ -292,6 +290,31 @@ const List: React.FC<listParams> = (props) => {
</Col>
</Row>
const [externalState, setExternalState] = useState<any>([]);
const [interiorState, setInteriorState] = useState<any>([]);
useEffect(() => {
const external = new Promise(resolve => {
//查询需求单外部状态枚举列表
PublicApi.getOrderRequisitionFormExternalStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
const interior = new Promise(resolve => {
// 查询需求单内部状态枚举列表
PublicApi.getOrderRequisitionFormInteriorStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
Promise.all([external, interior]).then(res => {
setExternalState(res[0])
setInteriorState(res[1])
})
}, [])
return (
<PageHeaderWrapper>
<Card>
......
......@@ -10,7 +10,7 @@
* @param {type}
* @return {type}
*/
import React, { ReactNode, useRef, useState,useEffect } from 'react';
import React, { ReactNode, useRef, useState, useEffect } from 'react';
import { history } from 'umi';
import {
Button,
......@@ -24,7 +24,7 @@ import {
} from 'antd';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import {
PlusOutlined,DownOutlined,DeleteOutlined
PlusOutlined, DownOutlined, DeleteOutlined
} from '@ant-design/icons';
import { StandardTable } from 'god';
import { ColumnType } from 'antd/lib/table/interface';
......@@ -34,28 +34,32 @@ import {
} from 'god/dist/src/standard-table/TableController';
import EyePreview from '@/components/EyePreview';
import StatusSwitch from '@/components/StatusSwitch';
import {interiorState,interiorStateTwo,
enquirySearchInteriorState,enquirySearchexternalState,enquiryOfferSearchexternalState} from '../../common/tableStatusList'
import {
interiorState, interiorStateTwo,
enquirySearchInteriorState, enquirySearchexternalState, enquiryOfferSearchexternalState
} from '../../common/tableStatusList'
import statuStyle from '../../common/colorTag'
import NiceForm from '@/components/NiceForm';
import {timeRange} from '@/utils/index'
import {filterInteriorStateList,filterExternalStateList} from './../../common/statusList'
import { timeRange } from '@/utils/index'
import { filterInteriorStateList, filterExternalStateList } from './../../common/statusList'
import moment from 'moment'
import { createFormActions, FormEffectHooks } from '@formily/antd';
import {PageStatus} from '@/hooks/usePageStatus'
import { PageStatus } from '@/hooks/usePageStatus'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import {searchSelectGetSelectCategoryOptionEffect} from '../../effect/index'
import { searchSelectGetSelectCategoryOptionEffect } from '../../effect/index'
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { enquieryOfferSearchSchema } from '../schema';
import { PublicApi } from '@/services/api';
import { values, action } from 'mobx';
export interface listParams{
import GeneralExternalState from '@/pages/transaction/common/externalState';
import GeneralInteriorState from '@/pages/transaction/common/interiorState';
export interface listParams {
type: number;
des?: string;
}
const formActions = createFormActions();
const List:React.FC<{listParams}> = (props) => {
const List: React.FC<{ listParams }> = (props) => {
const ref = useRef<any>({})
const [more, setmore] = useState(false)
const [selectRow, setSelectRow] = useState([])
......@@ -69,10 +73,10 @@ const List:React.FC<{listParams}> = (props) => {
* @param {type} type: 1 需求发布 2报价 可以根据props.type处理
* @return {type}
*/
const handleToDetail= (type,id) => {
if(type === 1){
const handleToDetail = (type, id) => {
if (type === 1) {
history.push(`/memberCenter/tranactionAbility/enquiryOffer/enquiryOfferSearch/rfq/preview?id=${id}`)
}else{
} else {
history.push(`/memberCenter/tranactionAbility/enquiryOffer/enquiryOfferSearch/demand/preview?id=${id}`)
}
}
......@@ -83,89 +87,74 @@ const List:React.FC<{listParams}> = (props) => {
const columns : ColumnType<any>[] = [
const columns: ColumnType<any>[] = [
{
title:'报价单号',
key:'quotationNo',
dataIndex:'quotationNo',
align:'center',
render: (text: any,records: any) => <EyePreview type="button" handleClick={() => {
handleToDetail(1,records.id)
title: '报价单号',
key: 'quotationNo',
dataIndex: 'quotationNo',
align: 'center',
render: (text: any, records: any) => <EyePreview type="button" handleClick={() => {
handleToDetail(1, records.id)
}}>{text}</EyePreview>
},
{
title:'需求单号',
key:'requisitionFormNo',
dataIndex:'requisitionFormNo',
align:'center',
render: (text: any,records: any) => <EyePreview type="button" handleClick={() => {
handleToDetail(2,records.requisitionId)//需求单id
title: '需求单号',
key: 'requisitionFormNo',
dataIndex: 'requisitionFormNo',
align: 'center',
render: (text: any, records: any) => <EyePreview type="button" handleClick={() => {
handleToDetail(2, records.requisitionId)//需求单id
}}>{text}</EyePreview>
},
{
title:'报价单摘要',
key:'quotationSummary',
dataIndex:'quotationSummary',
align:'left'
title: '报价单摘要',
key: 'quotationSummary',
dataIndex: 'quotationSummary',
align: 'left'
},
{
title:'需求会员',
key:'demandMembers',
dataIndex:'demandMembers',
align:'left'
title: '需求会员',
key: 'demandMembers',
dataIndex: 'demandMembers',
align: 'left'
},
{
title:'报价截至时间',
key:'quotationAsTime',
dataIndex:'quotationAsTime',
align:'center',
render:(text:any)=> format(text)
title: '报价截至时间',
key: 'quotationAsTime',
dataIndex: 'quotationAsTime',
align: 'center',
render: (text: any) => format(text)
},
{
title:'单据时间',
key:'documentsTime',
dataIndex:'documentsTime',
align:'center',
render:(text:any)=> format(text)
title: '单据时间',
key: 'documentsTime',
dataIndex: 'documentsTime',
align: 'center',
render: (text: any) => format(text)
},
{
title:'外部状态',
key:'externalState',
dataIndex:'externalState',
align:'center',
render: (text: any, reconds) =>
enquiryOfferSearchexternalState(text)
// {
// let component: ReactNode = null
// if (text == 3) {
// component = <><span style={statuStyle.warn}>审核不通过需求单</span></>
// }else if (text == 1) {
// component = <><span style={statuStyle.default}>待提交需求单</span></>
// }
// return component
// }
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState colorType={1} state={text} data={externalState} />
},
{
title:'内部状态',
key:'interiorState',
dataIndex:'interiorState',
align:'center',
render:(text:any) =>
enquirySearchInteriorState(text)
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState colorType={1} state={text} data={interiorState} />
}
]
]
useEffect(()=> {
},[])
useEffect(() => {
}, [])
/**
* @description: 删除
* @param {type}
* @return {type}
*/
const handleDelete = (arr:number[]| string[]) => {
const handleDelete = (arr: number[] | string[]) => {
PublicApi.postOrderRequisitionFormDeleteAll({ ids: arr }).then(res => {
ref.current.reload()
})
......@@ -178,16 +167,16 @@ const List:React.FC<{listParams}> = (props) => {
ref.current.reload()
})
}
const handleSumbit = (values:any) => {
if(values.voucherTime){
const handleSumbit = (values: any) => {
if (values.voucherTime) {
values.startVoucherTime = timeRange(values.voucherTime).st
values.endVoucherTime = timeRange(values.voucherTime).et
delete values.voucherTime
}
console.log('values',values)
console.log('values', values)
ref.current.reload(values)
}
const handleBatchDel = (e:any) => {
const handleBatchDel = (e: any) => {
}
const rowSelection = {
......@@ -202,24 +191,47 @@ const List:React.FC<{listParams}> = (props) => {
<Col span={24}>
</Col>
</Row>
const [externalState, setExternalState] = useState<any>([]);
const [interiorState, setInteriorState] = useState<any>([]);
useEffect(() => {
const external = new Promise(resolve => {
//查询需求单外部状态枚举列表
PublicApi.getOrderRequisitionFormExternalStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
const interior = new Promise(resolve => {
// 查询需求单内部状态枚举列表
PublicApi.getOrderRequisitionFormInteriorStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
Promise.all([external, interior]).then(res => {
setExternalState(res[0])
setInteriorState(res[1])
})
}, [])
return (
<PageHeaderWrapper>
<Card>
<StandardTable
currentRef={ref}
columns={columns}
tableProps={{rowKew:'id'}}
tableProps={{ rowKew: 'id' }}
fetchTableData={(params: any) => fetchData(params)}
// rowSelection={rowSelection}
controlRender={
<NiceForm
actions={formActions}
onSubmit={values => handleSumbit(values)}
effects={($,actions) => {
useStateFilterSearchLinkageEffect($,actions,'quotationNo',FORM_FILTER_PATH)
effects={($, actions) => {
useStateFilterSearchLinkageEffect($, actions, 'quotationNo', FORM_FILTER_PATH)
FormEffectHooks.onFieldChange$('category').subscribe(state => {
searchSelectGetSelectCategoryOptionEffect(actions,'category')
searchSelectGetSelectCategoryOptionEffect(actions, 'category')
})
}}
schema={enquieryOfferSearchSchema}
......
......@@ -10,7 +10,7 @@
* @param {type}
* @return {type}
*/
import React, { ReactNode, useRef, useState,useEffect } from 'react';
import React, { ReactNode, useRef, useState, useEffect } from 'react';
import { history } from 'umi';
import {
Button,
......@@ -24,7 +24,7 @@ import {
} from 'antd';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import {
PlusOutlined,DownOutlined,DeleteOutlined
PlusOutlined, DownOutlined, DeleteOutlined
} from '@ant-design/icons';
import { StandardTable } from 'god';
import { ColumnType } from 'antd/lib/table/interface';
......@@ -34,27 +34,30 @@ import {
} from 'god/dist/src/standard-table/TableController';
import EyePreview from '@/components/EyePreview';
import StatusSwitch from '@/components/StatusSwitch';
import {demandQuoteExternalState} from '../../common/tableStatusList'
import { demandQuoteExternalState } from '../../common/tableStatusList'
import statuStyle from '../../common/colorTag'
import NiceForm from '@/components/NiceForm';
import {timeRange} from '@/utils/index'
import {filterInteriorStateList,filterExternalStateList} from './../../common/statusList'
import { timeRange } from '@/utils/index'
import { filterInteriorStateList, filterExternalStateList } from './../../common/statusList'
import moment from 'moment'
import { createFormActions, FormEffectHooks } from '@formily/antd';
import {PageStatus} from '@/hooks/usePageStatus'
import { PageStatus } from '@/hooks/usePageStatus'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import {searchSelectGetSelectCategoryOptionEffect} from '../../effect/index'
import { searchSelectGetSelectCategoryOptionEffect } from '../../effect/index'
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { enquierySearchSchema } from '../schema';
import { PublicApi } from '@/services/api';
import { values, action } from 'mobx';
export interface listParams{
import GeneralExternalState from '@/pages/transaction/common/externalState';
import GeneralInteriorState from '@/pages/transaction/common/interiorState';
export interface listParams {
type: number;
des?: string;
}
const formActions = createFormActions();
const List:React.FC<{listParams}> = (props) => {
const List: React.FC<{ listParams }> = (props) => {
const ref = useRef<any>({})
const [more, setmore] = useState(false)
const [selectRow, setSelectRow] = useState([])
......@@ -73,75 +76,70 @@ const List:React.FC<{listParams}> = (props) => {
* @param {type} 可以根据props.type处理
* @return {type}
*/
const handleToDetail= (id) => {
const handleToDetail = (id) => {
history.push(`/memberCenter/tranactionAbility/enquiryOffer/enquirySearch/preview?id=${id}`)
}
const columns : ColumnType<any>[] = [
const columns: ColumnType<any>[] = [
{
title:'需求单号',
key:'requisitionFormNo',
dataIndex:'requisitionFormNo',
align:'center',
render: (text: any,records: any) => <EyePreview type="button" handleClick={() => {
title: '需求单号',
key: 'requisitionFormNo',
dataIndex: 'requisitionFormNo',
align: 'center',
render: (text: any, records: any) => <EyePreview type="button" handleClick={() => {
handleToDetail(records.id)
}}>{text}</EyePreview>
},
{
title:'需求摘要',
key:'details',
dataIndex:'details',
align:'left'
title: '需求摘要',
key: 'details',
dataIndex: 'details',
align: 'left'
},
{
title:'品类',
key:'category',
dataIndex:'category',
align:'left'
title: '品类',
key: 'category',
dataIndex: 'category',
align: 'left'
},
{
title:'需求会员',
key:'demandMembers',
dataIndex:'demandMembers',
align:'left'
title: '需求会员',
key: 'demandMembers',
dataIndex: 'demandMembers',
align: 'left'
},
{
title:'交付日期',
key:'deliveryTime',
dataIndex:'deliveryTime',
align:'center',
render:(text:any)=> format(text)
title: '交付日期',
key: 'deliveryTime',
dataIndex: 'deliveryTime',
align: 'center',
render: (text: any) => format(text)
},
{
title:'报价截至时间',
key:'quotationAsTime',
dataIndex:'quotationAsTime',
align:'center',
render:(text:any)=> format(text)
title: '报价截至时间',
key: 'quotationAsTime',
dataIndex: 'quotationAsTime',
align: 'center',
render: (text: any) => format(text)
},
{
title:'单据时间',
key:'voucherTime',
dataIndex:'voucherTime',
align:'center',
render:(text:any)=> format(text)
title: '单据时间',
key: 'voucherTime',
dataIndex: 'voucherTime',
align: 'center',
render: (text: any) => format(text)
},
{
title:'外部状态',
key:'externalState',
dataIndex:'externalState',
align:'center',
filters: filterExternalStateList,
filterMultiple: false,
onFilter: (value, record) => record.externalState === value,
render: (text: any, reconds) =>
demandQuoteExternalState(text)
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState colorType={1} state={text} data={externalState} />
},
{
title:'操作',
key:'option',
dataIndex:'option',
align:'center',
title: '操作',
key: 'option',
dataIndex: 'option',
align: 'center',
render: (text: any, reconds) =>
<Button
type='link'
......@@ -157,15 +155,15 @@ const List:React.FC<{listParams}> = (props) => {
history.push(`/memberCenter/tranactionAbility/enquiryOffer/toAddSubmitList/quote?id=${id}`);
}
useEffect(()=> {
},[])
useEffect(() => {
}, [])
/**
* @description: 删除
* @param {type}
* @return {type}
*/
const handleDelete = (arr:number[]| string[]) => {
const handleDelete = (arr: number[] | string[]) => {
PublicApi.postOrderRequisitionFormDeleteAll({ ids: arr }).then(res => {
ref.current.reload()
})
......@@ -178,16 +176,16 @@ const List:React.FC<{listParams}> = (props) => {
ref.current.reload()
})
}
const handleSumbit = (values:any) => {
if(values.voucherTime){
const handleSumbit = (values: any) => {
if (values.voucherTime) {
values.startVoucherTime = timeRange(values.voucherTime).st
values.endVoucherTime = timeRange(values.voucherTime).et
delete values.voucherTime
}
console.log('values',values)
console.log('values', values)
ref.current.reload(values)
}
const handleBatchDel = (e:any) => {
const handleBatchDel = (e: any) => {
}
const rowSelection = {
......@@ -203,23 +201,48 @@ const List:React.FC<{listParams}> = (props) => {
</Col>
</Row>
const [externalState, setExternalState] = useState<any>([]);
const [interiorState, setInteriorState] = useState<any>([]);
useEffect(() => {
const external = new Promise(resolve => {
//查询需求单外部状态枚举列表
PublicApi.getOrderRequisitionFormExternalStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
const interior = new Promise(resolve => {
// 查询需求单内部状态枚举列表
PublicApi.getOrderRequisitionFormInteriorStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
Promise.all([external, interior]).then(res => {
setExternalState(res[0])
setInteriorState(res[1])
})
}, [])
return (
<PageHeaderWrapper>
<Card>
<StandardTable
currentRef={ref}
columns={columns}
tableProps={{rowKew:'id'}}
tableProps={{ rowKew: 'id' }}
fetchTableData={(params: any) => fetchData(params)}
// rowSelection={rowSelection}
controlRender={
<NiceForm
actions={formActions}
onSubmit={values => handleSumbit(values)}
effects={($,actions) => {
useStateFilterSearchLinkageEffect($,actions,'requisitionFormNo',FORM_FILTER_PATH)
effects={($, actions) => {
useStateFilterSearchLinkageEffect($, actions, 'requisitionFormNo', FORM_FILTER_PATH)
FormEffectHooks.onFieldChange$('category').subscribe(state => {
searchSelectGetSelectCategoryOptionEffect(actions,'category')
searchSelectGetSelectCategoryOptionEffect(actions, 'category')
})
}}
schema={enquierySearchSchema}
......
......@@ -2,6 +2,7 @@ import { ISchema} from '@formily/antd'
import { FORM_FILTER_PATH } from '@/formSchema/const'
import {TimeList, demandQuoteExternalState , demandQuoteInteriorState} from '../../common/statusList'
import TranactionRoute from 'config/routes/tranactionRoute'
import { PublicApi } from '@/services/api'
/**
* @description: 公用
......@@ -200,10 +201,15 @@ export const enquierySearchSchema: ISchema = {
},
externalState:{
type:'string',
"x-component": 'Select',
"x-component-props":{
placeholder:'外部状态'
placeholder:'外部状态',
className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ??
fetchSearch: PublicApi.getOrderRequisitionFormExternalStateEnum,
style: {
width: 160
}
},
enum: demandQuoteExternalState
},
voucherTime:{
type:'string',
......@@ -296,21 +302,31 @@ export const enquieryOfferSearchSchema: ISchema = {
placeholder:'需求会员'
}
},
voucherTime:{
externalState:{
type:'string',
"x-component": 'Select',
"x-component-props":{
placeholder:'外部状态'
placeholder:'外部状态',
className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ??
fetchSearch: PublicApi.getOrderRequisitionFormExternalStateEnum,
style: {
width: 160
}
},
enum: demandQuoteExternalState
},
externalState:{
interiorState :{
type:'string',
"x-component": 'Select',
"x-component-props":{
placeholder:'内部状态'
placeholder:'内部状态',
className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ??
fetchSearch: PublicApi.getOrderRequisitionFormInteriorStateEnum,
style: {
width: 160
}
},
enum: demandQuoteInteriorState
},
interiorState:{
voucherTime:{
type:'string',
"x-component-props":{
placeholder:'请选择单据时间'
......
......@@ -680,7 +680,7 @@ const Detail: React.FC<{}> = () => {
*/
const interiorTextState = (text) => {
let name = ''
dataInfo.interiorRequisitionFormStateResponses.forEach(element => {
dataInfo.interiorQuotationStateResponses.forEach(element => {
if (element.state === text) {
name = element.operationalProcess
}
......@@ -1156,10 +1156,10 @@ const Detail: React.FC<{}> = () => {
</Radio.Group> */}
<Tabs type="card" size="small" defaultActiveKey='1'>
<TabPane tab='外部单据' key="1">
<Table rowKey={'id'} dataSource={dataInfo.externalRequisitionForms || []} columns={externalColumn(formTime, externalTextState)} />
<Table rowKey={'id'} dataSource={dataInfo.externalRequisitionFormResponses || []} columns={externalColumn(formTime, externalTextState)} />
</TabPane>
<TabPane tab='内部单据' key="2">
<Table rowKey={'id'} dataSource={dataInfo.interiorRequisitionForms || []} columns={interiorColumn(formTime, interiorTextState)} />
<Table rowKey={'id'} dataSource={dataInfo.interiorQuotationLogResponses || []} columns={interiorColumn(formTime, interiorTextState)} />
</TabPane>
</Tabs>
</TabPane>
......
......@@ -5,7 +5,7 @@
* @Copyright: 1549414730@qq.com
* @LastEditTime: 2020-09-28 17:33:36
*/
import React, { ReactNode, useRef, useState,useEffect } from 'react';
import React, { ReactNode, useRef, useState, useEffect } from 'react';
import { history } from 'umi';
import {
Button,
......@@ -20,7 +20,7 @@ import {
} from 'antd';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import {
PlusOutlined,DownOutlined,DeleteOutlined
PlusOutlined, DownOutlined, DeleteOutlined
} from '@ant-design/icons';
import { StandardTable } from 'god';
import { ColumnType } from 'antd/lib/table/interface';
......@@ -30,25 +30,27 @@ import {
} from 'god/dist/src/standard-table/TableController';
import EyePreview from '@/components/EyePreview';
import StatusSwitch from '@/components/StatusSwitch';
import {enquiryOfferSearchInteriorState,enquiryOfferSearchexternalState} from '../../common/tableStatusList'
import { enquiryOfferSearchInteriorState, enquiryOfferSearchexternalState } from '../../common/tableStatusList'
import statuStyle from '../../common/colorTag'
import NiceForm from '@/components/NiceForm';
import {timeRange} from '@/utils/index'
import { timeRange } from '@/utils/index'
import moment from 'moment'
import { createFormActions, FormEffectHooks } from '@formily/antd';
import {PageStatus} from '@/hooks/usePageStatus'
import { PageStatus } from '@/hooks/usePageStatus'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { commonEnquieryOfferSchema } from '../schema';
import { PublicApi } from '@/services/api';
import { values, action } from 'mobx';
import GeneralExternalState from '@/pages/transaction/common/externalState';
import GeneralInteriorState from '@/pages/transaction/common/interiorState';
const formActions = createFormActions();
const fetchData = async (params: any) => {
const res = await PublicApi.getOrderQuotationInvoiceList(params);
return res.data
}
const List:React.FC<{}> = () => {
const List: React.FC<{}> = () => {
const ref = useRef<any>({})
const [more, setmore] = useState(false)
const [selectRow, setSelectRow] = useState([])
......@@ -59,67 +61,64 @@ const List:React.FC<{}> = () => {
const columns : ColumnType<any>[] = [
const columns: ColumnType<any>[] = [
{
title:'报价单号',
key:'quotationNo',
dataIndex:'quotationNo',
align:'center',
render:(text:any, record:any) => <EyePreview url={`/memberCenter/tranactionAbility/enquiryOffer/toAddSubmitList/rfq/preview?id=${record.id}`}>{text}</EyePreview>
title: '报价单号',
key: 'quotationNo',
dataIndex: 'quotationNo',
align: 'center',
render: (text: any, record: any) => <EyePreview url={`/memberCenter/tranactionAbility/enquiryOffer/toAddSubmitList/rfq/preview?id=${record.id}`}>{text}</EyePreview>
},
{
title:'需求单号',
key:'requisitionFormNo',
dataIndex:'requisitionFormNo',
align:'center',
render:(text:any, record:any) => <EyePreview url={`/memberCenter/tranactionAbility/enquiryOffer/toAddSubmitList/demand/preview?id=${record.requisitionId}`}>{text}</EyePreview>
title: '需求单号',
key: 'requisitionFormNo',
dataIndex: 'requisitionFormNo',
align: 'center',
render: (text: any, record: any) => <EyePreview url={`/memberCenter/tranactionAbility/enquiryOffer/toAddSubmitList/demand/preview?id=${record.requisitionId}`}>{text}</EyePreview>
},
{
title:'报价单摘要',
key:'quotationSummary',
dataIndex:'quotationSummary',
align:'left'
title: '报价单摘要',
key: 'quotationSummary',
dataIndex: 'quotationSummary',
align: 'left'
},
{
title:'需求会员',
key:'demandMembers',
dataIndex:'demandMembers',
align:'left'
title: '需求会员',
key: 'demandMembers',
dataIndex: 'demandMembers',
align: 'left'
},
{
title:'报价截至时间',
key:'quotationAsTime',
dataIndex:'quotationAsTime',
align:'left',
render:(text:any)=> format(text)
title: '报价截至时间',
key: 'quotationAsTime',
dataIndex: 'quotationAsTime',
align: 'left',
render: (text: any) => format(text)
},
{
title:'单据日期',
key:'documentsTime',
dataIndex:'documentsTime',
align:'center',
render:(text:any)=> format(text)
title: '单据日期',
key: 'documentsTime',
dataIndex: 'documentsTime',
align: 'center',
render: (text: any) => format(text)
},
{
title:'外部状态',
key:'externalState',
dataIndex:'externalState',
align:'center',
render: (text: any, reconds) =>
enquiryOfferSearchexternalState(text)
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState colorType={1} state={text} data={externalState} />
},
{
title:'内部状态',
key:'interiorState',
dataIndex:'interiorState',
align:'center',
render:(text:any) => enquiryOfferSearchInteriorState(text)
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState colorType={1} state={text} data={interiorState} />
},
{
title:'操作',
key:'options',
dataIndex:'options',
align:'center',
title: '操作',
key: 'options',
dataIndex: 'options',
align: 'center',
render: (_: any, record: any) => {
return (
<>
......@@ -150,12 +149,12 @@ const List:React.FC<{}> = () => {
]
]
useEffect(()=> {
},[])
useEffect(() => {
}, [])
const toEdit = (id:number | string) => {
const toEdit = (id: number | string) => {
history.push(`/memberCenter/tranactionAbility/enquiryOffer/toAddSubmitList/edit?id=${id}`)
}
/**
......@@ -163,8 +162,8 @@ const List:React.FC<{}> = () => {
* @param {type}
* @return {type}
*/
const handleDelete = (arr:number[]| string[]) => {
if(arr.length > 0) {
const handleDelete = (arr: number[] | string[]) => {
if (arr.length > 0) {
PublicApi.postOrderQuotationDelete({ ids: arr }).then(res => {
ref.current.reload()
})
......@@ -175,7 +174,7 @@ const List:React.FC<{}> = () => {
//批量提交
const handleSubmitAll = (ids: number[]) => {
if(ids.length > 0) {
if (ids.length > 0) {
PublicApi.postOrderQuotationSubmitAuditAll({ ids: ids }).then(res => {
ref.current.reload()
})
......@@ -191,23 +190,23 @@ const List:React.FC<{}> = () => {
ref.current.reload()
})
}
const handleSumbit = (values:any) => {
if(values.voucherTime){
const handleSumbit = (values: any) => {
if (values.voucherTime) {
values.startVoucherTime = timeRange(values.voucherTime).st
values.endVoucherTime = timeRange(values.voucherTime).et
delete values.voucherTime
}
console.log('values',values)
console.log('values', values)
ref.current.reload(values)
}
const menu = (
<Menu onClick={() => handleDelete(selectedRowKeys)}>
<Menu.Item key='1' icon={<DeleteOutlined/>}>
<Menu.Item key='1' icon={<DeleteOutlined />}>
批量删除
</Menu.Item>
</Menu>
)
const handleBatchDel = (e:any) => {
const handleBatchDel = (e: any) => {
}
const rowSelection = {
......@@ -221,7 +220,7 @@ const List:React.FC<{}> = () => {
const controllerBtns = <Row>
<Col span={24}>
<Space direction="horizontal" size={16}>
<Button type="primary" onClick={() => history.push('/memberCenter/tranactionAbility/enquiryOffer/toAddSubmitList/add')} icon={<PlusOutlined/>}>新建</Button>
<Button type="primary" onClick={() => history.push('/memberCenter/tranactionAbility/enquiryOffer/toAddSubmitList/add')} icon={<PlusOutlined />}>新建</Button>
<Button onClick={() => handleSubmitAll(selectedRowKeys)}>批量提交审核</Button>
<Dropdown.Button
overlay={menu}
......@@ -234,21 +233,47 @@ const List:React.FC<{}> = () => {
</Col>
</Row>
const [externalState, setExternalState] = useState<any>([]);
const [interiorState, setInteriorState] = useState<any>([]);
useEffect(() => {
const external = new Promise(resolve => {
//查询需求单外部状态枚举列表
PublicApi.getOrderRequisitionFormExternalStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
const interior = new Promise(resolve => {
// 查询需求单内部状态枚举列表
PublicApi.getOrderRequisitionFormInteriorStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
Promise.all([external, interior]).then(res => {
setExternalState(res[0])
setInteriorState(res[1])
})
}, [])
return (
<PageHeaderWrapper>
<Card>
<StandardTable
currentRef={ref}
columns={columns}
tableProps={{rowKew:'id'}}
tableProps={{ rowKew: 'id' }}
fetchTableData={(params: any) => fetchData(params)}
rowSelection={rowSelection}
controlRender={
<NiceForm
actions={formActions}
onSubmit={values => handleSumbit(values)}
effects={($,actions) => {
useStateFilterSearchLinkageEffect($,actions,'quotationNo',FORM_FILTER_PATH)
effects={($, actions) => {
useStateFilterSearchLinkageEffect($, actions, 'quotationNo', FORM_FILTER_PATH)
}}
expressionScope={{
controllerBtns
......
......@@ -48,6 +48,8 @@ import { FORM_FILTER_PATH } from '@/formSchema/const';
import { enquieryOfferSearchSchema } from '../schema';
import { PublicApi } from '@/services/api';
import { values, action } from 'mobx';
import GeneralExternalState from '@/pages/transaction/common/externalState';
import GeneralInteriorState from '@/pages/transaction/common/interiorState';
export interface listParams {
type: number;
des?: string;
......@@ -96,8 +98,8 @@ const List: React.FC<listParams> = (props) => {
// 确认报价
const hendleSubmitQuote = (id: any) => {
PublicApi.postOrderToBeConfirmed({id, state: 1}).then(res => {
if(res.code === 1000) {
PublicApi.postOrderToBeConfirmed({ id, state: 1 }).then(res => {
if (res.code === 1000) {
ref.current.reload();
}
})
......@@ -180,17 +182,13 @@ const List: React.FC<listParams> = (props) => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
align: 'center',
render: (text: any) =>
demandExternalState(text)
render: text => <GeneralExternalState colorType={1} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
align: 'center',
render: (text: any) =>
demandInteriorState(text)
render: (text: any) => <GeneralInteriorState colorType={1} state={text} data={interiorState} />
},
columnsFn()
]
......@@ -203,7 +201,7 @@ const List: React.FC<listParams> = (props) => {
* @param {type}
* @return {type}
*/
const handleDelete = (arr: any ) => {
const handleDelete = (arr: any) => {
PublicApi.postOrderRequisitionFormDeleteAll({ ids: arr }).then(res => {
ref.current.reload()
})
......@@ -241,6 +239,31 @@ const List: React.FC<listParams> = (props) => {
</Col>
</Row>
const [externalState, setExternalState] = useState<any>([]);
const [interiorState, setInteriorState] = useState<any>([]);
useEffect(() => {
const external = new Promise(resolve => {
//查询需求单外部状态枚举列表
PublicApi.getOrderRequisitionFormExternalStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
const interior = new Promise(resolve => {
// 查询需求单内部状态枚举列表
PublicApi.getOrderRequisitionFormInteriorStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
Promise.all([external, interior]).then(res => {
setExternalState(res[0])
setInteriorState(res[1])
})
}, [])
return (
<PageHeaderWrapper>
<Card>
......
......@@ -2,6 +2,7 @@ import { ISchema} from '@formily/antd'
import { FORM_FILTER_PATH } from '@/formSchema/const'
import {TimeList, confirmDemandQuoteExternalState, confirmDemandQuoteInteriorState} from '../../common/statusList'
import TranactionRoute from 'config/routes/tranactionRoute'
import { PublicApi } from '@/services/api'
/**
* @description: 公用
......@@ -297,17 +298,27 @@ export const enquieryOfferSearchSchema: ISchema = {
},
externalState:{
type:'string',
"x-component": 'Select',
"x-component-props":{
placeholder:'外部状态'
placeholder:'外部状态',
className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ??
fetchSearch: PublicApi.getOrderRequisitionFormExternalStateEnum,
style: {
width: 160
}
},
enum: confirmDemandQuoteExternalState
},
interiorState:{
interiorState :{
type:'string',
"x-component": 'Select',
"x-component-props":{
placeholder:'内部状态'
placeholder:'内部状态',
className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ??
fetchSearch: PublicApi.getOrderRequisitionFormInteriorStateEnum,
style: {
width: 160
}
},
enum: confirmDemandQuoteInteriorState
},
}
},
......
......@@ -10,7 +10,7 @@
* @param {type}
* @return {type}
*/
import React, { ReactNode, useRef, useState,useEffect } from 'react';
import React, { ReactNode, useRef, useState, useEffect } from 'react';
import { history } from 'umi';
import {
Button,
......@@ -24,7 +24,7 @@ import {
} from 'antd';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import {
PlusOutlined,DownOutlined,DeleteOutlined
PlusOutlined, DownOutlined, DeleteOutlined
} from '@ant-design/icons';
import { StandardTable } from 'god';
import { ColumnType } from 'antd/lib/table/interface';
......@@ -34,27 +34,29 @@ import {
} from 'god/dist/src/standard-table/TableController';
import EyePreview from '@/components/EyePreview';
import StatusSwitch from '@/components/StatusSwitch';
import {demandQuoteExternalState, demandQuoteInteriorState} from '../../common/tableStatusList'
import { demandQuoteExternalState, demandQuoteInteriorState } from '../../common/tableStatusList'
import statuStyle from '../../common/colorTag'
import NiceForm from '@/components/NiceForm';
import {timeRange} from '@/utils/index'
import {filterInteriorStateList,filterExternalStateList} from './../../common/statusList'
import { timeRange } from '@/utils/index'
import { filterInteriorStateList, filterExternalStateList } from './../../common/statusList'
import moment from 'moment'
import { createFormActions, FormEffectHooks } from '@formily/antd';
import {PageStatus} from '@/hooks/usePageStatus'
import { PageStatus } from '@/hooks/usePageStatus'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import {searchSelectGetSelectCategoryOptionEffect} from '../../effect/index'
import { searchSelectGetSelectCategoryOptionEffect } from '../../effect/index'
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { enquierySchema,enquierySearchSchema } from '../schema';
import { enquierySchema, enquierySearchSchema } from '../schema';
import { PublicApi } from '@/services/api';
import { values, action } from 'mobx';
export interface listParams{
import GeneralExternalState from '@/pages/transaction/common/externalState';
import GeneralInteriorState from '@/pages/transaction/common/interiorState';
export interface listParams {
type: number;
des?: string;
}
const formActions = createFormActions();
const List:React.FC<{listParams}> = (props) => {
const List: React.FC<{ listParams }> = (props) => {
const ref = useRef<any>({})
const [more, setmore] = useState(false)
const [selectRow, setSelectRow] = useState([])
......@@ -64,8 +66,8 @@ const List:React.FC<{listParams}> = (props) => {
}
const fetchData = (params: any) => {
return new Promise((resolve, reject) => {
PublicApi.getOrderRequisitionFormList({...params}).then(res => {
if(res.code === 1000) {
PublicApi.getOrderRequisitionFormList({ ...params }).then(res => {
if (res.code === 1000) {
resolve(res.data)
}
})
......@@ -77,88 +79,76 @@ const List:React.FC<{listParams}> = (props) => {
* @param {type} 可以根据props.type处理
* @return {type}
*/
const handleToDetail= (id) => {
const handleToDetail = (id) => {
history.push(`/memberCenter/tranactionAbility/enquirySubmit/enquirySearch/preview?id=${id}`)
}
const columns : ColumnType<any>[] = [
const columns: ColumnType<any>[] = [
{
title:'需求单号',
key:'requisitionFormNo',
dataIndex:'requisitionFormNo',
align:'center',
render: (text: any,records: any) => <EyePreview type="button" handleClick={() => {
title: '需求单号',
key: 'requisitionFormNo',
dataIndex: 'requisitionFormNo',
align: 'center',
render: (text: any, records: any) => <EyePreview type="button" handleClick={() => {
handleToDetail(records.id)
}}>{text}</EyePreview>
},
{
title:'需求摘要',
key:'details',
dataIndex:'details',
align:'left'
title: '需求摘要',
key: 'details',
dataIndex: 'details',
align: 'left'
},
{
title:'品类',
key:'category',
dataIndex:'category',
align:'left'
title: '品类',
key: 'category',
dataIndex: 'category',
align: 'left'
},
{
title:'交付日期',
key:'deliveryTime',
dataIndex:'deliveryTime',
align:'center',
render:(text:any)=> format(text)
title: '交付日期',
key: 'deliveryTime',
dataIndex: 'deliveryTime',
align: 'center',
render: (text: any) => format(text)
},
{
title:'报价截至时间',
key:'quotationAsTime',
dataIndex:'quotationAsTime',
align:'center',
render:(text:any)=> format(text)
title: '报价截至时间',
key: 'quotationAsTime',
dataIndex: 'quotationAsTime',
align: 'center',
render: (text: any) => format(text)
},
{
title:'单据时间',
key:'voucherTime',
dataIndex:'voucherTime',
align:'center',
render:(text:any)=> format(text)
title: '单据时间',
key: 'voucherTime',
dataIndex: 'voucherTime',
align: 'center',
render: (text: any) => format(text)
},
{
title:'外部状态',
key:'externalState',
dataIndex:'externalState',
align:'center',
filters: filterExternalStateList,
filterMultiple: false,
onFilter: (value, record) => record.externalState === value,
render: (text: any, reconds) =>
demandQuoteExternalState(text)
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState colorType={1} state={text} data={externalState} />
},
{
title:'内部状态',
key:'interiorState',
dataIndex:'interiorState',
align:'left',
filters: filterInteriorStateList,
filterMultiple: false,
onFilter: (value, record) => record.interiorState === value,
render:(text:any) =>
demandQuoteInteriorState(text)
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState colorType={1} state={text} data={interiorState} />
}
]
]
useEffect(()=> {
},[])
useEffect(() => {
}, [])
/**
* @description: 删除
* @param {type}
* @return {type}
*/
const handleDelete = (arr:number[]| string[]) => {
const handleDelete = (arr: number[] | string[]) => {
PublicApi.postOrderRequisitionFormDeleteAll({ ids: arr }).then(res => {
ref.current.reload()
})
......@@ -171,16 +161,16 @@ const List:React.FC<{listParams}> = (props) => {
ref.current.reload()
})
}
const handleSumbit = (values:any) => {
if(values.voucherTime){
const handleSumbit = (values: any) => {
if (values.voucherTime) {
values.startVoucherTime = timeRange(values.voucherTime).st
values.endVoucherTime = timeRange(values.voucherTime).et
delete values.voucherTime
}
console.log('values',values)
console.log('values', values)
ref.current.reload(values)
}
const handleBatchDel = (e:any) => {
const handleBatchDel = (e: any) => {
}
const rowSelection = {
......@@ -196,23 +186,48 @@ const List:React.FC<{listParams}> = (props) => {
</Col>
</Row>
const [externalState, setExternalState] = useState<any>([]);
const [interiorState, setInteriorState] = useState<any>([]);
useEffect(() => {
const external = new Promise(resolve => {
//查询需求单外部状态枚举列表
PublicApi.getOrderRequisitionFormExternalStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
const interior = new Promise(resolve => {
// 查询需求单内部状态枚举列表
PublicApi.getOrderRequisitionFormInteriorStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
Promise.all([external, interior]).then(res => {
setExternalState(res[0])
setInteriorState(res[1])
})
}, [])
return (
<PageHeaderWrapper>
<Card>
<StandardTable
currentRef={ref}
columns={columns}
tableProps={{rowKew:'id'}}
tableProps={{ rowKew: 'id' }}
fetchTableData={(params: any) => fetchData(params)}
// rowSelection={rowSelection}
controlRender={
<NiceForm
actions={formActions}
onSubmit={values => handleSumbit(values)}
effects={($,actions) => {
useStateFilterSearchLinkageEffect($,actions,'requisitionFormNo',FORM_FILTER_PATH)
effects={($, actions) => {
useStateFilterSearchLinkageEffect($, actions, 'requisitionFormNo', FORM_FILTER_PATH)
FormEffectHooks.onFieldChange$('category').subscribe(state => {
searchSelectGetSelectCategoryOptionEffect(actions,'category')
searchSelectGetSelectCategoryOptionEffect(actions, 'category')
})
}}
schema={enquierySearchSchema}
......
......@@ -177,6 +177,30 @@ export const enquierySearchSchema: ISchema = {
},
enum: TimeList
},
externalState:{
type:'string',
"x-component": 'Select',
"x-component-props":{
placeholder:'外部状态',
className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ??
fetchSearch: PublicApi.getOrderRequisitionFormExternalStateEnum,
style: {
width: 160
}
},
},
interiorState :{
type:'string',
"x-component": 'Select',
"x-component-props":{
placeholder:'内部状态',
className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ??
fetchSearch: PublicApi.getOrderRequisitionFormInteriorStateEnum,
style: {
width: 160
}
},
},
}
},
sumbit: {
......
......@@ -5,7 +5,7 @@
* @Copyright: 1549414730@qq.com
* @LastEditTime: 2020-09-02 14:40:39
*/
import React, { ReactNode, useRef, useState,useEffect } from 'react';
import React, { ReactNode, useRef, useState, useEffect } from 'react';
import { history } from 'umi';
import {
Button,
......@@ -20,7 +20,7 @@ import {
} from 'antd';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import {
PlusOutlined,DownOutlined,DeleteOutlined
PlusOutlined, DownOutlined, DeleteOutlined
} from '@ant-design/icons';
import { StandardTable } from 'god';
import { ColumnType } from 'antd/lib/table/interface';
......@@ -30,25 +30,27 @@ import {
} from 'god/dist/src/standard-table/TableController';
import EyePreview from '@/components/EyePreview';
import StatusSwitch from '@/components/StatusSwitch';
import {demandQuoteExternalState, demandQuoteInteriorState} from '../../common/tableStatusList'
import { demandQuoteExternalState, demandQuoteInteriorState } from '../../common/tableStatusList'
import statuStyle from '../../common/colorTag'
import NiceForm from '@/components/NiceForm';
import {timeRange} from '@/utils/index'
import { timeRange } from '@/utils/index'
import moment from 'moment'
import { createFormActions, FormEffectHooks } from '@formily/antd';
import {PageStatus} from '@/hooks/usePageStatus'
import { PageStatus } from '@/hooks/usePageStatus'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { enquierySchema } from '../schema';
import { PublicApi } from '@/services/api';
import { values, action } from 'mobx';
import GeneralExternalState from '@/pages/transaction/common/externalState';
import GeneralInteriorState from '@/pages/transaction/common/interiorState';
const formActions = createFormActions();
const fetchData = async (params: any) => {
const res = await PublicApi.getOrderRequisitionFormAwaitList(params);
return res.data
}
const List:React.FC<{}> = () => {
const List: React.FC<{}> = () => {
const ref = useRef<any>({})
const [more, setmore] = useState(false)
const [selectRow, setSelectRow] = useState([])
......@@ -56,74 +58,70 @@ const List:React.FC<{}> = () => {
const format = (text) => {
return <>{moment(text).format("YYYY-MM-DD HH:mm:ss")}</>
}
const handleToDetail= (id) => {
const handleToDetail = (id) => {
// history.push(`/memberCenter/tranactionAbility/enquirySubmit/viewEnquiryDetail?page_type=${4}&id=${id}`)
history.push(`/memberCenter/tranactionAbility/enquirySubmit/toAddSubmitList/preview?id=${id}`)
}
const columns : ColumnType<any>[] = [
const columns: ColumnType<any>[] = [
{
title:'需求单号',
key:'requisitionFormNo',
dataIndex:'requisitionFormNo',
align:'center',
render: (text: any,records: any) => <EyePreview type="button" handleClick={() => {
title: '需求单号',
key: 'requisitionFormNo',
dataIndex: 'requisitionFormNo',
align: 'center',
render: (text: any, records: any) => <EyePreview type="button" handleClick={() => {
handleToDetail(records.id)
}}>{text}</EyePreview>
},
{
title:'需求摘要',
key:'details',
dataIndex:'details',
align:'left'
title: '需求摘要',
key: 'details',
dataIndex: 'details',
align: 'left'
},
{
title:'品类',
key:'category',
dataIndex:'category',
align:'left'
title: '品类',
key: 'category',
dataIndex: 'category',
align: 'left'
},
{
title:'交付日期',
key:'deliveryTime',
dataIndex:'deliveryTime',
align:'center',
render:(text:any)=> format(text)
title: '交付日期',
key: 'deliveryTime',
dataIndex: 'deliveryTime',
align: 'center',
render: (text: any) => format(text)
},
{
title:'报价截至时间',
key:'quotationAsTime',
dataIndex:'quotationAsTime',
align:'center',
render:(text:any)=> format(text)
title: '报价截至时间',
key: 'quotationAsTime',
dataIndex: 'quotationAsTime',
align: 'center',
render: (text: any) => format(text)
},
{
title:'单据时间',
key:'voucherTime',
dataIndex:'voucherTime',
align:'center',
render:(text:any)=> format(text)
title: '单据时间',
key: 'voucherTime',
dataIndex: 'voucherTime',
align: 'center',
render: (text: any) => format(text)
},
{
title:'外部状态',
key:'externalState',
dataIndex:'externalState',
align:'center',
render: (text: any, reconds) =>
demandQuoteExternalState(text)
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState colorType={1} state={text} data={externalState} />
},
{
title:'内部状态',
key:'interiorState',
dataIndex:'interiorState',
align:'center',
render:(text:any) =>
demandQuoteInteriorState(text)
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState colorType={1} state={text} data={interiorState} />
},
{
title:'操作',
key:'options',
dataIndex:'options',
align:'center',
title: '操作',
key: 'options',
dataIndex: 'options',
align: 'center',
render: (_: any, record: any) => {
return (
<>
......@@ -154,12 +152,12 @@ const List:React.FC<{}> = () => {
]
]
useEffect(()=> {
},[])
useEffect(() => {
}, [])
const toEdit = (id:number | string) => {
const toEdit = (id: number | string) => {
history.push(`/memberCenter/tranactionAbility/enquirySubmit/toAddSubmitList/edit?id=${id}`)
}
/**
......@@ -167,8 +165,8 @@ const List:React.FC<{}> = () => {
* @param {type}
* @return {type}
*/
const handleDelete = (arr:number[]) => {
if(arr.length > 0) {
const handleDelete = (arr: number[]) => {
if (arr.length > 0) {
PublicApi.postOrderRequisitionFormDeleteAll({ ids: arr }).then(res => {
ref.current.reload()
})
......@@ -180,7 +178,7 @@ const List:React.FC<{}> = () => {
//批量提交
const handleSubmitAll = (ids: number[]) => {
if(ids.length > 0) {
if (ids.length > 0) {
PublicApi.postOrderNewRequisitionFormAuditAll({ ids: ids }).then(res => {
ref.current.reload()
})
......@@ -195,23 +193,23 @@ const List:React.FC<{}> = () => {
ref.current.reload()
})
}
const handleSumbit = (values:any) => {
if(values.voucherTime){
const handleSumbit = (values: any) => {
if (values.voucherTime) {
values.startVoucherTime = timeRange(values.voucherTime).st
values.endVoucherTime = timeRange(values.voucherTime).et
delete values.voucherTime
}
console.log('values',values)
console.log('values', values)
ref.current.reload(values)
}
const menu = (
<Menu onClick={() => handleDelete(selectedRowKeys)}>
<Menu.Item key='1' icon={<DeleteOutlined/>}>
<Menu.Item key='1' icon={<DeleteOutlined />}>
批量删除
</Menu.Item>
</Menu>
)
const handleBatchDel = (e:any) => {
const handleBatchDel = (e: any) => {
}
const rowSelection = {
......@@ -225,7 +223,7 @@ const List:React.FC<{}> = () => {
const controllerBtns = <Row>
<Col span={24}>
<Space direction="horizontal" size={16}>
<Button type="primary" onClick={() => history.push('/memberCenter/tranactionAbility/enquirySubmit/toAddSubmitList/add')} icon={<PlusOutlined/>}>新建</Button>
<Button type="primary" onClick={() => history.push('/memberCenter/tranactionAbility/enquirySubmit/toAddSubmitList/add')} icon={<PlusOutlined />}>新建</Button>
<Button onClick={() => handleSubmitAll(selectedRowKeys)}>批量提交审核</Button>
<Dropdown.Button
overlay={menu}
......@@ -238,21 +236,46 @@ const List:React.FC<{}> = () => {
</Col>
</Row>
const [externalState, setExternalState] = useState<any>([]);
const [interiorState, setInteriorState] = useState<any>([]);
useEffect(() => {
const external = new Promise(resolve => {
//查询需求单外部状态枚举列表
PublicApi.getOrderRequisitionFormExternalStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
const interior = new Promise(resolve => {
// 查询需求单内部状态枚举列表
PublicApi.getOrderRequisitionFormInteriorStateEnum().then((res: any) => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
Promise.all([external, interior]).then(res => {
setExternalState(res[0])
setInteriorState(res[1])
})
}, [])
return (
<PageHeaderWrapper>
<Card>
<StandardTable
currentRef={ref}
columns={columns}
tableProps={{rowKew:'id'}}
tableProps={{ rowKew: 'id' }}
fetchTableData={(params: any) => fetchData(params)}
rowSelection={rowSelection}
controlRender={
<NiceForm
actions={formActions}
onSubmit={values => handleSumbit(values)}
effects={($,actions) => {
useStateFilterSearchLinkageEffect($,actions,'requisitionFormNo',FORM_FILTER_PATH)
effects={($, actions) => {
useStateFilterSearchLinkageEffect($, actions, 'requisitionFormNo', FORM_FILTER_PATH)
}}
expressionScope={{
controllerBtns
......
......@@ -68,13 +68,13 @@ const AddEnquiryOrder: React.FC<{}> = () => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState state={text} data={externalState} />
render: text => <GeneralExternalState colorType={2} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState state={text} data={interiorState} />
render: (text: any) => <GeneralInteriorState colorType={2} state={text} data={interiorState} />
},
{
title: '操作',
......
......@@ -83,13 +83,13 @@ const ReviewList: React.FC<parmas> = (props) => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState state={text} data={externalState} />
render: text => <GeneralExternalState colorType={2} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState state={text} data={interiorState} />
render: (text: any) => <GeneralInteriorState colorType={2} state={text} data={interiorState} />
},
{
title: '操作',
......
import React, { useRef, useEffect } from 'react';
import React, { useRef, useEffect, useState } from 'react';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { Card } from 'antd';
import { StandardTable } from 'god';
......@@ -9,12 +9,12 @@ import { FORM_FILTER_PATH } from '@/formSchema/const';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import {searchSelectGetSelectCategoryOptionEffect} from '../../effect/index'
import { ColumnType } from 'antd/lib/table/interface';
import { filterInternalState, filterExternalState } from './../../common/statusList';
import { quoteOrderInternalState, inquiryQuoteOuterState } from '../../common/tableStatusList';
import EyePreview from '@/components/EyePreview';
import { timeRange } from '@/utils/index';
import moment from 'moment'
import { PublicApi } from '@/services/api';
import GeneralExternalState from '@/pages/transaction/common/externalState';
import GeneralInteriorState from '@/pages/transaction/common/interiorState';
const formActions = createFormActions();
const EnquiryOrder: React.FC<{}> = (props) => {
......@@ -55,19 +55,13 @@ const EnquiryOrder: React.FC<{}> = (props) => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
filters: filterExternalState,
filterMultiple: false,
onFilter: (value, record) => record.externalState === value,
render: text => inquiryQuoteOuterState(text)
}, {
render: text => <GeneralExternalState colorType={2} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
filters: filterInternalState,
filterMultiple: false,
onFilter: (value, record) => record.interiorState === value,
render: (text: any) =>
quoteOrderInternalState(text)
render: (text: any) => <GeneralInteriorState colorType={2} state={text} data={interiorState} />
}];
//交易能力 询价报价 询价单查询
const fetchData = (params?: any) => {
......@@ -87,6 +81,31 @@ const EnquiryOrder: React.FC<{}> = (props) => {
ref.current.reload(values)
}
const [externalState, setExternalState] = useState<any>([]);
const [interiorState, setInteriorState] = useState<any>([]);
useEffect(() => {
const external = new Promise(resolve => {
// 询价查询, 询价报价, 确认询价报价单 通用外部状态
PublicApi.getOrderProductInquiryExternalStateEnum().then((res:any) => {
if(res.code === 1000) {
resolve(res.data)
}
})
})
const interior = new Promise(resolve => {
// 询价查询, 询价报价, 确认询价报价单 通用内部状态
PublicApi.getOrderProductInquiryInteriorStateEnum().then((res:any) => {
if(res.code === 1000) {
resolve(res.data)
}
})
})
Promise.all([external,interior]).then(res => {
setExternalState(res[0])
setInteriorState(res[1])
})
},[])
return (
<PageHeaderWrapper>
<Card>
......
......@@ -63,13 +63,13 @@ const PendingSubmit: React.FC<{}> = () => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState state={text} data={externalState} />
render: text => <GeneralExternalState colorType={2} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState state={text} data={interiorState} />
render: (text: any) => <GeneralInteriorState colorType={2} state={text} data={interiorState} />
},
{
title: '操作',
......
......@@ -271,7 +271,7 @@ export const enquieryOfferSearchSchema: ISchema = {
type:'string',
"x-component": 'Select',
"x-component-props":{
placeholder:'部状态',
placeholder:'部状态',
className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ??
fetchSearch: PublicApi.getOrderProductInquiryInteriorStateEnum,
style: {
......
......@@ -94,7 +94,7 @@ export const pendingReviewSchema: ISchema = {
type:'string',
"x-component": 'Select',
"x-component-props":{
placeholder:'部状态',
placeholder:'部状态',
className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ??
fetchSearch: PublicApi.getOrderProductInquiryInteriorStateEnum,
style: {
......
......@@ -29,7 +29,7 @@ const Attached: React.FC<parmas> = (props) => {
}
// 上传回调
const handleChange = ({ file }) => {
const arr: any = [];
const arr: any = files;
if (file.response) {
if (file.response.code === 1000) {
arr.push({
......@@ -38,7 +38,7 @@ const Attached: React.FC<parmas> = (props) => {
})
}
}
setFiles([...files, ...arr])
setFiles([...arr])
handleGetEnclosureUrls(arr);
}
// 删除附件
......
......@@ -72,7 +72,7 @@ const FlowRecord: React.FC<parmas> = (props) => {
*/
const externalTextState = (text) => {
let name = ''
editData.externalInquiryListStateResponses.forEach(element => {
editData.externalQuotationStateResponses.forEach(element => {
if (element.state === text) {
name = element.operationalProcess
}
......@@ -87,7 +87,7 @@ const FlowRecord: React.FC<parmas> = (props) => {
*/
const interiorTextState = (text) => {
let name = ''
editData.interiorRequisitionFormStateResponses.forEach(element => {
editData.interiorQuotationStateResponses.forEach(element => {
if (element.state === text) {
name = element.operationalProcess
}
......@@ -102,14 +102,14 @@ const FlowRecord: React.FC<parmas> = (props) => {
</Radio.Group>
{radio === 'outer' ?
<PolymericTable
dataSource={editData.externalInquiryListLogResponses}
dataSource={editData.externalRequisitionFormResponses}
columns={outerColumns}
loading={false}
pagination={null}
/>
:
<PolymericTable
dataSource={editData.interiorInquiryListLogResponses}
dataSource={editData.interiorQuotationLogResponses}
columns={insideColumns}
loading={false}
pagination={null}
......
......@@ -60,13 +60,13 @@ const AddInquiryOrder: React.FC<{}> = () => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState state={text} data={externalState} />
render: text => <GeneralExternalState colorType={2} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState state={text} data={interiorState} />
render: (text: any) => <GeneralInteriorState colorType={2} state={text} data={interiorState} />
},
{
title: '操作',
......
......@@ -76,13 +76,13 @@ const ReviewList: React.FC<parmas> = (props) => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState state={text} data={externalState} />
render: text => <GeneralExternalState colorType={2} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState state={text} data={interiorState} />
render: (text: any) => <GeneralInteriorState colorType={2} state={text} data={interiorState} />
},
{
title: '操作',
......
......@@ -56,7 +56,7 @@ const EnquiryOrder: React.FC<{}> = (props) => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState state={text} data={externalState} />
render: text => <GeneralExternalState colorType={2} state={text} data={externalState} />
}, {
title: '操作',
key: 'options',
......
......@@ -58,13 +58,13 @@ const PendingSubmit: React.FC<{}> = () => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState state={text} data={externalState} />
render: text => <GeneralExternalState colorType={2} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState state={text} data={interiorState} />
render: (text: any) => <GeneralInteriorState colorType={2} state={text} data={interiorState} />
},
{
title: '操作',
......
......@@ -56,13 +56,13 @@ const EnquiryOrder: React.FC<{}> = (props) => {
title: '外部状态',
key: 'externalState',
dataIndex: 'externalState',
render: text => <GeneralExternalState state={text} data={externalState} />
render: text => <GeneralExternalState colorType={2} state={text} data={externalState} />
},
{
title: '内部状态',
key: 'interiorState',
dataIndex: 'interiorState',
render: (text: any) => <GeneralInteriorState state={text} data={interiorState} />
render: (text: any) => <GeneralInteriorState colorType={2} state={text} data={interiorState} />
}];
//交易能力 询价报价 询价单查询
const fetchData = (params?: any) => {
......
......@@ -493,7 +493,7 @@ export const quoteFormSearch: ISchema = {
type:'string',
"x-component": 'Select',
"x-component-props":{
placeholder:'部状态',
placeholder:'部状态',
className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ??
fetchSearch: PublicApi.getOrderProductInquiryInteriorStateEnum,
style: {
......
......@@ -193,7 +193,7 @@ export const inquiryQuoteSchema: ISchema = {
type:'string',
"x-component": 'Select',
"x-component-props":{
placeholder:'部状态',
placeholder:'部状态',
className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ??
fetchSearch: PublicApi.getOrderProductInquiryInteriorStateEnum,
style: {
......
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