Merge branch 'dev' of http://59.110.10.99:53000/liuc/fe_supplier_frontend into dev
This commit is contained in:
@ -116,23 +116,19 @@ const BaseInfoTab: React.FC<BaseInfoTabProps> = (props) => {
|
|||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.foreignVAT' })}>
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.foreignVAT' })}>
|
||||||
{registerInfo.coscoSupplierBase.vat}
|
{registerInfo.coscoSupplierBase.vat}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.foreignTaxpayerId' })}>
|
{/* <Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.foreignTaxpayerId' })}>
|
||||||
{registerInfo.coscoSupplierBase.taxpayerId}
|
{registerInfo.coscoSupplierBase.taxpayerId}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item> */}
|
||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.foreignCurrency' })}>
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.foreignCurrency' })}>
|
||||||
{registerInfo.coscoSupplierBase.currency}
|
{registerInfo.coscoSupplierBase.currency}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.creditCode' })}>
|
|
||||||
{registerInfo.coscoSupplierBase.socialCreditCode}
|
|
||||||
</Descriptions.Item>
|
|
||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.businessScope' })}>
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.businessScope' })}>
|
||||||
{registerInfo.coscoSupplierBase.range}
|
{registerInfo.coscoSupplierBase.range}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.registerAddress' })}>
|
|
||||||
{registerInfo.coscoSupplierBase.regAddress}
|
|
||||||
</Descriptions.Item>
|
|
||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.officeAddress' })}>
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.officeAddress' })}>
|
||||||
{registerInfo.coscoSupplierBase.workAddress}
|
{registerInfo.coscoSupplierBase.workAddress}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
@ -142,24 +138,39 @@ const BaseInfoTab: React.FC<BaseInfoTabProps> = (props) => {
|
|||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.legalPerson' })}>
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.legalPerson' })}>
|
||||||
{registerInfo.coscoSupplierBase.legalPerson}
|
{registerInfo.coscoSupplierBase.legalPerson}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.idCardNumber' })}>
|
|
||||||
{registerInfo.coscoSupplierBase.idCard}
|
|
||||||
</Descriptions.Item>
|
|
||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.registeredCapital' })}>
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.registeredCapital' })}>
|
||||||
{registerInfo.coscoSupplierBase.capital}
|
{registerInfo.coscoSupplierBase.capital}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
|
|
||||||
|
{registerInfo.coscoSupplierBase.supplierType === 'dvs' && (
|
||||||
|
<>
|
||||||
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.creditCode' })}>
|
||||||
|
{registerInfo.coscoSupplierBase.socialCreditCode}
|
||||||
|
</Descriptions.Item>
|
||||||
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.registerAddress' })}>
|
||||||
|
{registerInfo.coscoSupplierBase.regAddress}
|
||||||
|
</Descriptions.Item>
|
||||||
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.idCardNumber' })}>
|
||||||
|
{registerInfo.coscoSupplierBase.idCard}
|
||||||
|
</Descriptions.Item>
|
||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.supplierType' })}>
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.supplierType' })}>
|
||||||
{registerInfo.coscoSupplierBase.enterpriseType}
|
{registerInfo.coscoSupplierBase.enterpriseType}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.contactName' })}>
|
|
||||||
{registerInfo.coscoSupplierBase.contactsName}
|
|
||||||
</Descriptions.Item>
|
|
||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.contactMobile' })}>
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.contactMobile' })}>
|
||||||
{registerInfo.coscoSupplierBase.contactsPhone}
|
{registerInfo.coscoSupplierBase.contactsPhone}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
|
|
||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.contactIdType' })}>
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.contactIdType' })}>
|
||||||
{registerInfo.coscoSupplierBase.contactsType}
|
{registerInfo.coscoSupplierBase.contactsType}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.contactName' })}>
|
||||||
|
{registerInfo.coscoSupplierBase.contactsName}
|
||||||
|
</Descriptions.Item>
|
||||||
|
|
||||||
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.contactEmail' })}>
|
<Descriptions.Item label={intl.formatMessage({ id: 'component.globalModal.contactEmail' })}>
|
||||||
{registerInfo.coscoSupplierBase.contactsEmail}
|
{registerInfo.coscoSupplierBase.contactsEmail}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
|
@ -71,12 +71,14 @@ const SupplierSelector: React.FC<{ visible: boolean; onCancel: () => void; onSel
|
|||||||
}, [visible])
|
}, [visible])
|
||||||
//供应商名称
|
//供应商名称
|
||||||
const columns = [
|
const columns = [
|
||||||
{ title: '供应商名称', dataIndex: 'name', ellipsis: true, width: 160, render: (name: string) => (
|
{ title: '供应商名称', dataIndex: 'name', ellipsis: true, width: 160, render: (_: any, record: any) => {
|
||||||
|
const name = record.supplierType === "ovs"? record.nameEn : record.name;
|
||||||
|
return(
|
||||||
<Tooltip placement="topLeft" title={name}>
|
<Tooltip placement="topLeft" title={name}>
|
||||||
{name}
|
{name}
|
||||||
</Tooltip>
|
</Tooltip>)
|
||||||
), },
|
} },
|
||||||
{ title: '境内/境外', dataIndex: 'supplierType', render: (supplierType: string) => supplierType === 'dvs' ? '境内' : '境外'},
|
{ title: '统一社会信用代码/税号', ellipsis: true, dataIndex: 'unifiedCode' },
|
||||||
];
|
];
|
||||||
return (
|
return (
|
||||||
<Modal title="选择供应商" visible={visible} onCancel={onCancel} footer={null} width="80%">
|
<Modal title="选择供应商" visible={visible} onCancel={onCancel} footer={null} width="80%">
|
||||||
|
@ -21,6 +21,7 @@ interface coscoAccessSupplierLists {
|
|||||||
interface coscoAccessWorks {
|
interface coscoAccessWorks {
|
||||||
deptId: string;
|
deptId: string;
|
||||||
reviewStatusText: string;
|
reviewStatusText: string;
|
||||||
|
approveStatusText: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ViewModal: React.FC<{
|
const ViewModal: React.FC<{
|
||||||
@ -62,7 +63,7 @@ const ViewModal: React.FC<{
|
|||||||
})}
|
})}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
|
|
||||||
<Descriptions.Item label="审批结果">{data.coscoAccessWork.reviewStatusText}</Descriptions.Item>
|
<Descriptions.Item label="审批结果">{data.coscoAccessWork.approveStatusText}</Descriptions.Item>
|
||||||
</Descriptions>
|
</Descriptions>
|
||||||
)}
|
)}
|
||||||
</Modal>
|
</Modal>
|
||||||
|
@ -21,6 +21,7 @@ interface coscoAccessSupplierLists {
|
|||||||
interface coscoAccessWorks {
|
interface coscoAccessWorks {
|
||||||
deptId: string;
|
deptId: string;
|
||||||
reviewStatusText: string;
|
reviewStatusText: string;
|
||||||
|
approveStatusText: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ViewModal: React.FC<{
|
const ViewModal: React.FC<{
|
||||||
@ -62,7 +63,7 @@ const ViewModal: React.FC<{
|
|||||||
})}
|
})}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
|
|
||||||
<Descriptions.Item label="审批结果">{data.coscoAccessWork.reviewStatusText}</Descriptions.Item>
|
<Descriptions.Item label="审批结果">{data.coscoAccessWork.approveStatusText}</Descriptions.Item>
|
||||||
</Descriptions>
|
</Descriptions>
|
||||||
)}
|
)}
|
||||||
</Modal>
|
</Modal>
|
||||||
|
@ -35,6 +35,7 @@ interface coscoAccessWorks {
|
|||||||
reviewStatusText: string;
|
reviewStatusText: string;
|
||||||
accessType: string;
|
accessType: string;
|
||||||
accessDesc: string;
|
accessDesc: string;
|
||||||
|
approveStatusText: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ViewModal: React.FC<{
|
const ViewModal: React.FC<{
|
||||||
@ -102,7 +103,7 @@ const ViewModal: React.FC<{
|
|||||||
)
|
)
|
||||||
})}
|
})}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
<Descriptions.Item label="审批结果">{data.coscoAccessWork.reviewStatusText}</Descriptions.Item>
|
<Descriptions.Item label="审批结果">{data.coscoAccessWork.approveStatusText}</Descriptions.Item>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
@ -328,6 +328,7 @@ const CreateModal: React.FC<{ visible: boolean; onCancel: () => void; }> = ({ vi
|
|||||||
<Form.Item
|
<Form.Item
|
||||||
label="供应商符合性审查"
|
label="供应商符合性审查"
|
||||||
name="supplierCompliance"
|
name="supplierCompliance"
|
||||||
|
required
|
||||||
rules={[
|
rules={[
|
||||||
{
|
{
|
||||||
validator: (_, value) => {
|
validator: (_, value) => {
|
||||||
|
@ -25,6 +25,19 @@ interface ReviewerSelectorProps {
|
|||||||
leader?: string; // 回显:组长userId
|
leader?: string; // 回显:组长userId
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function orgIdAndDeptId(data:any) {
|
||||||
|
const sss = data.map((item:any) => {
|
||||||
|
return {
|
||||||
|
...item,
|
||||||
|
deptId: item.orgId
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
return sss
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
const ReviewerSelector: React.FC<ReviewerSelectorProps> = ({
|
const ReviewerSelector: React.FC<ReviewerSelectorProps> = ({
|
||||||
visible,
|
visible,
|
||||||
onCancel,
|
onCancel,
|
||||||
@ -63,7 +76,7 @@ const ReviewerSelector: React.FC<ReviewerSelectorProps> = ({
|
|||||||
.then((res) => {
|
.then((res) => {
|
||||||
const { code, data } = res;
|
const { code, data } = res;
|
||||||
if(code == 200) {
|
if(code == 200) {
|
||||||
setData(data.records);
|
setData(orgIdAndDeptId(data.records));
|
||||||
setTotal(data.total);
|
setTotal(data.total);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -70,12 +70,14 @@ const SupplierSelector: React.FC<{ visible: boolean; onCancel: () => void; onSel
|
|||||||
}, [visible])
|
}, [visible])
|
||||||
//供应商名称
|
//供应商名称
|
||||||
const columns = [
|
const columns = [
|
||||||
{ title: '供应商名称', dataIndex: 'name', ellipsis: true, width: 160, render: (name: string) => (
|
{ title: '供应商名称', dataIndex: 'name', ellipsis: true, width: 160, render: (_: any, record: any) => {
|
||||||
|
const name = record.supplierType === "ovs"? record.nameEn : record.name;
|
||||||
|
return(
|
||||||
<Tooltip placement="topLeft" title={name}>
|
<Tooltip placement="topLeft" title={name}>
|
||||||
{name}
|
{name}
|
||||||
</Tooltip>
|
</Tooltip>)
|
||||||
), },
|
} },
|
||||||
{ title: '境内/境外', dataIndex: 'supplierType', render: (supplierType: string) => supplierType === 'dvs' ? '境内' : '境外'},
|
{ title: '统一社会信用代码/税号', ellipsis: true, dataIndex: 'unifiedCode' },
|
||||||
];
|
];
|
||||||
return (
|
return (
|
||||||
<Modal title="选择供应商" visible={visible} onCancel={onCancel} footer={null} width="80%">
|
<Modal title="选择供应商" visible={visible} onCancel={onCancel} footer={null} width="80%">
|
||||||
@ -83,7 +85,7 @@ const SupplierSelector: React.FC<{ visible: boolean; onCancel: () => void; onSel
|
|||||||
<Form layout="inline" form={form} onFinish={getTableList} style={{ marginBottom: 16 }}>
|
<Form layout="inline" form={form} onFinish={getTableList} style={{ marginBottom: 16 }}>
|
||||||
|
|
||||||
<Form.Item name="name" label="供应商名称">
|
<Form.Item name="name" label="供应商名称">
|
||||||
<Input placeholder="请输入供应商名称关键字" style={{ width: 220 }} allowClear maxLength={20} />
|
<Input placeholder="请输入供应商名称关键字" style={{ width: 220 }} allowClear maxLength={100} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item name="supplierType" label="境内/境外">
|
<Form.Item name="supplierType" label="境内/境外">
|
||||||
<Select style={{ width: 160 }} placeholder="请选择境内/境外" allowClear>
|
<Select style={{ width: 160 }} placeholder="请选择境内/境外" allowClear>
|
||||||
|
@ -35,6 +35,7 @@ interface coscoAccessWorks {
|
|||||||
reviewStatusText: string;
|
reviewStatusText: string;
|
||||||
accessType: string;
|
accessType: string;
|
||||||
accessDesc: string;
|
accessDesc: string;
|
||||||
|
approveStatusText: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ViewModal: React.FC<{
|
const ViewModal: React.FC<{
|
||||||
@ -102,7 +103,7 @@ const ViewModal: React.FC<{
|
|||||||
)
|
)
|
||||||
})}
|
})}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
<Descriptions.Item label="审批结果">{data.coscoAccessWork.reviewStatusText}</Descriptions.Item>
|
<Descriptions.Item label="审批结果">{data.coscoAccessWork.approveStatusText}</Descriptions.Item>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
@ -104,12 +104,12 @@ const AccessManagement: React.FC = () => {
|
|||||||
render: (_: any, record: any) => (
|
render: (_: any, record: any) => (
|
||||||
<Space>
|
<Space>
|
||||||
<a onClick={() => openModal('view', record)}>查看</a>
|
<a onClick={() => openModal('view', record)}>查看</a>
|
||||||
{((record.reviewStatus === '3' && record.accessTypeText === 'online') && !record.approveStatusText) && (
|
{((record.reviewStatus === '3' && record.accessType === 'online') && !record.approveStatusText) && (
|
||||||
<a onClick={() => handleApproval(record.id)}>
|
<a onClick={() => handleApproval(record.id)}>
|
||||||
发起审批
|
发起审批
|
||||||
</a>
|
</a>
|
||||||
)}
|
)}
|
||||||
{(record.reviewStatus === '3' && record.accessTypeText === 'online') && (
|
{(record.reviewStatus === '3' && record.accessType === 'online') && (
|
||||||
<>
|
<>
|
||||||
<a onClick={() => openModal('result', record)}>评审结果</a>
|
<a onClick={() => openModal('result', record)}>评审结果</a>
|
||||||
</>
|
</>
|
||||||
|
@ -35,6 +35,7 @@ interface coscoAccessWorks {
|
|||||||
reviewStatusText: string;
|
reviewStatusText: string;
|
||||||
accessType: string;
|
accessType: string;
|
||||||
accessDesc: string;
|
accessDesc: string;
|
||||||
|
approveStatusText: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ViewModal: React.FC<{
|
const ViewModal: React.FC<{
|
||||||
@ -102,7 +103,7 @@ const ViewModal: React.FC<{
|
|||||||
)
|
)
|
||||||
})}
|
})}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
<Descriptions.Item label="审批结果">{data.coscoAccessWork.reviewStatusText}</Descriptions.Item>
|
<Descriptions.Item label="审批结果">{data.coscoAccessWork.approveStatusText}</Descriptions.Item>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
@ -3,11 +3,10 @@ import { Modal, Form, Input, DatePicker, Button, Tree, Select, message, Spin, Up
|
|||||||
import { UploadOutlined } from '@ant-design/icons';
|
import { UploadOutlined } from '@ant-design/icons';
|
||||||
import { categoryTree, uploadFile, superiorLockList, getSupplierPage, library, libraryData } from '../services';
|
import { categoryTree, uploadFile, superiorLockList, getSupplierPage, library, libraryData } from '../services';
|
||||||
import type { UploadFile } from 'antd/es/upload/interface';
|
import type { UploadFile } from 'antd/es/upload/interface';
|
||||||
const areaOptions = [
|
|
||||||
{ label: '全球', value: 'global' },
|
import { getregionInternational } from '@/servers/api/register';
|
||||||
{ label: '新加坡', value: 'singapore' },
|
const { Option } = Select;
|
||||||
{ label: '香港', value: 'hongkong' },
|
|
||||||
];
|
|
||||||
const approveTypeOptions = [
|
const approveTypeOptions = [
|
||||||
{ label: '是', value: 'online' },
|
{ label: '是', value: 'online' },
|
||||||
{ label: '否', value: 'offline' },
|
{ label: '否', value: 'offline' },
|
||||||
@ -57,6 +56,8 @@ const CategoryAddModal: React.FC<Props> = ({ visible, onCancel, onSuccess }) =>
|
|||||||
const [checkedKeys, setCheckedKeys] = useState<string[]>([]);
|
const [checkedKeys, setCheckedKeys] = useState<string[]>([]);
|
||||||
const [treeData, setTreeData] = useState<TreeNodeType[]>([]);
|
const [treeData, setTreeData] = useState<TreeNodeType[]>([]);
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
|
// 区域全球
|
||||||
|
const [regionOptions, setRegionOptions] = useState<API.RegionOption[]>([]);
|
||||||
const [expandedKeys, setExpandedKeys] = useState<string[]>([]);
|
const [expandedKeys, setExpandedKeys] = useState<string[]>([]);
|
||||||
//供应商符合性审查
|
//供应商符合性审查
|
||||||
const [fileList, setFileList] = useState<UploadFile<any>[]>([]);
|
const [fileList, setFileList] = useState<UploadFile<any>[]>([]);
|
||||||
@ -131,6 +132,11 @@ const CategoryAddModal: React.FC<Props> = ({ visible, onCancel, onSuccess }) =>
|
|||||||
form.resetFields();
|
form.resetFields();
|
||||||
}
|
}
|
||||||
init(visible)
|
init(visible)
|
||||||
|
getregionInternational().then(res => {
|
||||||
|
if (res.code === 200) {
|
||||||
|
setRegionOptions(res.data);
|
||||||
|
}
|
||||||
|
});
|
||||||
}, [visible, form]);
|
}, [visible, form]);
|
||||||
|
|
||||||
const handleTreeCheck = (checkedKeysValue: any) => {
|
const handleTreeCheck = (checkedKeysValue: any) => {
|
||||||
@ -266,14 +272,20 @@ const CategoryAddModal: React.FC<Props> = ({ visible, onCancel, onSuccess }) =>
|
|||||||
<Form.Item
|
<Form.Item
|
||||||
label="区域选择(仅燃油品)"
|
label="区域选择(仅燃油品)"
|
||||||
name="area"
|
name="area"
|
||||||
rules={[{ required: true, message: '请选择区域' }]}
|
|
||||||
required
|
|
||||||
>
|
>
|
||||||
<Select
|
{/* <Select
|
||||||
placeholder="请选择区域"
|
placeholder="请选择区域"
|
||||||
style={{ width: 260 }}
|
style={{ width: 260 }}
|
||||||
options={areaOptions}
|
options={areaOptions}
|
||||||
/>
|
/> rules={[{ required: true, message: '请选择区域' }]}
|
||||||
|
required */}
|
||||||
|
<Select placeholder="请选择区域">
|
||||||
|
{
|
||||||
|
regionOptions.map((item) => {
|
||||||
|
return <Option value={item.id}>{item.name}</Option>
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</Select>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label="是否已走OA签报"
|
label="是否已走OA签报"
|
||||||
|
@ -66,11 +66,11 @@ const ViewBlacklistModal: React.FC<ViewBlacklistModalProps> = ({
|
|||||||
|
|
||||||
const columns:ColumnsType<Supplier> = [
|
const columns:ColumnsType<Supplier> = [
|
||||||
{ title: "供应商名称", dataIndex: "supplierName", align: "center" },
|
{ title: "供应商名称", dataIndex: "supplierName", align: "center" },
|
||||||
{ title: "准入部门", dataIndex: "unit", align: "center" },
|
{ title: "准入部门", dataIndex: "deptId", align: "center" },
|
||||||
{ title: "准入时间", dataIndex: "accessTime", align: "center" },
|
// { title: "准入时间", dataIndex: "accessTime", align: "center" },
|
||||||
{ title: "准入品类", dataIndex: "categoryName", align: "center" },
|
{ title: "退出品类", dataIndex: "categoryName", align: "center" },
|
||||||
{ title: "最近一次评价", dataIndex: "lastEval", align: "center" },
|
// { title: "最近一次评价", dataIndex: "lastEval", align: "center" },
|
||||||
{ title: "评价时间", dataIndex: "lastEvalDate", align: "center" },
|
// { title: "评价时间", dataIndex: "lastEvalDate", align: "center" },
|
||||||
];
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -86,7 +86,6 @@ const ViewBlacklistModal: React.FC<ViewBlacklistModalProps> = ({
|
|||||||
<Spin spinning={loading}>
|
<Spin spinning={loading}>
|
||||||
{detail && (
|
{detail && (
|
||||||
<Descriptions
|
<Descriptions
|
||||||
title="退出信息"
|
|
||||||
column={1}
|
column={1}
|
||||||
labelStyle={{ width: 120 }}
|
labelStyle={{ width: 120 }}
|
||||||
bordered
|
bordered
|
||||||
@ -104,6 +103,8 @@ const ViewBlacklistModal: React.FC<ViewBlacklistModalProps> = ({
|
|||||||
rowKey="id"
|
rowKey="id"
|
||||||
bordered
|
bordered
|
||||||
pagination={false}
|
pagination={false}
|
||||||
|
style={{ flex: 1, minHeight: 0 }}
|
||||||
|
scroll={{ y: 'calc(100vh - 650px)' }}
|
||||||
/>
|
/>
|
||||||
</Spin>
|
</Spin>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
@ -86,8 +86,8 @@ const CreateBlacklistModal: React.FC<CreateBlacklistModalProps> = ({
|
|||||||
}, [visible]);
|
}, [visible]);
|
||||||
const columns: ColumnsType<Supplier> = [
|
const columns: ColumnsType<Supplier> = [
|
||||||
{ title: "供应商名称", dataIndex: "supplierName", align: "center" },
|
{ title: "供应商名称", dataIndex: "supplierName", align: "center" },
|
||||||
{ title: "准入部门", dataIndex: "unit", align: "center" },
|
{ title: "准入部门", dataIndex: "deptId", align: "center" },
|
||||||
{ title: "准入时间", dataIndex: "accessTime", align: "center", render: () => "2023-04-20 13:00" },
|
{ title: "准入时间", dataIndex: "createTime", align: "center" },
|
||||||
{ title: "准入品类", dataIndex: "categoryName", align: "center" },
|
{ title: "准入品类", dataIndex: "categoryName", align: "center" },
|
||||||
{ title: "最近一次评价", dataIndex: "lastEval", align: "center" },
|
{ title: "最近一次评价", dataIndex: "lastEval", align: "center" },
|
||||||
{ title: "评价时间", dataIndex: "lastEvalDate", align: "center" },
|
{ title: "评价时间", dataIndex: "lastEvalDate", align: "center" },
|
||||||
|
@ -2,6 +2,7 @@ import React, { useEffect, useState } from "react";
|
|||||||
import {
|
import {
|
||||||
Modal, Table, Button, Checkbox, Row, Col, Input, Select, Form, Space, message
|
Modal, Table, Button, Checkbox, Row, Col, Input, Select, Form, Space, message
|
||||||
} from "antd";
|
} from "antd";
|
||||||
|
import { RightOutlined, LeftOutlined } from '@ant-design/icons';
|
||||||
import { getSupplierCategoryPage } from '../services';
|
import { getSupplierCategoryPage } from '../services';
|
||||||
import CategorySelector from '@/components/CategorySelector';
|
import CategorySelector from '@/components/CategorySelector';
|
||||||
const { Option } = Select;
|
const { Option } = Select;
|
||||||
@ -100,9 +101,9 @@ const SupplierSelectModal: React.FC<SupplierSelectModalProps> = ({
|
|||||||
onChange={e => {
|
onChange={e => {
|
||||||
setLeftSelected(e.target.checked ? data.map(i => i.id) : []);
|
setLeftSelected(e.target.checked ? data.map(i => i.id) : []);
|
||||||
}}
|
}}
|
||||||
>全选</Checkbox>,
|
></Checkbox>,
|
||||||
dataIndex: "select",
|
dataIndex: "select",
|
||||||
width: 80,
|
width: 40,
|
||||||
render: (_: any, record: Supplier) => (
|
render: (_: any, record: Supplier) => (
|
||||||
<Checkbox
|
<Checkbox
|
||||||
checked={leftSelected.includes(record.id)}
|
checked={leftSelected.includes(record.id)}
|
||||||
@ -111,7 +112,7 @@ const SupplierSelectModal: React.FC<SupplierSelectModalProps> = ({
|
|||||||
? [...leftSelected, record.id]
|
? [...leftSelected, record.id]
|
||||||
: leftSelected.filter(id => id !== record.id));
|
: leftSelected.filter(id => id !== record.id));
|
||||||
}}
|
}}
|
||||||
>选择</Checkbox>
|
></Checkbox>
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
{ title: "供应商名称", dataIndex: "supplierName" },
|
{ title: "供应商名称", dataIndex: "supplierName" },
|
||||||
@ -126,9 +127,9 @@ const SupplierSelectModal: React.FC<SupplierSelectModalProps> = ({
|
|||||||
onChange={e => {
|
onChange={e => {
|
||||||
setRightSelected(e.target.checked ? rightData.map(i => i.id) : []);
|
setRightSelected(e.target.checked ? rightData.map(i => i.id) : []);
|
||||||
}}
|
}}
|
||||||
>全选</Checkbox>,
|
></Checkbox>,
|
||||||
dataIndex: "select",
|
dataIndex: "select",
|
||||||
width: 80,
|
width: 40,
|
||||||
render: (_: any, record: Supplier) => (
|
render: (_: any, record: Supplier) => (
|
||||||
<Checkbox
|
<Checkbox
|
||||||
checked={rightSelected.includes(record.id)}
|
checked={rightSelected.includes(record.id)}
|
||||||
@ -137,7 +138,7 @@ const SupplierSelectModal: React.FC<SupplierSelectModalProps> = ({
|
|||||||
? [...rightSelected, record.id]
|
? [...rightSelected, record.id]
|
||||||
: rightSelected.filter(id => id !== record.id));
|
: rightSelected.filter(id => id !== record.id));
|
||||||
}}
|
}}
|
||||||
>选择</Checkbox>
|
></Checkbox>
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
{ title: "供应商名称", dataIndex: "supplierName" },
|
{ title: "供应商名称", dataIndex: "supplierName" },
|
||||||
@ -195,10 +196,17 @@ const SupplierSelectModal: React.FC<SupplierSelectModalProps> = ({
|
|||||||
bordered
|
bordered
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={2} style={{ textAlign: "center", display: "flex", flexDirection: "column", justifyContent: "center" }}>
|
<Col span={2} style={{ textAlign: 'center', paddingTop: 100 }}>
|
||||||
<Button type="primary" disabled={!leftSelected.length} onClick={handleAdd} style={{ marginBottom: 16 }}>{">"}</Button>
|
<Button onClick={handleAdd} disabled={!leftSelected.length}>
|
||||||
<Button disabled={!rightSelected.length} onClick={handleRemove}>{"<"}</Button>
|
<RightOutlined />
|
||||||
|
</Button>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<Button onClick={handleRemove} disabled={!rightSelected.length}>
|
||||||
|
<LeftOutlined />
|
||||||
|
</Button>
|
||||||
</Col>
|
</Col>
|
||||||
|
|
||||||
<Col span={11}>
|
<Col span={11}>
|
||||||
<div style={{ marginBottom: 8 }}>已选供应商</div>
|
<div style={{ marginBottom: 8 }}>已选供应商</div>
|
||||||
<Table
|
<Table
|
||||||
|
@ -66,11 +66,11 @@ const ViewBlacklistModal: React.FC<ViewBlacklistModalProps> = ({
|
|||||||
|
|
||||||
const columns:ColumnsType<Supplier> = [
|
const columns:ColumnsType<Supplier> = [
|
||||||
{ title: "供应商名称", dataIndex: "supplierName", align: "center" },
|
{ title: "供应商名称", dataIndex: "supplierName", align: "center" },
|
||||||
{ title: "准入部门", dataIndex: "unit", align: "center" },
|
{ title: "准入部门", dataIndex: "deptId", align: "center" },
|
||||||
{ title: "准入时间", dataIndex: "accessTime", align: "center" },
|
// { title: "准入时间", dataIndex: "accessTime", align: "center" },
|
||||||
{ title: "准入品类", dataIndex: "categoryName", align: "center" },
|
{ title: "退出品类", dataIndex: "categoryName", align: "center" },
|
||||||
{ title: "最近一次评价", dataIndex: "lastEval", align: "center" },
|
// { title: "最近一次评价", dataIndex: "lastEval", align: "center" },
|
||||||
{ title: "评价时间", dataIndex: "lastEvalDate", align: "center" },
|
// { title: "评价时间", dataIndex: "lastEvalDate", align: "center" },
|
||||||
];
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -86,7 +86,6 @@ const ViewBlacklistModal: React.FC<ViewBlacklistModalProps> = ({
|
|||||||
<Spin spinning={loading}>
|
<Spin spinning={loading}>
|
||||||
{detail && (
|
{detail && (
|
||||||
<Descriptions
|
<Descriptions
|
||||||
title="退出信息"
|
|
||||||
column={1}
|
column={1}
|
||||||
labelStyle={{ width: 120 }}
|
labelStyle={{ width: 120 }}
|
||||||
bordered
|
bordered
|
||||||
@ -104,6 +103,8 @@ const ViewBlacklistModal: React.FC<ViewBlacklistModalProps> = ({
|
|||||||
rowKey="id"
|
rowKey="id"
|
||||||
bordered
|
bordered
|
||||||
pagination={false}
|
pagination={false}
|
||||||
|
style={{ flex: 1, minHeight: 0 }}
|
||||||
|
scroll={{ y: 'calc(100vh - 650px)' }}
|
||||||
/>
|
/>
|
||||||
</Spin>
|
</Spin>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
Reference in New Issue
Block a user