评审规则设置
This commit is contained in:
@ -33,6 +33,11 @@ export default {
|
||||
changeOrigin: true,
|
||||
pathRewrite: { '/api/biz-service-ebtp-project': '' },
|
||||
},
|
||||
'/api/biz-service-ebtp-process': {
|
||||
target: 'http://localhost:18011',
|
||||
changeOrigin: true,
|
||||
pathRewrite: { '/api/biz-service-ebtp-process': '' },
|
||||
},
|
||||
'/api/sys-manager-ebtp-project': {
|
||||
target: 'http://localhost:18030',
|
||||
changeOrigin: true,
|
||||
|
@ -66,7 +66,10 @@ const Promenu: React.FC<{}> = () => {
|
||||
const open = Boolean(anchorEl);
|
||||
|
||||
useEffect(() => {
|
||||
menuList({ defId: defId, projectId: projectId }).then(res => {
|
||||
//TODO zyx假数据-start
|
||||
menuList({ defId: 'bid_qualification', projectId: '1920644626460389376' }).then(res => {
|
||||
// menuList({ defId: defId, projectId: projectId }).then(res => {
|
||||
//TODO zyx假数据-end
|
||||
if (res.code === 200) {
|
||||
let data = res.data;
|
||||
setData(data);
|
||||
|
@ -397,7 +397,44 @@ const DetailedMain: React.FC<detailType> = (props) => {
|
||||
}
|
||||
}} value={parseInt(record.effectiveType)}>
|
||||
<Radio className={styles.radioStyle} value={1}>全部报价</Radio>
|
||||
<Radio className={styles.radioStyle} value={2}>去掉最高和最低各一家后的<a className={styles.orange}>报价</a></Radio>
|
||||
<Radio className={styles.radioStyle} value={2} >
|
||||
<div style={{ float: "right" }}>
|
||||
<div style={{ float: "left" }}>去掉最高:
|
||||
{returnInput(record, 'removeMaxNumber', 1, parseInt(record.effectiveType), record.removeMaxNumber, 2)} 家<a className={styles.orange}>报价</a>
|
||||
</div>
|
||||
<div style={{ float: "left", marginLeft: '100px' }}>
|
||||
</div>
|
||||
</div>
|
||||
<div >
|
||||
<div style={{ float: "left", marginLeft: '24px' }}>去掉最低:
|
||||
{returnInput(record, 'removeMinNumber', 1, parseInt(record.effectiveType), record.removeMinNumber, 2)} 家<a className={styles.orange}>报价</a>
|
||||
</div>
|
||||
</div>
|
||||
</Radio>
|
||||
<div style={{ clear: 'both' }} />
|
||||
<Radio className={styles.radioStyle} value={6}>
|
||||
<div style={{ float: "right" }}>
|
||||
<div style={{ float: "left" , marginLeft: '-7px' }}>高于拦标价的报价:
|
||||
{returnInput(record, 'includeLowPrice', 1, parseInt(record.effectiveType), record.includeLowPrice, 6)} 元{/*TODO zyx-获取币种*/}
|
||||
</div>
|
||||
<div style={{ float: "left", marginLeft: '2px' }}>
|
||||
<Radio.Group
|
||||
disabled={hideOffer || dis}
|
||||
value={parseInt(record.effectiveType) == 6 ? parseInt(record.includeLowStatus) : null}
|
||||
onChange={(event) => {
|
||||
const value = event.target.value;
|
||||
if (value != undefined) {
|
||||
record.includeLowStatus = value;
|
||||
reTable();
|
||||
}
|
||||
}}
|
||||
>
|
||||
<Radio className={styles.radioStyle} value={1} checked >含税</Radio>
|
||||
</Radio.Group>
|
||||
</div>
|
||||
</div>
|
||||
</Radio>
|
||||
{/* <Radio className={styles.radioStyle} value={2}>去掉最高和最低各一家后的<a className={styles.orange}>报价</a></Radio>
|
||||
<Radio className={styles.radioStyle} value={3}>去掉最两家高和最低各一家后的<a className={styles.orange}>报价</a></Radio>
|
||||
<Radio className={styles.radioStyle} value={4}>去掉最低一家后的<a className={styles.orange}>报价</a></Radio>
|
||||
<Radio className={styles.radioStyle} value={5}>去掉最高一家后的<a className={styles.orange}>报价</a></Radio>
|
||||
@ -444,7 +481,7 @@ const DetailedMain: React.FC<detailType> = (props) => {
|
||||
</Radio.Group>
|
||||
</div>
|
||||
</div>
|
||||
</Radio>
|
||||
</Radio> */}
|
||||
<div style={{ clear: 'both' }} />
|
||||
<Radio className={styles.radioStyle} value={7}>{showNameT.pb}专家手动勾选</Radio>
|
||||
</Radio.Group>
|
||||
@ -675,7 +712,7 @@ const DetailedMain: React.FC<detailType> = (props) => {
|
||||
initialValue="请选择"
|
||||
rules={[{ required: true, message: '请选择类别' }]}
|
||||
>
|
||||
<Select style={{ width: "80%" }}>
|
||||
<Select style={{ width: "80%" }} placeholder="请选择">
|
||||
<Option value="商务" key="addCateKey1">商务</Option>
|
||||
<Option value="技术" key="addCateKey2">技术</Option>
|
||||
<Option value="服务" key="addCateKey3">服务</Option>
|
||||
@ -687,7 +724,7 @@ const DetailedMain: React.FC<detailType> = (props) => {
|
||||
{({ getFieldValue }) => {
|
||||
const selectedType = getFieldValue('type');
|
||||
return (
|
||||
selectedType !== '报价' && (
|
||||
selectedType !== '报价' && selectedType!='请选择' && (
|
||||
<Row>
|
||||
<Col span={24}><FormItem
|
||||
name="calculationMethod"
|
||||
@ -1063,9 +1100,12 @@ const DetailedMain: React.FC<detailType> = (props) => {
|
||||
useEffect(() => {
|
||||
if (show !== '1') {
|
||||
queryDetData();
|
||||
detailTem().then(res => {
|
||||
res?.code == 200 ? oidSet(res.data.documentCenterId) : null;
|
||||
});
|
||||
//TODO zyx 假数据-start
|
||||
oidSet("1673219453012992001");
|
||||
// detailTem().then(res => {
|
||||
// res?.code == 200 ? oidSet(res.data.documentCenterId) : null;
|
||||
// });
|
||||
//TODO zyx 假数据-end
|
||||
}
|
||||
}, [show]);
|
||||
|
||||
@ -1256,6 +1296,8 @@ const DetailedMain: React.FC<detailType> = (props) => {
|
||||
includeHighPrice: '',
|
||||
includeLowStatus: 1,//最低价 含税不含税
|
||||
includeLowPrice: '',
|
||||
removeMaxNumber: '',
|
||||
removeMinNumber: '',
|
||||
}]
|
||||
}
|
||||
let data1T: any = [...data1]
|
||||
@ -1416,6 +1458,8 @@ const DetailedMain: React.FC<detailType> = (props) => {
|
||||
case 'priceMultiplierSecond': now.priceMultiplierSecond = value; break;
|
||||
case 'lowScore': now.lowScore = value; break;
|
||||
case 'lowScoreSecond': now.lowScoreSecond = value; break;
|
||||
case 'removeMaxNumber': now.removeMaxNumber = value; break;
|
||||
case 'removeMinNumber': now.removeMinNumber = value; break;
|
||||
default: break;
|
||||
}
|
||||
setData4(data);
|
||||
|
@ -240,37 +240,39 @@ export const getTreeDataOut = async (assessRoomId: any, turnSort: any) => {
|
||||
let data: any = [];
|
||||
let rootT: any = [];
|
||||
let childT: any = [];
|
||||
await getTree({ assessRoomId: assessRoomId, turnSort: turnSort }).then((res) => {
|
||||
if (res.data != undefined) {
|
||||
res.data.map((item: any, index: any) => {
|
||||
const title1 = item.name;
|
||||
const key1 = item.id;
|
||||
let children1: any = [];
|
||||
if (item.children != undefined) {
|
||||
const children = item.children.map((item: any, index: any) => {
|
||||
const title2 = item.name;
|
||||
const key2 = item.id;
|
||||
let children2: any = [];
|
||||
if (item.children != undefined) {
|
||||
const children = item.children.map((item: any, index: any) => {
|
||||
const title3 = item.name;
|
||||
const key3 = item.id;
|
||||
childT.push(key3)
|
||||
return { title: title3, key: key3, pId: key2 }
|
||||
});
|
||||
children2 = children;
|
||||
}
|
||||
childT.push(key2)
|
||||
return { title: title2, key: key2, children: children2, pId: key1 }
|
||||
});
|
||||
children1 = children;
|
||||
}
|
||||
const first = { title: title1, key: key1, children: children1, pId: null }
|
||||
rootT.push(key1)
|
||||
data.push(first);
|
||||
});
|
||||
}
|
||||
})
|
||||
//TODO zyx假数据-start
|
||||
// await getTree({ assessRoomId: assessRoomId, turnSort: turnSort }).then((res) => {
|
||||
// if (res.data != undefined) {
|
||||
// res.data.map((item: any, index: any) => {
|
||||
// const title1 = item.name;
|
||||
// const key1 = item.id;
|
||||
// let children1: any = [];
|
||||
// if (item.children != undefined) {
|
||||
// const children = item.children.map((item: any, index: any) => {
|
||||
// const title2 = item.name;
|
||||
// const key2 = item.id;
|
||||
// let children2: any = [];
|
||||
// if (item.children != undefined) {
|
||||
// const children = item.children.map((item: any, index: any) => {
|
||||
// const title3 = item.name;
|
||||
// const key3 = item.id;
|
||||
// childT.push(key3)
|
||||
// return { title: title3, key: key3, pId: key2 }
|
||||
// });
|
||||
// children2 = children;
|
||||
// }
|
||||
// childT.push(key2)
|
||||
// return { title: title2, key: key2, children: children2, pId: key1 }
|
||||
// });
|
||||
// children1 = children;
|
||||
// }
|
||||
// const first = { title: title1, key: key1, children: children1, pId: null }
|
||||
// rootT.push(key1)
|
||||
// data.push(first);
|
||||
// });
|
||||
// }
|
||||
// })
|
||||
//TODO zyx假数据-end
|
||||
return { roots: rootT, childs: childT, treeData: data }
|
||||
}
|
||||
export default FileTree;
|
||||
|
@ -246,7 +246,7 @@ const FirstMain: React.FC<FirstType> = (props) => {
|
||||
onClick={showConfirm}
|
||||
>
|
||||
继承上轮
|
||||
</Button>
|
||||
</Button>
|
||||
|
||||
}
|
||||
<FileTree
|
||||
|
@ -33,17 +33,35 @@ const Config: React.FC<{}> = () => {
|
||||
roomType = getURLInformation("roomType");
|
||||
}
|
||||
//查评分办法和采购方式
|
||||
getBizInfo(bizId).then((res) => {
|
||||
let methodT = false;
|
||||
if (res.code == 200) {
|
||||
const data = res.data;
|
||||
if (roomType == '2') {
|
||||
data.evalMethodDict === 'eval_method_2' ? methodT = true : null;//评分办法 1最低价 2综合评估
|
||||
}
|
||||
data.ptcpMode === 'ptcp_mode_2' ? methodT = true : null;//采购方式 1合格制 2有限数量制
|
||||
}
|
||||
methodSet(methodT);
|
||||
});
|
||||
//TODO zyx假数据 start
|
||||
// getBizInfo(bizId).then((res) => {
|
||||
let methodT = false;
|
||||
// if (res.code == 200) {
|
||||
// const data = res.data;
|
||||
const data = {
|
||||
"createBy": "ex-wanghy623", "createDate": "2025-05-09 08:58:57",
|
||||
"updateBy": "ex-wanghy623", "updateDate": null, "tenantId": "ebtp_mall", "tenantName": "ebtp_mall", "deleteFlag": "normal",
|
||||
"lastUpdateTime": "2024-10-28 15:56:21", "id": "1920644626720436224", "projectId": "1920644626460389376",
|
||||
"bidSectBizNum": "ZX36102410002138", "bidSectCode": 1, "bidSectName": "测试001", "bidSectContent": null, "bidSectTypeDict": null,
|
||||
"bidSectContractPrice": 1000.00000, "contractPriceCurrencyDict": null, "selectionMethod": null, "reviewRules": null,
|
||||
"priceUnitDict": null, "bidderQual": null, "quotationMethodDict": "quotation_method_2", "tenderOpeningTime": null,
|
||||
"ptcpMode": null, "ptcpCount": null, "businessModule": 8, "status": 2, "attDatasetId": null, "checkMethodDict": null,
|
||||
"chooseProcess": "choose_process_4", "reviewReportId": null, "sectionNumber": null, "evalMethodDict": "eval_method_2",
|
||||
"procurementTypeDict": null, "miitSectionId": null, "monetaryUnit": null, "remarks": null, "parentSectionId": "1916736930678689792",
|
||||
"projectPlanId": "1850785019690168356", "subprojectId": "1850783951401635842", "isAnnouncement": null, "priceCeiling": 800.00000,
|
||||
"priceCeilingExplain": null, "isStructureQuote": "1", "structureQuoteModel": "003", "structureQuoteLimitType": "002",
|
||||
"bidNumberIsDefinite": "1", "projBidRatioInfoVoList": [], "bidDefiniteNumber": "2", "structureNote": null,
|
||||
"basePriceUnitLimit": null, "materialList": [], "purcModel": null, "preBidAnalysisFlag": 0, "quotePreResultFlag": "0"
|
||||
};
|
||||
//TODO zyx假数据 end
|
||||
if (roomType == '2') {
|
||||
data.evalMethodDict === 'eval_method_2' ? methodT = true : null;//评分办法 1最低价 2综合评估
|
||||
}
|
||||
data.ptcpMode === 'ptcp_mode_2' ? methodT = true : null;//采购方式 1合格制 2有限数量制
|
||||
// }
|
||||
methodSet(methodT);
|
||||
// });
|
||||
//TODO zyx假数据 end
|
||||
|
||||
}, [])
|
||||
return (
|
||||
|
@ -194,7 +194,7 @@ const List: React.FC<{}> = () => {
|
||||
//查询已有配置的标段
|
||||
const getHaveConfigSections = async (evalMethod: any) => {
|
||||
let secs: any[] = []
|
||||
await usePage({ projectId: getProId(), roomType: roomType, evalMethod: evalMethod }).then((res) => {
|
||||
await usePage({ projectId: proId, roomType: roomType, evalMethod: evalMethod }).then((res) => {
|
||||
if (res.code == 200) {
|
||||
const data = res.data;
|
||||
secs = [...data];
|
||||
@ -205,7 +205,8 @@ const List: React.FC<{}> = () => {
|
||||
}
|
||||
useEffect(() => {
|
||||
//取项目id
|
||||
proIdSet(getProId());
|
||||
//proIdSet(getProId());//TODO zyx-假数据
|
||||
proIdSet("1920644626460389376");
|
||||
// getHaveConfigSections();
|
||||
}, []);
|
||||
return (
|
||||
@ -220,7 +221,7 @@ const List: React.FC<{}> = () => {
|
||||
// tableAlertRender={false}
|
||||
params={pageData}
|
||||
request={(params) =>
|
||||
getPage({ ...params, projectId: getProId(), roomType: roomType }).then((res) => {
|
||||
getPage({ ...params, projectId: proId, roomType: roomType }).then((res) => {
|
||||
const result = {
|
||||
data: res.data.records,
|
||||
total: res.data.total,
|
||||
|
Reference in New Issue
Block a user