Commit b3e24940 by keith

1.服务记录增加所有数据列表选项 2.增加首页服务总数量显示 3.重写独立用户访问记录逻辑

parent cb7518d6
......@@ -78,11 +78,10 @@ func (c *HomeController) GetFlowStatistical() {
}
}
statisticalData, err := c.StatisticalRepository.GetFlowStatistical(statisticalRequest.DateStart, statisticalRequest.DateEnd)
statisticalData, err := services.GetFlowStatisticalRepositoryInstance().GetCounter(statisticalRequest.DateStart, statisticalRequest.DateEnd)
if err != nil {
c.JSON(configs.ResponseFail, err.Error(), err.Error())
}
c.JSON(configs.ResponseSucess, "success", &statisticalData)
}
......@@ -161,6 +161,9 @@ func (c *PublicController) Register() {
}
}
// flow Statistical
services.GetFlowStatisticalRepositoryInstance().Increment(user.Platform, user.ID)
} else {
// GetAdminAuthInfo
......
......@@ -38,7 +38,6 @@ func (c *ServicesStatisticalController) List() {
valid := validation.Validation{}
valid.Required(paginationDto.PageOn, "page_on").Message("page_on不能为空!")
valid.Required(paginationDto.PageSize, "page_size").Message("page_size不能为空!")
valid.Required(paginationDto.Cid, "cid").Message("cid不能为空!")
valid.Required(paginationDto.Date, "date").Message("date不能为空!")
if valid.HasErrors() {
for _, err := range valid.Errors {
......
......@@ -41,6 +41,7 @@ func Run() {
orm.RegisterModel(new(models.WorkOrder))
orm.RegisterModel(new(models.WorkOrderType))
orm.RegisterModel(new(models.WorkOrderComment))
orm.RegisterModel(new(models.FlowStatistical))
// 创建表
_ = orm.RunSyncdb("default", false, true)
......
package models
// FlowStatistical 独立流量统计
type FlowStatistical struct {
ID int64 `orm:"auto;pk;column(id)" json:"id"` // id
Date int64 `orm:"column(date)" json:"date"` // 统计日期
Platform int64 `orm:"column(platform)" json:"platform"` // 用户ID
Count int64 `orm:"column(count)" json:"count"` // 数量
Users string `orm:"null;type(text);column(users)" json:"users"` // 用户IDS
}
.mini-im-home-title[data-v-046eea91]{text-align:center;font-size:18px;color:#666;padding:15px 0 50px}.mini-im-home-copyright[data-v-046eea91]{text-align:center;color:#666;font-size:14px;padding-top:50px}.online-count[data-v-046eea91]{text-align:center;color:#666;margin-top:10px}.online-count span[data-v-046eea91]{color:#8bc34a;margin:0 5px}
\ No newline at end of file
.mini-im-home-title[data-v-48cdb8f2]{text-align:center;font-size:18px;color:#666;padding:15px 0 50px}.mini-im-home-copyright[data-v-48cdb8f2]{text-align:center;color:#666;font-size:14px;padding-top:50px}.online-count[data-v-48cdb8f2]{text-align:center;color:#666;margin-top:10px}.online-count span[data-v-48cdb8f2]{color:#8bc34a;margin:0 5px}
\ No newline at end of file
......@@ -47,4 +47,4 @@
}
input:-ms-input-placeholder{ /* Internet Explorer 10-11 */
color:#ccc;
}</style><link href=css/chunk-027be9b0.1440a418.css rel=prefetch><link href=css/chunk-08473d3a.77daa9fe.css rel=prefetch><link href=css/chunk-08627161.c1f4f120.css rel=prefetch><link href=css/chunk-0bf8947d.310a0e2f.css rel=prefetch><link href=css/chunk-132fc719.b547401f.css rel=prefetch><link href=css/chunk-1e573615.be89fdde.css rel=prefetch><link href=css/chunk-4d213a0b.e2ea152d.css rel=prefetch><link href=css/chunk-56896308.67b3f13c.css rel=prefetch><link href=css/chunk-650419d0.3897bea9.css rel=prefetch><link href=css/chunk-724a4e2a.507bad62.css rel=prefetch><link href=css/chunk-763d35df.70fac712.css rel=prefetch><link href=js/chunk-027be9b0.1078ee31.js rel=prefetch><link href=js/chunk-08473d3a.57550f5a.js rel=prefetch><link href=js/chunk-08627161.af4b0a2d.js rel=prefetch><link href=js/chunk-0bf8947d.9b4903e6.js rel=prefetch><link href=js/chunk-132fc719.078733a8.js rel=prefetch><link href=js/chunk-1e573615.16b6c862.js rel=prefetch><link href=js/chunk-343c8d41.1c228cb2.js rel=prefetch><link href=js/chunk-4d213a0b.21e8499f.js rel=prefetch><link href=js/chunk-56896308.2e82959c.js rel=prefetch><link href=js/chunk-650419d0.99e278a2.js rel=prefetch><link href=js/chunk-724a4e2a.f58c8db3.js rel=prefetch><link href=js/chunk-763d35df.f33fe524.js rel=prefetch><link href=css/app.ba710877.css rel=preload as=style><link href=css/chunk-vendors.cb739fea.css rel=preload as=style><link href=js/app.5bbe92af.js rel=preload as=script><link href=js/chunk-vendors.420bd1eb.js rel=preload as=script><link href=css/chunk-vendors.cb739fea.css rel=stylesheet><link href=css/app.ba710877.css rel=stylesheet></head><body><noscript><strong>We're sorry but m doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.420bd1eb.js></script><script src=js/app.5bbe92af.js></script></body></html>
\ No newline at end of file
}</style><link href=css/chunk-027be9b0.1440a418.css rel=prefetch><link href=css/chunk-08473d3a.77daa9fe.css rel=prefetch><link href=css/chunk-08627161.c1f4f120.css rel=prefetch><link href=css/chunk-0bf8947d.310a0e2f.css rel=prefetch><link href=css/chunk-132fc719.b547401f.css rel=prefetch><link href=css/chunk-1e573615.be89fdde.css rel=prefetch><link href=css/chunk-4d213a0b.e2ea152d.css rel=prefetch><link href=css/chunk-56896308.67b3f13c.css rel=prefetch><link href=css/chunk-650419d0.3897bea9.css rel=prefetch><link href=css/chunk-724a4e2a.507bad62.css rel=prefetch><link href=css/chunk-f8bfd426.2fc6ff09.css rel=prefetch><link href=js/chunk-027be9b0.1078ee31.js rel=prefetch><link href=js/chunk-08473d3a.b7eb59e9.js rel=prefetch><link href=js/chunk-08627161.af4b0a2d.js rel=prefetch><link href=js/chunk-0bf8947d.9b4903e6.js rel=prefetch><link href=js/chunk-132fc719.078733a8.js rel=prefetch><link href=js/chunk-1e573615.16b6c862.js rel=prefetch><link href=js/chunk-343c8d41.1c228cb2.js rel=prefetch><link href=js/chunk-4d213a0b.21e8499f.js rel=prefetch><link href=js/chunk-56896308.2e82959c.js rel=prefetch><link href=js/chunk-650419d0.99e278a2.js rel=prefetch><link href=js/chunk-724a4e2a.f58c8db3.js rel=prefetch><link href=js/chunk-f8bfd426.78f7bc0b.js rel=prefetch><link href=css/app.ba710877.css rel=preload as=style><link href=css/chunk-vendors.cb739fea.css rel=preload as=style><link href=js/app.d2d60b82.js rel=preload as=script><link href=js/chunk-vendors.420bd1eb.js rel=preload as=script><link href=css/chunk-vendors.cb739fea.css rel=stylesheet><link href=css/app.ba710877.css rel=stylesheet></head><body><noscript><strong>We're sorry but m doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.420bd1eb.js></script><script src=js/app.d2d60b82.js></script></body></html>
\ No newline at end of file
(function(e){function t(t){for(var a,o,c=t[0],i=t[1],u=t[2],l=0,f=[];l<c.length;l++)o=c[l],Object.prototype.hasOwnProperty.call(s,o)&&s[o]&&f.push(s[o][0]),s[o]=0;for(a in i)Object.prototype.hasOwnProperty.call(i,a)&&(e[a]=i[a]);d&&d(t);while(f.length)f.shift()();return r.push.apply(r,u||[]),n()}function n(){for(var e,t=0;t<r.length;t++){for(var n=r[t],a=!0,o=1;o<n.length;o++){var c=n[o];0!==s[c]&&(a=!1)}a&&(r.splice(t--,1),e=i(i.s=n[0]))}return e}var a={},o={app:0},s={app:0},r=[];function c(e){return i.p+"js/"+({}[e]||e)+"."+{"chunk-08473d3a":"57550f5a","chunk-08627161":"af4b0a2d","chunk-343c8d41":"1c228cb2","chunk-027be9b0":"1078ee31","chunk-0bf8947d":"9b4903e6","chunk-132fc719":"078733a8","chunk-1e573615":"16b6c862","chunk-56896308":"2e82959c","chunk-650419d0":"99e278a2","chunk-724a4e2a":"f58c8db3","chunk-4d213a0b":"21e8499f","chunk-763d35df":"f33fe524"}[e]+".js"}function i(t){if(a[t])return a[t].exports;var n=a[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.e=function(e){var t=[],n={"chunk-08473d3a":1,"chunk-08627161":1,"chunk-027be9b0":1,"chunk-0bf8947d":1,"chunk-132fc719":1,"chunk-1e573615":1,"chunk-56896308":1,"chunk-650419d0":1,"chunk-724a4e2a":1,"chunk-4d213a0b":1,"chunk-763d35df":1};o[e]?t.push(o[e]):0!==o[e]&&n[e]&&t.push(o[e]=new Promise((function(t,n){for(var a="css/"+({}[e]||e)+"."+{"chunk-08473d3a":"77daa9fe","chunk-08627161":"c1f4f120","chunk-343c8d41":"31d6cfe0","chunk-027be9b0":"1440a418","chunk-0bf8947d":"310a0e2f","chunk-132fc719":"b547401f","chunk-1e573615":"be89fdde","chunk-56896308":"67b3f13c","chunk-650419d0":"3897bea9","chunk-724a4e2a":"507bad62","chunk-4d213a0b":"e2ea152d","chunk-763d35df":"70fac712"}[e]+".css",s=i.p+a,r=document.getElementsByTagName("link"),c=0;c<r.length;c++){var u=r[c],l=u.getAttribute("data-href")||u.getAttribute("href");if("stylesheet"===u.rel&&(l===a||l===s))return t()}var f=document.getElementsByTagName("style");for(c=0;c<f.length;c++){u=f[c],l=u.getAttribute("data-href");if(l===a||l===s)return t()}var d=document.createElement("link");d.rel="stylesheet",d.type="text/css",d.onload=t,d.onerror=function(t){var a=t&&t.target&&t.target.src||s,r=new Error("Loading CSS chunk "+e+" failed.\n("+a+")");r.code="CSS_CHUNK_LOAD_FAILED",r.request=a,delete o[e],d.parentNode.removeChild(d),n(r)},d.href=s;var m=document.getElementsByTagName("head")[0];m.appendChild(d)})).then((function(){o[e]=0})));var a=s[e];if(0!==a)if(a)t.push(a[2]);else{var r=new Promise((function(t,n){a=s[e]=[t,n]}));t.push(a[2]=r);var u,l=document.createElement("script");l.charset="utf-8",l.timeout=120,i.nc&&l.setAttribute("nonce",i.nc),l.src=c(e);var f=new Error;u=function(t){l.onerror=l.onload=null,clearTimeout(d);var n=s[e];if(0!==n){if(n){var a=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+a+": "+o+")",f.name="ChunkLoadError",f.type=a,f.request=o,n[1](f)}s[e]=void 0}};var d=setTimeout((function(){u({type:"timeout",target:l})}),12e4);l.onerror=l.onload=u,document.head.appendChild(l)}return Promise.all(t)},i.m=e,i.c=a,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)i.d(n,a,function(t){return e[t]}.bind(null,a));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i.oe=function(e){throw console.error(e),e};var u=window["webpackJsonp"]=window["webpackJsonp"]||[],l=u.push.bind(u);u.push=t,u=u.slice();for(var f=0;f<u.length;f++)t(u[f]);var d=l;r.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("56d7")},"41cb":function(e,t,n){"use strict";var a=n("2b0e"),o=n("8c4f");a["default"].use(o["a"]),t["a"]=new o["a"]({base:"",routes:[{path:"/",name:"home",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-1e573615")]).then(n.bind(null,"1e4b"))},redirect:"/index",children:[{path:"index",component:function(){return n.e("chunk-763d35df").then(n.bind(null,"7abe"))}},{path:"workbench",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-132fc719")]).then(n.bind(null,"29e5"))}},{path:"knowledge",component:function(){return n.e("chunk-08627161").then(n.bind(null,"7a26"))}},{path:"robot",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-724a4e2a")]).then(n.bind(null,"2157"))}},{path:"customer",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-027be9b0")]).then(n.bind(null,"aedf"))}},{path:"users",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-56896308")]).then(n.bind(null,"4468"))}},{path:"system",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-650419d0")]).then(n.bind(null,"26b0"))}},{path:"chat_record",component:function(){return n.e("chunk-08473d3a").then(n.bind(null,"caae"))}},{path:"workorder",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-0bf8947d")]).then(n.bind(null,"df5f"))}}]},{path:"/login",name:"login",component:function(){return n.e("chunk-4d213a0b").then(n.bind(null,"bd01"))}},{path:"*",redirect:"/index"}]})},4360:function(e,t,n){"use strict";var a=n("2b0e"),o=n("2f62"),s=(n("57e7"),n("bc3a")),r=n.n(s),c=n("41cb"),i={ON_GET_ME:function(e){var t=location.pathname;r.a.get("/admin/me").then((function(t){e.commit("onIsLogin",!0),e.commit("onChangeAdminInfo",t.data.data),"/login"!=location.pathname&&-1==location.hash.indexOf("#/login")||c["a"].push({path:"/index"})})).catch((function(n){console.log(n.response),e.commit("onIsLogin",!1),"/login"!=t&&c["a"].push({path:"/login"})}))},ON_GET_CONFIGS:function(e){r.a.get("/public/configs").then((function(t){e.commit("onChangeConfigs",t.data.data)}))},ON_GET_PLATFORM_CONFIG:function(e){r.a.get("/platform/list").then((function(t){e.commit("onChangePlatformConfig",t.data.data)}))},ON_GET_SYSTEM:function(e){r.a.get("/system").then((function(t){e.commit("onChangeSystemInfo",t.data.data),document.title=t.data.data.title}))},ON_GET_COMPANY:function(e){r.a.get("/public/company").then((function(t){e.commit("onChangeCompanyInfo",t.data.data)}))},ON_GET_UPLOADS_CONFIG:function(e){r.a.get("/uploads/config").then((function(t){e.commit("onChangeUploadsConfigs",t.data.data)}))},ON_GET_CONTACTS:function(e){r.a.get("/contact/list").then((function(t){e.commit("onChangeContacts",t.data.data)}))},ON_RUN_LAST_ACTiIVITY:function(){r.a.get("/public/activity/")},ON_GET_ROBOTS:function(e){var t=this;r.a.get("/robot/list").then((function(t){e.commit("onChangeRobos",t.data.data)})).catch((function(){t.loading=!1}))},ON_GET_WORKORDER_COUNTS:function(e){r.a.get("/workorder/counts").then((function(t){e.commit("onChangeWorkOrderCounts",t.data.data)}))}},u={onChangeHeaserTitle:function(e,t){e.heaserTitle=t},onChangePlatformConfig:function(e,t){e.platformConfig=t},onChangeToggleAside:function(e,t){e.isShowAside=t},onChangeEditDialogFormVisible:function(e,t){e.editDialogFormVisible=t},onChangeEditPasswordDialogFormVisible:function(e,t){e.editPasswordDialogFormVisible=t},onChangeAdminInfo:function(e,t){e.adminInfo=t},onChangeConfigs:function(e,t){e.configs=t},onChangeSystemInfo:function(e,t){e.systemInfo=t},onChangeCompanyInfo:function(e,t){e.companyInfo=t},onChangeUploadsConfigs:function(e,t){e.uploadsConfigs=t},onChangeMimcUser:function(e,t){e.mimcUser=t},onChangeContacts:function(e,t){for(var n in e.contacts=t,t){var a=t[n];if(e.seviceCurrentUser&&a.from_account==e.seviceCurrentUser.from_account){e.seviceCurrentUser=a;break}}},onChangeSeviceCurrentUser:function(e,t){e.seviceCurrentUser=t},onChangeRobos:function(e,t){e.robots=t},onReset:function(e){e.seviceCurrentUser=null,e.contacts=[],e.mimcUser=null},onChangeMessageRecord:function(e,t){e.messageRecord=t},onIsLogin:function(e,t){e.isLogin=t},onChangeWorkOrderCounts:function(e,t){e.workOrderCounts=t}},l={adminInfo:function(e){return e.adminInfo||{}},isLogin:function(e){return e.isLogin},avatar:function(e){return e.adminInfo&&""!=e.adminInfo.avatar?e.adminInfo.avatar:""},uploadMod:function(e){return e.configs.upload_mode||-1},nickname:function(e){return e.adminInfo&&""!=e.adminInfo.nickname?e.adminInfo.nickname:"未设置昵称"},configs:function(e){return e.configs},platformConfig:function(e){return e.platformConfig},systemInfo:function(e){return e.systemInfo},companyInfo:function(e){return e.companyInfo},uploadsConfigs:function(e){return e.uploadsConfigs},contacts:function(e){return e.contacts||[]},seviceCurrentUser:function(e){return e.seviceCurrentUser||{}},robots:function(e){return e.robots||[]},messageRecord:function(e){return e.messageRecord||{list:[]}},readCount:function(e){for(var t=0,n=0;n<e.contacts.length;n++)t+=e.contacts[n].read;return t},workbenchBgColor:function(e){return e.workbenchBgColor},workOrderCounts:function(e){return e.workOrderCounts}},f={adminInfo:null,heaserTitle:"首页",isShowAside:!0,editDialogFormVisible:!1,isLogin:!1,editPasswordDialogFormVisible:!1,configs:{},platformConfig:[],systemInfo:{},companyInfo:{},uploadsConfigs:[],mimcUser:null,contacts:[],robots:[],seviceCurrentUser:null,messageRecord:{list:[]},workOrderCounts:{status0:0,status2:0,status3:0,delete_count:0},avatar:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAAAXNSR0IArs4c6QAAD7tJREFUeAHtXV1sHMUdn9m7s50P59NxbBI7McH5IHz5A8g5OHFTJECUIlWFVkIFCdI+8dYHqOARBKjqG08tIIHEA7QvlCJAShPHxnYAO6aiKE0s5DZpcBJiFOqEOLZvp//f3q1zd7673b2dnZ21b6TT7u3O/L9+O/Of7+FsEYTx8fGa0xOTrVwYOwQT9GM7OGP1pFotY6JWMG5duXWlJ0xMMcaneOZK8aYozQVKc5LinBTcPNncuH6spaVlOurmIZ2iF44OjewilA7Q70cETAcp0SyEMGRqwjk3ifZpoj3CODtCv8P7kx0nZPJQQSsSAA8PD9ddmTEeZqZ5gIx+gAzToMI4BXicI4MdZoZxeEWV+V5nZ+fFAnG0eqQtwGNjY9UTF6Yeopz5OOPifiFYQifLcc5mmeAfUU5/q7G+9v3W1tZrOslny6IdwL0Do3dyYT5FOfUX5C3X2ILqfeWXyJDvCG683rO37XOdZNUG4P6h0Z5UynyOQL1XJwN5l4UfisWMF7uTbb3e08pPETrAvUPHH6DqzPNUFHfJVy88ilR0DwqDv9CTbP8wPCmorRAW8/6h4btTJn+VCdEZlgxK+HI+HDPE093Jzk+V8MtjohzgwcGv1s2I6ZeJ8UHKtcr55+mv5C/lZqojsteqeM2zXV27v1PCNMNEmYEBZt/Q6JNCmK9Q+3W9SiW14cXZJOfGM/uSbW8AdBVyKQH46GdfNrHZmbcJ5G4VSunOg8DtZ4mqx/bfdeuZoGUNHOC+geEHTcbeXLK5thiClJup6+2JfXs7PygWRcZzqd172QJRbo0f/WTk99QP/H4F3GzLZO7JTcE2lo3IVgViSHkUSA4eHPxi06xI/ZlATkqRcpEToSJ7KMFjj3R13XFWtqrSAbYGAlLiY6pBNMkWdjHTIyDOsBi/T/aAhtQi+pNjI3uEKfor4Hr/FGEz2A429J66eAppAKNHKpUSf6/42+LGdnxDfhk2hC0d47qMIAXgvoHjv2Qp86/Uml/ukm8lWhELWDYkW1o2LRLHy2PfPtj62kggYhpYTdCLQoso7hyLGT/125ftC2D4CxQplZwbzGdFY84/xGL8x/fs6ThWLoeyAUZtGZWCis8t1/Qu06F70+Dd5dauy/LBaOcyagpVwHUJkp9o6LcnW1s2L4OOZ4DRQ2V1YlTauWWYu7wkaEJlOo4813M8A0y1u5cqPVTlAeUnFWwO23ul4ckHY+AA/afEzFM6r0LJjL+qdiWrW7+G1a5czqqqEqyafgjXZmbZDP2mLv/ALk5eYv+buiyTbSC0MMRIc7kf8jJA4RooDPmJ2WujUfC7ZAi2+YZ6+m20QHVjbYD932/O0+8CTTKhQlHXgEpXorrN7VCjqyLayrE0nhsFcJFb7+q4hd24dbNrcIElcjfSIC1oaBtQ6UqPrbvKnK4iHR08/pQwzde0VToj2NbmG9iWpkYpYv7nzAT79+lvpNAKggg3jIP7u9pfd6LtCHB6DtXVU7rn3l3bW1j9hnVO+np6f+Hb79iJU+Oe0iiLTEV1FV+23WmOl2MRjQlyuoOLnCsbXAAFmqCtZaCi2sLGQbiSORhTW02TD+lca4a/3L1zm4Oa/l5/9a+vrZq2PyryU6NWbRgiWWpKbskcjHnLOoOL2vK2luDnFYAHeOkWgI01t7yEYEUBtkaJNJ+UjqZQTXVVCfXkvAIP8NIyEEalxo+LAozlJFoqlCUU2rmqgkpeXnWibExrugqHggBjIRhlf63XCqGHCm1XVQG8wFPHQN0ye4FZIdkKApxe5Vcouj7PwuiMCIOnW4sXw2wBwFifG4UlnOhbVh3C4OleR3FvGrvcFAsA5sw8mBtFz38qi2fbAmHwtHm7uRbCLgdgbJtA/eyPuiEWdhx7VEilHGHw9KIfsAOG2WlyAMaeGNHZNiFbDTX3Og8ypS0g1qQxvG6PHICp5vz49Vd632E8V3WYmVXP06uO+RjOA4ytirCbjVeCYcXH+K3qEAZPzzoShhaWmYTzAGMfKiqC1DUsPUuemwAzMVSHqctXVLP0zA8YWnuKZVLOA4xNxjxTCzEBptmoDhcnv1fNsjx+WVjOA0y9IZECGHOoVBaZ4BWFeVv4IrKxtAC2lnyGtz1geV8ppcIcKlVBJS8JOjVkMGXpHIyNPSMYMEFu+tpM4JKDB3hFKmQwTQNsRhNgahKwr8cD38fE4gFekQq0Ey/ktQCmybbtkRI+S1hUtjBBLqgA2mFU6PzqQ59jB2gY2Eyb5io0+yUYZnrMfsQEOdkBNHWeWVlKX2AKbOPYKZ1Kn3RRXSqF5u8w+/Hq9LUlM23WCQ5yKQawjae3waedrBZBQG67fOUHa55WuVN5UKGCX49isZwPIbCN44yD/BdR/g9gJr/7fvEuXfEADrAlgNmiAhj6o8Z75ux567eYFp95wNaKCmzjtFptY8QaAJ70RO9TVHqgPCnmIjKwpcoVjpyphMVpAV5LAAs9pwouTosr1kqsNGhBdyUHKza7KnbAFjk4kgAbBmcNG+tYxx272No1qwKz2fLlNSwWiwVGP1jCopYqWZyOfotONQszGzc1bmCNGzewRCK9J8nO7VvZyBcnpA8fgtftt2xnBjfY2YkL1ujV3FwqWEwkUge2nndtkcjfEynDMKxeqqZNGxcsBKtKJBjWB//jn6c80XSKDJqgjYCF5VifdHbiW2p+nWNRAZp8MA5q1DugCO5su5k1b25YAK4t+ZrVtVLX8mJdMGhmBxTVkOHOtt1s3drV2a+0vAe2aCZpC3A8Hmc7W7ey23a3smU11Y5GhPFl+GPQAK1iAUX3rTffxLZva6ZjDMmE2gY+RVUVPXPwsmU1rP32nWxjvfsDWrCGF/7YzwoEpAUNN+uBGxs2WCWLrktagK2WOXj1qpWs7bYdrnJtfuax/XH+c7f/s/2umzQoWVARyy/O3aQNPg7lYGKiVRG9oW6tVSQnqHguN5Trjwv5XTcywDejyK5bp932S1NUyWLaTDZCuxY5SIZf8+qPnfyuE9CQ+eadN3pyKU40/b4HtuSD2Um/hGSkR65DpcWN73PDz4s/9uJ3S/EGzx03bWHrNcnJwJYA5qEDjArVbvr6ZYFrg+DWH3v1uzb9Qlfrw6Ka/3LSKewAbA3BzVABRlMI/gvXIIKTPy7X75aSNR6Psd27toXexQlsjebG9WP01YU2Z2cXNUnctHFLGdTpXTF/7NfvluKLHIySIawATIGt0dLSMk3O+HQYgqDGrKJHyCo289rHsvxuKbutX7eaNXhox5ei5fUdMAW2VjcMOeMRrwT8xqdj0Nk22t1VVcj3xzL9bikdWrZsoqLaMnOpaNLf2ZimOXN2RDoHB4JbmzexagWbmGWLYfvjIPxuNp/se5QUW5pC2O8yg2m6ZsPZ4Wyhgr5fsXyZNeQXNJ9C9Ev1MReKL+PZpsZ6NnH+Irt6dVoGOXc0MphaOThzZMs5dyn9x9pcYMjPP1V3FOCP8VMZMDmhhUanFIZz9jE8886BVFaSi9GEqKfK1VIL6PywJygErXs2lvMAU/+gEoAbqTtSRldk0EaSTd+aYlRfJ5tsYXpZWM4DvKLKfI9KrsB3NrmBhtiWamhsCB5gYAgsbRvPA9zZ2XmRCf6R/SKIKzoWalwM3AfBWwea6NBBTT7QQBhaWGaYzAOM/1T5eCtI5mvXBKxckMJLoh30QEQ+hjkAN9bXvk8wB7Z9zepVFYAxmSG4wC+lMbzOIQfg1tbWa1SGv3v9tbw7VKx0ndoiT0tnSitXLAuskkm153eAYbYUOQDjBa0FD+R8JHy5qtuf2Yrqcg8brK5dEYg4ghsLzlFaAHDP3rbPqZg+JFuCYIsm2dIGS29VIMU0P5TGLlf2BQDjNXWOv5gbzf8/1f3O/iUOjkIQw6PFMCsIcHeyrZeKkkGZKvqZRCdTDh1oye7RAlbArJBuBQFGRGHwFwolKPeZbKXKlUOHdLJtUQqrogD3JNs/pFrRsCyDyFZKllxh0JFamhFGFlZFFCkKMOLHDPE0ZX+aHOA/SFXKvzihUpD1sQMbYFRKGcdxs96BkT/Sria/LkXEzbul3EVZyD7TtKeX78D5n3r2dvymFB3HqYxVvObZGXb1Z35PIJWiUClNlto763jZmmed1C5ZRCMxzqfl3HjGiVDlvVoLABOns4MhkWMRjUi07xTvGzx+lK7d+F8J4VqAfG//vq72/W7qR445GKpYhBJVj9HnMBmuahXuFgaEhRtwYS1XACPi/rtuPUORn3BLGGkqQa4FYHtgACzcUnYNMAju29v5AVW2/uCWeCWeZAuQ7S0MPJB15YOz6ZEfjpM/7qNrMvt55T5YC1DuHSK/u4+uc144ecrBIAwGCR57hL4M18WEF4EqcRdaALa2bO4RXFDyDDASdXXdcZbF+H2VShesEXBAxZZsbdm8DFZlAQw+mFgdj/Gf0Pi1+iPIylA0iklgW9jYnsRejg5lAwxm9+zpOCYM4+d068kvlCPoEkwzB9vCxn509wUwGGMkg7b6+xXdVkD2g0Ru2jnYtNQoUW704v8816KLkeodOv4AN82/0Gbr6s9eLyZUBJ+jWEbOlQEu1JcGMIh9cmxkz1xK/M3vwARoLclAFSr4XL/FcrbtpAIMwtaZeSnxMQ0iN2UzqtyXtgCaQqgt+6lQFeLg2wfnE4WACSOeRMM8/13lf2ELwFawmWxwwU16DrZVsHq8Bo6/RBx+S/eB8bH5RfFKwGKrbup+bP8dOpCC0CFww/cNDD9IW/i8WfHLefCRv6Xi8wmvfct5VBz/Bg4wJDj62ZdNbHbmbcrJlfFksgfl1n5GQ35eRoUckSwSQQnA4I1ium9o9EkhzFeWbG6mXIuZGPuSbW9YxXMRUGQ+VgawLfTg4FfrZsT0y8T44FLxzQCTWhWvYX6bm2k2tq1kXJUDbAvdPzR8d8rkr1LW7rSfLcorzVvG1NbuZOenYegXGsC2sukeMPE85eYu+9liuFKuHcSKA1k9UuXaJHSAbcH7h0Z7UinzOfLW99rPonnlh7AQrNhaIdU6aQOwrXjvwOidnJnkn9mjBLZ2W6jbcuZe+SXqQ34Xa6sLLeHMjav2n3YA2+qPjY1VT1yYeoiK7scZF/cT4OkDjOwIIV8J0FlsWkNF8VvYNiF/ZX3I4s2z1xbgeQnpZnh4uO7KjPEwM80DVBs9QI+Kn3mTnVD+/Tky2GHsKYatirJ3s5HPSg7FSACcr6o1oCEIaJMdoE7QdlKimXK61H51ypkmfUynifYIdbceod/hIPqK83WT/T+SAOcbYXx8vOb0xGQrzqynzl36sR04HJn6jGhbH7EyfcKqqMVZfkibPu2NT6XPjOKX6ckUxTlPxjiJbfCxUzo2026h/ZbzeUXt//8ByJ7Ze9EGCQYAAAAASUVORK5CYII=",pushIcon:"data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMfaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0MCA3OS4xNjA0NTEsIDIwMTcvMDUvMDYtMDE6MDg6MjEgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJEMURFODg4MTlDRjExRUFBQjY5RTZDMUM4OUFGOUNDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJEMURFODg3MTlDRjExRUFBQjY5RTZDMUM4OUFGOUNDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJFRUE0ODZCQ0Q5QzUzN0E5MkNBQzNDRDdGODRCMUE4NSIgc3RSZWY6ZG9jdW1lbnRJRD0iRUVBNDg2QkNEOUM1MzdBOTJDQUMzQ0Q3Rjg0QjFBODUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwM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",workbenchBgColor:"#646b6f"};a["default"].use(o["a"]);t["a"]=new o["a"].Store({state:f,getters:l,mutations:u,actions:i})},4678:function(e,t,n){var a={"./af":"2bfb","./af.js":"2bfb","./ar":"8e73","./ar-dz":"a356","./ar-dz.js":"a356","./ar-kw":"423e","./ar-kw.js":"423e","./ar-ly":"1cfd","./ar-ly.js":"1cfd","./ar-ma":"0a84","./ar-ma.js":"0a84","./ar-sa":"8230","./ar-sa.js":"8230","./ar-tn":"6d83","./ar-tn.js":"6d83","./ar.js":"8e73","./az":"485c","./az.js":"485c","./be":"1fc1","./be.js":"1fc1","./bg":"84aa","./bg.js":"84aa","./bm":"a7fa","./bm.js":"a7fa","./bn":"9043","./bn.js":"9043","./bo":"d26a","./bo.js":"d26a","./br":"6887","./br.js":"6887","./bs":"2554","./bs.js":"2554","./ca":"d716","./ca.js":"d716","./cs":"3c0d","./cs.js":"3c0d","./cv":"03ec","./cv.js":"03ec","./cy":"9797","./cy.js":"9797","./da":"0f14","./da.js":"0f14","./de":"b469","./de-at":"b3eb","./de-at.js":"b3eb","./de-ch":"bb71","./de-ch.js":"bb71","./de.js":"b469","./dv":"598a","./dv.js":"598a","./el":"8d47","./el.js":"8d47","./en-SG":"cdab","./en-SG.js":"cdab","./en-au":"0e6b","./en-au.js":"0e6b","./en-ca":"3886","./en-ca.js":"3886","./en-gb":"39a6","./en-gb.js":"39a6","./en-ie":"e1d3","./en-ie.js":"e1d3","./en-il":"7333","./en-il.js":"7333","./en-nz":"6f50","./en-nz.js":"6f50","./eo":"65db","./eo.js":"65db","./es":"898b","./es-do":"0a3c","./es-do.js":"0a3c","./es-us":"55c9","./es-us.js":"55c9","./es.js":"898b","./et":"ec18","./et.js":"ec18","./eu":"0ff2","./eu.js":"0ff2","./fa":"8df4","./fa.js":"8df4","./fi":"81e9","./fi.js":"81e9","./fo":"0721","./fo.js":"0721","./fr":"9f26","./fr-ca":"d9f8","./fr-ca.js":"d9f8","./fr-ch":"0e49","./fr-ch.js":"0e49","./fr.js":"9f26","./fy":"7118","./fy.js":"7118","./ga":"5120","./ga.js":"5120","./gd":"f6b4","./gd.js":"f6b4","./gl":"8840","./gl.js":"8840","./gom-latn":"0caa","./gom-latn.js":"0caa","./gu":"e0c5","./gu.js":"e0c5","./he":"c7aa","./he.js":"c7aa","./hi":"dc4d","./hi.js":"dc4d","./hr":"4ba9","./hr.js":"4ba9","./hu":"5b14","./hu.js":"5b14","./hy-am":"d6b6","./hy-am.js":"d6b6","./id":"5038","./id.js":"5038","./is":"0558","./is.js":"0558","./it":"6e98","./it-ch":"6f12","./it-ch.js":"6f12","./it.js":"6e98","./ja":"079e","./ja.js":"079e","./jv":"b540","./jv.js":"b540","./ka":"201b","./ka.js":"201b","./kk":"6d79","./kk.js":"6d79","./km":"e81d","./km.js":"e81d","./kn":"3e92","./kn.js":"3e92","./ko":"22f8","./ko.js":"22f8","./ku":"2421","./ku.js":"2421","./ky":"9609","./ky.js":"9609","./lb":"440c","./lb.js":"440c","./lo":"b29d","./lo.js":"b29d","./lt":"26f9","./lt.js":"26f9","./lv":"b97c","./lv.js":"b97c","./me":"293c","./me.js":"293c","./mi":"688b","./mi.js":"688b","./mk":"6909","./mk.js":"6909","./ml":"02fb","./ml.js":"02fb","./mn":"958b","./mn.js":"958b","./mr":"39bd","./mr.js":"39bd","./ms":"ebe4","./ms-my":"6403","./ms-my.js":"6403","./ms.js":"ebe4","./mt":"1b45","./mt.js":"1b45","./my":"8689","./my.js":"8689","./nb":"6ce3","./nb.js":"6ce3","./ne":"3a39","./ne.js":"3a39","./nl":"facd","./nl-be":"db29","./nl-be.js":"db29","./nl.js":"facd","./nn":"b84c","./nn.js":"b84c","./pa-in":"f3ff","./pa-in.js":"f3ff","./pl":"8d57","./pl.js":"8d57","./pt":"f260","./pt-br":"d2d4","./pt-br.js":"d2d4","./pt.js":"f260","./ro":"972c","./ro.js":"972c","./ru":"957c","./ru.js":"957c","./sd":"6784","./sd.js":"6784","./se":"ffff","./se.js":"ffff","./si":"eda5","./si.js":"eda5","./sk":"7be6","./sk.js":"7be6","./sl":"8155","./sl.js":"8155","./sq":"c8f3","./sq.js":"c8f3","./sr":"cf1e","./sr-cyrl":"13e9","./sr-cyrl.js":"13e9","./sr.js":"cf1e","./ss":"52bd","./ss.js":"52bd","./sv":"5fbd","./sv.js":"5fbd","./sw":"74dc","./sw.js":"74dc","./ta":"3de5","./ta.js":"3de5","./te":"5cbb","./te.js":"5cbb","./tet":"576c","./tet.js":"576c","./tg":"3b1b","./tg.js":"3b1b","./th":"10e8","./th.js":"10e8","./tl-ph":"0f38","./tl-ph.js":"0f38","./tlh":"cf75","./tlh.js":"cf75","./tr":"0e81","./tr.js":"0e81","./tzl":"cf51","./tzl.js":"cf51","./tzm":"c109","./tzm-latn":"b53d","./tzm-latn.js":"b53d","./tzm.js":"c109","./ug-cn":"6117","./ug-cn.js":"6117","./uk":"ada2","./uk.js":"ada2","./ur":"5294","./ur.js":"5294","./uz":"2e8c","./uz-latn":"010e","./uz-latn.js":"010e","./uz.js":"2e8c","./vi":"2921","./vi.js":"2921","./x-pseudo":"fd7e","./x-pseudo.js":"fd7e","./yo":"7f33","./yo.js":"7f33","./zh-cn":"5c3a","./zh-cn.js":"5c3a","./zh-hk":"49ab","./zh-hk.js":"49ab","./zh-tw":"90ea","./zh-tw.js":"90ea"};function o(e){var t=s(e);return n(t)}function s(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}o.keys=function(){return Object.keys(a)},o.resolve=s,e.exports=o,o.id="4678"},"56d7":function(e,t,n){"use strict";n.r(t);n("cadf"),n("551c"),n("f751"),n("097d");var a=n("2b0e"),o=n("5c96"),s=n.n(o),r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("router-view")],1)},c=[],i=(n("6d67"),n("bc3a")),u=n.n(i),l=n("b730"),f=n.n(l),d={created:function(){this.$store.dispatch("ON_GET_ME")},methods:{appInit:function(){var e=this;this.adminInfo?(this.$store.dispatch("ON_GET_CONFIGS"),this.$store.dispatch("ON_GET_PLATFORM_CONFIG"),this.$store.dispatch("ON_GET_SYSTEM"),this.$store.dispatch("ON_GET_COMPANY"),this.$store.dispatch("ON_GET_UPLOADS_CONFIG"),this.$store.dispatch("ON_GET_ROBOTS"),this.$store.dispatch("ON_GET_CONTACTS"),this.$store.dispatch("ON_GET_WORKORDER_COUNTS"),setInterval((function(){return e.$store.dispatch("ON_GET_WORKORDER_COUNTS")}),3e4),this.upLastActivity(),this.getContacts(),this.initMimc()):setTimeout((function(){return e.appInit()}),50)},getContacts:function(){var e=this;this.adminInfo&&(this.$store.dispatch("ON_GET_CONTACTS"),this.seviceCurrentUser&&this.$store.getters.contacts.length>0&&this.$store.getters.contacts.map((function(t){t.from_account==e.seviceCurrentUser.from_account&&e.$store.commit("onChangeSeviceCurrentUser",t)})))},upLastActivity:function(){var e=this;this.$store.dispatch("ON_RUN_LAST_ACTiIVITY"),setTimeout((function(){return e.upLastActivity()}),6e4)},initMimc:function(){var e=this,t=this,n=this.$store.state.adminInfo;n?t.$mimcInstance.init({type:1,account_id:n.id},(function(n){n?(e.$mimcInstance.addEventListener("statusChange",(function(e){e||0==t.$store.getters.adminInfo.online||t.watchLogin()})),e.$mimcInstance.addEventListener("disconnect",(function(){console.log("链接断开!"),0!=t.$store.getters.adminInfo.online&&t.watchLogin()})),t.watchLogin()):t.initMimc()})):setTimeout((function(){return e.initMimc()}),1e3)},changeUserOnlineStatus:function(e){var t=this;u.a.put("/admin/online/"+e).then((function(){t.$store.dispatch("ON_GET_ME"),0==e&&t.$message.info("当前状态为离线")})).catch((function(e){t.$message.error(e.response.data.message)}))},watchLogin:function(){var e=this;try{var t=this;if(null!=t.$store.state.user)return;1==t.$store.getters.adminInfo.online||2==t.$store.getters.adminInfo.online?t.$mimcInstance.login((function(){t.changeUserOnlineStatus(t.$store.getters.adminInfo.online),t.$store.dispatch("ON_RUN_LAST_ACTiIVITY"),t.$store.dispatch("ON_GET_CONTACTS"),t.$store.commit("onChangeMimcUser",t.$mimcInstance.user)})):0!=t.$store.getters.adminInfo.online&&setTimeout((function(){return t.watchLogin()}),2e3)}catch(n){setTimeout((function(){return e.watchLogin()}),2e3)}}},mounted:function(){var e=this;window.addEventListener("resize",(function(){e.$store.commit("onChangeToggleAside",!0),document.body.clientWidth<1e3&&e.$store.commit("onChangeToggleAside",!1)}),!1),f.a.Permission.has()||f.a.Permission.request((function(){}),(function(){}))},computed:{adminInfo:function(){return this.$store.getters.adminInfo},seviceCurrentUser:function(){return this.$store.getters.seviceCurrentUser},messageRecord:function(){return this.$store.getters.messageRecord},isLogin:function(){return this.$store.getters.isLogin}},watch:{$route:function(){var e=this;/^\/workbench(\/\d+)?$/i.test(this.$route.path)||this.$mimcInstance.addEventListener("receiveP2PMsg",(function(t){var n=parseInt(((new Date).getTime()+"").substr(0,10));if(t.timestamp=parseInt((t.timestamp+"").substr(0,10)),!(n-t.timestamp>=60))if("contacts"!=t.biz_type)if("handshake"!=t.biz_type){var a=JSON.parse(JSON.stringify(e.messageRecord));a.list.push(t),e.$store.commit("onChangeMessageRecord",a),"contacts"!=t.biz_type&&"pong"!=t.biz_type&&"welcome"!=t.biz_type&&"cancel"!=t.biz_type&&"handshake"!=t.biz_type&&"end"!=t.biz_type&&"timeout"!=t.biz_type&&f.a.Permission.has()&&f.a.create("收到一条新消息",{body:t.payload,icon:e.$store.state.pushIcon,timeout:5e3,onClick:function(){e.$router.push({path:"/workbench?uid="+t.from_account}),window.focus()}})}else e.$mimcInstance.sendMessage("text",t.from_account,e.adminInfo.auto_reply);else{var o=JSON.parse(t.payload);e.$store.commit("onChangeContacts",o)}}))},isLogin:function(){console.log("当前是登录状态"),this.appInit()}}},m=d,h=(n("7faf"),n("2877")),b=Object(h["a"])(m,r,c,!1,null,null,null),p=b.exports,A=n("41cb"),g=n("4360"),k=(n("0fae"),n("d1d4")),y=n.n(k),j=(n("394c"),n("c1df")),C={install:function(e,t){e.prototype.$myMethod=function(){console.log(t)},e.prototype.$getPlatformItem=function(e){for(var t,n=this.$store.getters.platformConfig,a=0;a<n.length;a++)n[a].id==e&&(t=n[a]);return t||{title:"未知"}},e.prototype.$formatUnixDate=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return j(parseInt(e+"000")).format(t)},e.prototype.$formatDate=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return j(parseInt(e+"000")).format(t)},e.prototype.$formatFromNowDate=function(e){return j().format("YYYYMMDD")==j(parseInt(e+"000")).format("YYYYMMDD")?j(parseInt(e+"000")).format("HH:mm"):j(parseInt(e+"000")).format("YYYY-MM-DD HH:mm")},e.prototype.$robotNickname=function(e){for(var t,n=this.$store.getters.robots,a=0;a<n.length;a++)n[a].id==e&&(t=n[a].nickname);return t}}},T=C,U=(n("6b54"),n("87b3"),{install:function(e,t){console.log(t),e.MimcInstance=e.prototype.$mimcInstance={user:null,robot:null,fetchMIMCTokenResult:null,init:function(e,t){this.getRobot(),this.fetchMIMCToken(e,t)},_receiveP2PMsgCallback:null,_statusChangeCallback:null,_serverAckCallback:null,_disconnectCallback:null,fetchMIMCToken:function(e,t){var n=this;u.a.post("/public/register",e).then((function(e){n.fetchMIMCTokenResult=e.data.data.token,t&&t(!0),console.log("MIMC初始化成功")})).catch((function(e){t&&t(!1),o["Message"].error("mimc初始化失败,请刷新重试,"+e.response.data.message)}))},getRobot:function(){var e=this;u.a.get("/public/robot/1").then((function(t){e.robot=t.data.data})).catch((function(e){o["Message"].error("mimc初始化失败,请刷新重试"+e.response.data.message)}))},pushMessage:function(e){var t=this;u.a.post("/public/message/push",{msgType:"NORMAL_MSG",payload:e}).then((function(n){console.log(n.data),200!=n.data["code"]&&setTimeout((function(){return t.pushMessage(e)}),300)})).catch((function(){setTimeout((function(){return t.pushMessage(e)}),300)}))},login:function(e){var t=this;try{var n=this.fetchMIMCTokenResult;if(!n)return;this.user=new MIMCUser(n.data.appId,n.data.appAccount,"666"),this.user.registerP2PMsgHandler((function(e){var n=JSON.parse(window.Base64.decode(e.getPayload()));t._receiveP2PMsgCallback&&t._receiveP2PMsgCallback(n)})),this.user.registerFetchToken((function(){return n})),this.user.registerStatusChange((function(e,n,a,o){t._statusChangeCallback&&t._statusChangeCallback(e,n,a,o)})),this.user.registerServerAckHandler((function(e,n,a,o){t._serverAckCallback&&t._serverAckCallback(e,n,a,o)})),this.user.registerDisconnHandler((function(){t._disconnectCallback&&t._disconnectCallback()})),this.user.login(),window.mimcInstance=this,e&&e(),console.log("MIMC登录成功")}catch(a){console.log(a),console.log("MIMC登录失败"),setTimeout((function(){t.login()}),1e3)}},logout:function(){this.user&&(this.user.logout(),this.user=null)},addEventListener:function(e,t){switch(e){case"receiveP2PMsg":this._receiveP2PMsgCallback=t;break;case"statusChange":this._statusChangeCallback=t;break;case"serverAck":this._serverAckCallback=t;break;case"disconnect":this._disconnectCallback=t;break}},sendMessage:function(e,t){var n=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(this.user){var r={from_account:parseInt(this.fetchMIMCTokenResult.data.appAccount),to_account:parseInt(t),biz_type:e,version:"0",timestamp:parseInt(((new Date).getTime()+" ").substr(0,10)),key:(new Date).getTime(),read:0,transfer_account:parseInt(s),payload:a+""},c=window.Base64.encode(JSON.stringify(r));try{"contacts"!=e&&"pong"!=e&&"welcome"!=e&&"handshake"!=e&&this.pushMessage(window.Base64.encode(c)),setTimeout((function(){n.user.sendMessage(t.toString(),c)}),200)}catch(i){console.log("sendMessage fail, err="+i)}return r}o["Message"].error("服务异常,请刷新重试!")},createLocalMessage:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o={from_account:parseInt(this.fetchMIMCTokenResult.data.appAccount),to_account:parseInt(t),biz_type:e,version:"0",timestamp:parseInt(((new Date).getTime()+" ").substr(0,10)),key:(new Date).getTime(),read:0,transfer_account:parseInt(a),payload:n+""};return o}}}}),O=U,v=(n("28a5"),{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY年MM月DD日",LLL:"YYYY年MM月DD日Ah点mm分",LLLL:"YYYY年MM月DD日ddddAh点mm分",l:"YYYY-M-D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"下午"===t||"晚上"===t?e+12:e>=11?e:e+12},meridiem:function(e,t){var n=100*e+t;return n<600?"凌晨":n<900?"早上":n<1130?"上午":n<1230?"中午":n<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d秒",m:"1分钟",mm:"%d分钟",h:"1小时",hh:"%d小时",d:"1天",dd:"%d天",M:"1个月",MM:"%d个月",y:"1年",yy:"%d年"},week:{dow:1,doy:4}}),I=n("c1df");I.locale("zh-cn",v),u.a.defaults.baseURL="/api",u.a.interceptors.request.use((function(e){var t=localStorage.getItem("Authorization");return e.headers["Authorization"]=t||"",e}),(function(e){return Promise.reject(e)})),u.a.interceptors.response.use((function(e){return e}),(function(e){return 401==e.response.status&&(localStorage.clear(),g["a"].commit("onChangeAdminInfo",null),g["a"].state.mimcUser&&g["a"].state.mimcUser.logout(),A["a"].push("/login")),Promise.reject(e)}));var V={fullscreenEl:!1};a["default"].use(y.a,V),a["default"].use(s.a),a["default"].use(T),a["default"].use(O),a["default"].config.productionTip=!1,new a["default"]({router:A["a"],store:g["a"],render:function(e){return e(p)}}).$mount("#app")},"7faf":function(e,t,n){"use strict";var a=n("8fba"),o=n.n(a);o.a},"8fba":function(e,t,n){}});
//# sourceMappingURL=app.5bbe92af.js.map
\ No newline at end of file
(function(e){function t(t){for(var a,o,c=t[0],i=t[1],u=t[2],l=0,f=[];l<c.length;l++)o=c[l],Object.prototype.hasOwnProperty.call(s,o)&&s[o]&&f.push(s[o][0]),s[o]=0;for(a in i)Object.prototype.hasOwnProperty.call(i,a)&&(e[a]=i[a]);d&&d(t);while(f.length)f.shift()();return r.push.apply(r,u||[]),n()}function n(){for(var e,t=0;t<r.length;t++){for(var n=r[t],a=!0,o=1;o<n.length;o++){var c=n[o];0!==s[c]&&(a=!1)}a&&(r.splice(t--,1),e=i(i.s=n[0]))}return e}var a={},o={app:0},s={app:0},r=[];function c(e){return i.p+"js/"+({}[e]||e)+"."+{"chunk-08473d3a":"b7eb59e9","chunk-08627161":"af4b0a2d","chunk-343c8d41":"1c228cb2","chunk-027be9b0":"1078ee31","chunk-0bf8947d":"9b4903e6","chunk-132fc719":"078733a8","chunk-1e573615":"16b6c862","chunk-56896308":"2e82959c","chunk-650419d0":"99e278a2","chunk-724a4e2a":"f58c8db3","chunk-4d213a0b":"21e8499f","chunk-f8bfd426":"78f7bc0b"}[e]+".js"}function i(t){if(a[t])return a[t].exports;var n=a[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.e=function(e){var t=[],n={"chunk-08473d3a":1,"chunk-08627161":1,"chunk-027be9b0":1,"chunk-0bf8947d":1,"chunk-132fc719":1,"chunk-1e573615":1,"chunk-56896308":1,"chunk-650419d0":1,"chunk-724a4e2a":1,"chunk-4d213a0b":1,"chunk-f8bfd426":1};o[e]?t.push(o[e]):0!==o[e]&&n[e]&&t.push(o[e]=new Promise((function(t,n){for(var a="css/"+({}[e]||e)+"."+{"chunk-08473d3a":"77daa9fe","chunk-08627161":"c1f4f120","chunk-343c8d41":"31d6cfe0","chunk-027be9b0":"1440a418","chunk-0bf8947d":"310a0e2f","chunk-132fc719":"b547401f","chunk-1e573615":"be89fdde","chunk-56896308":"67b3f13c","chunk-650419d0":"3897bea9","chunk-724a4e2a":"507bad62","chunk-4d213a0b":"e2ea152d","chunk-f8bfd426":"2fc6ff09"}[e]+".css",s=i.p+a,r=document.getElementsByTagName("link"),c=0;c<r.length;c++){var u=r[c],l=u.getAttribute("data-href")||u.getAttribute("href");if("stylesheet"===u.rel&&(l===a||l===s))return t()}var f=document.getElementsByTagName("style");for(c=0;c<f.length;c++){u=f[c],l=u.getAttribute("data-href");if(l===a||l===s)return t()}var d=document.createElement("link");d.rel="stylesheet",d.type="text/css",d.onload=t,d.onerror=function(t){var a=t&&t.target&&t.target.src||s,r=new Error("Loading CSS chunk "+e+" failed.\n("+a+")");r.code="CSS_CHUNK_LOAD_FAILED",r.request=a,delete o[e],d.parentNode.removeChild(d),n(r)},d.href=s;var m=document.getElementsByTagName("head")[0];m.appendChild(d)})).then((function(){o[e]=0})));var a=s[e];if(0!==a)if(a)t.push(a[2]);else{var r=new Promise((function(t,n){a=s[e]=[t,n]}));t.push(a[2]=r);var u,l=document.createElement("script");l.charset="utf-8",l.timeout=120,i.nc&&l.setAttribute("nonce",i.nc),l.src=c(e);var f=new Error;u=function(t){l.onerror=l.onload=null,clearTimeout(d);var n=s[e];if(0!==n){if(n){var a=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+a+": "+o+")",f.name="ChunkLoadError",f.type=a,f.request=o,n[1](f)}s[e]=void 0}};var d=setTimeout((function(){u({type:"timeout",target:l})}),12e4);l.onerror=l.onload=u,document.head.appendChild(l)}return Promise.all(t)},i.m=e,i.c=a,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)i.d(n,a,function(t){return e[t]}.bind(null,a));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i.oe=function(e){throw console.error(e),e};var u=window["webpackJsonp"]=window["webpackJsonp"]||[],l=u.push.bind(u);u.push=t,u=u.slice();for(var f=0;f<u.length;f++)t(u[f]);var d=l;r.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("56d7")},"41cb":function(e,t,n){"use strict";var a=n("2b0e"),o=n("8c4f");a["default"].use(o["a"]),t["a"]=new o["a"]({base:"",routes:[{path:"/",name:"home",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-1e573615")]).then(n.bind(null,"1e4b"))},redirect:"/index",children:[{path:"index",component:function(){return n.e("chunk-f8bfd426").then(n.bind(null,"7abe"))}},{path:"workbench",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-132fc719")]).then(n.bind(null,"29e5"))}},{path:"knowledge",component:function(){return n.e("chunk-08627161").then(n.bind(null,"7a26"))}},{path:"robot",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-724a4e2a")]).then(n.bind(null,"2157"))}},{path:"customer",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-027be9b0")]).then(n.bind(null,"aedf"))}},{path:"users",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-56896308")]).then(n.bind(null,"4468"))}},{path:"system",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-650419d0")]).then(n.bind(null,"26b0"))}},{path:"chat_record",component:function(){return n.e("chunk-08473d3a").then(n.bind(null,"caae"))}},{path:"workorder",component:function(){return Promise.all([n.e("chunk-343c8d41"),n.e("chunk-0bf8947d")]).then(n.bind(null,"df5f"))}}]},{path:"/login",name:"login",component:function(){return n.e("chunk-4d213a0b").then(n.bind(null,"bd01"))}},{path:"*",redirect:"/index"}]})},4360:function(e,t,n){"use strict";var a=n("2b0e"),o=n("2f62"),s=(n("57e7"),n("bc3a")),r=n.n(s),c=n("41cb"),i={ON_GET_ME:function(e){var t=location.pathname;r.a.get("/admin/me").then((function(t){e.commit("onIsLogin",!0),e.commit("onChangeAdminInfo",t.data.data),"/login"!=location.pathname&&-1==location.hash.indexOf("#/login")||c["a"].push({path:"/index"})})).catch((function(n){console.log(n.response),e.commit("onIsLogin",!1),"/login"!=t&&c["a"].push({path:"/login"})}))},ON_GET_CONFIGS:function(e){r.a.get("/public/configs").then((function(t){e.commit("onChangeConfigs",t.data.data)}))},ON_GET_PLATFORM_CONFIG:function(e){r.a.get("/platform/list").then((function(t){e.commit("onChangePlatformConfig",t.data.data)}))},ON_GET_SYSTEM:function(e){r.a.get("/system").then((function(t){e.commit("onChangeSystemInfo",t.data.data),document.title=t.data.data.title}))},ON_GET_COMPANY:function(e){r.a.get("/public/company").then((function(t){e.commit("onChangeCompanyInfo",t.data.data)}))},ON_GET_UPLOADS_CONFIG:function(e){r.a.get("/uploads/config").then((function(t){e.commit("onChangeUploadsConfigs",t.data.data)}))},ON_GET_CONTACTS:function(e){r.a.get("/contact/list").then((function(t){e.commit("onChangeContacts",t.data.data)}))},ON_RUN_LAST_ACTiIVITY:function(){r.a.get("/public/activity/")},ON_GET_ROBOTS:function(e){var t=this;r.a.get("/robot/list").then((function(t){e.commit("onChangeRobos",t.data.data)})).catch((function(){t.loading=!1}))},ON_GET_WORKORDER_COUNTS:function(e){r.a.get("/workorder/counts").then((function(t){e.commit("onChangeWorkOrderCounts",t.data.data)}))}},u={onChangeHeaserTitle:function(e,t){e.heaserTitle=t},onChangePlatformConfig:function(e,t){e.platformConfig=t},onChangeToggleAside:function(e,t){e.isShowAside=t},onChangeEditDialogFormVisible:function(e,t){e.editDialogFormVisible=t},onChangeEditPasswordDialogFormVisible:function(e,t){e.editPasswordDialogFormVisible=t},onChangeAdminInfo:function(e,t){e.adminInfo=t},onChangeConfigs:function(e,t){e.configs=t},onChangeSystemInfo:function(e,t){e.systemInfo=t},onChangeCompanyInfo:function(e,t){e.companyInfo=t},onChangeUploadsConfigs:function(e,t){e.uploadsConfigs=t},onChangeMimcUser:function(e,t){e.mimcUser=t},onChangeContacts:function(e,t){for(var n in e.contacts=t,t){var a=t[n];if(e.seviceCurrentUser&&a.from_account==e.seviceCurrentUser.from_account){e.seviceCurrentUser=a;break}}},onChangeSeviceCurrentUser:function(e,t){e.seviceCurrentUser=t},onChangeRobos:function(e,t){e.robots=t},onReset:function(e){e.seviceCurrentUser=null,e.contacts=[],e.mimcUser=null},onChangeMessageRecord:function(e,t){e.messageRecord=t},onIsLogin:function(e,t){e.isLogin=t},onChangeWorkOrderCounts:function(e,t){e.workOrderCounts=t}},l={adminInfo:function(e){return e.adminInfo||{}},isLogin:function(e){return e.isLogin},avatar:function(e){return e.adminInfo&&""!=e.adminInfo.avatar?e.adminInfo.avatar:""},uploadMod:function(e){return e.configs.upload_mode||-1},nickname:function(e){return e.adminInfo&&""!=e.adminInfo.nickname?e.adminInfo.nickname:"未设置昵称"},configs:function(e){return e.configs},platformConfig:function(e){return e.platformConfig},systemInfo:function(e){return e.systemInfo},companyInfo:function(e){return e.companyInfo},uploadsConfigs:function(e){return e.uploadsConfigs},contacts:function(e){return e.contacts||[]},seviceCurrentUser:function(e){return e.seviceCurrentUser||{}},robots:function(e){return e.robots||[]},messageRecord:function(e){return e.messageRecord||{list:[]}},readCount:function(e){for(var t=0,n=0;n<e.contacts.length;n++)t+=e.contacts[n].read;return t},workbenchBgColor:function(e){return e.workbenchBgColor},workOrderCounts:function(e){return e.workOrderCounts}},f={adminInfo:null,heaserTitle:"首页",isShowAside:!0,editDialogFormVisible:!1,isLogin:!1,editPasswordDialogFormVisible:!1,configs:{},platformConfig:[],systemInfo:{},companyInfo:{},uploadsConfigs:[],mimcUser:null,contacts:[],robots:[],seviceCurrentUser:null,messageRecord:{list:[]},workOrderCounts:{status0:0,status2:0,status3:0,delete_count:0},avatar:"data:image/png;base64,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",pushIcon:"data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMfaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0MCA3OS4xNjA0NTEsIDIwMTcvMDUvMDYtMDE6MDg6MjEgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJEMURFODg4MTlDRjExRUFBQjY5RTZDMUM4OUFGOUNDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJEMURFODg3MTlDRjExRUFBQjY5RTZDMUM4OUFGOUNDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJFRUE0ODZCQ0Q5QzUzN0E5MkNBQzNDRDdGODRCMUE4NSIgc3RSZWY6ZG9jdW1lbnRJRD0iRUVBNDg2QkNEOUM1MzdBOTJDQUMzQ0Q3Rjg0QjFBODUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwM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",workbenchBgColor:"#646b6f"};a["default"].use(o["a"]);t["a"]=new o["a"].Store({state:f,getters:l,mutations:u,actions:i})},4678:function(e,t,n){var a={"./af":"2bfb","./af.js":"2bfb","./ar":"8e73","./ar-dz":"a356","./ar-dz.js":"a356","./ar-kw":"423e","./ar-kw.js":"423e","./ar-ly":"1cfd","./ar-ly.js":"1cfd","./ar-ma":"0a84","./ar-ma.js":"0a84","./ar-sa":"8230","./ar-sa.js":"8230","./ar-tn":"6d83","./ar-tn.js":"6d83","./ar.js":"8e73","./az":"485c","./az.js":"485c","./be":"1fc1","./be.js":"1fc1","./bg":"84aa","./bg.js":"84aa","./bm":"a7fa","./bm.js":"a7fa","./bn":"9043","./bn.js":"9043","./bo":"d26a","./bo.js":"d26a","./br":"6887","./br.js":"6887","./bs":"2554","./bs.js":"2554","./ca":"d716","./ca.js":"d716","./cs":"3c0d","./cs.js":"3c0d","./cv":"03ec","./cv.js":"03ec","./cy":"9797","./cy.js":"9797","./da":"0f14","./da.js":"0f14","./de":"b469","./de-at":"b3eb","./de-at.js":"b3eb","./de-ch":"bb71","./de-ch.js":"bb71","./de.js":"b469","./dv":"598a","./dv.js":"598a","./el":"8d47","./el.js":"8d47","./en-SG":"cdab","./en-SG.js":"cdab","./en-au":"0e6b","./en-au.js":"0e6b","./en-ca":"3886","./en-ca.js":"3886","./en-gb":"39a6","./en-gb.js":"39a6","./en-ie":"e1d3","./en-ie.js":"e1d3","./en-il":"7333","./en-il.js":"7333","./en-nz":"6f50","./en-nz.js":"6f50","./eo":"65db","./eo.js":"65db","./es":"898b","./es-do":"0a3c","./es-do.js":"0a3c","./es-us":"55c9","./es-us.js":"55c9","./es.js":"898b","./et":"ec18","./et.js":"ec18","./eu":"0ff2","./eu.js":"0ff2","./fa":"8df4","./fa.js":"8df4","./fi":"81e9","./fi.js":"81e9","./fo":"0721","./fo.js":"0721","./fr":"9f26","./fr-ca":"d9f8","./fr-ca.js":"d9f8","./fr-ch":"0e49","./fr-ch.js":"0e49","./fr.js":"9f26","./fy":"7118","./fy.js":"7118","./ga":"5120","./ga.js":"5120","./gd":"f6b4","./gd.js":"f6b4","./gl":"8840","./gl.js":"8840","./gom-latn":"0caa","./gom-latn.js":"0caa","./gu":"e0c5","./gu.js":"e0c5","./he":"c7aa","./he.js":"c7aa","./hi":"dc4d","./hi.js":"dc4d","./hr":"4ba9","./hr.js":"4ba9","./hu":"5b14","./hu.js":"5b14","./hy-am":"d6b6","./hy-am.js":"d6b6","./id":"5038","./id.js":"5038","./is":"0558","./is.js":"0558","./it":"6e98","./it-ch":"6f12","./it-ch.js":"6f12","./it.js":"6e98","./ja":"079e","./ja.js":"079e","./jv":"b540","./jv.js":"b540","./ka":"201b","./ka.js":"201b","./kk":"6d79","./kk.js":"6d79","./km":"e81d","./km.js":"e81d","./kn":"3e92","./kn.js":"3e92","./ko":"22f8","./ko.js":"22f8","./ku":"2421","./ku.js":"2421","./ky":"9609","./ky.js":"9609","./lb":"440c","./lb.js":"440c","./lo":"b29d","./lo.js":"b29d","./lt":"26f9","./lt.js":"26f9","./lv":"b97c","./lv.js":"b97c","./me":"293c","./me.js":"293c","./mi":"688b","./mi.js":"688b","./mk":"6909","./mk.js":"6909","./ml":"02fb","./ml.js":"02fb","./mn":"958b","./mn.js":"958b","./mr":"39bd","./mr.js":"39bd","./ms":"ebe4","./ms-my":"6403","./ms-my.js":"6403","./ms.js":"ebe4","./mt":"1b45","./mt.js":"1b45","./my":"8689","./my.js":"8689","./nb":"6ce3","./nb.js":"6ce3","./ne":"3a39","./ne.js":"3a39","./nl":"facd","./nl-be":"db29","./nl-be.js":"db29","./nl.js":"facd","./nn":"b84c","./nn.js":"b84c","./pa-in":"f3ff","./pa-in.js":"f3ff","./pl":"8d57","./pl.js":"8d57","./pt":"f260","./pt-br":"d2d4","./pt-br.js":"d2d4","./pt.js":"f260","./ro":"972c","./ro.js":"972c","./ru":"957c","./ru.js":"957c","./sd":"6784","./sd.js":"6784","./se":"ffff","./se.js":"ffff","./si":"eda5","./si.js":"eda5","./sk":"7be6","./sk.js":"7be6","./sl":"8155","./sl.js":"8155","./sq":"c8f3","./sq.js":"c8f3","./sr":"cf1e","./sr-cyrl":"13e9","./sr-cyrl.js":"13e9","./sr.js":"cf1e","./ss":"52bd","./ss.js":"52bd","./sv":"5fbd","./sv.js":"5fbd","./sw":"74dc","./sw.js":"74dc","./ta":"3de5","./ta.js":"3de5","./te":"5cbb","./te.js":"5cbb","./tet":"576c","./tet.js":"576c","./tg":"3b1b","./tg.js":"3b1b","./th":"10e8","./th.js":"10e8","./tl-ph":"0f38","./tl-ph.js":"0f38","./tlh":"cf75","./tlh.js":"cf75","./tr":"0e81","./tr.js":"0e81","./tzl":"cf51","./tzl.js":"cf51","./tzm":"c109","./tzm-latn":"b53d","./tzm-latn.js":"b53d","./tzm.js":"c109","./ug-cn":"6117","./ug-cn.js":"6117","./uk":"ada2","./uk.js":"ada2","./ur":"5294","./ur.js":"5294","./uz":"2e8c","./uz-latn":"010e","./uz-latn.js":"010e","./uz.js":"2e8c","./vi":"2921","./vi.js":"2921","./x-pseudo":"fd7e","./x-pseudo.js":"fd7e","./yo":"7f33","./yo.js":"7f33","./zh-cn":"5c3a","./zh-cn.js":"5c3a","./zh-hk":"49ab","./zh-hk.js":"49ab","./zh-tw":"90ea","./zh-tw.js":"90ea"};function o(e){var t=s(e);return n(t)}function s(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}o.keys=function(){return Object.keys(a)},o.resolve=s,e.exports=o,o.id="4678"},"56d7":function(e,t,n){"use strict";n.r(t);n("cadf"),n("551c"),n("f751"),n("097d");var a=n("2b0e"),o=n("5c96"),s=n.n(o),r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("router-view")],1)},c=[],i=(n("6d67"),n("bc3a")),u=n.n(i),l=n("b730"),f=n.n(l),d={created:function(){this.$store.dispatch("ON_GET_ME")},methods:{appInit:function(){var e=this;this.adminInfo?(this.$store.dispatch("ON_GET_CONFIGS"),this.$store.dispatch("ON_GET_PLATFORM_CONFIG"),this.$store.dispatch("ON_GET_SYSTEM"),this.$store.dispatch("ON_GET_COMPANY"),this.$store.dispatch("ON_GET_UPLOADS_CONFIG"),this.$store.dispatch("ON_GET_ROBOTS"),this.$store.dispatch("ON_GET_CONTACTS"),this.$store.dispatch("ON_GET_WORKORDER_COUNTS"),setInterval((function(){return e.$store.dispatch("ON_GET_WORKORDER_COUNTS")}),3e4),this.upLastActivity(),this.getContacts(),this.initMimc()):setTimeout((function(){return e.appInit()}),50)},getContacts:function(){var e=this;this.adminInfo&&(this.$store.dispatch("ON_GET_CONTACTS"),this.seviceCurrentUser&&this.$store.getters.contacts.length>0&&this.$store.getters.contacts.map((function(t){t.from_account==e.seviceCurrentUser.from_account&&e.$store.commit("onChangeSeviceCurrentUser",t)})))},upLastActivity:function(){var e=this;this.$store.dispatch("ON_RUN_LAST_ACTiIVITY"),setTimeout((function(){return e.upLastActivity()}),6e4)},initMimc:function(){var e=this,t=this,n=this.$store.state.adminInfo;n?t.$mimcInstance.init({type:1,account_id:n.id},(function(n){n?(e.$mimcInstance.addEventListener("statusChange",(function(e){e||0==t.$store.getters.adminInfo.online||t.watchLogin()})),e.$mimcInstance.addEventListener("disconnect",(function(){console.log("链接断开!"),0!=t.$store.getters.adminInfo.online&&t.watchLogin()})),t.watchLogin()):t.initMimc()})):setTimeout((function(){return e.initMimc()}),1e3)},changeUserOnlineStatus:function(e){var t=this;u.a.put("/admin/online/"+e).then((function(){t.$store.dispatch("ON_GET_ME"),0==e&&t.$message.info("当前状态为离线")})).catch((function(e){t.$message.error(e.response.data.message)}))},watchLogin:function(){var e=this;try{var t=this;if(null!=t.$store.state.user)return;1==t.$store.getters.adminInfo.online||2==t.$store.getters.adminInfo.online?t.$mimcInstance.login((function(){t.changeUserOnlineStatus(t.$store.getters.adminInfo.online),t.$store.dispatch("ON_RUN_LAST_ACTiIVITY"),t.$store.dispatch("ON_GET_CONTACTS"),t.$store.commit("onChangeMimcUser",t.$mimcInstance.user)})):0!=t.$store.getters.adminInfo.online&&setTimeout((function(){return t.watchLogin()}),2e3)}catch(n){setTimeout((function(){return e.watchLogin()}),2e3)}}},mounted:function(){var e=this;window.addEventListener("resize",(function(){e.$store.commit("onChangeToggleAside",!0),document.body.clientWidth<1e3&&e.$store.commit("onChangeToggleAside",!1)}),!1),f.a.Permission.has()||f.a.Permission.request((function(){}),(function(){}))},computed:{adminInfo:function(){return this.$store.getters.adminInfo},seviceCurrentUser:function(){return this.$store.getters.seviceCurrentUser},messageRecord:function(){return this.$store.getters.messageRecord},isLogin:function(){return this.$store.getters.isLogin}},watch:{$route:function(){var e=this;/^\/workbench(\/\d+)?$/i.test(this.$route.path)||this.$mimcInstance.addEventListener("receiveP2PMsg",(function(t){var n=parseInt(((new Date).getTime()+"").substr(0,10));if(t.timestamp=parseInt((t.timestamp+"").substr(0,10)),!(n-t.timestamp>=60))if("contacts"!=t.biz_type)if("handshake"!=t.biz_type){var a=JSON.parse(JSON.stringify(e.messageRecord));a.list.push(t),e.$store.commit("onChangeMessageRecord",a),"contacts"!=t.biz_type&&"pong"!=t.biz_type&&"welcome"!=t.biz_type&&"cancel"!=t.biz_type&&"handshake"!=t.biz_type&&"end"!=t.biz_type&&"timeout"!=t.biz_type&&f.a.Permission.has()&&f.a.create("收到一条新消息",{body:t.payload,icon:e.$store.state.pushIcon,timeout:5e3,onClick:function(){e.$router.push({path:"/workbench?uid="+t.from_account}),window.focus()}})}else e.$mimcInstance.sendMessage("text",t.from_account,e.adminInfo.auto_reply);else{var o=JSON.parse(t.payload);e.$store.commit("onChangeContacts",o)}}))},isLogin:function(){console.log("当前是登录状态"),this.appInit()}}},m=d,h=(n("7faf"),n("2877")),b=Object(h["a"])(m,r,c,!1,null,null,null),p=b.exports,A=n("41cb"),g=n("4360"),k=(n("0fae"),n("d1d4")),y=n.n(k),j=(n("394c"),n("c1df")),C={install:function(e,t){e.prototype.$myMethod=function(){console.log(t)},e.prototype.$getPlatformItem=function(e){for(var t,n=this.$store.getters.platformConfig,a=0;a<n.length;a++)n[a].id==e&&(t=n[a]);return t||{title:"未知"}},e.prototype.$formatUnixDate=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return j(parseInt(e+"000")).format(t)},e.prototype.$formatDate=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return j(parseInt(e+"000")).format(t)},e.prototype.$formatFromNowDate=function(e){return j().format("YYYYMMDD")==j(parseInt(e+"000")).format("YYYYMMDD")?j(parseInt(e+"000")).format("HH:mm"):j(parseInt(e+"000")).format("YYYY-MM-DD HH:mm")},e.prototype.$robotNickname=function(e){for(var t,n=this.$store.getters.robots,a=0;a<n.length;a++)n[a].id==e&&(t=n[a].nickname);return t}}},T=C,U=(n("6b54"),n("87b3"),{install:function(e,t){console.log(t),e.MimcInstance=e.prototype.$mimcInstance={user:null,robot:null,fetchMIMCTokenResult:null,init:function(e,t){this.getRobot(),this.fetchMIMCToken(e,t)},_receiveP2PMsgCallback:null,_statusChangeCallback:null,_serverAckCallback:null,_disconnectCallback:null,fetchMIMCToken:function(e,t){var n=this;u.a.post("/public/register",e).then((function(e){n.fetchMIMCTokenResult=e.data.data.token,t&&t(!0),console.log("MIMC初始化成功")})).catch((function(e){t&&t(!1),o["Message"].error("mimc初始化失败,请刷新重试,"+e.response.data.message)}))},getRobot:function(){var e=this;u.a.get("/public/robot/1").then((function(t){e.robot=t.data.data})).catch((function(e){o["Message"].error("mimc初始化失败,请刷新重试"+e.response.data.message)}))},pushMessage:function(e){var t=this;u.a.post("/public/message/push",{msgType:"NORMAL_MSG",payload:e}).then((function(n){console.log(n.data),200!=n.data["code"]&&setTimeout((function(){return t.pushMessage(e)}),300)})).catch((function(){setTimeout((function(){return t.pushMessage(e)}),300)}))},login:function(e){var t=this;try{var n=this.fetchMIMCTokenResult;if(!n)return;this.user=new MIMCUser(n.data.appId,n.data.appAccount,"666"),this.user.registerP2PMsgHandler((function(e){var n=JSON.parse(window.Base64.decode(e.getPayload()));t._receiveP2PMsgCallback&&t._receiveP2PMsgCallback(n)})),this.user.registerFetchToken((function(){return n})),this.user.registerStatusChange((function(e,n,a,o){t._statusChangeCallback&&t._statusChangeCallback(e,n,a,o)})),this.user.registerServerAckHandler((function(e,n,a,o){t._serverAckCallback&&t._serverAckCallback(e,n,a,o)})),this.user.registerDisconnHandler((function(){t._disconnectCallback&&t._disconnectCallback()})),this.user.login(),window.mimcInstance=this,e&&e(),console.log("MIMC登录成功")}catch(a){console.log(a),console.log("MIMC登录失败"),setTimeout((function(){t.login()}),1e3)}},logout:function(){this.user&&(this.user.logout(),this.user=null)},addEventListener:function(e,t){switch(e){case"receiveP2PMsg":this._receiveP2PMsgCallback=t;break;case"statusChange":this._statusChangeCallback=t;break;case"serverAck":this._serverAckCallback=t;break;case"disconnect":this._disconnectCallback=t;break}},sendMessage:function(e,t){var n=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(this.user){var r={from_account:parseInt(this.fetchMIMCTokenResult.data.appAccount),to_account:parseInt(t),biz_type:e,version:"0",timestamp:parseInt(((new Date).getTime()+" ").substr(0,10)),key:(new Date).getTime(),read:0,transfer_account:parseInt(s),payload:a+""},c=window.Base64.encode(JSON.stringify(r));try{"contacts"!=e&&"pong"!=e&&"welcome"!=e&&"handshake"!=e&&this.pushMessage(window.Base64.encode(c)),setTimeout((function(){n.user.sendMessage(t.toString(),c)}),200)}catch(i){console.log("sendMessage fail, err="+i)}return r}o["Message"].error("服务异常,请刷新重试!")},createLocalMessage:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o={from_account:parseInt(this.fetchMIMCTokenResult.data.appAccount),to_account:parseInt(t),biz_type:e,version:"0",timestamp:parseInt(((new Date).getTime()+" ").substr(0,10)),key:(new Date).getTime(),read:0,transfer_account:parseInt(a),payload:n+""};return o}}}}),O=U,v=(n("28a5"),{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY年MM月DD日",LLL:"YYYY年MM月DD日Ah点mm分",LLLL:"YYYY年MM月DD日ddddAh点mm分",l:"YYYY-M-D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"下午"===t||"晚上"===t?e+12:e>=11?e:e+12},meridiem:function(e,t){var n=100*e+t;return n<600?"凌晨":n<900?"早上":n<1130?"上午":n<1230?"中午":n<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d秒",m:"1分钟",mm:"%d分钟",h:"1小时",hh:"%d小时",d:"1天",dd:"%d天",M:"1个月",MM:"%d个月",y:"1年",yy:"%d年"},week:{dow:1,doy:4}}),I=n("c1df");I.locale("zh-cn",v),u.a.defaults.baseURL="/api",u.a.interceptors.request.use((function(e){var t=localStorage.getItem("Authorization");return e.headers["Authorization"]=t||"",e}),(function(e){return Promise.reject(e)})),u.a.interceptors.response.use((function(e){return e}),(function(e){return 401==e.response.status&&(localStorage.clear(),g["a"].commit("onChangeAdminInfo",null),g["a"].state.mimcUser&&g["a"].state.mimcUser.logout(),A["a"].push("/login")),Promise.reject(e)}));var V={fullscreenEl:!1};a["default"].use(y.a,V),a["default"].use(s.a),a["default"].use(T),a["default"].use(O),a["default"].config.productionTip=!1,new a["default"]({router:A["a"],store:g["a"],render:function(e){return e(p)}}).$mount("#app")},"7faf":function(e,t,n){"use strict";var a=n("8fba"),o=n.n(a);o.a},"8fba":function(e,t,n){}});
//# sourceMappingURL=app.d2d60b82.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./src/views/record/index.vue?3860","webpack:///./src/views/record/chats.vue?d273","webpack:///src/views/record/chats.vue","webpack:///./src/views/record/chats.vue?b9d8","webpack:///./src/views/record/chats.vue","webpack:///src/views/record/index.vue","webpack:///./src/views/record/index.vue?622e","webpack:///./src/views/record/index.vue?6f57","webpack:///./src/views/record/chats.vue?52e1","webpack:///./src/views/record/index.vue?6aa3"],"names":["$export","S","now","Date","getTime","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","slot","_v","staticStyle","ref","adminInfo","root","on","refreshRecord","model","value","callback","$$v","selectCustomerId","expression","_l","item","key","id","nickname","_e","pickerOptions","selectDate","isDeWeighting","isReception","directives","name","rawName","tableData","list","indexMethod","scopedSlots","_u","fn","scope","_s","serviceNickname","row","service_account","is_reception","$getPlatformItem","platform","title","$formatUnixDate","create_at","$event","openModal","total","page_on","handleSizeChange","handleCurrentChange","dialogFormVisible","selectUser","isMessageEnd","messageRecord","user_account","onLoadMor","getMessageRecordLoading","staticRenderFns","loading","messages","length","index","class","from_account","userId","biz_type","seviceId","seviceNickname","userNickname","$robotNickname","$formatFromNowDate","timestamp","domProps","payload","replace","percent","to_account","JSON","parse","data","computed","seviceCurrentUser","$store","getters","props","Boolean","Array","String","Function","watch","component","moment","components","ChatsComponent","page_size","cid","is_de_weighting","date","customerData","disabledDate","time","shortcuts","text","onClick","picker","$emit","setTime","getMessageRecordPageSize","platformConfig","created","getAdmins","mounted","setTimeout","methods","val","getRecord","i","format","isFirstRequestMessageEnd","getMessageRecord","parseInt","window","Base64","decode","response","concat","console","log","error","getHistoryMessageRecord","chatBody","document","getElementById","scrollTop","scrollIntoBottom","height","clientHeight","scrollHeight","e"],"mappings":"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","file":"js/chunk-08473d3a.57550f5a.js","sourcesContent":["// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"record-page\"},[_c('div',{staticClass:\"record-mini-im-head\"},[_c('span',[_c('i',{staticClass:\"el-icon-time\"}),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"服务记录\")])])]),_c('el-divider'),_c('div',{staticClass:\"search\"},[_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{staticStyle:{\"width\":\"120px\"}},[_c('el-form',{ref:\"form\",attrs:{\"label-width\":\"120px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.adminInfo.root == 1 ? '按客服:' : '按日期:'}})],1)],1),(_vm.adminInfo.root == 1)?_c('el-col',{attrs:{\"span\":3}},[_c('el-select',{attrs:{\"placeholder\":\"请选择客服\"},on:{\"change\":_vm.refreshRecord},model:{value:(_vm.selectCustomerId),callback:function ($$v) {_vm.selectCustomerId=$$v},expression:\"selectCustomerId\"}},_vm._l((_vm.customerData),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.nickname,\"value\":item.id}})}),1)],1):_vm._e(),_c('el-col',{attrs:{\"span\":5.5}},[_c('el-date-picker',{attrs:{\"align\":\"right\",\"type\":\"date\",\"placeholder\":\"选择日期\",\"picker-options\":_vm.pickerOptions},on:{\"change\":_vm.refreshRecord},model:{value:(_vm.selectDate),callback:function ($$v) {_vm.selectDate=$$v},expression:\"selectDate\"}})],1),_c('el-col',{attrs:{\"span\":5.5}},[_c('el-checkbox',{attrs:{\"label\":\"去重目标客户\",\"border\":\"\"},on:{\"change\":_vm.refreshRecord},model:{value:(_vm.isDeWeighting),callback:function ($$v) {_vm.isDeWeighting=$$v},expression:\"isDeWeighting\"}})],1),_c('el-col',{attrs:{\"span\":5.5}},[_c('el-checkbox',{attrs:{\"label\":\"只显示未接待客户\",\"border\":\"\"},on:{\"change\":_vm.refreshRecord},model:{value:(_vm.isReception),callback:function ($$v) {_vm.isReception=$$v},expression:\"isReception\"}})],1)],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.tableData.list}},[_c('el-table-column',{attrs:{\"type\":\"index\",\"index\":_vm.indexMethod,\"label\":\"#序号\",\"width\":\"60\"}}),_c('el-table-column',{attrs:{\"prop\":\"service_account\",\"label\":\"接待客服\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('span',[_vm._v(_vm._s(_vm.serviceNickname(scope.row.service_account)))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"nickname\",\"label\":\"目标客户\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',{attrs:{\"type\":\"success\"}},[_vm._v(_vm._s(scope.row.nickname))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"is_reception\",\"label\":\"是否已接待\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',{directives:[{name:\"show\",rawName:\"v-show\",value:(scope.row.is_reception == 0),expression:\"scope.row.is_reception == 0\"}],attrs:{\"type\":\"danger\"}},[_vm._v(\"未接待\")]),_c('el-tag',{directives:[{name:\"show\",rawName:\"v-show\",value:(scope.row.is_reception == 1),expression:\"scope.row.is_reception == 1\"}],attrs:{\"type\":\"success\"}},[_vm._v(\"已接待\")])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"transfer_account\",\"label\":\"满意度\"}},[[_c('span',[_vm._v(\"-----\")])]],2),_c('el-table-column',{attrs:{\"prop\":\"platform\",\"label\":\"客户端平台\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',[_vm._v(_vm._s(_vm.$getPlatformItem(scope.row.platform).title))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"create_at\",\"label\":\"服务时间\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\"\\n \"+_vm._s(_vm.$formatUnixDate(scope.row.create_at, \"YYYY/MM/DD HH:mm:ss\"))+\"\\n \")]}}])}),_c('el-table-column',{attrs:{\"prop\":\"operating\",\"align\":\"center\",\"label\":\"操作\",\"width\":\"150\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){return _vm.openModal(scope)}}},[_vm._v(\"聊天记录\")])]}}])})],1),_c('el-row',{staticStyle:{\"margin-top\":\"20px\"},attrs:{\"type\":\"flex\",\"justify\":\"space-between\"}},[_c('span',{staticStyle:{\"color\":\"#666\",\"font-size\":\"14px\"}},[_vm._v(\"共找到\"+_vm._s(_vm.tableData.total)+\"条数据\")]),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"sizes, prev, pager, next\",\"current-page\":_vm.tableData.page_on,\"page-sizes\":[5, 10, 15, 20],\"total\":_vm.tableData.total},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1),_c('el-dialog',{attrs:{\"visible\":_vm.dialogFormVisible},on:{\"update:visible\":function($event){_vm.dialogFormVisible=$event}}},[_c('div',{staticClass:\"dialog-title\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('div',{staticStyle:{\"color\":\"#666\"}},[_c('span',{staticStyle:{\"color\":\"#e6a23c\"}},[_vm._v(_vm._s(_vm.serviceNickname(_vm.selectUser.service_account)))]),_vm._v(\"\\n 与\\n \"),_c('span',{staticStyle:{\"color\":\"#67c23a\"}},[_vm._v(_vm._s(_vm.selectUser.nickname))]),_vm._v(\"\\n 的聊天记录\\n \")])]),_c('div',{ref:\"chatBody\",staticClass:\"record-modal-chat-box\",attrs:{\"id\":\"chatBody\"}},[_c('ChatsComponent',{attrs:{\"isMessageEnd\":_vm.isMessageEnd,\"seviceId\":_vm.selectCustomerId+'',\"seviceNickname\":_vm.serviceNickname(_vm.selectUser.service_account),\"messages\":_vm.messageRecord.list,\"userId\":_vm.selectUser.user_account,\"userNickname\":_vm.selectUser.nickname,\"onLoadMor\":_vm.onLoadMor,\"loading\":_vm.getMessageRecordLoading}})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mini-im-chat-list\"},[_c('div',{staticClass:\"mini-im-chat-message-box\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"loading\"},[_c('i',{staticClass:\"el-icon-loading\"}),_c('span',[_vm._v(\"消息加载中...\")])]),_c('el-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isMessageEnd),expression:\"isMessageEnd\"}],attrs:{\"type\":\"text\",\"disabled\":\"\",\"icon\":\"el-icon-refresh-right\"}},[_vm._v(\"无更多聊天记录...\")]),(!_vm.isMessageEnd && !_vm.loading)?_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-refresh\"},on:{\"click\":_vm.onLoadMor}},[_vm._v(\"点击加载更多聊天记录\")]):_vm._e()],1),_c('div',{staticClass:\"mini-im-chat-message-box\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.messages.length <= 0 && !_vm.loading),expression:\"messages.length <= 0 && !loading\"}],staticClass:\"loading\"},[_c('i',{staticClass:\"el-icon-time\"}),_c('span',[_vm._v(\"暂无聊天记录...\")])])]),_vm._l((_vm.messages),function(item,index){return _c('div',{key:index,staticClass:\"mini-im-chat-message-box\",class:{'self': item.from_account != _vm.userId}},[(item.biz_type == 'text' || item.biz_type == 'photo' || item.biz_type == 'knowledge' || item.biz_type == 'knowledge_list')?[_c('div',{staticClass:\"user-date\"},[(item.from_account == _vm.seviceId)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.seviceNickname)+\"\\n \")]):(item.from_account == _vm.userId)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.userNickname)+\"\\n \")]):_c('span',[_c('span',{staticStyle:{\"font-size\":\"12px\",\"color\":\"#666\"}},[_vm._v(\"(机器人)\")]),_vm._v(_vm._s(_vm.$robotNickname(item.from_account))+\"\\n \")]),_c('em',[_vm._v(_vm._s(_vm.$formatFromNowDate(item.timestamp)))])])]:_vm._e(),(item.biz_type == 'text')?[_c('div',{staticClass:\"text\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(item.payload.replace(/\\n/ig, '<br />'))}})])]:_vm._e(),(item.biz_type == 'photo')?[_c('div',{staticClass:\"photo\"},[(item.percent && item.percent != 100)?_c('div',{staticClass:\"loading\"},[_c('i',{staticClass:\"el-icon-loading\"}),_c('span',[_vm._v(_vm._s(item.percent)+\"%\")])]):_vm._e(),_c('div',{staticClass:\"img-content\"},[_c('img',{attrs:{\"src\":item.payload,\"preview\":\"1\"}})])])]:_vm._e(),(item.biz_type == 'transfer')?[_c('div',{staticClass:\"system\"},[_c('span',[_vm._v(_vm._s(item.payload))]),_c('em',[_vm._v(_vm._s(_vm.$formatFromNowDate(item.timestamp)))])])]:_vm._e(),(item.biz_type == 'end')?[_c('div',{staticClass:\"system\"},[(item.to_account != _vm.adminInfo.id)?_c('span',[_vm._v(\"你结束了会话\")]):_c('span',[_vm._v(\"对方结束了会话\")]),_c('em',[_vm._v(_vm._s(_vm.$formatFromNowDate(item.timestamp)))])])]:_vm._e(),(item.biz_type == 'timeout')?[_c('div',{staticClass:\"system\"},[_c('span',[_vm._v(\"用户长时间无应答,会话结束\")]),_c('em',[_vm._v(_vm._s(_vm.$formatFromNowDate(item.timestamp)))])])]:_vm._e(),(item.biz_type == 'cancel')?[_c('div',{staticClass:\"system\"},[(item.from_account == _vm.adminInfo.id)?_c('span',[_vm._v(\"您撤回了一条消息\")]):_c('span',[_vm._v(\"对方撤回了一条消息\")]),_c('em',[_vm._v(_vm._s(_vm.$formatFromNowDate(item.timestamp)))])])]:_vm._e(),(item.biz_type == 'knowledge')?[_c('div',{staticClass:\"knowledge\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"以下是否是您关心的相关问题呢?\")]),_vm._l((JSON.parse(item.payload)),function(item,index){return _c('div',{key:index,staticClass:\"item\"},[_vm._v(\"\\n \"+_vm._s(index+1)+\".\"+_vm._s(item.title)+\"\\n \")])})],2)])]:_vm._e()],2)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"mini-im-chat-list\">\n\n <div class=\"mini-im-chat-message-box\">\n <div class=\"loading\" v-show=\"loading\">\n <i class=\"el-icon-loading\"></i><span>消息加载中...</span>\n </div>\n <el-button v-show=\"isMessageEnd\" type=\"text\" disabled icon=\"el-icon-refresh-right\">无更多聊天记录...</el-button>\n <el-button v-if=\"!isMessageEnd && !loading\" type=\"text\" @click=\"onLoadMor\" icon=\"el-icon-refresh\">点击加载更多聊天记录</el-button>\n </div>\n\n <div class=\"mini-im-chat-message-box\">\n <div class=\"loading\" v-show=\"messages.length <= 0 && !loading\">\n <i class=\"el-icon-time\"></i><span>暂无聊天记录...</span>\n </div>\n </div>\n\n <div class=\"mini-im-chat-message-box\" :class=\"{'self': item.from_account != userId}\" v-for=\"(item, index) in messages\" :key=\"index\">\n\n <!-- 用户信息 -->\n <template v-if=\"item.biz_type == 'text' || item.biz_type == 'photo' || item.biz_type == 'knowledge' || item.biz_type == 'knowledge_list'\">\n <div class=\"user-date\">\n <span v-if=\"item.from_account == seviceId\">\n {{seviceNickname}}\n </span>\n <span v-else-if=\"item.from_account == userId\">\n {{userNickname}}\n </span>\n <span v-else>\n <span style=\"font-size:12px;color: #666;\">(机器人)</span>{{$robotNickname(item.from_account)}}\n </span>\n <em>{{$formatFromNowDate(item.timestamp)}}</em>\n </div>\n </template>\n\n <!-- 文本消息 -->\n <template v-if=\"item.biz_type == 'text'\">\n <div class=\"text\">\n <span v-html=\"item.payload.replace(/\\n/ig, '<br />')\"></span>\n </div>\n </template>\n\n <!-- 图片 -->\n <template v-if=\"item.biz_type == 'photo'\">\n <div class=\"photo\">\n <div class=\"loading\" v-if=\"item.percent && item.percent != 100\">\n <i class=\"el-icon-loading\"></i>\n <span>{{item.percent}}%</span>\n </div>\n <div class=\"img-content\">\n <img :src=\"item.payload\" preview=\"1\" />\n </div>\n </div>\n </template>\n\n <!-- 转接 -->\n <template v-if=\"item.biz_type == 'transfer'\">\n <div class=\"system\">\n <span>{{item.payload}}</span>\n <em>{{$formatFromNowDate(item.timestamp)}}</em>\n </div>\n </template>\n\n <!-- 结束聊天 -->\n <template v-if=\"item.biz_type == 'end'\">\n <div class=\"system\">\n <span v-if=\"item.to_account != adminInfo.id\">你结束了会话</span>\n <span v-else>对方结束了会话</span>\n <em>{{$formatFromNowDate(item.timestamp)}}</em>\n </div>\n </template>\n\n <!-- 聊天超时 -->\n <template v-if=\"item.biz_type == 'timeout'\">\n <div class=\"system\">\n <span>用户长时间无应答,会话结束</span>\n <em>{{$formatFromNowDate(item.timestamp)}}</em>\n </div>\n </template>\n\n <!-- 撤回消息 -->\n <template v-if=\"item.biz_type == 'cancel'\">\n <div class=\"system\">\n <span v-if=\"item.from_account == adminInfo.id\">您撤回了一条消息</span>\n <span v-else>对方撤回了一条消息</span>\n <em>{{$formatFromNowDate(item.timestamp)}}</em>\n </div>\n </template>\n\n <!-- 知识库列表 -->\n <template v-if=\"item.biz_type == 'knowledge'\">\n <div class=\"knowledge\">\n <div class=\"content\">\n <div class=\"title\">以下是否是您关心的相关问题呢?</div>\n <div class=\"item\" :key=\"index\" v-for=\"(item, index) in JSON.parse(item.payload)\">\n {{index+1}}.{{item.title}}\n </div>\n </div>\n </div>\n </template>\n\n </div>\n\n </div>\n</template>\n<script>\nexport default {\n name: \"mini-im-contact\",\n data() {\n return {};\n },\n computed: {\n seviceCurrentUser(){\n return this.$store.getters.seviceCurrentUser || {}\n },\n adminInfo(){\n return this.$store.getters.adminInfo || {}\n }\n },\n props: {\n loading: Boolean,\n isMessageEnd: Boolean,\n messages: Array,\n userId: String,\n userNickname: String,\n seviceId: String,\n seviceNickname: String,\n onLoadMor: Function\n },\n watch:{\n messages(){\n setTimeout(()=>{\n this.$previewRefresh()\n }, 1000)\n }\n }\n};\n</script>\n<style scoped lang=\"stylus\">\n.mini-im-chat-list {\n display: flex;\n flex-direction: column;\n\n .mini-im-chat-message-box {\n width: 100%;\n display: flex;\n flex-direction: column;\n margin-bottom: 15px;\n\n .user-date {\n display: flex;\n align-items: center;\n color: #999;\n font-size: 14px;\n\n span {\n color: #666;\n font-weight: 500;\n font-size: 14px;\n padding: 0 5px;\n }\n\n em {\n font-style: normal;\n font-size 12px\n }\n }\n\n .loading{\n color #666\n display: flex;\n margin-top: 5px;\n align-items center\n align-content center\n justify-content center\n span{\n margin-left 5px\n font-size 13px\n }\n }\n\n .text {\n display: flex;\n margin-top: 5px;\n\n span {\n max-width: 40%;\n display: inline;\n padding: 5px 10px;\n border-radius: 5px;\n background-color: #eef4f9;\n font-size: 14px;\n color: #666;\n }\n }\n\n .photo {\n display: flex;\n margin-top: 5px;\n\n .loading{\n align-self flex-end\n padding 0 5px\n span{\n background none !important\n color: #999 !important\n }\n }\n\n .img-content{\n border-radius: 5px;\n width: 200px;\n overflow hidden\n }\n\n img {\n cursor: pointer;\n width: 100%;\n height 100%\n display: inline;\n }\n }\n\n .knowledge {\n display: flex;\n margin-top: 5px;\n justify-content: flex-end;\n\n .content {\n display: flex;\n flex-direction: column;\n padding: 5px;\n border-radius: 5px;\n color: #666;\n text-align: left;\n background-color: #eef4f9;\n\n .title {\n font-size: 13px;\n font-weight: 500;\n }\n\n .item {\n font-size: 13px;\n line-height: 22px;\n }\n }\n }\n\n .system {\n display: flex;\n margin-top: 5px;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n em{\n margin-top: 5px;\n font-size: 12px;\n color: #999;\n }\n span {\n font-size: 12px;\n max-width: 50%;\n min-width: 100px;\n display: inline;\n padding: 3px 20px;\n border-radius: 5px;\n text-align: center;\n background-color: #f2f2f2;\n color: #999;\n }\n }\n\n &.self {\n text-align: right;\n\n .user-date {\n display: flex;\n justify-content: flex-end;\n\n span {\n order: -2;\n }\n\n em {\n order: -3;\n }\n }\n\n .text, .photo {\n justify-content: flex-end;\n align-items flex-end\n .cancel-btn{\n color #26a2ff\n font-size 12px\n margin-right 5px\n cursor pointer\n }\n span {\n background-color: rgba(33, 150, 243, 0.72);\n color: #fff;\n text-align left\n }\n }\n\n .knowledge>.content {\n background-color: rgba(33, 150, 243, 0.72);\n color: #fff;\n }\n }\n }\n}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./chats.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./chats.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./chats.vue?vue&type=template&id=3d81ef40&scoped=true&\"\nimport script from \"./chats.vue?vue&type=script&lang=js&\"\nexport * from \"./chats.vue?vue&type=script&lang=js&\"\nimport style0 from \"./chats.vue?vue&type=style&index=0&id=3d81ef40&scoped=true&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d81ef40\",\n null\n \n)\n\nexport default component.exports","<template>\n <div class=\"record-page\">\n <div class=\"record-mini-im-head\">\n <span>\n <i class=\"el-icon-time\"></i>\n <span slot=\"title\">服务记录</span>\n </span>\n </div>\n <el-divider />\n <div class=\"search\">\n <el-row :gutter=\"20\">\n <el-col style=\"width: 120px\">\n <el-form ref=\"form\" label-width=\"120px\">\n <el-form-item :label=\"adminInfo.root == 1 ? '按客服:' : '按日期:'\"></el-form-item>\n </el-form>\n </el-col>\n <el-col v-if=\"adminInfo.root == 1\" :span=\"3\">\n <el-select v-model=\"selectCustomerId\" @change=\"refreshRecord\" placeholder=\"请选择客服\">\n <el-option\n v-for=\"item in customerData\"\n :key=\"item.id\"\n :label=\"item.nickname\"\n :value=\"item.id\"\n ></el-option>\n </el-select>\n </el-col>\n <el-col :span=\"5.5\">\n <el-date-picker\n v-model=\"selectDate\"\n align=\"right\"\n type=\"date\"\n @change=\"refreshRecord\"\n placeholder=\"选择日期\"\n :picker-options=\"pickerOptions\">\n </el-date-picker>\n </el-col>\n <el-col :span=\"5.5\">\n <el-checkbox v-model=\"isDeWeighting\" label=\"去重目标客户\" @change=\"refreshRecord\" border></el-checkbox>\n </el-col>\n <el-col :span=\"5.5\">\n <el-checkbox v-model=\"isReception\" label=\"只显示未接待客户\" @change=\"refreshRecord\" border></el-checkbox>\n </el-col>\n </el-row>\n </div>\n <el-table :data=\"tableData.list\" v-loading=\"loading\" style=\"width: 100%\">\n <el-table-column\n type=\"index\"\n :index=\"indexMethod\"\n label=\"#序号\"\n width=\"60\">\n </el-table-column>\n <el-table-column prop=\"service_account\" label=\"接待客服\">\n <template slot-scope=\"scope\">\n <span>{{serviceNickname(scope.row.service_account)}}</span>\n </template>\n </el-table-column>\n <el-table-column prop=\"nickname\" label=\"目标客户\">\n <template slot-scope=\"scope\">\n <el-tag type=\"success\">{{scope.row.nickname}}</el-tag>\n </template>\n </el-table-column>\n <el-table-column prop=\"is_reception\" label=\"是否已接待\">\n <template slot-scope=\"scope\">\n <el-tag v-show=\"scope.row.is_reception == 0\" type=\"danger\">未接待</el-tag>\n <el-tag v-show=\"scope.row.is_reception == 1\" type=\"success\">已接待</el-tag>\n </template>\n </el-table-column>\n <el-table-column prop=\"transfer_account\" label=\"满意度\">\n <template>\n <span>-----</span>\n </template>\n </el-table-column>\n <el-table-column prop=\"platform\" label=\"客户端平台\">\n <template slot-scope=\"scope\">\n <el-tag>{{$getPlatformItem(scope.row.platform).title}}</el-tag>\n </template>\n </el-table-column>\n <el-table-column prop=\"create_at\" label=\"服务时间\">\n <template slot-scope=\"scope\">\n {{$formatUnixDate(scope.row.create_at, \"YYYY/MM/DD HH:mm:ss\")}}\n </template>\n </el-table-column>\n <el-table-column prop=\"operating\" align=\"center\" label=\"操作\" width=\"150\">\n <template slot-scope=\"scope\">\n <el-button size=\"mini\" @click=\"openModal(scope)\">聊天记录</el-button>\n </template>\n </el-table-column>\n </el-table>\n <el-row type=\"flex\" style=\"margin-top: 20px;\" justify=\"space-between\">\n <span style=\"color:#666;font-size: 14px;\">共找到{{tableData.total}}条数据</span>\n <el-pagination\n background\n @size-change=\"handleSizeChange\"\n @current-change=\"handleCurrentChange\"\n layout=\"sizes, prev, pager, next\"\n :current-page=\"tableData.page_on\"\n :page-sizes=\"[5, 10, 15, 20]\"\n :total=\"tableData.total\">\n </el-pagination>\n </el-row>\n\n\n <!-- 聊天数据模态框 -->\n <el-dialog :visible.sync=\"dialogFormVisible\">\n <div slot=\"title\" class=\"dialog-title\">\n <div style=\"color: #666\">\n <span style=\"color: #e6a23c\">{{serviceNickname(selectUser.service_account)}}</span>\n 与\n <span style=\"color: #67c23a\">{{selectUser.nickname}}</span>\n 的聊天记录\n </div>\n </div>\n <div class=\"record-modal-chat-box\" ref=\"chatBody\" id=\"chatBody\">\n <ChatsComponent\n :isMessageEnd=\"isMessageEnd\"\n :seviceId=\"selectCustomerId+''\"\n :seviceNickname=\"serviceNickname(selectUser.service_account)\"\n :messages=\"messageRecord.list\"\n :userId=\"selectUser.user_account\"\n :userNickname=\"selectUser.nickname\"\n :onLoadMor=\"onLoadMor\"\n :loading=\"getMessageRecordLoading\"/>\n </div>\n </el-dialog>\n\n\n </div>\n</template>\n\n<script>\nimport axios from 'axios'\nvar moment = require('moment');\nimport ChatsComponent from \"./chats\"\nexport default {\n name: \"robot\",\n components:{\n ChatsComponent\n },\n data() {\n return {\n loading: true,\n isDeWeighting: false,\n isReception: false,\n selectDate: Date.now(),\n tableData: {\n list: [],\n page_on: 1,\n page_size: 10,\n cid: 0,\n total: 0,\n is_de_weighting: false,\n date: \"\",\n },\n customerData: [],\n selectCustomerId: null,\n selectUser: {},\n pickerOptions: {\n disabledDate(time) {\n return time.getTime() > Date.now();\n },\n shortcuts: [{\n text: '今天',\n onClick(picker) {\n picker.$emit('pick', new Date());\n }\n }, {\n text: '昨天',\n onClick(picker) {\n const date = new Date();\n date.setTime(date.getTime() - 3600 * 1000 * 24);\n picker.$emit('pick', date);\n }\n }, {\n text: '一周前',\n onClick(picker) {\n const date = new Date();\n date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);\n picker.$emit('pick', date);\n }\n }]\n },\n isMessageEnd: false,\n\n // 模态框数据\n getMessageRecordLoading: false,\n getMessageRecordPageSize: 20,\n dialogFormVisible: false,\n messageRecord: {\n list: []\n },\n isFirstRequestMessageEnd: false,\n\n\n };\n },\n computed: {\n platformConfig(){\n return this.$store.getters.platformConfig\n },\n adminInfo(){\n return this.$store.getters.adminInfo\n }\n },\n created() {\n this.getAdmins()\n },\n mounted(){\n setTimeout(() =>{\n this.selectCustomerId = this.adminInfo.id\n this.getRecord(1)\n }, 1000)\n },\n methods: {\n // 行号\n indexMethod(index) {\n return (this.tableData.page_on - 1) * this.tableData.page_size + index +1;\n },\n // 改变每页条数\n handleSizeChange(val) {\n this.tableData.page_size = val\n this.getRecord()\n },\n // 分页\n handleCurrentChange(val) {\n this.tableData.page_on = val\n this.getRecord()\n },\n // 获取客服昵称\n serviceNickname(id){\n let nickname = \"\"\n for(let i =0; i< this.customerData.length; i++){\n if(this.customerData[i].id == id){\n nickname = this.customerData[i].nickname\n break\n }\n }\n return nickname\n },\n // 获取数据\n getAdmins(){\n axios.post('/admin/list', {page_on: 1, page_size: 100, \"online\": 3})\n .then(response => {\n this.customerData = response.data.data.list\n })\n .catch(error => {\n this.$message.error(error.response.data.message)\n });\n },\n // 获取数据\n getRecord(index){\n this.loading = true\n if(index) this.tableData.page_on = index\n const {page_on, page_size} = this.tableData\n axios.post('/services_statistical/list', {\n page_on,\n page_size,\n cid: this.selectCustomerId,\n date: moment(this.selectDate).format(\"YYYY-MM-DD\"),\n is_de_weighting: this.isDeWeighting,\n is_reception: this.isReception\n })\n .then(response => {\n this.loading = false\n this.tableData = response.data.data\n })\n .catch(error => {\n this.loading = false\n this.$message.error(error.response.data.message)\n });\n },\n // 刷新记录\n refreshRecord(){\n this.getRecord()\n },\n // 打开模态框\n openModal(scope){\n this.selectUser = scope.row\n this.isMessageEnd = false\n this.isFirstRequestMessageEnd = false\n this.dialogFormVisible = true\n this.messageRecord = {\n list: []\n }\n this.getMessageRecord()\n },\n // 获取聊天记录\n getMessageRecord(timestamp){\n this.getMessageRecordLoading = true\n if(timestamp == undefined){\n timestamp = 0\n }\n axios.post('/message/list', {\n \"timestamp\": timestamp,\n \"page_size\": this.getMessageRecordPageSize,\n \"service\": parseInt(this.selectCustomerId),\n \"account\": parseInt(this.selectUser.user_account)\n })\n .then(response => {\n this.getMessageRecordLoading = false\n let messages = response.data.data.list\n for(var i=0; i<messages.length; i++){\n messages[i].payload = window.Base64.decode(messages[i].payload)\n }\n if(messages.length < this.getMessageRecordPageSize){\n this.isFirstRequestMessageEnd = true\n }\n if(messages.length == 0 || timestamp == 0){\n this.messageRecord = response.data.data\n this.scrollIntoBottom()\n }else{\n response.data.data.list = messages.concat(this.messageRecord.list)\n this.messageRecord = response.data.data\n }\n setTimeout(()=>this.$previewRefresh(), 500)\n })\n .catch(error => {\n console.log(error)\n this.getMessageRecordLoading = false\n });\n },\n // 获取聊天记录\n getHistoryMessageRecord(timestamp){\n this.getMessageRecordLoading = true\n if(timestamp == undefined || timestamp == 0){\n this.isMessageEnd = true\n return\n }\n axios.post('/message/history', {\n \"timestamp\": timestamp,\n \"page_size\": this.getMessageRecordPageSize,\n \"service\": parseInt(this.selectCustomerId),\n \"account\": parseInt(this.selectUser.user_account)\n })\n .then(response => {\n let messages = response.data.data.list\n for(var i=0; i<messages.length; i++){\n messages[i].payload = window.Base64.decode(messages[i].payload)\n }\n this.getMessageRecordLoading = false\n if(messages.length < this.getMessageRecordPageSize){\n this.isMessageEnd = true\n }\n\nresponse.data.data.list = messages.concat(this.messageRecord.list)\n this.messageRecord = response.data.data\n setTimeout(()=>this.$previewRefresh(), 1000)\n })\n .catch(() => {\n this.getMessageRecordLoading = false\n });\n },\n // 加载更多数据\n onLoadMor(){\n if(this.getMessageRecordLoading) return\n if(this.isFirstRequestMessageEnd){\n this.getHistoryMessageRecord(this.messageRecord.list[0].timestamp)\n }else{\n this.getMessageRecord(this.messageRecord.list[0].timestamp)\n }\n setTimeout(()=>{\n var chatBody = document.getElementById(\"chatBody\")\n chatBody.scrollTop = 500\n }, 50)\n },\n // 滚动条置底\n scrollIntoBottom(){\n try{\n setTimeout(()=>{\n var chatBody = document.getElementById(\"chatBody\")\n if(!chatBody) return\n var height = chatBody.clientHeight\n var scrollHeight = chatBody.scrollHeight\n chatBody.scrollTop = scrollHeight-height\n }, 50)\n }catch(e){\n console.log(e)\n }\n },\n }\n};\n</script>\n<style lang=\"stylus\">\n .record-page .record-mini-im-head {\n height: 30px;\n display: flex;\n align-items: center;\n font-size: 20px;\n justify-content: space-between;\n color: #666;\n\n i {\n margin-right: 5px;\n }\n }\n .record-page .record-modal-chat-box{\n height 600px;\n padding 0 20px\n overflow hidden\n overflow-y auto\n }\n .record-page .el-dialog__body{\n padding: 0px;\n border-top: 1px solid #f7f7f7\n }\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=74dabf7c&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./chats.vue?vue&type=style&index=0&id=3d81ef40&scoped=true&lang=stylus&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./chats.vue?vue&type=style&index=0&id=3d81ef40&scoped=true&lang=stylus&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=stylus&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=stylus&\""],"sourceRoot":""}
\ No newline at end of file
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-08473d3a"],{"78ce":function(e,t,s){var a=s("5ca1");a(a.S,"Date",{now:function(){return(new Date).getTime()}})},c2a3:function(e,t,s){},caae:function(e,t,s){"use strict";s.r(t);var a=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"record-page"},[s("div",{staticClass:"record-mini-im-head"},[s("span",[s("i",{staticClass:"el-icon-time"}),s("span",{attrs:{slot:"title"},slot:"title"},[e._v("服务记录")])])]),s("el-divider"),s("div",{staticClass:"search"},[s("el-row",{attrs:{gutter:20}},[s("el-col",{staticStyle:{width:"120px"}},[s("el-form",{ref:"form",attrs:{"label-width":"120px"}},[s("el-form-item",{attrs:{label:1==e.adminInfo.root?"按客服:":"按日期:"}})],1)],1),1==e.adminInfo.root?s("el-col",{attrs:{span:3}},[s("el-select",{attrs:{placeholder:"请选择客服"},on:{change:e.refreshRecord},model:{value:e.selectCustomerId,callback:function(t){e.selectCustomerId=t},expression:"selectCustomerId"}},e._l(e.customerData,(function(e){return s("el-option",{key:e.id,attrs:{label:e.nickname,value:e.id}})})),1)],1):e._e(),s("el-col",{attrs:{span:5.5}},[s("el-date-picker",{attrs:{align:"right",type:"date",placeholder:"选择日期","picker-options":e.pickerOptions},on:{change:e.refreshRecord},model:{value:e.selectDate,callback:function(t){e.selectDate=t},expression:"selectDate"}})],1),s("el-col",{attrs:{span:5.5}},[s("el-checkbox",{attrs:{label:"去重目标客户",border:""},on:{change:e.refreshRecord},model:{value:e.isDeWeighting,callback:function(t){e.isDeWeighting=t},expression:"isDeWeighting"}})],1),s("el-col",{attrs:{span:5.5}},[s("el-checkbox",{attrs:{label:"只显示未接待客户",border:""},on:{change:e.refreshRecord},model:{value:e.isReception,callback:function(t){e.isReception=t},expression:"isReception"}})],1)],1)],1),s("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticStyle:{width:"100%"},attrs:{data:e.tableData.list}},[s("el-table-column",{attrs:{type:"index",index:e.indexMethod,label:"#序号",width:"60"}}),s("el-table-column",{attrs:{prop:"service_account",label:"接待客服"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("span",[e._v(e._s(e.serviceNickname(t.row.service_account)))])]}}])}),s("el-table-column",{attrs:{prop:"nickname",label:"目标客户"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("el-tag",{attrs:{type:"success"}},[e._v(e._s(t.row.nickname))])]}}])}),s("el-table-column",{attrs:{prop:"is_reception",label:"是否已接待"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("el-tag",{directives:[{name:"show",rawName:"v-show",value:0==t.row.is_reception,expression:"scope.row.is_reception == 0"}],attrs:{type:"danger"}},[e._v("未接待")]),s("el-tag",{directives:[{name:"show",rawName:"v-show",value:1==t.row.is_reception,expression:"scope.row.is_reception == 1"}],attrs:{type:"success"}},[e._v("已接待")])]}}])}),s("el-table-column",{attrs:{prop:"transfer_account",label:"满意度"}},[[s("span",[e._v("-----")])]],2),s("el-table-column",{attrs:{prop:"platform",label:"客户端平台"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("el-tag",[e._v(e._s(e.$getPlatformItem(t.row.platform).title))])]}}])}),s("el-table-column",{attrs:{prop:"create_at",label:"服务时间"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(e.$formatUnixDate(t.row.create_at,"YYYY/MM/DD HH:mm:ss"))+"\n ")]}}])}),s("el-table-column",{attrs:{prop:"operating",align:"center",label:"操作",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("el-button",{attrs:{size:"mini"},on:{click:function(s){return e.openModal(t)}}},[e._v("聊天记录")])]}}])})],1),s("el-row",{staticStyle:{"margin-top":"20px"},attrs:{type:"flex",justify:"space-between"}},[s("span",{staticStyle:{color:"#666","font-size":"14px"}},[e._v("共找到"+e._s(e.tableData.total)+"条数据")]),s("el-pagination",{attrs:{background:"",layout:"sizes, prev, pager, next","current-page":e.tableData.page_on,"page-sizes":[5,10,15,20],total:e.tableData.total},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),s("el-dialog",{attrs:{visible:e.dialogFormVisible},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[s("div",{staticClass:"dialog-title",attrs:{slot:"title"},slot:"title"},[s("div",{staticStyle:{color:"#666"}},[s("span",{staticStyle:{color:"#e6a23c"}},[e._v(e._s(e.serviceNickname(e.selectUser.service_account)))]),e._v("\n 与\n "),s("span",{staticStyle:{color:"#67c23a"}},[e._v(e._s(e.selectUser.nickname))]),e._v("\n 的聊天记录\n ")])]),s("div",{ref:"chatBody",staticClass:"record-modal-chat-box",attrs:{id:"chatBody"}},[s("ChatsComponent",{attrs:{isMessageEnd:e.isMessageEnd,seviceId:e.selectCustomerId+"",seviceNickname:e.serviceNickname(e.selectUser.service_account),messages:e.messageRecord.list,userId:e.selectUser.user_account,userNickname:e.selectUser.nickname,onLoadMor:e.onLoadMor,loading:e.getMessageRecordLoading}})],1)])],1)},i=[],n=(s("78ce"),s("bc3a")),o=s.n(n),c=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"mini-im-chat-list"},[s("div",{staticClass:"mini-im-chat-message-box"},[s("div",{directives:[{name:"show",rawName:"v-show",value:e.loading,expression:"loading"}],staticClass:"loading"},[s("i",{staticClass:"el-icon-loading"}),s("span",[e._v("消息加载中...")])]),s("el-button",{directives:[{name:"show",rawName:"v-show",value:e.isMessageEnd,expression:"isMessageEnd"}],attrs:{type:"text",disabled:"",icon:"el-icon-refresh-right"}},[e._v("无更多聊天记录...")]),e.isMessageEnd||e.loading?e._e():s("el-button",{attrs:{type:"text",icon:"el-icon-refresh"},on:{click:e.onLoadMor}},[e._v("点击加载更多聊天记录")])],1),s("div",{staticClass:"mini-im-chat-message-box"},[s("div",{directives:[{name:"show",rawName:"v-show",value:e.messages.length<=0&&!e.loading,expression:"messages.length <= 0 && !loading"}],staticClass:"loading"},[s("i",{staticClass:"el-icon-time"}),s("span",[e._v("暂无聊天记录...")])])]),e._l(e.messages,(function(t,a){return s("div",{key:a,staticClass:"mini-im-chat-message-box",class:{self:t.from_account!=e.userId}},["text"==t.biz_type||"photo"==t.biz_type||"knowledge"==t.biz_type||"knowledge_list"==t.biz_type?[s("div",{staticClass:"user-date"},[t.from_account==e.seviceId?s("span",[e._v("\n "+e._s(e.seviceNickname)+"\n ")]):t.from_account==e.userId?s("span",[e._v("\n "+e._s(e.userNickname)+"\n ")]):s("span",[s("span",{staticStyle:{"font-size":"12px",color:"#666"}},[e._v("(机器人)")]),e._v(e._s(e.$robotNickname(t.from_account))+"\n ")]),s("em",[e._v(e._s(e.$formatFromNowDate(t.timestamp)))])])]:e._e(),"text"==t.biz_type?[s("div",{staticClass:"text"},[s("span",{domProps:{innerHTML:e._s(t.payload.replace(/\n/gi,"<br />"))}})])]:e._e(),"photo"==t.biz_type?[s("div",{staticClass:"photo"},[t.percent&&100!=t.percent?s("div",{staticClass:"loading"},[s("i",{staticClass:"el-icon-loading"}),s("span",[e._v(e._s(t.percent)+"%")])]):e._e(),s("div",{staticClass:"img-content"},[s("img",{attrs:{src:t.payload,preview:"1"}})])])]:e._e(),"transfer"==t.biz_type?[s("div",{staticClass:"system"},[s("span",[e._v(e._s(t.payload))]),s("em",[e._v(e._s(e.$formatFromNowDate(t.timestamp)))])])]:e._e(),"end"==t.biz_type?[s("div",{staticClass:"system"},[t.to_account!=e.adminInfo.id?s("span",[e._v("你结束了会话")]):s("span",[e._v("对方结束了会话")]),s("em",[e._v(e._s(e.$formatFromNowDate(t.timestamp)))])])]:e._e(),"timeout"==t.biz_type?[s("div",{staticClass:"system"},[s("span",[e._v("用户长时间无应答,会话结束")]),s("em",[e._v(e._s(e.$formatFromNowDate(t.timestamp)))])])]:e._e(),"cancel"==t.biz_type?[s("div",{staticClass:"system"},[t.from_account==e.adminInfo.id?s("span",[e._v("您撤回了一条消息")]):s("span",[e._v("对方撤回了一条消息")]),s("em",[e._v(e._s(e.$formatFromNowDate(t.timestamp)))])])]:e._e(),"knowledge"==t.biz_type?[s("div",{staticClass:"knowledge"},[s("div",{staticClass:"content"},[s("div",{staticClass:"title"},[e._v("以下是否是您关心的相关问题呢?")]),e._l(JSON.parse(t.payload),(function(t,a){return s("div",{key:a,staticClass:"item"},[e._v("\n "+e._s(a+1)+"."+e._s(t.title)+"\n ")])}))],2)])]:e._e()],2)}))],2)},r=[],l={name:"mini-im-contact",data:function(){return{}},computed:{seviceCurrentUser:function(){return this.$store.getters.seviceCurrentUser||{}},adminInfo:function(){return this.$store.getters.adminInfo||{}}},props:{loading:Boolean,isMessageEnd:Boolean,messages:Array,userId:String,userNickname:String,seviceId:String,seviceNickname:String,onLoadMor:Function},watch:{messages:function(){var e=this;setTimeout((function(){e.$previewRefresh()}),1e3)}}},d=l,g=(s("e775"),s("2877")),m=Object(g["a"])(d,c,r,!1,null,"3d81ef40",null),u=m.exports,p=s("c1df"),h={name:"robot",components:{ChatsComponent:u},data:function(){return{loading:!0,isDeWeighting:!1,isReception:!1,selectDate:Date.now(),tableData:{list:[],page_on:1,page_size:10,cid:0,total:0,is_de_weighting:!1,date:""},customerData:[],selectCustomerId:null,selectUser:{},pickerOptions:{disabledDate:function(e){return e.getTime()>Date.now()},shortcuts:[{text:"今天",onClick:function(e){e.$emit("pick",new Date)}},{text:"昨天",onClick:function(e){var t=new Date;t.setTime(t.getTime()-864e5),e.$emit("pick",t)}},{text:"一周前",onClick:function(e){var t=new Date;t.setTime(t.getTime()-6048e5),e.$emit("pick",t)}}]},isMessageEnd:!1,getMessageRecordLoading:!1,getMessageRecordPageSize:20,dialogFormVisible:!1,messageRecord:{list:[]},isFirstRequestMessageEnd:!1}},computed:{platformConfig:function(){return this.$store.getters.platformConfig},adminInfo:function(){return this.$store.getters.adminInfo}},created:function(){this.getAdmins()},mounted:function(){var e=this;setTimeout((function(){e.selectCustomerId=e.adminInfo.id,e.getRecord(1)}),1e3)},methods:{indexMethod:function(e){return(this.tableData.page_on-1)*this.tableData.page_size+e+1},handleSizeChange:function(e){this.tableData.page_size=e,this.getRecord()},handleCurrentChange:function(e){this.tableData.page_on=e,this.getRecord()},serviceNickname:function(e){for(var t="",s=0;s<this.customerData.length;s++)if(this.customerData[s].id==e){t=this.customerData[s].nickname;break}return t},getAdmins:function(){var e=this;o.a.post("/admin/list",{page_on:1,page_size:100,online:3}).then((function(t){e.customerData=t.data.data.list})).catch((function(t){e.$message.error(t.response.data.message)}))},getRecord:function(e){var t=this;this.loading=!0,e&&(this.tableData.page_on=e);var s=this.tableData,a=s.page_on,i=s.page_size;o.a.post("/services_statistical/list",{page_on:a,page_size:i,cid:this.selectCustomerId,date:p(this.selectDate).format("YYYY-MM-DD"),is_de_weighting:this.isDeWeighting,is_reception:this.isReception}).then((function(e){t.loading=!1,t.tableData=e.data.data})).catch((function(e){t.loading=!1,t.$message.error(e.response.data.message)}))},refreshRecord:function(){this.getRecord()},openModal:function(e){this.selectUser=e.row,this.isMessageEnd=!1,this.isFirstRequestMessageEnd=!1,this.dialogFormVisible=!0,this.messageRecord={list:[]},this.getMessageRecord()},getMessageRecord:function(e){var t=this;this.getMessageRecordLoading=!0,void 0==e&&(e=0),o.a.post("/message/list",{timestamp:e,page_size:this.getMessageRecordPageSize,service:parseInt(this.selectCustomerId),account:parseInt(this.selectUser.user_account)}).then((function(s){t.getMessageRecordLoading=!1;for(var a=s.data.data.list,i=0;i<a.length;i++)a[i].payload=window.Base64.decode(a[i].payload);a.length<t.getMessageRecordPageSize&&(t.isFirstRequestMessageEnd=!0),0==a.length||0==e?(t.messageRecord=s.data.data,t.scrollIntoBottom()):(s.data.data.list=a.concat(t.messageRecord.list),t.messageRecord=s.data.data),setTimeout((function(){return t.$previewRefresh()}),500)})).catch((function(e){console.log(e),t.getMessageRecordLoading=!1}))},getHistoryMessageRecord:function(e){var t=this;this.getMessageRecordLoading=!0,void 0!=e&&0!=e?o.a.post("/message/history",{timestamp:e,page_size:this.getMessageRecordPageSize,service:parseInt(this.selectCustomerId),account:parseInt(this.selectUser.user_account)}).then((function(e){for(var s=e.data.data.list,a=0;a<s.length;a++)s[a].payload=window.Base64.decode(s[a].payload);t.getMessageRecordLoading=!1,s.length<t.getMessageRecordPageSize&&(t.isMessageEnd=!0),e.data.data.list=s.concat(t.messageRecord.list),t.messageRecord=e.data.data,setTimeout((function(){return t.$previewRefresh()}),1e3)})).catch((function(){t.getMessageRecordLoading=!1})):this.isMessageEnd=!0},onLoadMor:function(){this.getMessageRecordLoading||(this.isFirstRequestMessageEnd?this.getHistoryMessageRecord(this.messageRecord.list[0].timestamp):this.getMessageRecord(this.messageRecord.list[0].timestamp),setTimeout((function(){var e=document.getElementById("chatBody");e.scrollTop=500}),50))},scrollIntoBottom:function(){try{setTimeout((function(){var e=document.getElementById("chatBody");if(e){var t=e.clientHeight,s=e.scrollHeight;e.scrollTop=s-t}}),50)}catch(e){console.log(e)}}}},f=h,_=(s("fc7d"),Object(g["a"])(f,a,i,!1,null,null,null));t["default"]=_.exports},e6a4:function(e,t,s){},e775:function(e,t,s){"use strict";var a=s("c2a3"),i=s.n(a);i.a},fc7d:function(e,t,s){"use strict";var a=s("e6a4"),i=s.n(a);i.a}}]);
//# sourceMappingURL=chunk-08473d3a.57550f5a.js.map
\ No newline at end of file
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-08473d3a"],{"78ce":function(e,t,s){var a=s("5ca1");a(a.S,"Date",{now:function(){return(new Date).getTime()}})},c2a3:function(e,t,s){},caae:function(e,t,s){"use strict";s.r(t);var a=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"record-page"},[s("div",{staticClass:"record-mini-im-head"},[s("span",[s("i",{staticClass:"el-icon-time"}),s("span",{attrs:{slot:"title"},slot:"title"},[e._v("服务记录")])])]),s("el-divider"),s("div",{staticClass:"search"},[s("el-row",{attrs:{gutter:20}},[s("el-col",{staticStyle:{width:"120px"}},[s("el-form",{ref:"form",attrs:{"label-width":"120px"}},[s("el-form-item",{attrs:{label:1==e.adminInfo.root?"按客服:":"按日期:"}})],1)],1),1==e.adminInfo.root?s("el-col",{attrs:{span:3}},[s("el-select",{attrs:{placeholder:"请选择客服"},on:{change:e.refreshRecord},model:{value:e.selectCustomerId,callback:function(t){e.selectCustomerId=t},expression:"selectCustomerId"}},e._l(e.customerData,(function(e){return s("el-option",{key:e.id,attrs:{label:e.nickname,value:e.id}})})),1)],1):e._e(),s("el-col",{attrs:{span:5.5}},[s("el-date-picker",{attrs:{align:"right",type:"date",placeholder:"选择日期","picker-options":e.pickerOptions},on:{change:e.refreshRecord},model:{value:e.selectDate,callback:function(t){e.selectDate=t},expression:"selectDate"}})],1),s("el-col",{attrs:{span:5.5}},[s("el-checkbox",{attrs:{label:"去重目标客户",border:""},on:{change:e.refreshRecord},model:{value:e.isDeWeighting,callback:function(t){e.isDeWeighting=t},expression:"isDeWeighting"}})],1),s("el-col",{attrs:{span:5.5}},[s("el-checkbox",{attrs:{label:"只显示未接待客户",border:""},on:{change:e.refreshRecord},model:{value:e.isReception,callback:function(t){e.isReception=t},expression:"isReception"}})],1)],1)],1),s("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticStyle:{width:"100%"},attrs:{data:e.tableData.list}},[s("el-table-column",{attrs:{type:"index",index:e.indexMethod,label:"#序号",width:"60"}}),s("el-table-column",{attrs:{prop:"service_account",label:"接待客服"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("span",[e._v(e._s(e.serviceNickname(t.row.service_account)))])]}}])}),s("el-table-column",{attrs:{prop:"nickname",label:"目标客户"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("el-tag",{attrs:{type:"success"}},[e._v(e._s(t.row.nickname))])]}}])}),s("el-table-column",{attrs:{prop:"is_reception",label:"是否已接待"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("el-tag",{directives:[{name:"show",rawName:"v-show",value:0==t.row.is_reception,expression:"scope.row.is_reception == 0"}],attrs:{type:"danger"}},[e._v("未接待")]),s("el-tag",{directives:[{name:"show",rawName:"v-show",value:1==t.row.is_reception,expression:"scope.row.is_reception == 1"}],attrs:{type:"success"}},[e._v("已接待")])]}}])}),s("el-table-column",{attrs:{prop:"transfer_account",label:"满意度"}},[[s("span",[e._v("-----")])]],2),s("el-table-column",{attrs:{prop:"platform",label:"客户端平台"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("el-tag",[e._v(e._s(e.$getPlatformItem(t.row.platform).title))])]}}])}),s("el-table-column",{attrs:{prop:"create_at",label:"服务时间"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(e.$formatUnixDate(t.row.create_at,"YYYY/MM/DD HH:mm:ss"))+"\n ")]}}])}),s("el-table-column",{attrs:{prop:"operating",align:"center",label:"操作",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("el-button",{attrs:{size:"mini"},on:{click:function(s){return e.openModal(t)}}},[e._v("聊天记录")])]}}])})],1),s("el-row",{staticStyle:{"margin-top":"20px"},attrs:{type:"flex",justify:"space-between"}},[s("span",{staticStyle:{color:"#666","font-size":"14px"}},[e._v("共找到"+e._s(e.tableData.total)+"条数据")]),s("el-pagination",{attrs:{background:"",layout:"sizes, prev, pager, next","current-page":e.tableData.page_on,"page-sizes":[5,10,15,20],total:e.tableData.total},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),s("el-dialog",{attrs:{visible:e.dialogFormVisible},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[s("div",{staticClass:"dialog-title",attrs:{slot:"title"},slot:"title"},[s("div",{staticStyle:{color:"#666"}},[s("span",{staticStyle:{color:"#e6a23c"}},[e._v(e._s(e.serviceNickname(e.selectUser.service_account)))]),e._v("\n 与\n "),s("span",{staticStyle:{color:"#67c23a"}},[e._v(e._s(e.selectUser.nickname))]),e._v("\n 的聊天记录\n ")])]),s("div",{ref:"chatBody",staticClass:"record-modal-chat-box",attrs:{id:"chatBody"}},[s("ChatsComponent",{attrs:{isMessageEnd:e.isMessageEnd,seviceId:e.selectCustomerId+"",seviceNickname:e.serviceNickname(e.selectUser.service_account),messages:e.messageRecord.list,userId:e.selectUser.user_account,userNickname:e.selectUser.nickname,onLoadMor:e.onLoadMor,loading:e.getMessageRecordLoading}})],1)])],1)},i=[],n=(s("78ce"),s("bc3a")),o=s.n(n),c=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"mini-im-chat-list"},[s("div",{staticClass:"mini-im-chat-message-box"},[s("div",{directives:[{name:"show",rawName:"v-show",value:e.loading,expression:"loading"}],staticClass:"loading"},[s("i",{staticClass:"el-icon-loading"}),s("span",[e._v("消息加载中...")])]),s("el-button",{directives:[{name:"show",rawName:"v-show",value:e.isMessageEnd,expression:"isMessageEnd"}],attrs:{type:"text",disabled:"",icon:"el-icon-refresh-right"}},[e._v("无更多聊天记录...")]),e.isMessageEnd||e.loading?e._e():s("el-button",{attrs:{type:"text",icon:"el-icon-refresh"},on:{click:e.onLoadMor}},[e._v("点击加载更多聊天记录")])],1),s("div",{staticClass:"mini-im-chat-message-box"},[s("div",{directives:[{name:"show",rawName:"v-show",value:e.messages.length<=0&&!e.loading,expression:"messages.length <= 0 && !loading"}],staticClass:"loading"},[s("i",{staticClass:"el-icon-time"}),s("span",[e._v("暂无聊天记录...")])])]),e._l(e.messages,(function(t,a){return s("div",{key:a,staticClass:"mini-im-chat-message-box",class:{self:t.from_account!=e.userId}},["text"==t.biz_type||"photo"==t.biz_type||"knowledge"==t.biz_type||"knowledge_list"==t.biz_type?[s("div",{staticClass:"user-date"},[t.from_account==e.seviceId?s("span",[e._v("\n "+e._s(e.seviceNickname)+"\n ")]):t.from_account==e.userId?s("span",[e._v("\n "+e._s(e.userNickname)+"\n ")]):s("span",[s("span",{staticStyle:{"font-size":"12px",color:"#666"}},[e._v("(机器人)")]),e._v(e._s(e.$robotNickname(t.from_account))+"\n ")]),s("em",[e._v(e._s(e.$formatFromNowDate(t.timestamp)))])])]:e._e(),"text"==t.biz_type?[s("div",{staticClass:"text"},[s("span",{domProps:{innerHTML:e._s(t.payload.replace(/\n/gi,"<br />"))}})])]:e._e(),"photo"==t.biz_type?[s("div",{staticClass:"photo"},[t.percent&&100!=t.percent?s("div",{staticClass:"loading"},[s("i",{staticClass:"el-icon-loading"}),s("span",[e._v(e._s(t.percent)+"%")])]):e._e(),s("div",{staticClass:"img-content"},[s("img",{attrs:{src:t.payload,preview:"1"}})])])]:e._e(),"transfer"==t.biz_type?[s("div",{staticClass:"system"},[s("span",[e._v(e._s(t.payload))]),s("em",[e._v(e._s(e.$formatFromNowDate(t.timestamp)))])])]:e._e(),"end"==t.biz_type?[s("div",{staticClass:"system"},[t.to_account!=e.adminInfo.id?s("span",[e._v("你结束了会话")]):s("span",[e._v("对方结束了会话")]),s("em",[e._v(e._s(e.$formatFromNowDate(t.timestamp)))])])]:e._e(),"timeout"==t.biz_type?[s("div",{staticClass:"system"},[s("span",[e._v("用户长时间无应答,会话结束")]),s("em",[e._v(e._s(e.$formatFromNowDate(t.timestamp)))])])]:e._e(),"cancel"==t.biz_type?[s("div",{staticClass:"system"},[t.from_account==e.adminInfo.id?s("span",[e._v("您撤回了一条消息")]):s("span",[e._v("对方撤回了一条消息")]),s("em",[e._v(e._s(e.$formatFromNowDate(t.timestamp)))])])]:e._e(),"knowledge"==t.biz_type?[s("div",{staticClass:"knowledge"},[s("div",{staticClass:"content"},[s("div",{staticClass:"title"},[e._v("以下是否是您关心的相关问题呢?")]),e._l(JSON.parse(t.payload),(function(t,a){return s("div",{key:a,staticClass:"item"},[e._v("\n "+e._s(a+1)+"."+e._s(t.title)+"\n ")])}))],2)])]:e._e()],2)}))],2)},r=[],l={name:"mini-im-contact",data:function(){return{}},computed:{seviceCurrentUser:function(){return this.$store.getters.seviceCurrentUser||{}},adminInfo:function(){return this.$store.getters.adminInfo||{}}},props:{loading:Boolean,isMessageEnd:Boolean,messages:Array,userId:String,userNickname:String,seviceId:String,seviceNickname:String,onLoadMor:Function},watch:{messages:function(){var e=this;setTimeout((function(){e.$previewRefresh()}),1e3)}}},d=l,g=(s("e775"),s("2877")),m=Object(g["a"])(d,c,r,!1,null,"3d81ef40",null),u=m.exports,p=s("c1df"),h={name:"robot",components:{ChatsComponent:u},data:function(){return{loading:!0,isDeWeighting:!1,isReception:!1,selectDate:Date.now(),tableData:{list:[],page_on:1,page_size:10,cid:0,total:0,is_de_weighting:!1,date:""},customerData:[{id:0,nickname:"全部"}],selectCustomerId:null,selectUser:{},pickerOptions:{disabledDate:function(e){return e.getTime()>Date.now()},shortcuts:[{text:"今天",onClick:function(e){e.$emit("pick",new Date)}},{text:"昨天",onClick:function(e){var t=new Date;t.setTime(t.getTime()-864e5),e.$emit("pick",t)}},{text:"一周前",onClick:function(e){var t=new Date;t.setTime(t.getTime()-6048e5),e.$emit("pick",t)}}]},isMessageEnd:!1,getMessageRecordLoading:!1,getMessageRecordPageSize:20,dialogFormVisible:!1,messageRecord:{list:[]},isFirstRequestMessageEnd:!1}},computed:{platformConfig:function(){return this.$store.getters.platformConfig},adminInfo:function(){return this.$store.getters.adminInfo}},created:function(){this.getAdmins()},mounted:function(){var e=this;setTimeout((function(){e.selectCustomerId=e.adminInfo.id,e.getRecord(1)}),1e3)},methods:{indexMethod:function(e){return(this.tableData.page_on-1)*this.tableData.page_size+e+1},handleSizeChange:function(e){this.tableData.page_size=e,this.getRecord()},handleCurrentChange:function(e){this.tableData.page_on=e,this.getRecord()},serviceNickname:function(e){for(var t="",s=0;s<this.customerData.length;s++)if(this.customerData[s].id==e){t=this.customerData[s].nickname;break}return t},getAdmins:function(){var e=this;o.a.post("/admin/list",{page_on:1,page_size:100,online:3}).then((function(t){e.customerData=e.customerData.concat(t.data.data.list)})).catch((function(t){e.$message.error(t.response.data.message)}))},getRecord:function(e){var t=this;this.loading=!0,e&&(this.tableData.page_on=e);var s=this.tableData,a=s.page_on,i=s.page_size;o.a.post("/services_statistical/list",{page_on:a,page_size:i,cid:this.selectCustomerId,date:p(this.selectDate).format("YYYY-MM-DD"),is_de_weighting:this.isDeWeighting,is_reception:this.isReception}).then((function(e){t.loading=!1,t.tableData=e.data.data})).catch((function(e){t.loading=!1,t.$message.error(e.response.data.message)}))},refreshRecord:function(){this.getRecord()},openModal:function(e){this.selectUser=e.row,this.isMessageEnd=!1,this.isFirstRequestMessageEnd=!1,this.dialogFormVisible=!0,this.messageRecord={list:[]},this.getMessageRecord()},getMessageRecord:function(e){var t=this;this.getMessageRecordLoading=!0,void 0==e&&(e=0),o.a.post("/message/list",{timestamp:e,page_size:this.getMessageRecordPageSize,service:parseInt(this.selectCustomerId),account:parseInt(this.selectUser.user_account)}).then((function(s){t.getMessageRecordLoading=!1;for(var a=s.data.data.list,i=0;i<a.length;i++)a[i].payload=window.Base64.decode(a[i].payload);a.length<t.getMessageRecordPageSize&&(t.isFirstRequestMessageEnd=!0),0==a.length||0==e?(t.messageRecord=s.data.data,t.scrollIntoBottom()):(s.data.data.list=a.concat(t.messageRecord.list),t.messageRecord=s.data.data),setTimeout((function(){return t.$previewRefresh()}),500)})).catch((function(e){console.log(e),t.getMessageRecordLoading=!1}))},getHistoryMessageRecord:function(e){var t=this;this.getMessageRecordLoading=!0,void 0!=e&&0!=e?o.a.post("/message/history",{timestamp:e,page_size:this.getMessageRecordPageSize,service:parseInt(this.selectCustomerId),account:parseInt(this.selectUser.user_account)}).then((function(e){for(var s=e.data.data.list,a=0;a<s.length;a++)s[a].payload=window.Base64.decode(s[a].payload);t.getMessageRecordLoading=!1,s.length<t.getMessageRecordPageSize&&(t.isMessageEnd=!0),e.data.data.list=s.concat(t.messageRecord.list),t.messageRecord=e.data.data,setTimeout((function(){return t.$previewRefresh()}),1e3)})).catch((function(){t.getMessageRecordLoading=!1})):this.isMessageEnd=!0},onLoadMor:function(){this.getMessageRecordLoading||(this.isFirstRequestMessageEnd?this.getHistoryMessageRecord(this.messageRecord.list[0].timestamp):this.getMessageRecord(this.messageRecord.list[0].timestamp),setTimeout((function(){var e=document.getElementById("chatBody");e.scrollTop=500}),50))},scrollIntoBottom:function(){try{setTimeout((function(){var e=document.getElementById("chatBody");if(e){var t=e.clientHeight,s=e.scrollHeight;e.scrollTop=s-t}}),50)}catch(e){console.log(e)}}}},f=h,_=(s("fc7d"),Object(g["a"])(f,a,i,!1,null,null,null));t["default"]=_.exports},e6a4:function(e,t,s){},e775:function(e,t,s){"use strict";var a=s("c2a3"),i=s.n(a);i.a},fc7d:function(e,t,s){"use strict";var a=s("e6a4"),i=s.n(a);i.a}}]);
//# sourceMappingURL=chunk-08473d3a.b7eb59e9.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./src/views/record/index.vue?b9d4","webpack:///./src/views/record/chats.vue?d273","webpack:///src/views/record/chats.vue","webpack:///./src/views/record/chats.vue?b9d8","webpack:///./src/views/record/chats.vue","webpack:///src/views/record/index.vue","webpack:///./src/views/record/index.vue?622e","webpack:///./src/views/record/index.vue?6f57","webpack:///./src/views/record/chats.vue?52e1","webpack:///./src/views/record/index.vue?6aa3"],"names":["$export","S","now","Date","getTime","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","slot","_v","staticStyle","ref","adminInfo","root","on","refreshRecord","model","value","callback","$$v","selectCustomerId","expression","_l","item","key","id","nickname","_e","pickerOptions","selectDate","isDeWeighting","isReception","directives","name","rawName","tableData","list","indexMethod","scopedSlots","_u","fn","scope","_s","serviceNickname","row","service_account","is_reception","$getPlatformItem","platform","title","$formatUnixDate","create_at","$event","openModal","total","page_on","handleSizeChange","handleCurrentChange","dialogFormVisible","selectUser","isMessageEnd","messageRecord","user_account","onLoadMor","getMessageRecordLoading","staticRenderFns","loading","messages","length","index","class","from_account","userId","biz_type","seviceId","seviceNickname","userNickname","$robotNickname","$formatFromNowDate","timestamp","domProps","payload","replace","percent","to_account","JSON","parse","data","computed","seviceCurrentUser","$store","getters","props","Boolean","Array","String","Function","watch","component","moment","components","ChatsComponent","page_size","cid","is_de_weighting","date","customerData","disabledDate","time","shortcuts","text","onClick","picker","$emit","setTime","getMessageRecordPageSize","platformConfig","created","getAdmins","mounted","setTimeout","methods","val","getRecord","i","format","isFirstRequestMessageEnd","getMessageRecord","parseInt","window","Base64","decode","response","concat","console","log","error","getHistoryMessageRecord","chatBody","document","getElementById","scrollTop","scrollIntoBottom","height","clientHeight","scrollHeight","e"],"mappings":"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","file":"js/chunk-08473d3a.b7eb59e9.js","sourcesContent":["// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"record-page\"},[_c('div',{staticClass:\"record-mini-im-head\"},[_c('span',[_c('i',{staticClass:\"el-icon-time\"}),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"服务记录\")])])]),_c('el-divider'),_c('div',{staticClass:\"search\"},[_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{staticStyle:{\"width\":\"120px\"}},[_c('el-form',{ref:\"form\",attrs:{\"label-width\":\"120px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.adminInfo.root == 1 ? '按客服:' : '按日期:'}})],1)],1),(_vm.adminInfo.root == 1)?_c('el-col',{attrs:{\"span\":3}},[_c('el-select',{attrs:{\"placeholder\":\"请选择客服\"},on:{\"change\":_vm.refreshRecord},model:{value:(_vm.selectCustomerId),callback:function ($$v) {_vm.selectCustomerId=$$v},expression:\"selectCustomerId\"}},_vm._l((_vm.customerData),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.nickname,\"value\":item.id}})}),1)],1):_vm._e(),_c('el-col',{attrs:{\"span\":5.5}},[_c('el-date-picker',{attrs:{\"align\":\"right\",\"type\":\"date\",\"placeholder\":\"选择日期\",\"picker-options\":_vm.pickerOptions},on:{\"change\":_vm.refreshRecord},model:{value:(_vm.selectDate),callback:function ($$v) {_vm.selectDate=$$v},expression:\"selectDate\"}})],1),_c('el-col',{attrs:{\"span\":5.5}},[_c('el-checkbox',{attrs:{\"label\":\"去重目标客户\",\"border\":\"\"},on:{\"change\":_vm.refreshRecord},model:{value:(_vm.isDeWeighting),callback:function ($$v) {_vm.isDeWeighting=$$v},expression:\"isDeWeighting\"}})],1),_c('el-col',{attrs:{\"span\":5.5}},[_c('el-checkbox',{attrs:{\"label\":\"只显示未接待客户\",\"border\":\"\"},on:{\"change\":_vm.refreshRecord},model:{value:(_vm.isReception),callback:function ($$v) {_vm.isReception=$$v},expression:\"isReception\"}})],1)],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.tableData.list}},[_c('el-table-column',{attrs:{\"type\":\"index\",\"index\":_vm.indexMethod,\"label\":\"#序号\",\"width\":\"60\"}}),_c('el-table-column',{attrs:{\"prop\":\"service_account\",\"label\":\"接待客服\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('span',[_vm._v(_vm._s(_vm.serviceNickname(scope.row.service_account)))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"nickname\",\"label\":\"目标客户\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',{attrs:{\"type\":\"success\"}},[_vm._v(_vm._s(scope.row.nickname))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"is_reception\",\"label\":\"是否已接待\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',{directives:[{name:\"show\",rawName:\"v-show\",value:(scope.row.is_reception == 0),expression:\"scope.row.is_reception == 0\"}],attrs:{\"type\":\"danger\"}},[_vm._v(\"未接待\")]),_c('el-tag',{directives:[{name:\"show\",rawName:\"v-show\",value:(scope.row.is_reception == 1),expression:\"scope.row.is_reception == 1\"}],attrs:{\"type\":\"success\"}},[_vm._v(\"已接待\")])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"transfer_account\",\"label\":\"满意度\"}},[[_c('span',[_vm._v(\"-----\")])]],2),_c('el-table-column',{attrs:{\"prop\":\"platform\",\"label\":\"客户端平台\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',[_vm._v(_vm._s(_vm.$getPlatformItem(scope.row.platform).title))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"create_at\",\"label\":\"服务时间\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\"\\n \"+_vm._s(_vm.$formatUnixDate(scope.row.create_at, \"YYYY/MM/DD HH:mm:ss\"))+\"\\n \")]}}])}),_c('el-table-column',{attrs:{\"prop\":\"operating\",\"align\":\"center\",\"label\":\"操作\",\"width\":\"150\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){return _vm.openModal(scope)}}},[_vm._v(\"聊天记录\")])]}}])})],1),_c('el-row',{staticStyle:{\"margin-top\":\"20px\"},attrs:{\"type\":\"flex\",\"justify\":\"space-between\"}},[_c('span',{staticStyle:{\"color\":\"#666\",\"font-size\":\"14px\"}},[_vm._v(\"共找到\"+_vm._s(_vm.tableData.total)+\"条数据\")]),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"sizes, prev, pager, next\",\"current-page\":_vm.tableData.page_on,\"page-sizes\":[5, 10, 15, 20],\"total\":_vm.tableData.total},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1),_c('el-dialog',{attrs:{\"visible\":_vm.dialogFormVisible},on:{\"update:visible\":function($event){_vm.dialogFormVisible=$event}}},[_c('div',{staticClass:\"dialog-title\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('div',{staticStyle:{\"color\":\"#666\"}},[_c('span',{staticStyle:{\"color\":\"#e6a23c\"}},[_vm._v(_vm._s(_vm.serviceNickname(_vm.selectUser.service_account)))]),_vm._v(\"\\n 与\\n \"),_c('span',{staticStyle:{\"color\":\"#67c23a\"}},[_vm._v(_vm._s(_vm.selectUser.nickname))]),_vm._v(\"\\n 的聊天记录\\n \")])]),_c('div',{ref:\"chatBody\",staticClass:\"record-modal-chat-box\",attrs:{\"id\":\"chatBody\"}},[_c('ChatsComponent',{attrs:{\"isMessageEnd\":_vm.isMessageEnd,\"seviceId\":_vm.selectCustomerId+'',\"seviceNickname\":_vm.serviceNickname(_vm.selectUser.service_account),\"messages\":_vm.messageRecord.list,\"userId\":_vm.selectUser.user_account,\"userNickname\":_vm.selectUser.nickname,\"onLoadMor\":_vm.onLoadMor,\"loading\":_vm.getMessageRecordLoading}})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mini-im-chat-list\"},[_c('div',{staticClass:\"mini-im-chat-message-box\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"loading\"},[_c('i',{staticClass:\"el-icon-loading\"}),_c('span',[_vm._v(\"消息加载中...\")])]),_c('el-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isMessageEnd),expression:\"isMessageEnd\"}],attrs:{\"type\":\"text\",\"disabled\":\"\",\"icon\":\"el-icon-refresh-right\"}},[_vm._v(\"无更多聊天记录...\")]),(!_vm.isMessageEnd && !_vm.loading)?_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-refresh\"},on:{\"click\":_vm.onLoadMor}},[_vm._v(\"点击加载更多聊天记录\")]):_vm._e()],1),_c('div',{staticClass:\"mini-im-chat-message-box\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.messages.length <= 0 && !_vm.loading),expression:\"messages.length <= 0 && !loading\"}],staticClass:\"loading\"},[_c('i',{staticClass:\"el-icon-time\"}),_c('span',[_vm._v(\"暂无聊天记录...\")])])]),_vm._l((_vm.messages),function(item,index){return _c('div',{key:index,staticClass:\"mini-im-chat-message-box\",class:{'self': item.from_account != _vm.userId}},[(item.biz_type == 'text' || item.biz_type == 'photo' || item.biz_type == 'knowledge' || item.biz_type == 'knowledge_list')?[_c('div',{staticClass:\"user-date\"},[(item.from_account == _vm.seviceId)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.seviceNickname)+\"\\n \")]):(item.from_account == _vm.userId)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.userNickname)+\"\\n \")]):_c('span',[_c('span',{staticStyle:{\"font-size\":\"12px\",\"color\":\"#666\"}},[_vm._v(\"(机器人)\")]),_vm._v(_vm._s(_vm.$robotNickname(item.from_account))+\"\\n \")]),_c('em',[_vm._v(_vm._s(_vm.$formatFromNowDate(item.timestamp)))])])]:_vm._e(),(item.biz_type == 'text')?[_c('div',{staticClass:\"text\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(item.payload.replace(/\\n/ig, '<br />'))}})])]:_vm._e(),(item.biz_type == 'photo')?[_c('div',{staticClass:\"photo\"},[(item.percent && item.percent != 100)?_c('div',{staticClass:\"loading\"},[_c('i',{staticClass:\"el-icon-loading\"}),_c('span',[_vm._v(_vm._s(item.percent)+\"%\")])]):_vm._e(),_c('div',{staticClass:\"img-content\"},[_c('img',{attrs:{\"src\":item.payload,\"preview\":\"1\"}})])])]:_vm._e(),(item.biz_type == 'transfer')?[_c('div',{staticClass:\"system\"},[_c('span',[_vm._v(_vm._s(item.payload))]),_c('em',[_vm._v(_vm._s(_vm.$formatFromNowDate(item.timestamp)))])])]:_vm._e(),(item.biz_type == 'end')?[_c('div',{staticClass:\"system\"},[(item.to_account != _vm.adminInfo.id)?_c('span',[_vm._v(\"你结束了会话\")]):_c('span',[_vm._v(\"对方结束了会话\")]),_c('em',[_vm._v(_vm._s(_vm.$formatFromNowDate(item.timestamp)))])])]:_vm._e(),(item.biz_type == 'timeout')?[_c('div',{staticClass:\"system\"},[_c('span',[_vm._v(\"用户长时间无应答,会话结束\")]),_c('em',[_vm._v(_vm._s(_vm.$formatFromNowDate(item.timestamp)))])])]:_vm._e(),(item.biz_type == 'cancel')?[_c('div',{staticClass:\"system\"},[(item.from_account == _vm.adminInfo.id)?_c('span',[_vm._v(\"您撤回了一条消息\")]):_c('span',[_vm._v(\"对方撤回了一条消息\")]),_c('em',[_vm._v(_vm._s(_vm.$formatFromNowDate(item.timestamp)))])])]:_vm._e(),(item.biz_type == 'knowledge')?[_c('div',{staticClass:\"knowledge\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"以下是否是您关心的相关问题呢?\")]),_vm._l((JSON.parse(item.payload)),function(item,index){return _c('div',{key:index,staticClass:\"item\"},[_vm._v(\"\\n \"+_vm._s(index+1)+\".\"+_vm._s(item.title)+\"\\n \")])})],2)])]:_vm._e()],2)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"mini-im-chat-list\">\n\n <div class=\"mini-im-chat-message-box\">\n <div class=\"loading\" v-show=\"loading\">\n <i class=\"el-icon-loading\"></i><span>消息加载中...</span>\n </div>\n <el-button v-show=\"isMessageEnd\" type=\"text\" disabled icon=\"el-icon-refresh-right\">无更多聊天记录...</el-button>\n <el-button v-if=\"!isMessageEnd && !loading\" type=\"text\" @click=\"onLoadMor\" icon=\"el-icon-refresh\">点击加载更多聊天记录</el-button>\n </div>\n\n <div class=\"mini-im-chat-message-box\">\n <div class=\"loading\" v-show=\"messages.length <= 0 && !loading\">\n <i class=\"el-icon-time\"></i><span>暂无聊天记录...</span>\n </div>\n </div>\n\n <div class=\"mini-im-chat-message-box\" :class=\"{'self': item.from_account != userId}\" v-for=\"(item, index) in messages\" :key=\"index\">\n\n <!-- 用户信息 -->\n <template v-if=\"item.biz_type == 'text' || item.biz_type == 'photo' || item.biz_type == 'knowledge' || item.biz_type == 'knowledge_list'\">\n <div class=\"user-date\">\n <span v-if=\"item.from_account == seviceId\">\n {{seviceNickname}}\n </span>\n <span v-else-if=\"item.from_account == userId\">\n {{userNickname}}\n </span>\n <span v-else>\n <span style=\"font-size:12px;color: #666;\">(机器人)</span>{{$robotNickname(item.from_account)}}\n </span>\n <em>{{$formatFromNowDate(item.timestamp)}}</em>\n </div>\n </template>\n\n <!-- 文本消息 -->\n <template v-if=\"item.biz_type == 'text'\">\n <div class=\"text\">\n <span v-html=\"item.payload.replace(/\\n/ig, '<br />')\"></span>\n </div>\n </template>\n\n <!-- 图片 -->\n <template v-if=\"item.biz_type == 'photo'\">\n <div class=\"photo\">\n <div class=\"loading\" v-if=\"item.percent && item.percent != 100\">\n <i class=\"el-icon-loading\"></i>\n <span>{{item.percent}}%</span>\n </div>\n <div class=\"img-content\">\n <img :src=\"item.payload\" preview=\"1\" />\n </div>\n </div>\n </template>\n\n <!-- 转接 -->\n <template v-if=\"item.biz_type == 'transfer'\">\n <div class=\"system\">\n <span>{{item.payload}}</span>\n <em>{{$formatFromNowDate(item.timestamp)}}</em>\n </div>\n </template>\n\n <!-- 结束聊天 -->\n <template v-if=\"item.biz_type == 'end'\">\n <div class=\"system\">\n <span v-if=\"item.to_account != adminInfo.id\">你结束了会话</span>\n <span v-else>对方结束了会话</span>\n <em>{{$formatFromNowDate(item.timestamp)}}</em>\n </div>\n </template>\n\n <!-- 聊天超时 -->\n <template v-if=\"item.biz_type == 'timeout'\">\n <div class=\"system\">\n <span>用户长时间无应答,会话结束</span>\n <em>{{$formatFromNowDate(item.timestamp)}}</em>\n </div>\n </template>\n\n <!-- 撤回消息 -->\n <template v-if=\"item.biz_type == 'cancel'\">\n <div class=\"system\">\n <span v-if=\"item.from_account == adminInfo.id\">您撤回了一条消息</span>\n <span v-else>对方撤回了一条消息</span>\n <em>{{$formatFromNowDate(item.timestamp)}}</em>\n </div>\n </template>\n\n <!-- 知识库列表 -->\n <template v-if=\"item.biz_type == 'knowledge'\">\n <div class=\"knowledge\">\n <div class=\"content\">\n <div class=\"title\">以下是否是您关心的相关问题呢?</div>\n <div class=\"item\" :key=\"index\" v-for=\"(item, index) in JSON.parse(item.payload)\">\n {{index+1}}.{{item.title}}\n </div>\n </div>\n </div>\n </template>\n\n </div>\n\n </div>\n</template>\n<script>\nexport default {\n name: \"mini-im-contact\",\n data() {\n return {};\n },\n computed: {\n seviceCurrentUser(){\n return this.$store.getters.seviceCurrentUser || {}\n },\n adminInfo(){\n return this.$store.getters.adminInfo || {}\n }\n },\n props: {\n loading: Boolean,\n isMessageEnd: Boolean,\n messages: Array,\n userId: String,\n userNickname: String,\n seviceId: String,\n seviceNickname: String,\n onLoadMor: Function\n },\n watch:{\n messages(){\n setTimeout(()=>{\n this.$previewRefresh()\n }, 1000)\n }\n }\n};\n</script>\n<style scoped lang=\"stylus\">\n.mini-im-chat-list {\n display: flex;\n flex-direction: column;\n\n .mini-im-chat-message-box {\n width: 100%;\n display: flex;\n flex-direction: column;\n margin-bottom: 15px;\n\n .user-date {\n display: flex;\n align-items: center;\n color: #999;\n font-size: 14px;\n\n span {\n color: #666;\n font-weight: 500;\n font-size: 14px;\n padding: 0 5px;\n }\n\n em {\n font-style: normal;\n font-size 12px\n }\n }\n\n .loading{\n color #666\n display: flex;\n margin-top: 5px;\n align-items center\n align-content center\n justify-content center\n span{\n margin-left 5px\n font-size 13px\n }\n }\n\n .text {\n display: flex;\n margin-top: 5px;\n\n span {\n max-width: 40%;\n display: inline;\n padding: 5px 10px;\n border-radius: 5px;\n background-color: #eef4f9;\n font-size: 14px;\n color: #666;\n }\n }\n\n .photo {\n display: flex;\n margin-top: 5px;\n\n .loading{\n align-self flex-end\n padding 0 5px\n span{\n background none !important\n color: #999 !important\n }\n }\n\n .img-content{\n border-radius: 5px;\n width: 200px;\n overflow hidden\n }\n\n img {\n cursor: pointer;\n width: 100%;\n height 100%\n display: inline;\n }\n }\n\n .knowledge {\n display: flex;\n margin-top: 5px;\n justify-content: flex-end;\n\n .content {\n display: flex;\n flex-direction: column;\n padding: 5px;\n border-radius: 5px;\n color: #666;\n text-align: left;\n background-color: #eef4f9;\n\n .title {\n font-size: 13px;\n font-weight: 500;\n }\n\n .item {\n font-size: 13px;\n line-height: 22px;\n }\n }\n }\n\n .system {\n display: flex;\n margin-top: 5px;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n em{\n margin-top: 5px;\n font-size: 12px;\n color: #999;\n }\n span {\n font-size: 12px;\n max-width: 50%;\n min-width: 100px;\n display: inline;\n padding: 3px 20px;\n border-radius: 5px;\n text-align: center;\n background-color: #f2f2f2;\n color: #999;\n }\n }\n\n &.self {\n text-align: right;\n\n .user-date {\n display: flex;\n justify-content: flex-end;\n\n span {\n order: -2;\n }\n\n em {\n order: -3;\n }\n }\n\n .text, .photo {\n justify-content: flex-end;\n align-items flex-end\n .cancel-btn{\n color #26a2ff\n font-size 12px\n margin-right 5px\n cursor pointer\n }\n span {\n background-color: rgba(33, 150, 243, 0.72);\n color: #fff;\n text-align left\n }\n }\n\n .knowledge>.content {\n background-color: rgba(33, 150, 243, 0.72);\n color: #fff;\n }\n }\n }\n}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./chats.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./chats.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./chats.vue?vue&type=template&id=3d81ef40&scoped=true&\"\nimport script from \"./chats.vue?vue&type=script&lang=js&\"\nexport * from \"./chats.vue?vue&type=script&lang=js&\"\nimport style0 from \"./chats.vue?vue&type=style&index=0&id=3d81ef40&scoped=true&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d81ef40\",\n null\n \n)\n\nexport default component.exports","<template>\n <div class=\"record-page\">\n <div class=\"record-mini-im-head\">\n <span>\n <i class=\"el-icon-time\"></i>\n <span slot=\"title\">服务记录</span>\n </span>\n </div>\n <el-divider />\n <div class=\"search\">\n <el-row :gutter=\"20\">\n <el-col style=\"width: 120px\">\n <el-form ref=\"form\" label-width=\"120px\">\n <el-form-item :label=\"adminInfo.root == 1 ? '按客服:' : '按日期:'\"></el-form-item>\n </el-form>\n </el-col>\n <el-col v-if=\"adminInfo.root == 1\" :span=\"3\">\n <el-select v-model=\"selectCustomerId\" @change=\"refreshRecord\" placeholder=\"请选择客服\">\n <el-option\n v-for=\"item in customerData\"\n :key=\"item.id\"\n :label=\"item.nickname\"\n :value=\"item.id\"\n ></el-option>\n </el-select>\n </el-col>\n <el-col :span=\"5.5\">\n <el-date-picker\n v-model=\"selectDate\"\n align=\"right\"\n type=\"date\"\n @change=\"refreshRecord\"\n placeholder=\"选择日期\"\n :picker-options=\"pickerOptions\">\n </el-date-picker>\n </el-col>\n <el-col :span=\"5.5\">\n <el-checkbox v-model=\"isDeWeighting\" label=\"去重目标客户\" @change=\"refreshRecord\" border></el-checkbox>\n </el-col>\n <el-col :span=\"5.5\">\n <el-checkbox v-model=\"isReception\" label=\"只显示未接待客户\" @change=\"refreshRecord\" border></el-checkbox>\n </el-col>\n </el-row>\n </div>\n <el-table :data=\"tableData.list\" v-loading=\"loading\" style=\"width: 100%\">\n <el-table-column\n type=\"index\"\n :index=\"indexMethod\"\n label=\"#序号\"\n width=\"60\">\n </el-table-column>\n <el-table-column prop=\"service_account\" label=\"接待客服\">\n <template slot-scope=\"scope\">\n <span>{{serviceNickname(scope.row.service_account)}}</span>\n </template>\n </el-table-column>\n <el-table-column prop=\"nickname\" label=\"目标客户\">\n <template slot-scope=\"scope\">\n <el-tag type=\"success\">{{scope.row.nickname}}</el-tag>\n </template>\n </el-table-column>\n <el-table-column prop=\"is_reception\" label=\"是否已接待\">\n <template slot-scope=\"scope\">\n <el-tag v-show=\"scope.row.is_reception == 0\" type=\"danger\">未接待</el-tag>\n <el-tag v-show=\"scope.row.is_reception == 1\" type=\"success\">已接待</el-tag>\n </template>\n </el-table-column>\n <el-table-column prop=\"transfer_account\" label=\"满意度\">\n <template>\n <span>-----</span>\n </template>\n </el-table-column>\n <el-table-column prop=\"platform\" label=\"客户端平台\">\n <template slot-scope=\"scope\">\n <el-tag>{{$getPlatformItem(scope.row.platform).title}}</el-tag>\n </template>\n </el-table-column>\n <el-table-column prop=\"create_at\" label=\"服务时间\">\n <template slot-scope=\"scope\">\n {{$formatUnixDate(scope.row.create_at, \"YYYY/MM/DD HH:mm:ss\")}}\n </template>\n </el-table-column>\n <el-table-column prop=\"operating\" align=\"center\" label=\"操作\" width=\"150\">\n <template slot-scope=\"scope\">\n <el-button size=\"mini\" @click=\"openModal(scope)\">聊天记录</el-button>\n </template>\n </el-table-column>\n </el-table>\n <el-row type=\"flex\" style=\"margin-top: 20px;\" justify=\"space-between\">\n <span style=\"color:#666;font-size: 14px;\">共找到{{tableData.total}}条数据</span>\n <el-pagination\n background\n @size-change=\"handleSizeChange\"\n @current-change=\"handleCurrentChange\"\n layout=\"sizes, prev, pager, next\"\n :current-page=\"tableData.page_on\"\n :page-sizes=\"[5, 10, 15, 20]\"\n :total=\"tableData.total\">\n </el-pagination>\n </el-row>\n\n\n <!-- 聊天数据模态框 -->\n <el-dialog :visible.sync=\"dialogFormVisible\">\n <div slot=\"title\" class=\"dialog-title\">\n <div style=\"color: #666\">\n <span style=\"color: #e6a23c\">{{serviceNickname(selectUser.service_account)}}</span>\n 与\n <span style=\"color: #67c23a\">{{selectUser.nickname}}</span>\n 的聊天记录\n </div>\n </div>\n <div class=\"record-modal-chat-box\" ref=\"chatBody\" id=\"chatBody\">\n <ChatsComponent\n :isMessageEnd=\"isMessageEnd\"\n :seviceId=\"selectCustomerId+''\"\n :seviceNickname=\"serviceNickname(selectUser.service_account)\"\n :messages=\"messageRecord.list\"\n :userId=\"selectUser.user_account\"\n :userNickname=\"selectUser.nickname\"\n :onLoadMor=\"onLoadMor\"\n :loading=\"getMessageRecordLoading\"/>\n </div>\n </el-dialog>\n\n\n </div>\n</template>\n\n<script>\nimport axios from 'axios'\nvar moment = require('moment');\nimport ChatsComponent from \"./chats\"\nexport default {\n name: \"robot\",\n components:{\n ChatsComponent\n },\n data() {\n return {\n loading: true,\n isDeWeighting: false,\n isReception: false,\n selectDate: Date.now(),\n tableData: {\n list: [],\n page_on: 1,\n page_size: 10,\n cid: 0,\n total: 0,\n is_de_weighting: false,\n date: \"\",\n },\n customerData: [{id:0, nickname: \"全部\"}],\n selectCustomerId: null,\n selectUser: {},\n pickerOptions: {\n disabledDate(time) {\n return time.getTime() > Date.now();\n },\n shortcuts: [{\n text: '今天',\n onClick(picker) {\n picker.$emit('pick', new Date());\n }\n }, {\n text: '昨天',\n onClick(picker) {\n const date = new Date();\n date.setTime(date.getTime() - 3600 * 1000 * 24);\n picker.$emit('pick', date);\n }\n }, {\n text: '一周前',\n onClick(picker) {\n const date = new Date();\n date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);\n picker.$emit('pick', date);\n }\n }]\n },\n isMessageEnd: false,\n\n // 模态框数据\n getMessageRecordLoading: false,\n getMessageRecordPageSize: 20,\n dialogFormVisible: false,\n messageRecord: {\n list: []\n },\n isFirstRequestMessageEnd: false,\n\n\n };\n },\n computed: {\n platformConfig(){\n return this.$store.getters.platformConfig\n },\n adminInfo(){\n return this.$store.getters.adminInfo\n }\n },\n created() {\n this.getAdmins()\n },\n mounted(){\n setTimeout(() =>{\n this.selectCustomerId = this.adminInfo.id\n this.getRecord(1)\n }, 1000)\n },\n methods: {\n // 行号\n indexMethod(index) {\n return (this.tableData.page_on - 1) * this.tableData.page_size + index +1;\n },\n // 改变每页条数\n handleSizeChange(val) {\n this.tableData.page_size = val\n this.getRecord()\n },\n // 分页\n handleCurrentChange(val) {\n this.tableData.page_on = val\n this.getRecord()\n },\n // 获取客服昵称\n serviceNickname(id){\n let nickname = \"\"\n for(let i =0; i< this.customerData.length; i++){\n if(this.customerData[i].id == id){\n nickname = this.customerData[i].nickname\n break\n }\n }\n return nickname\n },\n // 获取数据\n getAdmins(){\n axios.post('/admin/list', {page_on: 1, page_size: 100, \"online\": 3})\n .then(response => {\n this.customerData = this.customerData.concat(response.data.data.list)\n })\n .catch(error => {\n this.$message.error(error.response.data.message)\n });\n },\n // 获取数据\n getRecord(index){\n this.loading = true\n if(index) this.tableData.page_on = index\n const {page_on, page_size} = this.tableData\n axios.post('/services_statistical/list', {\n page_on,\n page_size,\n cid: this.selectCustomerId,\n date: moment(this.selectDate).format(\"YYYY-MM-DD\"),\n is_de_weighting: this.isDeWeighting,\n is_reception: this.isReception\n })\n .then(response => {\n this.loading = false\n this.tableData = response.data.data\n })\n .catch(error => {\n this.loading = false\n this.$message.error(error.response.data.message)\n });\n },\n // 刷新记录\n refreshRecord(){\n this.getRecord()\n },\n // 打开模态框\n openModal(scope){\n this.selectUser = scope.row\n this.isMessageEnd = false\n this.isFirstRequestMessageEnd = false\n this.dialogFormVisible = true\n this.messageRecord = {\n list: []\n }\n this.getMessageRecord()\n },\n // 获取聊天记录\n getMessageRecord(timestamp){\n this.getMessageRecordLoading = true\n if(timestamp == undefined){\n timestamp = 0\n }\n axios.post('/message/list', {\n \"timestamp\": timestamp,\n \"page_size\": this.getMessageRecordPageSize,\n \"service\": parseInt(this.selectCustomerId),\n \"account\": parseInt(this.selectUser.user_account)\n })\n .then(response => {\n this.getMessageRecordLoading = false\n let messages = response.data.data.list\n for(var i=0; i<messages.length; i++){\n messages[i].payload = window.Base64.decode(messages[i].payload)\n }\n if(messages.length < this.getMessageRecordPageSize){\n this.isFirstRequestMessageEnd = true\n }\n if(messages.length == 0 || timestamp == 0){\n this.messageRecord = response.data.data\n this.scrollIntoBottom()\n }else{\n response.data.data.list = messages.concat(this.messageRecord.list)\n this.messageRecord = response.data.data\n }\n setTimeout(()=>this.$previewRefresh(), 500)\n })\n .catch(error => {\n console.log(error)\n this.getMessageRecordLoading = false\n });\n },\n // 获取聊天记录\n getHistoryMessageRecord(timestamp){\n this.getMessageRecordLoading = true\n if(timestamp == undefined || timestamp == 0){\n this.isMessageEnd = true\n return\n }\n axios.post('/message/history', {\n \"timestamp\": timestamp,\n \"page_size\": this.getMessageRecordPageSize,\n \"service\": parseInt(this.selectCustomerId),\n \"account\": parseInt(this.selectUser.user_account)\n })\n .then(response => {\n let messages = response.data.data.list\n for(var i=0; i<messages.length; i++){\n messages[i].payload = window.Base64.decode(messages[i].payload)\n }\n this.getMessageRecordLoading = false\n if(messages.length < this.getMessageRecordPageSize){\n this.isMessageEnd = true\n }\n\nresponse.data.data.list = messages.concat(this.messageRecord.list)\n this.messageRecord = response.data.data\n setTimeout(()=>this.$previewRefresh(), 1000)\n })\n .catch(() => {\n this.getMessageRecordLoading = false\n });\n },\n // 加载更多数据\n onLoadMor(){\n if(this.getMessageRecordLoading) return\n if(this.isFirstRequestMessageEnd){\n this.getHistoryMessageRecord(this.messageRecord.list[0].timestamp)\n }else{\n this.getMessageRecord(this.messageRecord.list[0].timestamp)\n }\n setTimeout(()=>{\n var chatBody = document.getElementById(\"chatBody\")\n chatBody.scrollTop = 500\n }, 50)\n },\n // 滚动条置底\n scrollIntoBottom(){\n try{\n setTimeout(()=>{\n var chatBody = document.getElementById(\"chatBody\")\n if(!chatBody) return\n var height = chatBody.clientHeight\n var scrollHeight = chatBody.scrollHeight\n chatBody.scrollTop = scrollHeight-height\n }, 50)\n }catch(e){\n console.log(e)\n }\n },\n }\n};\n</script>\n<style lang=\"stylus\">\n .record-page .record-mini-im-head {\n height: 30px;\n display: flex;\n align-items: center;\n font-size: 20px;\n justify-content: space-between;\n color: #666;\n\n i {\n margin-right: 5px;\n }\n }\n .record-page .record-modal-chat-box{\n height 600px;\n padding 0 20px\n overflow hidden\n overflow-y auto\n }\n .record-page .el-dialog__body{\n padding: 0px;\n border-top: 1px solid #f7f7f7\n }\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=66da99b8&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./chats.vue?vue&type=style&index=0&id=3d81ef40&scoped=true&lang=stylus&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./chats.vue?vue&type=style&index=0&id=3d81ef40&scoped=true&lang=stylus&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=stylus&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=stylus&\""],"sourceRoot":""}
\ No newline at end of file
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
package services
import (
"kefu_server/models"
"strconv"
"strings"
"time"
"github.com/astaxie/beego/logs"
"github.com/astaxie/beego/orm"
)
// FlowStatisticalRepositoryInterface interface
type FlowStatisticalRepositoryInterface interface {
GetCounter(startDate string, endDate string) ([]orm.Params, error)
Increment(platform int64, uid int64)
}
// FlowStatisticalRepository struct
type FlowStatisticalRepository struct {
BaseRepository
}
// GetFlowStatisticalRepositoryInstance get instance
func GetFlowStatisticalRepositoryInstance() *FlowStatisticalRepository {
instance := new(FlowStatisticalRepository)
instance.Init(new(models.FlowStatistical))
return instance
}
// Increment add counter
func (r *FlowStatisticalRepository) Increment(platform int64, uid int64) {
uidStr := strconv.FormatInt(uid, 10)
// transform date
layoutDate := "2006-01-02 15:04:05"
loc, _ := time.LoadLocation("Local")
dateStartString := time.Now().Format("2006-01-02") + " 00:00:00"
dateEndString := time.Now().Format("2006-01-02") + " 23:59:59"
dateStart, _ := time.ParseInLocation(layoutDate, dateStartString, loc)
dateEnd, _ := time.ParseInLocation(layoutDate, dateEndString, loc)
var flowStatistical models.FlowStatistical
err := r.q.Filter("platform", platform).Filter("date__gte", dateStart.Unix()).Filter("date__lte", dateEnd.Unix()).One(&flowStatistical)
if err != nil {
logs.Warn("Increment add counter------------", err, dateStart, dateEnd)
_, err := r.o.Insert(&models.FlowStatistical{
Date: time.Now().Unix(),
Platform: platform,
Count: 1,
Users: uidStr + "|",
})
if err != nil {
logs.Warn("Increment Insert err------------", err, dateStart, dateEnd)
}
return
}
if !strings.Contains(flowStatistical.Users, uidStr) {
flowStatistical.Users = flowStatistical.Users + uidStr + "|"
flowStatistical.Count = flowStatistical.Count + 1
_, err := r.o.Update(&flowStatistical)
if err != nil {
logs.Warn("Increment Update err------------", err, dateStart, dateEnd)
}
}
}
// GetCounter get counter
func (r *FlowStatisticalRepository) GetCounter(startDate string, endDate string) ([]orm.Params, error) {
// transform date
layoutDate := "2006-01-02 15:04:05"
loc, _ := time.LoadLocation("Local")
dateStartString := startDate + " 00:00:00"
dateEndString := endDate + " 23:59:59"
dateStart, _ := time.ParseInLocation(layoutDate, dateStartString, loc)
dateEnd, _ := time.ParseInLocation(layoutDate, dateEndString, loc)
var statisticalData []orm.Params
_, err := r.o.Raw("SELECT p.id platform,p.title, IFNULL(f.count,0) AS `count` FROM platform as p LEFT JOIN (SELECT platform,SUM(count) AS `count` FROM `flow_statistical` WHERE date BETWEEN ? AND ? GROUP BY platform) f ON p.id = f.platform ORDER BY platform ASC", dateStart.Unix(), dateEnd.Unix()).Values(&statisticalData)
if err != nil {
logs.Warn("GetCounter get counter------------", err)
return []orm.Params{}, err
}
return statisticalData, nil
}
......@@ -4,6 +4,7 @@ import (
"errors"
"kefu_server/models"
"math"
"strconv"
"time"
"github.com/astaxie/beego/logs"
......@@ -14,7 +15,6 @@ import (
type StatisticalRepositoryInterface interface {
Add(servicesStatistical *models.ServicesStatistical) (int64, error)
GetStatisticals(startDate string, endDate string) (map[string]interface{}, error)
GetFlowStatistical(startDate string, endDate string) ([]orm.Params, error)
GetCustomerServiceList(request models.ServicesStatisticalPaginationDto) models.ServicesStatisticalPaginationDto
CheckIsReplyAndSetReply(uid int64, aid int64, platform int64)
}
......@@ -59,7 +59,12 @@ func (r *StatisticalRepository) GetCustomerServiceList(request models.ServicesSt
INReception = "0"
}
if err := r.o.Raw("SELECT "+addSQL+" AS `count` FROM services_statistical AS s INNER JOIN (SELECT * FROM `user`) AS u ON s.user_account = u.id AND s.service_account = ? AND s.create_at > ? AND s.create_at < ? AND is_reception IN("+INReception+")", request.Cid, startDate.Unix(), endDate.Unix()).QueryRow(&totalModel); err != nil {
serviceAccount := " "
if request.Cid != 0 {
serviceAccount = " s.service_account = " + strconv.FormatInt(request.Cid, 10) + " AND "
}
if err := r.o.Raw("SELECT "+addSQL+" AS `count` FROM services_statistical AS s INNER JOIN (SELECT * FROM `user`) AS u ON s.user_account = u.id AND "+serviceAccount+" s.create_at > ? AND s.create_at < ? AND is_reception IN("+INReception+")", startDate.Unix(), endDate.Unix()).QueryRow(&totalModel); err != nil {
logs.Warn("GetCustomerServiceList get Customer Service List1------------", err)
}
request.Total = totalModel.Count
......@@ -70,7 +75,7 @@ func (r *StatisticalRepository) GetCustomerServiceList(request models.ServicesSt
addSQL1 = " GROUP BY `user_account` "
}
if counter, err := r.o.Raw("SELECT s.id, s.user_account, s.service_account,s.create_at,s.is_reception, s.transfer_account,s.platform,u.nickname FROM services_statistical AS s INNER JOIN (SELECT * FROM `user` ) AS u ON s.user_account = u.id AND s.service_account = ? AND s.create_at > ? AND s.create_at < ? AND is_reception IN("+INReception+") "+addSQL1+" ORDER BY s.create_at DESC LIMIT ?,?", request.Cid, startDate.Unix(), endDate.Unix(), (request.PageOn-1)*request.PageSize, request.PageSize).Values(&params); counter <= 0 {
if counter, err := r.o.Raw("SELECT s.id, s.user_account, s.service_account,s.create_at,s.is_reception, s.transfer_account,s.platform,u.nickname FROM services_statistical AS s INNER JOIN (SELECT * FROM `user` ) AS u ON s.user_account = u.id AND "+serviceAccount+" s.create_at > ? AND s.create_at < ? AND is_reception IN("+INReception+") "+addSQL1+" ORDER BY s.create_at DESC LIMIT ?,?", startDate.Unix(), endDate.Unix(), (request.PageOn-1)*request.PageSize, request.PageSize).Values(&params); counter <= 0 {
logs.Warn("GetCustomerServiceList get Customer Service List2------------", err)
request.List = []string{}
return request
......@@ -144,25 +149,6 @@ func (r *StatisticalRepository) GetStatisticals(startDate string, endDate string
return countsArr, nil
}
// GetFlowStatistical get Today Action Statistical
func (r *StatisticalRepository) GetFlowStatistical(startDate string, endDate string) ([]orm.Params, error) {
// transform date
layoutDate := "2006-01-02 15:04:05"
loc, _ := time.LoadLocation("Local")
dateStartString := startDate + " 00:00:00"
dateEndString := endDate + " 23:59:59"
dateStart, _ := time.ParseInLocation(layoutDate, dateStartString, loc)
dateEnd, _ := time.ParseInLocation(layoutDate, dateEndString, loc)
var statisticalData []orm.Params
_, err := r.o.Raw("SELECT p.id platform,p.title, IFNULL(u.count,0) AS `count` FROM platform as p LEFT JOIN (SELECT platform,COUNT(*) AS count FROM `user` WHERE last_activity BETWEEN ? AND ? GROUP BY platform) u ON p.id = u.platform", dateStart.Unix(), dateEnd.Unix()).Values(&statisticalData)
if err != nil {
logs.Warn("GetFlowStatistical get Today Action Statistical------------", err)
return nil, err
}
return statisticalData, nil
}
// CheckIsReplyAndSetReply cehck is reply and set reply
func (r *StatisticalRepository) CheckIsReplyAndSetReply(userAccount int64, serviceAccount int64, userPlatform int64) {
var servicesStatistical models.ServicesStatistical
......
......@@ -151,7 +151,7 @@ export default {
is_de_weighting: false,
date: "",
},
customerData: [],
customerData: [{id:0, nickname: "全部"}],
selectCustomerId: null,
selectUser: {},
pickerOptions: {
......@@ -240,7 +240,7 @@ export default {
getAdmins(){
axios.post('/admin/list', {page_on: 1, page_size: 100, "online": 3})
.then(response => {
this.customerData = response.data.data.list
this.customerData = this.customerData.concat(response.data.data.list)
})
.catch(error => {
this.$message.error(error.response.data.message)
......
......@@ -2,6 +2,6 @@ module.exports = {
publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
outputDir: '../../public/admin/',
devServer: {
proxy: 'http://im.cmp520.com',
proxy: 'http://localhost:8088',
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment