diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9032303bc..f93980b18 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,21 +2,23 @@
All notable changes to this project will be documented in this file.
+## [0.31.5]
+
+### Bug Fixes
+
+- OKR组新增/删除人员传输格式兼容
+- 任务列表更新数量不正确的情况
+
+### Performance
+
+- 优化滚动条导致页面抖动的情况
+
## [0.30.13]
### Bug Fixes
- 消息列表过大导致无法查看图片
- 桌面端drawio版本错误
-
-### Performance
-
-- 优化菜单颜色选择
-
-## [0.30.6]
-
-### Bug Fixes
-
- 无法在任务新窗口打开引用的任务
- 在任务新窗口使用显示文件窗口错误的情况
- 部分iOS系统按录音时页面闪烁的情况
@@ -30,8 +32,15 @@ All notable changes to this project will be documented in this file.
- 打开工作流设置后无法关闭桌面客户端的问题
- 打不开已归档任务的情况
+### Features
+
+- 新增适用OKR评论不在成员列表内也能显示聊天记录
+- 新增适用默认部门下第1级负责人才能添加部门OKR
+- 新增OKR图标和task图标对等显示
+
### Performance
+- 优化菜单颜色选择
- 升级客户端框架
- 优化工作汇报提交表单
- 优化确认框按钮样式
@@ -69,6 +78,10 @@ All notable changes to this project will be documented in this file.
- 修复用户列表默认排序
- 1. 审批通知模版 - 按钮白色修复 2. 审批详情样式相等 3. 审批评论 - 0分钟换成刚刚 4. 没有加入部门也能发起 审批申请 5. 审批流程设置页 - 样式调整
+### Features
+
+- 新增多部门用户查询
+
### Performance
- 管理员可以修改系统机器人基本资料
@@ -81,6 +94,7 @@ All notable changes to this project will be documented in this file.
### Bug Fixes
- 修复无法从任务消息对话中打开任务详情的情况
+- 去掉test信息
- 按照dootask启动原始尺寸截取使用说明的图
- 修改边栏目录滚动效果
- 修改边栏目录滚动效果
@@ -90,6 +104,10 @@ All notable changes to this project will be documented in this file.
### Features
+- 新增创建聊天关联id
+- 新增创建聊天关联id
+- Okr信息面板新增"打开OKR"按钮
+- 新增OKR信息推送
- 增加获取更新日志接口,更改前端页面默认请求地址
- 使用说明提交
diff --git a/package.json b/package.json
index 13a53c6eb..e54bd4274 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "DooTask",
- "version": "0.30.13",
+ "version": "0.31.5",
"description": "DooTask is task management system.",
"scripts": {
"start": "./cmd dev",
diff --git a/public/images/application/app-push.svg b/public/images/application/app-push.svg
index 23d67cb70..834c54045 100644
--- a/public/images/application/app-push.svg
+++ b/public/images/application/app-push.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/public/images/application/approve.svg b/public/images/application/approve.svg
index 43b11ce10..dbb2770a6 100644
--- a/public/images/application/approve.svg
+++ b/public/images/application/approve.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/public/images/application/ldap.svg b/public/images/application/ldap.svg
index d4ac17dc0..e575d7ef7 100644
--- a/public/images/application/ldap.svg
+++ b/public/images/application/ldap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/public/images/application/mail.svg b/public/images/application/mail.svg
index 2ac06af37..3a48cf463 100644
--- a/public/images/application/mail.svg
+++ b/public/images/application/mail.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/public/images/application/meeting-create.svg b/public/images/application/meeting-create.svg
index c1d209e64..a4dc37cd6 100644
--- a/public/images/application/meeting-create.svg
+++ b/public/images/application/meeting-create.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/public/images/application/meeting.svg b/public/images/application/meeting.svg
index c1d209e64..a4dc37cd6 100644
--- a/public/images/application/meeting.svg
+++ b/public/images/application/meeting.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/public/images/application/report.svg b/public/images/application/report.svg
index 7ad49933c..30497e0f2 100644
--- a/public/images/application/report.svg
+++ b/public/images/application/report.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/public/images/application/robot.svg b/public/images/application/robot.svg
index 801356ba6..3cd3c5e0a 100644
--- a/public/images/application/robot.svg
+++ b/public/images/application/robot.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/public/images/application/signin.svg b/public/images/application/signin.svg
index 78caec255..8df06b244 100644
--- a/public/images/application/signin.svg
+++ b/public/images/application/signin.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/public/images/avatar/default_meeting.png b/public/images/avatar/default_meeting.png
index 1777f815f..1111eaf58 100644
Binary files a/public/images/avatar/default_meeting.png and b/public/images/avatar/default_meeting.png differ
diff --git a/public/images/avatar/default_okr.png b/public/images/avatar/default_okr.png
new file mode 100644
index 000000000..7b8a50366
Binary files /dev/null and b/public/images/avatar/default_okr.png differ
diff --git a/public/js/build/404.2df04b63.js b/public/js/build/404.de29fade.js
similarity index 87%
rename from public/js/build/404.2df04b63.js
rename to public/js/build/404.de29fade.js
index 570b3f9fa..a47d1b660 100644
--- a/public/js/build/404.2df04b63.js
+++ b/public/js/build/404.de29fade.js
@@ -1 +1 @@
-import{n}from"./app.62942df0.js";var r=function(){var e=this,t=e.$createElement;return e._self._c,e._m(0)},a=[function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"page-404"},[s("div",{staticClass:"flex-center position-ref full-height"},[s("div",{staticClass:"code"},[e._v("404")]),s("div",{staticClass:"message"},[e._v("Not Found")])])])}];const i={},_={};var o=n(i,r,a,!1,c,"7d7154a8",null,null);function c(e){for(let t in _)this[t]=_[t]}var v=function(){return o.exports}();export{v as default};
+import{n}from"./app.2163cd94.js";var r=function(){var e=this,t=e.$createElement;return e._self._c,e._m(0)},a=[function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"page-404"},[s("div",{staticClass:"flex-center position-ref full-height"},[s("div",{staticClass:"code"},[e._v("404")]),s("div",{staticClass:"message"},[e._v("Not Found")])])])}];const i={},_={};var o=n(i,r,a,!1,c,"7d7154a8",null,null);function c(e){for(let t in _)this[t]=_[t]}var v=function(){return o.exports}();export{v as default};
diff --git a/public/js/build/AceEditor.d782357c.js b/public/js/build/AceEditor.3445dfdf.js
similarity index 98%
rename from public/js/build/AceEditor.d782357c.js
rename to public/js/build/AceEditor.3445dfdf.js
index c6b0ffc40..ae1eb7b72 100644
--- a/public/js/build/AceEditor.d782357c.js
+++ b/public/js/build/AceEditor.3445dfdf.js
@@ -1 +1 @@
-import{m as h,n as l}from"./app.62942df0.js";const d={name:"AceEditor",props:{value:{default:""},options:{type:Object,default:()=>({})},theme:{type:String,default:"auto"},ext:{type:String,default:"txt"},height:{type:Number||null,default:null},width:{type:Number||null,default:null},wrap:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1}},render(e){return e("div",{class:"no-dark-content"})},data:()=>({code:"",editor:null,cursorPosition:{row:0,column:0},supportedModes:{Apache_Conf:["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],BatchFile:["bat|cmd"],C_Cpp:["cpp|c|cc|cxx|h|hh|hpp|ino"],CSharp:["cs"],CSS:["css"],Dockerfile:["^Dockerfile"],golang:["go|golang"],HTML:["html|htm|xhtml|vue|we|wpy"],Java:["java"],JavaScript:["js|jsm|jsx"],JSON:["json"],JSP:["jsp"],LESS:["less"],Lua:["lua"],Makefile:["^Makefile|^GNUmakefile|^makefile|^OCamlMakefile|make"],Markdown:["md|markdown"],MySQL:["mysql"],Nginx:["nginx|conf"],INI:["ini|conf|cfg|prefs"],ObjectiveC:["m|mm"],Perl:["pl|pm"],Perl6:["p6|pl6|pm6"],pgSQL:["pgsql"],PHP_Laravel_blade:["blade.php"],PHP:["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],Powershell:["ps1"],Python:["py"],R:["r"],Ruby:["rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile"],Rust:["rs"],SASS:["sass"],SCSS:["scss"],SH:["sh|bash|^.bashrc"],SQL:["sql"],SQLServer:["sqlserver"],Swift:["swift"],Text:["txt"],Typescript:["ts|typescript|str"],VBScript:["vbs|vb"],Verilog:["v|vh|sv|svh"],XML:["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl|xaml|plist"],YAML:["yaml|yml"],Compress:["tar|zip|7z|rar|gz|arj|z"],images:["icon|jpg|jpeg|webp|png|bmp|gif|tif|emf"]}}),mounted(){$A.loadScriptS(["js/ace/ace.js","js/ace/mode-json.js"]).then(e=>{this.setSize(this.$el,{height:this.height,width:this.width}),this.editor=window.ace.edit(this.$el,{wrap:this.wrap,showPrintMargin:!1,readOnly:this.readOnly,keyboardHandler:"vscode"}),this.editor.session.setMode(`ace/mode/${this.getFileMode()}`),this.$emit("mounted",this.editor),this.editor.session.$worker&&this.editor.session.$worker.addEventListener("annotate",this.workerMessage,!1),this.setValue(this.value),this.editor.setOptions(this.options),this.editTheme&&this.editor.setTheme(`ace/theme/${this.editTheme}`),this.editor.commands.addCommand({name:"\u4FDD\u5B58\u6587\u4EF6",bindKey:{win:"Ctrl-S",mac:"Command-S"},exec:()=>{this.$emit("saveData")},readOnly:!1}),this.editor.getSession().on("change",()=>{this.code=this.editor.getValue(),this.$emit("input",this.code)})})},methods:{workerMessage({data:e}){this.cursorPosition=this.editor.selection.getCursor();const[t]=e;t&&t.type==="error"?this.$emit("validationFailed",t):this.$emit("change",this.editor.getValue())},setSize(e,{width:t=this.width,height:s=this.height}){e.style.width=t&&typeof t=="number"?`${t}px`:"100%",e.style.height=s&&typeof s=="number"?`${s}px`:"100%",this.$nextTick(()=>this.editor&&this.editor.resize())},setValue(e){typeof e=="string"&&this.editor&&(this.editor.setValue(e),this.editor.clearSelection())},getFileMode(){var e=this.ext||"text";for(var t in this.supportedModes)for(var s=this.supportedModes[t],r=s[0].split("|"),a=t.toLowerCase(),i=0;i `+Pa.renderToString(c,n)+" ${ui(c)} \s*([\uD800-\uDBFF][\uDC00-\uDFFF]){1,3}\s*<\/p>\s*$/.test(n.text))&&a.push("transparent"),a},contentClass(){const{type:e,msg:t}=this.msgData,n=[];return e==="text"&&(/^ \s*([\uD800-\uDBFF][\uDC00-\uDFFF]){3}\s*<\/p>\s*$/.test(t.text)?n.push("three-emoji"):/^\s* \s*([\uD800-\uDBFF][\uDC00-\uDFFF]){2}\s*<\/p>\s*$/.test(t.text)?n.push("two-emoji"):/^\s* \s*[\uD800-\uDBFF][\uDC00-\uDFFF]\s*<\/p>\s*$/.test(t.text)&&n.push("an-emoji")),n}},watch:{operateAction(e){this.operateEnter=!1,e&&setTimeout(t=>this.operateEnter=!0,500)}},methods:{handleLongpress(e,t){this.$emit("on-longpress",{event:e,el:t,msgData:this.msgData})},openTodo(){if(!(this.todoLoad>0)){if(this.todoShow){this.todoShow=!1;return}this.todoLoad++,this.$store.dispatch("call",{url:"dialog/msg/todolist",data:{msg_id:this.msgData.id}}).then(({data:e})=>{this.todoList=e}).catch(()=>{this.todoList=[]}).finally(e=>{setTimeout(()=>{this.todoLoad--,this.todoShow=!0},100)})}},openReadPercentage(){if(!(this.percentageLoad>0)){if(this.percentageShow){this.percentageShow=!1;return}this.percentageLoad++,this.$store.dispatch("call",{url:"dialog/msg/readlist",data:{msg_id:this.msgData.id}}).then(({data:e})=>{this.percentageList=e}).catch(()=>{this.percentageList=[]}).finally(e=>{setTimeout(()=>{this.percentageLoad--,this.percentageShow=!0},100)})}},recordStyle(e){const{duration:t}=e;return{width:50+Math.min(180,Math.floor(t/150))+"px"}},recordDuration(e){const t=Math.floor(e/6e4),n=Math.floor(e/1e3)%60;return t>0?`${t}:${n}\u2033`:`${Math.max(1,n)}\u2033`},imageStyle(e){const{width:t,height:n}=e;if(t&&n){let r=220,a=220,l=t,u=n;return(t>r||n>a)&&(t>n?(l=r,u=n*(r/t)):(l=t*(a/n),u=a)),{width:l+"px",height:u+"px"}}return{}},playRecord(){this.operateVisible||this.$store.dispatch("audioPlay",this.msgData.msg.path)},openMeeting(){this.operateVisible||_i.Store.set("addMeeting",{type:"join",name:this.msgData.msg.name,meetingid:this.msgData.msg.meetingid,meetingdisabled:!0})},viewReply(){this.$emit("on-view-reply",{msg_id:this.msgData.id,reply_id:this.msgData.reply_id})},viewText(e){this.$emit("on-view-text",e,this.$refs.content)},viewFile(){this.$emit("on-view-file",this.msgData)},downFile(){this.$emit("on-down-file",this.msgData)},replyList(){this.$emit("on-reply-list",{msg_id:this.msgData.id})},onError(){this.$emit("on-error",this.msgData)},onEmoji(e){this.$emit("on-emoji",{msg_id:this.msgData.id,symbol:e})},onShowEmojiUser(e){this.$emit("on-show-emoji-user",e)}}},pl={};var RZ=Kt(CZ,TZ,yZ,!1,NZ,null,null,null);function NZ(e){for(let t in pl)this[t]=pl[t]}var OZ=function(){return RZ.exports}(),AZ=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:e.classArray},[e.source.type==="tag"?n("div",{staticClass:"dialog-tag",on:{click:e.onViewTag}},[n("div",{staticClass:"tag-user"},[n("UserAvatar",{attrs:{userid:e.source.userid,tooltipDisabled:e.source.userid==e.userId,"show-name":!0,"show-icon":!1}})],1),e._v(" "+e._s(e.$L(e.source.msg.action==="remove"?"\u53D6\u6D88\u6807\u6CE8":"\u6807\u6CE8\u4E86"))+' "'+e._s(e.$A.getMsgSimpleDesc(e.source.msg.data))+'" ')]):e.source.type==="todo"?n("div",{staticClass:"dialog-todo",on:{click:e.onViewTodo}},[n("div",{staticClass:"todo-user"},[n("UserAvatar",{attrs:{userid:e.source.userid,tooltipDisabled:e.source.userid==e.userId,"show-name":!0,"show-icon":!1}})],1),e._v(" "+e._s(e.$L(e.source.msg.action==="remove"?"\u53D6\u6D88\u5F85\u529E":e.source.msg.action==="done"?"\u5B8C\u6210":"\u8BBE\u5F85\u529E"))+' "'+e._s(e.$A.getMsgSimpleDesc(e.source.msg.data))+'" '),e.formatTodoUser(e.source.msg.data).length>0?n("div",{staticClass:"todo-users"},[n("span",[e._v(e._s(e.$L("\u7ED9")))]),e._l(e.formatTodoUser(e.source.msg.data),function(r,a){return[a<3?n("div",{staticClass:"todo-user"},[n("UserAvatar",{attrs:{userid:r,tooltipDisabled:r==e.userId,"show-name":!0,"show-icon":!1}})],1):a==3?n("div",{staticClass:"todo-user"},[e._v("+"+e._s(e.formatTodoUser(e.source.msg.data).length-3))]):e._e()]})],2):e._e()]):e.source.type==="notice"?n("div",{staticClass:"dialog-notice"},[e._v(" "+e._s(e.source.msg.notice)+" ")]):[n("div",{staticClass:"dialog-avatar"},[n("UserAvatar",{directives:[{name:"longpress",rawName:"v-longpress",value:{callback:e.onMention,delay:300},expression:"{callback: onMention, delay: 300}"}],attrs:{userid:e.source.userid,size:30,"tooltip-disabled":""},on:{"open-dialog":e.onOpenDialog}})],1),n("DialogView",{attrs:{"msg-data":e.source,"dialog-type":e.dialogData.type,"hide-percentage":e.hidePercentage,"hide-reply":e.hideReply,"operate-visible":e.operateVisible,"operate-action":e.operateVisible&&e.source.id===e.operateItem.id,"is-right-msg":e.isRightMsg},on:{"on-longpress":e.onLongpress,"on-view-reply":e.onViewReply,"on-view-text":e.onViewText,"on-view-file":e.onViewFile,"on-down-file":e.onDownFile,"on-reply-list":e.onReplyList,"on-error":e.onError,"on-emoji":e.onEmoji,"on-show-emoji-user":e.onShowEmojiUser}})]],2)},IZ=[];const DZ={name:"DialogItem",components:{DialogView:OZ},directives:{longpress:za},props:{source:{type:Object,default(){return{}}},dialogData:{type:Object,default(){return{}}},operateVisible:{type:Boolean,default:!1},operateItem:{type:Object,default(){return{}}},simpleView:{type:Boolean,default:!1},isMyDialog:{type:Boolean,default:!1},msgId:{type:Number,default:0}},data(){return{subscribe:null}},computed:{...Wn(["userId"]),isRightMsg(){return this.source.userid==this.userId},isReply(){return this.simpleView||this.msgId===this.source.id},hidePercentage(){return this.simpleView||this.isMyDialog||this.isReply},hideReply(){return this.simpleView||this.msgId>0},classArray(){return{"dialog-item":!0,"reply-item":this.isReply,self:this.isRightMsg}}},watch:{source:{handler(){this.msgRead()},immediate:!0},windowActive(e){e&&this.msgRead()}},methods:{msgRead(){!this.windowActive||this.$store.dispatch("dialogMsgRead",this.source)},formatTodoUser(e){if($A.isJson(e)){const{userids:t}=e;if(t)return t.split(",")}return[]},onViewTag(){this.onViewReply({msg_id:this.source.id,reply_id:this.source.msg.data.id})},onViewTodo(){this.onViewReply({msg_id:this.source.id,reply_id:this.source.msg.data.id})},onOpenDialog(e){this.dialogData.type=="group"&&this.$store.dispatch("openDialogUserid",e).then(t=>{this.goForward({name:"manage-messenger"})}).catch(({msg:t})=>{$A.modalError(t)})},onMention(){this.dispatch("on-mention",this.source)},onLongpress(e){this.dispatch("on-longpress",e)},onViewReply(e){this.dispatch("on-view-reply",e)},onViewText(e,t){this.dispatch("on-view-text",e,t)},onViewFile(e){this.dispatch("on-view-file",e)},onDownFile(e){this.dispatch("on-down-file",e)},onReplyList(e){this.dispatch("on-reply-list",e)},onError(e){this.dispatch("on-error",e)},onEmoji(e){this.dispatch("on-emoji",e)},onShowEmojiUser(e){this.dispatch("on-show-emoji-user",e)},dispatch(e,...t){if(this.isReply){this.$emit(e,...t);return}let n=this.$parent,r=n.$options.name;for(;n&&(!r||r!=="virtual-list");)n=n.$parent,n&&(r=n.$options.name);n&&n.$emit(e,...t)}}},ml={};var xZ=Kt(DZ,AZ,IZ,!1,wZ,null,null,null);function wZ(e){for(let t in ml)this[t]=ml[t]}var fl=function(){return xZ.exports}(),MZ=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Upload",{ref:"upload",attrs:{name:"files",action:e.actionUrl,headers:e.headers,data:e.params,multiple:"",format:e.uploadFormat,"show-upload-list":!1,"max-size":e.maxSize,"on-progress":e.handleProgress,"on-success":e.handleSuccess,"on-format-error":e.handleFormatError,"on-exceeded-size":e.handleMaxSize}})},LZ=[];const kZ={name:"DialogUpload",props:{dialogId:{type:Number,default:0},maxSize:{type:Number,default:1024e3}},data(){return{uploadFormat:[],actionUrl:$A.apiUrl("dialog/msg/sendfile")}},computed:{...Wn(["cacheDialogs"]),headers(){return{fd:$A.getSessionStorageString("userWsFd"),token:this.userToken}},params(){return{dialog_id:this.dialogId,reply_id:this.dialogData.extra_quote_id||0}},dialogData(){return this.cacheDialogs.find(({id:e})=>e==this.dialogId)||{}}},methods:{handleProgress(e,t){t.tempId===void 0&&(this.$parent.$options.name==="DialogWrapper"?t.tempId=this.$parent.getTempId():t.tempId=$A.randNum(1e9,9999999999),this.$emit("on-progress",t))},handleSuccess(e,t){e.ret===1?(t.data=e.data,this.$emit("on-success",t),e.data.task_id&&this.$store.dispatch("getTaskFiles",e.data.task_id)):($A.modalWarning({title:"\u53D1\u9001\u5931\u8D25",content:"\u6587\u4EF6 "+t.name+" \u53D1\u9001\u5931\u8D25\uFF0C"+e.msg}),this.$emit("on-error",t),this.$refs.upload.fileList.pop())},handleFormatError(e){$A.modalWarning({title:"\u6587\u4EF6\u683C\u5F0F\u4E0D\u6B63\u786E",content:"\u6587\u4EF6 "+e.name+" \u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u4EC5\u652F\u6301\u53D1\u9001\uFF1A"+this.uploadFormat.join(",")})},handleMaxSize(e){$A.modalWarning({title:"\u8D85\u51FA\u6587\u4EF6\u5927\u5C0F\u9650\u5236",content:"\u6587\u4EF6 "+e.name+" \u592A\u5927\uFF0C\u4E0D\u80FD\u53D1\u9001\u8D85\u8FC7"+$A.bytesToSize(this.maxSize*1024)+"\u3002"})},handleClick(){this.$refs.upload.handleClick()},upload(e){this.$refs.upload.upload(e)}}},gl={};var PZ=Kt(kZ,MZ,LZ,!1,BZ,null,null,null);function BZ(e){for(let t in gl)this[t]=gl[t]}var FZ=function(){return PZ.exports}(),UZ=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"dialog-group-info"},[n("div",{staticClass:"group-info-title"},[e._v(e._s(e.$L("\u7FA4\u540D")))]),n("div",{staticClass:"group-info-value"},[n("QuickEdit",{attrs:{value:e.dialogData.name,disabled:e.dialogData.owner_id!=e.userId},on:{"on-update":e.updateName}},[e._v(e._s(e.dialogData.name))])],1),n("div",{staticClass:"group-info-title"},[e._v(e._s(e.$L("\u7FA4\u7C7B\u578B")))]),n("div",{staticClass:"group-info-value"},[e._v(e._s(e.$L(e.groupType)))]),n("div",{staticClass:"group-info-search"},[n("Input",{attrs:{prefix:"ios-search",placeholder:e.$L("\u641C\u7D22\u6210\u5458"),clearable:""},model:{value:e.searchKey,callback:function(r){e.searchKey=r},expression:"searchKey"}})],1),n("div",{staticClass:"group-info-user"},[n("ul",[e._l(e.userList,function(r,a){return n("li",{key:a,on:{click:function(l){return e.openUser(r.userid)}}},[n("UserAvatar",{attrs:{userid:r.userid,size:32,showName:"",tooltipDisabled:""}}),r.userid===e.dialogData.owner_id?n("div",{staticClass:"user-tag"},[e._v(e._s(e.$L("\u7FA4\u4E3B")))]):e.operableExit(r)?n("div",{staticClass:"user-exit",on:{click:function(l){return l.stopPropagation(),e.onExit(r)}}},[n("Icon",{attrs:{type:"md-exit"}})],1):e._e()],1)}),e.userList.length===0?n("li",{staticClass:"no"},[e.loadIng>0?n("Loading"):n("span",[e._v(e._s(e.$L("\u6CA1\u6709\u7B26\u5408\u6761\u4EF6\u7684\u6570\u636E")))])],1):e._e()],2)]),e.operableAdd?n("div",{staticClass:"group-info-button"},[e.dialogData.owner_id==e.userId||e.dialogData.owner_id==0?n("Button",{attrs:{type:"primary",icon:"md-add"},on:{click:e.openAdd}},[e._v(e._s(e.$L("\u6DFB\u52A0\u6210\u5458")))]):e._e()],1):e._e(),n("Modal",{attrs:{title:e.$L("\u6DFB\u52A0\u7FA4\u6210\u5458"),"mask-closable":!1},model:{value:e.addShow,callback:function(r){e.addShow=r},expression:"addShow"}},[n("Form",{attrs:{model:e.addData,"label-width":"auto"},nativeOn:{submit:function(r){r.preventDefault()}}},[n("FormItem",{attrs:{prop:"userids",label:e.$L("\u65B0\u589E\u6210\u5458")}},[n("UserSelect",{attrs:{disabledChoice:e.addData.disabledChoice,"multiple-max":100,"show-bot":"",title:e.$L("\u9009\u62E9\u6210\u5458")},model:{value:e.addData.userids,callback:function(r){e.$set(e.addData,"userids",r)},expression:"addData.userids"}}),e.dialogData.group_type==="department"?n("div",{staticClass:"form-tip"},[e._v(e._s(e.$L("\u6B64\u64CD\u4F5C\u4EC5\u52A0\u5165\u7FA4\u6210\u5458\u5E76\u4E0D\u4F1A\u52A0\u5165\u90E8\u95E8")))]):e.dialogData.group_type==="project"?n("div",{staticClass:"form-tip"},[e._v(e._s(e.$L("\u6B64\u64CD\u4F5C\u4EC5\u52A0\u5165\u7FA4\u6210\u5458\u5E76\u4E0D\u4F1A\u52A0\u5165\u9879\u76EE")))]):e.dialogData.group_type==="task"?n("div",{staticClass:"form-tip"},[e._v(e._s(e.$L("\u6B64\u64CD\u4F5C\u4EC5\u52A0\u5165\u7FA4\u6210\u5458\u5E76\u4E0D\u4F1A\u52A0\u5165\u4EFB\u52A1\u8D1F\u8D23\u4EBA")))]):e._e()],1)],1),n("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[n("Button",{attrs:{type:"default"},on:{click:function(r){e.addShow=!1}}},[e._v(e._s(e.$L("\u53D6\u6D88")))]),n("Button",{attrs:{type:"primary",loading:e.addLoad>0},on:{click:e.onAdd}},[e._v(e._s(e.$L("\u786E\u5B9A\u6DFB\u52A0")))])],1)],1)],1)},GZ=[];const qZ={name:"DialogGroupInfo",components:{UserSelect:Ol},props:{dialogId:{type:Number,default:0}},data(){return{searchKey:"",loadIng:0,dialogUser:[],addShow:!1,addData:{},addLoad:0,openIng:!1}},computed:{...Wn(["cacheDialogs","cacheUserBasic","userIsAdmin"]),dialogData(){return this.cacheDialogs.find(({id:e})=>e==this.dialogId)||{}},groupType(){const{group_type:e}=this.dialogData;return e==="department"?"\u90E8\u95E8\u7FA4\u7EC4":e==="project"?"\u9879\u76EE\u7FA4\u7EC4":e==="task"?"\u4EFB\u52A1\u7FA4\u7EC4":e==="user"?"\u4E2A\u4EBA\u7FA4\u7EC4":e==="all"?"\u5168\u5458\u7FA4\u7EC4":"\u672A\u77E5"},userList(){const{dialogUser:e,searchKey:t,cacheUserBasic:n,dialogData:r}=this;return e.map(l=>{const u=n.find(c=>c.userid==l.userid);return u&&(l.nickname=u.nickname,l.email=u.email),l}).filter(l=>!(t&&l.nickname&&!$A.strExists(l.nickname,t)&&!$A.strExists(l.email,t))).sort((l,u)=>l.userid===r.owner_id||u.userid===r.owner_id?(l.userid===r.owner_id?0:1)-(u.userid===r.owner_id?0:1):$A.Date(l.created_at)-$A.Date(u.created_at))}},watch:{dialogId:{handler(){this.getDialogUser()},immediate:!0}},methods:{updateName(e,t){if(!e){t();return}this.$store.dispatch("call",{url:"dialog/group/edit",data:{dialog_id:this.dialogId,chat_name:e}}).then(({data:n})=>{this.$store.dispatch("saveDialog",n),t()}).catch(({msg:n})=>{$A.modalError(n),t()})},getDialogUser(){this.dialogId<=0||(this.loadIng++,this.$store.dispatch("call",{url:"dialog/user",data:{dialog_id:this.dialogId}}).then(({data:e})=>{this.dialogUser=e,this.$store.dispatch("saveDialog",{id:this.dialogId,people:e.length})}).catch(({msg:e})=>{$A.modalError(e)}).finally(e=>{this.loadIng--}))},operableAdd(){const{owner_id:e,group_type:t}=this.dialogData;return t=="all"?this.userIsAdmin:[0,this.userId].includes(e)},openAdd(){this.addData={dialog_id:this.dialogId,userids:[],disabledChoice:this.dialogUser.map(e=>e.userid)},this.addShow=!0},onAdd(){this.addLoad++,this.$store.dispatch("call",{url:"dialog/group/adduser",data:this.addData}).then(({msg:e})=>{$A.messageSuccess(e),this.addShow=!1,this.addData={},this.getDialogUser()}).catch(({msg:e})=>{$A.modalError(e)}).finally(e=>{this.addLoad--})},operableExit(e){const{owner_id:t,group_type:n}=this.dialogData;return n=="all"?this.userIsAdmin:t==this.userId||e.inviter==this.userId},onExit(e){let t="\u4F60\u786E\u5B9A\u8981\u9000\u51FA\u7FA4\u7EC4\u5417\uFF1F",n=[];$A.isJson(e)&&e.userid!=this.userId&&(t=`\u4F60\u786E\u5B9A\u8981\u5C06\u3010${e.nickname}\u3011\u79FB\u51FA\u7FA4\u7EC4\u5417\uFF1F`,n=[e.userid]),$A.modalConfirm({content:t,loading:!0,onOk:()=>new Promise((r,a)=>{this.$store.dispatch("call",{url:"dialog/group/deluser",data:{dialog_id:this.dialogId,userids:n}}).then(({msg:l})=>{r(l),n.length>0?this.getDialogUser():(this.$store.dispatch("forgetDialog",this.dialogId),this.goForward({name:"manage-messenger"}))}).catch(({msg:l})=>{a(l)})})})},openUser(e){this.openIng||(this.openIng=!0,this.$store.dispatch("openDialogUserid",e).then(t=>{this.$emit("on-close")}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.openIng=!1}))}}},hl={};var YZ=Kt(qZ,UZ,GZ,!1,zZ,null,null,null);function zZ(e){for(let t in hl)this[t]=hl[t]}var $Z=function(){return YZ.exports}(),HZ=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"dialog-respond"},[n("div",{staticClass:"respond-title"},[n("em",{staticClass:"no-dark-content"},[e._v(e._s(e.respondData.symbol))]),e._v(e._s(e.$L("\u56DE\u5E94\u8BE6\u60C5"))+" ("+e._s(e.respondData.userids.length)+")")]),n("div",{staticClass:"respond-user"},[n("ul",e._l(e.respondData.userids,function(r,a){return n("li",{key:a,on:{click:function(l){return e.openUser(r)}}},[n("UserAvatar",{attrs:{userid:r,size:32,showName:"",tooltipDisabled:""}})],1)}),0)])])},VZ=[];const WZ={name:"DialogRespond",props:{respondData:{type:Object,default:()=>({})}},data(){return{openIng:!1}},methods:{openUser(e){this.openIng||(this.openIng=!0,this.$store.dispatch("openDialogUserid",e).then(t=>{this.$emit("on-close")}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.openIng=!1}))}}},El={};var KZ=Kt(WZ,HZ,VZ,!1,QZ,null,null,null);function QZ(e){for(let t in El)this[t]=El[t]}var XZ=function(){return KZ.exports}(),Rc={exports:{}};/*!
+`};t.inline.ruler.after("escape","math_inline",_Z),t.block.ruler.after("blockquote","math_block",pZ,{alt:["paragraph","reference","blockquote","list"]}),t.renderer.rules.math_inline=a,t.renderer.rules.math_block=u};const _n={mdi:null,formatMsg:e=>{const t=e.match(/ \s*([\uD800-\uDBFF][\uDC00-\uDFFF]){1,3}\s*<\/p>\s*$/.test(n.text))&&a.push("transparent"),a},contentClass(){const{type:e,msg:t}=this.msgData,n=[];return e==="text"&&(/^ \s*([\uD800-\uDBFF][\uDC00-\uDFFF]){3}\s*<\/p>\s*$/.test(t.text)?n.push("three-emoji"):/^\s* \s*([\uD800-\uDBFF][\uDC00-\uDFFF]){2}\s*<\/p>\s*$/.test(t.text)?n.push("two-emoji"):/^\s* \s*[\uD800-\uDBFF][\uDC00-\uDFFF]\s*<\/p>\s*$/.test(t.text)&&n.push("an-emoji")),n}},watch:{operateAction(e){this.operateEnter=!1,e&&setTimeout(t=>this.operateEnter=!0,500)}},methods:{handleLongpress(e,t){this.$emit("on-longpress",{event:e,el:t,msgData:this.msgData})},openTodo(){if(!(this.todoLoad>0)){if(this.todoShow){this.todoShow=!1;return}this.todoLoad++,this.$store.dispatch("call",{url:"dialog/msg/todolist",data:{msg_id:this.msgData.id}}).then(({data:e})=>{this.todoList=e}).catch(()=>{this.todoList=[]}).finally(e=>{setTimeout(()=>{this.todoLoad--,this.todoShow=!0},100)})}},openReadPercentage(){if(!(this.percentageLoad>0)){if(this.percentageShow){this.percentageShow=!1;return}this.percentageLoad++,this.$store.dispatch("call",{url:"dialog/msg/readlist",data:{msg_id:this.msgData.id}}).then(({data:e})=>{this.percentageList=e}).catch(()=>{this.percentageList=[]}).finally(e=>{setTimeout(()=>{this.percentageLoad--,this.percentageShow=!0},100)})}},recordStyle(e){const{duration:t}=e;return{width:50+Math.min(180,Math.floor(t/150))+"px"}},recordDuration(e){const t=Math.floor(e/6e4),n=Math.floor(e/1e3)%60;return t>0?`${t}:${n}\u2033`:`${Math.max(1,n)}\u2033`},imageStyle(e){const{width:t,height:n}=e;if(t&&n){let r=220,a=220,l=t,u=n;return(t>r||n>a)&&(t>n?(l=r,u=n*(r/t)):(l=t*(a/n),u=a)),{width:l+"px",height:u+"px"}}return{}},playRecord(){this.operateVisible||this.$store.dispatch("audioPlay",this.msgData.msg.path)},openMeeting(){this.operateVisible||_i.Store.set("addMeeting",{type:"join",name:this.msgData.msg.name,meetingid:this.msgData.msg.meetingid,meetingdisabled:!0})},viewReply(){this.$emit("on-view-reply",{msg_id:this.msgData.id,reply_id:this.msgData.reply_id})},viewText(e){this.$emit("on-view-text",e,this.$refs.content)},viewFile(){this.$emit("on-view-file",this.msgData)},downFile(){this.$emit("on-down-file",this.msgData)},replyList(){this.$emit("on-reply-list",{msg_id:this.msgData.id})},onError(){this.$emit("on-error",this.msgData)},onEmoji(e){this.$emit("on-emoji",{msg_id:this.msgData.id,symbol:e})},onShowEmojiUser(e){this.$emit("on-show-emoji-user",e)}}},pl={};var RZ=Kt(CZ,TZ,yZ,!1,NZ,null,null,null);function NZ(e){for(let t in pl)this[t]=pl[t]}var OZ=function(){return RZ.exports}(),AZ=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:e.classArray},[e.source.type==="tag"?n("div",{staticClass:"dialog-tag",on:{click:e.onViewTag}},[n("div",{staticClass:"tag-user"},[n("UserAvatar",{attrs:{userid:e.source.userid,tooltipDisabled:e.source.userid==e.userId,"show-name":!0,"show-icon":!1}})],1),e._v(" "+e._s(e.$L(e.source.msg.action==="remove"?"\u53D6\u6D88\u6807\u6CE8":"\u6807\u6CE8\u4E86"))+' "'+e._s(e.$A.getMsgSimpleDesc(e.source.msg.data))+'" ')]):e.source.type==="todo"?n("div",{staticClass:"dialog-todo",on:{click:e.onViewTodo}},[n("div",{staticClass:"todo-user"},[n("UserAvatar",{attrs:{userid:e.source.userid,tooltipDisabled:e.source.userid==e.userId,"show-name":!0,"show-icon":!1}})],1),e._v(" "+e._s(e.$L(e.source.msg.action==="remove"?"\u53D6\u6D88\u5F85\u529E":e.source.msg.action==="done"?"\u5B8C\u6210":"\u8BBE\u5F85\u529E"))+' "'+e._s(e.$A.getMsgSimpleDesc(e.source.msg.data))+'" '),e.formatTodoUser(e.source.msg.data).length>0?n("div",{staticClass:"todo-users"},[n("span",[e._v(e._s(e.$L("\u7ED9")))]),e._l(e.formatTodoUser(e.source.msg.data),function(r,a){return[a<3?n("div",{staticClass:"todo-user"},[n("UserAvatar",{attrs:{userid:r,tooltipDisabled:r==e.userId,"show-name":!0,"show-icon":!1}})],1):a==3?n("div",{staticClass:"todo-user"},[e._v("+"+e._s(e.formatTodoUser(e.source.msg.data).length-3))]):e._e()]})],2):e._e()]):e.source.type==="notice"?n("div",{staticClass:"dialog-notice"},[e._v(" "+e._s(e.source.msg.notice)+" ")]):[n("div",{staticClass:"dialog-avatar"},[n("UserAvatar",{directives:[{name:"longpress",rawName:"v-longpress",value:{callback:e.onMention,delay:300},expression:"{callback: onMention, delay: 300}"}],attrs:{userid:e.source.userid,size:30,"tooltip-disabled":""},on:{"open-dialog":e.onOpenDialog}})],1),n("DialogView",{attrs:{"msg-data":e.source,"dialog-type":e.dialogData.type,"hide-percentage":e.hidePercentage,"hide-reply":e.hideReply,"operate-visible":e.operateVisible,"operate-action":e.operateVisible&&e.source.id===e.operateItem.id,"is-right-msg":e.isRightMsg},on:{"on-longpress":e.onLongpress,"on-view-reply":e.onViewReply,"on-view-text":e.onViewText,"on-view-file":e.onViewFile,"on-down-file":e.onDownFile,"on-reply-list":e.onReplyList,"on-error":e.onError,"on-emoji":e.onEmoji,"on-show-emoji-user":e.onShowEmojiUser}})]],2)},IZ=[];const DZ={name:"DialogItem",components:{DialogView:OZ},directives:{longpress:za},props:{source:{type:Object,default(){return{}}},dialogData:{type:Object,default(){return{}}},operateVisible:{type:Boolean,default:!1},operateItem:{type:Object,default(){return{}}},simpleView:{type:Boolean,default:!1},isMyDialog:{type:Boolean,default:!1},msgId:{type:Number,default:0}},data(){return{subscribe:null}},computed:{...Wn(["userId"]),isRightMsg(){return this.source.userid==this.userId},isReply(){return this.simpleView||this.msgId===this.source.id},hidePercentage(){return this.simpleView||this.isMyDialog||this.isReply},hideReply(){return this.simpleView||this.msgId>0},classArray(){return{"dialog-item":!0,"reply-item":this.isReply,self:this.isRightMsg}}},watch:{source:{handler(){this.msgRead()},immediate:!0},windowActive(e){e&&this.msgRead()}},methods:{msgRead(){!this.windowActive||this.$store.dispatch("dialogMsgRead",this.source)},formatTodoUser(e){if($A.isJson(e)){const{userids:t}=e;if(t)return t.split(",")}return[]},onViewTag(){this.onViewReply({msg_id:this.source.id,reply_id:this.source.msg.data.id})},onViewTodo(){this.onViewReply({msg_id:this.source.id,reply_id:this.source.msg.data.id})},onOpenDialog(e){this.dialogData.type=="group"&&this.$store.dispatch("openDialogUserid",e).then(t=>{this.goForward({name:"manage-messenger"})}).catch(({msg:t})=>{$A.modalError(t)})},onMention(){this.dispatch("on-mention",this.source)},onLongpress(e){this.dispatch("on-longpress",e)},onViewReply(e){this.dispatch("on-view-reply",e)},onViewText(e,t){this.dispatch("on-view-text",e,t)},onViewFile(e){this.dispatch("on-view-file",e)},onDownFile(e){this.dispatch("on-down-file",e)},onReplyList(e){this.dispatch("on-reply-list",e)},onError(e){this.dispatch("on-error",e)},onEmoji(e){this.dispatch("on-emoji",e)},onShowEmojiUser(e){this.dispatch("on-show-emoji-user",e)},dispatch(e,...t){if(this.isReply){this.$emit(e,...t);return}let n=this.$parent,r=n.$options.name;for(;n&&(!r||r!=="virtual-list");)n=n.$parent,n&&(r=n.$options.name);n&&n.$emit(e,...t)}}},ml={};var xZ=Kt(DZ,AZ,IZ,!1,wZ,null,null,null);function wZ(e){for(let t in ml)this[t]=ml[t]}var fl=function(){return xZ.exports}(),MZ=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Upload",{ref:"upload",attrs:{name:"files",action:e.actionUrl,headers:e.headers,data:e.params,multiple:"",format:e.uploadFormat,"show-upload-list":!1,"max-size":e.maxSize,"on-progress":e.handleProgress,"on-success":e.handleSuccess,"on-format-error":e.handleFormatError,"on-exceeded-size":e.handleMaxSize}})},LZ=[];const kZ={name:"DialogUpload",props:{dialogId:{type:Number,default:0},maxSize:{type:Number,default:1024e3}},data(){return{uploadFormat:[],actionUrl:$A.apiUrl("dialog/msg/sendfile")}},computed:{...Wn(["cacheDialogs"]),headers(){return{fd:$A.getSessionStorageString("userWsFd"),token:this.userToken}},params(){return{dialog_id:this.dialogId,reply_id:this.dialogData.extra_quote_id||0}},dialogData(){return this.cacheDialogs.find(({id:e})=>e==this.dialogId)||{}}},methods:{handleProgress(e,t){t.tempId===void 0&&(this.$parent.$options.name==="DialogWrapper"?t.tempId=this.$parent.getTempId():t.tempId=$A.randNum(1e9,9999999999),this.$emit("on-progress",t))},handleSuccess(e,t){e.ret===1?(t.data=e.data,this.$emit("on-success",t),e.data.task_id&&this.$store.dispatch("getTaskFiles",e.data.task_id)):($A.modalWarning({title:"\u53D1\u9001\u5931\u8D25",content:"\u6587\u4EF6 "+t.name+" \u53D1\u9001\u5931\u8D25\uFF0C"+e.msg}),this.$emit("on-error",t),this.$refs.upload.fileList.pop())},handleFormatError(e){$A.modalWarning({title:"\u6587\u4EF6\u683C\u5F0F\u4E0D\u6B63\u786E",content:"\u6587\u4EF6 "+e.name+" \u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u4EC5\u652F\u6301\u53D1\u9001\uFF1A"+this.uploadFormat.join(",")})},handleMaxSize(e){$A.modalWarning({title:"\u8D85\u51FA\u6587\u4EF6\u5927\u5C0F\u9650\u5236",content:"\u6587\u4EF6 "+e.name+" \u592A\u5927\uFF0C\u4E0D\u80FD\u53D1\u9001\u8D85\u8FC7"+$A.bytesToSize(this.maxSize*1024)+"\u3002"})},handleClick(){this.$refs.upload.handleClick()},upload(e){this.$refs.upload.upload(e)}}},gl={};var PZ=Kt(kZ,MZ,LZ,!1,BZ,null,null,null);function BZ(e){for(let t in gl)this[t]=gl[t]}var FZ=function(){return PZ.exports}(),UZ=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"dialog-group-info"},[n("div",{staticClass:"group-info-title"},[e._v(e._s(e.$L("\u7FA4\u540D")))]),n("div",{staticClass:"group-info-value"},[n("QuickEdit",{attrs:{value:e.dialogData.name,disabled:e.dialogData.owner_id!=e.userId},on:{"on-update":e.updateName}},[e._v(e._s(e.dialogData.name))])],1),n("div",{staticClass:"group-info-title"},[e._v(e._s(e.$L("\u7FA4\u7C7B\u578B")))]),n("div",{staticClass:"group-info-value"},[e._v(e._s(e.$L(e.groupType)))]),n("div",{staticClass:"group-info-search"},[n("Input",{attrs:{prefix:"ios-search",placeholder:e.$L("\u641C\u7D22\u6210\u5458"),clearable:""},model:{value:e.searchKey,callback:function(r){e.searchKey=r},expression:"searchKey"}})],1),n("div",{staticClass:"group-info-user"},[n("ul",[e._l(e.userList,function(r,a){return n("li",{key:a,on:{click:function(l){return e.openUser(r.userid)}}},[n("UserAvatar",{attrs:{userid:r.userid,size:32,showName:"",tooltipDisabled:""}}),r.userid===e.dialogData.owner_id?n("div",{staticClass:"user-tag"},[e._v(e._s(e.$L("\u7FA4\u4E3B")))]):e.operableExit(r)?n("div",{staticClass:"user-exit",on:{click:function(l){return l.stopPropagation(),e.onExit(r)}}},[n("Icon",{attrs:{type:"md-exit"}})],1):e._e()],1)}),e.userList.length===0?n("li",{staticClass:"no"},[e.loadIng>0?n("Loading"):n("span",[e._v(e._s(e.$L("\u6CA1\u6709\u7B26\u5408\u6761\u4EF6\u7684\u6570\u636E")))])],1):e._e()],2)]),e.operableAdd?n("div",{staticClass:"group-info-button"},[e.dialogData.owner_id==e.userId||e.dialogData.owner_id==0?n("Button",{attrs:{type:"primary",icon:"md-add"},on:{click:e.openAdd}},[e._v(e._s(e.$L("\u6DFB\u52A0\u6210\u5458")))]):e._e()],1):e._e(),n("Modal",{attrs:{title:e.$L("\u6DFB\u52A0\u7FA4\u6210\u5458"),"mask-closable":!1},model:{value:e.addShow,callback:function(r){e.addShow=r},expression:"addShow"}},[n("Form",{attrs:{model:e.addData,"label-width":"auto"},nativeOn:{submit:function(r){r.preventDefault()}}},[n("FormItem",{attrs:{prop:"userids",label:e.$L("\u65B0\u589E\u6210\u5458")}},[n("UserSelect",{attrs:{disabledChoice:e.addData.disabledChoice,"multiple-max":100,"show-bot":"",title:e.$L("\u9009\u62E9\u6210\u5458")},model:{value:e.addData.userids,callback:function(r){e.$set(e.addData,"userids",r)},expression:"addData.userids"}}),e.dialogData.group_type==="department"?n("div",{staticClass:"form-tip"},[e._v(e._s(e.$L("\u6B64\u64CD\u4F5C\u4EC5\u52A0\u5165\u7FA4\u6210\u5458\u5E76\u4E0D\u4F1A\u52A0\u5165\u90E8\u95E8")))]):e.dialogData.group_type==="project"?n("div",{staticClass:"form-tip"},[e._v(e._s(e.$L("\u6B64\u64CD\u4F5C\u4EC5\u52A0\u5165\u7FA4\u6210\u5458\u5E76\u4E0D\u4F1A\u52A0\u5165\u9879\u76EE")))]):e.dialogData.group_type==="task"?n("div",{staticClass:"form-tip"},[e._v(e._s(e.$L("\u6B64\u64CD\u4F5C\u4EC5\u52A0\u5165\u7FA4\u6210\u5458\u5E76\u4E0D\u4F1A\u52A0\u5165\u4EFB\u52A1\u8D1F\u8D23\u4EBA")))]):e._e()],1)],1),n("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[n("Button",{attrs:{type:"default"},on:{click:function(r){e.addShow=!1}}},[e._v(e._s(e.$L("\u53D6\u6D88")))]),n("Button",{attrs:{type:"primary",loading:e.addLoad>0},on:{click:e.onAdd}},[e._v(e._s(e.$L("\u786E\u5B9A\u6DFB\u52A0")))])],1)],1)],1)},GZ=[];const qZ={name:"DialogGroupInfo",components:{UserSelect:Ol},props:{dialogId:{type:Number,default:0}},data(){return{searchKey:"",loadIng:0,dialogUser:[],addShow:!1,addData:{},addLoad:0,openIng:!1}},computed:{...Wn(["cacheDialogs","cacheUserBasic","userIsAdmin"]),dialogData(){return this.cacheDialogs.find(({id:e})=>e==this.dialogId)||{}},groupType(){const{group_type:e}=this.dialogData;return e==="department"?"\u90E8\u95E8\u7FA4\u7EC4":e==="project"?"\u9879\u76EE\u7FA4\u7EC4":e==="task"?"\u4EFB\u52A1\u7FA4\u7EC4":e==="user"?"\u4E2A\u4EBA\u7FA4\u7EC4":e==="all"?"\u5168\u5458\u7FA4\u7EC4":e==="okr"?"OKR\u7FA4\u7EC4":"\u672A\u77E5"},userList(){const{dialogUser:e,searchKey:t,cacheUserBasic:n,dialogData:r}=this;return e.map(l=>{const u=n.find(c=>c.userid==l.userid);return u&&(l.nickname=u.nickname,l.email=u.email),l}).filter(l=>!(t&&l.nickname&&!$A.strExists(l.nickname,t)&&!$A.strExists(l.email,t))).sort((l,u)=>l.userid===r.owner_id||u.userid===r.owner_id?(l.userid===r.owner_id?0:1)-(u.userid===r.owner_id?0:1):$A.Date(l.created_at)-$A.Date(u.created_at))}},watch:{dialogId:{handler(){this.getDialogUser()},immediate:!0}},methods:{updateName(e,t){if(!e){t();return}this.$store.dispatch("call",{url:"dialog/group/edit",data:{dialog_id:this.dialogId,chat_name:e}}).then(({data:n})=>{this.$store.dispatch("saveDialog",n),t()}).catch(({msg:n})=>{$A.modalError(n),t()})},getDialogUser(){this.dialogId<=0||(this.loadIng++,this.$store.dispatch("call",{url:"dialog/user",data:{dialog_id:this.dialogId}}).then(({data:e})=>{this.dialogUser=e,this.$store.dispatch("saveDialog",{id:this.dialogId,people:e.length})}).catch(({msg:e})=>{$A.modalError(e)}).finally(e=>{this.loadIng--}))},operableAdd(){const{owner_id:e,group_type:t}=this.dialogData;return t=="all"?this.userIsAdmin:[0,this.userId].includes(e)},openAdd(){this.addData={dialog_id:this.dialogId,userids:[],disabledChoice:this.dialogUser.map(e=>e.userid)},this.addShow=!0},onAdd(){this.addLoad++,this.$store.dispatch("call",{url:"dialog/group/adduser",data:this.addData}).then(({msg:e})=>{$A.messageSuccess(e),this.addShow=!1,this.addData={},this.getDialogUser()}).catch(({msg:e})=>{$A.modalError(e)}).finally(e=>{this.addLoad--})},operableExit(e){const{owner_id:t,group_type:n}=this.dialogData;return n=="all"?this.userIsAdmin:t==this.userId||e.inviter==this.userId},onExit(e){let t="\u4F60\u786E\u5B9A\u8981\u9000\u51FA\u7FA4\u7EC4\u5417\uFF1F",n=[];$A.isJson(e)&&e.userid!=this.userId&&(t=`\u4F60\u786E\u5B9A\u8981\u5C06\u3010${e.nickname}\u3011\u79FB\u51FA\u7FA4\u7EC4\u5417\uFF1F`,n=[e.userid]),$A.modalConfirm({content:t,loading:!0,onOk:()=>new Promise((r,a)=>{this.$store.dispatch("call",{url:"dialog/group/deluser",data:{dialog_id:this.dialogId,userids:n}}).then(({msg:l})=>{r(l),n.length>0?this.getDialogUser():(this.$store.dispatch("forgetDialog",this.dialogId),this.goForward({name:"manage-messenger"}))}).catch(({msg:l})=>{a(l)})})})},openUser(e){this.openIng||(this.openIng=!0,this.$store.dispatch("openDialogUserid",e).then(t=>{this.$emit("on-close")}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.openIng=!1}))}}},hl={};var YZ=Kt(qZ,UZ,GZ,!1,zZ,null,null,null);function zZ(e){for(let t in hl)this[t]=hl[t]}var $Z=function(){return YZ.exports}(),HZ=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"dialog-respond"},[n("div",{staticClass:"respond-title"},[n("em",{staticClass:"no-dark-content"},[e._v(e._s(e.respondData.symbol))]),e._v(e._s(e.$L("\u56DE\u5E94\u8BE6\u60C5"))+" ("+e._s(e.respondData.userids.length)+")")]),n("div",{staticClass:"respond-user"},[n("ul",e._l(e.respondData.userids,function(r,a){return n("li",{key:a,on:{click:function(l){return e.openUser(r)}}},[n("UserAvatar",{attrs:{userid:r,size:32,showName:"",tooltipDisabled:""}})],1)}),0)])])},VZ=[];const WZ={name:"DialogRespond",props:{respondData:{type:Object,default:()=>({})}},data(){return{openIng:!1}},methods:{openUser(e){this.openIng||(this.openIng=!0,this.$store.dispatch("openDialogUserid",e).then(t=>{this.$emit("on-close")}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.openIng=!1}))}}},El={};var KZ=Kt(WZ,HZ,VZ,!1,QZ,null,null,null);function QZ(e){for(let t in El)this[t]=El[t]}var XZ=function(){return KZ.exports}(),Rc={exports:{}};/*!
* Quill Editor v1.3.7
* https://quilljs.com/
* Copyright (c) 2014, Jason Chen
@@ -325,12 +325,12 @@ l0,-`+(o+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
`)){var ve=me.offsetHeight+parseFloat(ie(me).marginTop)+parseFloat(ie(me).marginBottom);me.nextElementSibling.offsetTop>me.offsetTop+ve*1.5&&pe.insert(`
`)}return pe}function st(me,pe){var ve={},Ne=me.style||{};return Ne.fontStyle&&ie(me).fontStyle==="italic"&&(ve.italic=!0),Ne.fontWeight&&(ie(me).fontWeight.startsWith("bold")||parseInt(ie(me).fontWeight)>=700)&&(ve.bold=!0),Object.keys(ve).length>0&&(pe=Z(pe,ve)),parseFloat(Ne.textIndent||0)>0&&(pe=new h.default().insert(" ").concat(pe)),pe}function we(me,pe){var ve=me.data;if(me.parentNode.tagName==="O:P")return pe.insert(ve.trim());if(ve.trim().length===0&&me.parentNode.classList.contains("ql-clipboard"))return pe;if(!ie(me.parentNode).whiteSpace.startsWith("pre")){var Ne=function(Ye,ze){return ze=ze.replace(/[^\u00a0]/g,""),ze.length<1&&Ye?" ":ze};ve=ve.replace(/\r\n/g," ").replace(/\n/g," "),ve=ve.replace(/\s\s+/g,Ne.bind(Ne,!0)),(me.previousSibling==null&&K(me.parentNode)||me.previousSibling!=null&&K(me.previousSibling))&&(ve=ve.replace(/^\s+/,Ne.bind(Ne,!1))),(me.nextSibling==null&&K(me.parentNode)||me.nextSibling!=null&&K(me.nextSibling))&&(ve=ve.replace(/\s+$/,Ne.bind(Ne,!1)))}return pe.insert(ve)}r.default=Q,r.matchAttributor=ce,r.matchBlot=he,r.matchNewline=qe,r.matchSpacing=We,r.matchText=we},function(n,r,a){Object.defineProperty(r,"__esModule",{value:!0});var l=function(){function y(b,C){for(var E=0;E \s*<\/p>)+|( \s*<\/p>)+$/gi,""),n=n.replace(/^( ${e.label}
")}}),t("div",{class:"department-tag-num"},` +${e.length}`)]))),t("div",{class:"team-table-department-warp"},a)}}},{title:this.$L("\u6700\u540E\u5728\u7EBF"),key:"line_at",width:168},{title:this.$L("\u64CD\u4F5C"),align:"center",width:100,render:(t,s)=>{const e=s.row.identity,a=[];e.includes("admin")?a.push(t("EDropdownItem",{props:{command:"clearadmin"}},[t("div",this.$L("\u53D6\u6D88\u7BA1\u7406\u5458"))])):a.push(t("EDropdownItem",{props:{command:"setadmin"}},[t("div",this.$L("\u8BBE\u4E3A\u7BA1\u7406\u5458"))])),e.includes("temp")?a.push(t("EDropdownItem",{props:{command:"cleartemp"}},[t("div",this.$L("\u53D6\u6D88\u4E34\u65F6\u8EAB\u4EFD"))])):a.push(t("EDropdownItem",{props:{command:"settemp"}},[t("div",this.$L("\u8BBE\u4E3A\u4E34\u65F6\u5E10\u53F7"))])),a.push(t("EDropdownItem",{props:{command:"email"}},[t("div",this.$L("\u4FEE\u6539\u90AE\u7BB1"))])),a.push(t("EDropdownItem",{props:{command:"password"}},[t("div",this.$L("\u4FEE\u6539\u5BC6\u7801"))])),this.checkinMac&&a.push(t("EDropdownItem",{props:{command:"checkin_mac"}},[t("div",this.$L("\u4FEE\u6539MAC"))])),a.push(t("EDropdownItem",{props:{command:"department"}},[t("div",this.$L("\u4FEE\u6539\u90E8\u95E8"))])),e.includes("disable")?a.push(t("EDropdownItem",{props:{command:"cleardisable"},style:{color:"#f90"}},[t("div",this.$L("\u6062\u590D\u5E10\u53F7\uFF08\u5DF2\u79BB\u804C\uFF09"))])):a.push(t("EDropdownItem",{props:{command:"setdisable"},style:{color:"#f90"}},[t("div",this.$L("\u64CD\u4F5C\u79BB\u804C"))])),a.push(t("EDropdownItem",{props:{command:"delete"},style:{color:"red"}},[t("div",this.$L("\u5220\u9664"))]));const i=t("EDropdown",{props:{size:"small",trigger:"click"},on:{command:n=>{this.dropUser(n,s.row)}}},[t("Button",{props:{type:"primary",size:"small"},style:{fontSize:"12px"}},this.$L("\u64CD\u4F5C")),t("EDropdownMenu",{slot:"dropdown"},[a])]);return t("TableAction",{props:{column:s.column}},[i])}}],list:[],page:1,pageSize:20,total:0,noText:"",checkinMacEditShow:!1,checkinMacEditLoading:0,checkinMacEditData:{},departmentEditShow:!1,departmentEditLoading:0,departmentEditData:{},disableShow:!1,disableLoading:0,disableData:{},disableOptions:{shortcuts:[{text:"12:00",value(){return $A.Date($A.formatDate("Y-m-d 12:00:00"))},onClick:t=>{t.handlePickSuccess()}},{text:"17:00",value(){return $A.Date($A.formatDate("Y-m-d 17:00:00"))},onClick:t=>{t.handlePickSuccess()}},{text:"18:00",value(){return $A.Date($A.formatDate("Y-m-d 18:00:00"))},onClick:t=>{t.handlePickSuccess()}},{text:"19:00",value(){return $A.Date($A.formatDate("Y-m-d 19:00:00"))},onClick:t=>{t.handlePickSuccess()}},{text:this.$L("\u73B0\u5728"),value(){return new Date},onClick:t=>{t.handlePickSuccess()}}]},departmentShow:!1,departmentLoading:0,departmentSelect:-1,departmentData:{id:0,name:"",parent_id:0,owner_userid:[],dialog_group:"new",dialog_useid:0},departmentList:[],dialogLoad:!1,dialogList:[],nullCheckinDatum:{mac:"",remark:""}}},created(){this.checkinMac&&this.columns.splice(5,0,{title:this.$L("MAC\u5730\u5740"),key:"checkin_mac",minWidth:80,render:(t,{row:s})=>{let e=$A.cloneJSON(s.checkin_macs||[]);if(e.length===0)return t("div","-");{const a=n=>n.remark?`${n.mac} (${n.remark})`:n.mac,i=[];return i.push(t("AutoTip",a(e[0]))),e.length>1&&(e=e.splice(1),i.push(t("ETooltip",[t("div",{slot:"content",domProps:{innerHTML:e.map(n=>a(n)).join("
")}}),t("div",{class:"department-tag-num"},` +${e.length}`)]))),t("div",{class:"team-table-department-warp"},i)}}})},mounted(){this.getLists(),this.getDepartmentLists()},watch:{keyIs(t){t||(this.keys={},this.setPage(1))},departmentSelect(){this.setPage(1)},windowPortrait:{handler(t){this.minBox=t},immediate:!0},minBox:{handler(){this.$nextTick(t=>{this.$el&&this.$el.clientWidth>0&&(this.minWidth=this.$el.clientWidth)})},immediate:!0}},computed:{departmentParentDisabled(){return!!(this.departmentData.id>0&&this.departmentList.find(({parent_id:t})=>t==this.departmentData.id))},userStyle({minWidth:t,windowPortrait:s}){const e={};return t>0&&s&&(e.minWidth=t-40+"px"),e}},methods:{onSearch(){this.page=1,this.getLists()},getLists(){this.loadIng++,this.keyIs=$A.objImplode(this.keys)!="";let t=$A.cloneJSON(this.keys);this.departmentSelect>-1&&(t=Object.assign(t,{department:this.departmentSelect})),this.$store.dispatch("call",{url:"users/lists",data:{keys:t,get_checkin_mac:this.checkinMac?1:0,page:Math.max(this.page,1),pagesize:Math.max($A.runNum(this.pageSize),10)}}).then(({data:s})=>{this.page=s.current_page,this.total=s.total,this.list=s.data,this.noText="\u6CA1\u6709\u76F8\u5173\u7684\u6210\u5458"}).catch(()=>{this.noText="\u6570\u636E\u52A0\u8F7D\u5931\u8D25"}).finally(s=>{this.loadIng--})},setPage(t){this.page=t,this.getLists()},setPageSize(t){this.page=1,this.pageSize=t,this.getLists()},dropUser(t,s){switch(t){case"settemp":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u5C06\u3010ID:${s.userid}\uFF0C${s.nickname}\u3011\u8BBE\u4E3A\u4E34\u65F6\u5E10\u53F7\u5417\uFF1F\uFF08\u6CE8\uFF1A\u4E34\u65F6\u5E10\u53F7\u9650\u5236\u8BF7\u67E5\u770B\u7CFB\u7EDF\u8BBE\u7F6E\uFF09`,loading:!0,onOk:()=>this.operationUser({userid:s.userid,type:t})});break;case"cleartemp":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u53D6\u6D88\u3010ID:${s.userid}\uFF0C${s.nickname}\u3011\u4E34\u65F6\u8EAB\u4EFD\u5417\uFF1F`,loading:!0,onOk:()=>this.operationUser({userid:s.userid,type:t})});break;case"email":$A.modalInput({title:"\u4FEE\u6539\u90AE\u7BB1",placeholder:`\u8BF7\u8F93\u5165\u65B0\u7684\u90AE\u7BB1\uFF08${s.email}\uFF09`,onOk:a=>a?this.operationUser({userid:s.userid,email:a}):"\u8BF7\u8F93\u5165\u65B0\u7684\u90AE\u7BB1\u5730\u5740"});break;case"password":$A.modalInput({title:"\u4FEE\u6539\u5BC6\u7801",placeholder:"\u8BF7\u8F93\u5165\u65B0\u7684\u5BC6\u7801",onOk:a=>a?this.operationUser({userid:s.userid,password:a}):"\u8BF7\u8F93\u5165\u65B0\u7684\u5BC6\u7801"});break;case"checkin_mac":this.checkinMacEditData={type:"checkin_macs",userid:s.userid,nickname:s.nickname,checkin_macs:s.checkin_macs},this.checkinMacEditData.checkin_macs.length===0&&this.addCheckinDatum(),this.checkinMacEditShow=!0;break;case"department":let e=[];s.department.some(a=>{const i=this.departmentList.find(n=>n.id==a);i&&e.push(i.owner_userid===s.userid?`${i.name} (${this.$L("\u8D1F\u8D23\u4EBA")})`:i.name)}),this.departmentEditData={type:"department",userid:s.userid,nickname:s.nickname,department:s.department.map(a=>parseInt(a))},this.departmentEditShow=!0;break;case"setdisable":this.disableData={type:"setdisable",userid:s.userid,nickname:s.nickname},this.disableShow=!0;break;case"cleardisable":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u6062\u590D\u5DF2\u79BB\u804C\u5E10\u53F7\u3010ID:${s.userid}\uFF0C${s.nickname}\u3011\u5417\uFF1F\uFF08\u6CE8\uFF1A\u6B64\u64CD\u4F5C\u4EC5\u6062\u590D\u5E10\u53F7\u72B6\u6001\uFF0C\u65E0\u6CD5\u6062\u590D\u64CD\u4F5C\u79BB\u804C\u65F6\u79FB\u4EA4\u7684\u6570\u636E\uFF09`,loading:!0,onOk:()=>this.operationUser({userid:s.userid,type:t})});break;case"delete":$A.modalInput({title:`\u5220\u9664\u5E10\u53F7\u3010ID:${s.userid}\uFF0C${s.nickname}\u3011`,placeholder:"\u8BF7\u8F93\u5165\u5220\u9664\u539F\u56E0",okText:"\u786E\u5B9A\u5220\u9664",onOk:a=>a?this.operationUser({userid:s.userid,type:t,delete_reason:a}):"\u5220\u9664\u539F\u56E0\u4E0D\u80FD\u4E3A\u7A7A"});break;default:this.operationUser({userid:s.userid,type:t},!0);break}},operationUser(t,s){return new Promise((e,a)=>{t.type=="checkin_macs"?this.checkinMacEditLoading++:t.type=="department"?this.departmentEditLoading++:t.type=="setdisable"?this.disableLoading++:this.loadIng++,this.$store.dispatch("call",{url:"users/operation",data:t}).then(({msg:i})=>{$A.messageSuccess(i),this.getLists(),e(),t.type=="checkin_macs"?this.checkinMacEditShow=!1:t.type=="department"?this.departmentEditShow=!1:t.type=="setdisable"&&(this.disableShow=!1)}).catch(({msg:i})=>{s===!0&&$A.modalError(i),this.getLists(),a(i)}).finally(i=>{t.type=="checkin_macs"?this.checkinMacEditLoading--:t.type=="department"?this.departmentEditLoading--:t.type=="setdisable"?this.disableLoading--:this.loadIng--})})},getDepartmentLists(){this.departmentLoading++,this.$store.dispatch("call",{url:"users/department/list"}).then(({data:t})=>{this.departmentList=[],this.generateDepartmentList(t,0,1)}).finally(t=>{this.departmentLoading--})},generateDepartmentList(t,s,e){t.some(a=>{a.parent_id==s&&(this.departmentList.push(Object.assign(a,{level:e+1})),this.generateDepartmentList(t,a.id,e+1))})},onShowDepartment(t){this.departmentData=Object.assign({id:0,name:"",parent_id:0,owner_userid:[],dialog_group:"new"},t||{}),this.departmentShow=!0},onSaveDepartment(){this.departmentLoading++,this.$store.dispatch("call",{url:"users/department/add",data:Object.assign(this.departmentData,{owner_userid:this.departmentData.owner_userid[0]})}).then(({msg:t})=>{$A.messageSuccess(t),this.getDepartmentLists(),this.getLists(),this.departmentShow=!1}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.departmentLoading--})},onSelectDepartment(t){if(this.windowPortrait&&(this.minBox=!0),this.departmentSelect===t){this.departmentSelect=-1;return}this.departmentSelect=t},onOpDepartment(t){if($A.leftExists(t,"add_"))this.onShowDepartment({parent_id:parseInt(t.substr(4))});else if($A.leftExists(t,"edit_")){const s=this.departmentList.find(({id:e})=>e===parseInt(t.substr(5)));s&&this.onShowDepartment(s)}else if($A.leftExists(t,"del_")){const s=this.departmentList.find(({id:e})=>e===parseInt(t.substr(4)));s&&$A.modalConfirm({title:this.$L("\u5220\u9664\u90E8\u95E8"),content:`
")}}),t("div",{class:"department-tag-num"},` +${e.length}`)]))),t("div",{class:"team-table-department-warp"},a)}}},{title:this.$L("\u6700\u540E\u5728\u7EBF"),key:"line_at",width:168},{title:this.$L("\u64CD\u4F5C"),align:"center",width:100,render:(t,s)=>{const e=s.row.identity,a=[];e.includes("admin")?a.push(t("EDropdownItem",{props:{command:"clearadmin"}},[t("div",this.$L("\u53D6\u6D88\u7BA1\u7406\u5458"))])):a.push(t("EDropdownItem",{props:{command:"setadmin"}},[t("div",this.$L("\u8BBE\u4E3A\u7BA1\u7406\u5458"))])),e.includes("temp")?a.push(t("EDropdownItem",{props:{command:"cleartemp"}},[t("div",this.$L("\u53D6\u6D88\u4E34\u65F6\u8EAB\u4EFD"))])):a.push(t("EDropdownItem",{props:{command:"settemp"}},[t("div",this.$L("\u8BBE\u4E3A\u4E34\u65F6\u5E10\u53F7"))])),a.push(t("EDropdownItem",{props:{command:"email"}},[t("div",this.$L("\u4FEE\u6539\u90AE\u7BB1"))])),a.push(t("EDropdownItem",{props:{command:"password"}},[t("div",this.$L("\u4FEE\u6539\u5BC6\u7801"))])),this.checkinMac&&a.push(t("EDropdownItem",{props:{command:"checkin_mac"}},[t("div",this.$L("\u4FEE\u6539MAC"))])),a.push(t("EDropdownItem",{props:{command:"department"}},[t("div",this.$L("\u4FEE\u6539\u90E8\u95E8"))])),e.includes("disable")?a.push(t("EDropdownItem",{props:{command:"cleardisable"},style:{color:"#f90"}},[t("div",this.$L("\u6062\u590D\u5E10\u53F7\uFF08\u5DF2\u79BB\u804C\uFF09"))])):a.push(t("EDropdownItem",{props:{command:"setdisable"},style:{color:"#f90"}},[t("div",this.$L("\u64CD\u4F5C\u79BB\u804C"))])),a.push(t("EDropdownItem",{props:{command:"delete"},style:{color:"red"}},[t("div",this.$L("\u5220\u9664"))]));const i=t("EDropdown",{props:{size:"small",trigger:"click"},on:{command:n=>{this.dropUser(n,s.row)}}},[t("Button",{props:{type:"primary",size:"small"},style:{fontSize:"12px"}},this.$L("\u64CD\u4F5C")),t("EDropdownMenu",{slot:"dropdown"},[a])]);return t("TableAction",{props:{column:s.column}},[i])}}],list:[],page:1,pageSize:20,total:0,noText:"",checkinMacEditShow:!1,checkinMacEditLoading:0,checkinMacEditData:{},departmentEditShow:!1,departmentEditLoading:0,departmentEditData:{},disableShow:!1,disableLoading:0,disableData:{},disableOptions:{shortcuts:[{text:"12:00",value(){return $A.Date($A.formatDate("Y-m-d 12:00:00"))},onClick:t=>{t.handlePickSuccess()}},{text:"17:00",value(){return $A.Date($A.formatDate("Y-m-d 17:00:00"))},onClick:t=>{t.handlePickSuccess()}},{text:"18:00",value(){return $A.Date($A.formatDate("Y-m-d 18:00:00"))},onClick:t=>{t.handlePickSuccess()}},{text:"19:00",value(){return $A.Date($A.formatDate("Y-m-d 19:00:00"))},onClick:t=>{t.handlePickSuccess()}},{text:this.$L("\u73B0\u5728"),value(){return new Date},onClick:t=>{t.handlePickSuccess()}}]},departmentShow:!1,departmentLoading:0,departmentSelect:-1,departmentData:{id:0,name:"",parent_id:0,owner_userid:[],dialog_group:"new",dialog_useid:0},departmentList:[],dialogLoad:!1,dialogList:[],nullCheckinDatum:{mac:"",remark:""}}},created(){this.checkinMac&&this.columns.splice(5,0,{title:this.$L("MAC\u5730\u5740"),key:"checkin_mac",minWidth:80,render:(t,{row:s})=>{let e=$A.cloneJSON(s.checkin_macs||[]);if(e.length===0)return t("div","-");{const a=n=>n.remark?`${n.mac} (${n.remark})`:n.mac,i=[];return i.push(t("AutoTip",a(e[0]))),e.length>1&&(e=e.splice(1),i.push(t("ETooltip",[t("div",{slot:"content",domProps:{innerHTML:e.map(n=>a(n)).join("
")}}),t("div",{class:"department-tag-num"},` +${e.length}`)]))),t("div",{class:"team-table-department-warp"},i)}}})},mounted(){this.getLists(),this.getDepartmentLists()},watch:{keyIs(t){t||(this.keys={},this.setPage(1))},departmentSelect(){this.setPage(1)},windowPortrait:{handler(t){this.minBox=t},immediate:!0},minBox:{handler(){this.$nextTick(t=>{this.$el&&this.$el.clientWidth>0&&(this.minWidth=this.$el.clientWidth)})},immediate:!0}},computed:{departmentParentDisabled(){return!!(this.departmentData.id>0&&this.departmentList.find(({parent_id:t})=>t==this.departmentData.id))},userStyle({minWidth:t,windowPortrait:s}){const e={};return t>0&&s&&(e.minWidth=t-40+"px"),e}},methods:{onSearch(){this.page=1,this.getLists()},getLists(){this.loadIng++,this.keyIs=$A.objImplode(this.keys)!="";let t=$A.cloneJSON(this.keys);this.departmentSelect>-1&&(t=Object.assign(t,{department:this.departmentSelect})),this.$store.dispatch("call",{url:"users/lists",data:{keys:t,get_checkin_mac:this.checkinMac?1:0,page:Math.max(this.page,1),pagesize:Math.max($A.runNum(this.pageSize),10)}}).then(({data:s})=>{this.page=s.current_page,this.total=s.total,this.list=s.data,this.noText="\u6CA1\u6709\u76F8\u5173\u7684\u6210\u5458"}).catch(()=>{this.noText="\u6570\u636E\u52A0\u8F7D\u5931\u8D25"}).finally(s=>{this.loadIng--})},setPage(t){this.page=t,this.getLists()},setPageSize(t){this.page=1,this.pageSize=t,this.getLists()},dropUser(t,s){switch(t){case"settemp":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u5C06\u3010ID:${s.userid}\uFF0C${s.nickname}\u3011\u8BBE\u4E3A\u4E34\u65F6\u5E10\u53F7\u5417\uFF1F\uFF08\u6CE8\uFF1A\u4E34\u65F6\u5E10\u53F7\u9650\u5236\u8BF7\u67E5\u770B\u7CFB\u7EDF\u8BBE\u7F6E\uFF09`,loading:!0,onOk:()=>this.operationUser({userid:s.userid,type:t})});break;case"cleartemp":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u53D6\u6D88\u3010ID:${s.userid}\uFF0C${s.nickname}\u3011\u4E34\u65F6\u8EAB\u4EFD\u5417\uFF1F`,loading:!0,onOk:()=>this.operationUser({userid:s.userid,type:t})});break;case"email":$A.modalInput({title:"\u4FEE\u6539\u90AE\u7BB1",placeholder:`\u8BF7\u8F93\u5165\u65B0\u7684\u90AE\u7BB1\uFF08${s.email}\uFF09`,onOk:a=>a?this.operationUser({userid:s.userid,email:a}):"\u8BF7\u8F93\u5165\u65B0\u7684\u90AE\u7BB1\u5730\u5740"});break;case"password":$A.modalInput({title:"\u4FEE\u6539\u5BC6\u7801",placeholder:"\u8BF7\u8F93\u5165\u65B0\u7684\u5BC6\u7801",onOk:a=>a?this.operationUser({userid:s.userid,password:a}):"\u8BF7\u8F93\u5165\u65B0\u7684\u5BC6\u7801"});break;case"checkin_mac":this.checkinMacEditData={type:"checkin_macs",userid:s.userid,nickname:s.nickname,checkin_macs:s.checkin_macs},this.checkinMacEditData.checkin_macs.length===0&&this.addCheckinDatum(),this.checkinMacEditShow=!0;break;case"department":let e=[];s.department.some(a=>{const i=this.departmentList.find(n=>n.id==a);i&&e.push(i.owner_userid===s.userid?`${i.name} (${this.$L("\u8D1F\u8D23\u4EBA")})`:i.name)}),this.departmentEditData={type:"department",userid:s.userid,nickname:s.nickname,department:s.department.map(a=>parseInt(a))},this.departmentEditShow=!0;break;case"setdisable":this.disableData={type:"setdisable",userid:s.userid,nickname:s.nickname},this.disableShow=!0;break;case"cleardisable":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u6062\u590D\u5DF2\u79BB\u804C\u5E10\u53F7\u3010ID:${s.userid}\uFF0C${s.nickname}\u3011\u5417\uFF1F\uFF08\u6CE8\uFF1A\u6B64\u64CD\u4F5C\u4EC5\u6062\u590D\u5E10\u53F7\u72B6\u6001\uFF0C\u65E0\u6CD5\u6062\u590D\u64CD\u4F5C\u79BB\u804C\u65F6\u79FB\u4EA4\u7684\u6570\u636E\uFF09`,loading:!0,onOk:()=>this.operationUser({userid:s.userid,type:t})});break;case"delete":$A.modalInput({title:`\u5220\u9664\u5E10\u53F7\u3010ID:${s.userid}\uFF0C${s.nickname}\u3011`,placeholder:"\u8BF7\u8F93\u5165\u5220\u9664\u539F\u56E0",okText:"\u786E\u5B9A\u5220\u9664",onOk:a=>a?this.operationUser({userid:s.userid,type:t,delete_reason:a}):"\u5220\u9664\u539F\u56E0\u4E0D\u80FD\u4E3A\u7A7A"});break;default:this.operationUser({userid:s.userid,type:t},!0);break}},operationUser(t,s){return new Promise((e,a)=>{t.type=="checkin_macs"?this.checkinMacEditLoading++:t.type=="department"?this.departmentEditLoading++:t.type=="setdisable"?this.disableLoading++:this.loadIng++,this.$store.dispatch("call",{url:"users/operation",data:t}).then(({msg:i})=>{$A.messageSuccess(i),this.getLists(),e(),t.type=="checkin_macs"?this.checkinMacEditShow=!1:t.type=="department"?this.departmentEditShow=!1:t.type=="setdisable"&&(this.disableShow=!1)}).catch(({msg:i})=>{s===!0&&$A.modalError(i),this.getLists(),a(i)}).finally(i=>{t.type=="checkin_macs"?this.checkinMacEditLoading--:t.type=="department"?this.departmentEditLoading--:t.type=="setdisable"?this.disableLoading--:this.loadIng--})})},getDepartmentLists(){this.departmentLoading++,this.$store.dispatch("call",{url:"users/department/list"}).then(({data:t})=>{this.departmentList=[],this.generateDepartmentList(t,0,1)}).finally(t=>{this.departmentLoading--})},generateDepartmentList(t,s,e){t.some(a=>{a.parent_id==s&&(this.departmentList.push(Object.assign(a,{level:e+1})),this.generateDepartmentList(t,a.id,e+1))})},onShowDepartment(t){this.departmentData=Object.assign({id:0,name:"",parent_id:0,owner_userid:[],dialog_group:"new"},t||{}),this.departmentShow=!0},onSaveDepartment(){this.departmentLoading++,this.$store.dispatch("call",{url:"users/department/add",data:Object.assign(this.departmentData,{owner_userid:this.departmentData.owner_userid[0]})}).then(({msg:t})=>{$A.messageSuccess(t),this.getDepartmentLists(),this.getLists(),this.departmentShow=!1}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.departmentLoading--})},onSelectDepartment(t){if(this.windowPortrait&&(this.minBox=!0),this.departmentSelect===t){this.departmentSelect=-1;return}this.departmentSelect=t},onOpDepartment(t){if($A.leftExists(t,"add_"))this.onShowDepartment({parent_id:parseInt(t.substr(4))});else if($A.leftExists(t,"edit_")){const s=this.departmentList.find(({id:e})=>e===parseInt(t.substr(5)));s&&this.onShowDepartment(s)}else if($A.leftExists(t,"del_")){const s=this.departmentList.find(({id:e})=>e===parseInt(t.substr(4)));s&&$A.modalConfirm({title:this.$L("\u5220\u9664\u90E8\u95E8"),content:`
`};Qt.fence=function(e,t,n,r,a){var l=e[t],u=l.info?zG(l.info).trim():"",c="",d="",g,f,h,p,m;return u&&(h=u.split(/(\s+)/g),c=h[0],d=h.slice(2).join("")),n.highlight?g=n.highlight(l.content,c,d)||Cn(l.content):g=Cn(l.content),g.indexOf(""+Cn(e[t].content)+`0;)this.endGroup()},i.has=function(s){return this.current.hasOwnProperty(s)||this.builtins.hasOwnProperty(s)},i.get=function(s){return this.current.hasOwnProperty(s)?this.current[s]:this.builtins[s]},i.set=function(s,_,T){if(T===void 0&&(T=!1),T){for(var I=0;I]*?>/g);return t&&t.some(n=>{e=e.replace(n,`
`};function fZ(e){return e==="..."?'${e}]*?>$/.test(n.text)||/^\s*
]*?>$/.test(t.text)?n.push("an-emoticon"):/^\s*
]*?>/g);return t&&t.some(n=>{e=e.replace(n,`
`};function fZ(e){return e==="..."?'${e}]*?>$/.test(n.text)||/^\s*
]*?>$/.test(t.text)?n.push("an-emoticon"):/^\s*
<\/p>)+|(]*?>/g,""))>5e3,c={id:this.getTempId(),dialog_id:this.dialogData.id,reply_id:this.quoteId,reply_data:this.quoteData,type:u?"loading":"text",userid:this.userId,msg:{text:u?"":n,type:r}};this.tempMsgs.push(c),this.msgType="",this.cancelQuote(),this.onActive(),this.$nextTick(this.onToBottom),this.$store.dispatch("call",{url:"dialog/msg/sendtext",data:{dialog_id:c.dialog_id,reply_id:c.reply_id,text:n,text_type:r,silence:a},method:"post"}).then(({data:d})=>{this.tempMsgs=this.tempMsgs.filter(({id:g})=>g!=c.id),this.sendSuccess(d)}).catch(d=>{this.$set(c,"error",!0),this.$set(c,"errorData",{type:"text",content:d.msg,msg:n})})}l&&requestAnimationFrame(u=>this.msgText="")},sendRecord(e){const t={id:this.getTempId(),dialog_id:this.dialogData.id,reply_id:this.quoteId,reply_data:this.quoteData,type:"loading",userid:this.userId,msg:e};this.tempMsgs.push(t),this.msgType="",this.cancelQuote(),this.onActive(),this.$nextTick(this.onToBottom),this.$store.dispatch("call",{url:"dialog/msg/sendrecord",data:Object.assign(e,{dialog_id:this.dialogId,reply_id:this.quoteId}),method:"post"}).then(({data:n})=>{this.tempMsgs=this.tempMsgs.filter(({id:r})=>r!=t.id),this.sendSuccess(n)}).catch(n=>{this.$set(t,"error",!0),this.$set(t,"errorData",{type:"record",content:n.msg,msg:e})})},sendFileMsg(e){const t=$A.isArray(e)?e:[e];t.length>0&&(this.pasteFile=[],this.pasteItem=[],t.some(n=>{const r={type:$A.getMiddle(n.type,null,"/"),name:n.name,size:n.size,result:null};if(r.type==="image"){const a=new FileReader;a.readAsDataURL(n),a.onload=({target:l})=>{r.result=l.result,this.pasteFile.push(n),this.pasteItem.push(r),this.pasteShow=!0}}else this.pasteFile.push(n),this.pasteItem.push(r),this.pasteShow=!0}))},sendQuick(e){this.sendMsg(`
]*?src=(["'])(.*?)(_thumb\.jpg)*\1[^>]*?>/g,'
'),_i.Store.set("addTask",{owner:[this.userId],content:r});break;case"todo":this.onTodo();break;case"pos":this.onPositionId(this.operateItem.id);break;case"emoji":t==="more"?NJ().then(this.onEmoji):this.onEmoji(t);break}})},onReply(e){const{tail:t}=this.scrollInfo();this.setQuote(this.operateItem.id,e),this.inputFocus(),t<=55&&requestAnimationFrame(this.onToBottom)},onUpdate(){const{type:e}=this.operateItem;if(this.onReply(e==="text"?"update":"reply"),e==="text"){let{text:t,type:n}=this.operateItem.msg;this.$refs.input.setPasteMode(!1),n==="md"?this.$refs.input.setText(t):(t.indexOf("mention")>-1&&(t=t.replace(/]*)>~([^>]*)<\/a>/g,'~$3'),t=t.replace(/([@#])([^>]*)<\/span>/g,'$3$4')),t=t.replace(/
]*>/gi,r=>r.replace(/(width|height)="\d+"\s*/ig,"")),this.msgText=$A.formatMsgBasic(t)),this.$nextTick(r=>this.$refs.input.setPasteMode(!0))}},onCopy(e){if(!$A.isJson(e))return;const{type:t,value:n}=e;switch(t){case"image":this.$Electron&&this.$Electron.sendMessage("copyImageAt",this.operateClient);break;case"imagedown":this.$Electron?this.$Electron.sendMessage("saveImageAt",{params:{},url:n}):this.$store.dispatch("downUrl",{url:n,token:!1});break;case"filepos":this.$store.dispatch("filePos",n);break;case"link":this.$copyText(n).then(a=>$A.messageSuccess("\u590D\u5236\u6210\u529F")).catch(a=>$A.messageError("\u590D\u5236\u5931\u8D25"));break;case"selected":this.$copyText(n).then(a=>$A.messageSuccess("\u590D\u5236\u6210\u529F")).catch(a=>$A.messageError("\u590D\u5236\u5931\u8D25"));break;case"text":const r=$A(this.$refs.scroller.$el).find(`[data-id="${this.operateItem.id}"]`).find(".dialog-content");if(r.length>0){const a=r[0].innerText.replace(/\n\n/g,`
-`).replace(/(^\s*)|(\s*$)/g,"");this.$copyText(a).then(l=>$A.messageSuccess("\u590D\u5236\u6210\u529F")).catch(l=>$A.messageError("\u590D\u5236\u5931\u8D25"))}else $A.messageWarning("\u4E0D\u53EF\u590D\u5236\u7684\u5185\u5BB9");break}},onWithdraw(){$A.modalConfirm({content:"\u786E\u5B9A\u64A4\u56DE\u6B64\u4FE1\u606F\u5417\uFF1F",okText:"\u64A4\u56DE",loading:!0,onOk:()=>new Promise((e,t)=>{this.$store.dispatch("call",{url:"dialog/msg/withdraw",data:{msg_id:this.operateItem.id}}).then(()=>{e("\u6D88\u606F\u5DF2\u64A4\u56DE"),this.$store.dispatch("forgetDialogMsg",this.operateItem.id)}).catch(({msg:n})=>{t(n)})})})},onViewReply(e){this.operateVisible||this.onPositionId(e.reply_id,e.msg_id)},onViewText({target:e},t){if(this.operateVisible)return;let n=e;for(;n;){if(n.classList.contains("open-approve-details")){const r=n.getAttribute("data-id");window.innerWidth<426?this.goForward({name:"manage-approve-details",query:{id:n.getAttribute("data-id")}}):(this.approveDetailsShow=!0,this.$nextTick(()=>{this.approveDetails={id:r}}));break}if(n.classList.contains("dialog-item"))break;n=n.parentElement}switch(e.nodeName){case"IMG":if(e.classList.contains("browse"))this.onViewPicture(e.currentSrc);else{const r=$A.getTextImagesInfo(t.outerHTML),a=r.findIndex(l=>l.src==e.currentSrc);this.$store.dispatch("previewImage",{index:a,list:r})}break;case"SPAN":e.classList.contains("mention")&&e.classList.contains("task")&&this.$store.dispatch("openTask",$A.runNum(e.getAttribute("data-id")));break}},onViewFile(e){if(this.operateVisible)return;$A.isJson(e)||(e=this.operateItem);const{msg:t}=e;if(["jpg","jpeg","webp","gif","png"].includes(t.ext)){this.onViewPicture(t.path);return}const n=`/single/file/msg/${e.id}`;this.$Electron?this.$Electron.sendMessage("windowRouter",{name:`file-msg-${e.id}`,path:n,userAgent:"/hideenOfficeTitle/",force:!1,config:{title:`${t.name} (${$A.bytesToSize(t.size)})`,titleFixed:!0,parent:null,width:Math.min(window.screen.availWidth,1440),height:Math.min(window.screen.availHeight,900)},webPreferences:{nodeIntegrationInSubFrames:t.ext==="drawio"}}):this.$isEEUiApp?$A.eeuiAppOpenPage({pageType:"app",pageTitle:`${t.name} (${$A.bytesToSize(t.size)})`,url:"web.js",params:{titleFixed:!0,allowAccess:!0,url:$A.rightDelete(window.location.href,window.location.hash)+`#${n}`}}):window.open($A.apiUrl(`..${n}`))},onViewPicture(e){const t=this.allMsgs.filter(a=>a.type==="file"?["jpg","jpeg","webp","gif","png"].includes(a.msg.ext):a.type==="text"?a.msg.text.match(/
]*?>/):!1),n=[];t.some(({type:a,msg:l})=>{a==="file"?n.push({src:l.path,width:l.width,height:l.height}):a==="text"&&n.push(...$A.getTextImagesInfo(l.text))});const r=n.findIndex(({src:a})=>a===e);r>-1?this.$store.dispatch("previewImage",{index:r,list:n}):this.$store.dispatch("previewImage",e)},onDownFile(e){this.operateVisible||($A.isJson(e)||(e=this.operateItem),$A.modalConfirm({title:"\u4E0B\u8F7D\u6587\u4EF6",content:`${e.msg.name} (${$A.bytesToSize(e.msg.size)})`,okText:"\u7ACB\u5373\u4E0B\u8F7D",onOk:()=>{this.$store.dispatch("downUrl",$A.apiUrl(`dialog/msg/download?msg_id=${e.id}`))}}))},onReplyList(e){this.operateVisible||(this.replyListId=e.msg_id,this.replyListShow=!0)},onError(e){if(e.error!==!0)return;const{type:t,content:n,msg:r}=e.errorData,a={icon:"error",title:"\u53D1\u9001\u5931\u8D25",content:n,cancelText:"\u53D6\u6D88\u53D1\u9001",onCancel:l=>{this.tempMsgs=this.tempMsgs.filter(({id:u})=>u!=e.id)}};if(t==="text")a.okText="\u518D\u6B21\u7F16\u8F91",a.onOk=()=>{this.tempMsgs=this.tempMsgs.filter(({id:l})=>l!=e.id),this.$refs.input.setPasteMode(!1),this.msgText=r,this.inputFocus(),this.$nextTick(l=>this.$refs.input.setPasteMode(!0))};else if(t==="record")a.okText="\u91CD\u65B0\u53D1\u9001",a.onOk=()=>{this.tempMsgs=this.tempMsgs.filter(({id:l})=>l!=e.id),this.sendRecord(r)};else return;$A.modalConfirm(a)},onEmoji(e){$A.isJson(e)||(e={msg_id:this.operateItem.id,symbol:e});const t=this.cacheEmojis.filter(n=>n!==e.symbol);t.unshift(e.symbol),$A.IDBSave("cacheEmojis",this.$store.state.cacheEmojis=t.slice(0,3)),this.$store.dispatch("setLoad",{key:`msg-${e.msg_id}`,delay:600}),this.$store.dispatch("call",{url:"dialog/msg/emoji",data:e}).then(({data:n})=>{this.dialogMsgs.findIndex(a=>a.id==n.id)>-1?this.$store.dispatch("saveDialogMsg",n):this.todoViewData.id===n.id&&(this.todoViewData=Object.assign(this.todoViewData,n))}).catch(({msg:n})=>{$A.messageError(n)}).finally(n=>{this.$store.dispatch("cancelLoad",`msg-${e.msg_id}`)})},onShowEmojiUser(e){this.operateVisible||(this.respondData=e,this.respondShow=!0)},onTag(){if(this.operateVisible)return;const e={msg_id:this.operateItem.id};this.$store.dispatch("setLoad",{key:`msg-${e.msg_id}`,delay:600}),this.$store.dispatch("call",{url:"dialog/msg/tag",data:e}).then(({data:t})=>{this.tagOrTodoSuccess(t)}).catch(({msg:t})=>{$A.messageError(t)}).finally(t=>{this.$store.dispatch("cancelLoad",`msg-${e.msg_id}`)})},onTodo(e){var t;if(!this.operateVisible)if(e==="submit"){const n=$A.cloneJSON(this.todoSettingData);if(n.type==="my")n.type="user",n.userids=[n.my_id];else if(n.type==="you")n.type="user",n.userids=[n.you_id];else if(n.type==="user"&&$A.arrayLength(n.userids)===0){$A.messageWarning("\u9009\u62E9\u6307\u5B9A\u6210\u5458");return}this.todoSettingLoad++,this.onTodoSubmit(n).then(r=>{$A.messageSuccess(r),this.todoSettingShow=!1}).catch(r=>{$A.messageError(r)}).finally(r=>{this.todoSettingLoad--})}else{const n=(t=this.dialogData.dialog_user)==null?void 0:t.userid;this.todoSettingData={type:"all",userids:[],msg_id:this.operateItem.id,my_id:this.userId,you_id:n!=this.userId&&!this.dialogData.bot?n:0},this.operateItem.todo?$A.modalConfirm({content:"\u4F60\u786E\u5B9A\u53D6\u6D88\u5F85\u529E\u5417\uFF1F",cancelText:"\u53D6\u6D88",okText:"\u786E\u5B9A",loading:!0,onOk:()=>this.onTodoSubmit(this.todoSettingData)}):this.todoSettingShow=!0}},onTodoSubmit(e){return new Promise((t,n)=>{this.$store.dispatch("setLoad",{key:`msg-${e.msg_id}`,delay:600}),this.$store.dispatch("call",{url:"dialog/msg/todo",data:e}).then(({data:r,msg:a})=>{t(a),this.tagOrTodoSuccess(r),this.onActive()}).catch(({msg:r})=>{n(r)}).finally(r=>{this.$store.dispatch("cancelLoad",`msg-${e.msg_id}`)})})},tagOrTodoSuccess(e){this.$store.dispatch("saveDialogMsg",e.update),e.add&&(this.$store.dispatch("saveDialogMsg",e.add),this.$store.dispatch("updateDialogLastMsg",e.add))},onSearchSwitch(e){if(this.searchResult.length!==0){if(this.searchLocation===1&&this.searchResult.length===1){this.onPositionId(this.searchResult[0]);return}e==="prev"?this.searchLocation<=1?this.searchLocation=this.searchResult.length:this.searchLocation--:this.searchLocation>=this.searchResult.length?this.searchLocation=1:this.searchLocation++}},onSearchKeyup(e){(e===null||e.keyCode===27)&&(this.searchShow=!1,this.searchKey="",this.searchResult=[])},onPositionMark(){if(this.positionLoad>0)return;this.positionLoad++;const{msg_id:e}=this.positionMsg;this.$store.dispatch("dialogMsgMark",{dialog_id:this.dialogId,type:"read",after_msg_id:e}).then(t=>{this.positionLoad++,this.onPositionId(e).finally(n=>{this.positionLoad--})}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.positionLoad--})},findOperateFile(e,t){const n=this.fileLinks.find(r=>r.link===t);if(n){this.addFileMenu(e,n);return}this.$store.dispatch("searchFiles",{link:t}).then(({data:r})=>{if(r.length===1){const a={link:t,id:r[0].id,pid:r[0].pid};this.fileLinks.push(a),this.addFileMenu(e,a)}}).catch(r=>{})},addFileMenu(e,t){if(this.operateItem.id!=e||this.operateCopys.findIndex(r=>r.type==="filepos")!==-1)return;const n=Math.max(0,this.operateCopys.findIndex(r=>r.type==="link")-1);this.operateCopys.splice(n,0,{type:"filepos",icon:"",label:"\u663E\u793A\u6587\u4EF6",value:{folderId:t.pid,fileId:null,shakeId:t.id}})},getBase64Image(e){return new Promise(t=>{let n=document.createElement("CANVAS"),r=n.getContext("2d"),a=new Image;a.crossOrigin="Anonymous",a.onload=()=>{n.height=a.height,n.width=a.width,r.drawImage(a,0,0);let l="png";$A.rightExists(e,"jpg")||$A.rightExists(e,"jpeg")?l="jpeg":$A.rightExists(e,"webp")?l="webp":$A.rightExists(e,"git")&&(l="git"),t(n.toDataURL(`image/${l}`)),n=null},a.src=e})},getSelectedTextInElement(e){let t="";if(window.getSelection){let n=window.getSelection();if(n.rangeCount>0){const r=n.getRangeAt(0);e.contains(r.commonAncestorContainer)&&(t=r.toString())}}return t},onViewAvatar(e){let t=null;e.target.tagName==="IMG"?t=e.target.src:t=$A(e.target).find("img").attr("src"),t&&this.$store.dispatch("previewImage",t)}}},Rl={};var DJ=Kt(IJ,OJ,AJ,!1,xJ,null,null,null);function xJ(e){for(let t in Rl)this[t]=Rl[t]}var FJ=function(){return DJ.exports}();export{CJ as C,FJ as D};
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var b={FRONT:"FRONT",BEHIND:"BEHIND"},C={INIT:"INIT",FIXED:"FIXED",DYNAMIC:"DYNAMIC"},E=0,v=function(){function w(M,x){r(this,w),this.init(M,x)}return l(w,[{key:"init",value:function(x,Y){this.param=x,this.callUpdate=Y,this.sizes=new Map,this.firstRangeTotalSize=0,this.firstRangeAverageSize=0,this.fixedSizeValue=0,this.calcType=C.INIT,this.offset=0,this.direction="",this.range=Object.create(null),x&&this.checkRange(0,x.keeps-1)}},{key:"destroy",value:function(){this.init(null,null)}},{key:"getRange",value:function(){var x=Object.create(null);return x.start=this.range.start,x.end=this.range.end,x.padFront=this.range.padFront,x.padBehind=this.range.padBehind,x}},{key:"isBehind",value:function(){return this.direction===b.BEHIND}},{key:"isFront",value:function(){return this.direction===b.FRONT}},{key:"getOffset",value:function(x){return(x<1?0:this.getIndexOffset(x))+this.param.slotHeaderSize}},{key:"updateParam",value:function(x,Y){var V=this;this.param&&x in this.param&&(x==="uniqueIds"&&this.sizes.forEach(function(X,le){Y.includes(le)||V.sizes.delete(le)}),this.param[x]=Y)}},{key:"saveSize",value:function(x,Y){this.sizes.set(x,Y),this.calcType===C.INIT?(this.fixedSizeValue=Y,this.calcType=C.FIXED):this.calcType===C.FIXED&&this.fixedSizeValue!==Y&&(this.calcType=C.DYNAMIC,delete this.fixedSizeValue),this.calcType!==C.FIXED&&typeof this.firstRangeTotalSize!="undefined"&&(this.sizes.size
${e.label}
`)},onMsgChange(e){const t=this.allMsgs.find(({type:n,id:r})=>n=="text"&&r==e.id);if(t){const{tail:n}=this.scrollInfo();e.type==="append"?t.msg.text+=e.text:e.type==="replace"&&(t.msg.text=e.text),this.$nextTick(r=>{const{tail:a}=this.scrollInfo();n<=10&&a!=n&&(this.operatePreventScroll++,this.$refs.scroller.scrollToBottom(),setTimeout(l=>{this.operatePreventScroll--},50))})}},getTempId(){return this.tempId++},getMsgs(e){return new Promise((t,n)=>{setTimeout(r=>this.msgLoadIng++,2e3),this.$store.dispatch("getDialogMsgs",e).then(t).catch(n).finally(r=>{this.msgLoadIng--})})},msgFilter(e){if(this.msgType){if(this.msgType==="tag"){if(!e.tag)return!1}else if(this.msgType==="todo"){if(!e.todo)return!1}else if(this.msgType==="link"){if(!e.link)return!1}else if(this.msgType!==e.mtype)return!1}return!(this.msgId&&e.reply_id!=this.msgId)},onSearchMsgId(){this.dialogSearchMsgId>0&&this.openId===this.dialogId&&(this.onPositionId(this.dialogSearchMsgId),this.$store.state.dialogSearchMsgId=0)},onPositionId(e,t=0,n=0){return new Promise((r,a)=>{if(e===0){$A.modalError("\u67E5\u770B\u5931\u8D25\uFF1A\u53C2\u6570\u9519\u8BEF"),a();return}if(this.loadMsg||this.msgType!==""){if(this.msgType="",n===0)this.$store.dispatch("showSpinner",600);else if(n>20){this.$store.dispatch("hiddenSpinner"),$A.modalError("\u67E5\u770B\u5931\u8D25\uFF1A\u8BF7\u6C42\u8D85\u65F6"),a();return}n++,setTimeout(c=>{this.onPositionId(e,t,n).then(r).catch(a)},Math.min(800,200*n));return}n>0&&this.$store.dispatch("hiddenSpinner");const l=this.allMsgs.findIndex(c=>c.id===e),u=this.prevId>0?0:-1;l>u?setTimeout(c=>{this.onToIndex(l),r()},200):(t>0&&this.$store.dispatch("setLoad",{key:`msg-${t}`,delay:600}),this.preventToBottom=!0,this.getMsgs({dialog_id:this.dialogId,msg_id:this.msgId,msg_type:this.msgType,position_id:e,spinner:2e3}).finally(c=>{const d=this.allMsgs.findIndex(g=>g.id===e);d>-1&&(this.onToIndex(d),r()),t>0&&this.$store.dispatch("cancelLoad",`msg-${t}`),this.preventToBottom=!1}))})},onViewTodo(e){if(this.operateVisible)return;this.todoViewId=e.id,this.todoViewMid=e.msg_id,this.todoViewShow=!0,this.allMsgs.findIndex(n=>n.id===this.todoViewMid)===-1&&this.$store.dispatch("call",{url:"dialog/msg/one",data:{msg_id:this.todoViewMid}}).then(({data:n})=>{this.todoViewData=n})},onCloseTodo(){this.todoViewLoad=!1,this.todoViewShow=!1,this.todoViewData={},this.todoViewMid=0,this.todoViewId=0},onPosTodo(){!this.todoViewMid||(this.todoViewPosLoad=!0,this.onPositionId(this.todoViewMid).then(this.onCloseTodo).finally(e=>{this.todoViewPosLoad=!1}))},onDoneTodo(){!this.todoViewId||this.todoViewLoad||(this.todoViewLoad=!0,this.$store.dispatch("call",{url:"dialog/msg/done",data:{id:this.todoViewId}}).then(({data:e})=>{this.$store.dispatch("saveDialogTodo",{id:this.todoViewId,done_at:$A.formatDate("Y-m-d H:i:s")}),this.$store.dispatch("saveDialog",{id:this.dialogId,todo_num:this.todoList.length}),e.add&&this.sendSuccess(e.add),this.todoList.length===0&&this.$store.dispatch("getDialogTodo",this.dialogId),this.onCloseTodo()}).catch(({msg:e})=>{$A.modalError(e)}).finally(e=>{this.todoViewLoad=!1}))},itemClassAdd(e){return e===this.msgActiveIndex?"common-shake":""},inputFocus(){this.$nextTick(e=>{this.$refs.input&&this.$refs.input.focus()})},onRecordState(e){this.recordState=e},chatPasteDrag(e,t){if(this.dialogDrag=!1,$A.dataHasFolder(t==="drag"?e.dataTransfer:e.clipboardData)){e.preventDefault(),$A.modalWarning(`\u6682\u4E0D\u652F\u6301${t==="drag"?"\u62D6\u62FD":"\u7C98\u8D34"}\u6587\u4EF6\u5939\u3002`);return}const n=t==="drag"?e.dataTransfer.files:e.clipboardData.files,r=Array.prototype.slice.call(n);r.length>0&&(e.preventDefault(),this.sendFileMsg(r))},chatDragOver(e,t){let n=this.__dialogDrag=$A.randomString(8);if(!e)setTimeout(()=>{n===this.__dialogDrag&&(this.dialogDrag=e)},150);else{if(t.dataTransfer.effectAllowed==="move"||Array.prototype.slice.call(t.dataTransfer.files).length===0)return;this.dialogDrag=!0}},onTouchStart(e){if(this.wrapperStart=null,this.$refs.scroller.$el.contains(e.target))this.wrapperStart=Object.assign(this.scrollInfo(),{clientY:e.touches[0].clientY});else if(this.$refs.input.$refs.editor.contains(e.target)){const t=this.$refs.input.$refs.editor.querySelector(".ql-editor");if(t){const n=t.clientHeight,r=t.scrollTop,a=t.scrollHeight;this.wrapperStart={offset:r,scale:r/(a-n),tail:a-n-r,clientY:e.touches[0].clientY}}}},onTouchMove(e){if(this.footerPaddingBottom>0||this.windowPortrait&&this.windowScrollY>0){if(this.wrapperStart===null){e.preventDefault();return}this.wrapperStart.clientY>e.touches[0].clientY?this.wrapperStart.tail===0&&e.preventDefault():this.wrapperStart.offset===0&&e.preventDefault()}},pasteSend(){this.pasteFile.some(e=>{this.$refs.chatUpload.upload(e)})},chatFile(e,t){switch(e){case"progress":const n={id:t.tempId,dialog_id:this.dialogData.id,reply_id:this.quoteId,type:"loading",userid:this.userId,msg:{}};this.tempMsgs.push(n),this.msgType="",this.cancelQuote(),this.onActive(),this.$nextTick(this.onToBottom);break;case"error":this.tempMsgs=this.tempMsgs.filter(({id:r})=>r!=t.tempId);break;case"success":this.tempMsgs=this.tempMsgs.filter(({id:r})=>r!=t.tempId),this.sendSuccess(t.data);break}},sendSuccess(e){if($A.isArray(e)){e.some(this.sendSuccess);return}this.$store.dispatch("saveDialogMsg",e),this.quoteUpdate||(this.$store.dispatch("increaseTaskMsgNum",e),this.$store.dispatch("increaseMsgReplyNum",e),this.$store.dispatch("updateDialogLastMsg",e)),this.cancelQuote(),this.onActive()},setQuote(e,t){var n;(n=this.$refs.input)==null||n.setQuote(e,t)},cancelQuote(){var e;(e=this.$refs.input)==null||e.cancelQuote()},onEventFocus(){this.$emit("on-focus")},onEventBlur(){this.$emit("on-blur")},onEventMore(e){switch(e){case"image":case"file":this.$refs.chatUpload.handleClick();break;case"call":this.onCallTel();break;case"anon":this.onAnon();break}},onCallTel(){this.$store.dispatch("call",{url:"dialog/tel",data:{dialog_id:this.dialogId},spinner:600}).then(({data:e})=>{e.tel&&$A.eeuiAppSendMessage({action:"callTel",tel:e.tel}),e.add&&(this.$store.dispatch("saveDialogMsg",e.add),this.$store.dispatch("updateDialogLastMsg",e.add),this.onActive())}).catch(({msg:e})=>{$A.modalError(e)})},onAnon(){if(this.dialogData.type!=="user"||this.dialogData.bot){$A.modalWarning("\u533F\u540D\u6D88\u606F\u4EC5\u5141\u8BB8\u53D1\u9001\u7ED9\u4E2A\u4EBA");return}$A.modalInput({title:"\u53D1\u9001\u533F\u540D\u6D88\u606F",placeholder:"\u533F\u540D\u6D88\u606F\u5C06\u901A\u8FC7\u533F\u540D\u6D88\u606F\uFF08\u673A\u5668\u4EBA\uFF09\u53D1\u9001\u7ED9\u5BF9\u65B9\uFF0C\u4E0D\u4F1A\u8BB0\u5F55\u4F60\u7684\u4EFB\u4F55\u8EAB\u4EFD\u4FE1\u606F",inputProps:{type:"textarea",rows:3,autosize:{minRows:3,maxRows:6},maxlength:2e3},okText:"\u533F\u540D\u53D1\u9001",onOk:e=>e?new Promise((t,n)=>{this.$store.dispatch("call",{url:"dialog/msg/sendanon",data:{userid:this.dialogData.dialog_user.userid,text:e},method:"post"}).then(({msg:r})=>{t(r)}).catch(({msg:r})=>{n(r)})}):"\u8BF7\u8F93\u5165\u6D88\u606F\u5185\u5BB9"})},onEventEmojiVisibleChange(e){e&&this.windowPortrait&&this.onToBottom()},onHeightChange({newVal:e,oldVal:t}){const n=e-t;if(n!==0){const{offset:r,tail:a}=this.scrollInfo();a>0&&this.onToOffset(r+n)}},onActive(){this.$emit("on-active")},onToBottom(){this.msgNew=0;const e=this.$refs.scroller;e&&(e.scrollToBottom(),requestAnimationFrame(t=>e.scrollToBottom()))},onToIndex(e){const t=this.$refs.scroller;t&&(t.stopToBottom(),t.scrollToIndex(e,-100),requestAnimationFrame(n=>t.scrollToIndex(e,-100))),requestAnimationFrame(n=>this.msgActiveIndex=e)},onToOffset(e){const t=this.$refs.scroller;t&&(t.stopToBottom(),t.scrollToOffset(e),setTimeout(n=>t.scrollToOffset(e),10))},scrollInfo(){const e=this.$refs.scroller;return e?e.scrollInfo():{offset:0,scale:0,tail:0}},openProject(){!this.dialogData.group_info||(this.windowPortrait&&this.$store.dispatch("openDialog",0),this.goForward({name:"manage-project",params:{projectId:this.dialogData.group_info.id}}))},openTask(){!this.dialogData.group_info||(this.taskId>0&&this.$store.dispatch("openDialog",0),this.$store.dispatch("openTask",{id:this.dialogData.group_info.id,deleted_at:this.dialogData.group_info.deleted_at,archived_at:this.dialogData.group_info.archived_at}))},openOkr(){!this.dialogData.link_id||this.$store.dispatch("openOkr",this.dialogData.link_id)},onPrevPage(){this.prevId!==0&&this.getMsgs({dialog_id:this.dialogId,msg_id:this.msgId,msg_type:this.msgType,prev_id:this.prevId,save_before:e=>this.scrollDisabled=!0,save_after:e=>this.scrollDisabled=!1}).then(({data:e})=>{const t=e.list.map(n=>n.id);this.$nextTick(()=>{const n=this.$refs.scroller,r=t.reduce((l,u)=>({size:(typeof l=="object"?l.size:n.getSize(l))+n.getSize(u)}));let a=n.getOffset()+r.size;this.prevId===0&&(a-=36),this.onToOffset(a),setTimeout(l=>n.virtual.handleFront(),10)})}).catch(()=>{})},onDialogMenu(e){var t;switch(e){case"searchMsg":this.searchShow=!0,this.$nextTick(r=>{this.$refs.searchInput.focus()});break;case"openCreate":const n=[this.userId];this.dialogData.dialog_user&&this.userId!=this.dialogData.dialog_user.userid&&n.push(this.dialogData.dialog_user.userid),this.createGroupData={userids:n,uncancelable:[this.userId]},this.createGroupShow=!0;break;case"modifyNormal":this.modifyData={dialog_id:this.dialogData.id,avatar:this.dialogData.avatar,name:this.dialogData.name},this.dialogData.type==="user"&&(this.modifyData=Object.assign(this.modifyData,{userid:this.dialogData.dialog_user.userid,avatar:(t=this.cacheUserBasic.find(r=>r.userid===this.dialogData.dialog_user.userid))==null?void 0:t.userimg,clear_day:0,webhook_url:"",system_name:""}),this.modifyLoad++,this.$store.dispatch("call",{url:"users/bot/info",data:{id:this.dialogData.dialog_user.userid}}).then(({data:r})=>{this.modifyData.clear_day=r.clear_day,this.modifyData.webhook_url=r.webhook_url,this.modifyData.system_name=r.system_name}).finally(()=>{this.modifyLoad--})),this.modifyShow=!0;break;case"modifyAdmin":this.modifyData={dialog_id:this.dialogData.id,avatar:this.dialogData.avatar,admin:1},this.modifyShow=!0;break;case"groupInfo":this.groupInfoShow=!0;break;case"transfer":this.groupTransferData={dialog_id:this.dialogId,userid:[],disabledChoice:[this.userId]},this.groupTransferShow=!0;break;case"transferConfirm":this.onTransferGroup();break;case"disband":this.onDisbandGroup();break;case"exit":this.onExitGroup();break}},onTransferGroup(){if(this.groupTransferData.userid.length===0){$A.messageError("\u8BF7\u9009\u62E9\u65B0\u7684\u7FA4\u4E3B");return}this.groupTransferLoad++,this.$store.dispatch("call",{url:"dialog/group/transfer",data:{dialog_id:this.dialogId,userid:this.groupTransferData.userid[0]}}).then(({data:e,msg:t})=>{$A.messageSuccess(t),this.$store.dispatch("saveDialog",e)}).catch(({msg:e})=>{$A.modalError(e)}).finally(e=>{this.groupTransferLoad--,this.groupTransferShow=!1})},onDisbandGroup(){$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u8981\u89E3\u6563\u3010${this.dialogData.name}\u3011\u7FA4\u7EC4\u5417\uFF1F`,loading:!0,okText:"\u89E3\u6563",onOk:()=>new Promise((e,t)=>{this.$store.dispatch("call",{url:"dialog/group/disband",data:{dialog_id:this.dialogId}}).then(({msg:n})=>{e(n),this.$store.dispatch("forgetDialog",this.dialogId),this.goForward({name:"manage-messenger"})}).catch(({msg:n})=>{t(n)})})})},onExitGroup(){$A.modalConfirm({content:"\u4F60\u786E\u5B9A\u8981\u9000\u51FA\u7FA4\u7EC4\u5417\uFF1F",loading:!0,onOk:()=>new Promise((e,t)=>{this.$store.dispatch("call",{url:"dialog/group/deluser",data:{dialog_id:this.dialogId}}).then(({msg:n})=>{e(n),this.$store.dispatch("forgetDialog",this.dialogId),this.goForward({name:"manage-messenger"})}).catch(({msg:n})=>{t(n)})})})},onCreateGroup(){this.createGroupLoad++,this.$store.dispatch("call",{url:"dialog/group/add",data:this.createGroupData}).then(({data:e,msg:t})=>{$A.messageSuccess(t),this.createGroupShow=!1,this.createGroupData={},this.$store.dispatch("saveDialog",e),this.$store.dispatch("openDialog",e.id)}).catch(({msg:e})=>{$A.modalError(e)}).finally(e=>{this.createGroupLoad--})},onModify(){this.modifyData.userid?(this.modifyLoad++,this.$store.dispatch("call",{url:"users/bot/edit",data:{id:this.modifyData.userid,avatar:this.modifyData.avatar,name:this.modifyData.name,clear_day:this.modifyData.clear_day,webhook_url:this.modifyData.webhook_url},method:"post"}).then(({data:e,msg:t})=>{$A.messageSuccess(t),this.$store.dispatch("saveUserBasic",{userid:this.modifyData.userid,nickname:e.name,userimg:e.avatar}),this.$store.dispatch("saveDialog",{id:this.modifyData.dialog_id,name:e.name}),this.modifyShow=!1,this.modifyData={}}).catch(({msg:e})=>{$A.modalError(e)}).finally(e=>{this.modifyLoad--})):(this.modifyLoad++,this.$store.dispatch("call",{url:"dialog/group/edit",data:this.modifyData}).then(({data:e,msg:t})=>{$A.messageSuccess(t),this.$store.dispatch("saveDialog",e),this.modifyShow=!1,this.modifyData={}}).catch(({msg:e})=>{$A.modalError(e)}).finally(e=>{this.modifyLoad--}))},onForward(){return new Promise((e,t)=>{if(this.forwardData.length===0){$A.messageError("\u8BF7\u9009\u62E9\u8F6C\u53D1\u5BF9\u8BDD\u6216\u6210\u5458"),t();return}const n=this.forwardData.filter(a=>$A.leftExists(a,"d:")).map(a=>a.replace("d:","")),r=this.forwardData.filter(a=>!$A.leftExists(a,"d:"));this.$store.dispatch("call",{url:"dialog/msg/forward",data:{dialogids:n,userids:r,msg_id:this.operateItem.id}}).then(({data:a,msg:l})=>{this.$store.dispatch("saveDialogMsg",a.msgs),this.$store.dispatch("updateDialogLastMsg",a.msgs),$A.messageSuccess(l),e()}).catch(({msg:a})=>{$A.modalError(a),t()})})},onScroll(e){this.operatePreventScroll===0&&(this.operateVisible=!1);const{offset:t,tail:n}=this.scrollInfo();this.scrollOffset=t,this.scrollTail=n,this.scrollTail<=55&&(this.msgNew=0),this.scrollAction=e.target.scrollTop,this.scrollDirection=this.scrollTmp<=this.scrollAction?"down":"up",setTimeout(r=>this.scrollTmp=this.scrollAction,0)},onRange(e){if(this.preventMoreLoad)return;const t=this.scrollDirection==="down"?"next_id":"prev_id";for(let n=e.start;n<=e.end;n++){const r=this.allMsgs[n][t];if(r){const a=this.allMsgs[n+(t==="next_id"?1:-1)];a&&a.id!=r&&(this.preventMoreLoad=!0,this.getMsgs({dialog_id:this.dialogId,msg_id:this.msgId,msg_type:this.msgType,[t]:r}).finally(l=>{this.preventMoreLoad=!1}))}}},onBack(){if(!this.beforeBack)return this.handleBack();const e=this.beforeBack();e&&e.then?e.then(()=>{this.handleBack()}):this.handleBack()},handleBack(){const{name:e,params:t}=this.$store.state.routeHistoryLast;e===this.$route.name&&/^\d+$/.test(t.dialogId)?this.goForward({name:this.$route.name}):this.goBack()},onMsgType(e){switch(e){case"project":this.openProject();break;case"task":this.openTask();break;case"okr":this.openOkr();break;default:this.loadMsg?$A.messageWarning("\u6B63\u5728\u52A0\u8F7D\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5..."):this.msgType=e;break}},onMention(e){const t=this.cacheUserBasic.find(({userid:n})=>n==e.userid);t&&this.$refs.input.addMention({denotationChar:"@",id:t.userid,value:t.nickname})},onLongpress({event:e,el:t,msgData:n}){if(this.operateVisible=this.operateItem.id===n.id,this.operateItem=$A.isJson(n)?n:{},this.operateCopys=[],e.target.nodeName==="IMG"&&this.$Electron?this.operateCopys.push({type:"image",icon:"",label:"\u590D\u5236\u56FE\u7247",value:$A.thumbRestore(e.target.currentSrc)}):e.target.nodeName==="A"&&(e.target.classList.contains("mention")&&e.target.classList.contains("file")&&this.findOperateFile(this.operateItem.id,e.target.href),this.operateCopys.push({type:"link",icon:"",label:"\u590D\u5236\u94FE\u63A5",value:e.target.href})),n.type==="text"){e.target.nodeName==="IMG"&&this.operateCopys.push({type:"imagedown",icon:"",label:"\u4E0B\u8F7D\u56FE\u7247",value:$A.thumbRestore(e.target.currentSrc)});const r=this.getSelectedTextInElement(t);if(r.length>0&&this.operateCopys.push({type:"selected",icon:"",label:"\u590D\u5236\u9009\u62E9",value:r}),n.msg.text.replace(/<[^>]+>/g,"").length>0){let a=this.operateCopys.length>0?"\u590D\u5236\u6587\u672C":"\u590D\u5236";r.length>0&&(a="\u590D\u5236\u5168\u90E8"),this.operateCopys.push({type:"text",icon:"",label:a,value:""})}}this.$nextTick(()=>{const r=t.getBoundingClientRect(),a=this.$el.getBoundingClientRect();this.operateStyles={left:`${e.clientX-a.left}px`,top:`${r.top+this.windowScrollY}px`,height:r.height+"px"},this.operateClient={x:e.clientX,y:e.clientY},this.operateVisible=!0})},onOperate(e,t=null){this.operateVisible=!1,this.$nextTick(n=>{switch(e){case"reply":this.onReply();break;case"update":this.onUpdate();break;case"copy":this.onCopy(t);break;case"forward":this.forwardData=[],this.$refs.forwardSelect.onSelection();break;case"withdraw":this.onWithdraw();break;case"view":this.onViewFile();break;case"down":this.onDownFile();break;case"tag":this.onTag();break;case"newTask":let r=$A.formatMsgBasic(this.operateItem.msg.text);r=r.replace(/