Explorar el Código

update servie

luke hace 6 años
padre
commit
7eb51c3863

+ 2 - 3
pc_chat/src/components/chat.vue

@@ -961,7 +961,7 @@
 					if (redata.data) {
 						serverInfo = redata.data
 					} else {
-						serverInfo = {
+						serverInfo.serverInfo = {
 							avatar: this.avatarImg,
 							client_id:"",
 							group:"",
@@ -976,9 +976,8 @@
 					}
 					this.artAndLeave = 10;
 					this.machineAndAtl = 100;
-					this.service = serverInfo;
 					console.log(this.service, '============客服信息')
-					this.serviceImg = redata.data.serverInfo.avatar;
+					this.serviceImg = serverInfo.serverInfo.avatar;
 					this.consult = false;
 					this.evlShow = false;
 					this.comtSuccess = false;

+ 2 - 0
service/src/api/ports.js

@@ -30,6 +30,8 @@ export default {
     updateinfo:'/service/Services/updateinfo',
     updatepwd:'/service/Services/updatepwd',
     update:'/service/services/update',//客服编辑用户信息
+    accountInfo:'/service/services/accountInfo'
+
   }
   
 }

+ 17 - 13
service/src/components/historicalRecord.vue

@@ -11,7 +11,7 @@
                 
                     <!-- <div class="row allAlignment center"> -->
                         <div class="u_name">
-                            <span>Guest78...</span>
+                            <span>{{user_name}}</span>
                         </div>
                         <div class="btn_untreated">
                             <!-- <span>未处理</span> -->
@@ -21,7 +21,7 @@
                 <div class="chatWindow"  > 
                     <div v-for="(item,index) in dataList " :key="index">
                         <!-- 模拟用户 -->
-                        <div v-if="!item.to_id.startsWith('KF')" style="padding-top:10px;">
+                        <div v-if="item.to_id.startsWith('KF')" style="padding-top:10px;">
                             <div class="title_time">
                                 <span>{{item.time_line}}</span>
                             </div>
@@ -56,11 +56,14 @@
                     </div> -->
                     </div>
                 </div>
-                <div class="copyEditor column allAlignment">
-                    <div>
+                <div>
+                    dadada
+                </div>
+                <div class="copyEditor">
+                    <!-- <div>
                         <span>评价结果</span>
                     </div>
-                    <div>
+                    <div class="row ">
                         <div>
                             <img src="" alt="">
                             <div>
@@ -77,14 +80,13 @@
                                 <span v-if="alarm.serverSensitive == 2">客服敏感词</span>
                                 <span v-if="alarm.userSensitive == 2">用户敏感词</span>
                                 <span v-if="alarm.respond == 2">未回应</span>
-                                <!-- <span v-if="alarm.verifyReturnTime == 2"></span> -->
                             </div>
                         </div>
-                    </div>
+                    </div> -->
                 </div>
             </div>
         
-        <!-- 用户信息展示框
+        <!-- 用户信息展示框 -->
         <div class="user_info">
             <div style=" padding: 20px;">
                 <ul style="padding-inline-start:0px; margin-block-start: 0;">
@@ -111,14 +113,14 @@
                     <li>来源终端:windows10 - chrome</li>
                 </ul>
             </div>
-        </div> -->
+        </div>
         </div>
     </div>
 </template>
 <script>
 import '@/css/index.css';
 export default {
-    props:['show','uid'],
+    props:['show','uid','user_name'],
     name:'historicalRecord',
     data(){
         return{
@@ -128,6 +130,7 @@ export default {
             inputValse:'',
             dataList:'',//会话记录
             alarm:'',//评价谢谢
+
             // imgsrc:'http://192.168.2.186:8090'
             imgsrc:'http://kfadmin.bocai186.com',//图片路径域 
         }
@@ -169,7 +172,7 @@ export default {
             }).then(res => {
                 if(res.data.code == 1){
                     res.data.data.list = res.data.data.list.reverse();
-                    //console.log(res.data.data.list);
+                    //console.log(res.data.data);
                     this.alarm = res.data.data.alarm;
                     res.data.data.list.forEach(e => {
                         //reverse()
@@ -178,7 +181,7 @@ export default {
                     });
                     this.dataList = res.data.data.list;
                     this.dataList.forEach(e=>{
-                        console.log(e)
+                        // console.log(e)
                         e.content.text = this.turnFace(e.content.text);
                         //this.turnFace()
                     })
@@ -217,7 +220,7 @@ export default {
 }
 .del{
     /* position:fixed;*/
-    top: 50vh;
+    top: 35vh;
     left: -31px; 
     position: relative;
     width: 32px;
@@ -258,6 +261,7 @@ export default {
     overflow:auto
 }
 .copyEditor{
+    font-size: 14px;
     width: 100%;
     height: 160px;
     border-top: 1px solid #D5E5FF;

+ 4 - 3
service/src/pages/PersonalInformation.vue

@@ -160,7 +160,6 @@ export default {
     };
   },
   methods: {
-    
     /******************修改密码******************/
     updatepwdAjax() {
       let obj = {
@@ -180,7 +179,7 @@ export default {
             message: '密码修改成功',
             type: 'success'
           });
-          this.$router.push('/login')
+          // this.$router.push('/login')
         }else{
           this.$notify.error({
             title: '错误',
@@ -247,7 +246,9 @@ export default {
     hader,
     messageCenter
   }
-};
+
+  
+}
 </script>
 <style scoped>
 .user_box {

+ 6 - 3
service/src/pages/SessionHistory.vue

@@ -39,9 +39,9 @@
 								element-loading-background="rgba(0, 0, 0, 0.8)"
 								:header-cell-style="{background:'#eef1f6',color:'#606266'}" :row-style="{background:'#ffffff',color:'#606266'}"
 								:data="tableData" stripe @row-dblclick="click_row"style="width: 100%" >
-							<el-table-column prop="servicelog_id" label="会话ID"  width="80"></el-table-column>
+							<el-table-column prop="servicelog_id" label="会话ID"  width="100"></el-table-column>
 							<el-table-column prop="intime" label="访客进线时间"></el-table-column>
-							<el-table-column prop="name" label="接待客服"></el-table-column>
+							<!-- <el-table-column prop="name" label="接待客服"></el-table-column> -->
 							<el-table-column prop="user_name" label="访客名"></el-table-column>
 							<el-table-column prop="start_time" label="会话开始时间"></el-table-column>
 							<el-table-column prop="end_time" label="会话结束时间"></el-table-column>
@@ -53,7 +53,7 @@
 									   @prev-click='upData' @next-click="downData" @current-change="current_page" :total="pages"></el-pagination>
 					</div>
 					<div class="right_box" v-show="isShow">
-						<historicalRecord :show="isShow" :uid="uid" v-on:childValue="childValue" />
+						<historicalRecord :show="isShow" :uid="uid" :user_name="user_name" v-on:childValue="childValue" />
 					</div>
 				</div>
 			</div>
@@ -74,6 +74,7 @@
 			return {
 				isShow: false,
 				uid: "",
+				user_name:'',
 				pages: 0,
 				tableData: [],
 				options: [
@@ -149,6 +150,8 @@
 			/******************************************/
 			//查看详情会话记录
 			click_row(row, column, event) {
+				//console.log('1231',row, column, event);
+				this.user_name = row.user_name;
 				this.uid = row.servicelog_id;
 				this.isShow = true;
 			},

+ 81 - 39
service/src/pages/TheCurrentSession.vue

@@ -176,26 +176,26 @@
 						<template slot="title" name="el-icon-caret-bottom">
 						  <span>常用语</span>
 						</template> -->
-					<div style="padding: 0.4rem 0;">
+					<div class="FastReplyBox" >
 						<!-- <ul class="FastReplyList"> -->
 						<!-- <li @click="getLanguage(item.content)" class="row cursor_text" v-for="item in FastReply.sysWords" :key="item.id"> -->
 						<div @click="getLanguage(item.content)" class="row cursor_text item-center" v-for="item in FastReply.sysWords" :key="item.id" v-if="FastReplySwitch == 'one'">
-							<span class="title_span" style=" width: 30%">#{{item.title}}</span>
-							<div class="ellipsis" style=" width: 70%">
+							<span class="title_span" style=" width: 100%">#{{item.title}}</span>
+							<!-- <div class="ellipsis" style=" width: 70%">
 
 								<span class="content_span">{{item.content}}</span>
-							</div>
+							</div> -->
 						</div>
 
 
 						<!-- </li> -->
 
 						<div @click="getLanguage(item.content)" class="row cursor_text item-center" v-for="item in FastReply.userWords" :key="item.id" v-if="FastReplySwitch == 'tow'">
-							<span class="title_span" style=" width: 30%">#{{item.title}}</span>
-							<div class="ellipsis" style=" width: 70%">
+							<span class="title_span" style=" width: 100%">#{{item.title}}</span>
+							<!-- <div class="ellipsis" style=" width: 70%">
 
 								<span class="content_span">{{item.content}}</span>
-							</div>
+							</div> -->
 						</div>
 						<!-- <li class="row cursor_text" v-for="item in FastReply.userWords" :key="item.id">
 						  <div v-if="FastReplySwitch == 'tow'" class="row item-center">
@@ -220,40 +220,38 @@
 						<p>来源终端:{{session_user_info.system}}-{{session_user_info.browse}}</p>
 					</div>
 
-
-
 					<div style="color:#666;font-weight:bold;font-size:14px; margin-top:30px;">用户信息</div>
 					<div style="margin-top:10px;color:#999;font-size:14px;" class="userData wrap">
 						<div class="user_info_box">
 							<span>账号:</span>
-							<input class="user_text" style="background: #ECF4FF;" v-model="session_user_info.name"  readonly type="text">
+							<input class="user_text" style="background: #ECF4FF;" v-model="session_user_info.account_name"  readonly type="text">
 						</div>
 						<div class="user_info_box">
-							<span>级别:</span>
-							<el-select v-model="value" placeholder="请选择">
+							<span>标签:</span>
+							<el-select v-model="value"  @focus='focusFun' @change='labelChange'  placeholder="请选择">
 								<el-option
 								v-for="item in options"
-								:key="item.value"
-								:label="item.label"
-								:value="item.value">
+								:key="item.id"
+								:label="item.name"
+								:value="item.id">
 								</el-option>
 							</el-select>
 						</div>
 						<div class="user_info_box">
 							<span>昵称:</span>
-							<el-input style="width:80%" v-model="session_user_info.nick_name" placeholder="请输入内容"></el-input>
+							<el-input style="width:70%" v-model="session_user_info.nick_name" placeholder="请输入内容"></el-input>
 						</div>
 						<div class="user_info_box">
 							<span>手机:</span>
-							<el-input style="width:80%" v-model="session_user_info.account_phone" placeholder="请输入内容"></el-input>
+							<el-input style="width:70%" v-model="session_user_info.account_phone" placeholder="请输入内容"></el-input>
 						</div>
 						<div class="user_info_box">
 							<span>邮箱:</span>
-							<el-input style="width:80%" v-model="session_user_info.account_email" placeholder="请输入内容"></el-input>
+							<el-input style="width:70%" v-model="session_user_info.account_email" placeholder="请输入内容"></el-input>
 						</div>
 						<div class="user_info_box">
 							<span>地址:</span>
-							<el-input style="width:80%" v-model="session_user_info.address" placeholder="请输入内容"></el-input>
+							<el-input style="width:70%" v-model="session_user_info.address" placeholder="请输入内容"></el-input>
 						</div>
 						<p>访客备注:</p>
 					</div>
@@ -309,21 +307,10 @@
 				sensitive:[],//客服敏感词数据
 				userSensitiveWords:[],//用户敏感词
 				sensitiveNumber:0,//关键词次数
-				isTrue:'',//编辑用户信息按钮开关
-				options: [{
-					value: '选项1',
-					label: '普通会员'
-					}, {
-					value: '选项2',
-					label: '高级会员'
-					}, {
-					value: '选项3',
-					label: 'VIP会员'
-					}, {
-					value: '选项4',
-					label: '贵宾会员'
-					}],
-				value: '普通会员'
+				isTrue:true,//编辑用户信息按钮开关
+				options:[],
+				label_id:'',
+				value: '请选择'
 			}	
 		},
 		/**
@@ -344,9 +331,19 @@
 				this.inputValue = this.inputValue + '\n'
 			},
 
+			/********************发送获取标签数据指令*******************/
+			focusFun(){
+				// console.log('haha');
+				this.$websocket.send(JSON.stringify({type:'userlabeall'}));
+			},
+
+			/**************************获取选择标签ID****************/
+			labelChange(e){
+				this.label_id = e;
+			},
+
 			/******************消息数据接收********************/
 			chatMessage(redata){
-
 				// 用户接入数据
 				if(redata.message_type == "connect"){
 					let _this  = this;
@@ -412,7 +409,6 @@
 					})
 				}
 
-
 				//用户会话结束窗口切换
 				if(redata.message_type == "delUser"){
 					let _this =this;
@@ -466,6 +462,18 @@
 				// 	console.log(_this.data);
 				// }
 
+
+				//获取标签数据信息
+				if(redata.message_type == "userlabeall"){
+					if(Object.values(redata.data).length > 0 ){
+						this.options = [];
+						this.options = Object.values(redata.data);
+						this.value = this.options[0].name;
+					}
+
+				}
+
+
 				//接收系统操作信息状态在线客服列表
 				if(redata.message_type == "onlinekfs"){
 					this.transferList = [];
@@ -813,9 +821,34 @@
 				if(type.length > 0 ){
 					this. session_user_info  = {};
 					if(this.dataIndex <= type.length){
-						this.session_user_info = type[this.dataIndex];
-						console.log(this.session_user_info);
-					
+
+					let obj = {
+						headers: {
+							"apiToken": this.$md5('accountInfo' + "customer-service"+'service'+this.time[0]+'service'),
+							'userToken': this.token
+						},
+						account_id:type[this.dataIndex].id
+					};
+
+					this.post('api'+this.$ports.userInfo.accountInfo,obj).then(res => {
+						if(res.data.code == 1){
+							// console.log(res.data.data);
+							this.session_user_info = res.data.data;
+							console.log(this.options);
+							for(let i= 0  ; this.options.length > i ; i++ ){
+								if(this.options[i].id == res.data.data.label_id){
+									this.value =  this.options[i].name;
+								}
+								break;
+							}
+							//this.value = res.data.data.label_id
+						}
+					})
+
+
+						// this.session_user_info = type[this.dataIndex].id;
+						// console.log(type[this.dataIndex].id);
+						// this.value = this.session_user_info.label;
 					}
 				}else{
 					this.session_user_info = {};
@@ -884,6 +917,7 @@
 			bt_update(){
 				
 				if(!this.isTrue) return false;
+				this.isTrue = false;
 				let obj = {
 					headers: {
 						"apiToken": this.$md5('update' + "customer-service"+'service'+this.time[0]+'service'),
@@ -895,6 +929,7 @@
 					phone:this.session_user_info.account_phone,
 					address:this.session_user_info.address,
 					remark:this.session_user_info.remark,
+					label_id:this.label_id
 
 				};
 
@@ -1176,6 +1211,13 @@
 		height: 92vh;
 		border-right: 1px solid #d5e5ff;
 		background: #fff;
+	
+	}
+	.FastReplyBox{
+		padding: 0.4rem 0;
+		height: 80vh;
+		overflow-x: hidden;
+		overflow-y: auto;
 	}
 	.FastReplyHader {
 		height: 50px;