3.10 工程代码同步master

This commit is contained in:
jl-zhoujl2
2022-03-10 14:24:13 +08:00
parent 41ab55a4ac
commit 62f6b07ee2
914 changed files with 143121 additions and 29110 deletions

View File

@ -0,0 +1,176 @@
import React, { useEffect, useState } from 'react';
import { Table } from 'antd';
import '@/assets/ld_style.less';
import { getJuryList, getJuryScoreData } from '../service';
import { getURLInformation } from '@/utils/CommonUtils';
import { getRoomId } from '@/utils/session';
interface BidDetailSpeedProps {
reload: any;//重新加载
}
const BidDetailSpeed: React.FC<BidDetailSpeedProps> = (props) => {
const { reload } = props
//存储表
const [scheduleTable, setScheduleTable] = useState<any>();
//初始化表
useEffect(() => {
//全部参数
const juryParams = getRoomId();
const juryDataParams = {
// bidEvalId: '111',
assessRoomId: getRoomId(),
reviewTurnId: getURLInformation('turnId'),
reviewType: '2',
};
//获取评委
getJuryList(juryParams).then(async (res) => {
if (res?.code == 200) {
//获取进度表数据
await getJuryScoreData(juryDataParams).then((response) => {
if (response?.code == 200) {
//调用数据处理方法并初始化表格
InitializeTable(res?.data, response?.data);
}
});
}
});
}, [reload]);
//截取字符串方法
const getCaption =(obj: any) => {
var index=obj.lastIndexOf("\-");
obj=obj.substring(index+1,obj.length);
return obj;
}
//初始化表格方法
const InitializeTable = (columns: any, data: any) => {
//处理数据
let totalData: any[] = []
let count = 0
data.forEach((ele: any) => {
if(ele.hasOwnProperty("detailList")){
ele?.detailList?.forEach((element: any,index: any) => {
let inner = element
inner.key = ele.category + '-' + count
inner.name = ele.name
inner.categoryName = ele.categoryName
inner.rowSpan = index == 0 ? ele.detailList.length : 0
inner.length = data.reduce((pre: any,item: any) => {
if(item.category == ele.category) {
return pre + item.detailList?.length
} else {
return pre
}
}, 0)
if(count == inner.length - 1) {
count = 0
} else {
count = count + 1
}
Object.assign(inner,inner.scoreMap)
totalData.push(inner)
});
}
});
//处理表头
const tcolumns: any[] = [
{
title: '序号',
dataIndex: 'key',
key: 'key',
render(_: any, record: any, index: any) {
return index + 1;
},
},
{
title: '详审类型',
dataIndex: 'categoryName',
key: 'categoryName',
render(value: any, record: any, index: any) {
if (!record.id) {
return {
children: '是否完成评审',
props: {
colSpan: 3,
},
};
}
return {
children: value,
props: {
rowSpan: getCaption(record.key) == '0' ? record.length : 0
}
}
},
},
{
title: '类型名称',
dataIndex: 'name',
key: 'name',
render(value: any, record: any, index: any) {
if (!record.id) {
return {
children: "",
props: {
colSpan: 0,
}
}
}
return {
children: value,
props: {
rowSpan: record.rowSpan
}
}
},
},
{
title: '评审因素',
dataIndex: 'scoreItem',
key: 'scoreItem',
render(value: any, record: any, index: any) {
if (!record.id) {
return {
children: "",
props: {
colSpan: 0,
}
}
}
return value
},
},
{
title: '评委',
children: []
}
];
columns.forEach((ele: any) => {
tcolumns[4].children.push({
title: ele.name,
dataIndex: ele.userId,
key: ele.userId,
render:(value: any,record: any,index: any) => {
if(record?.id) {
// return value == -1 ? "-" : `${value}%`
return value?.actualValue == undefined ? "-" : value?.actualValue == -1 ? "-" : value?.remarks == 1 ? <span style={{color: '#b30000'}}>{value?.actualValue}%()</span> : `${value?.actualValue}%`
} else {
return value?.actualValue == undefined ? "-" : value?.actualValue == -1 ? "-" : (value?.actualValue == 0 ? "未完成" : "已完成" )
}
}
});
});
// setTableColumns(tableColumns)
setScheduleTable(
// <div className="bidContent" key="1">
<Table bordered pagination={false} columns={tcolumns} dataSource={totalData} key="1"/>
// </div>,
);
};
return <>{scheduleTable}</>;
};
export default BidDetailSpeed;

