Commit a0e25897 authored by Bill's avatar Bill

merge: 合并冲突

parents efe30e35 68434b27
......@@ -84,8 +84,7 @@ export enum LAYOUT_TYPE {
// 本地环境跳过权限校验
export const isDev = false;
// export const isDev = process.env.NODE_ENV === "development"
export const isDev = process.env.NODE_ENV === "development"
......
......@@ -3,10 +3,11 @@
.changed {
width: 100%;
display: flex;
align-items: center;
align-items: flex-start;
justify-content: space-between;
.new {
flex-shrink: 0;
padding: 0 2px;
color: #FFFFFF;
font-size: @font-size-sm;
......
......@@ -2,12 +2,14 @@
* @Author: XieZhiXiong
* @Date: 2021-05-21 17:14:39
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-06-10 09:57:18
* @LastEditTime: 2021-07-03 14:57:41
* @Description: 会员入库信息
*/
import React from 'react';
import { Tooltip } from 'antd';
import CustomizeColumn, { IProps as CustomizeColumnProps, DataItem } from '@/components/CustomizeColumn';
import { renderFieldTypeContent, FieldType } from '../../utils';
import PicWrap from '../PicWrap';
import styles from './index.less';
interface IProps extends Omit<CustomizeColumnProps, 'data' | 'columns'> {
......@@ -39,6 +41,10 @@ interface IProps extends Omit<CustomizeColumnProps, 'data' | 'columns'> {
* 修改之前的值,如果没有为空字符串
*/
lastValue?: string,
/**
* 类型
*/
fieldType?: string,
}[],
}[],
}
......@@ -57,7 +63,8 @@ const MemberDocIncomingInfo: React.FC<IProps> = (props: IProps) => {
title: ele.fieldLocalName,
value: (
<div className={styles.changed}>
{ele.fieldValue}
{/* {ele.fieldValue} */}
{renderFieldTypeContent(ele.fieldType, ele.fieldValue)}
{ele.lastValue && (
<Tooltip title={`变更前:${ele.lastValue}`}>
<span className={styles.new}>NEW</span>
......
......@@ -21,7 +21,12 @@
margin-right: @margin-sm;
width: 175px;
height: 120px;
border: 1px solid #EBECF0;
> img {
width: 100%;
height: 100%;
object-fit: contain;
}
}
&-right {
......
......@@ -2,22 +2,13 @@
* @Author: XieZhiXiong
* @Date: 2021-05-21 17:25:39
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-06-18 17:47:44
* @LastEditTime: 2021-07-03 11:32:38
* @Description: 会员公司资质
*/
import React from 'react';
// import { Descriptions } from 'antd';
import {
createFormActions,
} from '@formily/antd';
import { DatePicker, Checkbox } from '@formily/antd-components';
import { normalizeFiledata } from '@/utils';
import NiceForm from '@/components/NiceForm';
import { Descriptions } from 'antd';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import { schema } from './schema';
import QualitiesUpload from '../QualitiesUpload';
import QualitiesUploadFormItem from '../QualitiesUploadFormItem';
// import styles from './index.less';
import styles from './index.less';
export type ValueType = {
/**
......@@ -45,63 +36,31 @@ interface IProps extends MellowCardProps {
dataSource: ValueType[],
}
const formActions = createFormActions();
const MemberDocQualification: React.FC<IProps> = (props: IProps) => {
const { dataSource = [], ...rest } = props;
const qualities = (
Array.isArray(dataSource)
? dataSource.map((item) => ({
file: item.url ? [normalizeFiledata(item.url)] : [],
expireDay: item.expireDay,
permanent: item.permanent === 1 ? [item.permanent] : [],
}))
: []
);
return (
<MellowCard
title="资质证明"
bodyStyle={{
paddingBottom: 0,
}}
{...rest}
>
{/* <ul className={styles.qualification}>
<li className={styles['qualification-item']}>
<div className={styles['qualification-item-wrap']}>
<div className={styles['qualification-item-left']}>
</div>
<div className={styles['qualification-item-right']}>
<Descriptions column={1}>
<Descriptions.Item label="到期日">2022-10-01</Descriptions.Item>
<Descriptions.Item label="有效期" style={{ paddingBottom: 0 }}>长期有效</Descriptions.Item>
</Descriptions>
<ul className={styles.qualification}>
{dataSource.map((item, index) => (
<li key={index} className={styles['qualification-item']}>
<div className={styles['qualification-item-wrap']}>
<div className={styles['qualification-item-left']}>
<img src={item.url} />
</div>
<div className={styles['qualification-item-right']}>
<Descriptions column={1}>
<Descriptions.Item label="到期日">{item.expireDay || ''}</Descriptions.Item>
<Descriptions.Item label="有效期" style={{ paddingBottom: 0 }}>{item.permanent === 1 ? '长期有效' : ''}</Descriptions.Item>
</Descriptions>
</div>
</div>
</div>
</li>
</ul> */}
<NiceForm
previewPlaceholder=" "
initialValues={{
qualities,
}}
components={{
DatePicker,
Checkbox,
CheckboxGroup: Checkbox.Group,
QualitiesUpload,
QualitiesUploadFormItem,
}}
effects={() => {
}}
actions={formActions}
schema={schema}
editable={false}
/>
</li>
))}
</ul>
</MellowCard>
);
};
......
......@@ -6,9 +6,17 @@
}
}
.no-img {
:global {
.ant-upload.ant-upload-select-picture-card {
border: none;
}
}
}
.img {
width: 175px;
height: 120px;
object-fit: contain;
object-fit: cover;
}
}
\ No newline at end of file
......@@ -2,13 +2,14 @@
* @Author: XieZhiXiong
* @Date: 2021-06-04 17:26:51
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-06-21 14:50:58
* @LastEditTime: 2021-07-03 13:58:05
* @Description: 资质上传组件
*/
import React, { useState } from 'react';
import { Upload } from 'antd';
import { PlusOutlined, FileOutlined, LoadingOutlined, ExclamationCircleOutlined } from '@ant-design/icons';
import { UploadChangeParam } from 'antd/lib/upload';
import classNames from 'classnames';
import styles from './index.less';
const QualitiesUpload = (props) => {
......@@ -73,6 +74,11 @@ const QualitiesUpload = (props) => {
);
};
const uploadCls = classNames({
[styles['no-img']]: arrValue.length,
className,
});
return (
<div className={styles.upload}>
<Upload
......@@ -83,6 +89,7 @@ const QualitiesUpload = (props) => {
fileList={arrValue}
onChange={handleChange}
disabled={!editable}
className={uploadCls}
>
{!loading ? (
arrValue.length ? renderFile() : uploadButton
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-06-01 16:13:35
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-06-18 17:50:57
* @LastEditTime: 2021-07-03 14:48:39
* @Description: 资质证明上传组件
*/
import React from 'react';
......@@ -108,7 +108,7 @@ const QualitiesUploadFormItem = (props) => {
<div style={{ width: '100%' }}>
<ArrayList value={value}>
<Row
gutter={{ sm: 44, md: 88, lg: 88 }}
gutter={[66, 66]}
>
{toArr(value).map((item, index) => (
<Col key={index} {...span}>
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-28 15:24:56
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-06-18 15:57:10
* @LastEditTime: 2021-07-03 14:10:53
* @Description:
*/
import React, { useState } from 'react';
......@@ -92,7 +92,11 @@ const ComingConfigTable = (props) => {
};
const filtered = keyword ? value.filter((item) => item.fieldLocalName.includes(keyword)) : [...value];
const dataSource = pagingArr(page, size, filtered);
let dataSource = filtered;
if (!editable) {
dataSource = pagingArr(page, size, filtered);
}
return (
<div className={styles['config-table']}>
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-28 15:19:56
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-06-01 14:47:01
* @LastEditTime: 2021-07-03 14:03:52
* @Description: 入库资料操作组
*/
import React, { useState, useRef, useEffect } from 'react';
......@@ -129,9 +129,9 @@ const ComingCtl = (props: IProps) => {
新建入库资料
</Button>
)}
<Button>
{/* <Button>
预览入库资料
</Button>
</Button> */}
</Space>
<Drawer
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-28 14:30:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-06-08 16:27:02
* @LastEditTime: 2021-07-03 14:02:39
* @Description: 搜索组件
*/
import React, { useState, useEffect } from 'react';
......@@ -49,12 +49,12 @@ const MySearch: React.FC<IProps> = (props: IProps) => {
}
}, [value]);
const handleChange = (e) => {
const handleChange = (next: string) => {
if (!('value' in props)) {
setKeyword(e.target.value);
setKeyword(next);
}
if (onChange) {
onChange(e.target.value);
onChange(next);
}
};
......@@ -65,9 +65,9 @@ const MySearch: React.FC<IProps> = (props: IProps) => {
};
const handleReset = () => {
onChange('');
handleChange('');
if (searchOnResetAction) {
onSearch('');
handleSearch('');
}
if (onReset) {
onReset();
......@@ -79,7 +79,7 @@ const MySearch: React.FC<IProps> = (props: IProps) => {
<Input.Search
style={{ width: '200px', marginRight: 16 }}
value={keyword}
onChange={handleChange}
onChange={(e) => handleChange(e.target.value)}
onSearch={handleSearch}
{...rest}
/>
......
......@@ -10,9 +10,9 @@ import NiceForm from '@/components/NiceForm';
import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
import { useLinkageUtils } from '@/utils/formEffectUtils';
import { PublicApi } from '@/services/api';
import { GetMemberAbilitySubGetResponse, GetMemberMainpageDetailGetResponse } from '@/services/MemberV2Api';
import { initDetailSchema } from './schema';
import { getAuth, setAuth } from '@/utils/auth';
import { initDetailSchema } from './schema';
import AreaSelect from '../../../components/AreaSelect';
const formActions = createFormActions();
const {
......@@ -559,6 +559,7 @@ const MemberForm: React.FC<MemberFormProps> = ({
components={{
RadioGroup: Radio.Group,
CheckboxGroup: Checkbox.Group,
AreaSelect,
}}
effects={($, actions) => {
useAsyncInitSelect(
......
......@@ -6,7 +6,7 @@ import {
} from 'antd';
import { usePageStatus } from '@/hooks/usePageStatus';
import { PublicApi } from '@/services/api';
import { GetMemberAbilitySubGetResponse } from '@/services/MemberV2Api';
import { GetMemberAbilitySubDetailResponse } from '@/services/MemberV2Api';
import {
MEMBER_TYPE_CHANNEL_CORPORATE,
MEMBER_TYPE_CHANNEL_INDIVIDUAL,
......@@ -19,7 +19,6 @@ import FlowRecords from '@/components/FlowRecords';
import CustomizeColumn from '@/components/CustomizeColumn';
import {
MEMBER_OUTER_COLUMNS,
MEMBER_INNER_COLUMNS,
} from '../constant';
import MemberBasicInfo from '../components/MemberBasicInfo';
import MemberChannelInfo from '../components/MemberChannelInfo';
......@@ -27,13 +26,13 @@ import PicWrap from '../components/PicWrap';
const ImportDetail: React.FC<{}> = () => {
const { id, validateId } = usePageStatus();
const [memberInfo, setMemberInfo] = useState<GetMemberAbilitySubGetResponse>(null);
const [memberInfo, setMemberInfo] = useState<GetMemberAbilitySubDetailResponse>(null);
const [infoLoading, setInfoLoading] = useState(false);
const getDetailedInfo = () => {
if (id && validateId) {
setInfoLoading(true);
PublicApi.getMemberAbilitySubGet({
PublicApi.getMemberAbilitySubDetail({
memberId: id,
validateId,
}).then(res => {
......@@ -137,7 +136,7 @@ const ImportDetail: React.FC<{}> = () => {
<MemberChannelInfo
dataSource={{
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
type: memberInfo?.channelLevelTag,
areas: memberInfo?.areas,
desc: memberInfo?.remark,
}}
......@@ -180,11 +179,8 @@ const ImportDetail: React.FC<{}> = () => {
<Col span={24}>
<FlowRecords
outerColumns={MEMBER_OUTER_COLUMNS}
innerColumns={MEMBER_INNER_COLUMNS}
outerRowkey="id"
innerRowkey="id"
outerDataSource={memberInfo?.outerHistory}
innerDataSource={memberInfo?.innerHistory}
id="flowRecords"
/>
</Col>
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-21 16:45:32
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-06-18 17:04:06
* @LastEditTime: 2021-07-03 15:44:03
* @Description: 会员档案信息
*/
import React, { useEffect, useState } from 'react';
......@@ -186,7 +186,7 @@ const MemberArchiveInfo = () => {
const getAppraisalList = (params: ParamsType): Promise<ReponseType<AppraisalListItemType>> => {
return new Promise((resolve, reject) => {
PublicApi.getMemberAbilityMaintenanceDatailAppraisalPage({
PublicApi.getMemberAbilityMaintenanceDetailAppraisalPage({
validateId,
...params,
})
......@@ -254,7 +254,7 @@ const MemberArchiveInfo = () => {
{/* 分类信息 */}
<Col span={24}>
<MemberDocCategory
dataSource={archiveInfo?.classfication}
dataSource={archiveInfo?.classification}
id="categoryInfo"
/>
</Col>
......
......@@ -142,7 +142,7 @@ const MemberMaintain: React.FC<[]> = () => {
</Link>
)}
{record.showCorrect && (
<Link to={`/memberCenter/memberAbility/memberRectification/rectificationAdd/add?name=${record.name}&memberId=${record.memberId}&roleId=${record.roleId}`}>
<Link to={`/memberCenter/memberAbility/memberRectification/rectificationAdd/add?memberName=${record.name}&memberId=${record.memberId}&roleId=${record.roleId}`}>
<Button
type="link"
>
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-26 16:52:48
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-06-30 10:22:49
* @LastEditTime: 2021-07-03 14:50:48
* @Description: 申请会员
*/
import React, { useState, useEffect, useRef } from 'react';
......@@ -21,6 +21,7 @@ import ReutrnEle from '@/components/ReturnEle';
import NiceForm from '@/components/NiceForm';
import MellowCard from '@/components/MellowCard';
import { PublicApi } from '@/services/api';
import { normalizeFiledata, FileData } from '@/utils';
import schema, { GroupItem } from './schema';
import { useBusinessEffects } from '../../components/QualitiesUploadFormItem/effects';
import ComingAgreement from './components/ComingAgreement';
......@@ -66,6 +67,16 @@ type ValueType = {
},
}
interface MemberInfo {
step4: {
qualities: {
file: FileData[],
expireDay: string,
permanent: number[],
}[],
},
}
let countDownLen = 10;
const formActions = createFormActions();
......@@ -86,6 +97,7 @@ const MemberQueryApplyMember: React.FC = () => {
const [loading, setLoading] = useState(false);
const [agreement, setAgreement] = useState('');
const [agreementLoading, setAgreementLoading] = useState(false);
const [memberInfo, setMemberInfo] = useState<MemberInfo>();
const stepRef = useRef(!validateId ? 0 : 1);
......@@ -131,7 +143,17 @@ const MemberQueryApplyMember: React.FC = () => {
validateId: `${validateId}`,
});
if (res.code === 1000) {
const qualities = res.data.qualities || [];
setDepositInfo(res.data.groups);
setMemberInfo({
step4: {
qualities: qualities.map((item) => ({
file: item.url ? [normalizeFiledata(item.url)] : [],
expireDay: item.expireDay,
permanent: item.permanent === 1 ? [item.permanent] : [],
}))
},
});
}
setLoading(false);
};
......@@ -172,6 +194,16 @@ const MemberQueryApplyMember: React.FC = () => {
content: '正在保存,请稍候...',
duration: 0,
});
const commonPayload = {
qualities: qualities.map((item) => ({
expireDay: item.expireDay || '',
permanent: item.permanent && item.permanent[0] || 0,
url: item.file && item.file[0] ? item.file[0].url : '',
name: item.file && item.file[0] ? item.file[0].name : '',
})),
};
if (!validateId) {
if ((!upperMemberId || !upperRoleId)) {
return;
......@@ -180,12 +212,7 @@ const MemberQueryApplyMember: React.FC = () => {
upperMemberId,
upperRoleId,
depositDetails: step3,
qualities: qualities.map((item) => ({
expireDay: item.expireDay || '',
permanent: item.permanent && item.permanent[0] || 0,
url: item.file && item.file[0] ? item.file[0].url : '',
name: item.file && item.file[0] ? item.file[0].name : '',
})),
...commonPayload,
}).then(res => {
if (res.code !== 1000) {
return;
......@@ -200,12 +227,7 @@ const MemberQueryApplyMember: React.FC = () => {
PublicApi.postMemberAbilityInfoDepositDetailUpdate({
validateId,
detail: step3,
qualities: qualities.map((item) => ({
expireDay: item.expireDay || '',
permanent: item.permanent && item.permanent[0] || 0,
url: item.file && item.file[0] ? item.file[0].url : '',
name: item.file && item.file[0] ? item.file[0].name : '',
})),
...commonPayload,
}).then(res => {
if (res.code !== 1000) {
return;
......@@ -320,7 +342,7 @@ const MemberQueryApplyMember: React.FC = () => {
previewPlaceholder=" "
onSubmit={handleSubmit}
actions={formActions}
initialValues={{}}
initialValues={memberInfo}
components={{
Checkbox,
CheckboxGroup: Checkbox.Group,
......
......@@ -184,7 +184,7 @@ const MemberArchiveInfo = () => {
const getAppraisalList = (params: ParamsType): Promise<ReponseType<AppraisalListItemType>> => {
return new Promise((resolve, reject) => {
PublicApi.getMemberAbilityInfoDatailAppraisalPage({
PublicApi.getMemberAbilityInfoDetailAppraisalPage({
validateId,
...params,
})
......
......@@ -94,7 +94,7 @@ export function coverColFiltersItem(
}
};
type FieldType = 'string' | 'long' | 'upload' | 'radio' | 'select' | 'checkbox' | 'area';
export type FieldType = 'string' | 'long' | 'upload' | 'radio' | 'select' | 'checkbox' | 'area' | string & {};
// 字段校验规则枚举:0-无校验规则,1-邮箱规则,2-手机号码规则,3-身份证规则,4-电话号码规则
const RULE_REG_MAP = {
......@@ -154,7 +154,6 @@ const getFieldType = (field: ElementType) => {
'x-component': 'RadioGroup',
enum: field.fieldEnum,
'x-component-props': {
showDesc: false,
disabled: !!field.disabled,
},
};
......@@ -163,6 +162,9 @@ const getFieldType = (field: ElementType) => {
case 'select': {
description = {
enum: field.fieldEnum,
'x-component-props': {
disabled: !!field.disabled,
},
};
break;
}
......@@ -170,12 +172,18 @@ const getFieldType = (field: ElementType) => {
description = {
'x-component': 'CheckboxGroup',
enum: field.fieldEnum,
'x-component-props': {
disabled: !!field.disabled,
},
};
break;
}
case 'area': {
description = {
'x-component': 'AreaSelect',
'x-component-props': {
disabled: !!field.disabled,
},
};
break;
}
......@@ -206,7 +214,7 @@ export function renderFieldTypeContent(fieldType: FieldType, fieldValue: any): R
case 'upload':
node = (
<PicWrap
pics={[fieldValue.fieldValue]}
pics={[fieldValue]}
/>
);
break;
......
......@@ -30,27 +30,27 @@ const CallForBidsSearchDetail: React.FC = () => {
{ title: '流转记录', id: 'transferRecord', componentName: "BidTransformRecord" },
]
// 已经报名 才有报名信息
if(data?.inviteTenderOutStatus < BidOuterWorkState.Not_Submitted_Qualifications_Check) {
anchorTitleList.splice(5, 1)
}
// // 已经报名 才有报名信息 @注释原因:无法通过状态判断
// if(data?.inviteTenderOutStatus < BidOuterWorkState.Not_Submitted_Qualifications_Check) {
// anchorTitleList.splice(5, 1)
// }
// 已经资格预审 才有资格预审信息
if(data?.inviteTenderOutStatus < BidOuterWorkState.Not_Submit_Tender && !data?.isQualificationCheck) {
// anchorTitleList.splice(7, 1)
anchorTitleList.forEach((ele, index) => ele['title'] === '资格预审信息' && anchorTitleList.splice(index, 1))
}
// // 已经资格预审 才有资格预审信息
// if(data?.inviteTenderOutStatus < BidOuterWorkState.Not_Submit_Tender && !data?.isQualificationCheck) {
// // anchorTitleList.splice(7, 1)
// anchorTitleList.forEach((ele, index) => ele['title'] === '资格预审信息' && anchorTitleList.splice(index, 1))
// }
// 已经评标 才有评标报告
if(data?.inviteTenderOutStatus < BidOuterWorkState.Not_Finish_Notice) {
// anchorTitleList.splice(9, 1)
anchorTitleList.forEach((ele, index) => ele['title'] === '评标报告' && anchorTitleList.splice(index, 1))
}
// // 已经评标 才有评标报告
// if(data?.inviteTenderOutStatus < BidOuterWorkState.Not_Finish_Notice) {
// // anchorTitleList.splice(9, 1)
// anchorTitleList.forEach((ele, index) => ele['title'] === '评标报告' && anchorTitleList.splice(index, 1))
// }
// 已经完成招标 才有招标结果
if(data?.inviteTenderOutStatus < BidOuterWorkState.Finish_Invite_Tender) {
anchorTitleList.splice(-2, 1)
}
// // 已经完成招标 才有招标结果
// if(data?.inviteTenderOutStatus < BidOuterWorkState.Finish_Invite_Tender) {
// anchorTitleList.splice(-2, 1)
// }
return (
<div>
......
......@@ -139,15 +139,15 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
<div id="transferProcess">
<TransferProcess
cardTitle="流转进度"
customTitleKey='operationalProcess'
customKey='state'
outerVerifyCurrent={findLastIndexFlowState(formContext.data?.externalWorkflowFlowRecordLogResponses || [])}
innerVerifyCurrent={findLastIndexFlowState(formContext.data?.interiorWorkflowFlowRecordLogResponses || [])}
customTitleKey='name'
customKey='id'
outerVerifyCurrent={findLastIndexFlowState(formContext?.externalWorkflowFlowRecordLogResponses || [])}
innerVerifyCurrent={findLastIndexFlowState(formContext?.interiorWorkflowFlowRecordLogResponses || [])}
outerVerifySteps={
formContext.data?.externalWorkflowFlowRecordLogResponses ?
formContext.data.externalWorkflowFlowRecordLogResponses.map(item => ({
formContext?.externalWorkflowFlowRecordLogResponses ?
formContext.externalWorkflowFlowRecordLogResponses.map(item => ({
...item,
status: item.isExecute ? 'finish' : 'wait',
status: item.isActive ? 'finish' : 'wait',
})) :
[]
}
......@@ -155,7 +155,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
formContext.data?.interiorWorkflowFlowRecordLogResponses ?
formContext.data.interiorWorkflowFlowRecordLogResponses.map(item => ({
...item,
status: item.isExecute ? 'finish' : 'wait',
status: item.isActive ? 'finish' : 'wait',
})) :
[]
}
......
......@@ -26,10 +26,10 @@ const TenderSearchDetail: React.FC = () => {
{ title: '流转记录', id: 'transferRecord', componentName: "BidTransformRecord" },
]
// 没有完成的标 隐藏中标结果、中标明细
if(data?.inviteTender?.inviteTenderOutStatus !== BidOuterWorkState.Finish_Invite_Tender) {
anchorTitleList.splice(1, 2)
}
// // 没有完成的标 隐藏中标结果、中标明细 @注释原因:无法通过状态判断
// if(data?.inviteTender?.inviteTenderOutStatus !== BidOuterWorkState.Finish_Invite_Tender) {
// anchorTitleList.splice(1, 2)
// }
return (
<div>
......
......@@ -48,8 +48,8 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({cardTitle, type}) => {
span: 8,
fieldList: [
{ title: '招标编号:', name: 'code' },
{ title: '外部状态:', name: 'inviteTenderOutStatus', render: (text) => BidOutStateTexts[text]},
{ title: '内部状态:', name: 'inviteTenderInStatus', render: (text) => BidInStateTexts[text] },
{ title: '外部状态:', name: 'inviteTenderOutStatusValue'},
{ title: '内部状态:', name: 'inviteTenderInStatusValue'},
{ title: '发布时间:', name: 'createTime', render: (text) => formatTimeString(text) },
]
},
......
......@@ -25,15 +25,15 @@ export const processLogResponses = (resData) => {
const externalLogs = externalTasks.map(item => ({
id: item.taskStep,
name: item.taskName,
operationRole: item.userRoleName,
isActive: item.taskStep <= currentOuterStep
operationRole: item.memberRoleName,
isActive: item.taskStep < currentOuterStep
}))
const subTasks = externalTasks.filter(item => item.taskStep === currentOuterStep)
const interiorLogs = subTasks.length ? subTasks[0]['subTasks'].map(item => ({
id: item.taskStep,
name: item.taskName,
operationRole: item.userRoleName,
isActive: item.taskStep <= currentInnerStep
isActive: currentInnerStep === 0 ? true : (item.taskStep < currentInnerStep)
})) : null
return {
interiorLogs,
......
......@@ -157,7 +157,7 @@ export const formSchema: ISchema = {
type: 'object',
'x-component': 'Mega-Layout',
'x-component-props': {
label: '注册手机',
label: '联系人电话',
required: true,
wrapperCol: 24,
className: "clearParentMargin"
......@@ -218,7 +218,7 @@ export const formSchema: ISchema = {
type: 'object',
'x-component': 'Mega-Layout',
'x-component-props': {
label: '投标单位地址',
label: '地址',
required: true,
wrapperCol: 24,
},
......
......@@ -176,23 +176,23 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
<div id="transferProcess">
<TransferProcess
cardTitle="流转进度"
customTitleKey='operationalProcess'
customKey='state'
outerVerifyCurrent={findLastIndexFlowState(formContext.data?.externalWorkflowFlowRecordLogResponses || [])}
innerVerifyCurrent={findLastIndexFlowState(formContext.data?.interiorWorkflowFlowRecordLogResponses || [])}
customTitleKey='name'
customKey='id'
outerVerifyCurrent={findLastIndexFlowState(formContext?.externalWorkflowFlowRecordLogResponses || [])}
innerVerifyCurrent={findLastIndexFlowState(formContext?.interiorWorkflowFlowRecordLogResponses || [])}
outerVerifySteps={
formContext.data?.externalWorkflowFlowRecordLogResponses ?
formContext.data.externalWorkflowFlowRecordLogResponses.map(item => ({
formContext?.externalWorkflowFlowRecordLogResponses ?
formContext.externalWorkflowFlowRecordLogResponses.map(item => ({
...item,
status: item.isExecute ? 'finish' : 'wait',
status: item.isActive ? 'finish' : 'wait',
})) :
[]
}
innerVerifySteps={
formContext.data?.interiorWorkflowFlowRecordLogResponses ?
formContext.data.interiorWorkflowFlowRecordLogResponses.map(item => ({
formContext?.interiorWorkflowFlowRecordLogResponses ?
formContext.interiorWorkflowFlowRecordLogResponses.map(item => ({
...item,
status: item.isExecute ? 'finish' : 'wait',
status: item.isActive ? 'finish' : 'wait',
})) :
[]
}
......
......@@ -151,7 +151,7 @@ const TableModal: React.FC<Iprops> = (props: Iprops) => {
hideSelectAll: customizeRadio,
}}
formRender={(child, ps) => <Row justify='space-between' style={{ marginBottom: 16 }}>
<Col span={18} style={{ zIndex: 99 }}>{child}</Col>
<Col style={{ zIndex: 99 }}>{child}</Col>
<Col style={{ marginTop: 4 }}>{ps}</Col>
</Row >}
controlRender={
......
@import "../../../member/components/index.less";
.item_wrap {
margin-bottom: 24px;
background-color: #FFF;
border-radius: 8px;
padding: 24px;
&:last-child {
margin-bottom: 0px;
}
.mainCol_title {
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #303133;
padding: 0px 0 20px;
}
:global {
.ant-tabs-nav {
&::before {
border-bottom-color: #FFF;
}
}
}
}
.header {
:global {
.ant-page-header {
padding: 24px 24px !important;
}
}
}
.upload_item {
width: 498px;
padding: 5px 8px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #FAFBFC;
.upload_left {
display: flex;
align-items: center;
color: #00B37A;
cursor: pointer;
:global {
.anticon-link {
color: #00B37A;
font-size: 16px;
margin-right: 8px;
}
}
}
}
\ No newline at end of file
// @import "../../../member/components/index.less";
.item_wrap {
margin-bottom: 24px;
background-color: #FFF;
border-radius: 8px;
padding: 24px;
&:last-child {
margin-bottom: 0px;
}
.mainCol_title {
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #303133;
padding: 0px 0 20px;
}
:global {
.ant-tabs-nav {
&::before {
border-bottom-color: #FFF;
}
}
}
}
.header {
:global {
.ant-page-header {
padding: 24px 24px !important;
}
}
}
.upload_item {
width: 498px;
padding: 5px 8px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #FAFBFC;
.upload_left {
display: flex;
align-items: center;
color: #00B37A;
cursor: pointer;
:global {
.anticon-link {
color: #00B37A;
font-size: 16px;
margin-right: 8px;
}
}
}
}
......@@ -98,7 +98,7 @@ const ProductInquiryDetail = () => {
{
label: '附件',
extra: <>
{data.enclosureUrls.map((item: any, index: number) => (
{data.enclosureUrls && data.enclosureUrls.map((item: any, index: number) => (
<Typography.Link
style={{ display: 'block', paddingBottom: '8px' }}
key={`link_${index + 1}`}
......
......@@ -6,6 +6,8 @@ import TableModal from '@/pages/transaction/components/TableModal';
import { PublicApi } from '@/services/api';
import style from './index.less';
import { isEmpty } from '@formily/shared';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { FORM_FILTER_PATH } from '@/formSchema/const';
interface BasicInfoLayoutProps {
/** 获取询价会员 */
......@@ -111,16 +113,41 @@ const BasicInfoLayout: React.FC<BasicInfoLayoutProps> = (props: any) => {
onClose={() => toggle(false)}
onOk={handleLogisticOnOk}
columns={columns}
effects={($, actions) => {
actions.reset()
useStateFilterSearchLinkageEffect($, actions, "name", FORM_FILTER_PATH)
}}
schema={{
type: 'object',
type: "object",
properties: {
name: {
type: 'string',
"x-component": 'Search',
"x-component-props": {
placeholder: '请输入会员名称',
advanced: false
megalayout: {
type: "object",
"x-component": "mega-layout",
properties: {
name: {
type: "string",
"x-component": "Search",
"x-mega-props": {},
"x-component-props": {
placeholder: "会员名称",
advanced: false,
align: "flex-left",
}
}
}
},
[FORM_FILTER_PATH]: {
type: "object",
"x-component": "flex-layout",
"x-component-props": {
rowStyle: {
justifyContent: "flex-start",
flexWrap: "nowrap"
},
colStyle: {//改变间隔
marginRight: 20
}
},
}
}
}}
......
......@@ -6,6 +6,8 @@ import { ColumnType } from 'antd/lib/table/interface';
import TableModal from '@/pages/transaction/components/TableModal';
import { PublicApi } from '@/services/api';
import { isEmpty } from 'lodash';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
interface InquiryProductLayoutProps {
/** 获得询价商品 */
......@@ -133,7 +135,7 @@ const InquiryProductLayout: React.FC<InquiryProductLayoutProps> = (props: any) =
purchaseCount: 1,
logistics: v.logistics,
memberId: v.memberId,
memberRoleId: v.roleId,
memberRoleId: v.memberRoleId,
imgUrl: v.mainPic
})
})
......@@ -197,15 +199,82 @@ const InquiryProductLayout: React.FC<InquiryProductLayoutProps> = (props: any) =
onClose={() => toggle(false)}
onOk={handleLogisticOnOk}
columns={productColumns}
effects={($, actions) => {
actions.reset()
useStateFilterSearchLinkageEffect($, actions, "name", FORM_FILTER_PATH)
}}
schema={{
type: 'object',
type: "object",
properties: {
name: {
type: 'string',
"x-component": 'Search',
megalayout: {
type: "object",
"x-component": "mega-layout",
properties: {
name: {
type: "string",
"x-component": "Search",
"x-mega-props": {},
"x-component-props": {
placeholder: "商品名称",
align: "flex-left",
}
}
}
},
[FORM_FILTER_PATH]: {
type: "object",
"x-component": "flex-layout",
"x-component-props": {
placeholder: '请输入会员名称',
advanced: false
rowStyle: {
justifyContent: "flex-start",
flexWrap: "nowrap"
},
colStyle: {//改变间隔
marginRight: 20
}
},
properties: {
PRO_LAYOUT: {
type: "object",
"x-component": "mega-layout",
"x-mega-props": {
span: 5
},
"x-component-props": {
inline: true
},
properties: {
customerCategoryId: {
type: "string",
"x-component-props": {
placeholder: "请选择品类",
style: {
width: 160
}
},
enum: []
},
brandId: {
type: "string",
"x-component-props": {
placeholder: "请选择品牌",
style: {
width: 160
}
},
enum: []
},
}
},
sumbit: {
"x-component": "Submit",
"x-mega-props": {
span: 1
},
"x-component-props": {
children: "查询"
}
}
}
}
}
......
.item_wrap {
margin-bottom: 24px;
background-color: #FFF;
border-radius: 8px;
padding: 24px;
&:last-child {
margin-bottom: 0px;
}
.mainCol_title {
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #303133;
padding: 0px 0 20px;
}
:global {
.ant-tabs-nav {
&::before {
border-bottom-color: #FFF;
}
}
}
}
.header {
:global {
.ant-page-header {
padding: 24px 24px !important;
}
}
}
.upload_item {
width: 498px;
padding: 5px 8px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #FAFBFC;
.upload_left {
display: flex;
align-items: center;
color: #00B37A;
cursor: pointer;
:global {
.anticon-link {
color: #00B37A;
font-size: 16px;
margin-right: 8px;
}
}
}
}
.checkbox_wrap_style {
width: 100%;
:global {
.ant-checkbox-wrapper {
width: 100%;
border: 1px solid #ccc;
padding: 8px 18px;
.ant-checkbox {
display: none;
}
> span {
display: flex;
align-items: center;
padding: 0px 0px;
.checkbox_avatar {
width: 32px;
height: 32px;
margin-right: 8px;
}
}
}
.ant-checkbox-wrapper-checked {
border-color: #00b37a!important;
color: #00b37a;
position: relative;
&:after {
content: "";
position: absolute;
width: 12px;
height: 11px;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAALCAYAAABLcGxfAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAACwAAAAChLCZNAAAA6klEQVQoFWNgIAVsruliJkr9/1XMDCZqcxkY/mczEtSwv4GD4euvlQz/GfxAavFr2N3Bz/Dz8yaG///tYAbj1rC1QYLh/+8dQMX6MMW4bdjSoMTA8Gs30BlAGhUwoXKBvM21QBN/H0VWbMovzXDSOgOsFFXD1mo7Bsa/B5U5BSVgBoEUrzaOZMi5shkshAjWLTWgUNgINJlnh1k8AysTEzhEQIpDzy5nOP3xKVgDxNNbqxIY/jHMAYqADRBi5WTYY5HEIMbGzRB4ZilcMUgHI8PWqlKg4i6wdiRCgIWDQYSNi+HOt3dIogwMANgLQif9hMeFAAAAAElFTkSuQmCC);
right: 0;
bottom: 0;
}
}
}
}
@import "../../../member/components/index.less";
.item_wrap {
margin-bottom: 24px;
background-color: #FFF;
border-radius: 8px;
padding: 24px;
&:last-child {
margin-bottom: 0px;
}
.mainCol_title {
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #303133;
padding: 0px 0 20px;
}
:global {
.ant-tabs-nav {
&::before {
border-bottom-color: #FFF;
}
}
}
}
.header {
:global {
.ant-page-header {
padding: 24px 24px !important;
}
}
}
.upload_item {
width: 498px;
padding: 5px 8px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #FAFBFC;
.upload_left {
display: flex;
align-items: center;
color: #00B37A;
cursor: pointer;
:global {
.anticon-link {
color: #00B37A;
font-size: 16px;
margin-right: 8px;
}
}
}
}
.checkbox_wrap_style {
width: 100%;
:global {
.ant-checkbox-wrapper {
width: 100%;
border: 1px solid #ccc;
padding: 8px 18px;
.ant-checkbox {
display: none;
}
> span {
display: flex;
align-items: center;
padding: 0px 0px;
.checkbox_avatar {
width: 32px;
height: 32px;
margin-right: 8px;
}
}
}
.ant-checkbox-wrapper-checked {
border-color: #00b37a!important;
color: #00b37a;
position: relative;
&:after {
content: "";
position: absolute;
width: 12px;
height: 11px;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAALCAYAAABLcGxfAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAACwAAAAChLCZNAAAA6klEQVQoFWNgIAVsruliJkr9/1XMDCZqcxkY/mczEtSwv4GD4euvlQz/GfxAavFr2N3Bz/Dz8yaG///tYAbj1rC1QYLh/+8dQMX6MMW4bdjSoMTA8Gs30BlAGhUwoXKBvM21QBN/H0VWbMovzXDSOgOsFFXD1mo7Bsa/B5U5BSVgBoEUrzaOZMi5shkshAjWLTWgUNgINJlnh1k8AysTEzhEQIpDzy5nOP3xKVgDxNNbqxIY/jHMAYqADRBi5WTYY5HEIMbGzRB4ZilcMUgHI8PWqlKg4i6wdiRCgIWDQYSNi+HOt3dIogwMANgLQif9hMeFAAAAAElFTkSuQmCC);
right: 0;
bottom: 0;
}
}
}
}
// @import "../../../member/components/index.less";
@import "../../../member/components/index.less";
.count{
font-size: 24px;
color: #303133;
font-weight: 500;
}
.add-btn{
margin-bottom: 24px;
padding: 6px 0;
text-align: center;
background: #FAFBFC;
}
.alignCenter{
text-align: center;
}
.alignLeft{
text-align: left;
}
.hidden{
display: none;
}
.block{
display: block;
}
.selectBtn {
margin: 0 16px;
}
.filter-btn{
width : 112px;
margin: 0 0 0 16px;
}
.select {
width : 160px;
&:nth-last-of-type(1) {
margin-right: 0;
}
}
.mainCol {
background-color: #fff;
margin-bottom : 24px;
padding : 0 24px;
box-sizing : border-box;
&-title {
font-size : 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color : #303133;
padding : 20px 0;
}
&:nth-last-of-type(1) {
margin: 0;
}
&-row {
display : flex;
flex-wrap : wrap;
padding-bottom: 16px;
&-col {
display: flex;
width : calc(100% / 3);
padding: 16px 0;
&-option {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
&-rows {
display : flex;
padding-bottom: 16px;
&-cols {
flex: 1;
.cols-main {
display: flex;
padding: 16px 0;
&:nth-last-of-type(1) {
padding-bottom: 0;
}
&-options {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
}
}
\ No newline at end of file
// @import "../../../member/components/index.less";
.count{
font-size: 24px;
color: #303133;
font-weight: 500;
}
.add-btn{
margin-bottom: 24px;
padding: 6px 0;
text-align: center;
background: #FAFBFC;
}
.alignCenter{
text-align: center;
}
.alignLeft{
text-align: left;
}
.hidden{
display: none;
}
.block{
display: block;
}
.selectBtn {
margin: 0 16px;
}
.filter-btn{
width : 112px;
margin: 0 0 0 16px;
}
.select {
width : 160px;
&:nth-last-of-type(1) {
margin-right: 0;
}
}
.mainCol {
background-color: #fff;
margin-bottom : 24px;
padding : 0 24px;
box-sizing : border-box;
&-title {
font-size : 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color : #303133;
padding : 20px 0;
}
&:nth-last-of-type(1) {
margin: 0;
}
&-row {
display : flex;
flex-wrap : wrap;
padding-bottom: 16px;
&-col {
display: flex;
width : calc(100% / 3);
padding: 16px 0;
&-option {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
&-rows {
display : flex;
padding-bottom: 16px;
&-cols {
flex: 1;
.cols-main {
display: flex;
padding: 16px 0;
&:nth-last-of-type(1) {
padding-bottom: 0;
}
&-options {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
}
}
@import "../../../member/components/index.less";
.count{
font-size: 24px;
color: #303133;
font-weight: 500;
}
.add-btn{
margin-bottom: 24px;
padding: 6px 0;
text-align: center;
background: #FAFBFC;
}
.alignCenter{
text-align: center;
}
.alignLeft{
text-align: left;
}
.hidden{
display: none;
}
.block{
display: block;
}
.selectBtn {
margin: 0 16px;
}
.filter-btn{
width : 112px;
margin: 0 0 0 16px;
}
.select {
width : 160px;
&:nth-last-of-type(1) {
margin-right: 0;
}
}
.mainCol {
background-color: #fff;
margin-bottom : 24px;
padding : 0 24px;
box-sizing : border-box;
&-title {
font-size : 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color : #303133;
padding : 20px 0;
}
&:nth-last-of-type(1) {
margin: 0;
}
&-row {
display : flex;
flex-wrap : wrap;
padding-bottom: 16px;
&-col {
display: flex;
width : calc(100% / 3);
padding: 16px 0;
&-option {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
&-rows {
display : flex;
padding-bottom: 16px;
&-cols {
flex: 1;
.cols-main {
display: flex;
padding: 16px 0;
&:nth-last-of-type(1) {
padding-bottom: 0;
}
&-options {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
}
}
\ No newline at end of file
// @import "../../../member/components/index.less";
.count{
font-size: 24px;
color: #303133;
font-weight: 500;
}
.add-btn{
margin-bottom: 24px;
padding: 6px 0;
text-align: center;
background: #FAFBFC;
}
.alignCenter{
text-align: center;
}
.alignLeft{
text-align: left;
}
.hidden{
display: none;
}
.block{
display: block;
}
.selectBtn {
margin: 0 16px;
}
.filter-btn{
width : 112px;
margin: 0 0 0 16px;
}
.select {
width : 160px;
&:nth-last-of-type(1) {
margin-right: 0;
}
}
.mainCol {
background-color: #fff;
margin-bottom : 24px;
padding : 0 24px;
box-sizing : border-box;
&-title {
font-size : 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color : #303133;
padding : 20px 0;
}
&:nth-last-of-type(1) {
margin: 0;
}
&-row {
display : flex;
flex-wrap : wrap;
padding-bottom: 16px;
&-col {
display: flex;
width : calc(100% / 3);
padding: 16px 0;
&-option {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
&-rows {
display : flex;
padding-bottom: 16px;
&-cols {
flex: 1;
.cols-main {
display: flex;
padding: 16px 0;
&:nth-last-of-type(1) {
padding-bottom: 0;
}
&-options {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
}
}
@import "../../../member/components/index.less";
.count{
font-size: 24px;
color: #303133;
font-weight: 500;
}
.add-btn{
margin-bottom: 24px;
padding: 6px 0;
text-align: center;
background: #FAFBFC;
}
.alignCenter{
text-align: center;
}
.alignLeft{
text-align: left;
}
.hidden{
display: none;
}
.block{
display: block;
}
.selectBtn {
margin: 0 16px;
}
.filter-btn{
width : 112px;
margin: 0 0 0 16px;
}
.select {
width : 160px;
&:nth-last-of-type(1) {
margin-right: 0;
}
}
.mainCol {
background-color: #fff;
margin-bottom : 24px;
padding : 0 24px;
box-sizing : border-box;
&-title {
font-size : 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color : #303133;
padding : 20px 0;
}
&:nth-last-of-type(1) {
margin: 0;
}
&-row {
display : flex;
flex-wrap : wrap;
padding-bottom: 16px;
&-col {
display: flex;
width : calc(100% / 3);
padding: 16px 0;
&-option {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
&-rows {
display : flex;
padding-bottom: 16px;
&-cols {
flex: 1;
.cols-main {
display: flex;
padding: 16px 0;
&:nth-last-of-type(1) {
padding-bottom: 0;
}
&-options {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
}
}
\ No newline at end of file
// @import "../../../member/components/index.less";
.count{
font-size: 24px;
color: #303133;
font-weight: 500;
}
.add-btn{
margin-bottom: 24px;
padding: 6px 0;
text-align: center;
background: #FAFBFC;
}
.alignCenter{
text-align: center;
}
.alignLeft{
text-align: left;
}
.hidden{
display: none;
}
.block{
display: block;
}
.selectBtn {
margin: 0 16px;
}
.filter-btn{
width : 112px;
margin: 0 0 0 16px;
}
.select {
width : 160px;
&:nth-last-of-type(1) {
margin-right: 0;
}
}
.mainCol {
background-color: #fff;
margin-bottom : 24px;
padding : 0 24px;
box-sizing : border-box;
&-title {
font-size : 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color : #303133;
padding : 20px 0;
}
&:nth-last-of-type(1) {
margin: 0;
}
&-row {
display : flex;
flex-wrap : wrap;
padding-bottom: 16px;
&-col {
display: flex;
width : calc(100% / 3);
padding: 16px 0;
&-option {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
&-rows {
display : flex;
padding-bottom: 16px;
&-cols {
flex: 1;
.cols-main {
display: flex;
padding: 16px 0;
&:nth-last-of-type(1) {
padding-bottom: 0;
}
&-options {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
}
}
.item_wrap {
margin-bottom: 24px;
background-color: #FFF;
border-radius: 8px;
padding: 24px;
&:last-child {
margin-bottom: 0px;
}
.mainCol_title {
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #303133;
padding: 0px 0 20px;
}
:global {
.ant-tabs-nav {
&::before {
border-bottom-color: #FFF;
}
}
}
}
.header {
:global {
.ant-page-header {
padding: 24px 24px !important;
}
}
}
.upload_item {
width: 498px;
padding: 5px 8px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #FAFBFC;
.upload_left {
display: flex;
align-items: center;
color: #00B37A;
cursor: pointer;
:global {
.anticon-link {
color: #00B37A;
font-size: 16px;
margin-right: 8px;
}
}
}
}
@import "../../../member/components/index.less";
\ No newline at end of file
.item_wrap {
margin-bottom: 24px;
background-color: #FFF;
border-radius: 8px;
padding: 24px;
&:last-child {
margin-bottom: 0px;
}
.mainCol_title {
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #303133;
padding: 0px 0 20px;
}
:global {
.ant-tabs-nav {
&::before {
border-bottom-color: #FFF;
}
}
}
}
.header {
:global {
.ant-page-header {
padding: 24px 24px !important;
}
}
}
.upload_item {
width: 498px;
padding: 5px 8px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #FAFBFC;
.upload_left {
display: flex;
align-items: center;
color: #00B37A;
cursor: pointer;
:global {
.anticon-link {
color: #00B37A;
font-size: 16px;
margin-right: 8px;
}
}
}
}
// @import "../../../member/components/index.less";
@import "../../../member/components/index.less";
.item_wrap {
margin-bottom: 24px;
background-color: #FFF;
border-radius: 8px;
padding: 24px;
&:last-child {
margin-bottom: 0px;
}
.mainCol_title {
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #303133;
padding: 0px 0 20px;
}
:global {
.ant-tabs-nav {
&::before {
border-bottom-color: #FFF;
}
}
}
}
.header {
:global {
.ant-page-header {
padding: 24px 24px !important;
}
}
}
.upload_item {
width: 498px;
padding: 5px 8px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #FAFBFC;
.upload_left {
display: flex;
align-items: center;
color: #00B37A;
cursor: pointer;
:global {
.anticon-link {
color: #00B37A;
font-size: 16px;
margin-right: 8px;
}
}
}
}
\ No newline at end of file
// @import "../../../member/components/index.less";
.item_wrap {
margin-bottom: 24px;
background-color: #FFF;
border-radius: 8px;
padding: 24px;
&:last-child {
margin-bottom: 0px;
}
.mainCol_title {
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #303133;
padding: 0px 0 20px;
}
:global {
.ant-tabs-nav {
&::before {
border-bottom-color: #FFF;
}
}
}
}
.header {
:global {
.ant-page-header {
padding: 24px 24px !important;
}
}
}
.upload_item {
width: 498px;
padding: 5px 8px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #FAFBFC;
.upload_left {
display: flex;
align-items: center;
color: #00B37A;
cursor: pointer;
:global {
.anticon-link {
color: #00B37A;
font-size: 16px;
margin-right: 8px;
}
}
}
}
......@@ -64,9 +64,9 @@ export const materialColumns: any[] = [
},
{
title: '供方库存',
dataIndex: 'bidCount',
dataIndex: 'supplierInventory',
align: 'center',
key: 'bidCount'
key: 'supplierInventory'
},
]
......
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