Merge branch 'master' of http://10.124.128.2:8888/eshop/fe_service_ebtp_frontend into 20220613-将PUT和DELETE请求更改成POST请求
This commit is contained in:
@ -1,9 +1,9 @@
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { Button, Table, Tabs, Space, Progress, Radio, Input, Checkbox, Select, Modal, Pagination, Spin, Form, message, Upload } from 'antd';
|
||||
import { getTabList, getProgress, getScoreDetail, getRegister, submitDetail, updateJudgesStatus, findPriceScoreList, getEval, getFile, calculationPriceScore, saveOffer, getPage, getProjectById } from './service';
|
||||
import { Button, Table, Tabs, Space, Progress, Radio, Input, Checkbox, Select, Modal, Pagination, Spin, Form, message, Upload, Tooltip } from 'antd';
|
||||
import { getTabList, getProgress, getScoreDetail, getRegister, submitDetail, updateJudgesStatus, findPriceScoreList, getEval, getFile, calculationPriceScore, saveOffer, getPage, getProjectById, getOfferUrl } from './service';
|
||||
import '@/assets/ld_style.less'
|
||||
import FirstTrialTableDetailed from '../BidDetailedManager/module/FirstTrialTableDetailed';
|
||||
import { getSessionUserData, getRoomId, getUserToken, getProMethod, getProId, getSectionQuot } from '@/utils/session';
|
||||
import { getSessionUserData, getRoomId, getUserToken, getProMethod, getProId, getSectionQuot, getSessionRoleData } from '@/utils/session';
|
||||
import FileDown from '@/utils/Download';
|
||||
import { getURLInformation } from '@/utils/CommonUtils';
|
||||
import { btnAuthority } from '@/utils/authority';
|
||||
@ -68,6 +68,8 @@ const Index: React.FC<{}> = () => {
|
||||
const modalHeight = (innerHeight * 96) / 100;
|
||||
//获取标段的标价类型 1-百分比 0-元
|
||||
const sectionQuot = getSectionQuot();
|
||||
//当前登录人角色
|
||||
const roleCode = getSessionRoleData()?.roleCode;
|
||||
let showNameT: any = { tbr: '', pb: '', tb: '' }//投标人供应商
|
||||
if (proMethod === 'procurement_mode_1' || proMethod === 'procurement_mode_2') {//招标
|
||||
showNameT = { tbr: '投标人', pb: '评标', tb: '投标' };
|
||||
@ -216,7 +218,7 @@ const Index: React.FC<{}> = () => {
|
||||
title: showNameT.tbr + '报价(元)',
|
||||
dataIndex: 'evaluatingContent',
|
||||
sorter: {
|
||||
compare: (a, b) => a.evaluatingContent - b.evaluatingContent,
|
||||
compare: (a: any, b: any) => a.evaluatingContent - b.evaluatingContent,
|
||||
multiple: 2,
|
||||
},
|
||||
},
|
||||
@ -439,22 +441,22 @@ const Index: React.FC<{}> = () => {
|
||||
bidEvalDetailDTOList = []
|
||||
})
|
||||
} else {
|
||||
let date = {
|
||||
bidEvalId: bidEvalId,
|
||||
reviewTurnId: reviewTurnId,
|
||||
category: typeCategory,
|
||||
assessRoomId: assessRoomId,
|
||||
reviewType: '2'
|
||||
}
|
||||
getProgress({ ...date }).then((res) => {
|
||||
if (res.code == 200) {
|
||||
if(res.data == 100){
|
||||
submitApi()
|
||||
} else {
|
||||
message.error("您有未完成的打分项,请完成后再提交!")
|
||||
}
|
||||
}
|
||||
})
|
||||
let date = {
|
||||
bidEvalId: bidEvalId,
|
||||
reviewTurnId: reviewTurnId,
|
||||
category: typeCategory,
|
||||
assessRoomId: assessRoomId,
|
||||
reviewType: '2'
|
||||
}
|
||||
getProgress({ ...date }).then((res) => {
|
||||
if (res.code == 200) {
|
||||
if (res.data == 100) {
|
||||
submitApi()
|
||||
} else {
|
||||
message.error("您有未完成的打分项,请完成后再提交!")
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -919,13 +921,15 @@ const Index: React.FC<{}> = () => {
|
||||
if (record.scoreMap && record.scoreMap[item.supplierRegisterId]) {
|
||||
return (
|
||||
<div>
|
||||
<Input
|
||||
disabled={disabled || endProgress}
|
||||
min={1} max={record.highScore}
|
||||
value={record.scoreMap[item.supplierRegisterId].resultValue}
|
||||
style={{ width: 160 }}
|
||||
onChange={e => inputChange(e, record.scoreMap[item.supplierRegisterId], item.supplierRegisterId, record.highScore)}
|
||||
/>
|
||||
<Tooltip trigger={['focus']} title={<span>评分区间:{record.lowScore}分~{record.highScore}分</span>} placement="topLeft">
|
||||
<Input
|
||||
disabled={disabled || endProgress}
|
||||
min={1} max={record.highScore}
|
||||
value={record.scoreMap[item.supplierRegisterId].resultValue}
|
||||
style={{ width: 160 }}
|
||||
onChange={e => inputChange(e, record.scoreMap[item.supplierRegisterId], item.supplierRegisterId, record.highScore, record.lowScore)}
|
||||
/>
|
||||
</Tooltip>
|
||||
<br />
|
||||
<Button type="link" danger onClick={() => getRemark(record.scoreMap[item.supplierRegisterId], item.supplierRegisterId)}>备注</Button>
|
||||
<Button hidden={btnAuthority(['ebtp-expert'])} type="link" danger onClick={() => lookFile(record.id, item.supplierRegisterId)}>查看{showNameT.tb}文件</Button>
|
||||
@ -934,7 +938,10 @@ const Index: React.FC<{}> = () => {
|
||||
} else {
|
||||
return (
|
||||
<div>
|
||||
<Input disabled={disabled || endProgress} min={1} max={record.highScore} onChange={e => inputChange(e, record, item.supplierRegisterId, record.highScore)} style={{ width: 160 }} /><br />
|
||||
<Tooltip trigger={['focus']} title={<span>评分区间:{record.lowScore}分~{record.highScore}分</span>} placement="topLeft">
|
||||
<Input disabled={disabled || endProgress} min={1} max={record.highScore} onChange={e => inputChange(e, record, item.supplierRegisterId, record.highScore, record.lowScore)} style={{ width: 160 }} />
|
||||
</Tooltip>
|
||||
<br />
|
||||
<Button type="link" danger onClick={() => getRemark(record, item.supplierRegisterId)}>备注</Button>
|
||||
<Button hidden={btnAuthority(['ebtp-expert'])} type="link" danger onClick={() => lookFile(record.id, item.supplierRegisterId)}>查看{showNameT.tb}文件</Button>
|
||||
</div>
|
||||
@ -1021,8 +1028,15 @@ const Index: React.FC<{}> = () => {
|
||||
}
|
||||
await getProjectById(getProId()).then(response => {
|
||||
if (response?.code == 200 && response?.success == true) {
|
||||
const resData = response?.data
|
||||
window.open(`${REACT_APP_XUNJIA_REDIRECT}/inquiryoffer/ztbViewOffer.do?inquiry_no=${resData?.ebpProjectNumber}&offer_no=${offerId}`)
|
||||
const data = response?.data
|
||||
// window.open(`${REACT_APP_XUNJIA_REDIRECT}/inquiryoffer/ztbViewOffer.do?inquiry_no=${resData?.ebpProjectNumber}&offer_no=${offerId}`)
|
||||
const page = `quote-ztbIndex&inqueryNo=${data?.ebpProjectNumber}&offNo=${record?.offerOrderNo}`;
|
||||
const userId = roleCode == "ebtp-supplier" ? record.bidUserId : REACT_APP_XUNJIA_UID;
|
||||
getOfferUrl({ userId, page }).then(response => {
|
||||
if (response?.code == 200) {
|
||||
window.open(response?.data);
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -1237,7 +1251,7 @@ const Index: React.FC<{}> = () => {
|
||||
setDataSource([...totalQualified])
|
||||
}
|
||||
|
||||
const inputChange = (e: any, val: any, id: any, sorce: any) => { // 输入框操作
|
||||
const inputChange = (e: any, val: any, id: any, sorce: any, lowScore: any) => { // 输入框操作
|
||||
let inpVal = e.target.value
|
||||
let inputNum = /^(\-|\+?)\d{0,4}(\.\d{0,5})?$/
|
||||
if (inputNum.test(inpVal)) {
|
||||
@ -1245,6 +1259,10 @@ const Index: React.FC<{}> = () => {
|
||||
message.error('输入分值不可大于最高分值!')
|
||||
inpVal = sorce
|
||||
}
|
||||
if (Number(inpVal) < lowScore) {
|
||||
message.error('输入分值不可小于最低分值!')
|
||||
inpVal = lowScore
|
||||
}
|
||||
} else {
|
||||
message.error('请输入正确的分值!')
|
||||
inpVal = inpVal.substring(0, inpVal.length - 1)
|
||||
|
@ -99,7 +99,7 @@ export async function getEval(params: any) { // 获取页面接口数据
|
||||
}
|
||||
|
||||
export async function getFile(id: any) { // 查找是否有应答文件
|
||||
return request('/api/biz-service-ebtp-rsms/v1/review/config/detail/doc/list?detailId='+id, {
|
||||
return request('/api/biz-service-ebtp-rsms/v1/review/config/detail/doc/list?detailId=' + id, {
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
@ -136,8 +136,8 @@ export async function saveOffer(data: any) { // 自动报价保存
|
||||
* 查询已报名的供应商
|
||||
* @param params
|
||||
*/
|
||||
export async function getPage(params?: any) {
|
||||
return request(`/api/biz-service-ebtp-tender/v1/supplier_register/get_register/${params}`,{
|
||||
export async function getPage(params?: any) {
|
||||
return request(`/api/biz-service-ebtp-tender/v1/supplier_register/get_register/${params}`, {
|
||||
method: 'GET',
|
||||
});
|
||||
}
|
||||
@ -146,6 +146,17 @@ export async function saveOffer(data: any) { // 自动报价保存
|
||||
* 根据id查询项目信息
|
||||
* @param id
|
||||
*/
|
||||
export function getProjectById(id: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectRecord/' + id);
|
||||
}
|
||||
export function getProjectById(id: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectRecord/' + id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 加密后的查看报价详情跳转地址
|
||||
* @param params
|
||||
*/
|
||||
export function getOfferUrl(params: any) {
|
||||
return request('/api/biz-service-ebtp-extend/v1/singlePoint/getSsoUrlByPage', {
|
||||
method: 'GET',
|
||||
params: params,
|
||||
});
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
import React, { useEffect, useRef, useState } from 'react';
|
||||
import { Button, Table, Tabs, Space, Progress, Radio, Input, Checkbox, Select, Modal, Menu, Pagination, Spin, Form, message, Collapse, Upload } from 'antd';
|
||||
import { getTabList, getProgress, getScoreDetail, getRegister, submitDetail, updateJudgesStatus, findPriceScoreList, getMemberInfo, getEval, getUnlock, getCheckData, isStatus, getFile, calculationPriceScore, saveOffer, getPage, getProjectById } from './service';
|
||||
import { Button, Table, Tabs, Space, Progress, Radio, Input, Checkbox, Select, Modal, Menu, Pagination, Spin, Form, message, Collapse, Upload, Tooltip } from 'antd';
|
||||
import { getTabList, getProgress, getScoreDetail, getRegister, submitDetail, updateJudgesStatus, findPriceScoreList, getMemberInfo, getEval, getUnlock, getCheckData, isStatus, getFile, calculationPriceScore, saveOffer, getPage, getProjectById, getOfferUrl } from './service';
|
||||
import '@/assets/ld_style.less'
|
||||
import FirstTrialTableDetailed from '../BidDetailedManager/module/FirstTrialTableDetailed';
|
||||
import { getExperts } from '../BidDetailedManager/service';
|
||||
@ -8,7 +8,7 @@ import ConsistencyCheck from './components/ConsistencyCheck';
|
||||
import BidDetailSummary from './components/BidDetailSummary';
|
||||
import BidDetailSpeed from './components/BidDetailSpeed';
|
||||
import { handleSubmit } from './utils';
|
||||
import { getProId, getProMethod, getRoomId, getSectionQuot, getSessionUserData, getUserToken } from '@/utils/session';
|
||||
import { getProId, getProMethod, getRoomId, getSectionQuot, getSessionRoleData, getSessionUserData, getUserToken } from '@/utils/session';
|
||||
import FileDown from '@/utils/Download';
|
||||
import { getURLInformation, isEmpty } from '@/utils/CommonUtils';
|
||||
import { btnAuthority } from '@/utils/authority';
|
||||
@ -90,6 +90,8 @@ const Index: React.FC<{}> = () => {
|
||||
const sectionQuot = getSectionQuot();
|
||||
const [isEndProgress, setIsEndProgress] = useState<boolean>(false); // 是否可编辑
|
||||
const [submitLoading, setSubmitLoading] = useState<boolean>(false); // 提交汇总loading
|
||||
//当前登录人角色
|
||||
const roleCode = getSessionRoleData()?.roleCode;
|
||||
let showNameT: any = { tbr: '', pb: '', tb: '' }//投标人供应商
|
||||
if (proMethod === 'procurement_mode_1' || proMethod === 'procurement_mode_2') {//招标
|
||||
showNameT = { tbr: '投标人', pb: '评标', tb: '投标' };
|
||||
@ -466,22 +468,22 @@ const Index: React.FC<{}> = () => {
|
||||
bidEvalDetailDTOList = []
|
||||
})
|
||||
} else {
|
||||
let date = {
|
||||
bidEvalId: bidEvalId,
|
||||
reviewTurnId: reviewTurnId,
|
||||
category: typeCategory,
|
||||
assessRoomId: assessRoomId,
|
||||
reviewType: '2'
|
||||
}
|
||||
getProgress({ ...date }).then((res) => {
|
||||
if (res.code == 200) {
|
||||
if(res.data == 100){
|
||||
submitApi()
|
||||
} else {
|
||||
message.error("您有未完成的打分项,请完成后再提交!")
|
||||
}
|
||||
}
|
||||
})
|
||||
let date = {
|
||||
bidEvalId: bidEvalId,
|
||||
reviewTurnId: reviewTurnId,
|
||||
category: typeCategory,
|
||||
assessRoomId: assessRoomId,
|
||||
reviewType: '2'
|
||||
}
|
||||
getProgress({ ...date }).then((res) => {
|
||||
if (res.code == 200) {
|
||||
if (res.data == 100) {
|
||||
submitApi()
|
||||
} else {
|
||||
message.error("您有未完成的打分项,请完成后再提交!")
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -952,13 +954,15 @@ const Index: React.FC<{}> = () => {
|
||||
if (record.scoreMap && record.scoreMap[item.supplierRegisterId]) {
|
||||
return (
|
||||
<div>
|
||||
<Input
|
||||
disabled={disabled || endProgress}
|
||||
value={record.scoreMap[item.supplierRegisterId].resultValue}
|
||||
style={{ width: 160 }}
|
||||
onChange={e => inputChange(e, record.scoreMap[item.supplierRegisterId], item.supplierRegisterId, record.highScore)}
|
||||
// onFocus={e => inputFocus(e, record.scoreMap[item.supplierRegisterId], item.supplierRegisterId)}
|
||||
/>
|
||||
<Tooltip trigger={['focus']} title={<span>评分区间:{record.lowScore}分~{record.highScore}分</span>} placement="topLeft">
|
||||
<Input
|
||||
disabled={disabled || endProgress}
|
||||
value={record.scoreMap[item.supplierRegisterId].resultValue}
|
||||
style={{ width: 160 }}
|
||||
onChange={e => inputChange(e, record.scoreMap[item.supplierRegisterId], item.supplierRegisterId, record.highScore, record.lowScore)}
|
||||
// onFocus={e => inputFocus(e, record.scoreMap[item.supplierRegisterId], item.supplierRegisterId)}
|
||||
/>
|
||||
</Tooltip>
|
||||
<br />
|
||||
<Button type="link" danger onClick={() => getRemark(record.scoreMap[item.supplierRegisterId], item.supplierRegisterId)}>备注</Button>
|
||||
<Button hidden={btnAuthority(['ebtp-expert'])} type="link" danger onClick={() => lookFile(record.id, item.supplierRegisterId)}>查看{showNameT.tb}文件</Button>
|
||||
@ -967,7 +971,10 @@ const Index: React.FC<{}> = () => {
|
||||
} else {
|
||||
return (
|
||||
<div>
|
||||
<Input disabled={disabled || endProgress} onChange={e => inputChange(e, record, item.supplierRegisterId, record.highScore)} style={{ width: 160 }} /><br />
|
||||
<Tooltip trigger={['focus']} title={<span>评分区间:{record.lowScore}分~{record.highScore}分</span>} placement="topLeft">
|
||||
<Input disabled={disabled || endProgress} onChange={e => inputChange(e, record, item.supplierRegisterId, record.highScore, record.lowScore)} style={{ width: 160 }} />
|
||||
</Tooltip>
|
||||
<br />
|
||||
<Button type="link" danger onClick={() => getRemark(record, item.supplierRegisterId)}>备注</Button>
|
||||
<Button hidden={btnAuthority(['ebtp-expert'])} type="link" danger onClick={() => lookFile(record.id, item.supplierRegisterId)}>查看{showNameT.tb}文件</Button>
|
||||
</div>
|
||||
@ -1052,8 +1059,15 @@ const Index: React.FC<{}> = () => {
|
||||
}
|
||||
await getProjectById(getProId()).then(response => {
|
||||
if (response?.code == 200 && response?.success == true) {
|
||||
const resData = response?.data
|
||||
window.open(`${REACT_APP_XUNJIA_REDIRECT}/inquiryoffer/ztbViewOffer.do?inquiry_no=${resData?.ebpProjectNumber}&offer_no=${offerId}`)
|
||||
const data = response?.data
|
||||
// window.open(`${REACT_APP_XUNJIA_REDIRECT}/inquiryoffer/ztbViewOffer.do?inquiry_no=${resData?.ebpProjectNumber}&offer_no=${offerId}`)
|
||||
const page = `quote-ztbIndex&inqueryNo=${data?.ebpProjectNumber}&offNo=${record?.offerOrderNo}`;
|
||||
const userId = roleCode == "ebtp-supplier" ? record.bidUserId : REACT_APP_XUNJIA_UID;
|
||||
getOfferUrl({ userId, page }).then(response => {
|
||||
if (response?.code == 200) {
|
||||
window.open(response?.data);
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -1268,7 +1282,7 @@ const Index: React.FC<{}> = () => {
|
||||
setDataSource([...totalQualified])
|
||||
}
|
||||
|
||||
const inputChange = (e: any, val: any, id: any, sorce: any) => { // 输入框操作
|
||||
const inputChange = (e: any, val: any, id: any, sorce: any, lowScore: any) => { // 输入框操作
|
||||
let inpVal = e.target.value
|
||||
let inputNum = /^(\-|\+?)\d{0,4}(\.\d{0,5})?$/
|
||||
if (inputNum.test(inpVal)) {
|
||||
@ -1276,6 +1290,10 @@ const Index: React.FC<{}> = () => {
|
||||
message.error('输入分值不可大于最高分值!')
|
||||
inpVal = sorce
|
||||
}
|
||||
if (Number(inpVal) < lowScore) {
|
||||
message.error('输入分值不可小于最低分值!')
|
||||
inpVal = lowScore
|
||||
}
|
||||
} else {
|
||||
message.error('请输入正确的分值!')
|
||||
inpVal = inpVal.substring(0, inpVal.length - 1)
|
||||
|
@ -215,8 +215,8 @@ export async function saveOffer(data: any) { // 自动报价保存
|
||||
* 查询已报名的供应商
|
||||
* @param params
|
||||
*/
|
||||
export async function getPage(params?: any) {
|
||||
return request(`/api/biz-service-ebtp-tender/v1/supplier_register/get_register/${params}`,{
|
||||
export async function getPage(params?: any) {
|
||||
return request(`/api/biz-service-ebtp-tender/v1/supplier_register/get_register/${params}`, {
|
||||
method: 'GET',
|
||||
});
|
||||
}
|
||||
@ -225,6 +225,17 @@ export async function saveOffer(data: any) { // 自动报价保存
|
||||
* 根据id查询项目信息
|
||||
* @param id
|
||||
*/
|
||||
export function getProjectById(id: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectRecord/' + id);
|
||||
}
|
||||
export function getProjectById(id: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectRecord/' + id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 加密后的查看报价详情跳转地址
|
||||
* @param params
|
||||
*/
|
||||
export function getOfferUrl(params: any) {
|
||||
return request('/api/biz-service-ebtp-extend/v1/singlePoint/getSsoUrlByPage', {
|
||||
method: 'GET',
|
||||
params: params,
|
||||
});
|
||||
}
|
Reference in New Issue
Block a user