提交 345f7ea8 编写于 作者: huangwensu's avatar huangwensu

消息查询接口联调

上级 dad4c59e
...@@ -780,3 +780,42 @@ export const setOptionLabel = (self,selfModel,selfEId,selfEName,list,listEId,lis ...@@ -780,3 +780,42 @@ export const setOptionLabel = (self,selfModel,selfEId,selfEName,list,listEId,lis
} }
return; return;
}; };
// 将文件大小B转为MB
export const betaHandle = (limit) => {
var size = "";
if(limit < 0.1 * 1024){ //小于0.1KB,则转化成B
size = limit.toFixed(2) + "B"
}else if(limit < 0.1 * 1024 * 1024){ //小于0.1MB,则转化成KB
size = (limit/1024).toFixed(2) + "KB"
}else if(limit < 0.1 * 1024 * 1024 * 1024){ //小于0.1GB,则转化成MB
size = (limit/(1024 * 1024)).toFixed(2) + "MB"
}else{ //其他转化成GB
size = (limit/(1024 * 1024 * 1024)).toFixed(2) + "GB"
}
var sizeStr = size + ""; //转成字符串
var index = sizeStr.indexOf("."); //获取小数点处的索引
var dou = sizeStr.substr(index + 1 ,2) //获取小数点后两位的值
if(dou == "00"){ //判断后两位是否为00,如果是则删除00
return sizeStr.substring(0, index) + sizeStr.substr(index + 3, 2)
}
return size;
}
//转换年月日方法
export const timeHandle = (str) => {
let date = new Date(str * 1);
let Y = date.getFullYear() + '-';
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
let D = change(date.getDate()) + ' ';
let h = change(date.getHours()) + ':';
let m = change(date.getMinutes());
return Y + M + D + h + m
}
//补0操作
const change = (num) => {
if(parseInt(num) < 10){
num = '0'+ num;
}
return num;
}
\ No newline at end of file
<template> <template>
<div class="add-manager-wrap"> <div class="search-msg-detail">
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb> <bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb>
<div class="add-content screenSet" id="screenSet"> <div class="detail-content screenSet" id="screenSet">
<div class="discuss-opt"> <div id="msg-container" class="msg-container" v-for="(item, index) in detailData" :key="index">
<el-form ref="form" :model="form" label-width="100px"> <div class="msg-item-img">
<el-form-item label="讨论主题" required> <img v-if="item.fromAccId == picakfAccId" src="../../../assets/image/IM/kf-avatar.png" alt />
<el-col :span="8"> <img v-else :src="userAvatar" />
<el-input v-model="form.subject" size="mini" type="textarea" :maxLength="maxTopic"></el-input> </div>
</el-col> <div class="msg-content">
<div class="info">
</el-form-item> <span v-if="item.fromAccId == picakfAccId">客服</span>
<el-form-item label="分类" required> <span v-else>{{userName}}</span>
<el-col :span="8"> <span class="mid-time">{{timeChange(item.timestamp)}}</span>
<el-select size="mini" v-model="form.deriverName" placeholder="请选择"> </div>
<el-option <div v-if="item.type == 'TEXT'" class="text-content">
v-for="item in derivers" <div>{{item.content}}</div>
:key="item.value" </div>
:label="item.label" <div v-if="item.type == 'PICTURE'" class="img-content" v-viewer>
:value="item.value"> <img :src="item.url" />
</el-option> </div>
</el-select> <div v-if="item.type == 'CUSTOM'">
</el-col> <div v-if="typeChange(item.content).bizType == 18" class="file-content">
<div class="file-con" @click="downPDF(typeChange(item.content).url)">
</el-form-item> <div class="file-left">
<span class="name">{{typeChange(item.content).name}}</span>
<el-form-item label="内容发布控制"> <span class="size">{{fileSizeChange(typeChange(item.content).size)}}</span>
<div> </div>
<span class="label-name">话题</span> <div class="file-right">
<el-radio v-model="form.ht" label="1" >允许</el-radio> <img src="../../../assets/image/IM/icon-pdf.png" alt />
<el-radio v-model="form.ht" label="0" >不允许</el-radio> </div>
</div> </div>
<!-- <div>
<span class="label-name">评论</span>
<el-radio v-model="form.pl" label="1" >允许</el-radio>
<el-radio v-model="form.pl" label="0" >不允许</el-radio>
</div> -->
<div>
<span class="label-name">回复</span>
<el-radio v-model="form.displayReplyBtn" :label="1" >允许</el-radio>
<el-radio v-model="form.displayReplyBtn" :label="2" >不允许</el-radio>
<span class="label-name">前端展示数量:</span>
<el-input-number v-model="form.replyShowNum" controls-position="right" :min="0"></el-input-number>
<el-checkbox v-model="form.replyOfficial" style="margin-left: 20px">置顶官方回复</el-checkbox>
</div>
<div>
<span class="label-name">点赞</span>
<el-radio v-model="form.displayLikeBtn" :label="1" >允许</el-radio>
<el-radio v-model="form.displayLikeBtn" :label="2" >不允许</el-radio>
</div>
</el-form-item>
<el-form-item label="审核规则" required>
<div>
<span class="label-name">文字</span>
<el-radio v-model="form.wz" label="2" disabled>先审后显示</el-radio>
<el-radio v-model="form.wz" label="4" disabled>后审先显示</el-radio>
</div>
<div>
<span class="label-name">图片</span>
<el-radio v-model="form.tp" label="8" disabled>先审后显示</el-radio>
<el-radio v-model="form.tp" label="16" disabled>后审先显示</el-radio>
</div>
</el-form-item>
<el-form-item label="开放客群" required>
<el-checkbox label="注册用户" v-model="form.isZC"></el-checkbox>
<el-checkbox label="认证用户" v-model="form.isRZ"></el-checkbox>
</el-form-item>
<el-form-item label="发布按钮文案" required>
<el-row>
<el-col :span="6">
<div>
<span class="label-name label-f">话题发布</span>
<el-input v-model="form.topicBtnText" size="mini" style="width: 100px;" :maxLength="maxBtn"></el-input>
</div>
</el-col>
<el-col :span="10">
<div>
<span class="label-name label-w">输入界面title文案</span>
<el-input v-model="form.inputTitle" size="mini" style="width: 100px;" :maxLength="5"></el-input>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div>
<span class="label-name label-f">评论发布</span>
<el-input v-model="form.commentBtnText" size="mini" style="width: 100px;" :maxLength="maxBtn"></el-input>
</div>
</el-col>
<el-col :span="12">
<div>
<span class="label-name label-w">输入界面提示文案</span>
<el-input v-model="form.inputReminder" size="mini" style="width: 260px;" :maxLength="15"></el-input>
</div>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="底Bar显示控制">
<el-radio v-model="form.displayBar" :label="1">评论+点赞</el-radio>
<el-radio v-model="form.displayBar" :label="2">仅评论</el-radio>
<el-radio v-model="form.displayBar" :label="3"></el-radio>
</el-form-item>
<el-form-item label="列表排序控制">
<el-radio v-model="form.displayListSort" :label="1">综合排序</el-radio>
<el-radio v-model="form.displayListSort" :label="2">按最新发布时间</el-radio>
<el-radio v-model="form.displayListSort" :label="3">按最高点赞数</el-radio>
</el-form-item>
<el-form-item label="话题列表页标题文案" label-width="140px">
<div>
<el-input v-model="form.commentListDetails" size="mini" style="width: 100px;" :maxLength="maxBtn"></el-input>
</div> </div>
</el-form-item> <div v-if="typeChange(item.content).bizType == 19" class="link-content">
<el-form-item label="话题详情页话题文案" label-width="140px"> <div class="link-text">{{typeChange(item.content).name}}</div>
<div>
<el-input v-model="form.commentDetails" size="mini" style="width: 100px;" :maxLength="maxBtn"></el-input>
</div> </div>
</el-form-item> </div>
<el-form-item label="是否仅显示评论区" label-width="110px">
<el-radio v-model="form.displayOnlyComment" :label="1"></el-radio>
<el-radio v-model="form.displayOnlyComment" :label="2"></el-radio>
</el-form-item>
<el-form-item label="备注">
<el-col :span="8">
<el-input v-model="form.remark" size="mini" type="textarea" :maxLength="maxTopic"></el-input>
</el-col>
</el-form-item>
</el-form>
<div class="btn-box pdrt20">
<el-button type="primary" size="small" class="button-green" @click="save">保存</el-button>
<el-button size="small" class="button-white" @click="goBack">返回</el-button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import BreadCrumb from "@/components/breadcrumb.vue"; import BreadCrumb from "@/components/breadcrumb.vue";
import { doUpload, getFilePath } from "@/utils/qiniu-util"; import { doUpload, getFilePath } from "@/utils/qiniu-util";
import { returnData } from "../../mock"; import { openLoading, closeLoading, betaHandle, timeHandle } from "@/utils/utils";
import { mapGetters } from "vuex"; import { getPicaKFAccid } from "@/utils";
import { openLoading, closeLoading } from "@/utils/utils";
import * as commonUtil from "@/utils/utils"; import * as commonUtil from "@/utils/utils";
let vm = null; let vm = null;
export default { export default {
...@@ -148,416 +53,147 @@ export default { ...@@ -148,416 +53,147 @@ export default {
BreadCrumb BreadCrumb
}, },
data() { data() {
return {
return {
curmbFirst:'消息查询', curmbFirst:'消息查询',
curmbSecond:'消息详情', curmbSecond:'消息详情',
maxBtn:4, picakfAccId: '',
form:{ lastMsgTime: '',
subject:'', doctorAccId: '',
ht:'1', detailData: {},
wz:'4', userAvatar: '',
tp:'16', userName: '',
user:'1', scroll: true,
isZC:false, };
isRZ:false, },
zc:4, created() {
rz:8, this.lastMsgTime = this.$route.query.msgTimestamp;
topicBtnText:'发布话题', this.doctorAccId = this.$route.query.doctorAccId;
commentBtnText:'发布评论', this.userAvatar = this.$route.query.avatarImageUrl;
commentDetails:'全部评论', this.userName = this.$route.query.userName;
commentListDetails: '热门话题', },
displayTopicBtn:true,//是否显示发布话题按钮 mounted() {
// displayCommentBtn:true,//是否显示评论按钮 window.addEventListener('scroll', this.handleScroll)
displayReplyBtn: 1,//是否显示回复按钮 this.picakfAccId = getPicaKFAccid();
displayLikeBtn: 1,//是否显示点赞按钮 this.getDeatailData(1);
remark:'', },
deriverName:'积木', methods: {
replyShowNum: 5, handleScroll() {
replyOfficial: false,
inputTitle: '话题发布',
inputReminder: '',
displayBar: 1,
displayListSort: 1,
displayOnlyComment: 2
},
maxTopic:60,
id:0,
};
},
computed: {
...mapGetters(["_token"])
},
created() {
this.id = this.$route.query.id
if(this.id){
this.curmbSecond = '编辑'
this.getDissById(this.id)
}
},
// 挂载到Dom完成时
mounted: function() {
},
methods: {
//返回
goBack(){
this.$router.back(-1)
},
showError(str){
this.$message({
message: str,
type: 'warning'
});
},
//保存讨论
save(){
let visibility = 0,
auditRules = 0,_this = this;
if(this.form.isRZ){
visibility = 8
}
if(this.form.isZC){
visibility = 4
}
if(this.form.isRZ && this.form.isZC){
visibility = 12
}
if(this.form.subject == ''){
console.log(this.form.subject)
this.showError('请输入讨论主题')
return;
}
if(visibility == 0){
this.showError('请选择开发客群');
return;
}
if(this.form.topicBtnText == ''){
this.showError('请输入话题发布按钮文字');
return;
}
if(this.form.commentBtnText == ''){
this.showError('请输入评论发布按钮文字');
return;
}
if(this.form.inputTitle == ''){
this.showError('请输入输入界面title文案');
return;
}
auditRules = Number(this.form.wz) + Number(this.form.tp)
let parm = {
"auditrules": auditRules,
"commentbtntext": this.form.commentBtnText,
"commentDetails": this.form.commentDetails,
'commentListDetails': this.form.commentListDetails,
//"deleteflag": 0,
//"derivedid": 0,
"category": this.form.deriverName,
// "displaycommentbtn": this.form.pl == 1 ? true : false,
"displaytopicbtn": this.form.ht == 1 ? true : false,
"displayReplyBtn": this.form.displayReplyBtn,
"displayLikeBtn": this.form.displayLikeBtn,
"replyShowNum": this.form.replyShowNum,
"replyOfficial": this.form.replyOfficial ? 1 : 2,
"inputTitle": this.form.inputTitle,
"inputReminder": this.form.inputReminder,
"displayBar": this.form.displayBar,
"displayListSort": this.form.displayListSort,
"displayOnlyComment": this.form.displayOnlyComment,
//"id": 0,
"subject":this.form.subject,
"topicbtntext": _this.form.topicBtnText,
"visibility": visibility,
"remark":this.form.remark
}
if(this.id){
parm.id = Number(this.id)
this.PUT('/interaction/discuss/',parm).then((res) => {
// closeLoading(vm)
if( res.code == '000000' ) {
this.$message({
message: '保存成功!',
type: 'success'
});
setTimeout(()=>{
this.goBack()
},1500)
}
})
}else{
this.POST('/interaction/discuss/',parm).then((res) => {
// closeLoading(vm)
if( res.code == '000000' ) {
this.$message({
message: '保存成功!',
type: 'success'
});
setTimeout(()=>{
this.goBack()
},1500)
}
})
}
}, },
// 获取详情数据以及下拉加载历史数据
getDeatailData(param) {
//获取讨论组件详细 let url = '/im/msg/forward';
getDissById(id){ let req = {
doctorAccId: this.doctorAccId,
this.GET('/interaction/discuss/'+id).then((res) => { includeFlag: param, // 第一次加载是1 上翻历史是0
// closeLoading(vm) lastMsgTimestamp: this.lastMsgTime,
if( res.code == '000000' ) { limit: 20,
patientAccId: this.picakfAccId,
this.id = res.data.id unionId: ""
this.form.subject = res.data.subject }
this.form.deriverName = res.data.category this.POST(url, req).then((res) => {
// 发布按钮文案 if(res.code == '000000') {
this.form.topicBtnText = res.data.topicbtntext == null ? '' : res.data.topicbtntext this.detailData = res.data;
this.form.commentBtnText = res.data.commentbtntext }
this.form.inputTitle = res.data.inputTitle || '话题发布'
this.form.inputReminder = res.data.inputReminder
// title文案
this.form.commentDetails = res.data.commentDetails
this.form.commentListDetails = res.data.commentListDetails
// 备注
this.form.remark = res.data.remark
//开放客群
if(res.data.visibility == 14 || res.data.visibility == 12){
this.form.isRZ = true
this.form.isZC = true
}else if(res.data.visibility == 6){
this.form.isRZ = false
this.form.isZC = true
}else if(res.data.visibility == 10){
this.form.isRZ = true
this.form.isZC = false
}
//审核规则
if(res.data.auditrules == 18){
this.form.wz = "2"
this.form.tp = "16"
}else if(res.data.auditrules == 10){
this.form.wz = "2"
this.form.tp = "8"
}else if(res.data.auditrules == 12){
this.form.wz = "4"
this.form.tp = "8"
}else if(res.data.auditrules == 20){
this.form.wz = "4"
this.form.tp = "16"
}
//内容发布控制
this.form.ht = res.data.displaytopicbtn ? "1" : "0"
// this.form.pl = res.data.displaycommentbtn ? "1" : "0"
this.form.displayReplyBtn = res.data.displayReplyBtn
this.form.displayLikeBtn = res.data.displayLikeBtn
this.form.replyShowNum = res.data.replyShowNum
this.form.replyOfficial = res.data.replyOfficial == 1 ? true : false
// 底部bar 列表排序 显示评论区
this.form.displayBar = res.data.displayBar
this.form.displayListSort = res.data.displayListSort
this.form.displayOnlyComment = res.data.displayOnlyComment
}
}) })
},
timeChange(data) {
return timeHandle(data)
},
typeChange(data) {
let obj = JSON.parse(data);
return obj;
},
fileSizeChange(val) {
return betaHandle(val)
},
// 打开PDF
downPDF(url) {
window.location.href = url
} }
}
}
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.discuss-opt{ .search-msg-detail {
padding:20px; .detail-content {
.btn-box{ padding: 0 20px;
text-align: center background: #fff;
} .msg-container {
.label-name{ display: flex;
font-size: 12px; flex-direction: row;
color:#606266; padding-top: 12px;
padding-right:10px; .msg-item-img {
display: inline-block; width: 32px;
height: 32px;
margin-right: 8px;
} & > img {
.label-f{ width: 100%;
width: 80px; height: 100%;
} border-radius: 22px;
.label-w { }
width: 110px }
} .msg-content {
.pdrt20{ display: flex;
padding:20px 0; flex-direction: column;
} width: 100%;
.el-radio__label,.el-checkbox__label{ text-align: left;
font-size: 12px; font-size: 13px;
.text-content {
padding: 16px 0;
color: #333333;
border-bottom: 1px solid #F0F1F2;
}
.img-content {
padding: 16px 0;
border-bottom: 1px solid #F0F1F2;
cursor: pointer;
& > img {
width: 170px;
height: 108px;
border-radius: 8px;
}
}
.file-content {
padding: 16px 0;
border-bottom: 1px solid #F0F1F2;
.file-con {
display: flex;
flex-direction: row;
max-width: 260px;
text-align: left;
padding: 10px 15px;
background: #f0f1f2;
border-radius: 8px;
cursor: pointer;
.file-left {
display: flex;
flex-direction: column;
justify-content: space-around;
width: 190px;
.name {
font-size: 13px;
color: #333333;
}
.size {
font-size: 12px;
color: #999999;
}
}
.file-right {
width: 36px;
height: 44px;
& > img {
width: 36px;
height: 100%;
border-radius: 3px;
}
}
}
}
}
} }
} }
.add-manager-wrap {
.add-content {
background: #fff;
}
.rim {
border: 1px solid #dddddd;
}
.step-content {
overflow: hidden;
height: 60px;
margin-top: 66px;
padding-top: 15px;
border-bottom: 1px solid #fff;
.is-text {
display: none;
}
.el-steps--simple {
background: #fff;
}
.button-green {
color: #ffffff;
background: #449284;
border-color: #bfdad5;
border-radius: 2px;
}
.button-white {
color: #606266;
background: #ffffff;
border-color: #ecedf1;
border-radius: 2px;
}
.step-num {
display: block;
font-size: 12px;
border: 2px solid #b8babe;
border-radius: 50%;
width: 25px;
height: 20px;
line-height: 15px;
text-align: center;
color: #b8babe;
}
.is-finish {
color: #c0c4cc;
}
.on-step {
color: #747476;
border-color: #747476;
}
}
.first-step {
margin-top: 20px;
.bg-uploader {
img {
float: left;
}
.bg-img {
width: 84px;
height: 100px;
}
.bg-video {
float: left;
width: 100px;
height: 100px;
}
.limit-text {
float: left;
margin-left: 10px;
margin-top: -10px;
p {
font-size: 12px;
color: #999;
}
}
}
.el-upload__tip {
position: absolute;
top: -6px;
left: 130px;
}
.choose-button {
background: #fff;
color: #409eff;
border: 1px solid #409eff;
}
}
.second-step {
margin: 10px 0 0 20px;
//隐藏树展开
.table-empty {
img {
width: 100px;
}
p {
margin-top: -50px;
}
}
.el-tree-node__expand-icon {
display: none;
}
.el-table__header-wrapper {
.el-checkbox__inner {
//display: none;
//visibility: hidden;
}
}
.department {
margin-top: 20px;
border: 1px solid #dddddd;
}
.el-tabs__nav-wrap::after {
display: none;
}
.el-tabs__active-bar {
display: none;
}
#tab-first,
#tab-second,
#tab-third {
padding-right: 0px;
}
#tab-first::after,
#tab-second::after,
#tab-third::after {
color: #c7cbd2;
margin-left: 20px;
content: "•";
}
.el-tag {
margin: 0 10px 10px 0;
border: 1.3px solid #48a8fe;
color: #1e92fe;
background-color: #e7f6fe;
.el-icon-close {
width: 13px;
height: 13px;
line-height: 13px;
font-size: 12px;
background-color: #0486fe;
border-radius: 50%;
color: #d4edfe;
}
}
}
.third-step {
margin: 30px 0 0px 30px;
padding-bottom: 30px;
}
} }
</style> </style>
\ No newline at end of file
<template> <template>
<div class="message-list-wrap"> <div class="message-list-wrap">
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb>
<div class="component-content screenSet" id="screenSet"> <div class="component-content screenSet" id="screenSet">
<el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;margin-right:0px;"> <el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;margin-right:0px;">
<el-form ref="serchForm" inline :model="searchParam" label-width="15px" style="width:100%;text-align:right;"> <el-form ref="serchForm" inline :model="searchParam" label-width="15px" style="width:100%;text-align:right;">
<el-form-item label=""> <el-form-item label="">
<el-input clearable v-model="searchParam.theme" size="mini" placeholder="请输入用户电话" ><el-button slot="append" icon="el-icon-search" @click="search()"></el-button></el-input> <el-input clearable v-model="searchParam.userMobile" size="mini" placeholder="请输入用户电话" ><el-button slot="append" icon="el-icon-search" @click="search()"></el-button></el-input>
</el-form-item> </el-form-item>
<el-form-item label=""> <el-form-item label="">
<el-input clearable v-model="searchParam.name" size="mini" placeholder="请输入用户名称" ><el-button slot="append" icon="el-icon-search" @click="search()"></el-button></el-input> <el-input clearable v-model="searchParam.userName" size="mini" placeholder="请输入用户名称" ><el-button slot="append" icon="el-icon-search" @click="search()"></el-button></el-input>
</el-form-item> </el-form-item>
<el-form-item label=""> <el-form-item label="">
<el-input clearable v-model="searchParam.name" size="mini" placeholder="请输入客服名" ><el-button slot="append" icon="el-icon-search" @click="search()"></el-button></el-input> <el-input clearable v-model="searchParam.adminName" size="mini" placeholder="请输入客服名" ><el-button slot="append" icon="el-icon-search" @click="search()"></el-button></el-input>
</el-form-item> </el-form-item>
<el-form-item label="" style="position:relative;top:-8px;left:0;margin-bottom: 0px;"> <el-form-item label="" style="position:relative;top:-8px;left:0;margin-bottom: 0px;">
<el-date-picker v-model="searchParam.name" size="mini" type="date" placeholder="请选择日期"></el-date-picker> <el-date-picker v-model="searchParam.chooseDate" size="mini" type="date" placeholder="请选择日期"></el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-row> </el-row>
<el-table :data="tableData" style="width: 100%" v-loading="loading"> <el-table :data="tableData" style="width: 100%" v-loading="loading">
<el-table-column prop="id" label="用户名" min-width="50" align="center"></el-table-column> <el-table-column prop="userName" label="用户名" min-width="50" align="center"></el-table-column>
<el-table-column prop="subject" label="对话次数" min-width="100" align="center"></el-table-column> <el-table-column prop="communicationNumber" label="对话次数" min-width="100" align="center"></el-table-column>
<el-table-column prop="category" label="用户类型" min-width="50" align="center"></el-table-column> <el-table-column label="用户类型" min-width="50" align="center">
<el-table-column prop="remark" label="认证状况" min-width="100" align="center"></el-table-column> <template slot-scope="scope">
<el-table-column prop="createdusername" label="所属机构" min-width="50" align="center"></el-table-column> <span>{{scope.row.idType | typeFilter}}</span>
</template>
</el-table-column>
<el-table-column prop="certStatus" label="认证状况" min-width="100" align="center"></el-table-column>
<el-table-column prop="hospitalName" label="所属机构" min-width="50" align="center"></el-table-column>
<el-table-column label="操作" fixed="right" align="center" min-width="100"> <el-table-column label="操作" fixed="right" align="center" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="edit(scope.row)">查看详细</el-button> <el-button type="text" size="small" @click="edit(scope.row)">查看详细</el-button>
...@@ -36,123 +39,106 @@ ...@@ -36,123 +39,106 @@
</div> </div>
</div> </div>
</el-table> </el-table>
<!-- 分页 -->
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="searchParam.pageNo"
:page-sizes="[15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]"
:page-size="searchParam.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows">
</el-pagination>
</div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import BreadCrumb from "@/components/breadcrumb.vue";
import { doUpload, getFilePath } from "@/utils/qiniu-util"; import { doUpload, getFilePath } from "@/utils/qiniu-util";
import { validateWord } from "@/utils/validate.js"; import { validateWord } from "@/utils/validate.js";
import { openLoading, closeLoading } from "@/utils/utils"; import { openLoading, closeLoading } from "@/utils/utils";
import * as commonUtil from "@/utils/utils"; import * as commonUtil from "@/utils/utils";
let vm = null; let vm = null;
export default { export default {
components: {
BreadCrumb
},
data() { data() {
return { return {
curmbFirst: "云鹊客服",
curmbSecond: "消息查询",
searchParam: { searchParam: {
theme: "", adminName: "",
type: "", chooseDate: "",
name: "", userMobile: "",
status: "", userName: "",
pageNo: 1, pageNo: 1,
pageSize: 15 pageSize: 15
}, },
category: [], totalRows: 0,
categoryStatus: "",
tableData: [], tableData: [],
loading: false, loading: false,
nextSessionId: ""
}; };
}, },
computed: {}, computed: {},
filters: { filters: {
filteFun(index) { typeFilter(index) {
let str = ""; let str = "";
if (index == 1) { if (index == 1) {
str = "未发布"; str = "医生";
} else if (index == 2) { } else if (index == 2) {
str = "已发布"; str = "居民";
} else if (index == 3) {
str = "已下线";
} }
return str; return str;
} }
}, },
created() { created() {
this.search();
setTimeout(() => {
this.search();
}, 10000);
}, },
// 挂载到Dom完成时 // 挂载到Dom完成时
mounted: function() { mounted() {
commonUtil.resizeHeight(); commonUtil.resizeHeight();
this.searchMessage();
}, },
methods: { methods: {
// 列表查询 // 列表查询
search() { searchMessage() {
//this.getData();
},
// 获取数据
getData() {
let subject = 0,
status = 0,
name = 0;
this.loading = true; this.loading = true;
let cStatus = this.categoryStatus ? this.categoryStatus : "0"; //'0'表示默认查所有的 let url = `/im/system/message/list`;
let url = let params = this.searchParam;
"/interaction/discuss/" + this.GET(url, params).then(res => {
cStatus +
"/" +
subject +
"/" +
name +
"/" +
status +
"/" +
this.searchParam.pageNo +
"/" +
this.searchParam.pageSize;
this.GET(url).then(res => {
this.loading = false; this.loading = false;
if (res.code == "000000") { if (res.code == "000000") {
console.log(res.data); this.tableData = res.data.list;
this.tableData = res.data.resp.discuss || []; this.totalRows = res.data.total;
this.nextSessionId = this.tableData[0] && this.tableData[0].id;
console.log("this.nextSessionId", this.nextSessionId);
if (res.data.typeList && res.data.typeList.length) {
let arr = [];
for (let i = 0; i < res.data.typeList.length; i++) {
let obj = {};
obj.label = res.data.typeList[i];
obj.value = res.data.typeList[i];
arr.push(obj);
}
this.category = arr;
}
} }
}); });
}, },
// 查看消息详情 // 查看消息详情
edit() { edit(row) {
this.$router.push({ this.$router.push({
path: `/current-session-list?nextSessionId=${this.nextSessionId}` path: `/search-message-detail`,
query: {
msgTimestamp: row.msgTimestamp,
doctorAccId: row.accId,
userName: row.userName,
avatarImageUrl: row.avatarImageUrl
}
}); });
}, },
handleSizeChange(value) {
this.searchParam.pageSize = value;
this.handleGoSearch();
},
handleCurrentChange(value) {
this.searchParam.pageNo = value;
this.handleGoSearch();
}
} }
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.message-list-wrap { .message-list-wrap {
margin-top: -60px;
.component-content { .component-content {
padding: 10px; padding: 10px;
background: #fff; background: #fff;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册