Commit 92c6e919 authored by 前端-黄佳鑫's avatar 前端-黄佳鑫

🐞 fix(询价单、询价报价单): 详情去掉内部状态

parent 73b74488
/** 详情通用 - 流转进度 */
import React, { useContext, useState } from 'react';
import React, { useContext, useEffect, useState } from 'react';
import { Radio, Steps } from 'antd';
import { Context } from '../context';
import Card from '../../../card';
import style from './index.less';
import { isEmpty } from 'lodash';
const LOGSTATESTYPE = {
/** 外部流转 */
......@@ -22,28 +22,40 @@ export interface ProgressProps {
const ProgressLayout: React.FC<ProgressProps> = (props: any) => {
const { logstate } = props;
const context = useContext(Context);
const [logStatesStatus, setLogStatesStatus] = useState<number>( logstate || LOGSTATESTYPE.EXTERNALSTATES);
const [logStatesStatus, setLogStatesStatus] = useState<number>(1);
const [data, setData] = useState<any>({})
useEffect(() => {
if (!isEmpty(context)) {
setLogStatesStatus(context.externalLogStates ? LOGSTATESTYPE.EXTERNALSTATES : LOGSTATESTYPE.INTERIORSTATES)
setData(context)
}
}, [context])
return (
<Card
id='progressLayout'
title='流转进度'
extra={
<Radio.Group
onChange={(e) => setLogStatesStatus(e.target.value)}
defaultValue={logStatesStatus}
>
{context.externalLogStates && <Radio.Button value={LOGSTATESTYPE.EXTERNALSTATES}>外部流转</Radio.Button>}
{context.interiorLogStates && <Radio.Button value={LOGSTATESTYPE.INTERIORSTATES}>内部流转</Radio.Button>}
{context.examineInteriorLogStates && <Radio.Button value={LOGSTATESTYPE.EXMAINEINERIORSTATES}>竞价结果内部流转</Radio.Button>}
</Radio.Group>
<>
{!isEmpty(data) && (
<Radio.Group
onChange={(e) => setLogStatesStatus(e.target.value)}
defaultValue={data.externalLogStates ? LOGSTATESTYPE.EXTERNALSTATES : LOGSTATESTYPE.INTERIORSTATES}
>
{data.externalLogStates && <Radio.Button value={LOGSTATESTYPE.EXTERNALSTATES}>外部流转</Radio.Button>}
{data.interiorLogStates && <Radio.Button value={LOGSTATESTYPE.INTERIORSTATES}>内部流转</Radio.Button>}
{data.examineInteriorLogStates && <Radio.Button value={LOGSTATESTYPE.EXMAINEINERIORSTATES}>竞价结果内部流转</Radio.Button>}
</Radio.Group>
)}
</>
}
>
<Steps
progressDot
>
{logStatesStatus === LOGSTATESTYPE.EXTERNALSTATES ?
context.externalLogStates && context.externalLogStates.map(item => (
data.externalLogStates && data.externalLogStates.map(item => (
<Steps.Step
key={item.state}
title={item.operationalProcess}
......@@ -51,7 +63,7 @@ const ProgressLayout: React.FC<ProgressProps> = (props: any) => {
status={item.isExecute ? 'finish' : 'wait'}
/>
)) : (logStatesStatus === LOGSTATESTYPE.INTERIORSTATES ?
context.interiorLogStates && context.interiorLogStates.map(item => (
data.interiorLogStates && data.interiorLogStates.map(item => (
<Steps.Step
key={item.state}
title={item.operationalProcess}
......@@ -59,7 +71,7 @@ const ProgressLayout: React.FC<ProgressProps> = (props: any) => {
status={item.isExecute ? 'finish' : 'wait'}
/>
)) :
context.examineInteriorLogStates && context.examineInteriorLogStates.map(item => (
data.examineInteriorLogStates && data.examineInteriorLogStates.map(item => (
<Steps.Step
key={item.state}
title={item.operationalProcess}
......
/** 详情通用 - 流转进度 */
import React, { useContext, useState } from 'react';
import React, { useContext, useEffect, useState } from 'react';
import { Radio, Table } from 'antd';
import { Context } from '../context';
import Card from '../../../card';
......@@ -7,6 +7,7 @@ import {
EXTERNALLOGS,
INTERNALLOGS,
} from './columns';
import { isEmpty } from 'lodash';
const LOGSTATESTYPE = {
/** 外部流转 */
......@@ -23,30 +24,42 @@ export interface ProgressProps {
const RecordLayout: React.FC<ProgressProps> = (props: any) => {
const { logstate } = props;
const context = useContext(Context);
const [logStatus, setLogStatus] = useState<number>(context.externalLogs ? LOGSTATESTYPE.EXTERNALSTATES : LOGSTATESTYPE.INTERIORSTATES );
const [logStatus, setLogStatus] = useState<number>(context.externalLogs ? LOGSTATESTYPE.EXTERNALSTATES : LOGSTATESTYPE.INTERIORSTATES);
const [data, setData] = useState<any>({})
useEffect(() => {
if (!isEmpty(context)) {
setLogStatus(context.externalLogs ? LOGSTATESTYPE.EXTERNALSTATES : LOGSTATESTYPE.INTERIORSTATES)
setData(context)
}
}, [context])
return (
<Card
id='recordLyout'
title='流转记录'
extra={
<Radio.Group
onChange={(e) => setLogStatus(e.target.value)}
defaultValue={context.externalLogs ? LOGSTATESTYPE.EXTERNALSTATES : LOGSTATESTYPE.INTERIORSTATES}
>
{/* {context.externalLogs && <Radio.Button value={LOGSTATESTYPE.EXTERNALSTATES}>外部流转</Radio.Button>}
{context.interiorLogs && <Radio.Button value={LOGSTATESTYPE.INTERIORSTATES}>内部流转</Radio.Button>} */}
<Radio.Button value={LOGSTATESTYPE.EXTERNALSTATES}>外部流转</Radio.Button>
<Radio.Button value={LOGSTATESTYPE.INTERIORSTATES}>内部流转</Radio.Button>
</Radio.Group>
<>
{!isEmpty(data) && (
<Radio.Group
onChange={(e) => setLogStatus(e.target.value)}
defaultValue={data.externalLogs ? LOGSTATESTYPE.EXTERNALSTATES : LOGSTATESTYPE.INTERIORSTATES}
>
{data.externalLogs && <Radio.Button value={LOGSTATESTYPE.EXTERNALSTATES}>外部流转</Radio.Button>}
{data.interiorLogs && <Radio.Button value={LOGSTATESTYPE.INTERIORSTATES}>内部流转</Radio.Button>}
{/* <Radio.Button value={LOGSTATESTYPE.EXTERNALSTATES}>外部流转</Radio.Button>
<Radio.Button value={LOGSTATESTYPE.INTERIORSTATES}>内部流转</Radio.Button> */}
</Radio.Group>
)}
</>
}
>
<Table
columns={logStatus === LOGSTATESTYPE.EXTERNALSTATES ? EXTERNALLOGS : INTERNALLOGS}
dataSource={
logStatus === LOGSTATESTYPE.EXTERNALSTATES ?
context.externalLogs :
context.interiorLogs
data.externalLogs :
data.interiorLogs
}
rowKey={(record) => record.id}
pagination={{
......
import { GlobalConfig } from '@/global/config'
import { getTopDomainByHost, getDefaultEnterprise, getChannelInfo, getIChannelInfo } from '@/utils'
export const NOT_CHANGE_VALUE = 'hello, world'
// socket的链接地址, 默认会使用后端接口网关地址
export const SOCKET_URL = process.env.SOCKET_URL?.replace('http|https', 'ws') || process.env.BACK_GATEWAY?.replace('http|https', 'ws')
console.log(SOCKET_URL);
/**
* 请求头
*/
export const REQUEST_HEADER = 'http://'
/**
* 顶域
*/
export const TOP_DOMAIN = process.env.NODE_ENV !== 'development' ? getTopDomainByHost(GlobalConfig.site.siteInfo.siteUrl, true) : 'lingxidev.com'
// export const TOP_DOMAIN = getTopDomainByHost(GlobalConfig.global.siteInfo.siteUrl)
/**
* 平台首页域名
*/
export const PLATFORM_DOMAIN = `${REQUEST_HEADER}www.${TOP_DOMAIN}`
/**
* 企业商城域名
*/
const enterpriseInfo = getDefaultEnterprise()
export const ENTERPRISE_CENTER_URL = `${REQUEST_HEADER}${enterpriseInfo ? enterpriseInfo.url : 'b2b'}.${TOP_DOMAIN}`
/**
* 渠道商城域名
*/
const channelInfo = getChannelInfo()
export const CHANNEL_CENTER_URL = `${REQUEST_HEADER}${channelInfo ? channelInfo.url : 'channel'}.${TOP_DOMAIN}`
/**
* 渠道自有商城域名
*/
const iChannelInfo = getIChannelInfo()
export const ICHANNEL_CENTER_URL = `${REQUEST_HEADER}${iChannelInfo ? iChannelInfo.url : 'ichannel'}.${TOP_DOMAIN}`
/**
* 行情资讯域名
*/
export const INFO_CENTER_URL = `${REQUEST_HEADER}info.${TOP_DOMAIN}`
/**
* 企业采购域名
*/
export const SRM_CENTER_URL = `${REQUEST_HEADER}srm.${TOP_DOMAIN}`
/**
* 物流服务域名
*/
export const LOGISTICS_CENTER_URL = `${REQUEST_HEADER}logistics.${TOP_DOMAIN}`
/**
* 加工服务域名
*/
export const MANUFACTURE_CENTER_URL = `${REQUEST_HEADER}manufacture.${TOP_DOMAIN}`
// 会员角色类型
export const MEMBER_ROLE_LISTS = [
......
......@@ -6,7 +6,18 @@
* **********
*/
import SELF_CONFIG from '../../../config/base.config.json'
import { RootObject } from './global'
import SELF_CONFIG from '../../../config/base.config.json'
import { RootObject } from './global'
export const GlobalConfig: RootObject = SELF_CONFIG
interface NewRootObject extends RootObject {
channelRootRoute: string;
ichannelRootRoute: string;
}
const channelRootRoute = 'channel'
const ichannelRootRoute = 'ichannel'
SELF_CONFIG.channelRootRoute = channelRootRoute // 渠道商城路由根路径
SELF_CONFIG.ichannelRootRoute = ichannelRootRoute // 渠道自有商城路由根路径
export const GlobalConfig: NewRootObject = SELF_CONFIG
......@@ -13,6 +13,7 @@ import ListLayout from '@/components/DetailLayout/components/listLayout';
import GeneralLayout from '@/components/DetailLayout/components/generalLayout';
import RecordLyout from '@/components/DetailLayout/components/recordLyout';
import EyePreview from '@/components/EyePreview';
import { ENTERPRISE_CENTER_URL } from '@/constants';
const TABLINK = [
{ id: 'progressLayout', title: '流转进度' },
......@@ -121,10 +122,10 @@ const ProductInquiryDetail = () => {
return;
}
const { data } = res;
data.externalLogStates = data.externalInquiryListStateResponses ? [...data.externalInquiryListStateResponses] : null;
data.interiorLogStates = data.interiorRequisitionFormStateResponses ? [...data.interiorRequisitionFormStateResponses] : null;
data.externalLogs = data.externalInquiryListLogResponses ? [...data.externalInquiryListLogResponses] : null;
data.interiorLogs = data.interiorInquiryListLogResponses ? [...data.interiorInquiryListLogResponses] : null;
data.externalLogStates = data.externalInquiryListStateResponses ? [...data.externalInquiryListStateResponses] : [];
// data.interiorLogStates = data.interiorRequisitionFormStateResponses ? [...data.interiorRequisitionFormStateResponses] : null;
data.externalLogs = data.externalInquiryListLogResponses ? [...data.externalInquiryListLogResponses] : [];
// data.interiorLogs = data.interiorInquiryListLogResponses ? [...data.interiorInquiryListLogResponses] : null;
setDataSource(data);
handleBasicEffect(data);
handleConditionEffect(data);
......@@ -138,7 +139,7 @@ const ProductInquiryDetail = () => {
const handleJump = (data:any) => {
console.log(data)
window.open(`/shop/${data.memberId}_${data.memberRoleId}/inquiry/detail/${data.commodityId}`)
window.open(`${ENTERPRISE_CENTER_URL}/shop/${data.memberId}_${data.memberRoleId}/inquiry/detail/${data.commodityId}`)
}
const columns: ColumnType<any>[] = [
......
......@@ -12,6 +12,7 @@ import BasicLayout from '@/components/DetailLayout/components/basicLayout';
import ListLayout from '@/components/DetailLayout/components/listLayout';
import GeneralLayout from '@/components/DetailLayout/components/generalLayout';
import RecordLyout from '@/components/DetailLayout/components/recordLyout';
import { ENTERPRISE_CENTER_URL } from '@/constants';
const TABLINK = [
{ id: 'progressLayout', title: '流转进度' },
......@@ -121,10 +122,10 @@ const ConfirmOfferDetail = () => {
return;
}
const { data } = res;
data.externalLogStates = data.externalQuotationStateResponses ? [...data.externalQuotationStateResponses] : null;
data.interiorLogStates = data.interiorQuotationStateResponses ? [...data.interiorQuotationStateResponses] : null;
data.externalLogs = data.externalRequisitionFormResponses ? [...data.externalRequisitionFormResponses] : null;
data.interiorLogs = data.interiorQuotationLogResponses ? [...data.interiorQuotationLogResponses] : null;
data.externalLogStates = data.externalQuotationStateResponses ? [...data.externalQuotationStateResponses] : [];
// data.interiorLogStates = data.interiorQuotationStateResponses ? [...data.interiorQuotationStateResponses] : null;
data.externalLogs = data.externalRequisitionFormResponses ? [...data.externalRequisitionFormResponses] : [];
// data.interiorLogs = data.interiorQuotationLogResponses ? [...data.interiorQuotationLogResponses] : null;
setDataSource(data);
handleBasicEffect(data);
handleOtherEffect(data);
......@@ -143,7 +144,7 @@ const ConfirmOfferDetail = () => {
dataIndex: 'productId',
render: (productId, data) => (
<Space direction='vertical'>
<Typography.Link target="_blank" href={`/shop/${data.memberId}_${data.memberRoleId}/commodity/detail/${data.commodityId}`}>{productId}</Typography.Link>
<Typography.Link target="_blank" href={`${ENTERPRISE_CENTER_URL}/shop/${data.memberId}_${data.memberRoleId}/commodity/detail/${data.commodityId}`}>{productId}</Typography.Link>
<Typography.Text>{data.productName}</Typography.Text>
</Space>
)
......
import deepClone from 'clone'
import moment from 'moment';
import { ISchema } from '@formily/antd';
import { GlobalConfig } from '@/global/config';
function isArray(arr: any) {
return Array.isArray(arr)
......@@ -364,6 +365,49 @@ export const coverColFiltersItem = (
}
};
export const getDefaultEnterprise = () => {
const shopInfo = GlobalConfig.web.shopInfo
const webMallList = shopInfo.filter((item: { environment: number; type: number }) => item.environment === 1 && item.type === 1)
const defaultMall = webMallList.filter((item) => item.isDefault === 1)[0]
let result: any = undefined
if (defaultMall) {
result = defaultMall
} else {
if (webMallList && webMallList.length > 0) {
result = webMallList[0]
}
}
return result
}
export const getChannelInfo = () => {
const shopInfo = GlobalConfig.web.shopInfo
const webMallList = shopInfo.filter((item: { environment: number; type: number }) => item.environment === 1 && item.type === 3)
return webMallList[0]
}
export const getIChannelInfo = () => {
const shopInfo = GlobalConfig.web.shopInfo
const webMallList = shopInfo.filter((item: { environment: number; type: number }) => item.environment === 1 && item.type === 4)
return webMallList[0]
}
/**
* 根据host获取当前一级域名
* @param url 链接
* @returns
*/
export const getTopDomainByHost = (url: string, isPort = false): string => {
if (!url) return ''
// 如果后缀带有端口号, 可通过第二个参数把端口去掉
const splitUrl = url.replace(/(http|https)\:\/\//, '').split(':')
if (splitUrl.length > 1 && isPort) {
return `${splitUrl[0].split('.').slice(-2).join('.')}`
}
return url.split('.').slice(-2).join('.')
}
export default {
isArray,
isObject,
......
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