5.25 公开比选一阶段二次项目,资格审查合格供应商为一家时可增加自定义流程
This commit is contained in:
@ -407,7 +407,7 @@ const Index: React.FC<{}> = () => {
|
||||
}
|
||||
</Select >
|
||||
const footer = chooseTurn ? { footer: <Button type='primary' onClick={() => closeFc()}>关闭</Button> } : {};
|
||||
|
||||
|
||||
const closeFc = async () => {
|
||||
chooseGysSet(false);
|
||||
chooseTurnSet(false);
|
||||
@ -555,11 +555,14 @@ const Index: React.FC<{}> = () => {
|
||||
let url = makeUrl(item2.moduleUrl, leader) + `?turnId=${item2.instTurnId}&nodeId=${item2.id}&turnSort=${item2.instTurnSort}`;
|
||||
//报价评审 只有评审分工分到的专家能点
|
||||
let offerDis = item2.moduleUrl === '/EvaRoom/Eva/BidOffer' && userId != offerUserId;
|
||||
//是否跳过节点 0-不跳过 1-跳过节点
|
||||
let skipStatus = item2.skipStatus == 1;
|
||||
let disabled = item2.status == 3 ||
|
||||
item2.moduleUrl == null ||
|
||||
item2.moduleUrl == undefined ||
|
||||
offerDis ||
|
||||
singDis
|
||||
singDis ||
|
||||
skipStatus
|
||||
return (
|
||||
<Menu.Item
|
||||
key={`${item.instTurnSort}${index}MenuItem`}
|
||||
|
@ -424,7 +424,7 @@ class manager extends PureComponent {
|
||||
</Button>
|
||||
</Popconfirm>
|
||||
{
|
||||
this.methodStatus().visible &&
|
||||
(this.methodStatus().visible || (record.bxOneSecondProjectStatus && record.instFlowType == 2)) &&
|
||||
<Button type="text" key="7"
|
||||
onClick={() => { this.flowConfig(record) }}
|
||||
hidden={btnAuthority(["ebtp-agency-project-manager", "ebtp-purchase"]) || proMethod == 'procurement_mode_9'}>
|
||||
|
@ -4,7 +4,7 @@ import '@/assets/ld_style.less';
|
||||
import { checkShowData, getSupplierScoreData } from '../service';
|
||||
import { CheckOutlined, CloseOutlined } from '@ant-design/icons';
|
||||
import { getProMethod, getRoomId } from '@/utils/session';
|
||||
import { getURLInformation } from '@/utils/CommonUtils';
|
||||
import { getURLInformation, isNotEmpty } from '@/utils/CommonUtils';
|
||||
import ExtendUpload from '@/utils/ExtendUpload';
|
||||
import MACAddressPrompt from '@/pages/Evaluation/BidControl/BidControlManager/components/MACAddressPrompt';
|
||||
|
||||
@ -32,6 +32,8 @@ const PreliminarySummary: React.FC<BidPreliminarySummaryProps> = (props) => {
|
||||
const [isShowFoot, setIsShowFoot] = useState<boolean>(false);
|
||||
//说明文件fileId
|
||||
const [fileId, setFileId] = useState<string>('');
|
||||
//比选一阶段二次项目自定义评审流程单选数值存储
|
||||
const [processValue, setProcessValue] = useState<number>();
|
||||
//每页显示数量常量
|
||||
const pageSize = 3;
|
||||
const { TextArea } = Input;
|
||||
@ -55,6 +57,10 @@ const PreliminarySummary: React.FC<BidPreliminarySummaryProps> = (props) => {
|
||||
const radioOnChange = (e: any) => {
|
||||
setRadioValue(e.target.value);
|
||||
};
|
||||
//流程单选onChange方法
|
||||
const processOnChange = (e: any) => {
|
||||
setProcessValue(e.target.value);
|
||||
};
|
||||
//截取字符串方法
|
||||
const getCaption = (obj: any) => {
|
||||
var index = obj.lastIndexOf("\-");
|
||||
@ -225,13 +231,14 @@ const PreliminarySummary: React.FC<BidPreliminarySummaryProps> = (props) => {
|
||||
};
|
||||
|
||||
const getFooterData = () => {
|
||||
checkShowData(getRoomId()).then(response => {
|
||||
checkShowData(getRoomId(), getURLInformation('nodeId')).then(response => {
|
||||
if (response?.code == 200) {
|
||||
if (response?.data == undefined) { } else {
|
||||
setIsShowFoot(true)
|
||||
setRadioValue(response.data?.continueStatus)
|
||||
if (response.data?.continueStatus == 1) {
|
||||
setFileId(response.data?.fileId)
|
||||
setProcessValue(response?.data?.customizeFlowStatus);
|
||||
form.setFieldsValue({
|
||||
remarks: response.data?.remarks
|
||||
})
|
||||
@ -282,15 +289,22 @@ const PreliminarySummary: React.FC<BidPreliminarySummaryProps> = (props) => {
|
||||
{isShowFoot ? (
|
||||
<div>
|
||||
<div style={{ margin: '8px 0px' }}>
|
||||
<span style={{ color: '#b30000' }}>合格供应商不足三家,是否继续进行详审:</span>
|
||||
<span style={{ color: '#b30000' }}>{isNotEmpty(processValue) ? '合格供应商仅一家,是否继续进行' : '合格供应商不足三家,是否继续进行详审'}:</span>
|
||||
<Radio.Group onChange={radioOnChange} value={radioValue} disabled>
|
||||
<Radio value={1}>是,继续进行</Radio>
|
||||
<Radio value={0}>否,终止评审</Radio>
|
||||
</Radio.Group>
|
||||
</div>
|
||||
{isNotEmpty(processValue) && <div style={{ margin: '8px 70px' }}>
|
||||
<span style={{ color: '#b30000' }}>是否需自定义评审流程:</span>
|
||||
<Radio.Group onChange={processOnChange} value={processValue} disabled>
|
||||
<Radio value={1}>是,需自定义评审流程</Radio>
|
||||
<Radio value={0}>否,继续原流程</Radio>
|
||||
</Radio.Group>
|
||||
</div>}
|
||||
<Form {...layout} form={form} name="control-hooks" validateMessages={validateMessages}>
|
||||
<Form.Item name="remarks" label="说明" hidden={radioValue == 0}>
|
||||
<TextArea maxLength={500} readOnly bordered={false} style={{ resize: 'none' }} />
|
||||
<TextArea maxLength={500} readOnly bordered={false} autoSize />
|
||||
</Form.Item>
|
||||
<Form.Item name="fileId" label="说明文件" hidden={radioValue == 0}>
|
||||
<ExtendUpload bid={fileId} uploadProps={{ disabled: true }} />
|
||||
|
@ -81,9 +81,9 @@ export function getAbstractVO(params: any) {
|
||||
* 初审汇总表-提交汇总后回显少于三家判断数据
|
||||
* @param params
|
||||
*/
|
||||
export async function checkShowData(params: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/bid/early/warn/room/${params}`,{
|
||||
method: 'GET'
|
||||
export async function checkShowData(params: any, nodeId: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/bid/early/warn/room/${params}?nodeId=${nodeId}`, {
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ export async function checkShowData(params: any) {
|
||||
* 根据评审室id获取评审室信息
|
||||
* @param params
|
||||
*/
|
||||
export async function getRoomDataById(params: any) {
|
||||
export async function getRoomDataById(params: any) {
|
||||
return request(`/api/biz-service-ebtp-process/v1/bizassessroom/${params}`, {
|
||||
method: 'GET',
|
||||
});
|
||||
|
@ -13,10 +13,12 @@ interface BidPreliminarySummaryProps {
|
||||
reload: any;
|
||||
readOnly: boolean;
|
||||
summaryRef: React.MutableRefObject<Array<{}> | undefined>
|
||||
isBxOneSecond: boolean;
|
||||
isNodeEnd: boolean;
|
||||
}
|
||||
|
||||
const BidPreliminarySummary: React.FC<BidPreliminarySummaryProps> = (props) => {
|
||||
const { totalSupplier, onSubmit, reload, readOnly, summaryRef } = props;
|
||||
const { totalSupplier, onSubmit, reload, readOnly, summaryRef, isBxOneSecond, isNodeEnd } = props;
|
||||
//存储表
|
||||
// const [scheduleTable, setScheduleTable] = useState<any>();
|
||||
const [scheduleTable, setScheduleTable] = useState<boolean>(false);
|
||||
@ -90,11 +92,7 @@ const BidPreliminarySummary: React.FC<BidPreliminarySummaryProps> = (props) => {
|
||||
count = count + 1;
|
||||
}
|
||||
});
|
||||
if (count < 3 && res.data == true) {
|
||||
onSubmit(true)
|
||||
} else {
|
||||
onSubmit(false)
|
||||
}
|
||||
onSubmit(count);
|
||||
}
|
||||
});
|
||||
//调用数据处理方法并初始化表格
|
||||
@ -298,16 +296,14 @@ const BidPreliminarySummary: React.FC<BidPreliminarySummaryProps> = (props) => {
|
||||
tableDataRef.current[tableDataRef.current.length - 1][ele.supplierRegisterId].judgesResult = !!e;
|
||||
setTableDataSource([...tableDataRef.current])
|
||||
if (isShowRef.current) {
|
||||
let count = 0;
|
||||
totalSupplier.forEach((ele: any) => {
|
||||
if (tableDataRef.current[tableDataRef.current.length - 1][ele.supplierRegisterId].judgesResult) {
|
||||
count = count + 1;
|
||||
}
|
||||
});
|
||||
if (count < 3) {
|
||||
onSubmit(true)
|
||||
} else {
|
||||
onSubmit(false)
|
||||
if (isBxOneSecond && isNodeEnd) { } else {//公开比选一阶段二次项目 节点结束
|
||||
let count = 0;
|
||||
totalSupplier.forEach((ele: any) => {
|
||||
if (tableDataRef.current[tableDataRef.current.length - 1][ele.supplierRegisterId].judgesResult) {
|
||||
count = count + 1;
|
||||
}
|
||||
});
|
||||
onSubmit(count);
|
||||
}
|
||||
}
|
||||
}}
|
||||
|
@ -70,8 +70,14 @@ const Index: React.FC<{}> = () => {
|
||||
const [uploadId, setUploadId] = useState<any>();
|
||||
//单选数值存储
|
||||
const [radioValue, setRadioValue] = useState<number>();
|
||||
//是否显示合格供应商不足三家
|
||||
const [isShowFoot, setIsShowFoot] = useState<boolean>(false);
|
||||
//比选一阶段二次项目自定义评审流程单选数值存储
|
||||
const [processValue, setProcessValue] = useState<number>();
|
||||
//合格供应商数量
|
||||
const [qualifyNumber, setQualifyNumber] = useState<number>(3);
|
||||
//是否公开比选一阶段二次项目
|
||||
const [isBxOneSecond, setIsBxOneSecond] = useState<boolean>(false);
|
||||
//二次项目是否可编辑两个单选
|
||||
const [isNodeEnd, setIsNodeEnd] = useState<boolean>(false);
|
||||
//动态获取表单
|
||||
const [form] = Form.useForm();
|
||||
//当前页 初审详情
|
||||
@ -86,6 +92,7 @@ const Index: React.FC<{}> = () => {
|
||||
showNameT = { tbr: '投标人', pb: '评标', tb: '投标' };
|
||||
} else {
|
||||
showNameT = { tbr: '供应商', pb: '评审', tb: '应答' }
|
||||
|
||||
}
|
||||
|
||||
const columns: any[] = [ // 列表数据
|
||||
@ -712,7 +719,7 @@ const Index: React.FC<{}> = () => {
|
||||
}
|
||||
|
||||
const finalSubmit = async () => {
|
||||
if (isShowFoot == true) {
|
||||
if (qualifyNumber < 3) {
|
||||
form.submit();
|
||||
} else {
|
||||
const remarkList = getRemarkList(ref.current)
|
||||
@ -810,6 +817,10 @@ const Index: React.FC<{}> = () => {
|
||||
const radioOnChange = (e: any) => {
|
||||
setRadioValue(e.target.value);
|
||||
};
|
||||
//流程单选onChange方法
|
||||
const processOnChange = (e: any) => {
|
||||
setProcessValue(e.target.value);
|
||||
};
|
||||
//表单提交
|
||||
const onFinish = async (values: any) => {
|
||||
let data = {
|
||||
@ -818,6 +829,12 @@ const Index: React.FC<{}> = () => {
|
||||
if (radioValue == 1) {
|
||||
data["remarks"] = values.remarks
|
||||
data["fileId"] = values.fileId
|
||||
if (isBxOneSecond && qualifyNumber == 1) {//比选一阶段二次项目 只有一家供应商合格
|
||||
data["operationType"] = 1
|
||||
data["customizeFlowStatus"] = processValue
|
||||
} else {
|
||||
data["operationType"] = 0
|
||||
}
|
||||
}
|
||||
const remarkList = getRemarkList(ref.current)
|
||||
if (remarkList) {
|
||||
@ -864,10 +881,13 @@ const Index: React.FC<{}> = () => {
|
||||
if (res?.code == 200) {
|
||||
setTableDisplay(res.data)
|
||||
//初始化三家供应商判断数据
|
||||
await checkShowData(assessRoomId).then(response => {
|
||||
await checkShowData(assessRoomId, getURLInformation('nodeId')).then(response => {
|
||||
if (response?.code == 200) {
|
||||
setUploadId(response?.data?.fileId)
|
||||
setRadioValue(response?.data?.continueStatus == undefined ? 1 : response?.data?.continueStatus)
|
||||
setProcessValue(response?.data?.customizeFlowStatus == undefined ? 1 : response?.data?.customizeFlowStatus);
|
||||
setIsBxOneSecond(response?.data?.bxOneSecondProjectStatus);
|
||||
setIsNodeEnd(response?.data?.nodeEndStatus);
|
||||
form.setFieldsValue({
|
||||
remarks: response.data?.remarks
|
||||
})
|
||||
@ -914,17 +934,24 @@ const Index: React.FC<{}> = () => {
|
||||
<>
|
||||
<p className="red mb0">初审结果汇总表</p>
|
||||
<BidPreliminarySummary readOnly={reviewStatus == 2 || reviewStatus == 3} summaryRef={ref} reload={count} totalSupplier={totalSupplierColumns} onSubmit={(value) => {
|
||||
setIsShowFoot(value)
|
||||
}} />
|
||||
{isShowFoot ? (
|
||||
setQualifyNumber(value);
|
||||
}} isBxOneSecond={isBxOneSecond} isNodeEnd={isNodeEnd} />
|
||||
{qualifyNumber < 3 ? (
|
||||
<div>
|
||||
<div style={{ margin: '8px 0px' }}>
|
||||
<span style={{ color: '#b30000' }}>合格供应商不足三家,是否继续进行详审:</span>
|
||||
<Radio.Group onChange={radioOnChange} value={radioValue} disabled={reviewStatus == 2 || reviewStatus == 3}>
|
||||
<span style={{ color: '#b30000' }}>{qualifyNumber == 1 && isBxOneSecond ? '合格供应商仅一家,是否继续进行' : '合格供应商不足三家,是否继续进行详审'}:</span>
|
||||
<Radio.Group onChange={radioOnChange} value={radioValue} disabled={reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd)}>
|
||||
<Radio value={1}>是,继续进行</Radio>
|
||||
<Radio value={0}>否,终止评审</Radio>
|
||||
</Radio.Group>
|
||||
</div>
|
||||
{qualifyNumber == 1 && isBxOneSecond && radioValue == 1 && <div style={{ margin: '8px 70px' }}>
|
||||
<span style={{ color: '#b30000' }}>是否需自定义评审流程:</span>
|
||||
<Radio.Group onChange={processOnChange} value={processValue} disabled={reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd)}>
|
||||
<Radio value={1}>是,需自定义评审流程</Radio>
|
||||
<Radio value={0}>否,继续原流程</Radio>
|
||||
</Radio.Group>
|
||||
</div>}
|
||||
<Form
|
||||
{...layout}
|
||||
form={form}
|
||||
@ -935,12 +962,12 @@ const Index: React.FC<{}> = () => {
|
||||
<Form.Item
|
||||
name="remarks"
|
||||
label="说明"
|
||||
rules={[{ required: !(reviewStatus == 2 || reviewStatus == 3) && radioValue == 1 }]}
|
||||
rules={[{ required: !(reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd)) && radioValue == 1 }]}
|
||||
hidden={radioValue == 0}
|
||||
>
|
||||
<TextArea maxLength={500} disabled={reviewStatus == 2 || reviewStatus == 3} placeholder="请填写说明" style={{ resize: reviewStatus == 2 || reviewStatus == 3 ? 'none' : 'vertical' }} />
|
||||
<TextArea maxLength={500} disabled={reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd)} bordered={!(reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd))} placeholder="请填写说明" rows={3} autoSize={reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd)} />
|
||||
</Form.Item>
|
||||
{reviewStatus == 2 || reviewStatus == 3 ? (
|
||||
{reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd) ? (
|
||||
<Form.Item
|
||||
name="fileId"
|
||||
label="说明文件"
|
||||
|
@ -92,7 +92,7 @@ export async function submQualified(data: any) { // 全部合格
|
||||
}
|
||||
|
||||
export async function getMemberInfo(id: any) { // 评审解锁
|
||||
return request('/api/biz-service-ebtp-rsms/v1/jury/member/info/'+id, {
|
||||
return request('/api/biz-service-ebtp-rsms/v1/jury/member/info/' + id, {
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
@ -116,8 +116,8 @@ export async function getUnlock(data: any) { // 评审解锁
|
||||
* @param params
|
||||
*/
|
||||
export async function getJuryList(params: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/member/info/${params}`,{
|
||||
method: 'GET',
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/jury/member/info/${params}`, {
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
||||
|
||||
@ -126,9 +126,9 @@ export async function getJuryList(params: any) {
|
||||
* @param params
|
||||
*/
|
||||
export async function getJuryScoreData(params: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/bid/eval/summary/findProgressSummary`,{
|
||||
method: 'POST',
|
||||
data: params
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/bid/eval/summary/findProgressSummary`, {
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
@ -137,9 +137,9 @@ export async function getJuryScoreData(params: any) {
|
||||
* @param params
|
||||
*/
|
||||
export async function getSupplierScoreData(params: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/bid/eval/summary/findScoreEarlySummary`,{
|
||||
method: 'POST',
|
||||
data: params
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/bid/eval/summary/findScoreEarlySummary`, {
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
@ -148,9 +148,9 @@ export async function getSupplierScoreData(params: any) {
|
||||
* @param params
|
||||
*/
|
||||
export async function submitSummary(params: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/bid/eval/summary/submitSummary`,{
|
||||
method: 'POST',
|
||||
data: params
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/bid/eval/summary/submitSummary`, {
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
@ -159,9 +159,9 @@ export async function submitSummary(params: any) {
|
||||
* @param params
|
||||
*/
|
||||
export async function isStatus(params: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/bid/eval/category/findAllJudgesStatus`,{
|
||||
method: 'GET',
|
||||
params: params
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/bid/eval/category/findAllJudgesStatus`, {
|
||||
method: 'GET',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
/**
|
||||
@ -169,8 +169,8 @@ export async function isStatus(params: any) {
|
||||
* @param params
|
||||
*/
|
||||
export async function isCheckShow(params: any) {
|
||||
return request(`/api/biz-service-ebtp-process/v1/process/check/effective/supplier/${params}`,{
|
||||
method: 'GET'
|
||||
return request(`/api/biz-service-ebtp-process/v1/process/check/effective/supplier/${params}`, {
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
@ -178,14 +178,14 @@ export async function isCheckShow(params: any) {
|
||||
* 初审汇总表-提交汇总后回显少于三家判断数据
|
||||
* @param params
|
||||
*/
|
||||
export async function checkShowData(params: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/bid/early/warn/room/${params}`,{
|
||||
method: 'GET'
|
||||
export async function checkShowData(params: any, nodeId: any) {
|
||||
return request(`/api/biz-service-ebtp-rsms/v1/bid/early/warn/room/${params}?nodeId=${nodeId}`, {
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
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',
|
||||
});
|
||||
}
|
@ -14,6 +14,7 @@ const layout = {
|
||||
const Index: React.FC<{}> = () => {
|
||||
const [packageList, setPackageList] = useState([]);
|
||||
const method = getProMethod()
|
||||
const roomId = getRoomId()
|
||||
const actionRef = useRef<ActionType>();
|
||||
const [count, countSet] = useState<any>(0);//触发useEffect
|
||||
const [maxturndata, maxturn] = useState<any>([]); //最大轮次
|
||||
@ -45,6 +46,9 @@ const Index: React.FC<{}> = () => {
|
||||
title: '操作',
|
||||
width: '25%',
|
||||
render: (text: any, record: any, index: any) => {
|
||||
if (record.skipStatus == 1) {//跳过节点
|
||||
return null
|
||||
}
|
||||
if (record.instTurnType == 2) {
|
||||
if (record.nowTurnStatus == 1) {
|
||||
// 只要轮次处于进行中时,改模块不可‘删除’
|
||||
@ -182,13 +186,13 @@ const Index: React.FC<{}> = () => {
|
||||
}
|
||||
// 删除轮次
|
||||
const delTurn = async (turnId: any) => {
|
||||
countSet(count + 1);
|
||||
const hide = message.loading('正在删除');
|
||||
try {
|
||||
const success = await deleteTurn(turnId).then((res) => res?.code == 200);
|
||||
hide();
|
||||
if (success) {
|
||||
message.success('删除成功');
|
||||
countSet(count + 1);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
@ -203,13 +207,13 @@ const Index: React.FC<{}> = () => {
|
||||
|
||||
//删除模块
|
||||
const delNode = async (nodeId: any) => {
|
||||
countSet(count + 1);
|
||||
const hide = message.loading('正在删除');
|
||||
try {
|
||||
const success = await deleteNode(nodeId).then((res) => res?.code == 200);
|
||||
hide();
|
||||
if (success) {
|
||||
message.success('删除成功');
|
||||
countSet(count + 1);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
@ -222,7 +226,6 @@ const Index: React.FC<{}> = () => {
|
||||
}
|
||||
};
|
||||
useEffect(() => {
|
||||
let roomId = getRoomId()
|
||||
getConfigList(roomId).then((res) => {
|
||||
if (res?.code == 200) {
|
||||
setPackageList(res.data)
|
||||
@ -234,21 +237,24 @@ const Index: React.FC<{}> = () => {
|
||||
maxturn(res.data)
|
||||
}
|
||||
})
|
||||
getNodeList("TP").then((res) => {
|
||||
if (res?.code == 200) {
|
||||
allNodeList(res.data)
|
||||
}
|
||||
})
|
||||
getAssessRoom(roomId).then((res) => {
|
||||
if (res?.code == 200) {
|
||||
setAssessRoom(res.data)
|
||||
}
|
||||
})
|
||||
setTimeout(() => {
|
||||
countSet(count + 1);
|
||||
}, 4000)
|
||||
}, [count]);
|
||||
|
||||
useEffect(() => {
|
||||
getAssessRoom(roomId).then((res) => {
|
||||
if (res?.code == 200) {
|
||||
setAssessRoom(res.data)
|
||||
getNodeList(res?.data?.bxOneSecondProjectStatus ? "BX2nd" : "TP").then((res) => {
|
||||
if (res?.code == 200) {
|
||||
allNodeList(res.data)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}, [])
|
||||
|
||||
function methodStatus() {
|
||||
let procurementMethod;
|
||||
switch (method) {
|
||||
|
@ -160,7 +160,7 @@ export function getUserToken() {
|
||||
/**
|
||||
* 获取session userRefreshToken
|
||||
*/
|
||||
export function getUserRefreshToken() {
|
||||
export function getUserRefreshToken() {
|
||||
let userRefreshToken: any | null = sessionStorage.getItem('refreshToken');
|
||||
return userRefreshToken;
|
||||
}
|
||||
@ -168,7 +168,7 @@ export function getUserToken() {
|
||||
/**
|
||||
* 获取session userScope
|
||||
*/
|
||||
export function getUserScope() {
|
||||
export function getUserScope() {
|
||||
let userScope: any | null = sessionStorage.getItem('scope');
|
||||
return userScope;
|
||||
}
|
||||
@ -246,7 +246,8 @@ export async function jurySaveInfo(record: any) {
|
||||
}));
|
||||
sessionStorage.setItem('roomId', record.id);
|
||||
sessionStorage.setItem("groupId", record.chatGroupId)
|
||||
sessionStorage.setItem("expertGroupId",record.expertChatGroupId)
|
||||
sessionStorage.setItem("expertGroupId", record.expertChatGroupId)
|
||||
sessionStorage.setItem("roomTypeByEva", record.roomType)
|
||||
await getQuotationMethodById(record.id)
|
||||
}
|
||||
|
||||
@ -270,7 +271,7 @@ export interface projectDataItem {
|
||||
isIPassFile?: string
|
||||
projectName?: string
|
||||
openTenderForm?: string
|
||||
returnURL?:string
|
||||
returnURL?: string
|
||||
}
|
||||
|
||||
/**
|
||||
@ -301,7 +302,7 @@ export function followUpAProjectManager(projectData: projectDataItem): Promise<b
|
||||
export function followUpAProjectSupplier(projectData: projectDataItem): Promise<boolean> {
|
||||
removePurchaseCanOperate();
|
||||
return new Promise<boolean>(resolve => {
|
||||
if(projectData?.id == undefined || projectData?.id == null) {
|
||||
if (projectData?.id == undefined || projectData?.id == null) {
|
||||
message.error("项目数据错误,无法获取流程,请联系管理员")
|
||||
} else {
|
||||
getDefById(projectData?.id).then((res) => {
|
||||
@ -358,21 +359,21 @@ export function getPurchaseCanOperate() {
|
||||
/**
|
||||
* 设置session roleAuthority
|
||||
*/
|
||||
export function setPurchaseCanOperate() {
|
||||
export function setPurchaseCanOperate() {
|
||||
sessionStorage.setItem('purchaseCanOperate', '1');
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除session roleAuthority
|
||||
*/
|
||||
export function removePurchaseCanOperate() {
|
||||
export function removePurchaseCanOperate() {
|
||||
sessionStorage.removeItem('purchaseCanOperate');
|
||||
}
|
||||
/**
|
||||
* 获取returnURL
|
||||
* @returns
|
||||
*/
|
||||
export function getReturnURL () {
|
||||
export function getReturnURL() {
|
||||
let returnURL = sessionStorage.getItem('returnURL');
|
||||
return returnURL === null ? "" : returnURL;
|
||||
}
|
||||
@ -381,7 +382,7 @@ export function getReturnURL () {
|
||||
* 获取getRoomReturnURL
|
||||
* @returns
|
||||
*/
|
||||
export function getRoomReturnURL () {
|
||||
export function getRoomReturnURL() {
|
||||
let roomReturnURL = sessionStorage.getItem('roomReturnURL');
|
||||
return roomReturnURL === null ? "" : roomReturnURL;
|
||||
}
|
||||
@ -390,7 +391,7 @@ export function getReturnURL () {
|
||||
* 获取当前评审室对应标段的报价类型(只能在评审室内使用)
|
||||
* @returns
|
||||
*/
|
||||
export function getSectionQuot () {
|
||||
export function getSectionQuot() {
|
||||
let returnURL = sessionStorage.getItem('sectionQuot');
|
||||
return returnURL === null ? "0" : returnURL;
|
||||
}
|
||||
@ -401,15 +402,15 @@ export function getReturnURL () {
|
||||
* @returns 1-%(优惠率,折扣率) 0-元(总价,单价)
|
||||
*/
|
||||
export async function getQuotationMethodById(roomId: any) {
|
||||
if(roomId == undefined || roomId == '' || roomId == null) {
|
||||
if (roomId == undefined || roomId == '' || roomId == null) {
|
||||
message.error('参数缺失')
|
||||
return
|
||||
} else {
|
||||
await getRoomDataById(roomId).then(async res => {
|
||||
if(res?.code == 200 && res?.success == true) {
|
||||
if (res?.code == 200 && res?.success == true) {
|
||||
let roomData = res?.data
|
||||
await getSectionDataById(roomData?.sectionId).then(response => {
|
||||
if(response?.code == 200 && response?.success == true) {
|
||||
if (response?.code == 200 && response?.success == true) {
|
||||
let quotationMethodDict = response?.data?.quotationMethodDict
|
||||
let result = (quotationMethodDict == "quotation_method_2" || quotationMethodDict == "quotation_method_3") ? "1" : "0"
|
||||
sessionStorage.setItem("sectionQuot", result)//roomType存入session
|
||||
|
Reference in New Issue
Block a user