替换小优客服

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

@ -16,7 +16,7 @@ import NoticeDetail from '@/pages/notice/noticeList/components/NoticeDetail'
import QuestDetail from '@/pages/SystemMessage/message/components/questDetail'
import { getQuestList } from '@/pages/SystemMessage/message/service'
import ApprovalDetail from '@/pages/SystemMessage/message/components/approvalDetail'
import ChatUI from '@/pages/customerservice/support/conversation' //智慧客服
@connect(({ dashboard, loading }) => ({
...dashboard,
downlistLoading: loading.effects['dashboard/fetchDowntlist'],
@ -33,6 +33,16 @@ class manager extends PureComponent {
questData: {},//问卷数据
questVisible: false, //问卷弹窗
mainDetail: false, // 审批单消息弹窗
isModalVisible: false, //智慧客服
isFlash: false, //智慧客服
isCloseWs: true, //智慧客服
optionsModal: false, //智慧客服
projectModal: false, //智慧客服
supplierNumber: '', //智慧客服
staffId: '', //智慧客服'
staffName:'', //智慧客服
kfType:0,//智慧客服
questionType:0,//智慧客服
}
componentDidMount() {
this.props.dispatch({
@ -64,6 +74,12 @@ class manager 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
this.approvalDetail()
}
onChange = (date, dateString) => {
@ -131,22 +147,22 @@ class manager extends PureComponent {
await followUpAProjectManager(data);
history.push('/ProjectLayout/Manager/HomePageSectionList');
};
talkXy = () => {
if (NTKF) {
NTKF.im_openInPageChat('bl_1000_1492484340268');
} else {
message.warn('小优客服初始化失败,请联系系统管理员!')
}
initChatUI = () => {
//智慧客服
if(this.state.isCloseWs){
this.setState({optionsModal: true})
}else{
this.setState({isChatModalVisible: true})
this.setState({isCloseWs: false})
this.setState({isFlash :false})
}
}
render() {
const { downlist, projectlist, staloading, tlist, trelist, idList, dateNum } = this.props;
const { datevalue, messId, messageDetail, detailId, noticeDetail, questData, questVisible, mainDetail } = this.state;
const { datevalue, messId, messageDetail, detailId, noticeDetail, questData, questVisible, mainDetail, isModalVisible, isCloseWs, optionsModal, projectModal, supplierNumber, staffId, staffName, kfType, questionType, isFlash} = this.state; //智慧客服state
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={8}><Card title="我的消息" bordered={false} className="cardtre" style={{ marginRight: "10px" }} extra={<div className="moret" onClick={() => history.push('/SystemMessage/message')}>更多<RightOutlined /></div>}>
@ -268,6 +284,51 @@ 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
}
{/*智慧客服*/}
<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})
}}
/>
</>
)
}