3.10 工程代码同步master
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author: liqiang
|
||||
* @Date: 2020-11-30 10:37:26
|
||||
* @LastEditTime: 2021-01-13 14:43:50
|
||||
* @LastEditTime: 2021-03-22 16:04:11
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description:
|
||||
* @FilePath: \ebtp-cloud-frontend\src\pages\ClarificationAndResponse\ClarifyTheList\service.ts
|
||||
@ -98,8 +98,8 @@ export async function clarifyReply(id: any) {
|
||||
* 查询标段
|
||||
* @param projectId
|
||||
*/
|
||||
export function getSections(projectId: any) {
|
||||
return request('/api/biz-service-ebtp-tender/v1/clarifydissent/packages/' + projectId, {
|
||||
export function getSections(projectId: any, roomType:any) {
|
||||
return request('/api/biz-service-ebtp-tender/v1/clarifydissent/packages/' + projectId + '?roomType=' + roomType, {
|
||||
method: 'put'
|
||||
});
|
||||
}
|
||||
|
31
src/pages/Tender/ProjectManager/ClarifyTheList/utils.ts
Normal file
31
src/pages/Tender/ProjectManager/ClarifyTheList/utils.ts
Normal file
@ -0,0 +1,31 @@
|
||||
import { isEmpty } from '@/utils/CommonUtils';
|
||||
/*
|
||||
* @Author: liqiang
|
||||
* @Date: 2021-01-21 10:43:02
|
||||
* @LastEditTime: 2021-01-21 10:50:45
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: 澄清工具类
|
||||
* @FilePath: \ebtp-cloud-frontend\src\pages\Tender\ProjectManager\ClarifyTheList\utils.ts
|
||||
*/
|
||||
export function getPackageIds (packageId:string | any[], param:any[]) {
|
||||
if(typeof packageId == 'string') {
|
||||
if(isEmpty(packageId) || isEmpty(param)){
|
||||
return [];
|
||||
}
|
||||
} else {
|
||||
if(packageId.length == 0) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
let packageIds = typeof packageId == 'string' ? packageId.split(',') : packageId;
|
||||
let data = [];
|
||||
for (const i of packageIds) {
|
||||
for (const j of param) {
|
||||
if(i == j.id){
|
||||
data.push(j);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return data;
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -3,11 +3,11 @@
|
||||
.headerDiv{
|
||||
// padding: 16px 24px 0px 0px;
|
||||
margin-left: 0px;
|
||||
border-bottom: solid;
|
||||
border-bottom-color: rgb(187,16,39);
|
||||
border-width: 1px;
|
||||
height:30px;
|
||||
margin-top: 10px;
|
||||
width:100%;
|
||||
// border-bottom: solid;
|
||||
// border-bottom-color: rgb(187,16,39);
|
||||
// border-width: 1px;
|
||||
height:32px;
|
||||
}
|
||||
.leftDiv{
|
||||
font-size: middle;
|
||||
@ -23,4 +23,18 @@
|
||||
float: right;
|
||||
height:30px;
|
||||
text-align: center;
|
||||
}
|
||||
.mt15{
|
||||
margin-top: 15px;
|
||||
}
|
||||
.pl24{
|
||||
padding-left: 24px;
|
||||
}
|
||||
.pr16{
|
||||
padding-right: 16px;
|
||||
}
|
||||
.xsy-collapse{
|
||||
.ant-collapse-content-box{
|
||||
padding:0px 0px 16px 0px
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
import React from "react";
|
||||
|
||||
const JudgingPanel: React.FC<{}> = () => {
|
||||
return <>
|
||||
|
||||
</>
|
||||
}
|
||||
export default JudgingPanel;
|
@ -1,47 +1,48 @@
|
||||
import request from '@/utils/request';
|
||||
import { message } from 'antd';
|
||||
|
||||
//列表查询
|
||||
export async function getList(params?: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/list`,{
|
||||
method:'GET',
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/list`, {
|
||||
method: 'GET',
|
||||
params,
|
||||
});
|
||||
}
|
||||
//查询标包
|
||||
export async function getSecs(params?: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/section/list/${params.tpId}`,{
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/section/list/${params.tpId}`, {
|
||||
params,
|
||||
});
|
||||
}
|
||||
//删除
|
||||
export async function delOne(params?: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/info/${params.id}`,{
|
||||
method:'DELETE'
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/info/${params.id}`, {
|
||||
method: 'DELETE'
|
||||
});
|
||||
}
|
||||
//创建评审小组
|
||||
export async function saveGroup(params?: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/info/save`,{
|
||||
method:'POST',
|
||||
data:{
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/info/save`, {
|
||||
method: 'POST',
|
||||
data: {
|
||||
...params,
|
||||
},
|
||||
});
|
||||
}
|
||||
//添加成员
|
||||
export async function saveMember(params?: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/member/save`,{
|
||||
method:'POST',
|
||||
data:{
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/member/save`, {
|
||||
method: 'POST',
|
||||
data: {
|
||||
...params,
|
||||
},
|
||||
});
|
||||
}
|
||||
//更换专家
|
||||
export async function changeEx(params?: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/change/apply/save`,{
|
||||
method:'POST',
|
||||
data:{
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/change/apply/save`, {
|
||||
method: 'POST',
|
||||
data: {
|
||||
...params,
|
||||
},
|
||||
});
|
||||
@ -52,9 +53,9 @@ export async function queryVoList(params?: any) {
|
||||
}
|
||||
//更换专家
|
||||
export async function changeMember(params?: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/change/member`,{
|
||||
method:'PUT',
|
||||
data:{
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/change/member`, {
|
||||
method: 'PUT',
|
||||
data: {
|
||||
...params
|
||||
}
|
||||
});
|
||||
@ -62,11 +63,37 @@ export async function changeMember(params?: any) {
|
||||
|
||||
//提交申请
|
||||
export async function applyFor(params?: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/extract/apply/${params.id}`,{
|
||||
method:'POST',
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/extract/apply/${params.id}`, {
|
||||
method: 'POST',
|
||||
});
|
||||
}
|
||||
//查是否开启评标
|
||||
export async function roomStatus(id?: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/check/roomStatus/${id}`);
|
||||
}
|
||||
}
|
||||
//下载模板
|
||||
export async function juryTem() {
|
||||
return request(`/api/biz-service-ebtp-extend/v1/template/warehouse/juryTemp`);
|
||||
};
|
||||
//重置密码接口
|
||||
export async function rePW(id: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/reset/password/${id}`, { method: 'POST' });
|
||||
};
|
||||
//重置密码
|
||||
export const rePassWord = async (id: any) => {
|
||||
const hide = message.loading('正在重置');
|
||||
try {
|
||||
const success = await rePW(id).then(res => { return res.success });
|
||||
hide();
|
||||
if (success) {
|
||||
message.success('重置成功');
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} catch (error) {
|
||||
hide();
|
||||
message.error('重置失败请重试,或联系管理员!');
|
||||
return false;
|
||||
}
|
||||
};
|
@ -1,18 +1,39 @@
|
||||
import React, { useRef, useState } from 'react';
|
||||
import '@/utils/lq.style.less';
|
||||
import { Button, Input, Form, Upload, Modal, Row, Col } from 'antd';
|
||||
import { UploadOutlined } from '@ant-design/icons';
|
||||
import { Button, Input, Form, Modal, Row, Col, Select, Checkbox } from 'antd';
|
||||
import ProTable from '@ant-design/pro-table';
|
||||
import { queryingPagingData } from '@/utils/PageUtils';
|
||||
import { replyDissent } from '../service';
|
||||
import { commonMessage } from '@/utils/MessageUtils';
|
||||
import { getProName, getSessionProjectData } from '@/utils/session';
|
||||
import { getURLInformation, isEmpty } from '@/utils/CommonUtils';
|
||||
import ExtendUpload from '@/utils/ExtendUpload';
|
||||
import { getAllFlowName, getAllFlowNameByRoomType, getbidQualification, moduleName } from '@/utils/FlowUtils';
|
||||
import { getProceedingTypeByBidMethodDict } from '@/pages/Tender/supplier/SupplierQuestionsOrObjections/utils';
|
||||
const { Option } = Select;
|
||||
|
||||
function titleInfo(name: string) {
|
||||
return <div className="titBlock">
|
||||
<h4 className="titBlockH4"> {name} </h4>
|
||||
</div>
|
||||
function getSectionCheckbox(data: any) {
|
||||
if (isEmpty(data)) {
|
||||
return [];
|
||||
}
|
||||
let value = [];
|
||||
let flag = true;
|
||||
for (const item of data) {
|
||||
if (flag) {
|
||||
value.push(<Checkbox style={{ marginLeft: '8px' }} key={item.id} value={item.id} >
|
||||
{item.bidSectName}
|
||||
</Checkbox>)
|
||||
flag = false;
|
||||
} else {
|
||||
value.push(<Checkbox key={item.id} value={item.id} >
|
||||
{item.bidSectName}
|
||||
</Checkbox>)
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
const layout = {
|
||||
labelCol: { span: 8 },
|
||||
wrapperCol: { span: 12 },
|
||||
@ -20,55 +41,87 @@ const layout = {
|
||||
|
||||
const MentionDoubtReply: React.FC<{}> = () => {
|
||||
|
||||
//项目id
|
||||
const projectId = getSessionProjectData().id;
|
||||
//采购方式
|
||||
const bidMethodDict = getSessionProjectData().bidMethodDict;
|
||||
//资格审查方式 (roomType 2是后审,1是预审)
|
||||
const roomType = getURLInformation('roomType') === null ? '2' : getURLInformation('roomType');
|
||||
const [visible, setVisible] = useState<boolean>(false);
|
||||
//禁用标识
|
||||
const [whetherReadonly, setWhetherReadonly] = useState<boolean>(false);
|
||||
const [form] = Form.useForm();
|
||||
//控制表单
|
||||
const actionRef = useRef<any>();
|
||||
const [bid, setBid] = useState<string>('');
|
||||
const [dissentDatasetId, setDissentDatasetId] = useState<string>('');
|
||||
//选择标段
|
||||
const [packageIdSelect, setPackageIdSelect] = useState<any[]>([]);
|
||||
//所有流程名
|
||||
const flowName = getAllFlowNameByRoomType(bidMethodDict, roomType);
|
||||
const proceedingTypeByBidMethodDict = getProceedingTypeByBidMethodDict(bidMethodDict);
|
||||
const [proceedingTypeSelect] = useState(() => {
|
||||
let arr = proceedingTypeByBidMethodDict.map((item: any) =>
|
||||
<Option key={item.id} value={item.id}>{item.name}</Option>
|
||||
);
|
||||
return arr;
|
||||
});
|
||||
const [proceedingTypeColumns] = useState(() => {
|
||||
let obj = {};
|
||||
for (const item of proceedingTypeByBidMethodDict) {
|
||||
obj[item.id] = item.name;
|
||||
}
|
||||
return obj;
|
||||
});
|
||||
const columns: any = [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: 'index',
|
||||
valueType: 'index'
|
||||
valueType: 'index',
|
||||
width: 50
|
||||
},
|
||||
{
|
||||
title: '事项标题',
|
||||
dataIndex: 'proceedingTitle',
|
||||
width: 140
|
||||
},
|
||||
{
|
||||
title: '事项类别',
|
||||
dataIndex: 'proceedingType',
|
||||
width: 140,
|
||||
valueEnum: proceedingTypeColumns
|
||||
},
|
||||
{
|
||||
title: '关联的采购包',
|
||||
dataIndex: 'clarificationTime',
|
||||
title: flowName[moduleName.section] + '名称',
|
||||
dataIndex: 'packageName',
|
||||
},
|
||||
{
|
||||
title: '联系人',
|
||||
dataIndex: 'contactsName',
|
||||
width: 90,
|
||||
},
|
||||
{
|
||||
title: '状态',
|
||||
dataIndex: 'dissentStatus',
|
||||
valueEnum:{
|
||||
1:{text:'已保存'},
|
||||
2:{text:'已提交'},
|
||||
3:{text:'已回复'}
|
||||
width: 90,
|
||||
valueEnum: {
|
||||
1: { text: '已保存' },
|
||||
2: { text: '已提交' },
|
||||
3: { text: '已回复' }
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
width: 150,
|
||||
valueType: 'option',
|
||||
render: (_: any, record: any) =>
|
||||
render: (_: any, record: any) => [
|
||||
String(record.dissentStatus) === '3' ?
|
||||
[
|
||||
<a key="view" onClick={() => view(record)}>查看</a>,
|
||||
|
||||
] :
|
||||
[
|
||||
<a key="reply" onClick={() => reply(record)}>回复</a>,
|
||||
[
|
||||
<Button type="link" danger key="view" onClick={() => view(record)}>查看</Button>,
|
||||
] :
|
||||
[
|
||||
<Button type="link" danger key="reply" onClick={() => reply(record)}>回复</Button>,
|
||||
]
|
||||
// <Button type="link" danger key="view" onClick={() => view(record)}>查看</Button>
|
||||
]
|
||||
},
|
||||
];
|
||||
@ -79,6 +132,17 @@ const MentionDoubtReply: React.FC<{}> = () => {
|
||||
const view = (data: any) => {
|
||||
setVisible(true);
|
||||
setWhetherReadonly(true);
|
||||
setBid(data.resultsDatasetId);
|
||||
setDissentDatasetId(data.dissentDatasetId);
|
||||
let packageList: any = [];
|
||||
let packageArr = data.packageName.split(",");
|
||||
packageArr.map((item: any, index: any)=>{
|
||||
packageList.push({
|
||||
"bidSectName": item,
|
||||
"id": index
|
||||
})
|
||||
})
|
||||
setPackageIdSelect(getSectionCheckbox(packageList));
|
||||
form.setFieldsValue(data);
|
||||
}
|
||||
/**
|
||||
@ -87,11 +151,22 @@ const MentionDoubtReply: React.FC<{}> = () => {
|
||||
*/
|
||||
const reply = (data: any) => {
|
||||
setVisible(true);
|
||||
setBid(data.resultsDatasetId);
|
||||
setDissentDatasetId(data.dissentDatasetId);
|
||||
let packageList: any = [];
|
||||
let packageArr = data.packageName.split(",");
|
||||
packageArr.map((item: any, index: any)=>{
|
||||
packageList.push({
|
||||
"bidSectName": item,
|
||||
"id": index
|
||||
})
|
||||
})
|
||||
setPackageIdSelect(getSectionCheckbox(packageList));
|
||||
form.setFieldsValue(data);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 创建表单
|
||||
*/
|
||||
@ -100,124 +175,136 @@ const MentionDoubtReply: React.FC<{}> = () => {
|
||||
* 回复保存
|
||||
* @param data
|
||||
*/
|
||||
const onFinish = (data:any) => {
|
||||
const onFinish = (data: any) => {
|
||||
setVisible(false);
|
||||
replyDissent(data).then(res => {
|
||||
actionRef.current.reload();
|
||||
commonMessage(res);
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const createForm = () => {
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
<Form
|
||||
{...layout}
|
||||
form={form}
|
||||
form={form}
|
||||
onFinish={onFinish}
|
||||
>
|
||||
{titleInfo('提疑基本信息')}
|
||||
<h3 className="first-title">提疑基本信息</h3>
|
||||
<Row>
|
||||
<Col span={12}>
|
||||
<Form.Item hidden={true} name="id">
|
||||
<Input />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label="项目名称"
|
||||
name="projectName"
|
||||
label="事项标题"
|
||||
name="proceedingTitle"
|
||||
>
|
||||
<Input bordered={false} readOnly />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
label="事项标题"
|
||||
name="proceedingTitle"
|
||||
>
|
||||
<Input bordered={false} readOnly/>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
label="联系人"
|
||||
name="contactsName"
|
||||
>
|
||||
<Input bordered={false} readOnly/>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
label="联系方式"
|
||||
name="contactsPhone"
|
||||
>
|
||||
<Input bordered={false} readOnly/>
|
||||
<Input bordered={false} readOnly />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
label="事项类别"
|
||||
name="proceedingType"
|
||||
label="联系电话"
|
||||
name="contactsPhone"
|
||||
>
|
||||
<Input bordered={false} readOnly />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
label="证明材料附件"
|
||||
name="ebpProjectNumber"
|
||||
label="事项类别"
|
||||
name="proceedingType"
|
||||
>
|
||||
<Input bordered={false} readOnly/>
|
||||
<Select placeholder="请选择" disabled>
|
||||
{proceedingTypeSelect}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
label="证明材料附件"
|
||||
name="dissentDatasetId"
|
||||
>
|
||||
<ExtendUpload bid={dissentDatasetId} btnName="上传附件" maxCount={1} uploadProps={{ disabled: true }} />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
label={`选择${flowName[moduleName.section]}`}
|
||||
name="packageId"
|
||||
>
|
||||
<Checkbox.Group disabled>
|
||||
{packageIdSelect}
|
||||
</Checkbox.Group>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
<Form.Item
|
||||
label="理由和依据"
|
||||
name="reasonBasis"
|
||||
labelCol={ { span: 4 } }
|
||||
>
|
||||
<Input.TextArea bordered={false} readOnly/>
|
||||
<Input.TextArea bordered={false} readOnly className="input-invariable-grey input-text-resize" />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item
|
||||
label="事项内容说明"
|
||||
name="proceedingExplain"
|
||||
labelCol={ { span: 4 } }
|
||||
>
|
||||
<Input.TextArea bordered={false} readOnly/>
|
||||
<Input.TextArea bordered={false} readOnly className="input-invariable-grey input-text-resize" />
|
||||
</Form.Item>
|
||||
|
||||
{titleInfo('提疑回复信息')}
|
||||
|
||||
<Form.Item
|
||||
label="处理结果"
|
||||
name="proceedingResults"
|
||||
rules={[{ required: true }]}
|
||||
>
|
||||
<Input disabled={whetherReadonly} readOnly={whetherReadonly} maxLength={150} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item
|
||||
<h3 className="first-title">提疑回复信息</h3>
|
||||
<Row>
|
||||
<Col span={2}></Col>
|
||||
<Col span={20} className="maxW100">
|
||||
<Form.Item
|
||||
// label="处理结果"
|
||||
name="proceedingResults"
|
||||
rules={[{ required: true }]}
|
||||
>
|
||||
<Input.TextArea
|
||||
className={whetherReadonly ? "input-invariable-grey input-text-resize" : ""}
|
||||
rows={4}
|
||||
allowClear={true}
|
||||
readOnly={whetherReadonly}
|
||||
bordered={!whetherReadonly} />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
</Row>
|
||||
{/* <Form.Item
|
||||
label="处理内容说明"
|
||||
name="resultsContent"
|
||||
rules={[{ required: true }]}
|
||||
>
|
||||
<Input.TextArea disabled={whetherReadonly} readOnly={whetherReadonly}/>
|
||||
<Input.TextArea
|
||||
className={whetherReadonly ? "input-invariable-grey input-text-resize" : ""}
|
||||
maxLength={150}
|
||||
allowClear={true}
|
||||
readOnly={whetherReadonly}
|
||||
bordered={!whetherReadonly} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item
|
||||
label="附件"
|
||||
name="receiptTheAttachment"
|
||||
// rules={[{ required: true }]}
|
||||
name="resultsDatasetId"
|
||||
rules={[{ required: true }]}
|
||||
>
|
||||
<Upload name="logo" action="/upload.do" listType="picture" disabled={whetherReadonly}>
|
||||
<Button icon={<UploadOutlined />}>上传文件</Button>
|
||||
</Upload>
|
||||
</Form.Item>
|
||||
<ExtendUpload bid={bid} btnName="上传附件" maxCount={1} uploadProps={{ name: "resultsDatasetId", disabled: whetherReadonly }}>
|
||||
</ExtendUpload>
|
||||
</Form.Item> */}
|
||||
</Form>
|
||||
</>
|
||||
)
|
||||
@ -227,16 +314,21 @@ const MentionDoubtReply: React.FC<{}> = () => {
|
||||
setVisible(false);
|
||||
setWhetherReadonly(false);
|
||||
}
|
||||
|
||||
const modalHeight = innerHeight * 96 / 100;
|
||||
return (
|
||||
<>
|
||||
<Modal visible={visible}
|
||||
title="提疑回复"
|
||||
title="提疑"
|
||||
onCancel={handleCancel}
|
||||
maskClosable={false}
|
||||
destroyOnClose={true}
|
||||
width={"60%"}
|
||||
footer={whetherReadonly ? null :[
|
||||
style={{ maxHeight: modalHeight }}
|
||||
bodyStyle={{ maxHeight: modalHeight - 107, overflowY: 'auto' }}
|
||||
footer={whetherReadonly ? [
|
||||
<Button key="back" onClick={handleCancel}>
|
||||
取消
|
||||
</Button>
|
||||
] : [
|
||||
<Button key="back" onClick={handleCancel}>
|
||||
取消
|
||||
</Button>,
|
||||
@ -253,18 +345,20 @@ const MentionDoubtReply: React.FC<{}> = () => {
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="background">
|
||||
<ProTable
|
||||
rowKey="id"
|
||||
actionRef={actionRef}
|
||||
request={params => queryingPagingData('/api/biz-service-ebtp-tender/v1/clarifydissent/dissents', 'post', params)}
|
||||
columns={columns}
|
||||
search={false}
|
||||
/>
|
||||
{createModal()}
|
||||
</div>
|
||||
</>
|
||||
<div style={{padding: '24px 24px 0px'}}>
|
||||
<ProTable
|
||||
rowKey="id"
|
||||
size="small"
|
||||
pagination={{ defaultPageSize: 10 }}
|
||||
params={{ projectId: projectId, roomType: roomType, dissentType: "1" }}
|
||||
actionRef={actionRef}
|
||||
request={params => queryingPagingData('/api/biz-service-ebtp-tender/v1/clarifydissent/dissents', 'post', params)}
|
||||
columns={columns}
|
||||
search={false}
|
||||
options={false}
|
||||
/>
|
||||
{createModal()}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user