View File

@ -0,0 +1,109 @@
import React, { useEffect, useState } from 'react';
import { Table } from 'antd';
import '@/assets/ld_style.less';
import { getJuryDetailScoreData, getJuryList } from '../service';
import { getURLInformation } from '@/utils/CommonUtils';
import { getRoomId } from '@/utils/session';
interface BidDetailSummaryProps {
reload: any;//重新加载
}
const BidDetailSummary: React.FC<BidDetailSummaryProps> = (props) => {
const { reload } = props
//存储表
const [scheduleTable, setScheduleTable] = useState<any>();
//初始化表
useEffect(() => {
//全部参数
const juryParams = getRoomId();
// const juryDataParams = {
// // bidEvalId: '222',
// assessRoomId: getRoomId(),
// reviewTurnId: getURLInformation('turnId'),
// reviewType: '2',
// };
const juryDataParams = {
reviewTurnId: getURLInformation('turnId'),
reviewType: '2',
assessRoomId: getRoomId(),
};
//获取评委
getJuryList(juryParams).then((res) => {
if (res.code == 200) {
//获取进度表数据
getJuryDetailScoreData(juryDataParams).then((response) => {
if (response.code == 200) {
//调用数据处理方法并初始化表格
InitializeTable(res.data, response.data);
}
});
}
});
}, [reload]);
//初始化表格方法
const InitializeTable = (columns: any, data: any) => {
//处理数据
let totalData: any[] = []
data.forEach((ele: any) => {
let inner = ele
inner.key = ele.supplierRegisterId + 1
for (const key in inner.scoreMap) {
if (Object.prototype.hasOwnProperty.call(inner.scoreMap, key)) {
inner.scoreMap[key] = inner.scoreMap[key] == undefined ? "-" : inner.scoreMap[key].score
}
}
Object.assign(inner,inner.scoreMap)
totalData.push(inner)
});
//处理表头
const tcolumns: any[] = [
{
title: '供应商',
dataIndex: 'supplierRegisterName',
key: 'supplierRegisterName',
},
{
title: '排序',
render(value: any, record: any, index: any) {
return index + 1
},
},
{
title: '评审委员会',
children: []
},
{
title: '报价分',
dataIndex: 'priceScore',
key: 'priceScore',
},
{
title: '最终得分',
dataIndex: 'finalScore',
key: 'finalScore',
}
];
columns.forEach((ele: any) => {
tcolumns[2].children.push({
title: ele.name,
dataIndex: ele.userId,
key: ele.userId,
render:(value: any,record: any,index: any) => {
return value == undefined ? "-" : value
}
});
});
setScheduleTable(
// <div className="bidContent" key="1">
<Table bordered pagination={false} columns={tcolumns} dataSource={totalData} key="1"/>
// </div>,
);
};
return <>{scheduleTable}</>;
};
export default BidDetailSummary;

View File

