Commit 64c384f4 authored by 前端-钟卫鹏's avatar 前端-钟卫鹏

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

parents 0a3f2195 1a84c60a
...@@ -20,7 +20,7 @@ const MsgItem: React.FC<MsgItemPrpos> = (props: any) => { ...@@ -20,7 +20,7 @@ const MsgItem: React.FC<MsgItemPrpos> = (props: any) => {
<div className={styles.title}>{data.memberName}</div> <div className={styles.title}>{data.memberName}</div>
</div> </div>
<div className={styles.msgItemRow}><div className={styles.label}>联系人姓名:</div><div className={styles.title}>{data.contacts}</div></div> <div className={styles.msgItemRow}><div className={styles.label}>联系人姓名:</div><div className={styles.title}>{data.contacts}</div></div>
<div className={styles.msgItemRow}><div className={styles.label}>联系人手机:</div><div className={styles.title}>{data.tel}</div></div> <div className={styles.msgItemRow}><div className={styles.label}>联系人手机:</div><div className={styles.title}>{data.tel.replace(/^(.{3})(.*)(.{4})$/, '$1 $2 $3')}</div></div>
<div className={styles.msgItemRow}><div className={styles.label}>电子邮箱:</div><div className={styles.title}>{data.mail}</div></div> <div className={styles.msgItemRow}><div className={styles.label}>电子邮箱:</div><div className={styles.title}>{data.mail}</div></div>
<div className={styles.msgItemRow}><div className={styles.label}>联系地址:</div>{<Tooltip placement="top" title={data.address}> <div className={styles.msgItemRow}><div className={styles.label}>联系地址:</div>{<Tooltip placement="top" title={data.address}>
<div className={styles.title}>{data.address}</div> <div className={styles.title}>{data.address}</div>
......
...@@ -18,7 +18,7 @@ const ResultItem: React.FC<ResultItemPrpos> = (props: any) => { ...@@ -18,7 +18,7 @@ const ResultItem: React.FC<ResultItemPrpos> = (props: any) => {
const { itemIndex, detail, checkDetailFunc } = props; const { itemIndex, detail, checkDetailFunc } = props;
const _returnBadge = (number) => { const _returnBadge = (number) => {
const _number = Number(number)+1; const _number = Number(number ?? 0);
switch (_number) { switch (_number) {
case 1: case 1:
return <img src={level1} alt='第一名' />; return <img src={level1} alt='第一名' />;
...@@ -32,17 +32,17 @@ const ResultItem: React.FC<ResultItemPrpos> = (props: any) => { ...@@ -32,17 +32,17 @@ const ResultItem: React.FC<ResultItemPrpos> = (props: any) => {
} }
return ( return (
<div key={`msgItem_key_${itemIndex}`} className={styles.resultItem}> <div key={`msgItem_key_${itemIndex}`} className={styles.resultItem}>
{detail.isAward && <img src={winBig} alt="授标" className={styles.resultItemWinBid}/>} {detail.isAward != 0 ? <img src={winBig} alt="授标" className={styles.resultItemWinBid} /> : null}
<div className={styles.resultItemRow}> <div className={styles.resultItemRow}>
<div className={styles.title}>{detail.memberName}{_returnBadge(detail.purchaseRanking)}</div> <div className={styles.title}>{detail.memberName}{_returnBadge(detail?.purchaseRanking)}</div>
</div> </div>
<div className={styles.resultItemRow}> <div className={styles.resultItemRow}>
<div className={styles.money}>¥{detail.price}<span>(含税)</span></div> <div className={styles.money}>¥{detail.price}<span>(含税)</span></div>
<Button type='link' onClick={() => {checkDetailFunc(detail.id)}}>查看报价明细</Button> <Button type='link' onClick={() => { checkDetailFunc(detail.id) }}>查看报价明细</Button>
</div> </div>
<Divider dashed style={{ color: '#EBECF0', margin: '6px 0' }} /> <Divider dashed style={{ color: '#EBECF0', margin: '6px 0' }} />
<div className={styles.resultItemRow}><div className={styles.label}>联系人姓名:</div><div className={styles.title}>{detail.contacts}</div></div> <div className={styles.resultItemRow}><div className={styles.label}>联系人姓名:</div><div className={styles.title}>{detail.contacts}</div></div>
<div className={styles.resultItemRow}><div className={styles.label}>联系人手机:</div><div className={styles.title}>{detail.tel}</div></div> <div className={styles.resultItemRow}><div className={styles.label}>联系人手机:</div><div className={styles.title}>{detail.tel.replace(/^(.{3})(.*)(.{4})$/, '$1 $2 $3')}</div></div>
</div> </div>
) )
} }
......
import React from 'react'; import React from 'react';
import { Row, Col, Button } from 'antd'; import { Row, Col, Button } from 'antd';
import { priceFormat } from '@/utils/numberFomat';
import { formatTimeString } from '@/utils' import { formatTimeString } from '@/utils'
import TrendTag from '../trendTag'; import TrendTag from '../trendTag';
...@@ -25,7 +26,7 @@ const BtnItem: React.FC<BtnItemProps> = (props: any) => { ...@@ -25,7 +26,7 @@ const BtnItem: React.FC<BtnItemProps> = (props: any) => {
{detail?.peportPriceSum}</div> {detail?.peportPriceSum}</div>
<div className={styles.btnItemPrice}> <div className={styles.btnItemPrice}>
<div> <div>
¥{detail?.sumPice} ¥{priceFormat(detail?.sumPice)}
<span>(含税)</span> <span>(含税)</span>
</div> </div>
{formatTimeString(detail?.peportTime)} {formatTimeString(detail?.peportTime)}
...@@ -37,11 +38,11 @@ const BtnItem: React.FC<BtnItemProps> = (props: any) => { ...@@ -37,11 +38,11 @@ const BtnItem: React.FC<BtnItemProps> = (props: any) => {
<div className={styles.btnItem2} style={{ borderColor: active ? '#00B37A' : '#F4F5F7' }}> <div className={styles.btnItem2} style={{ borderColor: active ? '#00B37A' : '#F4F5F7' }}>
<div className={styles.info}> <div className={styles.info}>
{detail?.ranking} {detail?.ranking}
<span>当前最低价:¥{detail?.minPrice}</span> <span>当前最低价:¥{priceFormat(detail?.minPrice)}</span>
</div> </div>
<div className={styles.box}> <div className={styles.box}>
<div className={styles.price}> <div className={styles.price}>
<div>¥{detail?.sumPice}<span>(含税)</span></div> <div>¥{priceFormat(detail?.sumPice)}<span>(含税)</span></div>
{detail?.peportPriceSum} {detail?.peportPriceSum}
</div> </div>
<div className={styles.time}> <div className={styles.time}>
...@@ -56,7 +57,7 @@ const BtnItem: React.FC<BtnItemProps> = (props: any) => { ...@@ -56,7 +57,7 @@ const BtnItem: React.FC<BtnItemProps> = (props: any) => {
<div className={styles.btnItem3} style={{ borderColor: active ? '#00B37A' : '#F4F5F7' }}> <div className={styles.btnItem3} style={{ borderColor: active ? '#00B37A' : '#F4F5F7' }}>
<div className={styles.title}> <div className={styles.title}>
<div> <div>
¥{detail?.sumPice} ¥{priceFormat(detail?.sumPice)}
<span>(含税)</span> <span>(含税)</span>
</div> </div>
{detail?.peportPriceSum} {detail?.peportPriceSum}
......
import React, { useEffect, useState } from 'react'; import React, { useEffect, useState } from 'react';
import { ColumnType } from 'antd/lib/table/interface'; import { ColumnType } from 'antd/lib/table/interface';
import { Row, Col, Space, Button, Typography, Table, Drawer } from 'antd'; import { Row, Col, Space, Button, Typography, Table, Drawer } from 'antd';
import { priceFormat } from '@/utils/numberFomat';
import BtnItem from '../bidDetailBtnItem'; import BtnItem from '../bidDetailBtnItem';
interface BidProgressDrawerProps { interface BidProgressDrawerProps {
...@@ -75,12 +78,12 @@ const BidProgressDrawer: React.FC<BidProgressDrawerProps> = (props: any) => { ...@@ -75,12 +78,12 @@ const BidProgressDrawer: React.FC<BidProgressDrawerProps> = (props: any) => {
title: '单价(含税)', title: '单价(含税)',
key: 'unitPrice', key: 'unitPrice',
dataIndex: 'unitPrice', dataIndex: 'unitPrice',
render: (text: any, record: any) => ${text}`, render: (text: any, record: any) => ${priceFormat(text)}`,
}, { }, {
title: '金额(含税)', title: '金额(含税)',
key: 'price', key: 'price',
dataIndex: 'price', dataIndex: 'price',
render: (text: any, record: any) => ${text}`, render: (text: any, record: any) => ${priceFormat(text)}`,
}]; }];
const chooseItem = (item: any, index: number) => { const chooseItem = (item: any, index: number) => {
......
...@@ -7,7 +7,7 @@ import { Space, Button, Typography, Drawer } from 'antd'; ...@@ -7,7 +7,7 @@ import { Space, Button, Typography, Drawer } from 'antd';
import { FORM_FILTER_PATH } from '@/formSchema/const'; import { FORM_FILTER_PATH } from '@/formSchema/const';
import NiceForm from '@/components/NiceForm'; import NiceForm from '@/components/NiceForm';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch'; import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { priceFormat } from '@/utils/numberFomat';
const { Text } = Typography; const { Text } = Typography;
...@@ -74,12 +74,12 @@ const QuotationDetailsDrawer = (props: any) => { ...@@ -74,12 +74,12 @@ const QuotationDetailsDrawer = (props: any) => {
title: '单价(含税)', title: '单价(含税)',
key: 'unitPrice', key: 'unitPrice',
dataIndex: 'unitPrice', dataIndex: 'unitPrice',
render: (text: any, record: any) => ${text}`, render: (text: any, record: any) => ${priceFormat(text)}`,
}, { }, {
title: '金额(含税)', title: '金额(含税)',
key: 'price', key: 'price',
dataIndex: 'price', dataIndex: 'price',
render: (text: any, record: any) => ${text}`, render: (text: any, record: any) => ${priceFormat(text)}`,
}]; }];
/** 列表数据 */ /** 列表数据 */
......
...@@ -6,6 +6,7 @@ import { CheckCircleOutlined } from '@ant-design/icons'; ...@@ -6,6 +6,7 @@ import { CheckCircleOutlined } from '@ant-design/icons';
import { PublicApi } from '@/services/api'; import { PublicApi } from '@/services/api';
import { GlobalConfig } from '@/global/config' import { GlobalConfig } from '@/global/config'
import { formatTimeString } from '@/utils' import { formatTimeString } from '@/utils'
import { priceFormat } from '@/utils/numberFomat';
import { Context } from '../../components/detail/components/context'; import { Context } from '../../components/detail/components/context';
import PeripheralLayout from '../../components/detail'; import PeripheralLayout from '../../components/detail';
...@@ -82,7 +83,7 @@ const SearchDetail = () => { ...@@ -82,7 +83,7 @@ const SearchDetail = () => {
// 生成tabs // 生成tabs
const _tabs = useMemo(() => { const _tabs = useMemo(() => {
let _list = []; let _list: any = [];
TABLINK.forEach((item) => { TABLINK.forEach((item) => {
if (!item.include || item.include.includes(pathPci)) { if (!item.include || item.include.includes(pathPci)) {
_list.push(item); _list.push(item);
...@@ -142,13 +143,13 @@ const SearchDetail = () => { ...@@ -142,13 +143,13 @@ const SearchDetail = () => {
{ {
col: [ col: [
{ label: '竞价时间', extra: `${formatTimeString(data.biddingStartTime)}${formatTimeString(data.biddingEndTime)}`, type: 'text' }, { label: '竞价时间', extra: `${formatTimeString(data.biddingStartTime)}${formatTimeString(data.biddingEndTime)}`, type: 'text' },
{ label: '起拍价', extra: data.startingPrice ? ${data.startingPrice}` : '-', type: 'text', tips: '初始起拍价,首次报价要低于或等于起拍价' }, { label: '起拍价', extra: data.startingPrice ? ${priceFormat(data.startingPrice)}` : '-', type: 'text', tips: '初始起拍价,首次报价要低于或等于起拍价' },
{ label: '目标价', extra: data.targetPrice ? ${data.targetPrice}` : '-', type: 'text', tips: '期望成交价格' }, { label: '目标价', extra: data.targetPrice ? ${priceFormat(data.targetPrice)}` : '-', type: 'text', tips: '期望成交价格' },
] ]
}, },
{ {
col: [ col: [
{ label: '最小价差', extra: data.minPrice ? ${data.minPrice}` : '-', type: 'text', tips: '每次报价降价幅度须大于或等于最小价差' }, { label: '最小价差', extra: data.minPrice ? ${priceFormat(data.minPrice)}` : '-', type: 'text', tips: '每次报价降价幅度须大于或等于最小价差' },
{ label: '允许报价次数', extra: data.allowPurchaseCount, type: 'text', tips: '允许每个供应商最多可以报价的次数' }, { label: '允许报价次数', extra: data.allowPurchaseCount, type: 'text', tips: '允许每个供应商最多可以报价的次数' },
] ]
}, },
......
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