Merge branch 'release_20230407' into 'master'
【生产】4.7版本同步到Master See merge request eshop/fe_service_ebtp_frontend!205
This commit is contained in:
@ -345,8 +345,6 @@ const BiddingRoom = (props) => {
|
|||||||
JuryList.splice(5, 1)
|
JuryList.splice(5, 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//弹出供应商关联风险信息
|
|
||||||
await showRiskModal(false)
|
|
||||||
//代理&项目经理
|
//代理&项目经理
|
||||||
if (role == "ebtp-agency-project-manager" || role == "ebtp-purchase") {//代理和采购经理
|
if (role == "ebtp-agency-project-manager" || role == "ebtp-purchase") {//代理和采购经理
|
||||||
setList(managerList);
|
setList(managerList);
|
||||||
@ -357,6 +355,7 @@ const BiddingRoom = (props) => {
|
|||||||
} else { //其他未分配的角色
|
} else { //其他未分配的角色
|
||||||
setList(managerList);
|
setList(managerList);
|
||||||
}
|
}
|
||||||
|
return await showRiskModal(false) //弹出供应商关联风险信息
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -3,10 +3,10 @@ import { history } from 'umi';
|
|||||||
import ProTable from '@ant-design/pro-table';
|
import ProTable from '@ant-design/pro-table';
|
||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
import { getInteriorManagerProjectList } from '../service'
|
import { getInteriorManagerProjectList } from '../service'
|
||||||
import { auctionFollowUpAProjectManager, getDicData } from '@/utils/session';
|
import { auctionFollowUpAProjectManager, getDicData, getSessionUserData } from '@/utils/session';
|
||||||
import { getUrlParam, getUrlRelativePath, isEmpty, proTableValueEnum } from '@/utils/CommonUtils';
|
import { getUrlParam, getUrlRelativePath, isEmpty, proTableValueEnum } from '@/utils/CommonUtils';
|
||||||
import { btnAuthority } from '@/utils/authority';
|
import { btnAuthority } from '@/utils/authority';
|
||||||
|
import { createHiddenForm } from '@/utils/CustomerService' //智慧客服
|
||||||
const AuctionMyLookingForInnerShot: React.FC<{}> = () => {
|
const AuctionMyLookingForInnerShot: React.FC<{}> = () => {
|
||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
@ -19,6 +19,80 @@ const AuctionMyLookingForInnerShot: React.FC<{}> = () => {
|
|||||||
const projectName = getUrlParam("projectName");
|
const projectName = getUrlParam("projectName");
|
||||||
//url分页信息
|
//url分页信息
|
||||||
const current = getUrlParam("current");
|
const current = getUrlParam("current");
|
||||||
|
const saveTmpForm = (record: any) => {//智慧客服-创建临时表单
|
||||||
|
let roleAuthority: any | null = sessionStorage.getItem('roleAuthority');
|
||||||
|
let data = getSessionUserData();
|
||||||
|
console.log(record)
|
||||||
|
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: 'disposalNum',
|
||||||
|
isEncode: true,
|
||||||
|
paraVal: record.disposalNum,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'tenderAgencyId',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: 'EMPTY',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'tenderAgencyName',
|
||||||
|
isEncode: true,
|
||||||
|
paraVal: '招投标客服',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '处置实施部门',
|
||||||
|
paraName: 'disposalDepartmentName',
|
||||||
|
isEncode: true,
|
||||||
|
paraVal: record.disposalDepartmentName,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '处置经理',
|
||||||
|
paraName: 'disposalManagerName',
|
||||||
|
isEncode: true,
|
||||||
|
paraVal: record.disposalManagerName
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'roleAuthority',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: JSON.parse(roleAuthority)[0],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'module',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: '2',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'custType',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: '1',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
createHiddenForm(inputList, window.location.pathname)
|
||||||
|
}
|
||||||
const columns: any = [
|
const columns: any = [
|
||||||
{
|
{
|
||||||
title: '序号',
|
title: '序号',
|
||||||
@ -88,11 +162,15 @@ const AuctionMyLookingForInnerShot: React.FC<{}> = () => {
|
|||||||
valueType: 'option',
|
valueType: 'option',
|
||||||
width: 100,
|
width: 100,
|
||||||
render: (_: any, record: any) => {
|
render: (_: any, record: any) => {
|
||||||
return <Button hidden={btnAuthority(['ebtp-auction-manager'])} type='link' danger onClick={() => saveProject({
|
return <Button hidden={btnAuthority(['ebtp-auction-manager'])} type='link' danger onClick={() => {
|
||||||
|
//创建临时表单-智慧客服
|
||||||
|
saveTmpForm(record)
|
||||||
|
saveProject({
|
||||||
"id": record?.id,
|
"id": record?.id,
|
||||||
"projectName": record?.projectName,
|
"projectName": record?.projectName,
|
||||||
"bidMethodDict": 'auction',
|
"bidMethodDict": 'auction',
|
||||||
})}>项目跟进</Button>
|
})
|
||||||
|
}}>项目跟进</Button>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
@ -79,6 +79,7 @@ const finance: React.FC<{}> = () => {
|
|||||||
title: '我要咨询',
|
title: '我要咨询',
|
||||||
dataIndex: 'consult',
|
dataIndex: 'consult',
|
||||||
width: '5%',
|
width: '5%',
|
||||||
|
search: false,
|
||||||
render: (text: any, record: any) => (
|
render: (text: any, record: any) => (
|
||||||
<span onClick={()=>{initChatUI(record)}}><img style={{width:20,height:20, cursor:'pointer'}} src={kefu} alt="" /></span>
|
<span onClick={()=>{initChatUI(record)}}><img style={{width:20,height:20, cursor:'pointer'}} src={kefu} alt="" /></span>
|
||||||
),
|
),
|
||||||
|
@ -51,6 +51,7 @@ const InvoiceSupplier: React.FC<{}> = () => {
|
|||||||
{
|
{
|
||||||
title: '我要咨询',
|
title: '我要咨询',
|
||||||
dataIndex: 'consult',
|
dataIndex: 'consult',
|
||||||
|
search: false,
|
||||||
width: '5%',
|
width: '5%',
|
||||||
render: (text: any, record: any) => (
|
render: (text: any, record: any) => (
|
||||||
<span onClick={()=>{initChatUI(record)}}><img style={{width:20,height:20, cursor:'pointer'}} src={kefu} alt="" /></span>
|
<span onClick={()=>{initChatUI(record)}}><img style={{width:20,height:20, cursor:'pointer'}} src={kefu} alt="" /></span>
|
||||||
@ -127,13 +128,13 @@ const InvoiceSupplier: React.FC<{}> = () => {
|
|||||||
label:null,
|
label:null,
|
||||||
paraName:'tenderAgencyId',
|
paraName:'tenderAgencyId',
|
||||||
isEncode:false,
|
isEncode:false,
|
||||||
paraVal:'EMPTY',
|
paraVal:record.agencyId,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label:null,
|
label:null,
|
||||||
paraName:'tenderAgencyName',
|
paraName:'tenderAgencyName',
|
||||||
isEncode:true,
|
isEncode:true,
|
||||||
paraVal:'招投标客服',
|
paraVal:record.agencyName,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label:null,
|
label:null,
|
||||||
@ -145,7 +146,7 @@ const InvoiceSupplier: React.FC<{}> = () => {
|
|||||||
label:null,
|
label:null,
|
||||||
paraName:'module',
|
paraName:'module',
|
||||||
isEncode:false,
|
isEncode:false,
|
||||||
paraVal:'2',
|
paraVal:'10',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label:null,
|
label:null,
|
||||||
@ -153,6 +154,12 @@ const InvoiceSupplier: React.FC<{}> = () => {
|
|||||||
isEncode:false,
|
isEncode:false,
|
||||||
paraVal:'2',
|
paraVal:'2',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label:null,
|
||||||
|
paraName:'orderId',
|
||||||
|
isEncode:false,
|
||||||
|
paraVal:record.orderId,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label:'项目名称',
|
label:'项目名称',
|
||||||
paraName:'projectName',
|
paraName:'projectName',
|
||||||
|
@ -3,7 +3,7 @@ import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic, Modal } f
|
|||||||
import { history } from 'umi';
|
import { history } from 'umi';
|
||||||
import { connect } from 'dva';
|
import { connect } from 'dva';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
// import talkPng from '@/images/talk/talk.png';
|
import talkPng from '@/images/talk/talk.png';
|
||||||
import { routerRedux } from 'dva/router';
|
import { routerRedux } from 'dva/router';
|
||||||
import { RightOutlined } from '@ant-design/icons';
|
import { RightOutlined } from '@ant-design/icons';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import React, { PureComponent } from 'react';
|
import React, { PureComponent } from 'react';
|
||||||
import { history } from 'umi';
|
import { history } from 'umi';
|
||||||
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic, Spin, Empty, message } from 'antd';
|
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic, Spin, Empty, message,Popconfirm } from 'antd';
|
||||||
import { connect } from 'dva';
|
import { connect } from 'dva';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
// import talkPng from '@/images/talk/talk.png';
|
import talkPng from '@/images/talk/talk.png';
|
||||||
import { routerRedux } from 'dva/router';
|
import { routerRedux } from 'dva/router';
|
||||||
import { RightOutlined } from '@ant-design/icons';
|
import { RightOutlined } from '@ant-design/icons';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
@ -13,6 +13,7 @@ import { getURLInformation } from '@/utils/CommonUtils';
|
|||||||
import MessageDetail from '@/pages/SystemMessage/message/components/messageDetail'
|
import MessageDetail from '@/pages/SystemMessage/message/components/messageDetail'
|
||||||
import NoticeDetail from '@/pages/notice/noticeList/components/NoticeDetail'
|
import NoticeDetail from '@/pages/notice/noticeList/components/NoticeDetail'
|
||||||
import QuestDetail from '@/pages/SystemMessage/message/components/questDetail'
|
import QuestDetail from '@/pages/SystemMessage/message/components/questDetail'
|
||||||
|
import {submitHiddenForm, createHiddenForm} from '@/utils/CustomerService' //智慧客服
|
||||||
@connect(({ dashboard, loading }) => ({
|
@connect(({ dashboard, loading }) => ({
|
||||||
...dashboard,
|
...dashboard,
|
||||||
fetchtPageList: loading.effects['dashboard/fetchtPageList'],
|
fetchtPageList: loading.effects['dashboard/fetchtPageList'],
|
||||||
@ -117,12 +118,74 @@ class manager extends PureComponent {
|
|||||||
// sessionStorage.setItem('defId', JSON.stringify('auction'));
|
// sessionStorage.setItem('defId', JSON.stringify('auction'));
|
||||||
history.push('/ProjectLayout/Auction/AuctionInfoManage')
|
history.push('/ProjectLayout/Auction/AuctionInfoManage')
|
||||||
};
|
};
|
||||||
|
//触发客服
|
||||||
|
initChatUI = ()=>{
|
||||||
|
let roleAuthority = 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:null,
|
||||||
|
paraName:'tenderAgencyId',
|
||||||
|
isEncode:false,
|
||||||
|
paraVal:'EMPTY',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label:null,
|
||||||
|
paraName:'tenderAgencyName',
|
||||||
|
isEncode:true,
|
||||||
|
paraVal:'招标采购中心客服',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label:null,
|
||||||
|
paraName:'roleAuthority',
|
||||||
|
isEncode:false,
|
||||||
|
paraVal:JSON.parse(roleAuthority)[0],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label:null,
|
||||||
|
paraName:'module',
|
||||||
|
isEncode:false,
|
||||||
|
paraVal:'2',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label:null,
|
||||||
|
paraName:'custType',
|
||||||
|
isEncode:false,
|
||||||
|
paraVal:'1',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
createHiddenForm(inputList, window.location.pathname)
|
||||||
|
submitHiddenForm()
|
||||||
|
}
|
||||||
render() {
|
render() {
|
||||||
const { projectlist, staloading, tlist, trelist, pagelist, disposalList } = this.props;
|
const { projectlist, staloading, tlist, trelist, pagelist, disposalList } = this.props;
|
||||||
const { datevalue, messId, messageDetail, detailId, noticeDetail, questData, questVisible, } = this.state;
|
const { datevalue, messId, messageDetail, detailId, noticeDetail, questData, questVisible, } = this.state;
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{/* <a className={isFlash && !isModalVisible ? "talk text-effect":"talk"} onClick={() => this.initChatUI()}>咨询服务︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a> */}
|
<Popconfirm
|
||||||
|
title={()=>{
|
||||||
|
return <><p>系统操作咨询仅可以解决您在平台的操作问题,如想了解发票、保证金及项目相关问题请点击具体项目的咨询窗口进行咨询。</p>
|
||||||
|
<p>是否还要继续咨询系统操作问题?</p></>
|
||||||
|
}}
|
||||||
|
onConfirm={()=>this.initChatUI()}
|
||||||
|
okText="是"
|
||||||
|
cancelText="否"
|
||||||
|
>
|
||||||
|
<a className="talk">系统操作咨询︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a>
|
||||||
|
</Popconfirm>
|
||||||
|
{/* <a className="talk" onClick={() => this.initChatUI()}>系统操作咨询︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a> */}
|
||||||
<div className="dashboard" style={{ height: innerHeight - 70, overflow: "hidden" }}>
|
<div className="dashboard" style={{ height: innerHeight - 70, overflow: "hidden" }}>
|
||||||
<Row className="topt">
|
<Row className="topt">
|
||||||
<Col span={8}><Card title="我的消息" bordered={false} className="cardtre" style={{ marginRight: "10px" }} extra={<div className="moret" onClick={() => history.push('/SystemMessage/message')}>更多<RightOutlined /></div>}>
|
<Col span={8}><Card title="我的消息" bordered={false} className="cardtre" style={{ marginRight: "10px" }} extra={<div className="moret" onClick={() => history.push('/SystemMessage/message')}>更多<RightOutlined /></div>}>
|
||||||
|
@ -266,7 +266,7 @@
|
|||||||
right: 0;
|
right: 0;
|
||||||
bottom: 100px;
|
bottom: 100px;
|
||||||
width: 38px;
|
width: 38px;
|
||||||
height: 300px;
|
height: 320px;
|
||||||
border-top-left-radius: 10px;
|
border-top-left-radius: 10px;
|
||||||
border-bottom-left-radius: 10px;
|
border-bottom-left-radius: 10px;
|
||||||
padding: 10px 6px 0;
|
padding: 10px 6px 0;
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
import React, { PureComponent } from 'react';
|
import React, { PureComponent } from 'react';
|
||||||
import { history } from 'umi';
|
import { history } from 'umi';
|
||||||
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic, Spin, Empty, message, Modal } from 'antd';
|
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic, Spin, Empty, message, Modal,Popconfirm, Space } from 'antd';
|
||||||
// import PageHeaderWrapper from '@/components/PageHeaderWrapper';
|
// import PageHeaderWrapper from '@/components/PageHeaderWrapper';
|
||||||
import { connect } from 'dva';
|
import { connect } from 'dva';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
// import talkPng from '@/images/talk/talk.png';
|
import talkPng from '@/images/talk/talk.png';
|
||||||
import { routerRedux } from 'dva/router';
|
import { routerRedux } from 'dva/router';
|
||||||
import { RightOutlined } from '@ant-design/icons';
|
import { RightOutlined } from '@ant-design/icons';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import { followUpAProjectManager } from '@/utils/session';
|
import { followUpAProjectManager, getSessionUserData } from '@/utils/session';
|
||||||
import { getDefId, isInsertIdOrPhoto } from './service';
|
import { getDefId, isInsertIdOrPhoto } from './service';
|
||||||
import { getURLInformation } from '@/utils/CommonUtils';
|
import { getURLInformation } from '@/utils/CommonUtils';
|
||||||
import MessageDetail from '@/pages/SystemMessage/message/components/messageDetail'
|
import MessageDetail from '@/pages/SystemMessage/message/components/messageDetail'
|
||||||
@ -16,6 +16,8 @@ import NoticeDetail from '@/pages/notice/noticeList/components/NoticeDetail'
|
|||||||
import QuestDetail from '@/pages/SystemMessage/message/components/questDetail'
|
import QuestDetail from '@/pages/SystemMessage/message/components/questDetail'
|
||||||
import { getQuestList } from '@/pages/SystemMessage/message/service'
|
import { getQuestList } from '@/pages/SystemMessage/message/service'
|
||||||
import ApprovalDetail from '@/pages/SystemMessage/message/components/approvalDetail'
|
import ApprovalDetail from '@/pages/SystemMessage/message/components/approvalDetail'
|
||||||
|
import { submitHiddenForm, createHiddenForm } from '@/utils/CustomerService' //智慧客服
|
||||||
|
import kefu from '@/assets/img/kefu.png' //智慧客服
|
||||||
@connect(({ dashboard, loading }) => ({
|
@connect(({ dashboard, loading }) => ({
|
||||||
...dashboard,
|
...dashboard,
|
||||||
downlistLoading: loading.effects['dashboard/fetchDowntlist'],
|
downlistLoading: loading.effects['dashboard/fetchDowntlist'],
|
||||||
@ -32,6 +34,7 @@ class manager extends PureComponent {
|
|||||||
questData: {},//问卷数据
|
questData: {},//问卷数据
|
||||||
questVisible: false,//问卷弹窗
|
questVisible: false,//问卷弹窗
|
||||||
mainDetail: false, // 审批单消息弹窗
|
mainDetail: false, // 审批单消息弹窗
|
||||||
|
kefuTip: false, // 客服弹窗
|
||||||
// NTKF_PARAM: {
|
// NTKF_PARAM: {
|
||||||
// siteid: "bl_1000", //企业ID,,为固定值
|
// siteid: "bl_1000", //企业ID,,为固定值
|
||||||
// settingid: "bl_1000_1492484340268", //接待组ID,为固定值,必填
|
// settingid: "bl_1000_1492484340268", //接待组ID,为固定值,必填
|
||||||
@ -150,6 +153,57 @@ class manager extends PureComponent {
|
|||||||
await followUpAProjectManager(data);
|
await followUpAProjectManager(data);
|
||||||
history.push('/ProjectLayout/Manager/HomePageSectionList');
|
history.push('/ProjectLayout/Manager/HomePageSectionList');
|
||||||
};
|
};
|
||||||
|
//触发客服
|
||||||
|
initChatUI = () => {
|
||||||
|
let roleAuthority = 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: null,
|
||||||
|
paraName: 'tenderAgencyId',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: 'EMPTY',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'tenderAgencyName',
|
||||||
|
isEncode: true,
|
||||||
|
paraVal: '招标采购中心客服',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'roleAuthority',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: JSON.parse(roleAuthority)[0],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'module',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: '2',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'custType',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: '1',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
createHiddenForm(inputList, window.location.pathname)
|
||||||
|
submitHiddenForm()
|
||||||
|
}
|
||||||
//判断是否有身份证号或照片
|
//判断是否有身份证号或照片
|
||||||
isIdOrPhoto = () => {
|
isIdOrPhoto = () => {
|
||||||
const { warning } = Modal;
|
const { warning } = Modal;
|
||||||
@ -171,7 +225,22 @@ class manager extends PureComponent {
|
|||||||
const { datevalue, messId, messageDetail, detailId, noticeDetail, questData, questVisible, mainDetail, } = this.state;
|
const { datevalue, messId, messageDetail, detailId, noticeDetail, questData, questVisible, mainDetail, } = this.state;
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{/* <a className="talk" >咨询服务︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a> */}
|
{/* <Popconfirm
|
||||||
|
title={()=>{
|
||||||
|
return <><p>您好,系统操作咨询仅可以解决您在平台的操作问题,如想了解发票、保证金及项目相关问题请点击具体项目的咨询窗口进行咨询。</p>
|
||||||
|
<p>是否还要继续咨询系统操作问题?</p></>
|
||||||
|
}}
|
||||||
|
onConfirm={()=>this.initChatUI()}
|
||||||
|
okText="是"
|
||||||
|
cancelText="否"
|
||||||
|
>
|
||||||
|
<a className="talk">系统操作咨询︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a>
|
||||||
|
</Popconfirm> */}
|
||||||
|
<a className="talk" onClick={() => {
|
||||||
|
this.setState({
|
||||||
|
kefuTip: true
|
||||||
|
})
|
||||||
|
}}>系统操作咨询︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a>
|
||||||
<div className="dashboard" style={{ height: innerHeight - 70, overflow: "hidden" }}>
|
<div className="dashboard" style={{ height: innerHeight - 70, overflow: "hidden" }}>
|
||||||
<Row className="topt">
|
<Row className="topt">
|
||||||
<Col span={8}><Card title="我的消息" bordered={false} className="cardtre" style={{ marginRight: "10px" }} extra={<div className="moret" onClick={() => {
|
<Col span={8}><Card title="我的消息" bordered={false} className="cardtre" style={{ marginRight: "10px" }} extra={<div className="moret" onClick={() => {
|
||||||
@ -299,6 +368,41 @@ class manager extends PureComponent {
|
|||||||
{
|
{
|
||||||
idList.length > 0 ? <ApprovalDetail approvalId={idList[0]} dateNum={dateNum} trelist={idList} onCancel={() => { this.closeModel(), this.props.dispatch({ type: "dashboard/fetchtClarify", payload: { authorizestate: '0', templatetype: '4', size: 6 } }) }} modalVisible={mainDetail} /> : null
|
idList.length > 0 ? <ApprovalDetail approvalId={idList[0]} dateNum={dateNum} trelist={idList} onCancel={() => { this.closeModel(), this.props.dispatch({ type: "dashboard/fetchtClarify", payload: { authorizestate: '0', templatetype: '4', size: 6 } }) }} modalVisible={mainDetail} /> : null
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
this.state.kefuTip ? <div style={{ border:'1px solid grey', borderRadius: '10px', backgroundColor:'white',position:'absolute', width:'600px', left:'50%', top:'50%',transform:'translate(-50%,-50%)'}}>
|
||||||
|
<div style={{padding:'10px',borderRadius: '6px 6px 0px 0px',backgroundColor:'rgb(179,0,0)', color:'white'}}>
|
||||||
|
温馨提示
|
||||||
|
</div>
|
||||||
|
<div style={{padding:'10px'}}>
|
||||||
|
<p>您好,系统操作咨询仅可以解决您在<span style={{color:'rgb(179,0,0)', fontWeight:'bolder'}}>平台的操作使用问题。</span></p>
|
||||||
|
<p>如您需要咨询项目相关问题(发票、保证金等)请点击项目右侧<img style={{width:20,height:20,}} src={kefu} alt="" />进行咨询。</p>
|
||||||
|
<p>请问您是否咨询系统操作问题?</p>
|
||||||
|
</div>
|
||||||
|
<div style={{
|
||||||
|
//width:'200px',
|
||||||
|
position:'relative',
|
||||||
|
left:'50%',
|
||||||
|
transform:'translateX(-50%)',
|
||||||
|
display: 'inline-block',
|
||||||
|
margin: '8px 4px',
|
||||||
|
padding: '4px'
|
||||||
|
}}>
|
||||||
|
|
||||||
|
<Space
|
||||||
|
align='center'
|
||||||
|
>
|
||||||
|
<Button type='primary' onClick={() => {this.initChatUI();this.setState({
|
||||||
|
kefuTip: false
|
||||||
|
})}}>是</Button>
|
||||||
|
<Button onClick={() => this.setState({
|
||||||
|
kefuTip: false
|
||||||
|
})}>否
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>:null
|
||||||
|
}
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ import { history } from 'umi';
|
|||||||
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic, Spin, Empty, message } from 'antd';
|
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic, Spin, Empty, message } from 'antd';
|
||||||
import { connect } from 'dva';
|
import { connect } from 'dva';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
// import talkPng from '@/images/talk/talk.png';
|
import talkPng from '@/images/talk/talk.png';
|
||||||
import { routerRedux } from 'dva/router';
|
import { routerRedux } from 'dva/router';
|
||||||
import { RightOutlined } from '@ant-design/icons';
|
import { RightOutlined } from '@ant-design/icons';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
|
@ -3,7 +3,7 @@ import { history } from 'umi';
|
|||||||
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic, Spin, Empty, message } from 'antd';
|
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic, Spin, Empty, message } from 'antd';
|
||||||
import { connect } from 'dva';
|
import { connect } from 'dva';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
// import talkPng from '@/images/talk/talk.png';
|
import talkPng from '@/images/talk/talk.png';
|
||||||
import { routerRedux } from 'dva/router';
|
import { routerRedux } from 'dva/router';
|
||||||
import { RightOutlined } from '@ant-design/icons';
|
import { RightOutlined } from '@ant-design/icons';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import React, { PureComponent } from 'react';
|
import React, { PureComponent } from 'react';
|
||||||
import { history } from 'umi';
|
import { history } from 'umi';
|
||||||
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic, Spin, Empty, message } from 'antd';
|
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic, Spin, Empty, message, Popconfirm, Space } from 'antd';
|
||||||
import { connect } from 'dva';
|
import { connect } from 'dva';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
// import talkPng from '@/images/talk/talk.png';
|
import talkPng from '@/images/talk/talk.png';
|
||||||
import { routerRedux } from 'dva/router';
|
import { routerRedux } from 'dva/router';
|
||||||
import { RightOutlined } from '@ant-design/icons';
|
import { RightOutlined } from '@ant-design/icons';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
@ -16,7 +16,8 @@ import NoticeModal from '@/pages/Auction/NoticeModal/noticeModal'
|
|||||||
import StopReason from '@/pages/Auction/NoticeModal/stopReason'
|
import StopReason from '@/pages/Auction/NoticeModal/stopReason'
|
||||||
import QuestDetail from '@/pages/SystemMessage/message/components/questDetail'
|
import QuestDetail from '@/pages/SystemMessage/message/components/questDetail'
|
||||||
import { getQuestList } from '@/pages/SystemMessage/message/service'
|
import { getQuestList } from '@/pages/SystemMessage/message/service'
|
||||||
|
import { submitHiddenForm, createHiddenForm } from '@/utils/CustomerService' //智慧客服
|
||||||
|
import kefu from '@/assets/img/kefu.png' //智慧客服
|
||||||
@connect(({ dashboard, loading }) => ({
|
@connect(({ dashboard, loading }) => ({
|
||||||
...dashboard,
|
...dashboard,
|
||||||
fetchtShotList: loading.effects['dashboard/fetchtShotList'],
|
fetchtShotList: loading.effects['dashboard/fetchtShotList'],
|
||||||
@ -37,6 +38,7 @@ class manager extends PureComponent {
|
|||||||
questData: {},//问卷数据
|
questData: {},//问卷数据
|
||||||
questVisible: false, //问卷弹窗服
|
questVisible: false, //问卷弹窗服
|
||||||
roleIds: '',//智慧客服
|
roleIds: '',//智慧客服
|
||||||
|
kefuTip: false, // 客服弹窗
|
||||||
}
|
}
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.props.dispatch({
|
this.props.dispatch({
|
||||||
@ -141,13 +143,79 @@ class manager extends PureComponent {
|
|||||||
sessionStorage.setItem('projectData', JSON.stringify(projectData));
|
sessionStorage.setItem('projectData', JSON.stringify(projectData));
|
||||||
window.open("/AuctionViewAuctions/Index");
|
window.open("/AuctionViewAuctions/Index");
|
||||||
}
|
}
|
||||||
|
//触发客服
|
||||||
|
initChatUI = () => {
|
||||||
|
let roleAuthority = 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: null,
|
||||||
|
paraName: 'tenderAgencyId',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: 'EMPTY',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'tenderAgencyName',
|
||||||
|
isEncode: true,
|
||||||
|
paraVal: '招标采购中心客服',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'roleAuthority',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: JSON.parse(roleAuthority)[0],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'module',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: '2',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'custType',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: '1',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
createHiddenForm(inputList, window.location.pathname)
|
||||||
|
submitHiddenForm()
|
||||||
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { projectlist, staloading, tlist, trelist, shotList, Participants } = this.props;
|
const { projectlist, staloading, tlist, trelist, shotList, Participants } = this.props;
|
||||||
const { datevalue, messId, messageDetail, detailId, noticeDetail, noticeModalVis, projectId, isModalVisible, tpid, questData, questVisible, } = this.state;
|
const { datevalue, messId, messageDetail, detailId, noticeDetail, noticeModalVis, projectId, isModalVisible, tpid, questData, questVisible, } = this.state;
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{/* <a className={isFlash && !isChatModalVisible ? "talk text-effect":"talk"} onClick={() => this.initChatUI()}>咨询服务︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a> */}
|
{/* <Popconfirm
|
||||||
|
title={()=>{
|
||||||
|
return <><p>您好,系统操作咨询仅可以解决您在平台的操作问题,如想了解发票、保证金及项目相关问题请点击具体项目的咨询窗口进行咨询。</p>
|
||||||
|
<p>是否还要继续咨询系统操作问题?</p></>
|
||||||
|
}}
|
||||||
|
onConfirm={()=>this.initChatUI()}
|
||||||
|
okText="是"
|
||||||
|
cancelText="否"
|
||||||
|
>
|
||||||
|
<a className="talk">系统操作咨询︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a>
|
||||||
|
</Popconfirm> */}
|
||||||
|
<a className="talk" onClick={() => {
|
||||||
|
this.setState({
|
||||||
|
kefuTip: true
|
||||||
|
})
|
||||||
|
}}>系统操作咨询︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a>
|
||||||
<div className="dashboard" style={{ height: innerHeight - 70, overflow: "hidden" }}>
|
<div className="dashboard" style={{ height: innerHeight - 70, overflow: "hidden" }}>
|
||||||
<Row className="topt">
|
<Row className="topt">
|
||||||
<Col span={8}><Card title="我的消息" bordered={false} className="cardtre" style={{ marginRight: "10px" }} extra={<div className="moret" onClick={() => history.push('/SystemMessage/message')}>更多<RightOutlined /></div>}>
|
<Col span={8}><Card title="我的消息" bordered={false} className="cardtre" style={{ marginRight: "10px" }} extra={<div className="moret" onClick={() => history.push('/SystemMessage/message')}>更多<RightOutlined /></div>}>
|
||||||
@ -234,6 +302,41 @@ class manager extends PureComponent {
|
|||||||
{messageDetail ? <MessageDetail messId={messId} onCancel={() => { this.closeModel(), this.props.dispatch({ type: "dashboard/fetchtlistre", payload: { pageNo: 1, pageSize: 7 } }) }} modalVisible={messageDetail} /> : null}
|
{messageDetail ? <MessageDetail messId={messId} onCancel={() => { this.closeModel(), this.props.dispatch({ type: "dashboard/fetchtlistre", payload: { pageNo: 1, pageSize: 7 } }) }} modalVisible={messageDetail} /> : null}
|
||||||
{questVisible ? <QuestDetail questData={questData} onCancel={() => { this.closeParticipate(), this.props.dispatch({ type: "dashboard/fetchtlistre", payload: { pageNo: 1, pageSize: 7 } }) }} modalVisible={questVisible} /> : null}
|
{questVisible ? <QuestDetail questData={questData} onCancel={() => { this.closeParticipate(), this.props.dispatch({ type: "dashboard/fetchtlistre", payload: { pageNo: 1, pageSize: 7 } }) }} modalVisible={questVisible} /> : null}
|
||||||
{noticeDetail && <NoticeDetail detailId={detailId} onCancel={() => { this.noticeModel() }} modalVisible={noticeDetail} />}
|
{noticeDetail && <NoticeDetail detailId={detailId} onCancel={() => { this.noticeModel() }} modalVisible={noticeDetail} />}
|
||||||
|
{
|
||||||
|
this.state.kefuTip ? <div style={{ border:'1px solid grey', borderRadius: '10px', backgroundColor:'white',position:'absolute', width:'600px', left:'50%', top:'50%',transform:'translate(-50%,-50%)'}}>
|
||||||
|
<div style={{padding:'10px',borderRadius: '6px 6px 0px 0px',backgroundColor:'rgb(179,0,0)', color:'white'}}>
|
||||||
|
温馨提示
|
||||||
|
</div>
|
||||||
|
<div style={{padding:'10px'}}>
|
||||||
|
<p>您好,系统操作咨询仅可以解决您在<span style={{color:'rgb(179,0,0)', fontWeight:'bolder'}}>平台的操作使用问题。</span></p>
|
||||||
|
<p>如您需要咨询项目相关问题(发票、保证金等)请点击项目右侧<img style={{width:20,height:20,}} src={kefu} alt="" />进行咨询。</p>
|
||||||
|
<p>请问您是否咨询系统操作问题?</p>
|
||||||
|
</div>
|
||||||
|
<div style={{
|
||||||
|
//width:'200px',
|
||||||
|
position:'relative',
|
||||||
|
left:'50%',
|
||||||
|
transform:'translateX(-50%)',
|
||||||
|
display: 'inline-block',
|
||||||
|
margin: '8px 4px',
|
||||||
|
padding: '4px'
|
||||||
|
}}>
|
||||||
|
|
||||||
|
<Space
|
||||||
|
align='center'
|
||||||
|
>
|
||||||
|
<Button type='primary' onClick={() => {this.initChatUI();this.setState({
|
||||||
|
kefuTip: false
|
||||||
|
})}}>是</Button>
|
||||||
|
<Button onClick={() => this.setState({
|
||||||
|
kefuTip: false
|
||||||
|
})}>否
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>:null
|
||||||
|
}
|
||||||
<NoticeModal projectId={projectId} state={'3'} vis={noticeModalVis} close={() => { this.noticeModel() }} />
|
<NoticeModal projectId={projectId} state={'3'} vis={noticeModalVis} close={() => { this.noticeModel() }} />
|
||||||
<StopReason tpid={tpid} modalVisible={isModalVisible} onCancel={() => { this.noticeModel() }} />
|
<StopReason tpid={tpid} modalVisible={isModalVisible} onCancel={() => { this.noticeModel() }} />
|
||||||
</>
|
</>
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
import React, { PureComponent } from 'react';
|
import React, { PureComponent } from 'react';
|
||||||
import { history } from 'umi';
|
import { history } from 'umi';
|
||||||
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic, Spin, Empty, message } from 'antd';
|
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic, Spin, Empty, message,Popconfirm, Space } from 'antd';
|
||||||
// import PageHeaderWrapper from '@/components/PageHeaderWrapper';
|
// import PageHeaderWrapper from '@/components/PageHeaderWrapper';
|
||||||
import { connect } from 'dva';
|
import { connect } from 'dva';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
// import talkPng from '@/images/talk/talk.png';
|
import talkPng from '@/images/talk/talk.png';
|
||||||
import { routerRedux } from 'dva/router';
|
import { routerRedux } from 'dva/router';
|
||||||
import { RightOutlined } from '@ant-design/icons';
|
import { RightOutlined } from '@ant-design/icons';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import { followUpAProjectManager, getRA } from '@/utils/session';
|
import { followUpAProjectManager, getRA, getSessionUserData } from '@/utils/session';
|
||||||
import { getDefId } from './service';
|
import { getDefId } from './service';
|
||||||
import { getURLInformation } from '@/utils/CommonUtils';
|
import { getURLInformation } from '@/utils/CommonUtils';
|
||||||
import MessageDetail from '@/pages/SystemMessage/message/components/messageDetail'
|
import MessageDetail from '@/pages/SystemMessage/message/components/messageDetail'
|
||||||
@ -16,6 +16,8 @@ import NoticeDetail from '@/pages/notice/noticeList/components/NoticeDetail'
|
|||||||
import QuestDetail from '@/pages/SystemMessage/message/components/questDetail'
|
import QuestDetail from '@/pages/SystemMessage/message/components/questDetail'
|
||||||
import { getQuestList } from '@/pages/SystemMessage/message/service'
|
import { getQuestList } from '@/pages/SystemMessage/message/service'
|
||||||
import ApprovalDetail from '@/pages/SystemMessage/message/components/approvalDetail'
|
import ApprovalDetail from '@/pages/SystemMessage/message/components/approvalDetail'
|
||||||
|
import {submitHiddenForm, createHiddenForm} from '@/utils/CustomerService' //智慧客服
|
||||||
|
import kefu from '@/assets/img/kefu.png' //智慧客服
|
||||||
@connect(({ dashboard, loading }) => ({
|
@connect(({ dashboard, loading }) => ({
|
||||||
...dashboard,
|
...dashboard,
|
||||||
downlistLoading: loading.effects['dashboard/fetchDowntlist'],
|
downlistLoading: loading.effects['dashboard/fetchDowntlist'],
|
||||||
@ -33,6 +35,7 @@ class manager extends PureComponent {
|
|||||||
questVisible: false, //问卷弹窗
|
questVisible: false, //问卷弹窗
|
||||||
mainDetail: false, // 审批单消息弹窗
|
mainDetail: false, // 审批单消息弹窗
|
||||||
isModalVisible: false, //智慧客服
|
isModalVisible: false, //智慧客服
|
||||||
|
kefuTip: false, // 客服弹窗
|
||||||
}
|
}
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.props.dispatch({
|
this.props.dispatch({
|
||||||
@ -131,13 +134,78 @@ class manager extends PureComponent {
|
|||||||
await followUpAProjectManager(data);
|
await followUpAProjectManager(data);
|
||||||
history.push('/ProjectLayout/Manager/HomePageSectionList');
|
history.push('/ProjectLayout/Manager/HomePageSectionList');
|
||||||
};
|
};
|
||||||
|
//触发客服
|
||||||
|
initChatUI = ()=>{
|
||||||
|
let roleAuthority = 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:null,
|
||||||
|
paraName:'tenderAgencyId',
|
||||||
|
isEncode:false,
|
||||||
|
paraVal:'EMPTY',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label:null,
|
||||||
|
paraName:'tenderAgencyName',
|
||||||
|
isEncode:true,
|
||||||
|
paraVal:'招标采购中心客服',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label:null,
|
||||||
|
paraName:'roleAuthority',
|
||||||
|
isEncode:false,
|
||||||
|
paraVal:JSON.parse(roleAuthority)[0],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label:null,
|
||||||
|
paraName:'module',
|
||||||
|
isEncode:false,
|
||||||
|
paraVal:'2',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label:null,
|
||||||
|
paraName:'custType',
|
||||||
|
isEncode:false,
|
||||||
|
paraVal:'1',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
createHiddenForm(inputList, window.location.pathname)
|
||||||
|
submitHiddenForm()
|
||||||
|
}
|
||||||
render() {
|
render() {
|
||||||
const { downlist, projectlist, staloading, tlist, trelist, idList, dateNum } = this.props;
|
const { downlist, projectlist, staloading, tlist, trelist, idList, dateNum } = this.props;
|
||||||
const { datevalue, messId, messageDetail, detailId, noticeDetail, questData, questVisible, mainDetail, } = this.state; //智慧客服state
|
const { datevalue, messId, messageDetail, detailId, noticeDetail, questData, questVisible, mainDetail, } = this.state; //智慧客服state
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{/* <a className={isFlash && !isModalVisible ? "talk text-effect":"talk"}onClick={() => this.initChatUI()}>咨询服务︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a> */}
|
{/* <Popconfirm
|
||||||
|
title={()=>{
|
||||||
|
return <><p>您好,系统操作咨询仅可以解决您在平台的操作问题,如想了解发票、保证金及项目相关问题请点击具体项目的咨询窗口进行咨询。</p>
|
||||||
|
<p>是否还要继续咨询系统操作问题?</p></>
|
||||||
|
}}
|
||||||
|
onConfirm={()=>this.initChatUI()}
|
||||||
|
okText="是"
|
||||||
|
cancelText="否"
|
||||||
|
>
|
||||||
|
<a className="talk">系统操作咨询︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a>
|
||||||
|
</Popconfirm> */}
|
||||||
|
<a className="talk" onClick={() => {
|
||||||
|
this.setState({
|
||||||
|
kefuTip: true
|
||||||
|
})
|
||||||
|
}}>系统操作咨询︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a>
|
||||||
<div className="dashboard" style={{ height: innerHeight - 70, overflow: "hidden" }}>
|
<div className="dashboard" style={{ height: innerHeight - 70, overflow: "hidden" }}>
|
||||||
<Row className="topt">
|
<Row className="topt">
|
||||||
<Col span={8}><Card title="我的消息" bordered={false} className="cardtre" style={{ marginRight: "10px" }} extra={<div className="moret" onClick={() => history.push('/SystemMessage/message')}>更多<RightOutlined /></div>}>
|
<Col span={8}><Card title="我的消息" bordered={false} className="cardtre" style={{ marginRight: "10px" }} extra={<div className="moret" onClick={() => history.push('/SystemMessage/message')}>更多<RightOutlined /></div>}>
|
||||||
@ -259,6 +327,41 @@ class manager extends PureComponent {
|
|||||||
{
|
{
|
||||||
idList.length > 0 ? <ApprovalDetail approvalId={idList[0]} dateNum={dateNum} trelist={idList} onCancel={() => { this.closeModel(), this.props.dispatch({ type: "dashboard/fetchtClarify", payload: { authorizestate: '0', templatetype: '4', size: 6 } }) }} modalVisible={mainDetail} /> : null
|
idList.length > 0 ? <ApprovalDetail approvalId={idList[0]} dateNum={dateNum} trelist={idList} onCancel={() => { this.closeModel(), this.props.dispatch({ type: "dashboard/fetchtClarify", payload: { authorizestate: '0', templatetype: '4', size: 6 } }) }} modalVisible={mainDetail} /> : null
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
this.state.kefuTip ? <div style={{ border:'1px solid grey', borderRadius: '10px', backgroundColor:'white',position:'absolute', width:'600px', left:'50%', top:'50%',transform:'translate(-50%,-50%)'}}>
|
||||||
|
<div style={{padding:'10px',borderRadius: '6px 6px 0px 0px',backgroundColor:'rgb(179,0,0)', color:'white'}}>
|
||||||
|
温馨提示
|
||||||
|
</div>
|
||||||
|
<div style={{padding:'10px'}}>
|
||||||
|
<p>您好,系统操作咨询仅可以解决您在<span style={{color:'rgb(179,0,0)', fontWeight:'bolder'}}>平台的操作使用问题。</span></p>
|
||||||
|
<p>如您需要咨询项目相关问题(发票、保证金等)请点击项目右侧<img style={{width:20,height:20,}} src={kefu} alt="" />进行咨询。</p>
|
||||||
|
<p>请问您是否咨询系统操作问题?</p>
|
||||||
|
</div>
|
||||||
|
<div style={{
|
||||||
|
//width:'200px',
|
||||||
|
position:'relative',
|
||||||
|
left:'50%',
|
||||||
|
transform:'translateX(-50%)',
|
||||||
|
display: 'inline-block',
|
||||||
|
margin: '8px 4px',
|
||||||
|
padding: '4px'
|
||||||
|
}}>
|
||||||
|
|
||||||
|
<Space
|
||||||
|
align='center'
|
||||||
|
>
|
||||||
|
<Button type='primary' onClick={() => {this.initChatUI();this.setState({
|
||||||
|
kefuTip: false
|
||||||
|
})}}>是</Button>
|
||||||
|
<Button onClick={() => this.setState({
|
||||||
|
kefuTip: false
|
||||||
|
})}>否
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>:null
|
||||||
|
}
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
import React, { PureComponent } from 'react';
|
import React, { PureComponent } from 'react';
|
||||||
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic } from 'antd';
|
import { Row, Col, Tooltip, Card, List, DatePicker, Button, Statistic,Popconfirm, Space } from 'antd';
|
||||||
import { history } from 'umi';
|
import { history } from 'umi';
|
||||||
// import PageHeaderWrapper from '@/components/PageHeaderWrapper';
|
// import PageHeaderWrapper from '@/components/PageHeaderWrapper';
|
||||||
import { connect } from 'dva';
|
import { connect } from 'dva';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
// import talkPng from '@/images/talk/talk.png';
|
import talkPng from '@/images/talk/talk.png';
|
||||||
import { routerRedux } from 'dva/router';
|
import { routerRedux } from 'dva/router';
|
||||||
import { RightOutlined } from '@ant-design/icons';
|
import { RightOutlined } from '@ant-design/icons';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import { followUpAProjectSupplier, getRA } from '@/utils/session';
|
import { followUpAProjectSupplier, getSessionUserData, getRA } from '@/utils/session';
|
||||||
import { getDefId } from './service';
|
import { getDefId } from './service';
|
||||||
import { getURLInformation } from '@/utils/CommonUtils';
|
import { getURLInformation } from '@/utils/CommonUtils';
|
||||||
import MainDetail from '@/pages/SystemMessage/message/components/pageDetail'
|
import MainDetail from '@/pages/SystemMessage/message/components/pageDetail'
|
||||||
@ -18,6 +18,8 @@ import IParticipateIn from '@/utils/IParticipateIn'
|
|||||||
import InvitationLetter from '@/utils/InvitationLetter'
|
import InvitationLetter from '@/utils/InvitationLetter'
|
||||||
import QuestDetail from '@/pages/SystemMessage/message/components/questDetail'
|
import QuestDetail from '@/pages/SystemMessage/message/components/questDetail'
|
||||||
import { getQuestList } from '@/pages/SystemMessage/message/service'
|
import { getQuestList } from '@/pages/SystemMessage/message/service'
|
||||||
|
import {submitHiddenForm, createHiddenForm} from '@/utils/CustomerService' //智慧客服
|
||||||
|
import kefu from '@/assets/img/kefu.png' //智慧客服
|
||||||
@connect(({ dashboard, loading }) => ({
|
@connect(({ dashboard, loading }) => ({
|
||||||
...dashboard,
|
...dashboard,
|
||||||
downlistLoading: loading.effects['dashboard/fetchDowntlist'],
|
downlistLoading: loading.effects['dashboard/fetchDowntlist'],
|
||||||
@ -38,6 +40,7 @@ class supplier extends PureComponent {
|
|||||||
questData: {},//问卷数据
|
questData: {},//问卷数据
|
||||||
questVisible: false, //问卷弹窗
|
questVisible: false, //问卷弹窗
|
||||||
datestring: moment().format('YYYY-MM'),//我参与的项目日期
|
datestring: moment().format('YYYY-MM'),//我参与的项目日期
|
||||||
|
kefuTip: false, // 客服弹窗
|
||||||
}
|
}
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
const paramst = {
|
const paramst = {
|
||||||
@ -176,12 +179,78 @@ class supplier extends PureComponent {
|
|||||||
invitationDetail: true
|
invitationDetail: true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
//触发客服
|
||||||
|
initChatUI = ()=>{
|
||||||
|
let roleAuthority = 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:null,
|
||||||
|
paraName:'tenderAgencyId',
|
||||||
|
isEncode:false,
|
||||||
|
paraVal:'EMPTY',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label:null,
|
||||||
|
paraName:'tenderAgencyName',
|
||||||
|
isEncode:true,
|
||||||
|
paraVal:'招标采购中心客服',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label:null,
|
||||||
|
paraName:'roleAuthority',
|
||||||
|
isEncode:false,
|
||||||
|
paraVal:JSON.parse(roleAuthority)[0],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label:null,
|
||||||
|
paraName:'module',
|
||||||
|
isEncode:false,
|
||||||
|
paraVal:'2',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label:null,
|
||||||
|
paraName:'custType',
|
||||||
|
isEncode:false,
|
||||||
|
paraVal:'1',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
createHiddenForm(inputList, window.location.pathname)
|
||||||
|
submitHiddenForm()
|
||||||
|
}
|
||||||
render() {
|
render() {
|
||||||
const { supplieruplist, supplierleftlist, supplierrightlist, staloading, tlist, trelist, idList, dateNum } = this.props;
|
const { supplieruplist, supplierleftlist, supplierrightlist, staloading, tlist, trelist, idList, dateNum } = this.props;
|
||||||
const { datevalue, messId, messageDetail, mainDetail, detailId, noticeDetail, joinData, joinDetail, invitationData, invitationDetail, questData, questVisible, } = this.state;
|
const { datevalue, messId, messageDetail, mainDetail, detailId, noticeDetail, joinData, joinDetail, invitationData, invitationDetail, questData, questVisible, } = this.state;
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{/* <a className="talk" onClick={() => this.initChatUI()}>咨询服务︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a> */}
|
{/* <Popconfirm
|
||||||
|
title={()=>{
|
||||||
|
return <><p>您好,系统操作咨询仅可以解决您在平台的操作问题,如想了解发票、保证金及项目相关问题请点击具体项目的咨询窗口进行咨询。</p>
|
||||||
|
<p>是否还要继续咨询系统操作问题?</p></>
|
||||||
|
}}
|
||||||
|
onConfirm={()=>this.initChatUI()}
|
||||||
|
okText="是"
|
||||||
|
cancelText="否"
|
||||||
|
>
|
||||||
|
<a className="talk">系统操作咨询︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a>
|
||||||
|
</Popconfirm> */}
|
||||||
|
<a className="talk" onClick={() => {
|
||||||
|
this.setState({
|
||||||
|
kefuTip: true
|
||||||
|
})
|
||||||
|
}}>系统操作咨询︵<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span>︶<img src={talkPng} /></a>
|
||||||
<div className="dashboard" style={{ height: innerHeight - 70, overflow: "hidden" }}>
|
<div className="dashboard" style={{ height: innerHeight - 70, overflow: "hidden" }}>
|
||||||
<Row className="topt">
|
<Row className="topt">
|
||||||
<Col span={8}><Card title="我的消息" bordered={false} className="cardtre" style={{ marginRight: "10px" }} extra={<div className="moret" onClick={() => history.push('/SystemMessage/message')}>更多<RightOutlined /></div>}>
|
<Col span={8}><Card title="我的消息" bordered={false} className="cardtre" style={{ marginRight: "10px" }} extra={<div className="moret" onClick={() => history.push('/SystemMessage/message')}>更多<RightOutlined /></div>}>
|
||||||
@ -292,6 +361,41 @@ class supplier extends PureComponent {
|
|||||||
{noticeDetail && <NoticeDetail detailId={detailId} onCancel={() => { this.noticeModel() }} modalVisible={noticeDetail} />}
|
{noticeDetail && <NoticeDetail detailId={detailId} onCancel={() => { this.noticeModel() }} modalVisible={noticeDetail} />}
|
||||||
{joinData == '' ? null : <IParticipateIn projectData={joinData} setVisible={() => { this.noticeModel() }} visible={joinDetail} />}
|
{joinData == '' ? null : <IParticipateIn projectData={joinData} setVisible={() => { this.noticeModel() }} visible={joinDetail} />}
|
||||||
{invitationData == '' ? null : <InvitationLetter projectData={invitationData} setVisible={() => { this.noticeModel() }} visible={invitationDetail} />}
|
{invitationData == '' ? null : <InvitationLetter projectData={invitationData} setVisible={() => { this.noticeModel() }} visible={invitationDetail} />}
|
||||||
|
{
|
||||||
|
this.state.kefuTip ? <div style={{ border:'1px solid grey', borderRadius: '10px', backgroundColor:'white',position:'absolute', width:'600px', left:'50%', top:'50%',transform:'translate(-50%,-50%)'}}>
|
||||||
|
<div style={{padding:'10px',borderRadius: '6px 6px 0px 0px',backgroundColor:'rgb(179,0,0)', color:'white'}}>
|
||||||
|
温馨提示
|
||||||
|
</div>
|
||||||
|
<div style={{padding:'10px'}}>
|
||||||
|
<p>您好,系统操作咨询仅可以解决您在<span style={{color:'rgb(179,0,0)', fontWeight:'bolder'}}>平台的操作使用问题。</span></p>
|
||||||
|
<p>如您需要咨询项目相关问题(发票、保证金等)请点击项目右侧<img style={{width:20,height:20,}} src={kefu} alt="" />进行咨询。</p>
|
||||||
|
<p>请问您是否咨询系统操作问题?</p>
|
||||||
|
</div>
|
||||||
|
<div style={{
|
||||||
|
//width:'200px',
|
||||||
|
position:'relative',
|
||||||
|
left:'50%',
|
||||||
|
transform:'translateX(-50%)',
|
||||||
|
display: 'inline-block',
|
||||||
|
margin: '8px 4px',
|
||||||
|
padding: '4px'
|
||||||
|
}}>
|
||||||
|
|
||||||
|
<Space
|
||||||
|
align='center'
|
||||||
|
>
|
||||||
|
<Button type='primary' onClick={() => {this.initChatUI();this.setState({
|
||||||
|
kefuTip: false
|
||||||
|
})}}>是</Button>
|
||||||
|
<Button onClick={() => this.setState({
|
||||||
|
kefuTip: false
|
||||||
|
})}>否
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>:null
|
||||||
|
}
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -293,6 +293,12 @@ const ProjectDocumentation: React.FC = () => {
|
|||||||
isEncode: false,
|
isEncode: false,
|
||||||
paraVal: data.organizationId,
|
paraVal: data.organizationId,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'appManagerTel',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: record.appManagerTel,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '项目名称',
|
label: '项目名称',
|
||||||
paraName: 'projectName',
|
paraName: 'projectName',
|
||||||
@ -353,6 +359,12 @@ const ProjectDocumentation: React.FC = () => {
|
|||||||
isEncode: false,
|
isEncode: false,
|
||||||
paraVal: JSON.parse(roleAuthority)[0],
|
paraVal: JSON.parse(roleAuthority)[0],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'province',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: record.province,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: null,
|
label: null,
|
||||||
paraName: 'module',
|
paraName: 'module',
|
||||||
|
@ -51,6 +51,7 @@ const PurchasingManagerEnquiries: React.FC = () => {
|
|||||||
{
|
{
|
||||||
title: '我要咨询',
|
title: '我要咨询',
|
||||||
dataIndex: 'consult',
|
dataIndex: 'consult',
|
||||||
|
search: false,
|
||||||
render: (text: any, record: any) => (
|
render: (text: any, record: any) => (
|
||||||
<span onClick={() => { saveTmpForm(record); initChatUI() }}><img style={{ width: 20, height: 20, cursor: 'pointer' }} src={kefu} alt="" /></span>
|
<span onClick={() => { saveTmpForm(record); initChatUI() }}><img style={{ width: 20, height: 20, cursor: 'pointer' }} src={kefu} alt="" /></span>
|
||||||
),
|
),
|
||||||
@ -122,6 +123,12 @@ const PurchasingManagerEnquiries: React.FC = () => {
|
|||||||
isEncode: false,
|
isEncode: false,
|
||||||
paraVal: data.organizationId,
|
paraVal: data.organizationId,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'appManagerTel',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: record.appManagerTel,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '项目名称',
|
label: '项目名称',
|
||||||
paraName: 'projectName',
|
paraName: 'projectName',
|
||||||
@ -182,6 +189,12 @@ const PurchasingManagerEnquiries: React.FC = () => {
|
|||||||
isEncode: false,
|
isEncode: false,
|
||||||
paraVal: JSON.parse(roleAuthority)[0],
|
paraVal: JSON.parse(roleAuthority)[0],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'province',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: record.province,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: null,
|
label: null,
|
||||||
paraName: 'module',
|
paraName: 'module',
|
||||||
|
@ -126,6 +126,7 @@ const Index: React.FC<{}> = () => {
|
|||||||
{
|
{
|
||||||
title: '我要咨询',
|
title: '我要咨询',
|
||||||
dataIndex: 'consult',
|
dataIndex: 'consult',
|
||||||
|
search: false,
|
||||||
render: (text: any, record: any) => (
|
render: (text: any, record: any) => (
|
||||||
<span onClick={() => { saveTmpForm(record); initChatUI() }}><img style={{ width: 20, height: 20, cursor: 'pointer' }} src={kefu} alt="" /></span>
|
<span onClick={() => { saveTmpForm(record); initChatUI() }}><img style={{ width: 20, height: 20, cursor: 'pointer' }} src={kefu} alt="" /></span>
|
||||||
),
|
),
|
||||||
@ -415,12 +416,24 @@ const Index: React.FC<{}> = () => {
|
|||||||
isEncode: false,
|
isEncode: false,
|
||||||
paraVal: 'eBid',
|
paraVal: 'eBid',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'appManagerTel',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: record.appManagerTel,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: null,
|
label: null,
|
||||||
paraName: 'organizationId',
|
paraName: 'organizationId',
|
||||||
isEncode: false,
|
isEncode: false,
|
||||||
paraVal: data.organizationId,
|
paraVal: data.organizationId,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'province',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: record.province,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '项目名称',
|
label: '项目名称',
|
||||||
paraName: 'projectName',
|
paraName: 'projectName',
|
||||||
|
@ -104,6 +104,18 @@ const LookingForBusinessOpportunitiesList: React.FC = () => {
|
|||||||
isEncode: false,
|
isEncode: false,
|
||||||
paraVal: data.organizationId,
|
paraVal: data.organizationId,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'appManagerTel',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: record.appManagerTel,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'province',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: record.province,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '项目名称',
|
label: '项目名称',
|
||||||
paraName: 'projectName',
|
paraName: 'projectName',
|
||||||
@ -202,6 +214,7 @@ const LookingForBusinessOpportunitiesList: React.FC = () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '我要咨询',
|
title: '我要咨询',
|
||||||
|
search: false,
|
||||||
dataIndex: 'consult',
|
dataIndex: 'consult',
|
||||||
render: (text: any, record: any) => (
|
render: (text: any, record: any) => (
|
||||||
<span onClick={() => { initChatUI(record) }}><img style={{ width: 20, height: 20, cursor: 'pointer' }} src={kefu} alt="" /></span>
|
<span onClick={() => { initChatUI(record) }}><img style={{ width: 20, height: 20, cursor: 'pointer' }} src={kefu} alt="" /></span>
|
||||||
|
@ -124,6 +124,18 @@ const LookingForBusinessOpportunitiesList: React.FC<{}> = () => {
|
|||||||
isEncode: false,
|
isEncode: false,
|
||||||
paraVal: data.organizationId,
|
paraVal: data.organizationId,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'appManagerTel',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: record.appManagerTel,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: null,
|
||||||
|
paraName: 'province',
|
||||||
|
isEncode: false,
|
||||||
|
paraVal: record.province,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '项目名称',
|
label: '项目名称',
|
||||||
paraName: 'projectName',
|
paraName: 'projectName',
|
||||||
@ -251,6 +263,7 @@ const LookingForBusinessOpportunitiesList: React.FC<{}> = () => {
|
|||||||
{
|
{
|
||||||
title: '我要咨询',
|
title: '我要咨询',
|
||||||
dataIndex: 'consult',
|
dataIndex: 'consult',
|
||||||
|
search:false,
|
||||||
render: (text: any, record: any) => (
|
render: (text: any, record: any) => (
|
||||||
<span onClick={() => { initChatUI(record) }}><img style={{ width: 20, height: 20, cursor: 'pointer' }} src={kefu} alt="" /></span>
|
<span onClick={() => { initChatUI(record) }}><img style={{ width: 20, height: 20, cursor: 'pointer' }} src={kefu} alt="" /></span>
|
||||||
),
|
),
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
/*客服系统专用*/
|
/*客服系统专用*/
|
||||||
//跨系统post传参
|
//跨系统post传参
|
||||||
|
|
||||||
export const bizServiceCustomService = REACT_APP_CUSTOMERSERVICE_USERCENTER + '&client_id=' + REACT_APP_CUSTOMERSERVICE_CLIENT_ID + '&redirect_uri=' + REACT_APP_CUSTOMERSERVICE_REDIRECT + '/redirect?page=home&mall3_token=';//智慧客服
|
export const bizServiceCustomService = REACT_APP_CUSTOMERSERVICE_USERCENTER + '&client_id=' + REACT_APP_CUSTOMERSERVICE_CLIENT_ID + '&redirect_uri=' + REACT_APP_CUSTOMERSERVICE_REDIRECT + '/redirect?page=home&mall3_token=';//智慧客服
|
||||||
//export const bizServiceCustomService = REACT_APP_CUSTOMERSERVICE_USERCENTER + '&client_id=S00hFPxc&redirect_uri=http://localhost:3000/redirect?page=home&mall3_token=';//智慧客服
|
//export const bizServiceCustomService = REACT_APP_CUSTOMERSERVICE_USERCENTER + '&client_id=S00hFPxc&redirect_uri=http://localhost:3000/redirect?page=home&mall3_token=';//智慧客服
|
||||||
export function windowOpenChatUI(inputList:any,pathname:string) {
|
export function windowOpenChatUI(inputList:any,pathname:string) {
|
||||||
@ -24,6 +23,7 @@
|
|||||||
input.id = 'tempInput_CustomerService'
|
input.id = 'tempInput_CustomerService'
|
||||||
input.name= 'sceneUrl'
|
input.name= 'sceneUrl'
|
||||||
input.value= pathname
|
input.value= pathname
|
||||||
|
input.type="hidden"
|
||||||
tempForm.appendChild(input)
|
tempForm.appendChild(input)
|
||||||
document.body.appendChild(tempForm);
|
document.body.appendChild(tempForm);
|
||||||
if(tempForm){
|
if(tempForm){
|
||||||
@ -54,6 +54,7 @@
|
|||||||
input.id = 'tempInput_CustomerService'
|
input.id = 'tempInput_CustomerService'
|
||||||
input.name= 'sceneUrl'
|
input.name= 'sceneUrl'
|
||||||
input.value= pathname
|
input.value= pathname
|
||||||
|
input.type="hidden"
|
||||||
tempForm.appendChild(input)
|
tempForm.appendChild(input)
|
||||||
document.body.appendChild(tempForm);
|
document.body.appendChild(tempForm);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user