Merge branch 'master' of http://gitlab.tianti.tg.unicom.local/eshop/fe_service_ebtp_frontend into master_jnryy_customerservice
This commit is contained in:
@ -1,10 +1,10 @@
|
||||
import React, { useState, useRef, useEffect } from 'react';
|
||||
import { message, Modal, Col, Input, Form, Row, PageHeader, TreeSelect, Button, Spin, Upload } from 'antd';
|
||||
import ProTable, { ProColumns, ActionType } from '@ant-design/pro-table';
|
||||
import { proTableValueEnum, returnDictVal } from '@/utils/CommonUtils';
|
||||
import { multipleTypeTransform, proTableValueEnum, returnDictVal } from '@/utils/CommonUtils';
|
||||
import { getPage, agreeEntrust, queryEntrust, recallEntrust, refuseEntrust, aginstEntrust, assignEntrust, queryTree } from './service';
|
||||
import './styles.less';
|
||||
import { getDicData, getSessionUserData } from '@/utils/session';
|
||||
import { getDicData, getSessionRoleData, getSessionUserData } from '@/utils/session';
|
||||
import FileDown from '@/utils/Download';
|
||||
import { btnAuthority } from '@/utils/authority';
|
||||
import { downloadFile } from '@/utils/DownloadUtils';
|
||||
@ -144,6 +144,7 @@ const entrust: React.FC<{}> = () => {
|
||||
//获取字典
|
||||
const getDict: any = getDicData();
|
||||
const dictData = JSON.parse(getDict);
|
||||
const bidTypeMap = ["", "货物", "服务", "工程"];
|
||||
const modalHeight = window.innerHeight * 96 / 100;
|
||||
const FormItem = Form.Item;
|
||||
const [form] = Form.useForm();
|
||||
@ -177,6 +178,8 @@ const entrust: React.FC<{}> = () => {
|
||||
pageNo: 1,
|
||||
pageSize: 10
|
||||
});
|
||||
//当前登录人角色
|
||||
const roleCode = getSessionRoleData().roleCode;
|
||||
|
||||
//委托列表
|
||||
const columns: ProColumns<any>[] = [
|
||||
@ -184,9 +187,9 @@ const entrust: React.FC<{}> = () => {
|
||||
{ title: '委托方', dataIndex: 'purchaser', width: '10%', search: false },
|
||||
{ title: '项目名称', dataIndex: 'projectName', },
|
||||
{ title: '方案编号', dataIndex: 'projectNumber', width: '10%', search: false },
|
||||
{ title: '接收时间', dataIndex: 'createDate', width: '10%', valueType: 'dateTime', search: false },
|
||||
{ title: roleCode == "ebtp-purchase" ? '委托时间' : '接收时间', dataIndex: 'createDate', width: '10%', valueType: 'dateTime', search: false },
|
||||
{ title: '采购方式', dataIndex: 'procurementMode', width: '10%', valueEnum: proTableValueEnum(dictData['procurement_mode=entrust']) },
|
||||
{ title: '标的类型', dataIndex: 'procurementType', width: '10%', hideInTable: typeVisible, search: false, valueEnum: proTableValueEnum(dictData['procurement_type=entrust']) },
|
||||
{ title: '标的类型', dataIndex: 'procurementType', width: '10%', hideInTable: typeVisible, search: false, render: (_, record) => multipleTypeTransform(record.procurementType, proTableValueEnum(dictData['procurement_type=entrust'])) },
|
||||
{
|
||||
title: '状态', dataIndex: 'status', width: '10%',
|
||||
valueEnum: {
|
||||
@ -207,6 +210,7 @@ const entrust: React.FC<{}> = () => {
|
||||
{
|
||||
title: '操作', width: '12%',
|
||||
valueType: 'option',
|
||||
hideInTable: roleCode == "ebtp-purchase",//采购经理无操作列
|
||||
render: (_, record) => {
|
||||
if (record.status === 1) {
|
||||
return (
|
||||
@ -311,7 +315,7 @@ const entrust: React.FC<{}> = () => {
|
||||
form.setFieldsValue({
|
||||
...inquiry,
|
||||
inquiryModel: inquiry.inquiryModel == 0 ? '公开询价' : inquiry.inquiryModel == 1 ? '定向询价' : '',//询价模式
|
||||
bidType: inquiry.bidType == 1 ? '货物' : inquiry.bidType == 2 ? '服务' : inquiry.bidType == 3 ? '施工服务' : '',
|
||||
bidType: inquiry.bidType.split(",").map((item: string | number) => bidTypeMap[item]).join(),
|
||||
projectManagerName: data.projectManagerName,
|
||||
projectManagerPhone: data.projectManagerPhone,
|
||||
projectName: data.projectName,//项目名称
|
||||
@ -667,7 +671,7 @@ const entrust: React.FC<{}> = () => {
|
||||
}
|
||||
return (
|
||||
<Spin spinning={spin} key='spin'>
|
||||
<PageHeader title="委托管理" />
|
||||
<PageHeader title={roleCode == "ebtp-purchase" ? "查看委托记录" : "委托管理"} />
|
||||
<div style={{ maxHeight: innerHeight - 130, height: innerHeight - 130 }} className='xsy-entrust bgCWhite' key='fenpai-div'>
|
||||
<ProTable
|
||||
actionRef={actionRef}//action触发后更新表格
|
||||
@ -678,22 +682,26 @@ const entrust: React.FC<{}> = () => {
|
||||
className='tableSearch'
|
||||
size='small'
|
||||
search={{ labelWidth: 'auto', span: 6 }}
|
||||
request={(params) =>
|
||||
getPage({
|
||||
request={async (params) => {
|
||||
let params_1 = {
|
||||
...params,
|
||||
basePageRequest: { pageNo: pageData.pageNo, pageSize: pageData.pageSize },
|
||||
agencyCompany: getSessionUserData().organizationId//机构id
|
||||
}).then((res) => {
|
||||
const result = {
|
||||
data: res.data.records,
|
||||
total: res.data.total,
|
||||
success: res.success,
|
||||
pageSize: res.data.size,
|
||||
current: res.data.current
|
||||
}
|
||||
return result;
|
||||
})
|
||||
}
|
||||
}
|
||||
if (roleCode == "ebtp-purchase") {//采购经理
|
||||
params_1["purchasingManager"] = getSessionUserData().userId;//当前登录账号
|
||||
} else if (roleCode == "ebtp-agency-admin") {//代理机构管理员
|
||||
params_1["agencyCompany"] = getSessionUserData().organizationId //机构id
|
||||
}
|
||||
const res = await getPage(params_1);
|
||||
const result_1 = {
|
||||
data: res.data.records,
|
||||
total: res.data.total,
|
||||
success: res.success,
|
||||
pageSize: res.data.size,
|
||||
current: res.data.current
|
||||
};
|
||||
return result_1;
|
||||
}}
|
||||
pagination={{
|
||||
defaultPageSize: 10,
|
||||
showSizeChanger: false,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import React, { useState, useRef, useEffect } from 'react';
|
||||
import { message, Modal, Col, Input, Form, Row, PageHeader, Button, Spin, Upload } from 'antd';
|
||||
import ProTable, { ProColumns, ActionType } from '@ant-design/pro-table';
|
||||
import { proTableValueEnum, returnDictVal } from '@/utils/CommonUtils';
|
||||
import { multipleTypeTransform, proTableValueEnum, returnDictVal } from '@/utils/CommonUtils';
|
||||
import { getPage, agreeEntrust, queryEntrust, recallEntrust, refuseEntrust, aginstEntrust } from './service';
|
||||
import './styles.less';
|
||||
import { getDicData, getSessionUserData } from '@/utils/session';
|
||||
@ -111,6 +111,7 @@ const entrust: React.FC<{}> = () => {
|
||||
//获取字典
|
||||
const getDict: any = getDicData();
|
||||
const dictData = JSON.parse(getDict);
|
||||
const bidTypeMap = ["", "货物", "服务", "工程"];
|
||||
const { TextArea } = Input;
|
||||
const FormItem = Form.Item;
|
||||
const [form] = Form.useForm();
|
||||
@ -155,7 +156,7 @@ const entrust: React.FC<{}> = () => {
|
||||
{ title: '方案编号', dataIndex: 'projectNumber', width: '6%', search: false },
|
||||
{ title: '接收时间', dataIndex: 'createDate', width: '10%', valueType: 'dateTime', search: false },
|
||||
{ title: '采购方式', dataIndex: 'procurementMode', width: '6%', valueEnum: proTableValueEnum(dictData['procurement_mode=entrust']) },
|
||||
{ title: '标的类型', dataIndex: 'procurementType', width: '5%', hideInTable: typeVisible, search: false, valueEnum: proTableValueEnum(dictData['procurement_type=entrust']) },
|
||||
{ title: '标的类型', dataIndex: 'procurementType', width: '5%', hideInTable: typeVisible, search: false, render: (_, record) => multipleTypeTransform(record.procurementType, proTableValueEnum(dictData['procurement_type=entrust'])) },
|
||||
{
|
||||
title: '状态', dataIndex: 'status', width: '4%',
|
||||
valueEnum: {
|
||||
@ -241,7 +242,7 @@ const entrust: React.FC<{}> = () => {
|
||||
form.setFieldsValue({
|
||||
...inquiry,
|
||||
inquiryModel: inquiry.inquiryModel == 0 ? '公开询价' : inquiry.inquiryModel == 1 ? '定向询价' : '',//询价模式
|
||||
bidType: inquiry.bidType == 1 ? '货物' : inquiry.bidType == 2 ? '服务' : inquiry.bidType == 3 ? '施工服务' : '',
|
||||
bidType: inquiry.bidType.split(",").map((item: string | number) => bidTypeMap[item]).join(),
|
||||
projectManagerName: data.projectManagerName,
|
||||
projectManagerPhone: data.projectManagerPhone,
|
||||
projectName: data.projectName,//项目名称
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import React, { useState, useRef, useEffect } from 'react';
|
||||
import { Modal, Col, Input, Form, Row, PageHeader, Button, Spin, Upload } from 'antd';
|
||||
import ProTable, { ProColumns, ActionType } from '@ant-design/pro-table';
|
||||
import { proTableValueEnum, returnDictVal } from '@/utils/CommonUtils';
|
||||
import { multipleTypeTransform, proTableValueEnum, returnDictVal } from '@/utils/CommonUtils';
|
||||
import { getPage, queryEntrust } from './service';
|
||||
import './styles.less';
|
||||
import { getDicData, getSessionRoleData, getSessionUserData } from '@/utils/session';
|
||||
@ -15,6 +15,7 @@ const entrust: React.FC<{}> = () => {
|
||||
//获取字典
|
||||
const getDict: any = getDicData();
|
||||
const dictData = JSON.parse(getDict);
|
||||
const bidTypeMap = ["", "货物", "服务", "工程"];
|
||||
const { TextArea } = Input;
|
||||
const FormItem = Form.Item;
|
||||
const [form] = Form.useForm();
|
||||
@ -47,7 +48,7 @@ const entrust: React.FC<{}> = () => {
|
||||
{ title: '接收时间', dataIndex: 'receiveTime', width: '10%', valueType: 'dateTime', search: false },
|
||||
{ title: '撤回时间', dataIndex: 'createDate', width: '10%', valueType: 'dateTime', search: false },
|
||||
{ title: '采购方式', dataIndex: 'procurementMode', width: '6%', valueEnum: proTableValueEnum(dictData['procurement_mode=entrust']) },
|
||||
{ title: '标的类型', dataIndex: 'procurementType', width: '5%', search: false, valueEnum: proTableValueEnum(dictData['procurement_type=entrust']) },
|
||||
{ title: '标的类型', dataIndex: 'procurementType', width: '5%', search: false, render: (_, record) => multipleTypeTransform(record.procurementType, proTableValueEnum(dictData['procurement_type=entrust'])) },
|
||||
{
|
||||
title: '操作', width: '4%',
|
||||
valueType: 'option',
|
||||
@ -102,7 +103,7 @@ const entrust: React.FC<{}> = () => {
|
||||
form.setFieldsValue({
|
||||
...inquiry,
|
||||
inquiryModel: inquiry.inquiryModel == 0 ? '公开询价' : inquiry.inquiryModel == 1 ? '定向询价' : '',//询价模式
|
||||
bidType: inquiry.bidType == 1 ? '货物' : inquiry.bidType == 2 ? '服务' : inquiry.bidType == 3 ? '施工服务' : '',
|
||||
bidType: inquiry.bidType.split(",").map((item: string | number) => bidTypeMap[item]).join(),
|
||||
projectManagerName: data.projectManagerName,
|
||||
projectManagerPhone: data.projectManagerPhone,
|
||||
projectName: data.projectName,//项目名称
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getUrlRelativePath, isEmpty, isNotEmpty, proTableValueEnum } from '@/utils/CommonUtils';
|
||||
import { getUrlRelativePath, isEmpty, isNotEmpty, multipleTypeTransform, proTableValueEnum } from '@/utils/CommonUtils';
|
||||
import { followUpAProjectManager, getDicData, setPurchaseCanOperate } from '@/utils/session';
|
||||
import ProTable, { ProColumns } from '@ant-design/pro-table';
|
||||
import { Button, Spin } from 'antd';
|
||||
@ -45,15 +45,15 @@ const ProjectManage: React.FC<ProjectManageProps> = (props) => {
|
||||
{
|
||||
title: '采购方式',
|
||||
dataIndex: 'bidMethodDict',
|
||||
|
||||
|
||||
width: '7.5%',
|
||||
valueEnum: proTableValueEnum(dictData[procurementModeEntrust]),
|
||||
initialValue: isNotEmpty(bidMethodDict) ? bidMethodDict : null ,
|
||||
initialValue: isNotEmpty(bidMethodDict) ? bidMethodDict : null,
|
||||
},
|
||||
{
|
||||
title: '项目名称',
|
||||
dataIndex: 'projectName',
|
||||
initialValue: isNotEmpty(projectName) ? projectName : null ,
|
||||
initialValue: isNotEmpty(projectName) ? projectName : null,
|
||||
},
|
||||
{
|
||||
title: '项目编号',
|
||||
@ -78,7 +78,7 @@ const ProjectManage: React.FC<ProjectManageProps> = (props) => {
|
||||
dataIndex: 'procurementType',
|
||||
width: '5%',
|
||||
search: false,
|
||||
valueEnum: proTableValueEnum(dictData[procurementTypeEntrust]),
|
||||
render: (_, record) => multipleTypeTransform(record.procurementType, proTableValueEnum(dictData[procurementTypeEntrust])),
|
||||
},
|
||||
{
|
||||
title: '所属区域',
|
||||
@ -161,7 +161,7 @@ const ProjectManage: React.FC<ProjectManageProps> = (props) => {
|
||||
}
|
||||
pagination={{
|
||||
defaultPageSize: 10,
|
||||
defaultCurrent: isNotEmpty(current) ? Number(current) : 1 ,
|
||||
defaultCurrent: isNotEmpty(current) ? Number(current) : 1,
|
||||
size: "small",
|
||||
showSizeChanger: false,
|
||||
onChange: (page, pageSize) => pageDataSet({ pageNo: page, pageSize: pageSize }),
|
||||
|
||||
@ -5,29 +5,29 @@ import request from '@/utils/request';
|
||||
* @param params
|
||||
*/
|
||||
export async function getPackageDividedList(params: any) {
|
||||
return request("/api/biz-service-ebtp-project/v1/projectSection/getPage",{
|
||||
method: 'POST',
|
||||
data: {
|
||||
...params,
|
||||
basePageRequest:{
|
||||
"pageNum":params.current,
|
||||
"pageSize":params.pageSize
|
||||
}
|
||||
},
|
||||
return request("/api/biz-service-ebtp-project/v1/projectSection/getPage", {
|
||||
method: 'POST',
|
||||
data: {
|
||||
...params,
|
||||
basePageRequest: {
|
||||
"pageNum": params.current,
|
||||
"pageSize": params.pageSize
|
||||
}
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改标段信息
|
||||
* @method PUT
|
||||
* @method POST
|
||||
* @param params
|
||||
*/
|
||||
export async function updateForm(params: any) {
|
||||
return request("/api/biz-service-ebtp-project/v1/projectSection",{
|
||||
method: 'PUT',
|
||||
data: {
|
||||
...params,
|
||||
},
|
||||
return request("/api/biz-service-ebtp-project/v1/projectSection/update", {
|
||||
method: 'POST',
|
||||
data: {
|
||||
...params,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
@ -44,10 +44,10 @@ export async function getDictList() {
|
||||
* @param params
|
||||
*/
|
||||
export async function getChooseProcess(params: any) {
|
||||
return request("/api/biz-service-ebtp-project/v1/dictchooseprocess/getList",{
|
||||
method: 'POST',
|
||||
data: {
|
||||
...params,
|
||||
},
|
||||
return request("/api/biz-service-ebtp-project/v1/dictchooseprocess/getList", {
|
||||
method: 'POST',
|
||||
data: {
|
||||
...params,
|
||||
},
|
||||
})
|
||||
}
|
||||
@ -1,8 +1,11 @@
|
||||
import ApprovalModal from '@/components/ApprovalModal';
|
||||
import BidEvalAppointment from '@/components/ElecBidEvaluation/BidEvalAppointment';
|
||||
import { btnAuthority } from '@/utils/authority';
|
||||
import { checkObjectId } from '@/utils/DownloadUtils';
|
||||
import { getProMethod } from '@/utils/session';
|
||||
import { InfoCircleOutlined } from '@ant-design/icons';
|
||||
import ProTable, { ActionType, ProColumns } from '@ant-design/pro-table';
|
||||
import { Button, Drawer, message, Popconfirm } from 'antd';
|
||||
import { Button, Drawer, message, Modal, Popconfirm } from 'antd';
|
||||
import React, { useEffect, useRef, useState } from 'react';
|
||||
import {
|
||||
checkedAddAfresh,
|
||||
@ -23,6 +26,7 @@ interface MoreEvaluationProps {
|
||||
}
|
||||
|
||||
const drawerWidth = window.innerWidth - 208;
|
||||
const { confirm } = Modal;
|
||||
|
||||
const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
||||
const { title, drawerVisible, onCancel, values } = props;
|
||||
@ -42,6 +46,10 @@ const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
||||
const [sectionType, setSectionType] = useState<any>('评审');
|
||||
//loading
|
||||
const [loading, setLoading] = useState<boolean>(false);
|
||||
//电子评标室-评标室预约选择 2022.9.8 zhoujianlong
|
||||
const [selectEvalVisible, setSelectEvalVisible] = useState<boolean>(false);
|
||||
const [approvalViewVisible, setApprovalViewVisible] = useState<boolean>(false);//查看审批流程弹窗
|
||||
const [approvalViewUrl, setApprovalViewUrl] = useState<string>("");//查看审批流程参数-url
|
||||
|
||||
const toAdd = async () => {
|
||||
await checkedAddAfresh(values.id).then((res) => {
|
||||
@ -81,6 +89,24 @@ const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
||||
setLoading(false);
|
||||
});
|
||||
};
|
||||
//是否预约评标室
|
||||
const isReserve = async (record: any) => {
|
||||
confirm({
|
||||
title: '是否预约评标室?',
|
||||
icon: <InfoCircleOutlined />,
|
||||
okText: '不预约',
|
||||
cancelText: '预约',
|
||||
okType: 'danger',
|
||||
centered: true,
|
||||
onOk() {
|
||||
toTakeEffect(record);
|
||||
},
|
||||
onCancel() {
|
||||
setRecordData(record);
|
||||
setSelectEvalVisible(true);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
//生效
|
||||
const toTakeEffect = async (record: any) => {
|
||||
@ -101,8 +127,9 @@ const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
||||
if (res?.code == 200 && res?.success == true) {
|
||||
const data = res?.data;
|
||||
let durl = /http:\/\/([^\/]+)\//i;
|
||||
let d = data?.traceDetailUrl?.replace(durl, '/');
|
||||
window.open(d);
|
||||
let d = data?.replace(durl, '/');
|
||||
setApprovalViewUrl(d);
|
||||
setApprovalViewVisible(true);
|
||||
}
|
||||
}).finally(() => {
|
||||
setLoading(false);
|
||||
@ -209,7 +236,7 @@ const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
||||
<a
|
||||
key="3"
|
||||
hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])}
|
||||
onClick={() => toTakeEffect(record)}
|
||||
onClick={() => isReserve(record)}
|
||||
>
|
||||
生效
|
||||
</a>
|
||||
@ -340,6 +367,9 @@ const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
||||
values={values}
|
||||
data={recordData}
|
||||
/>
|
||||
{/**电子评标室-评标室预约选择 */}
|
||||
<BidEvalAppointment modalVisible={selectEvalVisible} onCancel={() => { setSelectEvalVisible(false), setRecordData(undefined) }} onSubmit={() => { }} values={recordData} type={"2"} reload={() => { actionRef.current?.reload?.(); }} />
|
||||
<ApprovalModal modalVisible={approvalViewVisible} onCancel={() => { setApprovalViewVisible(false) }} url={approvalViewUrl} />
|
||||
</Drawer>
|
||||
);
|
||||
};
|
||||
|
||||
@ -1,44 +1,44 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
/**
|
||||
* 查询开始评审时间
|
||||
* @method POST
|
||||
*/
|
||||
/**
|
||||
* 查询开始评审时间
|
||||
* @method POST
|
||||
*/
|
||||
export async function getStartReviewTime(params: any) {
|
||||
return request("/api/biz-service-ebtp-process/v1/bizassessroom/query/maxsortbysids", {
|
||||
method:"POST",
|
||||
params: params
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 查询资审开标时间&开标时间
|
||||
* @method POST
|
||||
*/
|
||||
return request("/api/biz-service-ebtp-process/v1/bizassessroom/query/maxsortbysids", {
|
||||
method: "POST",
|
||||
params: params
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 查询资审开标时间&开标时间
|
||||
* @method POST
|
||||
*/
|
||||
export async function getBidOpenTime(params: any) {
|
||||
return request("/api/biz-service-ebtp-opening/v1/bizbidopenroom/selectOpenTimeByBsIds", {
|
||||
method:"POST",
|
||||
data: params
|
||||
method: "POST",
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询标段列表数据
|
||||
* @method POST
|
||||
*/
|
||||
/**
|
||||
* 查询标段列表数据
|
||||
* @method POST
|
||||
*/
|
||||
export async function getSectionList(params: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectSection/getPage', {
|
||||
method: 'POST',
|
||||
data: {
|
||||
...params,
|
||||
basePageRequest: {
|
||||
pageNo: params.current,
|
||||
pageSize: params.pageSize,
|
||||
},
|
||||
return request('/api/biz-service-ebtp-project/v1/projectSection/getPage', {
|
||||
method: 'POST',
|
||||
data: {
|
||||
...params,
|
||||
basePageRequest: {
|
||||
pageNo: params.current,
|
||||
pageSize: params.pageSize,
|
||||
},
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询重新评标列表
|
||||
@ -46,14 +46,14 @@ export async function getSectionList(params: any) {
|
||||
*/
|
||||
export async function getAfreshList(params: any) {
|
||||
return request("/api/biz-service-ebtp-project/v1/projectReEvaluation/getPage", {
|
||||
method:"POST",
|
||||
data: {
|
||||
...params,
|
||||
basePageRequest: {
|
||||
pageNo: params.current,
|
||||
pageSize: params.pageSize,
|
||||
},
|
||||
method: "POST",
|
||||
data: {
|
||||
...params,
|
||||
basePageRequest: {
|
||||
pageNo: params.current,
|
||||
pageSize: params.pageSize,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
@ -63,8 +63,8 @@ export async function getAfreshList(params: any) {
|
||||
*/
|
||||
export async function addAfresh(params: any) {
|
||||
return request("/api/biz-service-ebtp-project/v1/projectReEvaluation", {
|
||||
method:"POST",
|
||||
data: params
|
||||
method: "POST",
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
@ -73,9 +73,9 @@ export async function addAfresh(params: any) {
|
||||
* @method POST
|
||||
*/
|
||||
export async function updateAfresh(params: any) {
|
||||
return request("/api/biz-service-ebtp-project/v1/projectReEvaluation", {
|
||||
method:"PUT",
|
||||
data: params
|
||||
return request("/api/biz-service-ebtp-project/v1/projectReEvaluation/update", {
|
||||
method: "POST",
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
@ -84,8 +84,8 @@ export async function updateAfresh(params: any) {
|
||||
* @method POST
|
||||
*/
|
||||
export async function deleteAfresh(params: any) {
|
||||
return request("/api/biz-service-ebtp-project/v1/projectReEvaluation/" + params, {
|
||||
method:"DELETE",
|
||||
return request("/api/biz-service-ebtp-project/v1/projectReEvaluation/delete/" + params, {
|
||||
method: "POST",
|
||||
})
|
||||
}
|
||||
|
||||
@ -95,7 +95,7 @@ export async function deleteAfresh(params: any) {
|
||||
*/
|
||||
export async function checkedAddAfresh(params: any) {
|
||||
return request("/api/biz-service-ebtp-project/v1/projectReEvaluation/checkIsAdd/" + params, {
|
||||
method:"GET",
|
||||
method: "GET",
|
||||
})
|
||||
}
|
||||
|
||||
@ -105,7 +105,7 @@ export async function checkedAddAfresh(params: any) {
|
||||
*/
|
||||
export async function submitApproval(params: any) {
|
||||
return request("/api/biz-service-ebtp-project/v1/projectReEvaluation/submitForApproval/" + params, {
|
||||
method:"POST",
|
||||
method: "POST",
|
||||
})
|
||||
}
|
||||
|
||||
@ -113,9 +113,9 @@ export async function submitApproval(params: any) {
|
||||
* 重新评标生效
|
||||
* @method POST
|
||||
*/
|
||||
export async function handleTakeEffect(params: any) {
|
||||
export async function handleTakeEffect(params: any) {
|
||||
return request("/api/biz-service-ebtp-project/v1/projectReEvaluation/achieve/" + params, {
|
||||
method:"GET",
|
||||
method: "GET",
|
||||
})
|
||||
}
|
||||
|
||||
@ -134,10 +134,9 @@ export async function getViewData(params: any) {
|
||||
* 跳转外部链接查询
|
||||
* @param params
|
||||
*/
|
||||
export async function getCheckApproval(params: any) {
|
||||
export async function getCheckApproval(params: any) {
|
||||
return request(`/api/biz-service-ebtp-project/v1/projectReEvaluation/findTraceDetail/${params}`, {
|
||||
method: 'GET',
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
import ApprovalModal from '@/components/ApprovalModal';
|
||||
import { btnAuthority } from '@/utils/authority';
|
||||
import { isEmpty } from '@/utils/CommonUtils';
|
||||
import { checkObjectId } from '@/utils/DownloadUtils';
|
||||
@ -63,6 +64,8 @@ const ExceptionHandling: React.FC<ExceptionHandlingProps> = (props) => {
|
||||
const [approvalVisible, setApprovalVisible] = useState<boolean>(false);
|
||||
//选择流程数据存储
|
||||
const [approvalData, setApprovalData] = useState<any[]>([]);
|
||||
const [approvalViewVisible, setApprovalViewVisible] = useState<boolean>(false);//查看审批流程弹窗
|
||||
const [approvalViewUrl, setApprovalViewUrl] = useState<string>("");//查看审批流程参数-url
|
||||
//初始化显示字段
|
||||
let sectionName = '采购包';
|
||||
sectionName =
|
||||
@ -242,8 +245,9 @@ const ExceptionHandling: React.FC<ExceptionHandlingProps> = (props) => {
|
||||
if (res?.code == 200 || res?.success == true) {
|
||||
const data = res?.data;
|
||||
let durl = /http:\/\/([^\/]+)\//i;
|
||||
let d = data?.traceDetailUrl?.replace(durl, '/');
|
||||
window.open(d);
|
||||
let d = data?.replace(durl, '/');
|
||||
setApprovalViewUrl(d);
|
||||
setApprovalViewVisible(true);
|
||||
}
|
||||
}).finally(() => {
|
||||
setLoading(false)
|
||||
@ -650,6 +654,7 @@ const ExceptionHandling: React.FC<ExceptionHandlingProps> = (props) => {
|
||||
actionRef.current?.reload?.();
|
||||
}} data={approvalData} annoId={recordData?.sendMessageId} />
|
||||
) : null}
|
||||
<ApprovalModal modalVisible={approvalViewVisible} onCancel={() => { setApprovalViewVisible(false) }} url={approvalViewUrl} />
|
||||
</Drawer>
|
||||
);
|
||||
};
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
import React, { useState } from 'react';
|
||||
import { queryingPagingData } from '@/utils/PageUtils';
|
||||
import { getDictNameByVal, getProjectTypeCode, getURLInformation, getUrlParam, getUrlRelativePath, isEmpty, isNotEmpty, proTableValueEnumOther } from '@/utils/CommonUtils';
|
||||
import { getDictNameByVal, getProjectTypeCode, getURLInformation, getUrlParam, getUrlRelativePath, isEmpty, isNotEmpty, multipleTypeTransform, proTableValueEnum, proTableValueEnumOther } from '@/utils/CommonUtils';
|
||||
import { useHistory } from 'umi';
|
||||
import { followUpAProjectManager, getDicData, projectDataItem, getSessionUserData } from '@/utils/session';
|
||||
import { followUpAProjectManager, getDicData, projectDataItem, getSessionUserData } from '@/utils/session';
|
||||
import ExceptionHandling from './ExceptionHandling/ExceptionHandling';
|
||||
import { Button, Card, Col, Popover, Progress, Row, Tag, message } from 'antd';
|
||||
import ProList from '@ant-design/pro-list';
|
||||
import ProjectSectionInfo from './ProjectSectionInfo';
|
||||
import { getBusinessModuleName, getTagColor } from '../utils';
|
||||
import {submitHiddenForm, createHiddenForm} from '@/utils/CustomerService' //智慧客服
|
||||
import { submitHiddenForm, createHiddenForm } from '@/utils/CustomerService' //智慧客服
|
||||
//标的类型
|
||||
const procurementTypeEntrust = 'procurement_type=entrust';
|
||||
//采购方式
|
||||
@ -86,7 +86,7 @@ const ProjectDocumentation: React.FC = () => {
|
||||
</>
|
||||
</Col>
|
||||
<Col span={4}>
|
||||
标的类型:{getDictNameByVal(dictData[procurementTypeEntrust], record.procurementType)} <br />
|
||||
标的类型:{multipleTypeTransform(record.procurementType, proTableValueEnum(dictData[procurementTypeEntrust]))} <br />
|
||||
</Col>
|
||||
<Col span={4}>
|
||||
{
|
||||
@ -277,99 +277,99 @@ const ProjectDocumentation: React.FC = () => {
|
||||
* 项目跟进
|
||||
* @param data
|
||||
*/
|
||||
const saveTmpForm = (record:any)=>{//智慧客服-创建临时表单
|
||||
const saveTmpForm = (record: any) => {//智慧客服-创建临时表单
|
||||
let roleAuthority: any | null = sessionStorage.getItem('roleAuthority');
|
||||
let data = getSessionUserData();
|
||||
const inputList = [
|
||||
{
|
||||
label:null,
|
||||
paraName:'origin',
|
||||
isEncode:false,
|
||||
paraVal:'eBid',
|
||||
label: null,
|
||||
paraName: 'origin',
|
||||
isEncode: false,
|
||||
paraVal: 'eBid',
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'organizationId',
|
||||
isEncode:false,
|
||||
label: null,
|
||||
paraName: 'organizationId',
|
||||
isEncode: false,
|
||||
paraVal: data.organizationId,
|
||||
},
|
||||
{
|
||||
label:'项目名称',
|
||||
paraName:'projectName',
|
||||
isEncode:true,
|
||||
paraVal:record.projectName,
|
||||
label: '项目名称',
|
||||
paraName: 'projectName',
|
||||
isEncode: true,
|
||||
paraVal: record.projectName,
|
||||
},
|
||||
{
|
||||
label:'项目编号 ',
|
||||
paraName:'ebpProjectNumber',
|
||||
isEncode:true,
|
||||
paraVal:record.ebpProjectNumber,
|
||||
label: '项目编号 ',
|
||||
paraName: 'ebpProjectNumber',
|
||||
isEncode: true,
|
||||
paraVal: record.ebpProjectNumber,
|
||||
},
|
||||
{
|
||||
label:'项目流水号',
|
||||
paraName:'projectBizNum',
|
||||
isEncode:false,
|
||||
paraVal:record.projectBizNum,
|
||||
label: '项目流水号',
|
||||
paraName: 'projectBizNum',
|
||||
isEncode: false,
|
||||
paraVal: record.projectBizNum,
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'tenderAgencyId',
|
||||
isEncode:false,
|
||||
paraVal:'EMPTY',
|
||||
label: null,
|
||||
paraName: 'tenderAgencyId',
|
||||
isEncode: false,
|
||||
paraVal: 'EMPTY',
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'tenderAgencyName',
|
||||
isEncode:true,
|
||||
paraVal:'招投标客服',
|
||||
label: null,
|
||||
paraName: 'tenderAgencyName',
|
||||
isEncode: true,
|
||||
paraVal: '招投标客服',
|
||||
},
|
||||
{
|
||||
label:'项目状态',
|
||||
paraName:'status',
|
||||
isEncode:false,
|
||||
paraVal:record.status==1?'编辑中':record.status==2?'进行中':record.status==3?'已结束':record.status==9?'废止':'无效状态',
|
||||
label: '项目状态',
|
||||
paraName: 'status',
|
||||
isEncode: false,
|
||||
paraVal: record.status == 1 ? '编辑中' : record.status == 2 ? '进行中' : record.status == 3 ? '已结束' : record.status == 9 ? '废止' : '无效状态',
|
||||
},
|
||||
{
|
||||
label:'采购单位',
|
||||
paraName:'tendereeName',
|
||||
isEncode:true,
|
||||
paraVal:record.tendereeName,
|
||||
label: '采购单位',
|
||||
paraName: 'tendereeName',
|
||||
isEncode: true,
|
||||
paraVal: record.tendereeName,
|
||||
},
|
||||
{
|
||||
label:'实施单位',
|
||||
paraName:'providerName',
|
||||
isEncode:true,
|
||||
paraVal:record.tenderAgencyName,
|
||||
label: '实施单位',
|
||||
paraName: 'providerName',
|
||||
isEncode: true,
|
||||
paraVal: record.tenderAgencyName,
|
||||
},
|
||||
{
|
||||
label:'实施人员',
|
||||
paraName:'ownerContactName',
|
||||
isEncode:true,
|
||||
paraVal:record.appManagerName+'-'+record.appManagerId+'-'+record.appManagerTel
|
||||
label: '实施人员',
|
||||
paraName: 'ownerContactName',
|
||||
isEncode: true,
|
||||
paraVal: record.appManagerName + '-' + record.appManagerId + '-' + record.appManagerTel
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'roleAuthority',
|
||||
isEncode:false,
|
||||
paraVal:JSON.parse(roleAuthority)[0],
|
||||
label: null,
|
||||
paraName: 'roleAuthority',
|
||||
isEncode: false,
|
||||
paraVal: JSON.parse(roleAuthority)[0],
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'province',
|
||||
isEncode:false,
|
||||
paraVal:record.province,
|
||||
label: null,
|
||||
paraName: 'province',
|
||||
isEncode: false,
|
||||
paraVal: record.province,
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'module',
|
||||
isEncode:false,
|
||||
paraVal:'2',
|
||||
label: null,
|
||||
paraName: 'module',
|
||||
isEncode: false,
|
||||
paraVal: '2',
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'custType',
|
||||
isEncode:false,
|
||||
paraVal:'1',
|
||||
label: null,
|
||||
paraName: 'custType',
|
||||
isEncode: false,
|
||||
paraVal: '1',
|
||||
},
|
||||
]
|
||||
createHiddenForm(inputList, window.location.pathname)
|
||||
|
||||
@ -4,24 +4,24 @@ import request from '@/utils/request';
|
||||
* @param params
|
||||
*/
|
||||
export async function getPage(params?: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectRecord/getPage',{
|
||||
return request('/api/biz-service-ebtp-project/v1/projectRecord/getPage', {
|
||||
method: 'POST',
|
||||
data:params,
|
||||
|
||||
data: params,
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询所有字典
|
||||
*/
|
||||
export async function getAllDict(){
|
||||
export async function getAllDict() {
|
||||
return request('/api/biz-service-ebtp-project/v1/dictProject/refreshDictCache');
|
||||
}
|
||||
/**
|
||||
* 根据id查询项目信息
|
||||
* @param id
|
||||
*/
|
||||
export function getProjectById(id:any){
|
||||
export function getProjectById(id: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectRecord/' + id);
|
||||
}
|
||||
|
||||
@ -31,9 +31,9 @@ export function getProjectById(id:any){
|
||||
* @param params
|
||||
*/
|
||||
export async function getExceptionList(params?: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectException/getPage',{
|
||||
return request('/api/biz-service-ebtp-project/v1/projectException/getPage', {
|
||||
method: 'POST',
|
||||
data:{
|
||||
data: {
|
||||
...params,
|
||||
"basePageRequest": {
|
||||
"pageNo": params.current,
|
||||
@ -48,9 +48,9 @@ export async function getExceptionList(params?: any) {
|
||||
* @param params
|
||||
*/
|
||||
export async function addException(params?: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectException',{
|
||||
return request('/api/biz-service-ebtp-project/v1/projectException', {
|
||||
method: 'POST',
|
||||
data:{
|
||||
data: {
|
||||
...params
|
||||
},
|
||||
});
|
||||
@ -61,9 +61,9 @@ export async function addException(params?: any) {
|
||||
* @param params
|
||||
*/
|
||||
export async function updateException(params?: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectException',{
|
||||
method: 'PUT',
|
||||
data:{
|
||||
return request('/api/biz-service-ebtp-project/v1/projectException/update', {
|
||||
method: 'POST',
|
||||
data: {
|
||||
...params
|
||||
},
|
||||
});
|
||||
@ -73,8 +73,8 @@ export async function updateException(params?: any) {
|
||||
* @param params
|
||||
*/
|
||||
export async function deleteException(params?: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectException/' + params,{
|
||||
method: 'DELETE'
|
||||
return request('/api/biz-service-ebtp-project/v1/projectException/delete/' + params, {
|
||||
method: 'POST'
|
||||
});
|
||||
}
|
||||
|
||||
@ -83,7 +83,7 @@ export async function deleteException(params?: any) {
|
||||
* @param params
|
||||
*/
|
||||
export async function getExceptionSectionList(params?: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectSection/selectEditSection',{
|
||||
return request('/api/biz-service-ebtp-project/v1/projectSection/selectEditSection', {
|
||||
method: 'GET',
|
||||
params: params
|
||||
});
|
||||
@ -93,7 +93,7 @@ export async function getExceptionSectionList(params?: any) {
|
||||
* @param params
|
||||
*/
|
||||
export async function getDefId(proId?: any) {
|
||||
return request(`/api/biz-service-ebtp-process/v1/projectconfig/querydefid/${proId}`,{
|
||||
return request(`/api/biz-service-ebtp-process/v1/projectconfig/querydefid/${proId}`, {
|
||||
method: 'GET',
|
||||
});
|
||||
}
|
||||
@ -104,7 +104,7 @@ export async function getDefId(proId?: any) {
|
||||
*/
|
||||
export async function exceptionTakeEffect(params: any) {
|
||||
return request(`/api/biz-service-ebtp-project/v1/projectException/${params}`, {
|
||||
method: 'PUT',
|
||||
method: 'POST',
|
||||
});
|
||||
}
|
||||
|
||||
@ -115,7 +115,7 @@ export async function exceptionTakeEffect(params: any) {
|
||||
export async function addFailAnno(params: any) {
|
||||
return request(`/api/biz-service-ebtp-bid/v1/anno`, {
|
||||
method: 'POST',
|
||||
data:params
|
||||
data: params
|
||||
});
|
||||
}
|
||||
|
||||
@ -124,9 +124,9 @@ export async function addFailAnno(params: any) {
|
||||
* @param params
|
||||
*/
|
||||
export async function updateFailAnno(params: any) {
|
||||
return request(`/api/biz-service-ebtp-bid/v1/anno`, {
|
||||
method: 'PUT',
|
||||
data:params
|
||||
return request(`/api/biz-service-ebtp-bid/v1/anno/updateById`, {
|
||||
method: 'POST',
|
||||
data: params
|
||||
});
|
||||
}
|
||||
|
||||
@ -154,7 +154,7 @@ export async function failAnnoApprove(params: any) {
|
||||
* 失败公告发布
|
||||
* @param params
|
||||
*/
|
||||
export async function failAnnoRelease(params: any,id: any) {
|
||||
export async function failAnnoRelease(params: any, id: any) {
|
||||
return request(`/api/biz-service-ebtp-bid/v1/anno/publish/${params}/${id}`, {
|
||||
method: 'POST',
|
||||
});
|
||||
@ -165,15 +165,15 @@ export async function failAnnoRelease(params: any,id: any) {
|
||||
* @param id
|
||||
* @returns
|
||||
*/
|
||||
export async function getApprovalFor(id?:any){
|
||||
return request(`/api/biz-service-ebtp-bid/v1/anno/approve/trace/${id}`,{
|
||||
method:"POST",
|
||||
export async function getApprovalFor(id?: any) {
|
||||
return request(`/api/biz-service-ebtp-bid/v1/anno/approve/trace/${id}`, {
|
||||
method: "POST",
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 根据项目id查询标段信息
|
||||
* @param projectId
|
||||
*/
|
||||
export function selectListByProjectId (projectId:string) {
|
||||
export function selectListByProjectId(projectId: string) {
|
||||
return request("/api/biz-service-ebtp-project/v1/projectSection/selectListByProjectId/" + projectId);
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@ import { ProcurementMethodItem, updateUtils } from '../utils';
|
||||
import { getId7 } from '../service';
|
||||
import ProTable from '@ant-design/pro-table';
|
||||
import { getDicData } from '@/utils/session';
|
||||
import { getDictName, isEmpty } from '@/utils/CommonUtils';
|
||||
import { getDictName, isEmpty, multipleTypeTransform, proTableValueEnum } from '@/utils/CommonUtils';
|
||||
|
||||
const { Option } = Select;
|
||||
|
||||
@ -77,7 +77,7 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
|
||||
//组织方式字典项
|
||||
data.bidOrgDict = getDictName(dictData['organization=entrust'], data.bidOrgDict);
|
||||
//采购类型字典项
|
||||
data.procurementType = getDictName(dictData['procurement_type=entrust'], data.procurementType);
|
||||
data.procurementType = multipleTypeTransform(data.procurementType, proTableValueEnum(dictData['procurement_type=entrust']));
|
||||
form.setFieldsValue(data);
|
||||
}
|
||||
})
|
||||
|
||||
@ -18,16 +18,16 @@ export async function getId(id?: any) {
|
||||
/**
|
||||
* 获取省份
|
||||
*/
|
||||
export async function getProvince(){
|
||||
return request('/api/biz-service-ebtp-project/v1/dictRegion/getChild',{
|
||||
params:{pId:0}
|
||||
export async function getProvince() {
|
||||
return request('/api/biz-service-ebtp-project/v1/dictRegion/getChild', {
|
||||
params: { pId: 0 }
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 根据id获取数据
|
||||
* @param id
|
||||
*/
|
||||
export async function getDictRegion(id:any){
|
||||
export async function getDictRegion(id: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/dictRegion/' + id);
|
||||
}
|
||||
|
||||
@ -35,32 +35,32 @@ export async function getDictRegion(id:any){
|
||||
* 获取省区
|
||||
* @param pId
|
||||
*/
|
||||
export async function getProvinces(pId:any){
|
||||
return request('/api/biz-service-ebtp-project/v1/dictRegion/getChild',{
|
||||
params:{pId:pId}
|
||||
export async function getProvinces(pId: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/dictRegion/getChild', {
|
||||
params: { pId: pId }
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 查询所有字典
|
||||
*/
|
||||
export async function getAllDict(){
|
||||
export async function getAllDict() {
|
||||
return request('/api/biz-service-ebtp-project/v1/dictProject/refreshDictCache');
|
||||
}
|
||||
/**
|
||||
* 修改数据
|
||||
* @param params
|
||||
*/
|
||||
export async function update(params:any){
|
||||
return request('/api/biz-service-ebtp-project/v1/projectRecord', {
|
||||
method: 'PUT',
|
||||
data: params,
|
||||
})
|
||||
export async function update(params: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectRecord/update', {
|
||||
method: 'POST',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 建档完成 提交
|
||||
* @param id
|
||||
*/
|
||||
export async function submitProject(id:any){
|
||||
export async function submitProject(id: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectRecord/submitProject/' + id, {
|
||||
method: 'post',
|
||||
})
|
||||
@ -70,9 +70,9 @@ export async function submitProject(id:any){
|
||||
* 项目是否可以修改信息
|
||||
* @param id
|
||||
*/
|
||||
export async function getProjectIsUpdate(id:any){
|
||||
return request('/api/biz-service-ebtp-project/v1/projectRecord/getProjectIsUpdate/' + id,{
|
||||
method:'post'
|
||||
export async function getProjectIsUpdate(id: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/projectRecord/getProjectIsUpdate/' + id, {
|
||||
method: 'post'
|
||||
});
|
||||
}
|
||||
/**
|
||||
@ -85,7 +85,7 @@ export async function getId7(id?: any) {
|
||||
* 获取省份
|
||||
* @param provincesNumber
|
||||
*/
|
||||
export function getByProvincesNumber (provincesNumber:any) {
|
||||
export function getByProvincesNumber(provincesNumber: any) {
|
||||
return request('/api/biz-service-ebtp-project/v1/dictprovincescode/getByProvincesNumber/' + provincesNumber);
|
||||
}
|
||||
/**
|
||||
@ -93,6 +93,6 @@ export function getByProvincesNumber (provincesNumber:any) {
|
||||
* @param id
|
||||
* @returns
|
||||
*/
|
||||
export function getBudgetAmountById (id:any) {
|
||||
export function getBudgetAmountById(id: any) {
|
||||
return request("/api/biz-service-ebtp-project/v1/projectRecord/getBudgetAmountById/" + id);
|
||||
}
|
||||
@ -7,7 +7,7 @@
|
||||
* @FilePath: \ebtp-cloud-frontend\src\pages\Project\ProjectManage\ProjectManager\PurchasingManagerEnquiries\index.tsx
|
||||
*/
|
||||
|
||||
import { getURLInformation, getUrlParam, getUrlRelativePath, isEmpty, isNotEmpty, proTableValueEnum } from '@/utils/CommonUtils';
|
||||
import { getURLInformation, getUrlParam, getUrlRelativePath, isEmpty, isNotEmpty, multipleTypeTransform, proTableValueEnum } from '@/utils/CommonUtils';
|
||||
import { queryingPagingData } from '@/utils/PageUtils';
|
||||
import { followUpAProjectManager, getDicData, setPurchaseCanOperate, getSessionUserData } from '@/utils/session';
|
||||
import ProTable, { ProColumns } from '@ant-design/pro-table';
|
||||
@ -15,270 +15,270 @@ import { Button, Card, PageHeader } from 'antd';
|
||||
import React, { useState } from 'react';
|
||||
import { useHistory } from 'umi';
|
||||
import kefu from '@/assets/img/kefu.png' //智慧客服
|
||||
import {submitHiddenForm, createHiddenForm} from '@/utils/CustomerService' //智慧客服
|
||||
import { submitHiddenForm, createHiddenForm } from '@/utils/CustomerService' //智慧客服
|
||||
const PurchasingManagerEnquiries: React.FC = () => {
|
||||
//获取字典
|
||||
const getDict: any = getDicData();
|
||||
const dictData = JSON.parse(getDict);
|
||||
const [projectParams, setProjectParams] = useState<string>("");
|
||||
//url项目名称
|
||||
const projectName = getUrlParam("projectName");
|
||||
//url采购方式
|
||||
const bidMethodDict = getURLInformation("bidMethodDict");
|
||||
//标的类型
|
||||
const procurementTypeEntrust = 'procurement_type=entrust';
|
||||
//采购方式
|
||||
const procurementModeEntrust = 'procurement_mode=entrust';
|
||||
const history = useHistory();
|
||||
const columns: ProColumns<any>[] = [
|
||||
{
|
||||
title: '序号',
|
||||
valueType: 'index',
|
||||
width: 50,
|
||||
},
|
||||
{
|
||||
title: '采购方式',
|
||||
dataIndex: 'bidMethodDict',
|
||||
width: '8%',
|
||||
initialValue: bidMethodDict,
|
||||
valueEnum: proTableValueEnum(dictData[procurementModeEntrust]),
|
||||
},
|
||||
{
|
||||
title: '项目名称',
|
||||
dataIndex: 'projectName',
|
||||
initialValue: projectName
|
||||
},
|
||||
{
|
||||
title: '我要咨询',
|
||||
dataIndex: 'consult',
|
||||
render: (text: any, record: any) => (
|
||||
<span onClick={()=>{saveTmpForm(record); initChatUI()}}><img style={{width:20,height:20, cursor:'pointer'}} src={kefu} alt="" /></span>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: '项目编号',
|
||||
dataIndex: 'ebpProjectNumber',
|
||||
search: false,
|
||||
width: '10%',
|
||||
},
|
||||
{
|
||||
title: '采购人',
|
||||
dataIndex: 'tendereeOrgName',
|
||||
search: false,
|
||||
width: '15%',
|
||||
},
|
||||
{
|
||||
title: '建档时间',
|
||||
dataIndex: 'createDate',
|
||||
search: false,
|
||||
width: '10%',
|
||||
},
|
||||
{
|
||||
title: '标的类型',
|
||||
dataIndex: 'procurementType',
|
||||
width: '8%',
|
||||
search: false,
|
||||
valueEnum: proTableValueEnum(dictData[procurementTypeEntrust]),
|
||||
},
|
||||
{
|
||||
title: '所属区域',
|
||||
dataIndex: 'regionDictName',
|
||||
search: false,
|
||||
width: '10%',
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
valueType: 'option',
|
||||
width: 150,
|
||||
render: (_: any, record: any) =>
|
||||
(
|
||||
<>
|
||||
<Button
|
||||
key="followUpProject"
|
||||
type="text"
|
||||
onClick={() =>
|
||||
followUpProject(record)
|
||||
}
|
||||
>
|
||||
项目跟进
|
||||
</Button>
|
||||
</>
|
||||
)
|
||||
},
|
||||
];
|
||||
const saveTmpForm = (record:any)=>{//智慧客服-创建临时表单
|
||||
let roleAuthority: any | null = sessionStorage.getItem('roleAuthority');
|
||||
let data = getSessionUserData();
|
||||
const inputList = [
|
||||
{
|
||||
label:null,
|
||||
paraName:'origin',
|
||||
isEncode:false,
|
||||
paraVal:'eBid',
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'organizationId',
|
||||
isEncode:false,
|
||||
paraVal: data.organizationId,
|
||||
},
|
||||
{
|
||||
label:'项目名称',
|
||||
paraName:'projectName',
|
||||
isEncode:true,
|
||||
paraVal:record.projectName,
|
||||
},
|
||||
{
|
||||
label:'项目编号',
|
||||
paraName:'ebpProjectNumber',
|
||||
isEncode:false,
|
||||
paraVal:record.ebpProjectNumber,
|
||||
},
|
||||
{
|
||||
label:'项目流水号',
|
||||
paraName:'projectBizNum',
|
||||
isEncode:false,
|
||||
paraVal:record.projectBizNum,
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'tenderAgencyId',
|
||||
isEncode:false,
|
||||
paraVal:'EMPTY',
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'tenderAgencyName',
|
||||
isEncode:true,
|
||||
paraVal:'招投标客服',
|
||||
},
|
||||
{
|
||||
label:'项目状态',
|
||||
paraName:'status',
|
||||
isEncode:false,
|
||||
paraVal:record.status==1?'编辑中':record.status==2?'进行中':record.status==3?'已结束':record.status==9?'废止':'无效状态',
|
||||
},
|
||||
{
|
||||
label:'采购单位',
|
||||
paraName:'tendereeName',
|
||||
isEncode:true,
|
||||
paraVal:record.tendereeName,
|
||||
},
|
||||
{
|
||||
label:'实施单位',
|
||||
paraName:'providerName',
|
||||
isEncode:true,
|
||||
paraVal:record.tenderAgencyName,
|
||||
},
|
||||
{
|
||||
label:'实施人员',
|
||||
paraName:'ownerContactName',
|
||||
isEncode:true,
|
||||
paraVal:record.appManagerName+'-'+record.appManagerId+'-'+record.appManagerTel
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'roleAuthority',
|
||||
isEncode:false,
|
||||
paraVal:JSON.parse(roleAuthority)[0],
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'province',
|
||||
isEncode:false,
|
||||
paraVal:record.province,
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'module',
|
||||
isEncode:false,
|
||||
paraVal:'2',
|
||||
},
|
||||
{
|
||||
label:null,
|
||||
paraName:'custType',
|
||||
isEncode:false,
|
||||
paraVal:'1',
|
||||
},
|
||||
]
|
||||
createHiddenForm(inputList, window.location.pathname)
|
||||
}
|
||||
const initChatUI = ()=>{ //打开客服界面
|
||||
submitHiddenForm()
|
||||
}
|
||||
/**
|
||||
* 获取返回路径
|
||||
* @returns
|
||||
*/
|
||||
const getReturnURL = () => {
|
||||
let projectURLParams = JSON.parse(projectParams);
|
||||
let params = `${'?current=' + projectURLParams.current}${isEmpty(projectURLParams.projectName) ? '' : '&projectName=' + projectURLParams.projectName}${isEmpty(projectURLParams.bidMethodDict) ? '' : '&bidMethodDict=' + projectURLParams.bidMethodDict}`;
|
||||
return getUrlRelativePath() + params;
|
||||
}
|
||||
/**
|
||||
* 项目跟进
|
||||
* @param data
|
||||
*/
|
||||
const followUpProject = async (data: any) => {
|
||||
saveTmpForm(data)
|
||||
data.returnURL = getReturnURL()
|
||||
await followUpAProjectManager(data);
|
||||
setPurchaseCanOperate();
|
||||
history.push('/ProjectLayout/Manager/HomePageSectionList');
|
||||
};
|
||||
|
||||
return (
|
||||
//获取字典
|
||||
const getDict: any = getDicData();
|
||||
const dictData = JSON.parse(getDict);
|
||||
const [projectParams, setProjectParams] = useState<string>("");
|
||||
//url项目名称
|
||||
const projectName = getUrlParam("projectName");
|
||||
//url采购方式
|
||||
const bidMethodDict = getURLInformation("bidMethodDict");
|
||||
//标的类型
|
||||
const procurementTypeEntrust = 'procurement_type=entrust';
|
||||
//采购方式
|
||||
const procurementModeEntrust = 'procurement_mode=entrust';
|
||||
const history = useHistory();
|
||||
const columns: ProColumns<any>[] = [
|
||||
{
|
||||
title: '序号',
|
||||
valueType: 'index',
|
||||
width: 50,
|
||||
},
|
||||
{
|
||||
title: '采购方式',
|
||||
dataIndex: 'bidMethodDict',
|
||||
width: '8%',
|
||||
initialValue: bidMethodDict,
|
||||
valueEnum: proTableValueEnum(dictData[procurementModeEntrust]),
|
||||
},
|
||||
{
|
||||
title: '项目名称',
|
||||
dataIndex: 'projectName',
|
||||
initialValue: projectName
|
||||
},
|
||||
{
|
||||
title: '我要咨询',
|
||||
dataIndex: 'consult',
|
||||
render: (text: any, record: any) => (
|
||||
<span onClick={() => { saveTmpForm(record); initChatUI() }}><img style={{ width: 20, height: 20, cursor: 'pointer' }} src={kefu} alt="" /></span>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: '项目编号',
|
||||
dataIndex: 'ebpProjectNumber',
|
||||
search: false,
|
||||
width: '10%',
|
||||
},
|
||||
{
|
||||
title: '采购人',
|
||||
dataIndex: 'tendereeOrgName',
|
||||
search: false,
|
||||
width: '15%',
|
||||
},
|
||||
{
|
||||
title: '建档时间',
|
||||
dataIndex: 'createDate',
|
||||
search: false,
|
||||
width: '10%',
|
||||
},
|
||||
{
|
||||
title: '标的类型',
|
||||
dataIndex: 'procurementType',
|
||||
width: '8%',
|
||||
search: false,
|
||||
render: (_, record) => multipleTypeTransform(record.procurementType, proTableValueEnum(dictData[procurementTypeEntrust])),
|
||||
},
|
||||
{
|
||||
title: '所属区域',
|
||||
dataIndex: 'regionDictName',
|
||||
search: false,
|
||||
width: '10%',
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
valueType: 'option',
|
||||
width: 150,
|
||||
render: (_: any, record: any) =>
|
||||
(
|
||||
<>
|
||||
<PageHeader title="我委托的项目" />
|
||||
<Card>
|
||||
<ProTable
|
||||
columns={columns}
|
||||
request={(params) => {
|
||||
const res = queryingPagingData(
|
||||
'/api/biz-service-ebtp-project/v1/projectRecord/purchase/getPage',
|
||||
'post',
|
||||
params,
|
||||
)
|
||||
setProjectParams(JSON.stringify(params));
|
||||
return res
|
||||
}}
|
||||
options={false}
|
||||
rowKey="id"
|
||||
pagination={{ defaultPageSize: 10 }}
|
||||
size="small"
|
||||
search={{
|
||||
filterType: "query",
|
||||
optionRender: (searchConfig: any, { form }) => {
|
||||
return [
|
||||
<Button
|
||||
key="resetText"
|
||||
onClick={() => {
|
||||
form?.setFieldsValue({
|
||||
projectName: null,
|
||||
bidMethodDict: null,
|
||||
current: 1,
|
||||
})
|
||||
form?.submit();
|
||||
}}
|
||||
>
|
||||
{searchConfig?.resetText}
|
||||
</Button>,
|
||||
<Button
|
||||
key="searchText"
|
||||
type="primary"
|
||||
onClick={() => {
|
||||
form?.submit();
|
||||
}}
|
||||
>
|
||||
{searchConfig?.searchText}
|
||||
</Button>,
|
||||
];
|
||||
},
|
||||
}}
|
||||
/>
|
||||
</Card>
|
||||
<Button
|
||||
key="followUpProject"
|
||||
type="text"
|
||||
onClick={() =>
|
||||
followUpProject(record)
|
||||
}
|
||||
>
|
||||
项目跟进
|
||||
</Button>
|
||||
</>
|
||||
)
|
||||
)
|
||||
},
|
||||
];
|
||||
const saveTmpForm = (record: any) => {//智慧客服-创建临时表单
|
||||
let roleAuthority: any | null = sessionStorage.getItem('roleAuthority');
|
||||
let data = getSessionUserData();
|
||||
const inputList = [
|
||||
{
|
||||
label: null,
|
||||
paraName: 'origin',
|
||||
isEncode: false,
|
||||
paraVal: 'eBid',
|
||||
},
|
||||
{
|
||||
label: null,
|
||||
paraName: 'organizationId',
|
||||
isEncode: false,
|
||||
paraVal: data.organizationId,
|
||||
},
|
||||
{
|
||||
label: '项目名称',
|
||||
paraName: 'projectName',
|
||||
isEncode: true,
|
||||
paraVal: record.projectName,
|
||||
},
|
||||
{
|
||||
label: '项目编号',
|
||||
paraName: 'ebpProjectNumber',
|
||||
isEncode: false,
|
||||
paraVal: record.ebpProjectNumber,
|
||||
},
|
||||
{
|
||||
label: '项目流水号',
|
||||
paraName: 'projectBizNum',
|
||||
isEncode: false,
|
||||
paraVal: record.projectBizNum,
|
||||
},
|
||||
{
|
||||
label: null,
|
||||
paraName: 'tenderAgencyId',
|
||||
isEncode: false,
|
||||
paraVal: 'EMPTY',
|
||||
},
|
||||
{
|
||||
label: null,
|
||||
paraName: 'tenderAgencyName',
|
||||
isEncode: true,
|
||||
paraVal: '招投标客服',
|
||||
},
|
||||
{
|
||||
label: '项目状态',
|
||||
paraName: 'status',
|
||||
isEncode: false,
|
||||
paraVal: record.status == 1 ? '编辑中' : record.status == 2 ? '进行中' : record.status == 3 ? '已结束' : record.status == 9 ? '废止' : '无效状态',
|
||||
},
|
||||
{
|
||||
label: '采购单位',
|
||||
paraName: 'tendereeName',
|
||||
isEncode: true,
|
||||
paraVal: record.tendereeName,
|
||||
},
|
||||
{
|
||||
label: '实施单位',
|
||||
paraName: 'providerName',
|
||||
isEncode: true,
|
||||
paraVal: record.tenderAgencyName,
|
||||
},
|
||||
{
|
||||
label: '实施人员',
|
||||
paraName: 'ownerContactName',
|
||||
isEncode: true,
|
||||
paraVal: record.appManagerName + '-' + record.appManagerId + '-' + record.appManagerTel
|
||||
},
|
||||
{
|
||||
label: null,
|
||||
paraName: 'roleAuthority',
|
||||
isEncode: false,
|
||||
paraVal: JSON.parse(roleAuthority)[0],
|
||||
},
|
||||
{
|
||||
label: null,
|
||||
paraName: 'province',
|
||||
isEncode: false,
|
||||
paraVal: record.province,
|
||||
},
|
||||
{
|
||||
label: null,
|
||||
paraName: 'module',
|
||||
isEncode: false,
|
||||
paraVal: '2',
|
||||
},
|
||||
{
|
||||
label: null,
|
||||
paraName: 'custType',
|
||||
isEncode: false,
|
||||
paraVal: '1',
|
||||
},
|
||||
]
|
||||
createHiddenForm(inputList, window.location.pathname)
|
||||
}
|
||||
const initChatUI = () => { //打开客服界面
|
||||
submitHiddenForm()
|
||||
}
|
||||
/**
|
||||
* 获取返回路径
|
||||
* @returns
|
||||
*/
|
||||
const getReturnURL = () => {
|
||||
let projectURLParams = JSON.parse(projectParams);
|
||||
let params = `${'?current=' + projectURLParams.current}${isEmpty(projectURLParams.projectName) ? '' : '&projectName=' + projectURLParams.projectName}${isEmpty(projectURLParams.bidMethodDict) ? '' : '&bidMethodDict=' + projectURLParams.bidMethodDict}`;
|
||||
return getUrlRelativePath() + params;
|
||||
}
|
||||
/**
|
||||
* 项目跟进
|
||||
* @param data
|
||||
*/
|
||||
const followUpProject = async (data: any) => {
|
||||
saveTmpForm(data)
|
||||
data.returnURL = getReturnURL()
|
||||
await followUpAProjectManager(data);
|
||||
setPurchaseCanOperate();
|
||||
history.push('/ProjectLayout/Manager/HomePageSectionList');
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageHeader title="我委托的项目" />
|
||||
<Card>
|
||||
<ProTable
|
||||
columns={columns}
|
||||
request={(params) => {
|
||||
const res = queryingPagingData(
|
||||
'/api/biz-service-ebtp-project/v1/projectRecord/purchase/getPage',
|
||||
'post',
|
||||
params,
|
||||
)
|
||||
setProjectParams(JSON.stringify(params));
|
||||
return res
|
||||
}}
|
||||
options={false}
|
||||
rowKey="id"
|
||||
pagination={{ defaultPageSize: 10 }}
|
||||
size="small"
|
||||
search={{
|
||||
filterType: "query",
|
||||
optionRender: (searchConfig: any, { form }) => {
|
||||
return [
|
||||
<Button
|
||||
key="resetText"
|
||||
onClick={() => {
|
||||
form?.setFieldsValue({
|
||||
projectName: null,
|
||||
bidMethodDict: null,
|
||||
current: 1,
|
||||
})
|
||||
form?.submit();
|
||||
}}
|
||||
>
|
||||
{searchConfig?.resetText}
|
||||
</Button>,
|
||||
<Button
|
||||
key="searchText"
|
||||
type="primary"
|
||||
onClick={() => {
|
||||
form?.submit();
|
||||
}}
|
||||
>
|
||||
{searchConfig?.searchText}
|
||||
</Button>,
|
||||
];
|
||||
},
|
||||
}}
|
||||
/>
|
||||
</Card>
|
||||
</>
|
||||
)
|
||||
|
||||
}
|
||||
export default PurchasingManagerEnquiries;
|
||||
@ -1,4 +1,4 @@
|
||||
import { getUrlRelativePath, isEmpty, isNotEmpty, proTableValueEnum } from '@/utils/CommonUtils';
|
||||
import { getUrlRelativePath, isEmpty, isNotEmpty, multipleTypeTransform, proTableValueEnum } from '@/utils/CommonUtils';
|
||||
import { followUpAProjectManager, getDicData, setPurchaseCanOperate } from '@/utils/session';
|
||||
import ProTable, { ActionType, ProColumns } from '@ant-design/pro-table';
|
||||
import { Button, message, Popconfirm, Spin, Space, Tag } from 'antd';
|
||||
@ -98,7 +98,7 @@ const FavoritesList: React.FC<FavoritesListProps> = (props) => {
|
||||
dataIndex: 'procurementType',
|
||||
width: '5%',
|
||||
search: false,
|
||||
valueEnum: proTableValueEnum(dictData[procurementTypeEntrust]),
|
||||
render: (_, record) => multipleTypeTransform(record.procurementType, proTableValueEnum(dictData[procurementTypeEntrust])),
|
||||
},
|
||||
{
|
||||
title: '所属区域',
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getUrlRelativePath, isEmpty, isNotEmpty, proTableValueEnum } from '@/utils/CommonUtils';
|
||||
import { getUrlRelativePath, isEmpty, isNotEmpty, multipleTypeTransform, proTableValueEnum } from '@/utils/CommonUtils';
|
||||
import { followUpAProjectManager, getDicData, setPurchaseCanOperate } from '@/utils/session';
|
||||
import ProTable, { ActionType, ProColumns } from '@ant-design/pro-table';
|
||||
import { Button, message, Space, Spin, Tag } from 'antd';
|
||||
@ -84,7 +84,7 @@ const ProjectManage: React.FC<ProjectManageProps> = (props) => {
|
||||
dataIndex: 'procurementType',
|
||||
width: '5%',
|
||||
search: false,
|
||||
valueEnum: proTableValueEnum(dictData[procurementTypeEntrust]),
|
||||
render: (_, record) => multipleTypeTransform(record.procurementType, proTableValueEnum(dictData[procurementTypeEntrust])),
|
||||
},
|
||||
{
|
||||
title: '所属区域',
|
||||
|
||||
Reference in New Issue
Block a user