Commit ad31b42b authored by XieZhiXiong's avatar XieZhiXiong

Merge branch 'dev-srm' of http://10.0.0.22:3000/lingxi/lingxi-business-paltform into dev-srm

parents 05d5a740 1c109f3a
......@@ -45,11 +45,11 @@ const ChannelMallCenter: React.FC<Iprops> = () => {
<Layout
viewRef={ref}
title="渠道商城中心"
tips="您还没有创建渠道商城,请先创建渠道商城"
tips="轻松完成渠道商城的创建、渠道商城风格选择、个性化装修"
extra={
<Authorize url={SHOP_CENTER}>
<div>
<Link to={SHOP_CENTER}>进入店铺中心</Link>
<Link to={SHOP_CENTER}>进入渠道商城中心</Link>
</div>
</Authorize>
}
......@@ -58,13 +58,10 @@ const ChannelMallCenter: React.FC<Iprops> = () => {
<Fragment>
{
responseData && responseData.id && (
<div className={styles.ding_tips}>
<div>
<BellOutlined />
<span style={{marginLeft: '12px'}}>您还没有申请电子签章,请先申请电子签章</span>
</div>
<Button size="small" type="primary">点击申请</Button>
</div>
<Layout.AlertTip
content="您还没有创建渠道商城,请先创建渠道商城"
url="/memberCenter/channelAbility/infoManage"
/>
)
}
<Layout.Tag tagList={tagList}></Layout.Tag>
......
import React, { Fragment, useMemo } from 'react';
import React, { Fragment, useEffect, useMemo, useState } from 'react';
import { Button } from 'antd';
import Layout from './layout';
import Layout, { IDataListProps } from './layout';
import useViewRequest from '../../hooks/useViewRequest';
import { PublicApi } from '@/services/api';
import { BellOutlined } from '@ant-design/icons';
......@@ -9,6 +9,7 @@ import { GetReportMemberHomeGetContractTallyResponse } from '@/services/ReportAp
import styles from './center.less'
import { Link } from 'umi';
const { StaticsDataList, AlertTip } = Layout
interface Iprops {}
const KEY_TITLE = {
......@@ -18,7 +19,21 @@ const KEY_TITLE = {
}
const Constract: React.FC<Iprops> = (props: Iprops) => {
const { loading, isError, hasRequest, responseData, ref } = useViewRequest<GetReportMemberHomeGetContractTallyResponse, any>(PublicApi.getReportMemberHomeGetContractTally, {})
const { loading, isError, hasRequest, responseData, ref, inViewPort } = useViewRequest<GetReportMemberHomeGetContractTallyResponse, any>(PublicApi.getReportMemberHomeGetContractTally, {})
const [hasConstract, setHasConstract] = useState<boolean>(false);
useEffect(() => {
if (!inViewPort) {
return;
}
async function findCurrMemberPurchase() {
const { data, code } = await PublicApi.getContractSignatureAuthGet();
if (code === 1000) {
return setHasConstract(data?.state !== 1)
}
}
findCurrMemberPurchase()
}, [inViewPort])
return (
<Layout
......@@ -28,38 +43,16 @@ const Constract: React.FC<Iprops> = (props: Iprops) => {
loading={loading}
>
<Fragment>
<div className={styles.ding_tips}>
<div>
<BellOutlined />
<span style={{marginLeft: '12px'}}>您还没有申请电子签章,请先申请电子签章</span>
</div>
<Button size="small" type="primary">点击申请</Button>
</div>
{
responseData && Object.keys(responseData).map((record: keyof GetReportMemberHomeGetContractTallyResponse) => {
return (
<div className={styles.wrapRow} key={record}>
<span className={styles.rowTitle}>{KEY_TITLE[record]}</span>
<div className={styles.rowValues}>
{
responseData[record]?.map((item, key) => {
return (
<div className={styles.wrapCol} key={key}>
<div className={styles.colTitle}>{item.name}</div>
{
item.link
? <Link to={item.link} className={styles.colValue}>{item.count}</Link>
: <div className={styles.colValue}>{item.count}</div>
}
</div>
(!hasConstract) && (
<AlertTip
url="/memberCenter/contract/ElectronicSignature/apply"
content="您还没有申请电子签章,请先申请电子签章"
/>
)
})
}
</div>
</div>
)
})
}
<StaticsDataList title={KEY_TITLE} dataSource={responseData as unknown as IDataListProps["dataSource"]} />
</Fragment>
</Layout>
)
......
import React, { useCallback} from 'react';
import React, { useCallback, useMemo} from 'react';
import styles from './center.less'
import settlement_platformCollection from '@/assets/imgs/settlement_platformCollection.png';
import settlement_integrate from '@/assets/imgs/settlement_integrate.png';
......@@ -9,7 +9,7 @@ import { PublicApi } from '@/services/api';
import { Link } from 'umi'
import { getAuth } from '@/utils/auth';
import useViewRequest from '../../hooks/useViewRequest';
import Layout from './layout';
import Layout, { IDataListProps } from './layout';
import { GetReportMemberHomeGetAccountTallyResponse } from '@/services/ReportApi';
interface Iprops {};
......@@ -22,30 +22,33 @@ const FundCenter: React.FC<Iprops> = () => {
const { loading, responseData, isError, ref } = useViewRequest<GetReportMemberHomeGetAccountTallyResponse, any>(PublicApi.getReportMemberHomeGetAccountTally, {})
const userAuth = getAuth();
const urls = userAuth.urls;
const tagsList = [
const urls = (userAuth as any)?.urls || [];
// 在tagList 做修改过滤
const tagsList = useMemo(() => {
const list = [
{
icon: settlement_platformCollection,
text: '资金账户',
title: '资金账户',
url: '/memberCenter/payandSettle/capitalAccounts/accountLists'
},
{
icon: settlement_integrate,
text: '授信账户',
title: '授信账户',
url: '/memberCenter/payandSettle/creditManage/quotaMenage'
},
{
icon: settlement_accountReceive,
text: '资金账户管理',
title: '资金账户管理',
url: '/memberCenter/payandSettle/capitalAccounts/accountLists'
},
{
icon: settlement_accountPayable,
text: '授信管理',
title: '授信管理',
url: '/memberCenter/payandSettle/creditManage/quotaMenage'
},
]
].filter((_item) => urls.includes(_item.url))
return list
}, [userAuth])
return (
<Layout
......@@ -55,51 +58,8 @@ const FundCenter: React.FC<Iprops> = () => {
loading={loading}
>
<>
<div className={styles.centerRow}>
{
tagsList.map((item) => {
const hasAuth = !urls.includes(item.url);
if(!hasAuth) {
return null
}
return (
<Link to={item.url} key={item.text} className={styles.tagsItem}>
<div className={styles.icon}>
<img src={item.icon} />
</div>
<div className={styles.text}>{item.text}</div>
</Link>
)
})
}
</div>
<div>
{
responseData && Object.keys(responseData).map((record: keyof GetReportMemberHomeGetAccountTallyResponse) => {
return (
<div className={styles.wrapRow} key={record}>
<span className={styles.rowTitle}>{KEY_TO_TITLE[record]}</span>
<div className={styles.rowValues}>
{
responseData[record]?.map((item, key) => {
return (
<div className={styles.wrapCol} key={key}>
<div className={styles.colTitle}>{item.name}</div>
{
item.link
? <Link to={item.link} className={styles.colValue}>{item.count}</Link>
: <div className={styles.colValue}>{item.count}</div>
}
</div>
)
})
}
</div>
</div>
)
})
}
</div>
<Layout.Tag tagList={tagsList} />
<Layout.StaticsDataList title={KEY_TO_TITLE} dataSource={responseData as unknown as IDataListProps["dataSource"]} />
</>
</Layout>
)
......
import React, { Fragment, useMemo } from 'react';
import styles from './center.less';
import { PublicApi } from '@/services/api'
import { Link } from 'umi'
import Layout from './layout';
import Authorize from '../Authorize';
import useViewRequest from '../../hooks/useViewRequest';
import { GetReportMemberHomeGetMemberTallyResponse, GetReportMemberHomeGetPurchaseTallyResponse } from '@/services/ReportV2Api';
import { BellOutlined } from '@ant-design/icons';
import {Button} from 'antd';
interface Iprops {};
const { StaticsDataList } = Layout
const url = '/memberCenter/handling/assign/query';
const KEY_TITLE = {
importList: '会员入库',
changeList: '会员变更',
kpiList: '会员考评',
rectifyList: '会员整改',
rectifyNoticeList: '整改通知'
}
const MemberCenter: React.FC<Iprops> = () => {
const { loading, responseData, filterEmptyList, isError, ref } = useViewRequest<GetReportMemberHomeGetMemberTallyResponse, any>(PublicApi.getReportMemberHomeGetMemberTally, {})
return (
<Layout
viewRef={ref}
title="会员中心"
tips=""
extra={
<Authorize
url={url}
>
<div>
<Link to={url}>会员中心</Link>
</div>
</Authorize>
}
loading={loading}
isError={isError}
>
<StaticsDataList title={KEY_TITLE} dataSource={filterEmptyList} />
</Layout>
)
}
export default MemberCenter
......@@ -38,7 +38,7 @@ const PurchaseCenter: React.FC<Iprops> = () => {
loading={loading}
isError={isError}
>
<StaticsDataList title={KEY_TITLE} dataSource={filterEmptyList as GetReportMemberHomeGetPurchaseTallyResponse} />
<StaticsDataList title={KEY_TITLE} dataSource={filterEmptyList} />
</Layout>
)
}
......
import React, { Fragment, useEffect, useMemo } from 'react';
import React, { Fragment, useEffect, useMemo, useState } from 'react';
import styles from './center.less';
import { PublicApi } from '@/services/api'
import { Link } from 'umi'
......@@ -31,22 +31,25 @@ const isBusiness = [1, 2];
const isConsumer = 2;
const PurchaseCenter: React.FC<Iprops> = () => {
const { loading, responseData, filterEmptyList, isError, ref, inViewPort, refresh } = useViewRequest<GetReportMemberHomeGetPurchaseTallyResponse, any>(PublicApi.getReportMemberHomeGetPurchaseTally, {})
const auth = getAuth()
const auth = getAuth();
/** 是否有权限 */
const hasPurchaseAuth = (isBusiness.includes(auth.memberType)) && isConsumer === auth.memberRoleType;
/** 是否有采购门户 */
const [hasPurchase, setHasPurchase] = useState<boolean>(hasPurchaseAuth);
useEffect(() => {
if (!inViewPort || (!isBusiness.includes(auth.memberType)) || isConsumer !== auth.memberRoleType ) {
if (!inViewPort || (!hasPurchaseAuth)) {
return;
}
console.log((!isBusiness.includes(auth.memberType)), isConsumer !== auth.memberRoleType)
// console.log((!isBusiness.includes(auth.memberType)), isConsumer !== auth.memberRoleType)
async function findCurrMemberPurchase() {
const { data, code } = await PublicApi.getTemplateWebMemberPurchaseWebFindCurrMemberPurchase();
if (code === code) {
return data?.id
if (code === 1000) {
return setHasPurchase(data?.id ? true : false)
}
return null
}
findCurrMemberPurchase()
}, [inViewPort, auth])
}, [inViewPort, hasPurchaseAuth])
return (
<Layout
......@@ -68,17 +71,19 @@ const PurchaseCenter: React.FC<Iprops> = () => {
>
<Fragment>
{
(
!hasPurchase && (
<div className={styles.ding_tips}>
<div>
<BellOutlined />
<span style={{marginLeft: '12px'}}>您还没有创建采购门户,请先创建采购门户</span>
</div>
<Link to={`/memberCenter/procurementAbility/purchasDoor/purchasInfo`}>
<Button size="small" type="primary">点击创建</Button>
</Link>
</div>
)
}
<StaticsDataList title={KEY_TITLE} dataSource={filterEmptyList as GetReportMemberHomeGetPurchaseTallyResponse} />
<StaticsDataList title={KEY_TITLE} dataSource={filterEmptyList} />
</Fragment>
</Layout>
......
......@@ -23,31 +23,31 @@ const SettlementCenter: React.FC<Iprops> = () => {
const { loading, responseData, filterEmptyList, isError, ref } = useViewRequest<GetReportMemberHomeGetSettleAccountTallyResponse, any>(PublicApi.getReportMemberHomeGetSettleAccountTally, {})
const userAuth = getAuth();
const urls = userAuth.urls;
const urls = userAuth?.urls;
const tagsList = [
{
icon: settlement_platformCollection,
text: '平台代收款结算',
title: '平台代收款结算',
url: '/memberCenter/balance/platformSettlement/accountReceivable'
},
{
icon: settlement_integrate,
text: '平台积分结算',
title: '平台积分结算',
url: '/memberCenter/balance/platformSettlement/integral'
},
{
icon: settlement_accountReceive,
text: '应收账款结算',
title: '应收账款结算',
url: '/memberCenter/balance/accountsReceivable/settlementList'
},
{
icon: settlement_accountPayable,
text: '应付账款结算',
title: '应付账款结算',
url: '/memberCenter/balance/accountsPayable/settlementList'
},
{
icon: settlement_invoice,
text: '开票管理',
title: '开票管理',
url: '/memberCenter/balance/accountsReceivable/invoice'
}
]
......@@ -60,51 +60,8 @@ const SettlementCenter: React.FC<Iprops> = () => {
isError={isError}
>
<>
<div className={styles.centerRow}>
{
tagsList.map((item) => {
const hasAuth = !urls.includes(item.url);
if(!hasAuth) {
return null
}
return (
<Link to={item.url} key={item.text} className={styles.tagsItem}>
<div className={styles.icon}>
<img src={item.icon} />
</div>
<div className={styles.text}>{item.text}</div>
</Link>
)
})
}
</div>
{/* {
responseData && Object.keys(responseData).map((record: keyof GetReportMemberHomeGetSettleAccountTallyResponse) => {
return (
<div className={styles.wrapRow} key={record}>
<span className={styles.rowTitle}>{KEY_TITLE[record]}</span>
<div className={styles.rowValues}>
{
responseData[record]?.map((item, key) => {
return (
<div className={styles.wrapCol} key={key}>
<div className={styles.colTitle}>{item.name}</div>
{
item.link
? <Link to={item.link} className={styles.colValue}>{item.count}</Link>
: <div className={styles.colValue}>{item.count}</div>
}
</div>
)
})
}
</div>
</div>
)
})
} */}
<Layout.StaticsDataList title={KEY_TITLE} dataSource={filterEmptyList as GetReportMemberHomeGetSettleAccountTallyResponse} />
<Layout.Tag tagList={tagsList} />
<Layout.StaticsDataList title={KEY_TITLE} dataSource={filterEmptyList} />
</>
</Layout>
)
......
......@@ -53,36 +53,14 @@ const ShopCenter: React.FC<Iprops> = () => {
<Fragment>
{
responseData && responseData.id && (
<div className={styles.ding_tips}>
<div>
<BellOutlined />
<span style={{marginLeft: '12px'}}>您还没有申请电子签章,请先申请电子签章</span>
</div>
<Button size="small" type="primary">点击申请</Button>
</div>
<Layout.AlertTip
content="轻松完成店铺的创建、店铺风格选择、店铺个性化装修。"
url=""
/>
)
}
<div className={styles.centerRow}>
{
tagList.map((_item) => {
return (
<Authorize url={_item.url} canView={true} key={_item.title}>
<Link to={_item.url} className={styles.tagsItem}>
<div className={styles.hoverLink}>
<img src={create_shop} className={styles.icon}/>
<div className={styles.text}>{_item.title}</div>
<div className={styles.hoverIconConatiner}>
<div className={styles.hoverIcon}>
<RightOutlined style={{ color: '#fff', fontSize: '8px'}} />
</div>
</div>
</div>
</Link>
</Authorize>
)
})
}
</div>
<Layout.Tag tagList={tagList}></Layout.Tag>
</Fragment>
</Layout>
)
......
......@@ -13,36 +13,6 @@
align-items: center;
}
// .tagsSpecial {
// width: 160px;
// margin-right: 16px;
// .ding_tips {
// color: @main-color;
// background: rgba(0, 179, 122, 0.12);
// padding: 10px;
// display: flex;
// flex-direction: row;
// position: relative;
// margin-top: 20px;
// .ding_icon {
// margin-right: 10px;
// }
// &:before {
// content: '';
// position: absolute;
// top: -10px;
// left: 20px;
// width: 0;
// height: 0;
// border-left: 10px solid transparent;
// border-right: 10px solid transparent;
// border-bottom: 10px solid rgba(0, 179, 122, 0.12);;
// }
// }
// }
.centerRow {
display: flex;
flex-direction: row;
......
......@@ -10,6 +10,7 @@ import Contract from './Contract';
import PurchaseCenter from './PurchaseCenter';
import OrderCenter from './OrderCenter';
import ChannelMallCenter from './ChannelMallCenter';
import MemberCenter from './MemberCenter';
export {
TradeCenter,
......@@ -23,5 +24,6 @@ export {
Contract,
PurchaseCenter,
OrderCenter,
ChannelMallCenter
ChannelMallCenter,
MemberCenter
}
......@@ -5,11 +5,12 @@ import { Skeleton } from 'antd';
import { Link } from 'umi';
import layoutStyles from './center.less';
import Authorize from '../Authorize';
import { RightOutlined } from '@ant-design/icons';
import { BellOutlined, RightOutlined } from '@ant-design/icons';
interface LayoutType {
StaticsDataList: typeof StaticsDataList,
Tag: typeof Tag,
Tag: typeof Tags,
AlertTip: typeof AlertTip,
}
interface Iprops {
......@@ -85,14 +86,20 @@ const Layout: LayoutType & React.FC<Iprops> = (props) => {
)
}
interface IDataListProps<T> {
dataSource: T,
export interface IDataListProps {
dataSource: {
[key: string]: ({
name: string,
link: string,
count: number,
}[]) | null
},
title: {
[key in keyof T]: string
[key: string]: string
}
}
const StaticsDataList = (props) => {
const StaticsDataList = (props: IDataListProps) => {
const { dataSource, title } = props;
return (
<>
......@@ -160,6 +167,34 @@ const Tags = (props: TagProps) => {
)
}
interface AlterTipProps {
content: string,
extra?: React.ReactNode,
url?: string,
}
const AlertTip = (props: AlterTipProps) => {
const { content, extra = null, url = "" } = props;
return (
<div className={layoutStyles.ding_tips}>
<div>
<BellOutlined />
<span style={{marginLeft: '12px'}}>{content}</span>
</div>
{
extra || (
<Link to={url}>
<Button size="small" type="primary">点击创建</Button>
</Link>
)
}
</div>
)
}
Layout.AlertTip = AlertTip;
Layout.Tag = Tags;
Layout.StaticsDataList = StaticsDataList
......
......@@ -62,7 +62,10 @@ function useViewRequest<T, P>(fn: (postData: P) => Promise<ResponseDataType & {
return result
}
Object.keys(responseData).forEach((_row) => {
if (responseData[_row] && responseData[_row].length !== 0) {
// if (responseData[_row] && responseData[_row].length !== 0) {
// result[_row] = responseData[_row];
// }
if (responseData[_row]) {
result[_row] = responseData[_row];
}
})
......
......@@ -8,13 +8,14 @@ import LatestAnnounce from './components/LatestAnnounces';
import RecentVisit from './components/RecentVisit';
import AnyQuestion from './components/AnyQuestion';
import AdvertisementContainer from './components/AdvertisementSpace';
import { TradeCenter, FundCenter, ShopCenter, ProductCenter, SettlementCenter, AfterSoldCenter, LogisticsCenter, ProcessCenter, Contract, PurchaseCenter, OrderCenter, ChannelMallCenter } from './components/Centers';
import { TradeCenter, FundCenter, ShopCenter, ProductCenter, SettlementCenter, AfterSoldCenter, LogisticsCenter, ProcessCenter, Contract, PurchaseCenter, OrderCenter, ChannelMallCenter, MemberCenter } from './components/Centers';
import styles from './index.less'
import { CompassFilled } from '@ant-design/icons';
import { PublicApi } from '@/services/api';
import { GetReportMemberHomeGetDataLayoutRequest } from '@/services/ReportApi';
const ComponentSelect = {
"会员中心": MemberCenter,
"交易中心": TradeCenter,
"店铺中心": ShopCenter,
"商品中心": ProductCenter,
......
......@@ -38,11 +38,12 @@ const InspectionDetail: React.FC<Iprops> = (props: Iprops) => {
{
title: '考察要求附件',
value: (
<div>
// 这里应该写一个组件
<div style={{display: 'flex', flexDirection: 'column'}}>
{
initialValue?.attachments.map((_row) => {
return (
<a key={_row.url} href={_row.url}>{_row.name}</a>
<a style={{marginBottom: '4px'}} key={_row.url} href={_row.url}>{_row.name}</a>
)
})
}
......@@ -78,11 +79,11 @@ const InspectionDetail: React.FC<Iprops> = (props: Iprops) => {
title: '考察要求附件',
span: 2,
value: (
<div>
<div style={{display: 'flex', flexDirection: 'column'}}>
{
initialValue?.reports.map((_row) => {
return (
<a key={_row.url} href={_row.url}>{_row.name}</a>
<a style={{marginBottom: '4px'}} key={_row.url} href={_row.url}>{_row.name}</a>
)
})
}
......@@ -91,7 +92,7 @@ const InspectionDetail: React.FC<Iprops> = (props: Iprops) => {
},
{
title: '考察结果',
value: initialValue?.result
value: initialValue?.result === 1 ? '合格' : '不合格'
}
], [initialValue])
......
......@@ -65,8 +65,7 @@ const Search = () => {
dataIndex: 'isPrize',
render: (text: any, record: any) => <>
{(text !== 1 && text !== 0) ? null : <StatusTag type={text ? 'success' : 'danger'} title={text ? '是' : '否'} />}
</>,
width: 180
</>
}, {
title: '外部状态',
key: 'externalState',
......
......@@ -4,6 +4,7 @@ import { Row } from 'antd'
import { DELIVERY_TYPE, OrderModalType, PurchaseOrderOutWorkStateTexts } from '@/constants/order'
import moment from 'moment'
import { AddressPop } from '../components/productModalTable'
import { GlobalConfig } from '@/global/config';
// 简单控制价格区间的组件
// @todo 后续需要优化, 样式,目录文件等。
......@@ -138,22 +139,30 @@ export const orderTypeLabel = ['',
// '采购招标合同',
]
export const orderTypeLabelMap = {
"5": "现货采购",
"6": "现货采购",
"7": "询价采购",
"8": "需求采购",
"9": "集采",
"10": "渠道直采",
"11": "渠道直采",
"12": "渠道现货",
"13": "渠道现货",
// "24": "积分兑换",
// "25": "渠道积分兑换",
"32": "采购询价合同",
"33": "采购招标合同",
"34": "采购竞价合同",
}
// export const orderTypeLabelMap = {
// "5": "现货采购",
// "6": "现货采购",
// "7": "询价采购",
// "8": "需求采购",
// "9": "集采",
// "10": "渠道直采",
// "11": "渠道直采",
// "12": "渠道现货",
// "13": "渠道现货",
// // "24": "积分兑换",
// // "25": "渠道积分兑换",
// "32": "采购询价合同",
// "33": "采购招标合同",
// "34": "采购竞价合同",
// }
export const orderTypeLabelMap = () => {
let tempObject: { [key: number]: string } = {}
GlobalConfig['web']['orderMode'].map(item => {
tempObject[item['value']] = item['label']
})
return tempObject;
}
// 支付方式
export const payTypeLabel = [
......
......@@ -206,10 +206,6 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
}, [])
useEffect(() => {
console.log(initFormValue, 'init')
}, [initFormValue])
const handleSubmit = async (value) => {
let _orderProductRequests = JSON.parse(JSON.stringify(value.orderProductRequests))
let processEnum = value['processEnum']
......@@ -589,7 +585,7 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
// 判断合同下单
if(value > 30) {
ctx.setFieldState('quotationNo', state => {
state.props.title = orderTypeLabelMap[value]
state.props.title = orderTypeLabelMap()[value]
state.visible = true
})
ctx.setFieldState('needTheInvoice', state => {
......@@ -663,7 +659,7 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
addSchemaAction.setFieldState('orderProductRequests', productState => {
productState.props["x-component-props"] = {
...productState.props["x-component-props"],
prefix: editable ? materialAddButton : '',
prefix: editable && pageStatus === PageStatus.ADD ? materialAddButton : '',
}
})
// }, 500)
......@@ -679,7 +675,7 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
// }, 500)
}
// 选择某种类型时, 需显示对应的订单类型
ctx.setFieldValue('type', orderTypeLabelMap[value])
ctx.setFieldValue('type', orderTypeLabelMap()[value])
})
useEditHideField()
// 商品信息的改动 驱动支付信息变化
......
......@@ -60,11 +60,12 @@ export const useMaterialTable = (ctx: ISchemaFormActions | ISchemaFormAsyncActio
const [materialColumns, setMaterialColumns] = useState(() => {
const { pageStatus } = usePageStatus()
if (pageStatus === PageStatus.ADD) {
// 渲染操作
materialInfoColumns[materialInfoColumns.length - 1].render = (text, record) => <Button type='link' onClick={() => handleDelete(record)}>删除</Button>
// 渲染单价
materialInfoColumns[7].render = (t, r) => {
materialInfoColumns[8].render = (t, r) => {
if(orderModel === OrderModalType["HAND_ORDER"]) {
return <PriceComp priceSection={r.unitPrice}/>
} else {
......@@ -82,13 +83,13 @@ export const useMaterialTable = (ctx: ISchemaFormActions | ISchemaFormAsyncActio
} else {
// 渲染单价
materialInfoColumns[7].render = (t, r) => <span style={{color: 'red'}}>{r.price}</span>
materialInfoColumns[8].render = (t, r) => <span style={{color: 'red'}}>{r.price}</span>
// 渲染商品ID
materialInfoColumns[0].render = (t, r) => r.productId
materialInfoColumns[materialInfoColumns.length - 1].render = (t, r) => null
}
return materialInfoColumns
})
const handleShowMaterial = () => {
......
......@@ -69,6 +69,7 @@ export const tableListSchema: ISchema = {
// 基本信息
const basicInfo: ISchema = {
"x-index": 0,
type: 'object',
"x-component": 'tabpane',
"x-component-props": {
......@@ -257,6 +258,7 @@ const basicInfo: ISchema = {
}
// 订单商品
export const orderProduct: ISchema = {
"x-index": 2,
type: 'object',
"x-component": 'tabpane',
"x-component-props": {
......@@ -287,6 +289,7 @@ export const orderProduct: ISchema = {
// 合同下单 订单物料
export const orderMaterial: ISchema = {
"x-index": 2,
type: 'object',
"x-component": 'tabpane',
"x-component-props": {
......@@ -317,6 +320,7 @@ export const orderMaterial: ISchema = {
// 支付信息
export const payInfo: ISchema = {
"x-index": 3,
type: 'object',
"x-component": 'tabpane',
"x-component-props": {
......@@ -345,6 +349,7 @@ export const payInfo: ISchema = {
// 交付信息
const submitInfo: ISchema = {
"x-index": 1,
type: 'object',
"x-component": 'tabpane',
"x-component-props": {
......@@ -406,6 +411,7 @@ const submitInfo: ISchema = {
// 其他信息
const ortherInfo: ISchema = {
"x-index": 4,
type: 'object',
"x-component": 'tabpane',
"x-component-props": {
......
......@@ -51,8 +51,8 @@ const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => {
}
const handleBitchPush = async () => {
const canBitch = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ADD_PURCHASE_ORDER)
if (canBitch) {
// const canBitch = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ADD_PURCHASE_ORDER)
if (rowSelectionCtl.selectRow.length) {
const { code } = await submitRun({ids: rowSelectionCtl.selectedRowKeys})
if (code === 1000) {
ref.current.reload()
......@@ -60,7 +60,7 @@ const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => {
rowSelectionCtl.setSelectedRowKeys([])
}
} else {
message.error('只能提交审核待新增的订单')
message.error('请先选择待新增的订单')
}
}
......
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