替换小优客服

This commit is contained in:
unknown
2022-05-19 10:37:01 +08:00
parent d7a791a31e
commit e8c639fd53
11 changed files with 549 additions and 110 deletions

View File

@ -10,6 +10,7 @@ import moment from 'moment';
import { jurySaveInfo, getSessionUserData } from '@/utils/session';
import NoticeDetail from '@/pages/notice/noticeList/components/NoticeDetail'
import ExpertEnter from '@/pages/BidEvaluation/components/ExpertEnter';
import ChatUI from '@/pages/customerservice/support/conversation' //智慧客服
@connect(({ dashboard, loading }) => ({
...dashboard,
@ -24,6 +25,16 @@ class Jury extends PureComponent {
noticeDetail: false, // 公告弹窗
recordData: '', // 进入评审室弹窗数据
enterVisible: false, // 进入评审室弹窗
isModalVisible: false, //智慧客服
isFlash: false, //智慧客服
isCloseWs: true, //智慧客服
optionsModal: false, //智慧客服
projectModal: false, //智慧客服
supplierNumber: '', //智慧客服
staffId: '', //智慧客服'
staffName:'', //智慧客服
kfType:0,//智慧客服
questionType:0,//智慧客服
}
componentDidMount() {
this.props.dispatch({
@ -47,6 +58,12 @@ class Jury extends PureComponent {
userlevel: "1",                       //网站自定义会员级别1-N可根据选择判断取值显示到小能客户端
erpparam: "abc"                          //erpparam为erp功能的扩展字段可选购买erp功能后用于erp功能集成
}
//智慧客服,获取供应商编码
let userData = getSessionUserData()
this.setState({staffId: userData.userId})
this.setState({staffName: userData.fullName})
this.setState({supplierNumber: userData.organizationId})
//<<<<<<智慧客服end
}
onChange = (date, dateString) => {
this.setState({
@ -95,22 +112,22 @@ class Jury extends PureComponent {
enterVisible: false
})
}
talkXy = () => {
if(NTKF){
NTKF.im_openInPageChat('bl_1000_1492484340268');
} else {
message.warn('小优客服初始化失败,请联系系统管理员!')
}
initChatUI = () => {
//智慧客服
if(this.state.isCloseWs){
this.setState({optionsModal: true})
}else{
this.setState({isModalVisible: true})
this.setState({isCloseWs: false})
this.setState({isFlash :false})
}
}
render() {
const { datevalue, detailId, noticeDetail, recordData, enterVisible } = this.state;
const { datevalue, detailId, noticeDetail, recordData, enterVisible, isModalVisible, isCloseWs, optionsModal, projectModal, supplierNumber, staffId, staffName, kfType, questionType, isFlash} = this.state; //智慧客服state
const { Juryuplist, Jurydownlist, staloading, tlist } = this.props;
return (
<>
{
START_ENV == 'UAT' || START_ENV == 'DEV' || START_ENV == 'sim' ? '' :
<a className="talk" onClick={() => this.talkXy()}>咨询服务<span>8:30</span><span>|</span><span>12:30</span><span>13:00</span><span>|</span><span>17:00</span><img src={talkPng} /></a>
}
<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>
<div className="dashboard" style={{ height: innerHeight - 70, overflow: "hidden" }}>
<Row className="topt">
<Col span={12}><Card title="我参与的项目数量统计" bordered={false} className="cardtreJury" style={{ marginRight: "10px" }} loading={staloading} extra={<div style={{ marginTop: "-14px" }}><DatePicker showNow={false} picker="month" style={{ marginRight: "10px" }} value={datevalue} onChange={this.onChange} allowClear={false} /><Button type="primary" onClick={() => { this.onSearch() }}>确定</Button></div>}>
@ -183,6 +200,51 @@ class Jury extends PureComponent {
{noticeDetail && <NoticeDetail detailId={detailId} onCancel={() => { this.noticeModel() }} modalVisible={noticeDetail} />}
{recordData == '' ? null :
<ExpertEnter modalVisible={enterVisible} onCancel={() => { this.enterModel() }} onRefresh={() => { this.onRefresh() }} recordData={recordData} />}
{/*智慧客服*/}
<ChatUI
openProjectWin={()=>{
this.setState({kfType: 2})
this.setState({projectModal: true})
}}
openWin={(kfType, questionType)=>{
this.setState({questionType: questionType})
this.setState({kfType: kfType})
this.setState({optionsModal: false})
this.setState({isModalVisible: true})
this.setState({isCloseWs: false})
this.setState({isFlash :false})
}}
closeWin={()=>{
this.setState({kfType: 0})
this.setState({questionType: 0})
this.setState({optionsModal: false})
this.setState({isModalVisible: false})
this.setState({isCloseWs: true})
this.setState({projectModal: false})
}}
optionsModal={optionsModal}
projectModal={projectModal}
isModalVisible={isModalVisible}
kfType={kfType}
questionType={questionType}
staffId={staffId}
staffName={staffName}
supplierNumber={supplierNumber}
isCloseWs={isCloseWs}
hideWin={()=>{
this.setState({optionsModal: false})
this.setState({isModalVisible: false})
}}
closeOptionsModal={()=>{
this.setState({optionsModal: false})
}}
closeProjectModal={()=>{
this.setState({projectModal: false})
}}
msgAlert={()=>{
if(!isModalVisible) this.setState({isFlash: true})
}}
/>
</>
)
}