@ -0,0 +1,112 @@
import React, { useEffect, useState } from 'react';
import { Button, Modal, Space, Spin, Table } from 'antd';
import { getJuryList } from '../service';
import { getRoomId } from '@/utils/session';
interface ConsistencyCheckProps {
modalVisible: boolean;
onCancel: () => void;
onSubmit: () => void;
values: any;
}
const modalHeight = (window.innerHeight * 96) / 100;
const ConsistencyCheck: React.FC<ConsistencyCheckProps> = (props) => {
const { modalVisible, onCancel, values, onSubmit } = props;
//存储columns
const [tableColumns, setTableColumns] = useState<any[]>([]);
//存储表数据
const [tableData, setTableData] = useState<any[]>([]);
//loading
const [loading, setLoading] = useState<boolean>(false);
//初始化表
useEffect(() => {
setLoading(true);
//全部参数
const juryParams = getRoomId();
//获取评委
getJuryList(juryParams).then((res) => {
if (res.code == 200) {
//调用数据处理方法并初始化表格
InitializeTable(res.data, values);
setLoading(false);
}
});
}, [modalVisible]);
//初始化表格方法
const InitializeTable = (columns: any, data: any) => {
//处理数据
let totalData: any[] = [];
let count = 0;
data.forEach((ele: any) => {
count = count + 1;
let inner = ele;
inner.key = count;
Object.assign(inner, inner.scoreMap);
totalData.push(inner);
});
//处理表头
const tcolumns: any[] = [
{
title: '序号',
dataIndex: 'key',
key: 'key',
},
{
title: '校验项',
dataIndex: 'scoreItem',
key: 'scoreItem',
},
{
title: '供应商',
dataIndex: 'supplierRegisterName',
key: 'supplierRegisterName',
},
];
columns.forEach((ele: any) => {
tcolumns.push({
title: ele.name,
dataIndex: ele.userId,
key: ele.userId,
render: (value: any, record: any, index: any) => {
return value == undefined ? '-' : value;
},
});
});
setTableColumns(tcolumns);
setTableData(totalData);
};
return (
<Modal
destroyOnClose
title="一致性检查"
centered
visible={modalVisible}
onCancel={onCancel}
footer={false}
width={1000}
style={{ maxHeight: modalHeight }}
bodyStyle={{ maxHeight: modalHeight - 54, overflowY: 'auto', padding: '12px 24px' }}
>
<Spin spinning={loading} delay={300}>
<span style={{ color: 'red', display: 'block', marginBottom: 8 }}>
</span>
<Table bordered pagination={false} columns={tableColumns} dataSource={tableData} key="1" />
<div style={{ display: 'block' }}>
<Space style={{ display: 'flex', justifyContent: 'center', marginTop: 12 }}>
<Button type="primary" onClick={onCancel}>
</Button>
<Button onClick={onSubmit}></Button>
</Space>
</div>
</Spin>
</Modal>
);
};
export default ConsistencyCheck;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,212 @@
import request from '@/utils/request';
// export async function getTabList(params: any) { // tab
// return request('/v1/bid/eval/category/findCategoryTabList', {
// method: 'get',
// params
// });
// }
export async function getTabList(params: any) { // tab
return request('/api/biz-service-ebtp-rsms/v1/bid/eval/category/findCategoryTabList', {
method: 'get',
params
});
}
// export async function getProgress(data: any) { // 我的进度
// return request('/v1/bid/eval/detail/evalProgress', {
// method: 'post',
// data: data
// });
// }
export async function getProgress(data: any) { // 我的进度
return request('/api/biz-service-ebtp-rsms/v1/bid/eval/detail/evalProgress', {
method: 'post',
data: data
});
}
export async function getScoreDetail(data: any) { // 评分数据
return request('/api/biz-service-ebtp-rsms/v1/bid/eval/detail/findReviewConfig', {
method: 'post',
data: data
});
}
export async function getRegister(params: any) { // 供应商动态列头
return request('/api/biz-service-ebtp-rsms/v1/bid/eval/detail/findRegister', {
method: 'get',
params
});
}
// export async function submitDetail(data: any) { // 保存
// return request('/v1/bid/eval/detail', {
// method: 'post',
// data: data
// });
// }
export async function submitDetail(data: any) { // 保存
return request('/api/biz-service-ebtp-rsms/v1/bid/eval/detail', {
method: 'post',
data: data
});
}
// export async function updateJudgesStatus(data: any) { // 提交
// return request('/v1/bxmulti/eval/summary/submitPriceSummary', {
// method: 'post',
// data: data
// });
// }
export async function updateJudgesStatus(data: any) { // 提交
return request('/api/biz-service-ebtp-rsms/v1/bxmulti/eval/summary/submitPriceSummary', {
method: 'post',
data: data
});
}
// export async function findPriceScoreList(data: any) { // 报价数据
// return request('/v1/bid/eval/detail/findPriceScoreList', {
// method: 'post',
// data: data
// });
// }
export async function findPriceScoreList(data: any) { // 报价数据
return request('/api/biz-service-ebtp-rsms/v1/bid/eval/detail/findPriceScoreList', {
method: 'post',
data: data
});
}
export async function getMemberInfo(id: any) { // 评审解锁
return request('/api/biz-service-ebtp-rsms/v1/jury/member/info/'+id, {
method: 'get',
});
}
export async function getEval(params: any) { // 获取页面接口数据
return request('/api/biz-service-ebtp-rsms/v1/bid/eval/find', {
method: 'get',
params
});
}
export async function getUnlock(data: any) { // 评审解锁
return request('/api/biz-service-ebtp-rsms/v1/bid/eval/category/unlock', {
method: 'post',
data: data
});
}
/**
* 详审汇总表-获取评委打分表格数据
* @param params
*/
// export async function getJuryDetailScoreData(params: any) {
// return request(`/v1/bid/eval/record/findPriceScoreRecord`,{
// method: 'POST',
// data: params
// })
// }
export async function getJuryDetailScoreData(params: any) {
return request(`/api/biz-service-ebtp-rsms/v1/bid/eval/summary/findScoreDetailSummary`,{
method: 'POST',
data: params
})
}
/**
* 详审进度表-根据评标室id获取评委会成员数据
* @param params
*/
export async function getJuryList(params: any) {
return request(`/api/biz-service-ebtp-rsms/v1/jury/member/info/${params}`,{
method: 'GET',
})
}
/**
* 详审进度表-获取评委会打分表格数据
* @param params
*/
export async function getJuryScoreData(params: any) {
return request(`/api/biz-service-ebtp-rsms/v1/bid/eval/summary/findProgressSummary`,{
method: 'POST',
data: params
})
}
/**
* 详审汇总表-获取一致性检查数据
* @param params
*/
export async function getCheckData(params: any) {
return request(`/api/biz-service-ebtp-rsms/v1/bid/eval/summary/findConsistentResult`,{
method: 'POST',
params: params
})
}
/**
* 详审汇总表-汇总提交
* @param params
*/
export async function submitSummary(params: any) {
return request(`/api/biz-service-ebtp-rsms/v1/bid/eval/summary/submitSummary`,{
method: 'POST',
data: params
})
}
/**
* 详审汇总表-判断当前是进度表还是汇总表状态
* @param params
*/
export async function isStatus(params: any) {
return request(`/api/biz-service-ebtp-rsms/v1/bid/eval/category/findAllJudgesStatus`,{
method: 'GET',
params: params
})
}
export async function getFile(id: any) { // 查找是否有应答文件
return request('/api/biz-service-ebtp-rsms/v1/review/config/detail/doc/list?detailId='+id, {
method: 'get',
});
}
// export async function calculationPriceScore(data: any) { // 自动报价确定
// return request('/v1/bid/eval/detail/calculationPriceScore', {
// method: 'post',
// data
// });
// }
export async function calculationPriceScore(data: any) { // 自动报价确定
return request('/api/biz-service-ebtp-rsms/v1/bid/eval/detail/calculationPriceScore', {
method: 'post',
data
});
}
// export async function saveOffer(data: any) { // 自动报价保存
// return request('/v1/bid/eval/detail', {
// method: 'post',
// data
// });
// }
export async function saveOffer(data: any) { // 自动报价保存
return request('/api/biz-service-ebtp-rsms/v1/bid/eval/detail', {
method: 'post',
data
});
}

View File

@ -0,0 +1,16 @@
import { message } from "antd";
import { submitSummary } from "./service";
/**
* 评审汇总提交
* @param fields
*/
export const handleSubmit = async (fields: any) => {
return await submitSummary(fields).then((res) => {
if (res?.code == 200) {
message.success('提交成功');
}
return res?.success;
});
};