diff --git a/CHANGELOG.md b/CHANGELOG.md
index 58ee08eae..a893a9527 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,23 @@
All notable changes to this project will be documented in this file.
+## [1.4.67]
+
+### Features
+
+- 支持为每个人设置「未完成任务上限」,避免一次接太多任务,方便控制工作节奏。
+- 任务列表支持“一键归档已完成任务”,让列表更清爽。
+- 支持自定义微应用菜单,可按实际需要配置和保存菜单项,入口更符合团队习惯。
+- 调整窗口和各组件的高度表现,在不同窗口大小下内容显示更合理。
+- 更新默认智能助手模型为更高效版本,回答速度和质量更均衡。
+- 优化文件管理页面展示效果:列表更清晰,文件内容与侧边抽屉的外观更统一。
+
+### Bug Fixes
+
+- 修复桌面端部分设备在打开新窗口时可能出现的报错问题,使用更稳定。
+- 修复部分组件在全屏或窗口变化时高度计算不准确的问题,避免内容被遮挡或留白过多。
+- 修正微模态弹窗的定位问题,在全屏场景下显示更正常。
+
## [1.4.43]
### Bug Fixes
diff --git a/electron/package.json b/electron/package.json
index 981f6548b..21060d961 100755
--- a/electron/package.json
+++ b/electron/package.json
@@ -53,7 +53,7 @@
"electron-store": "^8.2.0",
"electron-updater": "^6.6.2",
"express": "^5.1.0",
- "fastmcp": "^3.21.0",
+ "fastmcp": "^3.24.0",
"fs-extra": "^11.2.0",
"marked": "^17.0.0",
"pdf-lib": "^1.17.1",
diff --git a/language/translate.json b/language/translate.json
index 90ecd4034..7b2807eea 100644
--- a/language/translate.json
+++ b/language/translate.json
@@ -32482,5 +32482,65 @@
"fr": "Échec de l’archivage, veuillez réessayer plus tard",
"id": "Pengarsipan gagal, silakan coba lagi nanti",
"ru": "Не удалось выполнить архивирование, повторите попытку позже"
+ },
+ {
+ "key": "个人任务上限",
+ "zh": "",
+ "zh-CHT": "個人任務上限",
+ "en": "Personal task limit",
+ "ko": "개인 작업 한도",
+ "ja": "個人タスク上限",
+ "de": "Persönliches Aufgabenlimit",
+ "fr": "Limite de tâches personnelles",
+ "id": "Batas tugas pribadi",
+ "ru": "Лимит личных задач"
+ },
+ {
+ "key": "负责人或协助人的未完成任务数量上限,最大2000。",
+ "zh": "",
+ "zh-CHT": "負責人或協助人的未完成任務數量上限,最大 2000。",
+ "en": "Maximum number of incomplete tasks for assignees or collaborators, up to 2000.",
+ "ko": "담당자 또는 협력자의 미완료 작업 최대 개수로, 최대 2000개입니다.",
+ "ja": "担当者または協力者が保有できる未完了タスク数の上限です。最大 2000 件までです。",
+ "de": "Maximale Anzahl offener Aufgaben für Verantwortliche oder Mitwirkende, maximal 2000.",
+ "fr": "Nombre maximal de tâches inachevées pour les responsables ou les collaborateurs, jusqu’à 2000.",
+ "id": "Batas jumlah tugas yang belum selesai untuk penanggung jawab atau kolaborator, maksimum 2000.",
+ "ru": "Предельное количество невыполненных задач для ответственных или соисполнителей — максимум 2000."
+ },
+ {
+ "key": "请输入 URL",
+ "zh": "",
+ "zh-CHT": "請輸入 URL",
+ "en": "Please enter the URL",
+ "ko": "URL을 입력하세요",
+ "ja": "URLを入力してください",
+ "de": "Bitte die URL eingeben",
+ "fr": "Veuillez saisir l’URL",
+ "id": "Silakan masukkan URL",
+ "ru": "Введите URL"
+ },
+ {
+ "key": "URL不能为空",
+ "zh": "",
+ "zh-CHT": "URL 不能為空",
+ "en": "URL cannot be empty",
+ "ko": "URL은 비워 둘 수 없습니다",
+ "ja": "URLを空にすることはできません",
+ "de": "Die URL darf nicht leer sein",
+ "fr": "L’URL ne peut pas être vide",
+ "id": "URL tidak boleh kosong",
+ "ru": "URL не может быть пустым"
+ },
+ {
+ "key": "仅管理员可使用此功能",
+ "zh": "",
+ "zh-CHT": "僅管理員可使用此功能",
+ "en": "Only administrators can use this feature",
+ "ko": "이 기능은 관리자만 사용할 수 있습니다",
+ "ja": "この機能を使用できるのは管理者のみです",
+ "de": "Diese Funktion kann nur von Administratoren verwendet werden",
+ "fr": "Seuls les administrateurs peuvent utiliser cette fonctionnalité",
+ "id": "Fitur ini hanya dapat digunakan oleh administrator",
+ "ru": "Эту функцию могут использовать только администраторы"
}
]
\ No newline at end of file
diff --git a/package.json b/package.json
index dc8e6c7bd..89e9c1e55 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "DooTask",
- "version": "1.4.42",
- "codeVerson": 218,
+ "version": "1.4.67",
+ "codeVerson": 219,
"description": "DooTask is task management system.",
"scripts": {
"start": "./cmd dev",
diff --git a/public/js/build/404.ed8bd33b.js b/public/js/build/404.f3036bb6.js
similarity index 90%
rename from public/js/build/404.ed8bd33b.js
rename to public/js/build/404.f3036bb6.js
index e5460e59f..76092ec68 100644
--- a/public/js/build/404.ed8bd33b.js
+++ b/public/js/build/404.f3036bb6.js
@@ -1 +1 @@
-import{n as m}from"./app.ccb8a946.js";import"./jquery.5514bc0e.js";import"./@babel.f9bcab46.js";import"./dayjs.95b8823d.js";import"./localforage.06336fb0.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./vuex.cc7cb26e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var p=function(){var t=this,r=t.$createElement;return t._self._c,t._m(0)},e=[function(){var t=this,r=t.$createElement,i=t._self._c||r;return i("div",{staticClass:"page-404"},[i("div",{staticClass:"flex-center position-ref full-height"},[i("div",{staticClass:"code"},[t._v("404")]),i("div",{staticClass:"message"},[t._v("Not Found")])])])}];const s={},o={};var _=m(s,p,e,!1,n,"7d7154a8",null,null);function n(t){for(let r in o)this[r]=o[r]}var rt=function(){return _.exports}();export{rt as default};
+import{n as m}from"./app.1c2a0fa1.js";import"./jquery.ce39e51d.js";import"./@babel.f9bcab46.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./vuex.cc7cb26e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var p=function(){var t=this,r=t.$createElement;return t._self._c,t._m(0)},e=[function(){var t=this,r=t.$createElement,i=t._self._c||r;return i("div",{staticClass:"page-404"},[i("div",{staticClass:"flex-center position-ref full-height"},[i("div",{staticClass:"code"},[t._v("404")]),i("div",{staticClass:"message"},[t._v("Not Found")])])])}];const s={},o={};var _=m(s,p,e,!1,n,"7d7154a8",null,null);function n(t){for(let r in o)this[r]=o[r]}var rt=function(){return _.exports}();export{rt as default};
diff --git a/public/js/build/AceEditor.03a62335.js b/public/js/build/AceEditor.aec2f4a1.js
similarity index 97%
rename from public/js/build/AceEditor.03a62335.js
rename to public/js/build/AceEditor.aec2f4a1.js
index 0a62d0e7a..c8bc3c340 100644
--- a/public/js/build/AceEditor.03a62335.js
+++ b/public/js/build/AceEditor.aec2f4a1.js
@@ -1 +1 @@
-import{m as p}from"./vuex.cc7cb26e.js";import{n as h}from"./app.ccb8a946.js";import"./jquery.5514bc0e.js";import"./@babel.f9bcab46.js";import"./dayjs.95b8823d.js";import"./localforage.06336fb0.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";const m={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(t){return t("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(t=>{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:t}){this.cursorPosition=this.editor.selection.getCursor();const[e]=t;e&&e.type==="error"?this.$emit("validationFailed",e):this.$emit("change",this.editor.getValue())},setSize(t,{width:e=this.width,height:i=this.height}){t.style.width=e&&typeof e=="number"?`${e}px`:"100%",t.style.height=i&&typeof i=="number"?`${i}px`:"100%",this.$nextTick(()=>this.editor&&this.editor.resize())},setValue(t){typeof t=="string"&&this.editor&&(this.editor.setValue(t),this.editor.clearSelection())},getFileMode(){var t=this.ext||"text";for(var e in this.supportedModes)for(var i=this.supportedModes[e],r=i[0].split("|"),a=e.toLowerCase(),s=0;s
")}}),t("div",{class:"department-tag-num"},` +${e.length}`)]))),t("div",{class:"team-table-department-warp"},s)}}})},mounted(){this.getLists(),this.getDepartmentLists()},watch:{keyIs(t){t||(this.keys={},this.setPage(1))},departmentSelect(){this.setPage(1)},departmentWidth(t){$A.setStorage("management.departmentWidth",t)},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},"departmentEditData.department":{handler(t,i=[]){if(!Array.isArray(t)||t.length===0||this.departmentList.length===0)return;const e=Array.isArray(i)?new Set(i):new Set,a=new Set(t);if(!Array.from(a).some(o=>!e.has(o)))return;const n=this.departmentList.reduce((o,r)=>(o[r.id]=r,o),{}),d=new Set;if(t.forEach(o=>{let r=n[o];for(;r&&r.parent_id&&r.parent_id>0;)a.has(r.parent_id)||d.add(r.parent_id),r=n[r.parent_id]}),d.size>0){const o=Array.from(new Set([...t,...d])).sort((r,l)=>r-l);(o.length!==t.length||o.some((r,l)=>r!==t[l]))&&this.$set(this.departmentEditData,"department",o)}},deep:!0}},computed:{...h(["formOptions"]),userStyle({minWidth:t,windowPortrait:i}){const e={};return t>0&&i&&(e.minWidth=t-40+"px"),e}},methods:{onSearch(){this.page=1,this.getLists()},getLists(){this.loadIng++,this.keyIs=$A.objImplode(this.keys)!="",this.keyDisable=this.keys.disable==="yes";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_data:this.checkinMode?1:0,page:Math.max(this.page,1),pagesize:Math.max($A.runNum(this.pageSize),10)}}).then(({data:i})=>{this.page=i.current_page,this.total=i.total,this.list=i.data,this.noText="\u6CA1\u6709\u76F8\u5173\u7684\u6210\u5458"}).catch(()=>{this.noText="\u6570\u636E\u52A0\u8F7D\u5931\u8D25"}).finally(i=>{this.loadIng--})},setPage(t){this.page=t,this.getLists()},setPageSize(t){this.page=1,this.pageSize=t,this.getLists()},dropUser(t,i){switch(t){case"checkin_mac":this.checkinMacEditData={type:"checkin_macs",userid:i.userid,nickname:i.nickname,checkin_macs:i.checkin_macs},this.checkinMacEditData.checkin_macs.length===0&&this.addCheckinDatum(),this.checkinMacEditShow=!0;break;case"checkin_face":this.checkinFaceEditData={type:"checkin_face",userid:i.userid,nickname:i.nickname,faceimg:i.checkin_face},this.checkinFaceEditShow=!0;break;case"openDialog":this.$store.dispatch("openDialogUserid",i.userid).catch(({msg:a})=>{$A.modalError(a)});break;case"setadmin":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u5C06\u3010ID:${i.userid}, ${i.nickname}\u3011\u8BBE\u4E3A\u7BA1\u7406\u5458\u5417\uFF1F`,loading:!0,onOk:()=>this.operationUser({userid:i.userid,type:t})});break;case"clearadmin":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u53D6\u6D88\u3010ID:${i.userid}, ${i.nickname}\u3011\u7BA1\u7406\u5458\u8EAB\u4EFD\u5417\uFF1F`,loading:!0,onOk:()=>this.operationUser({userid:i.userid,type:t})});break;case"settemp":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u5C06\u3010ID:${i.userid}, ${i.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:i.userid,type:t})});break;case"cleartemp":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u53D6\u6D88\u3010ID:${i.userid}, ${i.nickname}\u3011\u4E34\u65F6\u8EAB\u4EFD\u5417\uFF1F`,loading:!0,onOk:()=>this.operationUser({userid:i.userid,type:t})});break;case"email":$A.modalInput({title:"\u4FEE\u6539\u90AE\u7BB1",placeholder:`\u8BF7\u8F93\u5165\u65B0\u7684\u90AE\u7BB1\uFF08${i.email}\uFF09`,onOk:a=>a?this.operationUser({userid:i.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:i.userid,password:a}):"\u8BF7\u8F93\u5165\u65B0\u7684\u5BC6\u7801"});break;case"department":let e=[];i.department.some(a=>{const s=this.departmentList.find(n=>n.id==a);s&&e.push(s.owner_userid===i.userid?`${s.name} (${this.$L("\u8D1F\u8D23\u4EBA")})`:s.name)}),this.departmentEditData={type:"department",userid:i.userid,nickname:i.nickname,department:i.department.map(a=>parseInt(a))},this.departmentEditShow=!0;break;case"setdisable":this.disableData={type:"setdisable",userid:i.userid,nickname:i.nickname,transfer_userid:[],disable_time:""},this.disableShow=!0;break;case"cleardisable":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u6062\u590D\u5DF2\u79BB\u804C\u5E10\u53F7\u3010ID:${i.userid}, ${i.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:i.userid,type:t})});break;case"delete":$A.modalInput({title:`\u5220\u9664\u5E10\u53F7\u3010ID:${i.userid}, ${i.nickname}\u3011`,placeholder:"\u8BF7\u8F93\u5165\u5220\u9664\u539F\u56E0",okText:"\u786E\u5B9A\u5220\u9664",onOk:a=>a?this.operationUser({userid:i.userid,type:t,delete_reason:a}):"\u5220\u9664\u539F\u56E0\u4E0D\u80FD\u4E3A\u7A7A"});break;default:this.operationUser({userid:i.userid,type:t},!0);break}},operationUser(t,i){return new Promise((e,a)=>{let s=t;t.type=="checkin_macs"?this.checkinMacEditLoading++:t.type=="checkin_face"?(this.checkinFaceEditLoading++,s={type:t.type,userid:t.userid,nickname:t.nickname,checkin_face:$A.arrayLength(t.faceimg)>0?t.faceimg[0].url:""}):t.type=="department"?this.departmentEditLoading++:t.type=="setdisable"?(this.disableLoading++,s=Object.assign({},t),Array.isArray(s.transfer_userid)?s.transfer_userid.length>0?s.transfer_userid=s.transfer_userid[0]:delete s.transfer_userid:s.transfer_userid||delete s.transfer_userid):this.loadIng++,this.$store.dispatch("call",{url:"users/operation",data:s}).then(({msg:n})=>{$A.messageSuccess(n),this.getLists(),e(),t.type=="checkin_macs"?this.checkinMacEditShow=!1:t.type=="checkin_face"?this.checkinFaceEditShow=!1:t.type=="department"?this.departmentEditShow=!1:t.type=="setdisable"&&(this.disableShow=!1)}).catch(({msg:n})=>{i===!0&&$A.modalError(n),this.getLists(),a(n)}).finally(n=>{t.type=="checkin_macs"?this.checkinMacEditLoading--:t.type=="checkin_face"?this.checkinFaceEditLoading--:t.type=="department"?this.departmentEditLoading--:t.type=="setdisable"?this.disableLoading--:this.loadIng--})})},getDepartmentLists(){this.departmentLoading++,this.$store.dispatch("getDepartmentList").then(t=>{this.departmentList=t}).finally(t=>{this.departmentLoading--})},onMultipleMaxBefore(t){return $A.messageError(`\u6700\u591A\u9009\u62E9${t}\u4E2A\u90E8\u95E8`),!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},onVcDepartment(t,i){this.departmentOperation=t?i:0},onOpDepartment(t){if($A.leftExists(t,"add_")){this.onShowDepartment({parent_id:parseInt(t.substr(4))});return}if($A.leftExists(t,"edit_")){const i=this.departmentList.find(({id:e})=>e===parseInt(t.substr(5)));i&&this.onShowDepartment(i);return}if($A.leftExists(t,"dialog_")){const i=parseInt(t.substr(7));this.$store.dispatch("openDialog",i).catch(({msg:e})=>{$A.modalError(e||this.$L("\u6253\u5F00\u4F1A\u8BDD\u5931\u8D25"))});return}if($A.leftExists(t,"sync_")){const i=parseInt(t.substr(5));if(!this.departmentList.some(a=>a.parent_id===i)){$A.modalWarning({title:this.$L("\u540C\u6B65\u90E8\u95E8\u6210\u5458"),content:this.$L("\u5F53\u524D\u90E8\u95E8\u6CA1\u6709\u5B50\u90E8\u95E8\uFF0C\u65E0\u9700\u540C\u6B65")});return}$A.modalConfirm({title:this.$L("\u540C\u6B65\u90E8\u95E8\u6210\u5458"),content:`
")}}),t("div",{class:"department-tag-num"},` +${e.length}`)]))),t("div",{class:"team-table-department-warp"},s)}}})},mounted(){this.getLists(),this.getDepartmentLists()},watch:{keyIs(t){t||(this.keys={},this.setPage(1))},departmentSelect(){this.setPage(1)},departmentWidth(t){$A.setStorage("management.departmentWidth",t)},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},"departmentEditData.department":{handler(t,i=[]){if(!Array.isArray(t)||t.length===0||this.departmentList.length===0)return;const e=Array.isArray(i)?new Set(i):new Set,a=new Set(t);if(!Array.from(a).some(o=>!e.has(o)))return;const n=this.departmentList.reduce((o,r)=>(o[r.id]=r,o),{}),d=new Set;if(t.forEach(o=>{let r=n[o];for(;r&&r.parent_id&&r.parent_id>0;)a.has(r.parent_id)||d.add(r.parent_id),r=n[r.parent_id]}),d.size>0){const o=Array.from(new Set([...t,...d])).sort((r,l)=>r-l);(o.length!==t.length||o.some((r,l)=>r!==t[l]))&&this.$set(this.departmentEditData,"department",o)}},deep:!0}},computed:{...h(["formOptions"]),userStyle({minWidth:t,windowPortrait:i}){const e={};return t>0&&i&&(e.minWidth=t-40+"px"),e}},methods:{onSearch(){this.page=1,this.getLists()},getLists(){this.loadIng++,this.keyIs=$A.objImplode(this.keys)!="",this.keyDisable=this.keys.disable==="yes";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_data:this.checkinMode?1:0,page:Math.max(this.page,1),pagesize:Math.max($A.runNum(this.pageSize),10)}}).then(({data:i})=>{this.page=i.current_page,this.total=i.total,this.list=i.data,this.noText="\u6CA1\u6709\u76F8\u5173\u7684\u6210\u5458"}).catch(()=>{this.noText="\u6570\u636E\u52A0\u8F7D\u5931\u8D25"}).finally(i=>{this.loadIng--})},setPage(t){this.page=t,this.getLists()},setPageSize(t){this.page=1,this.pageSize=t,this.getLists()},dropUser(t,i){switch(t){case"checkin_mac":this.checkinMacEditData={type:"checkin_macs",userid:i.userid,nickname:i.nickname,checkin_macs:i.checkin_macs},this.checkinMacEditData.checkin_macs.length===0&&this.addCheckinDatum(),this.checkinMacEditShow=!0;break;case"checkin_face":this.checkinFaceEditData={type:"checkin_face",userid:i.userid,nickname:i.nickname,faceimg:i.checkin_face},this.checkinFaceEditShow=!0;break;case"openDialog":this.$store.dispatch("openDialogUserid",i.userid).catch(({msg:a})=>{$A.modalError(a)});break;case"setadmin":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u5C06\u3010ID:${i.userid}, ${i.nickname}\u3011\u8BBE\u4E3A\u7BA1\u7406\u5458\u5417\uFF1F`,loading:!0,onOk:()=>this.operationUser({userid:i.userid,type:t})});break;case"clearadmin":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u53D6\u6D88\u3010ID:${i.userid}, ${i.nickname}\u3011\u7BA1\u7406\u5458\u8EAB\u4EFD\u5417\uFF1F`,loading:!0,onOk:()=>this.operationUser({userid:i.userid,type:t})});break;case"settemp":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u5C06\u3010ID:${i.userid}, ${i.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:i.userid,type:t})});break;case"cleartemp":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u53D6\u6D88\u3010ID:${i.userid}, ${i.nickname}\u3011\u4E34\u65F6\u8EAB\u4EFD\u5417\uFF1F`,loading:!0,onOk:()=>this.operationUser({userid:i.userid,type:t})});break;case"email":$A.modalInput({title:"\u4FEE\u6539\u90AE\u7BB1",placeholder:`\u8BF7\u8F93\u5165\u65B0\u7684\u90AE\u7BB1\uFF08${i.email}\uFF09`,onOk:a=>a?this.operationUser({userid:i.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:i.userid,password:a}):"\u8BF7\u8F93\u5165\u65B0\u7684\u5BC6\u7801"});break;case"department":let e=[];i.department.some(a=>{const s=this.departmentList.find(n=>n.id==a);s&&e.push(s.owner_userid===i.userid?`${s.name} (${this.$L("\u8D1F\u8D23\u4EBA")})`:s.name)}),this.departmentEditData={type:"department",userid:i.userid,nickname:i.nickname,department:i.department.map(a=>parseInt(a))},this.departmentEditShow=!0;break;case"setdisable":this.disableData={type:"setdisable",userid:i.userid,nickname:i.nickname,transfer_userid:[],disable_time:""},this.disableShow=!0;break;case"cleardisable":$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u6062\u590D\u5DF2\u79BB\u804C\u5E10\u53F7\u3010ID:${i.userid}, ${i.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:i.userid,type:t})});break;case"delete":$A.modalInput({title:`\u5220\u9664\u5E10\u53F7\u3010ID:${i.userid}, ${i.nickname}\u3011`,placeholder:"\u8BF7\u8F93\u5165\u5220\u9664\u539F\u56E0",okText:"\u786E\u5B9A\u5220\u9664",onOk:a=>a?this.operationUser({userid:i.userid,type:t,delete_reason:a}):"\u5220\u9664\u539F\u56E0\u4E0D\u80FD\u4E3A\u7A7A"});break;default:this.operationUser({userid:i.userid,type:t},!0);break}},operationUser(t,i){return new Promise((e,a)=>{let s=t;t.type=="checkin_macs"?this.checkinMacEditLoading++:t.type=="checkin_face"?(this.checkinFaceEditLoading++,s={type:t.type,userid:t.userid,nickname:t.nickname,checkin_face:$A.arrayLength(t.faceimg)>0?t.faceimg[0].url:""}):t.type=="department"?this.departmentEditLoading++:t.type=="setdisable"?(this.disableLoading++,s=Object.assign({},t),Array.isArray(s.transfer_userid)?s.transfer_userid.length>0?s.transfer_userid=s.transfer_userid[0]:delete s.transfer_userid:s.transfer_userid||delete s.transfer_userid):this.loadIng++,this.$store.dispatch("call",{url:"users/operation",data:s}).then(({msg:n})=>{$A.messageSuccess(n),this.getLists(),e(),t.type=="checkin_macs"?this.checkinMacEditShow=!1:t.type=="checkin_face"?this.checkinFaceEditShow=!1:t.type=="department"?this.departmentEditShow=!1:t.type=="setdisable"&&(this.disableShow=!1)}).catch(({msg:n})=>{i===!0&&$A.modalError(n),this.getLists(),a(n)}).finally(n=>{t.type=="checkin_macs"?this.checkinMacEditLoading--:t.type=="checkin_face"?this.checkinFaceEditLoading--:t.type=="department"?this.departmentEditLoading--:t.type=="setdisable"?this.disableLoading--:this.loadIng--})})},getDepartmentLists(){this.departmentLoading++,this.$store.dispatch("getDepartmentList").then(t=>{this.departmentList=t}).finally(t=>{this.departmentLoading--})},onMultipleMaxBefore(t){return $A.messageError(`\u6700\u591A\u9009\u62E9${t}\u4E2A\u90E8\u95E8`),!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},onVcDepartment(t,i){this.departmentOperation=t?i:0},onOpDepartment(t){if($A.leftExists(t,"add_")){this.onShowDepartment({parent_id:parseInt(t.substr(4))});return}if($A.leftExists(t,"edit_")){const i=this.departmentList.find(({id:e})=>e===parseInt(t.substr(5)));i&&this.onShowDepartment(i);return}if($A.leftExists(t,"dialog_")){const i=parseInt(t.substr(7));this.$store.dispatch("openDialog",i).catch(({msg:e})=>{$A.modalError(e||this.$L("\u6253\u5F00\u4F1A\u8BDD\u5931\u8D25"))});return}if($A.leftExists(t,"sync_")){const i=parseInt(t.substr(5));if(!this.departmentList.some(a=>a.parent_id===i)){$A.modalWarning({title:this.$L("\u540C\u6B65\u90E8\u95E8\u6210\u5458"),content:this.$L("\u5F53\u524D\u90E8\u95E8\u6CA1\u6709\u5B50\u90E8\u95E8\uFF0C\u65E0\u9700\u540C\u6B65")});return}$A.modalConfirm({title:this.$L("\u540C\u6B65\u90E8\u95E8\u6210\u5458"),content:`
${t.label}
`);break}},onWebsocketMsg(t){if(!$A.isSubElectron)return;const{type:s,mode:e,data:i}=t;s==="dialog"&&e==="add"&&this.tempMsgs.push(i)},onMsgChange(t){const s=this.allMsgs.find(({type:e,id:i})=>e=="text"&&i==t.id);if(!!s){switch(typeof this.msgChangeCache[t.id]=="undefined"&&(this.msgChangeCache[t.id]=[],this.msgChangeCache[`${t.id}_load`]=!1),t.type){case"append":t.text&&this.msgChangeCache[t.id].push(...`${t.text}`.split("").map(e=>({type:"append",text:e})));break;case"replace":this.msgChangeCache[t.id]=[{type:"replace",text:t.text}];break}this.onMsgOutput(t.id,s.msg)}},onMsgOutput(t,s){const e=`${t}_load`,i=this.msgChangeCache[t];if(!(!i||i.length===0)&&this.msgChangeCache[e]!==!0){this.msgChangeCache[e]=!0;try{if(i.length===0){this.msgChangeCache[e]=!1;return}const{tail:a}=this.scrollInfo(),o=l=>l<=5?1:l<=20?2:l<=50?5:10,r=i.splice(0,o(i.length));let n=s.text;for(const l of r){const{type:d,text:c}=l;d==="append"?n+=c:d==="replace"&&(n=c)}s.text=n,this.$nextTick(l=>{if(a<=10&&a!=this.scrollInfo().tail&&(this.operatePreventScroll++,this.$refs.scroller.scrollToBottom(),setTimeout(d=>this.operatePreventScroll--,50)),i.length===0){this.msgChangeCache[e]=!1;return}setTimeout(d=>{this.msgChangeCache[e]=!1,n===s.text&&this.onMsgOutput(t,s)},5)})}catch{this.msgChangeCache[e]=!1}}},getTempId(){return this.tempId++},getMsgs(t){return new Promise((s,e)=>{setTimeout(i=>this.msgLoadIng++,2e3),$A.isSubElectron&&$A.syncPauses.set("saveDialogMsg",!0),this.$store.dispatch("getDialogMsgs",t).then(s).catch(e).finally(i=>{this.msgLoadIng--,$A.isSubElectron&&$A.syncPauses.delete("saveDialogMsg")})})},msgFilter(t){if(this.msgType){if(this.msgType==="tag"){if(!t.tag)return!1}else if(this.msgType==="todo"){if(!t.todo)return!1}else if(this.msgType==="link"){if(!t.link)return!1}else if(this.msgType!==t.mtype)return!1}return!(this.msgId&&t.reply_id!=this.msgId)},onSearchMsgId(){this.dialogSearchMsgId>0&&this.openId===this.dialogId&&(this.onPositionId(this.dialogSearchMsgId),this.$store.state.dialogSearchMsgId=0)},onPositionId(t,s=0,e=0){return new Promise((i,a)=>{if(t===0){$A.modalError("\u67E5\u770B\u5931\u8D25\uFF1A\u53C2\u6570\u9519\u8BEF"),a();return}if(this.loadMsg||this.msgType!==""){if(this.msgType="",e===0)this.$store.dispatch("showSpinner",600);else if(e>20){this.$store.dispatch("hiddenSpinner"),$A.modalError("\u67E5\u770B\u5931\u8D25\uFF1A\u8BF7\u6C42\u8D85\u65F6"),a();return}e++,setTimeout(n=>{this.onPositionId(t,s,e).then(i).catch(a)},Math.min(800,200*e));return}e>0&&this.$store.dispatch("hiddenSpinner");const o=this.allMsgs.findIndex(n=>n.id===t),r=this.prevId>0?0:-1;o>r?setTimeout(n=>{this.onToIndex(o,t),i()},200):(s>0&&this.$store.dispatch("setLoad",{key:`msg-${s}`,delay:600}),this.getMsgs({dialog_id:this.dialogId,msg_id:this.msgId,msg_type:this.msgType,position_id:t,spinner:2e3,save_before:n=>{this.preventToBottom=!0},save_after:n=>{this.$nextTick(l=>{this.preventToBottom=!1})}}).finally(n=>{const l=this.allMsgs.findIndex(d=>d.id===t);l>-1&&(this.onToIndex(l,t),i()),s>0&&this.$store.dispatch("cancelLoad",`msg-${s}`)}))})},onViewTodo(t){if(this.operateVisible)return;this.todoViewId=t.id,this.todoViewMid=t.msg_id,this.todoViewShow=!0,this.allMsgs.findIndex(e=>e.id===this.todoViewMid)===-1&&this.$store.dispatch("call",{url:"dialog/msg/one",data:{msg_id:this.todoViewMid}}).then(({data:e})=>{this.todoViewData=e})},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(t=>{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:t})=>{this.$store.dispatch("saveDialogTodo",{id:this.todoViewId,done_at:$A.daytz().format("YYYY-MM-DD HH:mm:ss")}),this.$store.dispatch("saveDialog",{id:this.dialogId,todo_num:this.todoList.length}),t.add&&this.sendSuccess(t.add),this.todoList.length===0&&this.$store.dispatch("getDialogTodo",this.dialogId),this.onCloseTodo()}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.todoViewLoad=!1}))},inputFocus(){this.$nextTick(t=>{var s;(s=this.$refs.input)==null||s.focus()})},onRecordState(t){this.recordState=t},chatPasteDrag(t,s){if(this.dialogDrag=!1,$A.dataHasFolder(s==="drag"?t.dataTransfer:t.clipboardData)){t.preventDefault(),$A.modalWarning(`\u6682\u4E0D\u652F\u6301${s==="drag"?"\u62D6\u62FD":"\u7C98\u8D34"}\u6587\u4EF6\u5939\u3002`);return}const e=s==="drag"?t.dataTransfer.files:t.clipboardData.files,i=Array.prototype.slice.call(e);i.length>0&&(t.preventDefault(),this.sendFileMsg(i))},chatDragOver(t,s){let e=this.__dialog_drag=$A.randomString(8);if(!t)setTimeout(()=>{e===this.__dialog_drag&&(this.dialogDrag=t)},150);else{if(s.dataTransfer.effectAllowed==="move")return;this.dialogDrag=!0}},onTouchStart(){this.keyboardShow&&$A.eeuiAppSetDisabledUserLongClickSelect(500)},onPointerover({pointerType:t}){this.pointerMouse=t==="mouse"},pasteSend(){this.__paste_send_index||(this.__paste_send_index=1,setTimeout(()=>{this.__paste_send_index=0},300),this.pasteFile.some(t=>{this.$refs.chatUpload.upload(t)}))},chatFile(t,s){switch(t){case"progress":const e=s.showProgress?Math.max(s.percentage,.01):!1,i=this.tempMsgs.find(({id:o})=>o==s.tempId);if(i){i.msg.percentage=e;return}const a={id:s.tempId,file_uid:s.uid,file_method:"uplaod",dialog_id:this.dialogData.id,reply_id:this.quoteId,type:"file",userid:this.userId,msg:Object.assign(s.msg||{},{percentage:e})};this.tempMsgs.push(a),this.msgType="",this.cancelQuote(),this.onActive(),this.$nextTick(this.onToBottom);break;case"error":this.forgetTempMsg(s.tempId);break;case"success":this.sendSuccess(s.data,s.tempId);break}},sendSuccess(t,s=0,e=!1){if($A.isArray(t)){t.some(i=>{this.sendSuccess(i,s)});return}if(s>0){const i=this.tempMsgs.findIndex(({id:a})=>a==s);if(i>-1){if(t.type==="text"){const a=this.tempMsgs[i];a&&(t.msg.text=this.replaceImgSrcAndKeepOriginal(t.msg.text,a.msg.text))}this.tempMsgs.splice(i,1,t)}setTimeout(a=>{this.forgetTempMsg(s),this.forgetTempMsg(t.id)},1e3)}this.$store.dispatch("saveDialog",{id:this.dialogId,hide:0}),this.$store.dispatch("saveDialogMsg",t),e||(this.$store.dispatch("increaseTaskMsgNum",{id:t.dialog_id}),this.$store.dispatch("increaseMsgReplyNum",{id:t.reply_id}),this.$store.dispatch("updateDialogLastMsg",t)),this.cancelQuote(),this.onActive()},replaceImgSrcAndKeepOriginal(t,s){const e=[],i=[];if(s=s||"",t=t||"",s.replace(/<\/p>/g,"
${o?this.$L(o):" "}
`).join(""),onOk:()=>{this.getContent()}})}break}},onFrameLoad(){this.loadPreview=!1},keySave(t){this.value&&t.keyCode===83&&(t.metaKey||t.ctrlKey)&&(t.preventDefault(),this.onSaveSave())},getContent(){if(this.fileId===0){this.contentDetail={},this.updateBak();return}if(["word","excel","ppt"].includes(this.file.type)){this.contentDetail=$A.cloneJSON(this.file),this.updateBak();return}this.loadSave++,setTimeout(t=>{this.loadContent++},600),this.$store.dispatch("call",{url:"file/content",data:{id:this.fileId}}).then(({data:t})=>{this.contentDetail=t.content,this.updateBak()}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.loadSave--,this.loadContent--})},updateBak(){this.contentBak=$A.jsonStringify(this.contentDetail)},handleClick(t){switch(t){case"link":this.linkData={id:this.fileId,name:this.file.name,guest_access:Boolean(this.file.guest_access)},this.linkShow=!0,this.linkGet();break;case"saveBefore":!this.equalContent&&this.loadSave==0?this.handleClick("save"):$A.messageWarning("\u6CA1\u6709\u4EFB\u4F55\u4FEE\u6539\uFF01");break;case"save":if(this.file.only_view)return;this.updateBak(),this.loadSave++,this.$store.dispatch("call",{url:"file/content/save",method:"post",data:{id:this.fileId,content:this.contentBak}}).then(({data:s,msg:e})=>{$A.messageSuccess(e);const i={id:this.fileId,size:s.size};this.fileExt&&(i.ext=this.fileExt,this.fileExt=null),this.edit=!this.windowPortrait,this.$store.dispatch("saveFile",i)}).catch(({msg:s})=>{$A.modalError(s),this.getContent()}).finally(s=>{this.loadSave--});break;case"officeReady":this.officeReady=!0;break}},onRestoreHistory(t){this.historyShow=!1,$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u6587\u4EF6\u8FD8\u539F\u81F3\u3010${t.created_at}\u3011\u5417\uFF1F`,cancelText:"\u53D6\u6D88",okText:"\u786E\u5B9A",loading:!0,onOk:()=>new Promise((s,e)=>{this.$store.dispatch("call",{url:"file/content/restore",data:{id:this.fileId,history_id:t.id}}).then(({msg:i})=>{s(i),this.contentDetail=null,this.getContent()}).catch(({msg:i})=>{e(i)})})})},linkGet(t){this.linkLoad++;const{id:s,name:e}=this.linkData,i=this.linkData.guest_access;this.$store.dispatch("call",{url:"file/link",data:{id:this.linkData.id,refresh:t===!0?"yes":"no",guest_access:this.linkData.guest_access?"yes":"no"}}).then(({data:n})=>{const o=n.guest_access!==void 0?Boolean(n.guest_access):i;this.linkData=Object.assign({},n,{id:s,name:e,guest_access:o}),this.$store.dispatch("saveFile",{id:s,guest_access:o?1:0}),t===!0?this.linkCopy():t===!1?$A.messageSuccess("\u4FEE\u6539\u6210\u529F"):this.linkCopy()}).catch(({msg:n})=>{this.linkShow=!1,$A.modalError(n)}).finally(n=>{this.linkLoad--})},onGuestAccessChange(t){this.linkData.url&&this.linkGet(!1)},linkCopy(){!this.linkData.url||(this.linkFocus(),this.copyText(this.linkData.url))},linkFocus(){this.$nextTick(t=>{this.$refs.linkInput.focus({cursor:"all"})})},exportMenu(t){switch(this.file.type){case"mind":this.$refs.myMind.exportHandle(t,this.file.name);break}},unSaveGive(){this.getContent(),this.unsaveTip=!1},onSaveSave(){this.handleClick("save"),this.unsaveTip=!1},setTextType(t){this.fileExt=t,this.$set(this.contentDetail,"type",t)},documentKey(){return new Promise((t,s)=>{this.$store.dispatch("call",{url:"file/content",data:{id:this.fileId,only_update_at:"yes"}}).then(({data:e})=>{t(`${e.id}-${$A.dayjs(e.update_at).unix()}`)}).catch(e=>{s(e)})})}}},c={};var b=d(L,y,k,!1,E,null,null,null);function E(t){for(let s in c)this[s]=c[s]}var wt=function(){return b.exports}();export{wt as default}; +import{_ as a}from"./openpgp_hi.15f91b1d.js";import{n as d,e as l}from"./app.1c2a0fa1.js";import{I as h}from"./IFrame.b5bcaf81.js";import"./jquery.ce39e51d.js";import"./@babel.f9bcab46.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./vuex.cc7cb26e.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var u=function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"file-history"},[e("Table",{attrs:{width:t.windowWidth-40>480?480:t.windowWidth-40,"max-height":t.windowHeight-180,columns:t.columns,data:t.list,loading:t.loadIng>0,"no-data-text":t.$L(t.noText),"highlight-row":"",stripe:""}}),t.total>t.pageSize?e("Page",{attrs:{total:t.total,current:t.page,"page-size":t.pageSize,disabled:t.loadIng>0,simple:!0},on:{"on-change":t.setPage,"on-page-size-change":t.setPageSize}}):t._e()],1)},p=[];const f={name:"FileHistory",props:{value:{type:Boolean,default:!1},file:{type:Object,default:()=>({})}},data(){return{loadIng:0,columns:[{title:this.$L("\u65E5\u671F"),key:"created_at",width:168},{title:this.$L("\u521B\u5EFA\u4EBA"),width:120,render:(t,{row:s})=>t("UserAvatar",{props:{showName:!0,size:22,userid:s.userid}})},{title:this.$L("\u5927\u5C0F"),key:"size",width:90,render:(t,{row:s})=>t("AutoTip",$A.bytesToSize(s.size))},{title:this.$L("\u64CD\u4F5C"),align:"center",width:100,render:(t,{index:s,row:e,column:i})=>s===0&&this.page===1?t("div","-"):t("TableAction",{props:{column:i,menu:[{label:this.$L("\u67E5\u770B"),action:"preview"},{label:this.$L("\u8FD8\u539F"),action:"restore"}]},on:{action:n=>{this.onAction(n,e)}}})}],list:[],page:1,pageSize:10,total:0,noText:""}},mounted(){},watch:{value:{handler(t){t&&this.setPage(1)},immediate:!0}},computed:{fileId(){return this.file.id||0}},methods:{getLists(){this.fileId!==0&&(this.loadIng++,this.$store.dispatch("call",{url:"file/content/history",data:{id:this.fileId,page:Math.max(this.page,1),pagesize:Math.max($A.runNum(this.pageSize),10)}}).then(({data:t})=>{this.page=t.current_page,this.total=t.total,this.list=t.data,this.noText="\u6CA1\u6709\u76F8\u5173\u7684\u6570\u636E"}).catch(()=>{this.noText="\u6570\u636E\u52A0\u8F7D\u5931\u8D25"}).finally(t=>{this.loadIng--}))},setPage(t){this.page=t,this.getLists()},setPageSize(t){this.page=1,this.pageSize=t,this.getLists()},onAction(t,s){switch(t){case"restore":this.$emit("on-restore",s);break;case"preview":const e=$A.getFileName(this.file)+` [${s.created_at}]`,i=`/single/file/${this.fileId}?history_id=${s.id}&history_title=${e}`;this.$Electron?this.$store.dispatch("openChildWindow",{name:`file-${this.fileId}-${s.id}`,path:i,userAgent:"/hideenOfficeTitle/",force:!1,config:{title:e,titleFixed:!0,parent:null,width:Math.min(window.screen.availWidth,1440),height:Math.min(window.screen.availHeight,900)}}):this.$isEEUIApp?this.$store.dispatch("openAppChildPage",{pageType:"app",pageTitle:e,url:"web.js",params:{titleFixed:!0,url:$A.urlReplaceHash(i)}}):window.open($A.mainUrl(i.substring(1)));break}}}},r={};var v=d(f,u,p,!1,m,"c226e2f6",null,null);function m(t){for(let s in r)this[s]=r[s]}var _=function(){return v.exports}(),y=function(){var t=this,s=t.$createElement,e=t._self._c||s;return t.ready?e("div",{staticClass:"file-content"},[t.isPreview?e("IFrame",{staticClass:"preview-iframe",attrs:{src:t.previewUrl},on:{"on-load":t.onFrameLoad}}):t.contentDetail?[["word","excel","ppt"].includes(t.file.type)?e("EPopover",{attrs:{trigger:"click"},model:{value:t.historyShow,callback:function(i){t.historyShow=i},expression:"historyShow"}},[e("div",{staticClass:"file-content-history"},[e("FileHistory",{attrs:{value:t.historyShow,file:t.file},on:{"on-restore":t.onRestoreHistory}})],1),e("div",{ref:"officeHeader",staticClass:"office-header",attrs:{slot:"reference"},slot:"reference"})]):e("div",{staticClass:"edit-header"},[e("div",{staticClass:"header-title"},[t.equalContent?t._e():e("EPopover",{staticClass:"file-unsave-tip",model:{value:t.unsaveTip,callback:function(i){t.unsaveTip=i},expression:"unsaveTip"}},[e("div",{staticClass:"confirm-popover"},[e("p",[t._v(t._s(t.$L("\u672A\u4FDD\u5B58\u5F53\u524D\u4FEE\u6539\u5185\u5BB9\uFF1F")))]),e("div",{staticClass:"buttons"},[e("Button",{attrs:{size:"small",type:"text"},on:{click:t.unSaveGive}},[t._v(t._s(t.$L("\u653E\u5F03")))]),e("Button",{attrs:{size:"small",type:"primary"},on:{click:t.onSaveSave}},[t._v(t._s(t.$L("\u4FDD\u5B58")))])],1)]),e("span",{attrs:{slot:"reference"},slot:"reference"},[t._v("["+t._s(t.$L("\u672A\u4FDD\u5B58"))+"*]")])]),e("span",{staticClass:"user-select-auto"},[t._v(t._s(t.fileName))])],1),e("div",{staticClass:"header-user"},[e("ul",[t._l(t.editUser,function(i,n){return n<=10?e("li",{key:n},[e("UserAvatar",{attrs:{userid:i,size:28,"border-width":2}})],1):t._e()}),t.editUser.length>10?e("li",{staticClass:"more",attrs:{title:t.editUser.length}},[t._v(t._s(t.editUser.length>999?"...":t.editUser.length))]):t._e()],2)]),t.file.type=="document"&&t.contentDetail&&!t.windowPortrait?e("div",{staticClass:"header-hint"},[e("ButtonGroup",{attrs:{size:"small",shape:"circle"}},[e("Button",{attrs:{type:`${t.contentDetail.type=="md"?"primary":"default"}`},on:{click:function(i){return t.setTextType("md")}}},[t._v(t._s(t.$L("MD\u7F16\u8F91\u5668")))]),e("Button",{attrs:{type:`${t.contentDetail.type!="md"?"primary":"default"}`},on:{click:function(i){return t.setTextType("text")}}},[t._v(t._s(t.$L("\u6587\u672C\u7F16\u8F91\u5668")))])],1)],1):t._e(),t.file.type=="mind"?e("div",{staticClass:"header-hint"},[t._v(" "+t._s(t.$L("\u9009\u4E2D\u8282\u70B9\uFF0C\u6309enter\u952E\u6DFB\u52A0\u540C\u7EA7\u8282\u70B9\uFF0Ctab\u952E\u6DFB\u52A0\u5B50\u8282\u70B9"))+" ")]):t._e(),t.file.type=="mind"?e("Dropdown",{staticClass:"header-hint",attrs:{trigger:"click",transfer:""},on:{"on-click":t.exportMenu}},[e("a",{attrs:{href:"javascript:void(0)"}},[t._v(t._s(t.$L("\u5BFC\u51FA"))),e("Icon",{attrs:{type:"ios-arrow-down"}})],1),e("DropdownMenu",{attrs:{slot:"list"},slot:"list"},[e("DropdownItem",{attrs:{name:"png"}},[t._v(t._s(t.$L("\u5BFC\u51FAPNG\u56FE\u7247")))]),e("DropdownItem",{attrs:{name:"pdf"}},[t._v(t._s(t.$L("\u5BFC\u51FAPDF\u6587\u4EF6")))])],1)],1):t._e(),t.file.only_view?t._e():[e("div",{staticClass:"header-icons"},[e("ETooltip",{attrs:{disabled:t.$isEEUIApp||t.windowTouch,content:t.$L("\u6587\u4EF6\u94FE\u63A5")}},[e("div",{staticClass:"header-icon",on:{click:function(i){return t.handleClick("link")}}},[e("i",{staticClass:"taskfont"},[t._v("\uE785")])])]),e("EPopover",{attrs:{trigger:"click"},model:{value:t.historyShow,callback:function(i){t.historyShow=i},expression:"historyShow"}},[e("div",{staticClass:"file-content-history"},[e("FileHistory",{attrs:{value:t.historyShow,file:t.file},on:{"on-restore":t.onRestoreHistory}})],1),e("ETooltip",{ref:"historyTip",attrs:{slot:"reference",disabled:t.$isEEUIApp||t.windowTouch||t.historyShow,content:t.$L("\u5386\u53F2\u7248\u672C")},slot:"reference"},[e("div",{staticClass:"header-icon"},[e("i",{staticClass:"taskfont"},[t._v("\uE71D")])])])],1)],1),t.windowPortrait&&t.file.type=="document"?[t.edit?t.edit&&t.equalContent?e("Button",{staticClass:"header-button",attrs:{size:"small"},on:{click:function(i){t.edit=!1}}},[t._v(t._s(t.$L("\u53D6\u6D88")))]):e("Button",{staticClass:"header-button",attrs:{disabled:t.equalContent,loading:t.loadSave>0,size:"small",type:"primary"},on:{click:function(i){return t.handleClick("save")}}},[t._v(t._s(t.$L("\u4FDD\u5B58")))]):e("Button",{staticClass:"header-button",attrs:{size:"small",type:"primary"},on:{click:function(i){t.edit=!0}}},[t._v(t._s(t.$L("\u7F16\u8F91")))])]:e("Button",{staticClass:"header-button",attrs:{disabled:t.equalContent,loading:t.loadSave>0,size:"small",type:"primary"},on:{click:function(i){return t.handleClick("save")}}},[t._v(t._s(t.$L("\u4FDD\u5B58")))])]],2),e("div",{staticClass:"content-body user-select-auto"},[t.historyShow?e("div",{staticClass:"content-mask"}):t._e(),t.file.type=="document"?[t.contentDetail.type=="md"?[t.edit?e("VMEditor",{model:{value:t.contentDetail.content,callback:function(i){t.$set(t.contentDetail,"content",i)},expression:"contentDetail.content"}}):e("VMPreview",{attrs:{value:t.contentDetail.content}})]:e("TEditor",{attrs:{readOnly:!t.edit,height:"100%"},on:{editorSave:function(i){return t.handleClick("saveBefore")}},model:{value:t.contentDetail.content,callback:function(i){t.$set(t.contentDetail,"content",i)},expression:"contentDetail.content"}})]:t.file.type=="drawio"?e("Drawio",{ref:"myFlow",attrs:{title:t.file.name},on:{saveData:function(i){return t.handleClick("saveBefore")}},model:{value:t.contentDetail,callback:function(i){t.contentDetail=i},expression:"contentDetail"}}):t.file.type=="mind"?e("Minder",{ref:"myMind",on:{saveData:function(i){return t.handleClick("saveBefore")}},model:{value:t.contentDetail,callback:function(i){t.contentDetail=i},expression:"contentDetail"}}):["code","txt"].includes(t.file.type)?e("AceEditor",{attrs:{ext:t.file.ext},on:{saveData:function(i){return t.handleClick("saveBefore")}},model:{value:t.contentDetail.content,callback:function(i){t.$set(t.contentDetail,"content",i)},expression:"contentDetail.content"}}):["word","excel","ppt"].includes(t.file.type)?e("OnlyOffice",{attrs:{documentKey:t.documentKey},on:{"on-document-ready":function(i){return t.handleClick("officeReady")}},model:{value:t.contentDetail,callback:function(i){t.contentDetail=i},expression:"contentDetail"}}):t._e()],2)]:t._e(),t.contentLoad?e("div",{staticClass:"content-load"},[e("Loading")],1):t._e(),e("Modal",{attrs:{title:t.$L("\u6587\u4EF6\u94FE\u63A5"),"mask-closable":!1},model:{value:t.linkShow,callback:function(i){t.linkShow=i},expression:"linkShow"}},[e("div",[e("div",{staticStyle:{margin:"-10px 0 8px"}},[t._v(t._s(t.$L("\u6587\u4EF6\u540D\u79F0"))+": "+t._s(t.linkData.name))]),e("Input",{ref:"linkInput",attrs:{type:"textarea",rows:2,readonly:""},on:{"on-focus":t.linkFocus},model:{value:t.linkData.url,callback:function(i){t.$set(t.linkData,"url",i)},expression:"linkData.url"}}),e("div",{staticStyle:{margin:"12px 0"}},[e("Checkbox",{on:{"on-change":t.onGuestAccessChange},model:{value:t.linkData.guest_access,callback:function(i){t.$set(t.linkData,"guest_access",i)},expression:"linkData.guest_access"}},[t._v(" "+t._s(t.$L("\u5141\u8BB8\u6E38\u5BA2\u8BBF\u95EE\u6B64\u94FE\u63A5"))+" ")]),t.linkData.guest_access?e("div",{staticStyle:{color:"#ff9900","margin-top":"6px"}},[e("Icon",{attrs:{type:"ios-warning"}}),t._v(" "+t._s(t.$L("\u8B66\u544A\uFF1A\u4EFB\u4F55\u4EBA\u90FD\u53EF\u901A\u8FC7\u6B64\u94FE\u63A5\u8BBF\u95EE\u6587\u4EF6"))+" ")],1):t._e()],1),e("div",{staticClass:"form-tip",staticStyle:{"padding-top":"6px"}},[t._v(" "+t._s(t.$L("\u53EF\u901A\u8FC7\u6B64\u94FE\u63A5\u6D4F\u89C8\u6587\u4EF6\u3002"))+" "),e("Poptip",{attrs:{confirm:"",placement:"bottom","ok-text":t.$L("\u786E\u5B9A"),"cancel-text":t.$L("\u53D6\u6D88"),transfer:""},on:{"on-ok":function(i){return t.linkGet(!0)}}},[e("div",{attrs:{slot:"title"},slot:"title"},[e("p",[e("strong",[t._v(t._s(t.$L("\u6CE8\u610F\uFF1A\u5237\u65B0\u5C06\u5BFC\u81F4\u539F\u6765\u7684\u94FE\u63A5\u5931\u6548\uFF01")))])])]),e("a",{attrs:{href:"javascript:void(0)"}},[t._v(t._s(t.$L("\u5237\u65B0\u94FE\u63A5")))])])],1)],1),e("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[e("Button",{attrs:{type:"default"},on:{click:function(i){t.linkShow=!1}}},[t._v(t._s(t.$L("\u53D6\u6D88")))]),e("Button",{attrs:{type:"primary",loading:t.linkLoad>0},on:{click:t.linkCopy}},[t._v(t._s(t.$L("\u590D\u5236")))])],1)])],2):t._e()},k=[];const $=()=>a(()=>import("./index.68068dfe.js"),["js/build/index.68068dfe.js","js/build/openpgp_hi.15f91b1d.js","js/build/index.40a8e116.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/@babel.f9bcab46.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/vuex.cc7cb26e.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),g=()=>a(()=>import("./preview.1699edcd.js"),["js/build/preview.1699edcd.js","js/build/openpgp_hi.15f91b1d.js","js/build/index.40a8e116.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/@babel.f9bcab46.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/vuex.cc7cb26e.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),w=()=>a(()=>import("./TEditor.55be9b68.js"),["js/build/TEditor.55be9b68.js","js/build/tinymce.24840f82.js","js/build/@babel.f9bcab46.js","js/build/ImgUpload.6b64df7a.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/vuex.cc7cb26e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),D=()=>a(()=>import("./AceEditor.aec2f4a1.js"),["js/build/AceEditor.aec2f4a1.js","js/build/vuex.cc7cb26e.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/@babel.f9bcab46.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),C=()=>a(()=>import("./OnlyOffice.aa9825d9.js"),["js/build/OnlyOffice.aa9825d9.js","js/build/OnlyOffice.4682ee93.css","js/build/vuex.cc7cb26e.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/@babel.f9bcab46.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),x=()=>a(()=>import("./Drawio.0d628d62.js"),["js/build/Drawio.0d628d62.js","js/build/Drawio.6a04e353.css","js/build/vuex.cc7cb26e.js","js/build/IFrame.b5bcaf81.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/@babel.f9bcab46.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),S=()=>a(()=>import("./Minder.ec13b0b4.js"),["js/build/Minder.ec13b0b4.js","js/build/Minder.b3680370.css","js/build/IFrame.b5bcaf81.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/@babel.f9bcab46.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/vuex.cc7cb26e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),L={name:"FileContent",components:{IFrame:h,FileHistory:_,AceEditor:D,TEditor:w,VMEditor:$,OnlyOffice:C,Drawio:x,Minder:S,VMPreview:g},props:{value:{type:Boolean,default:!1},file:{type:Object,default:()=>({})}},data(){return{ready:!1,loadSave:0,loadContent:0,unsaveTip:!1,fileExt:null,contentDetail:null,contentBak:{},editUser:[],loadPreview:!0,linkShow:!1,linkData:{guest_access:!1},linkLoad:0,historyShow:!1,officeReady:!1,edit:!1}},mounted(){this.edit=!this.windowPortrait,document.addEventListener("keydown",this.keySave),window.addEventListener("message",this.handleOfficeMessage),l.on("websocketMsg",this.onWebsocketMsg),this.$isSubElectron&&(window.__onBeforeUnload=()=>{if(this.$store.dispatch("onBeforeUnload"),!this.equalContent)return $A.modalConfirm({content:"\u4FEE\u6539\u7684\u5185\u5BB9\u5C1A\u672A\u4FDD\u5B58\uFF0C\u786E\u5B9A\u8981\u653E\u5F03\u4FEE\u6539\u5417\uFF1F",cancelText:"\u53D6\u6D88",okText:"\u653E\u5F03",onOk:()=>{this.$Electron.sendMessage("windowDestroy")}}),!0})},beforeDestroy(){document.removeEventListener("keydown",this.keySave),window.removeEventListener("message",this.handleOfficeMessage),l.off("websocketMsg",this.onWebsocketMsg)},watch:{value:{handler(t){t?(this.ready=!0,this.editUser=[this.userId],this.getContent()):(this.linkShow=!1,this.historyShow=!1,this.officeReady=!1,this.fileExt=null)},immediate:!0},historyShow(t){!t&&this.$refs.historyTip&&this.$refs.historyTip.updatePopper()}},computed:{fileId(){return this.file.id||0},fileName(){return this.fileExt?$A.getFileName(Object.assign(this.file,{ext:this.fileExt})):$A.getFileName(this.file)},equalContent(){return this.contentBak==$A.jsonStringify(this.contentDetail)},contentLoad(){return this.loadContent>0||this.previewLoad},isPreview(){return this.contentDetail&&this.contentDetail.preview===!0},previewLoad(){return this.isPreview&&this.loadPreview===!0},previewUrl(){if(this.isPreview){const{name:t,key:s}=this.contentDetail;return $A.onlinePreviewUrl(t,s)}return""}},methods:{handleOfficeMessage({data:t,source:s}){if(t.source==="onlyoffice")switch(t.action){case"ready":s.postMessage("createMenu","*");break;case"link":this.handleClick("link");break;case"history":const e=this.$refs.officeHeader;e&&(e.style.top=`${t.rect.top}px`,e.style.left=`${t.rect.left}px`,e.style.width=`${t.rect.width}px`,e.style.height=`${t.rect.height}px`,e.click());break}},onWebsocketMsg(t){const{type:s,action:e,data:i}=t;switch(s){case"path":i.path=="/single/file/"+this.fileId&&(this.editUser=i.userids);break;case"file":if(e=="content"&&this.value&&i.id==this.fileId){const n=["\u56E2\u961F\u6210\u5458\u300C"+t.nickname+"\u300D\u66F4\u65B0\u4E86\u5185\u5BB9\uFF0C","\u66F4\u65B0\u65F6\u95F4\uFF1A"+$A.dayjs(t.time).format("YYYY-MM-DD HH:mm:ss")+"\u3002","","\u70B9\u51FB\u3010\u786E\u5B9A\u3011\u52A0\u8F7D\u6700\u65B0\u5185\u5BB9\u3002"];$A.modalConfirm({language:!1,title:this.$L("\u66F4\u65B0\u63D0\u793A"),content:n.map(o=>`${o?this.$L(o):" "}
`).join(""),onOk:()=>{this.getContent()}})}break}},onFrameLoad(){this.loadPreview=!1},keySave(t){this.value&&t.keyCode===83&&(t.metaKey||t.ctrlKey)&&(t.preventDefault(),this.onSaveSave())},getContent(){if(this.fileId===0){this.contentDetail={},this.updateBak();return}if(["word","excel","ppt"].includes(this.file.type)){this.contentDetail=$A.cloneJSON(this.file),this.updateBak();return}this.loadSave++,setTimeout(t=>{this.loadContent++},600),this.$store.dispatch("call",{url:"file/content",data:{id:this.fileId}}).then(({data:t})=>{this.contentDetail=t.content,this.updateBak()}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.loadSave--,this.loadContent--})},updateBak(){this.contentBak=$A.jsonStringify(this.contentDetail)},handleClick(t){switch(t){case"link":this.linkData={id:this.fileId,name:this.file.name,guest_access:Boolean(this.file.guest_access)},this.linkShow=!0,this.linkGet();break;case"saveBefore":!this.equalContent&&this.loadSave==0?this.handleClick("save"):$A.messageWarning("\u6CA1\u6709\u4EFB\u4F55\u4FEE\u6539\uFF01");break;case"save":if(this.file.only_view)return;this.updateBak(),this.loadSave++,this.$store.dispatch("call",{url:"file/content/save",method:"post",data:{id:this.fileId,content:this.contentBak}}).then(({data:s,msg:e})=>{$A.messageSuccess(e);const i={id:this.fileId,size:s.size};this.fileExt&&(i.ext=this.fileExt,this.fileExt=null),this.edit=!this.windowPortrait,this.$store.dispatch("saveFile",i)}).catch(({msg:s})=>{$A.modalError(s),this.getContent()}).finally(s=>{this.loadSave--});break;case"officeReady":this.officeReady=!0;break}},onRestoreHistory(t){this.historyShow=!1,$A.modalConfirm({content:`\u4F60\u786E\u5B9A\u6587\u4EF6\u8FD8\u539F\u81F3\u3010${t.created_at}\u3011\u5417\uFF1F`,cancelText:"\u53D6\u6D88",okText:"\u786E\u5B9A",loading:!0,onOk:()=>new Promise((s,e)=>{this.$store.dispatch("call",{url:"file/content/restore",data:{id:this.fileId,history_id:t.id}}).then(({msg:i})=>{s(i),this.contentDetail=null,this.getContent()}).catch(({msg:i})=>{e(i)})})})},linkGet(t){this.linkLoad++;const{id:s,name:e}=this.linkData,i=this.linkData.guest_access;this.$store.dispatch("call",{url:"file/link",data:{id:this.linkData.id,refresh:t===!0?"yes":"no",guest_access:this.linkData.guest_access?"yes":"no"}}).then(({data:n})=>{const o=n.guest_access!==void 0?Boolean(n.guest_access):i;this.linkData=Object.assign({},n,{id:s,name:e,guest_access:o}),this.$store.dispatch("saveFile",{id:s,guest_access:o?1:0}),t===!0?this.linkCopy():t===!1?$A.messageSuccess("\u4FEE\u6539\u6210\u529F"):this.linkCopy()}).catch(({msg:n})=>{this.linkShow=!1,$A.modalError(n)}).finally(n=>{this.linkLoad--})},onGuestAccessChange(t){this.linkData.url&&this.linkGet(!1)},linkCopy(){!this.linkData.url||(this.linkFocus(),this.copyText(this.linkData.url))},linkFocus(){this.$nextTick(t=>{this.$refs.linkInput.focus({cursor:"all"})})},exportMenu(t){switch(this.file.type){case"mind":this.$refs.myMind.exportHandle(t,this.file.name);break}},unSaveGive(){this.getContent(),this.unsaveTip=!1},onSaveSave(){this.handleClick("save"),this.unsaveTip=!1},setTextType(t){this.fileExt=t,this.$set(this.contentDetail,"type",t)},documentKey(){return new Promise((t,s)=>{this.$store.dispatch("call",{url:"file/content",data:{id:this.fileId,only_update_at:"yes"}}).then(({data:e})=>{t(`${e.id}-${$A.dayjs(e.update_at).unix()}`)}).catch(e=>{s(e)})})}}},c={};var b=d(L,y,k,!1,E,null,null,null);function E(t){for(let s in c)this[s]=c[s]}var wt=function(){return b.exports}();export{wt as default}; diff --git a/public/js/build/FilePreview.363a8be4.js b/public/js/build/FilePreview.f09b0f49.js similarity index 84% rename from public/js/build/FilePreview.363a8be4.js rename to public/js/build/FilePreview.f09b0f49.js index 71952abcf..9730a6a4a 100644 --- a/public/js/build/FilePreview.363a8be4.js +++ b/public/js/build/FilePreview.f09b0f49.js @@ -1 +1 @@ -import{_ as o}from"./openpgp_hi.15f91b1d.js";import{I as n}from"./IFrame.5540c7ba.js";import{n as a}from"./app.ccb8a946.js";import"./jquery.5514bc0e.js";import"./@babel.f9bcab46.js";import"./dayjs.95b8823d.js";import"./localforage.06336fb0.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./vuex.cc7cb26e.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var l=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("div",{staticClass:"file-preview"},[t.isPreview?e("IFrame",{staticClass:"preview-iframe",attrs:{src:t.previewUrl},on:{"on-load":t.onFrameLoad}}):t.contentDetail?[e("div",{directives:[{name:"show",rawName:"v-show",value:t.headerShow&&!["word","excel","ppt"].includes(t.file.type),expression:"headerShow && !['word', 'excel', 'ppt'].includes(file.type)"}],staticClass:"edit-header"},[e("div",{staticClass:"header-title"},[e("div",{staticClass:"title-name user-select-auto"},[t._v(t._s(t.$A.getFileName(t.file)))]),e("Tag",{attrs:{color:"default"}},[t._v(t._s(t.$L("\u53EA\u8BFB")))]),e("div",{staticClass:"refresh"},[t.contentLoad?e("Loading"):e("Icon",{attrs:{type:"ios-refresh"},on:{click:t.getContent}})],1)],1)]),e("div",{staticClass:"content-body user-select-auto"},[t.file.type=="document"?[t.contentDetail.type=="md"?e("VMPreview",{attrs:{value:t.contentDetail.content}}):e("TEditor",{attrs:{value:t.contentDetail.content,height:"100%",readOnly:""}})]:t.file.type=="drawio"?e("Drawio",{ref:"myFlow",attrs:{value:t.contentDetail,title:t.file.name,readOnly:""}}):t.file.type=="mind"?e("Minder",{ref:"myMind",attrs:{value:t.contentDetail,readOnly:""}}):["code","txt"].includes(t.file.type)?e("AceEditor",{attrs:{value:t.contentDetail.content,ext:t.file.ext,readOnly:""}}):["word","excel","ppt"].includes(t.file.type)?e("OnlyOffice",{attrs:{value:t.contentDetail,code:t.code,historyId:t.historyId,documentKey:t.documentKey,readOnly:""}}):t._e()],2)]:t._e(),t.contentLoad?e("div",{staticClass:"content-load"},[e("Loading")],1):t._e()],2)},s=[];const d=()=>o(()=>import("./preview.5823d70c.js"),["js/build/preview.5823d70c.js","js/build/openpgp_hi.15f91b1d.js","js/build/index.40a8e116.js","js/build/app.ccb8a946.js","js/build/app.f654c998.css","js/build/jquery.5514bc0e.js","js/build/@babel.f9bcab46.js","js/build/dayjs.95b8823d.js","js/build/localforage.06336fb0.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/vuex.cc7cb26e.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),c=()=>o(()=>import("./TEditor.9fb2d86d.js"),["js/build/TEditor.9fb2d86d.js","js/build/tinymce.24840f82.js","js/build/@babel.f9bcab46.js","js/build/ImgUpload.69c00ad7.js","js/build/app.ccb8a946.js","js/build/app.f654c998.css","js/build/jquery.5514bc0e.js","js/build/dayjs.95b8823d.js","js/build/localforage.06336fb0.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/vuex.cc7cb26e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),p=()=>o(()=>import("./AceEditor.03a62335.js"),["js/build/AceEditor.03a62335.js","js/build/vuex.cc7cb26e.js","js/build/app.ccb8a946.js","js/build/app.f654c998.css","js/build/jquery.5514bc0e.js","js/build/@babel.f9bcab46.js","js/build/dayjs.95b8823d.js","js/build/localforage.06336fb0.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),m=()=>o(()=>import("./OnlyOffice.dbb72842.js"),["js/build/OnlyOffice.dbb72842.js","js/build/OnlyOffice.3bef70c7.css","js/build/vuex.cc7cb26e.js","js/build/app.ccb8a946.js","js/build/app.f654c998.css","js/build/jquery.5514bc0e.js","js/build/@babel.f9bcab46.js","js/build/dayjs.95b8823d.js","js/build/localforage.06336fb0.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),u=()=>o(()=>import("./Drawio.60297da4.js"),["js/build/Drawio.60297da4.js","js/build/Drawio.6a04e353.css","js/build/vuex.cc7cb26e.js","js/build/IFrame.5540c7ba.js","js/build/app.ccb8a946.js","js/build/app.f654c998.css","js/build/jquery.5514bc0e.js","js/build/@babel.f9bcab46.js","js/build/dayjs.95b8823d.js","js/build/localforage.06336fb0.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),_=()=>o(()=>import("./Minder.63a03377.js"),["js/build/Minder.63a03377.js","js/build/Minder.b3680370.css","js/build/IFrame.5540c7ba.js","js/build/app.ccb8a946.js","js/build/app.f654c998.css","js/build/jquery.5514bc0e.js","js/build/@babel.f9bcab46.js","js/build/dayjs.95b8823d.js","js/build/localforage.06336fb0.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/vuex.cc7cb26e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),h={name:"FilePreview",components:{IFrame:n,AceEditor:p,TEditor:c,VMPreview:d,OnlyOffice:m,Drawio:u,Minder:_},props:{code:{type:String,default:""},historyId:{type:Number,default:0},file:{type:Object,default:()=>({})},headerShow:{type:Boolean,default:!0}},data(){return{loadContent:0,contentDetail:null,loadPreview:!0}},watch:{"file.id":{handler(t){t&&(this.contentDetail=null,this.getContent())},immediate:!0,deep:!0}},computed:{contentLoad(){return this.loadContent>0||this.previewLoad},isPreview(){return this.contentDetail&&this.contentDetail.preview===!0},previewLoad(){return this.isPreview&&this.loadPreview===!0},previewUrl(){if(this.isPreview){const{name:t,key:i}=this.contentDetail;return $A.onlinePreviewUrl(t,i)}return""}},methods:{onFrameLoad(){this.loadPreview=!1},getContent(){if(["word","excel","ppt"].includes(this.file.type)){this.contentDetail=$A.cloneJSON(this.file);return}setTimeout(t=>{this.loadContent++},600),this.$store.dispatch("call",{url:"file/content",data:{id:this.code||this.file.id,history_id:this.historyId}}).then(({data:t})=>{this.contentDetail=t.content}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.loadContent--})},documentKey(){return new Promise((t,i)=>{this.$store.dispatch("call",{url:"file/content",data:{id:this.code||this.file.id,only_update_at:"yes"}}).then(({data:e})=>{t(`${e.id}-${$A.dayjs(e.update_at).unix()}`)}).catch(e=>{i(e)})})},exportMenu(t){switch(this.file.type){case"mind":this.$refs.myMind.exportHandle(t,this.file.name);break}}}},r={};var v=a(h,l,s,!1,f,null,null,null);function f(t){for(let i in r)this[i]=r[i]}var ct=function(){return v.exports}();export{ct as default}; +import{_ as o}from"./openpgp_hi.15f91b1d.js";import{I as n}from"./IFrame.b5bcaf81.js";import{n as a}from"./app.1c2a0fa1.js";import"./jquery.ce39e51d.js";import"./@babel.f9bcab46.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./vuex.cc7cb26e.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var l=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("div",{staticClass:"file-preview"},[t.isPreview?e("IFrame",{staticClass:"preview-iframe",attrs:{src:t.previewUrl},on:{"on-load":t.onFrameLoad}}):t.contentDetail?[e("div",{directives:[{name:"show",rawName:"v-show",value:t.headerShow&&!["word","excel","ppt"].includes(t.file.type),expression:"headerShow && !['word', 'excel', 'ppt'].includes(file.type)"}],staticClass:"edit-header"},[e("div",{staticClass:"header-title"},[e("div",{staticClass:"title-name user-select-auto"},[t._v(t._s(t.$A.getFileName(t.file)))]),e("Tag",{attrs:{color:"default"}},[t._v(t._s(t.$L("\u53EA\u8BFB")))]),e("div",{staticClass:"refresh"},[t.contentLoad?e("Loading"):e("Icon",{attrs:{type:"ios-refresh"},on:{click:t.getContent}})],1)],1)]),e("div",{staticClass:"content-body user-select-auto"},[t.file.type=="document"?[t.contentDetail.type=="md"?e("VMPreview",{attrs:{value:t.contentDetail.content}}):e("TEditor",{attrs:{value:t.contentDetail.content,height:"100%",readOnly:""}})]:t.file.type=="drawio"?e("Drawio",{ref:"myFlow",attrs:{value:t.contentDetail,title:t.file.name,readOnly:""}}):t.file.type=="mind"?e("Minder",{ref:"myMind",attrs:{value:t.contentDetail,readOnly:""}}):["code","txt"].includes(t.file.type)?e("AceEditor",{attrs:{value:t.contentDetail.content,ext:t.file.ext,readOnly:""}}):["word","excel","ppt"].includes(t.file.type)?e("OnlyOffice",{attrs:{value:t.contentDetail,code:t.code,historyId:t.historyId,documentKey:t.documentKey,readOnly:""}}):t._e()],2)]:t._e(),t.contentLoad?e("div",{staticClass:"content-load"},[e("Loading")],1):t._e()],2)},s=[];const d=()=>o(()=>import("./preview.1699edcd.js"),["js/build/preview.1699edcd.js","js/build/openpgp_hi.15f91b1d.js","js/build/index.40a8e116.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/@babel.f9bcab46.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/vuex.cc7cb26e.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),c=()=>o(()=>import("./TEditor.55be9b68.js"),["js/build/TEditor.55be9b68.js","js/build/tinymce.24840f82.js","js/build/@babel.f9bcab46.js","js/build/ImgUpload.6b64df7a.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/vuex.cc7cb26e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),p=()=>o(()=>import("./AceEditor.aec2f4a1.js"),["js/build/AceEditor.aec2f4a1.js","js/build/vuex.cc7cb26e.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/@babel.f9bcab46.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),m=()=>o(()=>import("./OnlyOffice.aa9825d9.js"),["js/build/OnlyOffice.aa9825d9.js","js/build/OnlyOffice.4682ee93.css","js/build/vuex.cc7cb26e.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/@babel.f9bcab46.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),u=()=>o(()=>import("./Drawio.0d628d62.js"),["js/build/Drawio.0d628d62.js","js/build/Drawio.6a04e353.css","js/build/vuex.cc7cb26e.js","js/build/IFrame.b5bcaf81.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/@babel.f9bcab46.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),_=()=>o(()=>import("./Minder.ec13b0b4.js"),["js/build/Minder.ec13b0b4.js","js/build/Minder.b3680370.css","js/build/IFrame.b5bcaf81.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/@babel.f9bcab46.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/vuex.cc7cb26e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),h={name:"FilePreview",components:{IFrame:n,AceEditor:p,TEditor:c,VMPreview:d,OnlyOffice:m,Drawio:u,Minder:_},props:{code:{type:String,default:""},historyId:{type:Number,default:0},file:{type:Object,default:()=>({})},headerShow:{type:Boolean,default:!0}},data(){return{loadContent:0,contentDetail:null,loadPreview:!0}},watch:{"file.id":{handler(t){t&&(this.contentDetail=null,this.getContent())},immediate:!0,deep:!0}},computed:{contentLoad(){return this.loadContent>0||this.previewLoad},isPreview(){return this.contentDetail&&this.contentDetail.preview===!0},previewLoad(){return this.isPreview&&this.loadPreview===!0},previewUrl(){if(this.isPreview){const{name:t,key:i}=this.contentDetail;return $A.onlinePreviewUrl(t,i)}return""}},methods:{onFrameLoad(){this.loadPreview=!1},getContent(){if(["word","excel","ppt"].includes(this.file.type)){this.contentDetail=$A.cloneJSON(this.file);return}setTimeout(t=>{this.loadContent++},600),this.$store.dispatch("call",{url:"file/content",data:{id:this.code||this.file.id,history_id:this.historyId}}).then(({data:t})=>{this.contentDetail=t.content}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.loadContent--})},documentKey(){return new Promise((t,i)=>{this.$store.dispatch("call",{url:"file/content",data:{id:this.code||this.file.id,only_update_at:"yes"}}).then(({data:e})=>{t(`${e.id}-${$A.dayjs(e.update_at).unix()}`)}).catch(e=>{i(e)})})},exportMenu(t){switch(this.file.type){case"mind":this.$refs.myMind.exportHandle(t,this.file.name);break}}}},r={};var v=a(h,l,s,!1,f,null,null,null);function f(t){for(let i in r)this[i]=r[i]}var ct=function(){return v.exports}();export{ct as default}; diff --git a/public/js/build/IFrame.5540c7ba.js b/public/js/build/IFrame.b5bcaf81.js similarity index 94% rename from public/js/build/IFrame.5540c7ba.js rename to public/js/build/IFrame.b5bcaf81.js index 43c4e525e..ac26c0519 100644 --- a/public/js/build/IFrame.5540c7ba.js +++ b/public/js/build/IFrame.b5bcaf81.js @@ -1 +1 @@ -import{n}from"./app.ccb8a946.js";var i=function(){var e=this,s=e.$createElement,r=e._self._c||s;return r("iframe",{directives:[{name:"show",rawName:"v-show",value:e.src,expression:"src"}],ref:"iframe",attrs:{src:e.src}})},a=[];const o={name:"IFrame",props:{src:{type:String,default:""}},mounted(){this.$refs.iframe.addEventListener("load",this.handleLoad),window.addEventListener("message",this.handleMessage)},beforeDestroy(){this.$refs.iframe.removeEventListener("load",this.handleLoad),window.removeEventListener("message",this.handleMessage)},methods:{handleLoad(){this.$emit("on-load")},handleMessage({data:e,source:s}){var r;s===((r=this.$refs.iframe)==null?void 0:r.contentWindow)&&(e=$A.jsonParse(e),e.source==="fileView"&&e.action==="picture"&&this.$store.dispatch("previewImage",{index:e.params.index,list:e.params.array}),this.$emit("on-message",e))},postMessage(e,s="*"){this.$refs.iframe&&this.$refs.iframe.contentWindow.postMessage(e,s)}}},t={};var m=n(o,i,a,!1,c,null,null,null);function c(e){for(let s in t)this[s]=t[s]}var l=function(){return m.exports}();export{l as I}; +import{n}from"./app.1c2a0fa1.js";var i=function(){var e=this,s=e.$createElement,r=e._self._c||s;return r("iframe",{directives:[{name:"show",rawName:"v-show",value:e.src,expression:"src"}],ref:"iframe",attrs:{src:e.src}})},a=[];const o={name:"IFrame",props:{src:{type:String,default:""}},mounted(){this.$refs.iframe.addEventListener("load",this.handleLoad),window.addEventListener("message",this.handleMessage)},beforeDestroy(){this.$refs.iframe.removeEventListener("load",this.handleLoad),window.removeEventListener("message",this.handleMessage)},methods:{handleLoad(){this.$emit("on-load")},handleMessage({data:e,source:s}){var r;s===((r=this.$refs.iframe)==null?void 0:r.contentWindow)&&(e=$A.jsonParse(e),e.source==="fileView"&&e.action==="picture"&&this.$store.dispatch("previewImage",{index:e.params.index,list:e.params.array}),this.$emit("on-message",e))},postMessage(e,s="*"){this.$refs.iframe&&this.$refs.iframe.contentWindow.postMessage(e,s)}}},t={};var m=n(o,i,a,!1,c,null,null,null);function c(e){for(let s in t)this[s]=t[s]}var l=function(){return m.exports}();export{l as I}; diff --git a/public/js/build/ImgUpload.69c00ad7.js b/public/js/build/ImgUpload.6b64df7a.js similarity index 99% rename from public/js/build/ImgUpload.69c00ad7.js rename to public/js/build/ImgUpload.6b64df7a.js index c57bd9190..e49eb9452 100644 --- a/public/js/build/ImgUpload.69c00ad7.js +++ b/public/js/build/ImgUpload.6b64df7a.js @@ -1 +1 @@ -import{n as o}from"./app.ccb8a946.js";var r=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("div",{staticClass:"common-img-update"},[t._l(t.uploadList,function(s){return t.type!=="callback"?e("div",{staticClass:"imgcomp-upload-list"},[s.status==="finished"?[e("div",{staticClass:"imgcomp-upload-img",style:{"background-image":"url("+t.backgroundImage(s.thumb)+")"},on:{click:function(a){return t.handleTouch(a,s)}}}),e("div",{staticClass:"imgcomp-upload-list-cover"},[e("Icon",{attrs:{type:"ios-eye-outline"},nativeOn:{click:function(a){return t.handleView(s)}}}),e("Icon",{attrs:{type:"ios-trash-outline"},nativeOn:{click:function(a){return t.handleRemove(s)}}})],1)]:[s.showProgress?e("Progress",{attrs:{percent:s.percentage,"hide-info":""}}):t._e()]],2):t._e()}),e("div",{staticClass:"add-box",class:{"callback-add-box":t.type==="callback"}},[e("div",{staticClass:"add-box-icon",on:{click:function(s){return t.handleTouch(s,null)}}},[e("Icon",{attrs:{type:"md-add",size:"32"}})],1),e("div",{staticClass:"add-box-upload"},[e("div",{staticClass:"add-box-item",on:{click:t.browsePicture}},[e("span",[t._v(t._s(t.$L("\u6D4F\u89C8"))),t.type==="callback"?e("em",[t._v(t._s(t.$L("\u56FE\u7247")))]):t._e()])]),e("div",{staticClass:"add-box-item"},[e("Upload",{ref:"upload",attrs:{name:"image",accept:"image/*",action:t.actionUrl,headers:t.uploadHeaders,data:t.uploadParams,"show-upload-list":!1,"max-size":t.maxImageSize,format:["jpg","jpeg","webp","gif","png"],"default-file-list":t.defaultList,"on-progress":t.handleProgress,"on-success":t.handleSuccess,"on-error":t.handleError,"on-format-error":t.handleFormatError,"on-exceeded-size":t.handleMaxSize,"before-upload":t.handleBeforeUpload,multiple:t.multiple}},[e("span",[t._v(t._s(t.$L("\u4E0A\u4F20"))),t.type==="callback"?e("em",[t._v(t._s(t.$L("\u56FE\u7247")))]):t._e()])])],1)])]),e("Modal",{staticClass:"img-upload-modal",attrs:{title:t.$L("\u6D4F\u89C8\u56FE\u7247\u7A7A\u95F4"),width:"710"},model:{value:t.browseVisible,callback:function(s){t.browseVisible=s},expression:"browseVisible"}},[t.isLoading?e("div",{staticClass:"browse-load"},[t._v(t._s(t.$L("\u52A0\u8F7D\u4E2D...")))]):e("div",{ref:"browselistbox",staticClass:"browse-list",class:t.httpType==="input"?"browse-list-disabled":""},[t.browseList.length<=0?e("div",[t._v(t._s(t.$L("\u65E0\u5185\u5BB9")))]):t._l(t.browseList,function(s){return e("div",{staticClass:"browse-item",on:{click:function(a){return t.browseItem(s)}}},[s.active?e("Icon",{staticClass:"browse-icon",attrs:{type:"ios-checkmark-circle"}}):t._e(),e("div",{staticClass:"browse-img",style:t.browseStyle(s.thumb)}),e("div",{staticClass:"browse-title"},[t._v(t._s(s.title))])],1)})],2),e("div",{staticClass:"img-upload-foot",attrs:{slot:"footer"},slot:"footer"},[t.type!=="callback"&&t.http&&t.httpType===""?e("div",{staticClass:"img-upload-foot-input",on:{click:function(s){t.httpType="input"}}},[e("Icon",{attrs:{type:"ios-image",size:"22"}}),e("div",{staticClass:"img-upload-foot-httptitle"},[t._v(t._s(t.$L("\u81EA\u5B9A\u4E49\u56FE\u7247\u5730\u5740")))])],1):t._e(),t.type!=="callback"&&t.http&&t.httpType==="input"?e("div",{staticClass:"img-upload-foot-input"},[e("Input",{attrs:{placeholder:t.$L("\u4EE5 http:// \u6216 https:// \u5F00\u5934"),search:"","enter-button":t.$L("\u786E\u5B9A")},on:{"on-search":t.httpEnter},model:{value:t.httpValue,callback:function(s){t.httpValue=s},expression:"httpValue"}},[e("span",{staticStyle:{cursor:"pointer"},attrs:{slot:"prepend"},on:{click:function(s){t.httpType=""}},slot:"prepend"},[t._v(t._s(t.$L("\u81EA\u5B9A\u4E49\u5730\u5740"))+": ")])])],1):t._e(),t.httpType===""?e("Button",{on:{click:function(s){t.browseVisible=!1}}},[t._v(t._s(t.$L("\u5173\u95ED")))]):t._e(),t.httpType===""?e("Button",{attrs:{type:"primary"},on:{click:function(s){return t.handleCallback(!0)}}},[t._v(t._s(t.$L("\u5B8C\u6210")))]):t._e()],1)]),e("Modal",{staticClass:"img-upload-modal",attrs:{title:t.$L("\u67E5\u770B\u56FE\u7247"),draggable:""},model:{value:t.visible,callback:function(s){t.visible=s},expression:"visible"}},[e("div",{staticStyle:{"max-height":"480px",overflow:"auto"}},[e("a",{attrs:{href:t.imgVisible,target:"_blank"}},[t.visible?e("img",{staticStyle:{"max-width":"100%","max-height":"900px",display:"block",margin:"0 auto"},attrs:{src:t.imgVisible}}):t._e()])])])],2)},n=[];const h={name:"ImgUpload",props:{value:{},num:{},width:{},height:{},whcut:{},type:{},http:{type:Boolean,default:!1},otherParams:{type:Object,default:()=>({})},uploadIng:{type:Number,default:0},maxSize:{type:Number,default:1024*10}},data(){return{actionUrl:$A.apiUrl("system/imgupload"),multiple:this.num>1,visible:!1,browseVisible:!1,isLoading:!1,browseList:[],browseListNext:[],imgVisible:"",defaultList:this.initItems(this.value),uploadList:[],maxNum:Math.min(Math.max($A.runNum(this.num),1),99),httpValue:"",httpType:"",maxImageSize:this.maxSize}},mounted(){this.uploadList=this.$refs.upload.fileList,this.$emit("input",this.uploadList);let t=$A(this.$refs.browselistbox);t.scroll(()=>{let i=t[0].scrollHeight,e=t[0].scrollTop,s=t.height();if(e+s>=i&&this.browseListNext.length>0){let a=this.browseListNext;this.browseListNext=[],this.browsePictureFor(a)}})},watch:{value(t){if(typeof t=="string"){this.$emit("input",this.initItems(t));return}t!==this.$refs.upload.fileList&&(this.$refs.upload.fileList=this.initItems(t),this.uploadList=this.$refs.upload.fileList)},browseVisible(){this.httpType="",this.httpValue=""}},computed:{uploadHeaders(){return{fd:$A.getSessionStorageString("userWsFd"),token:this.userToken}},uploadParams(){let t={width:this.width,height:this.height,whcut:this.whcut};return Object.keys(this.otherParams).length>0?Object.assign(t,this.otherParams):t}},methods:{handleCallback(t){this.type==="callback"&&(t===!0?(this.$emit("on-callback",this.uploadList),this.$refs.upload.fileList=[],this.uploadList=this.$refs.upload.fileList):typeof t=="object"&&this.$emit("on-callback",[t])),this.browseVisible=!1},initItems(t){typeof t=="string"&&(t=[{url:t}]);let i=[];return $A.each(t,(e,s)=>{typeof s=="string"&&(s={url:s}),s.url&&(s.active=!0,s.status="finished",typeof s.path=="undefined"&&(s.path=s.url),typeof s.thumb=="undefined"&&(s.thumb=s.url),i.push(s))}),i},handleTouch(t,i){if(!this.windowTouch)return;const e=[];if(i===null){const s=this.type==="callback"?"\u56FE\u7247":"";e.push({label:"\u6D4F\u89C8"+s,value:"browse"},{label:"\u4E0A\u4F20"+s,value:"upload"})}else e.push({label:"\u67E5\u770B",value:"view"},{label:"\u5220\u9664",value:"trash"});this.$store.commit("menu/operation",{event:t,list:e,onUpdate:async s=>{var a;switch(s){case"browse":this.browsePicture();break;case"upload":(a=this.$refs.upload)==null||a.handleClick();break;case"view":this.handleView(i);break;case"trash":this.handleRemove(i);break}}})},handleView(t){this.$store.dispatch("previewImage",t.url)},handleRemove(t){let i=this.$refs.upload.fileList;this.$refs.upload.fileList.splice(i.indexOf(t),1),this.$emit("input",this.$refs.upload.fileList)},handleProgress(t,i){i._uploadIng===void 0&&(i._uploadIng=!0,this.$emit("update:uploadIng",this.uploadIng+1))},handleSuccess(t,i){this.$emit("update:uploadIng",this.uploadIng-1),t.ret===1?(i.url=t.data.url,i.path=t.data.path,i.thumb=t.data.thumb,this.handleCallback(i)):($A.noticeWarning({title:this.$L("\u4E0A\u4F20\u5931\u8D25"),desc:this.$L("\u6587\u4EF6 "+i.name+" \u4E0A\u4F20\u5931\u8D25 "+t.msg)}),this.$refs.upload.fileList.pop()),this.$emit("input",this.$refs.upload.fileList)},handleError(){this.$emit("update:uploadIng",this.uploadIng-1)},handleFormatError(t){$A.noticeWarning({title:this.$L("\u6587\u4EF6\u683C\u5F0F\u4E0D\u6B63\u786E"),desc:this.$L("\u6587\u4EF6 "+t.name+" \u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u4E0A\u4F20 jpg\u3001jpeg\u3001webp\u3001gif\u3001png \u683C\u5F0F\u7684\u56FE\u7247\u3002")})},handleMaxSize(t){$A.noticeWarning({title:this.$L("\u8D85\u51FA\u6587\u4EF6\u5927\u5C0F\u9650\u5236"),desc:this.$L("\u6587\u4EF6 "+t.name+" \u592A\u5927\uFF0C\u4E0D\u80FD\u8D85\u8FC7\uFF1A"+$A.bytesToSize(this.maxImageSize*1024))})},handleBeforeUpload(){let t=this.uploadList.length"+S(l.message+"",!0)+"";throw l}}D.options=D.setOptions=function(e){return z(D.defaults,e),D};D.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new x,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}};D.defaults=D.getDefaults();D.Parser=N;D.parser=N.parse;D.Renderer=x;D.TextRenderer=F;D.Lexer=q;D.lexer=q.lex;D.InlineLexer=U;D.inlineLexer=U.output;D.Slugger=De;D.parse=D;const wc=new D.Renderer;var kc=D.setOptions({renderer:wc,gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,smartLists:!0}),bc=function(){var e=this,i=e.$createElement,t=e._self._c||i;return t("div",{staticClass:"vmpreview-nostyle",domProps:{innerHTML:e._s(e.html)}})},Ac=[];const Cc={name:"VMPreviewNostyle",props:{value:{default:""}},data(){return{html:""}},mounted(){this.translateMarkdown()},methods:{translateMarkdown(){this.html=kc(this.value,{sanitize:!1}).replace(/href="/gi,'target="_blank" href="')}},watch:{value(){this.translateMarkdown()}}},Wt={};var Sc=f(Cc,bc,Ac,!1,Tc,null,null,null);function Tc(e){for(let i in Wt)this[i]=Wt[i]}var Dc=function(){return Sc.exports}(),Ic=function(){var e=this,i=e.$createElement,t=e._self._c||i;return t("div",{staticClass:"project-invite-warp"},[t("Modal",{attrs:{title:e.$L("\u52A0\u5165\u9879\u76EE"),"mask-closable":!1},model:{value:e.show,callback:function(s){e.show=s},expression:"show"}},[e.loadIng>0?t("div",{staticClass:"invite-load"},[t("Loading",{staticClass:"invite-load-icon"})],1):e.project.id>0?t("div",{staticClass:"invite-content"},[t("p",{staticClass:"invite-title",attrs:{slot:"title"},domProps:{innerHTML:e._s(e.transformEmojiToHtml(e.project.name))},slot:"title"}),e.project.desc?t("div",{staticClass:"invite-desc user-select-auto"},[t("VMPreviewNostyle",{attrs:{value:e.project.desc}})],1):t("div",[e._v(e._s(e.$L("\u6682\u65E0\u4ECB\u7ECD")))])]):t("div",[t("p",[e._v(e._s(e.$L("\u9080\u8BF7\u5730\u5740\u4E0D\u5B58\u5728\u6216\u5DF2\u88AB\u5220\u9664\uFF01")))])]),t("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[e.already?[e.project.id>0?t("Button",{attrs:{type:"default"},on:{click:function(s){e.show=!1}}},[e._v(e._s(e.$L("\u5173\u95ED")))]):e._e(),e.already?t("Button",{attrs:{type:"success",icon:"md-checkmark-circle-outline"},on:{click:e.goProject}},[e._v(e._s(e.$L("\u5DF2\u52A0\u5165")))]):e._e()]:e.project.id>0?[e.project.id>0?t("Button",{attrs:{disabled:e.joinLoad>0,type:"default"},on:{click:function(s){e.show=!1}}},[e._v(e._s(e.$L("\u53D6\u6D88")))]):e._e(),t("Button",{attrs:{type:"primary",loading:e.joinLoad>0},on:{click:e.joinProject}},[e._v(e._s(e.$L("\u52A0\u5165\u9879\u76EE")))])]:[t("Button",{attrs:{type:"default"},on:{click:function(s){e.show=!1}}},[e._v(e._s(e.$L("\u5173\u95ED")))])]],2)])],1)},xc=[];const Lc={name:"ProjectInvite",components:{VMPreviewNostyle:Dc},data(){return{show:!1,code:"",loadIng:0,joinLoad:0,already:!1,project:{}}},mounted(){b.on("openProjectInvite",this.open)},beforeDestroy(){b.off("openProjectInvite",this.open)},methods:{transformEmojiToHtml:Te,open(e){this.code=e,this.show=!0,this.getData()},getData(){this.loadIng++,this.already=!1,this.project={},this.$store.dispatch("call",{url:"project/invite/info",data:{code:this.code}}).then(({data:e})=>{this.already=e.already,this.project=e.project}).catch(()=>{this.project={}}).finally(e=>{this.loadIng--})},joinProject(){this.joinLoad++,this.$store.dispatch("call",{url:"project/invite/join",data:{code:this.code}}).then(({data:e})=>{this.already=e.already,this.project=e.project,this.goProject()}).catch(({msg:e})=>{$A.modalError(e)}).finally(e=>{this.joinLoad--})},goProject(){this.show=!1,this.$nextTick(()=>{$A.goForward({name:"manage-project",params:{projectId:this.project.id}})})}}},Vt={};var Ec=f(Lc,Ic,xc,!1,Mc,"6b7b835e",null,null);function Mc(e){for(let i in Vt)this[i]=Vt[i]}var jc=function(){return Ec.exports}(),Pc=function(){var e=this,i=e.$createElement,t=e._self._c||i;return e.show&&e.userid>0?t("transition",{attrs:{name:"mobile-notify"}},[t("div",{staticClass:"mobile-notification",class:{show:e.show},style:e.notifyStyle,on:{click:function(s){return s.stopPropagation(),e.onClick.apply(null,arguments)},touchstart:e.onTouchstart,touchmove:e.onTouchmove}},[t("UserAvatar",{attrs:{userid:e.userid,size:40,"show-name":"","name-text":e.title}}),t("div",{staticClass:"notification-desc no-dark-content"},[e._v(e._s(e.desc))])],1)]):e._e()},Rc=[];const Oc={name:"MobileNotification",data(){return{userid:0,title:"",desc:"",duration:6e3,callback:null,show:!1,timer:null,startY:0}},mounted(){b.on("openMobileNotification",this.open)},beforeDestroy(){b.off("openMobileNotification",this.open),this.timer&&clearTimeout(this.timer),this.show=!1},computed:{...L(["safeAreaSize"]),notifyStyle({windowScrollY:e,safeAreaSize:i}){return{marginTop:e+i.top+"px"}}},methods:{open(e){!$A.isJson(e)||(this.userid=e.userid||0,this.title=e.title||"",this.desc=e.desc||"",this.duration=typeof e.duration=="number"?e.duration:6e3,this.callback=typeof e.callback=="function"?e.callback:null,this.show=!0,this.timer&&clearTimeout(this.timer),this.duration>0&&(this.timer=setTimeout(this.close,this.duration)),$A.eeuiAppSendMessage({action:"setVibrate"}))},close(){this.show=!1},onClick(){this.close(),typeof this.callback=="function"&&this.callback()},onTouchstart(e){this.startY=e.touches[0].clientY},onTouchmove(e){this.startY>0&&this.startY-e.touches[0].clientY>10&&(this.startY=0,this.close())}}},qt={};var Uc=f(Oc,Pc,Rc,!1,Bc,null,null,null);function Bc(e){for(let i in qt)this[i]=qt[i]}var Nc=function(){return Uc.exports}(),zc=function(){var e=this,i=e.$createElement,t=e._self._c||i;return t("div",{staticClass:"mobile-back"},[e.isVisible&&e.x>20?t("div",{staticClass:"back-semicircle",style:e.style}):e._e()])},Fc=[];const Hc={name:"MobileBack",data(){return{x:0,y:0,isVisible:!1,isTouched:!1,isScrolling:void 0,touchesStart:{}}},created(){this.appAndroidEvents()},mounted(){document.addEventListener("touchstart",this.touchstart),document.addEventListener("touchmove",this.touchmove,{passive:!1}),document.addEventListener("touchend",this.touchend)},beforeDestroy(){document.removeEventListener("touchstart",this.touchstart),document.removeEventListener("touchmove",this.touchmove),document.removeEventListener("touchend",this.touchend)},computed:{...L(["fileLists","messengerSearchKey","mobileTabbar"]),style(){const i=Math.max(135,this.y)+this.windowScrollY,t=this.windowHeight-135;return{top:Math.min(i,t)+"px"}},fileFolderId(){const{folderId:e}=this.$route.params;return parseInt(/^\d+$/.test(e)?e:0)}},watch:{isVisible(e){this.$store.state.touchBackInProgress=e}},methods:{getXY(e){const i=e.touches[0];this.x=i.clientX,this.y=i.clientY},touchstart(e){this.getXY(e),this.isTouched=this.canBack()&&this.x<20,this.isScrolling=void 0,this.touchesStart.x=e.type==="touchstart"?e.targetTouches[0].pageX:e.pageX,this.touchesStart.y=e.type==="touchstart"?e.targetTouches[0].pageY:e.pageY},touchmove(e){if(!this.isTouched)return;const i=e.type==="touchmove"?e.targetTouches[0].pageX:e.pageX,t=e.type==="touchmove"?e.targetTouches[0].pageY:e.pageY;if(typeof this.isScrolling=="undefined"){const s=Math.abs(t-this.touchesStart.y),n=Math.abs(i-this.touchesStart.x)*1.5;this.isScrolling=s>n}if(this.isScrolling){this.isTouched=!1;return}this.isVisible=!0,this.getXY(e),e.preventDefault()},touchend(){this.x>90&&this.isVisible&&this.onBack(),this.x=0,this.isVisible=!1},canBack(){if(!this.mobileTabbar||this.$Modal.visibleList().length>0||this.fileFolderId>0)return!0;if(this.routeName==="manage-messenger"){if(this.$route.params.dialogAction==="contacts"){if(this.messengerSearchKey.contacts)return!0}else if(this.messengerSearchKey.dialog)return!0}return!1},onBack(){if(this.$store.commit("menu/operation",{}),!this.$Modal.removeLast()){if(this.routeName==="manage-file"){if(this.fileFolderId>0){const e=this.fileLists.find(({id:i,permission:t})=>i==this.fileFolderId&&t>-1);if(e){const i=this.fileLists.find(({id:t,permission:s})=>t==e.pid&&s>-1);if(i){this.goForward({name:"manage-file",params:{folderId:i.id,fileId:null}});return}}this.goForward({name:"manage-file"});return}this.goForward({name:"manage-application"},!0);return}if(this.routeName==="manage-messenger"){if(this.$route.params.dialogAction==="contacts"){if(this.messengerSearchKey.contacts){this.$store.state.messengerSearchKey.contacts="";return}}else if(this.messengerSearchKey.dialog){this.$store.state.messengerSearchKey.dialog="";return}}this.goBack()}},appAndroidEvents(){this.$isEEUIApp&&$A.isAndroid()&&$A.eeuiAppSetPageBackPressed({pageName:"firstPage"},e=>{this.canBack()?this.onBack():$A.eeuiAppGoDesktop()})}}},Yt={};var Wc=f(Hc,zc,Fc,!1,Vc,null,null,null);function Vc(e){for(let i in Yt)this[i]=Yt[i]}var qc=function(){return Wc.exports}(),Yc=function(){var e=this,i=e.$createElement,t=e._self._c||i;return t("EDropdown",{ref:"dropdown",staticClass:"general-operation-dropdown",style:e.styles,attrs:{trigger:"click",placement:"bottom",size:e.size},on:{command:e.onCommand,"visible-change":e.visibleChange}},[t("div",{ref:"icon",staticClass:"general-operation-icon"}),t("EDropdownMenu",{ref:"dropdownMenu",staticClass:"general-operation-more-dropdown menu-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[t("li",{staticClass:"general-operation-more-warp",class:e.size},[t("ul",{style:e.ulStyle},e._l(e.list,function(s,n){return t("EDropdownItem",{key:n,attrs:{command:s.value,divided:!!s.divided,disabled:e.active===s.value&&!e.activeClick||!!s.disabled}},[t("div",{staticClass:"item-box",class:s.className,style:s.style},[t("div",{staticClass:"item"},[s.prefix?t("div",{staticClass:"item-prefix",domProps:{innerHTML:e._s(s.prefix)}}):e._e(),t("div",{staticClass:"item-label"},[e._v(e._s(e.language?e.$L(s.label):s.label))])]),e.tickShow?t("div",{staticClass:"tick"},[e.active===s.value&&!s.disabled?t("i",{staticClass:"taskfont"},[e._v("\uE684")]):e._e()]):e._e()])])}),1)])])],1)},Kc=[];const Jc={data(){return{visible:!1,list:[],size:"small",active:"",activeClick:!1,onVisibleChange:null,onUpdate:null,scrollHide:!0,tickShow:!0,maxHeight:0,language:!0,scrollTarget:null,menuTarget:null,styles:{}}},beforeDestroy(){this.removeEventListeners()},computed:{...L(["menuOperation"]),ulStyle({maxHeight:e}){return e>0?{maxHeight:`${e}px`}:{}}},watch:{menuOperation(e){if(e.event&&e.list){if(this.$refs.dropdown.visible&&this.menuTarget===e.event.target){this.hide();return}const i=e.event.target.getBoundingClientRect();this.styles={left:`${i.left}px`,top:`${i.top+this.windowScrollY}px`,width:`${i.width}px`,height:`${i.height}px`},this.list=e.list,this.size=["small","medium","large"].includes(e.size)?e.size:"small",this.active=e.active&&this.list.find(t=>t.value===e.active)?e.active:"",this.activeClick=typeof e.activeClick=="boolean"?e.activeClick:!1,this.onVisibleChange=typeof e.onVisibleChange=="function"?e.onVisibleChange:null,this.onUpdate=typeof e.onUpdate=="function"?e.onUpdate:null,this.scrollHide=typeof e.scrollHide=="boolean"?e.scrollHide:!0,this.tickShow=typeof e.tickShow=="boolean"?e.tickShow:typeof e.active!="undefined",this.maxHeight=typeof e.maxHeight=="number"?e.maxHeight:0,this.language=typeof e.language=="boolean"?e.language:!0,this.$refs.icon.focus(),this.show(),this.updatePopper(),this.setupEventListeners(e.event)}else this.hide()},windowScrollY(){if(!this.visible||!this.menuTarget)return;const e=this.menuTarget.getBoundingClientRect();this.styles={left:`${e.left}px`,top:`${e.top+this.windowScrollY}px`,width:`${e.width}px`,height:`${e.height}px`},this.updatePopper()},visible(e){e||this.removeEventListeners(),typeof this.onVisibleChange=="function"&&this.onVisibleChange(e)}},methods:{show(){this.$refs.dropdown.show()},hide(){this.$refs.dropdown.hide()},onCommand(e){this.hide(),typeof this.onUpdate=="function"&&this.onUpdate(e)},visibleChange(e){this.visible=e},updatePopper(){setTimeout(()=>{this.$refs.dropdownMenu.updatePopper()},0)},setupEventListeners(e){this.menuTarget=e.target;let i=this.getScrollParent(this.menuTarget);if((i===window.document.body||i===window.document.documentElement)&&(i=window),this.scrollTarget){if(this.scrollTarget===i)return;this.scrollTarget.removeEventListener("scroll",this.handlerEventListeners)}this.scrollTarget=i,this.scrollTarget.addEventListener("scroll",this.handlerEventListeners)},removeEventListeners(){this.scrollTarget&&(this.scrollTarget.removeEventListener("scroll",this.handlerEventListeners),this.scrollTarget=null)},handlerEventListeners(e){if(!this.visible||!this.menuTarget)return;if(this.scrollHide){this.hide();return}const i=e.target.getBoundingClientRect(),t=this.menuTarget.getBoundingClientRect();if(t.top
s&&h ${this.$L("\u603B\u8FDB\u5EA6")} ${this.$L("\u603B\u6570\u91CF")}: ${t.task_num} ${this.$L("\u5DF2\u5B8C\u6210")}: ${t.task_complete} ${this.$L("\u6211\u7684\u4EFB\u52A1")} ${this.$L("\u603B\u6570\u91CF")}: ${t.task_my_num} ${this.$L("\u5DF2\u5B8C\u6210")}: ${t.task_my_complete} s&&h ${this.$L("\u603B\u8FDB\u5EA6")} ${this.$L("\u603B\u6570\u91CF")}: ${t.task_num} ${this.$L("\u5DF2\u5B8C\u6210")}: ${t.task_complete} ${this.$L("\u6211\u7684\u4EFB\u52A1")} ${this.$L("\u603B\u6570\u91CF")}: ${t.task_my_num} ${this.$L("\u5DF2\u5B8C\u6210")}: ${t.task_my_complete}e.scrollHeight-e.clientHeight&&(s=e.scrollHeight-e.clientHeight),e.scrollTop!=s&&(this.mouseType="timeline",e.scrollTop=s)}t.deltaX!=0&&(this.mouseWidth+=t.deltaX,this.mouseScaleWidth+=t.deltaX*(100/this.dateWidth))},handleResize(){this.ganttWidth=this.$refs.ganttTimeline.clientWidth},dateTouchstart(t){this.windowPortrait&&(this.maximize=!0);let e=t.target.parentNode,s=null;for(;e&&!(!e||e===this.$refs.ganttChart);){if(e.tagName==="LI"){const a=e.getAttribute("data-id");a&&(s=this.lists.find(({id:n})=>a==n))}e=e.parentNode}if(!s){this.onDateMove(t.touches[0].clientX);return}this.onItemMove(s,t.target,t.touches[0].clientX)},dateTouchmove(t){this.onMoving(t.touches[0].clientX)},dateTouchend(){this.onMoveOver(null)},dateMouseDown(t){t.preventDefault(),this.onDateMove(t.clientX)},itemMouseDown(t,e){t.preventDefault(),this.onItemMove(e,t.target,t.clientX)},itemMouseMove(t){(this.mouseItem!=null||this.dateMove!=null)&&(t.preventDefault(),this.onMoving(t.clientX))},itemMouseUp(t){this.onMoveOver(t.target)},onDateMove(t){this.mouseItem=null,this.dateMove={clientX:t}},onItemMove(t,e,s){let a="moveX";e.classList.contains("timeline-resizer")&&(a="moveW"),typeof t[a]!="number"&&this.$set(t,a,0),this.mouseBak={type:a,clientX:s,value:t[a]},this.mouseItem=t,this.dateMove=null},onMoving(t){if(this.mouseItem!=null){const e=this.mouseBak.value+(t-this.mouseBak.clientX);if(this.mouseBak.type==="moveW"){const s=864e5/this.dateWidth,{start:a,end:n}=this.mouseItem.time;let i=e*s;if(n+i-a<=0)return}this.$set(this.mouseItem,this.mouseBak.type,e);return}if(this.dateMove!=null){let e=(this.dateMove.clientX-t)*5;this.dateMove.clientX=t,this.mouseWidth+=e,this.mouseScaleWidth+=e*(100/this.dateWidth)}},onMoveOver(t){if(this.mouseItem!=null){const{start:e,end:s}=this.mouseItem.time;let a=!1,n=864e5/this.dateWidth;if(typeof this.mouseItem.moveX=="number"&&this.mouseItem.moveX!=0){let i=this.mouseItem.moveX*n;this.$set(this.mouseItem.time,"start",e+i),this.$set(this.mouseItem.time,"end",s+i),this.$set(this.mouseItem,"moveX",0),a=!0}if(typeof this.mouseItem.moveW=="number"&&this.mouseItem.moveW!=0){let i=this.mouseItem.moveW*n;this.$set(this.mouseItem.time,"end",s+i),this.$set(this.mouseItem,"moveW",0),a=!0}a?this.$emit("on-change",this.mouseItem):t&&t.className=="timeline-title"&&this.clickItem(this.mouseItem),this.mouseItem=null;return}this.dateMove!=null&&(this.dateMove=null)},scrollPosition(t){let e=$A.daytz().startOf("day").valueOf(),s=864e5/this.dateWidth,a=(this.lists[t].time.start-e)/s-this.dateWidth-this.mouseWidth;this.mouseWidth+=a,this.mouseScaleWidth+=a*(100/this.dateWidth)},clickItem(t,e=void 0){if(e!==void 0&&this.windowPortrait){this.scrollPosition(e);return}this.$emit("on-click",t)}}},S={};var Gt=d(Kt,Ut,Ht,!1,Yt,null,null,null);function Yt(t){for(let e in S)this[e]=S[e]}var Jt=function(){return Gt.exports}(),Xt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"project-gstc-gantt"},[s("GanttView",{attrs:{lists:t.lists,menuWidth:t.menuWidth,itemWidth:80},on:{"on-change":t.onChange,"on-click":t.onClick},scopedSlots:t._u([{key:"titleTool",fn:function(){return[s("Dropdown",{staticClass:"project-gstc-dropdown-filtr",attrs:{trigger:"click"},on:{"on-click":t.onSwitchColumn}},[s("Icon",{staticClass:"project-gstc-dropdown-icon",class:{filtr:t.filtrProjectId>0},attrs:{type:"md-funnel"}}),s("DropdownMenu",{attrs:{slot:"list"},slot:"list"},[s("DropdownItem",{class:{"dropdown-active":t.filtrProjectId==0},attrs:{name:0}},[t._v(t._s(t.$L("\u5168\u90E8")))]),t._l(t.projectColumn,function(a,n){return s("DropdownItem",{key:n,class:{"dropdown-active":t.filtrProjectId==a.id},attrs:{name:a.id}},[t._v(" "+t._s(a.name)+" "),a.tasks?s("span",[t._v("("+t._s(t.filtrLength(a.tasks))+")")]):t._e()])})],2)],1)]},proxy:!0}])}),s("div",{staticClass:"project-gstc-edit",class:{info:t.editShowInfo,visible:t.editData&&t.editData.length>0}},[s("div",{staticClass:"project-gstc-edit-info"},[s("Table",{attrs:{"max-height":"600",columns:t.editColumns,data:t.editData}}),s("div",{staticClass:"project-gstc-edit-btns"},[s("Button",{attrs:{loading:t.editLoad>0,type:"text"},on:{click:function(a){return t.editSubmit(!1)}}},[t._v(t._s(t.$L("\u53D6\u6D88")))]),s("Button",{attrs:{loading:t.editLoad>0,type:"primary"},on:{click:function(a){return t.editSubmit(!0)}}},[t._v(t._s(t.$L("\u4FDD\u5B58")))]),s("Icon",{staticClass:"zoom",attrs:{type:"md-arrow-dropright"},on:{click:function(a){t.editShowInfo=!1}}})],1)],1),s("div",{staticClass:"project-gstc-edit-small"},[s("div",{staticClass:"project-gstc-edit-text",on:{click:function(a){t.editShowInfo=!0}}},[t._v(t._s(t.$L("\u672A\u4FDD\u5B58\u8BA1\u5212\u65F6\u95F4"))+": "),t.editData?s("span",[t._v(t._s(t.editData.length))]):t._e()]),s("Button",{attrs:{loading:t.editLoad>0,size:"small",type:"text"},on:{click:function(a){return t.editSubmit(!1)}}},[t._v(t._s(t.$L("\u53D6\u6D88")))]),s("Button",{attrs:{loading:t.editLoad>0,size:"small",type:"primary"},on:{click:function(a){return t.editSubmit(!0)}}},[t._v(t._s(t.$L("\u4FDD\u5B58")))])],1)])],1)},qt=[];const Zt={name:"ProjectGantt",components:{GanttView:Jt},props:{projectColumn:{default:[]},flowInfo:{default:{}}},data(){return{lists:[],filtrProjectId:0,editColumns:[{title:this.$L("\u4EFB\u52A1\u540D\u79F0"),key:"label",minWidth:100,ellipsis:!0},{title:this.$L("\u539F\u8BA1\u5212\u65F6\u95F4"),width:140,align:"center",render:(t,{row:e})=>e.notime===!0?t("span","-"):t("div",{style:{}},[t("div",$A.dayjs(e.baktime.start).format("YYYY-MM-DD HH:mm")),t("div",$A.dayjs(e.baktime.end).format("YYYY-MM-DD HH:mm"))])},{title:this.$L("\u65B0\u8BA1\u5212\u65F6\u95F4"),width:140,align:"center",render:(t,{row:e})=>t("div",{style:{}},[t("div",$A.dayjs(e.newTime.start).format("YYYY-MM-DD HH:mm")),t("div",$A.dayjs(e.newTime.end).format("YYYY-MM-DD HH:mm"))])}],editData:[],editLoad:0,editShowInfo:!1}},mounted(){this.initData()},computed:{...u(["taskPriority"]),...k(["projectData"]),menuWidth(){return this.windowWidth<1440?180:260},completedTask(){return this.projectData.cacheParameter.completedTask}},watch:{projectColumn:{handler(){this.initData()},deep:!0},flowInfo:{handler(){this.initData()},deep:!0},completedTask(){this.initData()}},methods:{initData(){this.lists=[],this.projectColumn&&this.projectColumn.some(this.checkAdd)},flowTask(t){return $A.leftExists(this.flowInfo.value,"user:")&&!t.task_user.find(({userid:e,owner:s})=>e===this.flowInfo.userid&&s)?!0:this.flowInfo.value>0&&t.flow_item_id!==this.flowInfo.value},filtrLength(t){return t.filter(e=>!(e.complete_at&&!this.completedTask||this.flowTask(e))).length},checkAdd(t){this.filtrProjectId>0&&t.id!=this.filtrProjectId||t.tasks&&t.tasks.some(e=>{let s=!e.start_at||!e.end_at,a=this.getTimeObj(e),n=a.start,i=a.end;if(e.complete_at&&!this.completedTask||this.flowTask(e))return!1;let o="#058ce4";this.taskPriority.some(x=>{if(x.priority===e.p_level)return o=x.color,!0});let r={start:n,end:i},l=$A.cloneJSON(r),c=this.editData.find(({id:x})=>x==e.id);c&&(r=$A.cloneJSON(c.newTime)),this.lists.push({id:e.id,label:e.name,complete:e.complete_at,overdue:e.overdue,time:r,notime:s,baktime:l,style:{background:o}})})},onChange(t){const{time:e,baktime:s}=t;if(Math.abs(s.end-e.end)>1e3||Math.abs(s.start-e.start)>1e3){let a=this.editData.find(({id:n})=>n==t.id);a?a.newTime=e:this.editData.push({id:t.id,label:t.label,notime:t.notime,baktime:t.baktime,newTime:e})}},onClick(t){this.$store.dispatch("openTask",t)},editSubmit(t){this.editData&&this.editData.forEach(e=>{let s=this.lists.find(({id:a})=>a==e.id);if(t){this.editLoad++;let a=$A.dayjs(e.newTime.start).format("YYYY-MM-DD HH:mm"),n=$A.dayjs(e.newTime.end).format("YYYY-MM-DD HH:mm"),i={task_id:e.id,times:[a,n]};this.$store.dispatch("taskUpdate",i).then(({msg:o})=>{this.editLoad--,this.editLoad===0&&$A.messageSuccess(o),s&&this.$set(s,"baktime",$A.cloneJSON(s.time))}).catch(({msg:o})=>{this.editLoad--,this.editLoad===0&&$A.modalError(o),s&&this.$set(s,"time",$A.cloneJSON(s.baktime))})}else s&&this.$set(s,"time",$A.cloneJSON(s.baktime))}),this.editData=[]},getTimeObj(t){let e=t.start_at?$A.dayjs(t.start_at):$A.dayjs(t.created_at).startOf("day"),s=t.end_at?$A.dayjs(t.end_at):e.clone();return s.unix()==e.unix()&&(s=s.endOf("day")),{start:e.valueOf(),end:Math.max(s.valueOf(),e.valueOf()+6e4)}},onSwitchColumn(t){this.filtrProjectId=$A.runNum(t),this.initData()}}},A={};var Qt=d(Zt,Xt,qt,!1,te,null,null,null);function te(t){for(let e in A)this[e]=A[e]}var ee=function(){return Qt.exports}(),se=function(){var t=this,e=this,s=e.$createElement,a=e._self._c||s;return a("div",{staticClass:"project-panel",class:[e.tabTypeActive]},[a("PageTitle",{attrs:{title:e.projectData.name}}),a("div",{staticClass:"project-titbox"},[a("div",{staticClass:"project-title"},[a("div",{staticClass:"project-back",on:{click:e.onBack}},[a("i",{staticClass:"taskfont"},[e._v("\uE676")])]),a("h1",{staticClass:"user-select-auto",domProps:{innerHTML:e._s(e.transformEmojiToHtml(e.projectData.name))},on:{click:e.showName}}),e.loading?a("div",{staticClass:"project-load"},[a("Loading")],1):e._e()]),a("ul",{staticClass:"project-icons"},[a("li",{staticClass:"project-avatar",class:{"cursor-default":e.projectData.owner_userid!==e.userId},on:{click:function(n){return e.projectDropdown("user")}}},[a("ul",[a("li",[a("UserAvatarTip",{attrs:{userid:e.projectData.owner_userid,size:36,borderWidth:2,openDelay:0}},[a("p",[e._v(e._s(e.$L("\u9879\u76EE\u8D1F\u8D23\u4EBA")))])]),(e.windowWidth<=980||e.projectData.cacheParameter.chat)&&e.projectUser.length>0?a("Badge",{attrs:{type:"normal","overflow-count":999,count:e.projectData.project_user.length}}):e._e()],1),e._l(e.projectUser,function(n){return!(e.windowWidth<=980||e.projectData.cacheParameter.chat)&&e.projectUser.length>0?[n.userid===-1?a("li",{staticClass:"more"},[a("ETooltip",{attrs:{disabled:e.$isEEUIApp||e.windowTouch,content:e.$L("\u5171"+e.projectData.project_user.length+"\u4E2A\u6210\u5458")}},[a("Icon",{attrs:{type:"ios-more"}})],1)],1):a("li",[a("UserAvatarTip",{attrs:{userid:n.userid,size:36,borderWidth:2,openDelay:0}})],1)]:e._e()})],2)]),a("li",{staticClass:"project-icon",on:{click:function(n){return e.addTaskOpen(0)}}},[a("ETooltip",{attrs:{disabled:e.$isEEUIApp||e.windowTouch,content:e.$L("\u6DFB\u52A0\u4EFB\u52A1")}},[a("Icon",{staticClass:"menu-icon",attrs:{type:"md-add"}})],1)],1),a("li",{class:["project-icon",e.searchText!=""?"active":""]},[a("Tooltip",{attrs:{always:e.searchText!="",theme:"light",rawIndex:10},on:{"on-popper-show":e.searchFocus}},[a("Icon",{staticClass:"menu-icon",attrs:{type:"ios-search"},on:{click:e.searchFocus}}),a("div",{attrs:{slot:"content"},slot:"content"},[a("Input",{ref:"searchInput",staticClass:"search-input",attrs:{placeholder:e.$L("ID\u3001\u540D\u79F0\u3001\u63CF\u8FF0..."),clearable:""},model:{value:e.searchText,callback:function(n){e.searchText=n},expression:"searchText"}})],1)],1)],1),a("li",{class:["project-icon",e.windowLandscape&&e.projectData.cacheParameter.chat?"active":""],on:{click:function(n){return e.toggleParameter("chat")}}},[a("Icon",{staticClass:"menu-icon",attrs:{type:"ios-chatbubbles"}}),a("Badge",{staticClass:"menu-badge",attrs:{"overflow-count":999,count:e.msgUnread}})],1),a("li",{staticClass:"project-icon"},[a("EDropdown",{attrs:{trigger:"click",transfer:""},on:{command:e.projectDropdown}},[a("Icon",{staticClass:"menu-icon",attrs:{type:"ios-more"}}),e.projectData.owner_userid===e.userId?a("EDropdownMenu",{staticClass:"project-panel-project-menu-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[a("EDropdownItem",{attrs:{command:"setting"}},[e._v(e._s(e.$L("\u9879\u76EE\u8BBE\u7F6E")))]),a("EDropdownItem",{attrs:{command:"permissions"}},[e._v(e._s(e.$L("\u6743\u9650\u8BBE\u7F6E")))]),a("EDropdownItem",{attrs:{command:"task_template"}},[e._v(e._s(e.$L("\u4EFB\u52A1\u6A21\u677F")))]),a("EDropdownItem",{attrs:{command:"task_tag"}},[e._v(e._s(e.$L("\u4EFB\u52A1\u6807\u7B7E")))]),a("EDropdownItem",{attrs:{command:"workflow"}},[e._v(e._s(e.$L("\u5DE5\u4F5C\u6D41\u8BBE\u7F6E")))]),a("EDropdownItem",{attrs:{command:"user",divided:""}},[e._v(e._s(e.$L("\u6210\u5458\u7BA1\u7406")))]),a("EDropdownItem",{attrs:{command:"invite"}},[e._v(e._s(e.$L("\u9080\u8BF7\u94FE\u63A5")))]),a("EDropdownItem",{attrs:{command:"favorite",divided:""}},[e._v(e._s(e.$L(e.projectData.favorited?"\u53D6\u6D88\u6536\u85CF":"\u6536\u85CF\u9879\u76EE")))]),a("EDropdownItem",{attrs:{command:"log"}},[e._v(e._s(e.$L("\u9879\u76EE\u52A8\u6001")))]),a("EDropdownItem",{attrs:{command:"archived_task"}},[e._v(e._s(e.$L("\u5DF2\u5F52\u6863\u4EFB\u52A1")))]),a("EDropdownItem",{attrs:{command:"deleted_task"}},[e._v(e._s(e.$L("\u5DF2\u5220\u9664\u4EFB\u52A1")))]),a("EDropdownItem",{attrs:{command:"transfer",divided:""}},[e._v(e._s(e.$L("\u79FB\u4EA4\u9879\u76EE")))]),a("EDropdownItem",{attrs:{command:"archived"}},[e._v(e._s(e.$L("\u5F52\u6863\u9879\u76EE")))]),a("EDropdownItem",{staticStyle:{color:"#f40"},attrs:{command:"delete"}},[e._v(e._s(e.$L("\u5220\u9664\u9879\u76EE")))])],1):a("EDropdownMenu",{attrs:{slot:"dropdown"},slot:"dropdown"},[a("EDropdownItem",{attrs:{command:"task_tag"}},[e._v(e._s(e.$L("\u4EFB\u52A1\u6807\u7B7E")))]),a("EDropdownItem",{attrs:{command:"favorite",divided:""}},[e._v(e._s(e.$L(e.projectData.favorited?"\u53D6\u6D88\u6536\u85CF":"\u6536\u85CF\u9879\u76EE")))]),a("EDropdownItem",{attrs:{command:"log"}},[e._v(e._s(e.$L("\u9879\u76EE\u52A8\u6001")))]),a("EDropdownItem",{attrs:{command:"archived_task"}},[e._v(e._s(e.$L("\u5DF2\u5F52\u6863\u4EFB\u52A1")))]),a("EDropdownItem",{attrs:{command:"deleted_task"}},[e._v(e._s(e.$L("\u5DF2\u5220\u9664\u4EFB\u52A1")))]),a("EDropdownItem",{staticStyle:{color:"#f40"},attrs:{command:"exit",divided:""}},[e._v(e._s(e.$L("\u9000\u51FA\u9879\u76EE")))])],1)],1)],1)])]),a("div",{staticClass:"project-subbox"},[a("div",{staticClass:"project-subtitle user-select-auto",on:{click:e.showDesc}},[a("VMPreviewNostyle",{ref:"descPreview",attrs:{value:e.projectData.desc}})],1),a("div",{staticClass:"project-switch"},[e.completedCount>0?a("div",{staticClass:"project-checkbox"},[a("Checkbox",{attrs:{value:e.projectData.cacheParameter.completedTask},on:{"on-change":function(n){return e.toggleParameter("completedTask")}}},[e._v(e._s(e.$L("\u663E\u793A\u5DF2\u5B8C\u6210")))])],1):e._e(),a("div",{staticClass:"project-select"},[a("Cascader",{ref:"flow",attrs:{data:e.flowData,"transfer-class-name":"project-panel-flow-cascader",transfer:""},on:{"on-change":e.flowChange}},[a("span",{class:`project-flow ${e.flowInfo.status||""}`,style:e.flowInfo.style},[e._v(e._s(e.flowTitle))])])],1),a("div",{staticClass:"project-switch-button"},[a("div",{staticClass:"slider",style:e.tabTypeStyle}),a("div",{class:{active:e.tabTypeActive==="column"},on:{click:function(n){return e.tabTypeChange("column")}}},[a("i",{staticClass:"taskfont"},[e._v("\uE60C")])]),a("div",{class:{active:e.tabTypeActive==="table"},on:{click:function(n){return e.tabTypeChange("table")}}},[a("i",{staticClass:"taskfont"},[e._v("\uE66A")])]),a("div",{class:{active:e.tabTypeActive==="gantt"},on:{click:function(n){return e.tabTypeChange("gantt")}}},[a("i",{staticClass:"taskfont"},[e._v("\uE797")])])])])]),e.tabTypeActive==="column"?a("div",{ref:"projectColumn",staticClass:"project-column",on:{scroll:e.handleColumnScroll}},[a("Draggable",{staticClass:"column-list",attrs:{list:e.columnList,animation:150,disabled:e.sortDisabled||e.$isEEUIApp||e.windowTouch,tag:"ul",draggable:".column-item"},on:{sort:function(n){return e.sortUpdate(!0)}}},[e._l(e.columnList,function(n){return a("li",{key:n.id,ref:`column_${n.id}`,refInFor:!0,staticClass:"column-item",attrs:{"data-id":n.id}},[a("div",{class:["column-head",n.color?"custom-color":""],style:n.color?{backgroundColor:n.color}:{}},[a("div",{staticClass:"column-head-title"},[a("AutoTip",{domProps:{innerHTML:e._s(e.transformEmojiToHtml(n.name))}}),a("em",[e._v("("+e._s(e.panelTask(n.tasks).length)+")")])],1),a("div",{staticClass:"column-head-icon"},[e.columnLoad[n.id]===!0?a("div",{staticClass:"loading"},[a("Loading")],1):a("EDropdown",{attrs:{trigger:"click"},on:{command:function(i){return e.dropColumn(n,i)}}},[a("Icon",{attrs:{type:"ios-more"}}),a("EDropdownMenu",{staticClass:"project-panel-more-dropdown-menu",attrs:{slot:"dropdown"},slot:"dropdown"},[a("li",{staticClass:"project-panel-more-dropdown-warp"},[a("ul",[a("EDropdownItem",{attrs:{command:"title"}},[a("div",{staticClass:"item"},[a("Icon",{attrs:{type:"md-create"}}),e._v(e._s(e.$L("\u4FEE\u6539"))+" ")],1)]),a("EDropdownItem",{attrs:{command:"remove"}},[a("div",{staticClass:"item"},[a("Icon",{attrs:{type:"md-trash"}}),e._v(e._s(e.$L("\u5220\u9664"))+" ")],1)]),e._l(e.$store.state.columnColorList,function(i,o){return a("EDropdownItem",{key:o,attrs:{divided:o==0,command:i}},[a("div",{staticClass:"item"},[a("i",{staticClass:"taskfont",style:{color:i.color||"#ddd"},domProps:{innerHTML:e._s(i.color==n.color?"":"")}}),e._v(e._s(e.$L(i.name))+" ")])])})],2)])])],1),a("Icon",{staticClass:"last",attrs:{type:"md-add"},on:{click:function(i){return e.addTopShow(n.id,!0)}}})],1)]),a("Scrollbar",{staticClass:"column-task",attrs:{"class-name":"task-scrollbar"},on:{"on-scroll":e.handleTaskScroll}},[e.columnTopShow[n.id]?a("div",{staticClass:"task-item additem"},[a("TaskAddSimple",{attrs:{"column-id":n.id,"project-id":e.projectId,"add-top":!0,"auto-active":""},on:{"on-close":function(i){return e.addTopShow(n.id,!1)},"on-priority":e.addTaskOpen}})],1):e._e(),a("Draggable",{staticClass:"task-list",attrs:{list:n.tasks,animation:150,disabled:e.sortDisabled||e.$isEEUIApp||e.windowTouch,draggable:".task-draggable",filter:".complete",group:"task"},on:{sort:e.sortUpdate,remove:e.sortUpdate}},[e._l(n.tasks,function(i){return a("div",{key:`${n.id}_${i.id}`,class:["task-item task-draggable",i.complete_at?"complete":"",e.taskIsHidden(i)?"hidden":""],style:e.$A.generateColorVarStyle(i.flow_item_color,[10],"flow-item-custom-color",e.taskItemStyle(i)),attrs:{"data-id":i.id},on:{click:function(o){return e.openTask(i)}}},[e.taskItemVisible(i)?[a("div",{class:["task-head",i.desc?"has-desc":""]},[a("div",{staticClass:"task-title"},[i.flow_item_name?a("span",{class:i.flow_item_status,on:{click:function(o){return o.stopPropagation(),e.openMenu(o,i)}}},[e._v(e._s(i.flow_item_name))]):e._e(),a("pre",[e._v(e._s(i.name))])]),a("div",{staticClass:"task-menu",on:{click:function(o){o.stopPropagation()}}},[a("TaskMenu",{ref:`taskMenu_${i.id}`,refInFor:!0,attrs:{task:i,icon:"ios-more"}})],1)]),i.complete_at?e._e():[i.desc?a("div",{staticClass:"task-desc"},[a("pre",{domProps:{innerHTML:e._s(i.desc)}})]):e._e(),i.task_tag.length>0?a("TaskTag",{staticClass:"task-tags",attrs:{tags:i.task_tag}}):e._e(),a("div",{staticClass:"task-users"},[a("ul",[e._l(e.ownerUser(i.task_user),function(o,r){return a("li",{key:r},[a("UserAvatar",{attrs:{userid:o.userid,size:"32",borderWidth:2,borderColor:i.color}})],1)}),e.ownerUser(i.task_user).length===0?a("li",{staticClass:"no-owner"},[a("Button",{attrs:{type:"primary",size:"small",ghost:""},on:{click:function(o){return o.stopPropagation(),e.openTask(i,!0)}}},[e._v(e._s(e.$L("\u9886\u53D6\u4EFB\u52A1")))])],1):e._e()],2),i.file_num>0?a("div",{staticClass:"task-icon"},[e._v(e._s(i.file_num)),a("Icon",{attrs:{type:"ios-link-outline"}})],1):e._e(),i.msg_num>0?a("div",{staticClass:"task-icon"},[e._v(e._s(i.msg_num)),a("Icon",{attrs:{type:"ios-chatbubbles-outline"}})],1):e._e()]),a("div",{staticClass:"task-progress"},[i.sub_num>0?a("div",{staticClass:"task-sub-num"},[e._v(e._s(i.sub_complete)+"/"+e._s(i.sub_num))]):e._e(),a("Progress",{attrs:{percent:i.percent,"stroke-width":6}}),i.end_at?a("ETooltip",{class:["task-time",i.today?"today":"",i.overdue?"overdue":""],attrs:{disabled:e.$isEEUIApp||e.windowTouch,"open-delay":600,content:i.end_at}},[i.complete_at?e._e():a("div",[a("i",{staticClass:"taskfont"},[e._v("\uE71D")]),e._v(e._s(e.expiresFormat(i.end_at)))])]):e._e()],1),i.p_name?a("em",{staticClass:"priority-color",style:{backgroundColor:i.p_color}}):e._e()]]:e._e()],2)}),a("div",{staticClass:"task-item additem"},[a("TaskAddSimple",{attrs:{"column-id":n.id,"project-id":e.projectId},on:{"on-priority":e.addTaskOpen}})],1)],2)],1)],1)}),a("li",{class:["add-column",e.addColumnShow?"show-input":""]},[a("div",{staticClass:"add-column-text",on:{click:e.addColumnOpen}},[a("Icon",{attrs:{type:"md-add"}}),e._v(e._s(e.$L("\u6DFB\u52A0\u5217\u8868"))+" ")],1),a("div",{staticClass:"add-column-input"},[a("Input",{ref:"addColumnName",attrs:{placeholder:e.$L("\u5217\u8868\u540D\u79F0\uFF0C\u56DE\u8F66\u521B\u5EFA"),clearable:""},on:{"on-blur":e.addColumnBlur,"on-enter":e.addColumnSubmit,"on-clear":function(n){e.addColumnShow=!1}},model:{value:e.addColumnName,callback:function(n){e.addColumnName=n},expression:"addColumnName"}})],1)])],2)],1):e.tabTypeActive==="table"?a("Scrollbar",{ref:"projectTableScroll",staticClass:"project-table",attrs:{"enable-x":""},on:{"on-scroll":e.handleTaskScroll}},[a("div",{staticClass:"project-table-head"},[a("Row",{staticClass:"task-row"},[a("Col",{attrs:{span:"12"}},[a("div",{staticClass:"ellipsis"},[e._v("# "+e._s(e.$L("\u4EFB\u52A1\u540D\u79F0")))])]),a("Col",{attrs:{span:"3"}},[a("div",{staticClass:"ellipsis"},[e._v(e._s(e.$L("\u5217\u8868")))])]),a("Col",{attrs:{span:"3"}},[a("div",{staticClass:"sort",on:{click:function(n){return e.onSort("level")}}},[a("div",{staticClass:"head-title"},[e._v(e._s(e.$L("\u4F18\u5148\u7EA7")))]),a("div",{staticClass:"head-sort"},[a("Icon",{class:{on:e.sortField=="level"&&e.sortType=="asc"},attrs:{type:"md-arrow-dropup"}}),a("Icon",{class:{on:e.sortField=="level"&&e.sortType=="desc"},attrs:{type:"md-arrow-dropdown"}})],1)])]),a("Col",{attrs:{span:"3"}},[a("div",{staticClass:"ellipsis"},[e._v(e._s(e.$L("\u8D1F\u8D23\u4EBA")))])]),a("Col",{attrs:{span:"3"}},[a("div",{staticClass:"sort",on:{click:function(n){return e.onSort("end_at")}}},[a("div",{staticClass:"head-title"},[e._v(e._s(e.$L("\u5230\u671F\u65F6\u95F4")))]),a("div",{staticClass:"head-sort"},[a("Icon",{class:{on:e.sortField=="end_at"&&e.sortType=="asc"},attrs:{type:"md-arrow-dropup"}}),a("Icon",{class:{on:e.sortField=="end_at"&&e.sortType=="desc"},attrs:{type:"md-arrow-dropdown"}})],1)])])],1)],1),a("div",{class:["project-table-body",e.projectData.cacheParameter.showMy?"":"project-table-hide"]},[a("Row",{staticClass:"task-row"},[a("Col",{staticClass:"row-title",attrs:{span:"12"}},[a("i",{staticClass:"taskfont",on:{click:function(n){return e.toggleParameter("showMy")}}},[e._v("\uE689")]),a("div",{staticClass:"row-h1"},[e._v(e._s(e.$L("\u6211\u7684\u4EFB\u52A1")))]),a("div",{staticClass:"row-num"},[e._v("("+e._s(e.myList.length)+")")])]),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}})],1),e.projectData.cacheParameter.showMy?a("TaskRow",{attrs:{list:e.transforTasks(e.myList),"task-visibilitys":e.taskRowVisibilitys,"open-key":"my","fast-add-task":""},on:{"on-priority":e.addTaskOpen}}):e._e()],1),e.helpList.length?a("div",{class:["project-table-body",e.projectData.cacheParameter.showHelp?"":"project-table-hide"]},[a("Row",{staticClass:"task-row"},[a("Col",{staticClass:"row-title",attrs:{span:"12"}},[a("i",{staticClass:"taskfont",on:{click:function(n){return e.toggleParameter("showHelp")}}},[e._v("\uE689")]),a("div",{staticClass:"row-h1"},[e._v(e._s(e.$L("\u534F\u52A9\u7684\u4EFB\u52A1")))]),a("div",{staticClass:"row-num"},[e._v("("+e._s(e.helpList.length)+")")])]),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}})],1),e.projectData.cacheParameter.showHelp?a("TaskRow",{attrs:{list:e.helpList,"task-visibilitys":e.taskRowVisibilitys,"open-key":"help"},on:{"on-priority":e.addTaskOpen}}):e._e()],1):e._e(),e.projectData.task_num>0?a("div",{class:["project-table-body",e.projectData.cacheParameter.showUndone?"":"project-table-hide"]},[a("Row",{staticClass:"task-row"},[a("Col",{staticClass:"row-title",attrs:{span:"12"}},[a("i",{staticClass:"taskfont",on:{click:function(n){return e.toggleParameter("showUndone")}}},[e._v("\uE689")]),a("div",{staticClass:"row-h1"},[e._v(e._s(e.$L("\u672A\u5B8C\u6210\u4EFB\u52A1")))]),a("div",{staticClass:"row-num"},[e._v("("+e._s(e.unList.length)+")")])]),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}})],1),e.projectData.cacheParameter.showUndone?a("TaskRow",{attrs:{list:e.unList,"task-visibilitys":e.taskRowVisibilitys,"open-key":"undone"},on:{"on-priority":e.addTaskOpen}}):e._e()],1):e._e(),e.projectData.task_num>0?a("div",{class:["project-table-body",e.projectData.cacheParameter.showCompleted?"":"project-table-hide"]},[a("Row",{staticClass:"task-row"},[a("Col",{staticClass:"row-title",attrs:{span:"12"}},[a("i",{staticClass:"taskfont",on:{click:function(n){return e.toggleParameter("showCompleted")}}},[e._v("\uE689")]),a("div",{staticClass:"row-h1"},[e._v(e._s(e.$L("\u5DF2\u5B8C\u6210\u4EFB\u52A1")))]),a("div",{staticClass:"row-num"},[e._v("("+e._s(e.completedList.length)+")")])]),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}},[a("div",{staticClass:"ellipsis"},[e._v(e._s(e.projectData.task_num>0&&e.projectData.cacheParameter.showCompleted?e.$L("\u5B8C\u6210\u65F6\u95F4"):""))])])],1),e.projectData.cacheParameter.showCompleted?a("TaskRow",{attrs:{list:e.completedList,"task-visibilitys":e.taskRowVisibilitys,"open-key":"completed",showCompleteAt:""},on:{"on-priority":e.addTaskOpen}}):e._e()],1):e._e()]):e.tabTypeActive==="gantt"?a("div",{staticClass:"project-gantt"},[a("ProjectGantt",{attrs:{projectColumn:e.columnList,flowInfo:e.flowInfo}})],1):e._e(),a("Modal",{attrs:{title:e.$L("\u9879\u76EE\u8BBE\u7F6E"),"mask-closable":!1},model:{value:e.settingShow,callback:function(n){e.settingShow=n},expression:"settingShow"}},[a("Form",e._b({attrs:{model:e.settingData},nativeOn:{submit:function(n){n.preventDefault()}}},"Form",e.formOptions,!1),[a("FormItem",{attrs:{prop:"name",label:e.$L("\u9879\u76EE\u540D\u79F0")}},[a("Input",{ref:"projectName",attrs:{type:"text",maxlength:32,placeholder:e.$L("\u5FC5\u586B")},model:{value:e.settingData.name,callback:function(n){e.$set(e.settingData,"name",n)},expression:"settingData.name"}})],1),a("FormItem",{attrs:{prop:"desc",label:e.$L("\u9879\u76EE\u4ECB\u7ECD")}},[a("Input",{ref:"projectDesc",attrs:{type:"textarea",autosize:{minRows:3,maxRows:5},maxlength:255,placeholder:`${e.$L("\u9009\u586B")} (${e.$L("\u652F\u6301 Markdown \u683C\u5F0F")})`},model:{value:e.settingData.desc,callback:function(n){e.$set(e.settingData,"desc",n)},expression:"settingData.desc"}})],1),a("FormItem",{attrs:{label:e.$L("\u81EA\u52A8\u5F52\u6863"),prop:"archive_method"}},[a("RadioGroup",{attrs:{value:e.settingData.archive_method},on:{"on-change":e.formArchived}},[a("Radio",{attrs:{label:"system"}},[e._v(e._s(e.$L("\u7CFB\u7EDF\u9ED8\u8BA4")))]),a("Radio",{attrs:{label:"custom"}},[e._v(e._s(e.$L("\u81EA\u5B9A\u4E49")))])],1),e.settingData.archive_method=="custom"?[a("div",{staticClass:"form-tip"},[e._v(e._s(e.$L("\u4EFB\u52A1\u5B8C\u6210 (*) \u5929\u540E\u81EA\u52A8\u5F52\u6863\u3002",e.settingData.archive_days||"n")))]),a("div",{staticClass:"setting-auto-day"},[a("Input",{attrs:{type:"number"},model:{value:e.settingData.archive_days,callback:function(n){e.$set(e.settingData,"archive_days",n)},expression:"settingData.archive_days"}},[a("span",{attrs:{slot:"append"},slot:"append"},[e._v(e._s(e.$L("\u5929")))])])],1)]:e._e()],2)],1),a("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[a("Button",{attrs:{type:"default"},on:{click:function(n){e.settingShow=!1}}},[e._v(e._s(e.$L("\u53D6\u6D88")))]),a("Button",{attrs:{type:"primary",loading:e.settingLoad>0},on:{click:e.onSetting}},[e._v(e._s(e.$L("\u4FEE\u6539")))])],1)],1),a("DrawerOverlay",{attrs:{placement:"right",size:800},model:{value:e.permissionShow,callback:function(n){e.permissionShow=n},expression:"permissionShow"}},[e.permissionShow?a("ProjectPermission",{ref:"permission",attrs:{"project-id":e.projectId},on:{close:function(){t.permissionShow=!1}}}):e._e()],1),a("Modal",{attrs:{title:e.$L("\u6210\u5458\u7BA1\u7406"),"mask-closable":!1},model:{value:e.userShow,callback:function(n){e.userShow=n},expression:"userShow"}},[a("Form",e._b({attrs:{model:e.userData},nativeOn:{submit:function(n){n.preventDefault()}}},"Form",e.formOptions,!1),[a("FormItem",{attrs:{prop:"userids",label:e.$L("\u9879\u76EE\u6210\u5458")}},[a("UserSelect",{attrs:{uncancelable:e.userData.uncancelable,"multiple-max":100,title:e.$L("\u9009\u62E9\u9879\u76EE\u6210\u5458")},model:{value:e.userData.userids,callback:function(n){e.$set(e.userData,"userids",n)},expression:"userData.userids"}})],1)],1),a("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[a("Button",{attrs:{type:"default"},on:{click:function(n){e.userShow=!1}}},[e._v(e._s(e.$L("\u53D6\u6D88")))]),e.userWaitRemove.length>0?a("Poptip",{staticStyle:{"margin-left":"8px"},attrs:{confirm:"",placement:"bottom","ok-text":e.$L("\u786E\u5B9A"),"cancel-text":e.$L("\u53D6\u6D88"),transfer:""},on:{"on-ok":e.onUser}},[a("div",{attrs:{slot:"title"},slot:"title"},[a("p",[a("strong",[e._v(e._s(e.$L("\u79FB\u9664\u6210\u5458\u8D1F\u8D23\u7684\u4EFB\u52A1\u5C06\u53D8\u6210\u65E0\u8D1F\u8D23\u4EBA\uFF0C")))])]),a("p",[e._v(e._s(e.$L("\u6CE8\u610F\u6B64\u64CD\u4F5C\u4E0D\u53EF\u9006\uFF01")))]),a("ul",{staticClass:"project-panel-wait-remove"},[a("li",[e._v(e._s(e.$L("\u5373\u5C06\u79FB\u9664"))+"\uFF1A")]),e._l(e.userWaitRemove,function(n){return a("li",{key:n},[a("UserAvatar",{attrs:{userid:n,size:20,showName:""}})],1)})],2)]),a("Button",{attrs:{type:"primary",loading:e.userLoad>0}},[e._v(e._s(e.$L("\u4FDD\u5B58")))])],1):a("Button",{attrs:{type:"primary",loading:e.userLoad>0},on:{click:e.onUser}},[e._v(e._s(e.$L("\u4FDD\u5B58")))])],1)],1),a("Modal",{attrs:{title:e.$L("\u9080\u8BF7\u94FE\u63A5"),"mask-closable":!1},model:{value:e.inviteShow,callback:function(n){e.inviteShow=n},expression:"inviteShow"}},[a("Form",e._b({attrs:{model:e.inviteData},nativeOn:{submit:function(n){n.preventDefault()}}},"Form",e.formOptions,!1),[a("FormItem",{attrs:{label:e.$L("\u94FE\u63A5\u5730\u5740")}},[a("Input",{ref:"inviteInput",attrs:{type:"textarea",rows:3,readonly:""},on:{"on-focus":e.inviteFocus},model:{value:e.inviteData.url,callback:function(n){e.$set(e.inviteData,"url",n)},expression:"inviteData.url"}}),a("div",{staticClass:"form-tip"},[e._v(" "+e._s(e.$L("\u53EF\u901A\u8FC7\u6B64\u94FE\u63A5\u76F4\u63A5\u52A0\u5165\u9879\u76EE\u3002"))+" "),a("Poptip",{attrs:{confirm:"",placement:"bottom","ok-text":e.$L("\u786E\u5B9A"),"cancel-text":e.$L("\u53D6\u6D88"),transfer:""},on:{"on-ok":function(n){return e.inviteGet(!0)}}},[a("div",{attrs:{slot:"title"},slot:"title"},[a("p",[a("strong",[e._v(e._s(e.$L("\u6CE8\u610F\uFF1A\u5237\u65B0\u5C06\u5BFC\u81F4\u539F\u6765\u7684\u9080\u8BF7\u94FE\u63A5\u5931\u6548\uFF01")))])])]),a("a",{attrs:{href:"javascript:void(0)"}},[e._v(e._s(e.$L("\u5237\u65B0\u94FE\u63A5")))])])],1)],1)],1),a("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[a("Button",{attrs:{type:"default"},on:{click:function(n){e.inviteShow=!1}}},[e._v(e._s(e.$L("\u53D6\u6D88")))]),a("Button",{attrs:{type:"primary",loading:e.inviteLoad>0},on:{click:e.inviteCopy}},[e._v(e._s(e.$L("\u590D\u5236")))])],1)],1),a("Modal",{attrs:{title:e.$L("\u79FB\u4EA4\u9879\u76EE"),"mask-closable":!1},model:{value:e.transferShow,callback:function(n){e.transferShow=n},expression:"transferShow"}},[a("Form",e._b({attrs:{model:e.transferData},nativeOn:{submit:function(n){n.preventDefault()}}},"Form",e.formOptions,!1),[a("FormItem",{attrs:{prop:"owner_userid",label:e.$L("\u65B0\u9879\u76EE\u8D1F\u8D23\u4EBA")}},[a("UserSelect",{attrs:{"multiple-max":1,title:e.$L("\u9009\u62E9\u9879\u76EE\u8D1F\u8D23\u4EBA")},model:{value:e.transferData.owner_userid,callback:function(n){e.$set(e.transferData,"owner_userid",n)},expression:"transferData.owner_userid"}})],1)],1),a("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[a("Button",{attrs:{type:"default"},on:{click:function(n){e.transferShow=!1}}},[e._v(e._s(e.$L("\u53D6\u6D88")))]),a("Button",{attrs:{type:"primary",loading:e.transferLoad>0},on:{click:e.onTransfer}},[e._v(e._s(e.$L("\u79FB\u4EA4")))])],1)],1),a("DrawerOverlay",{attrs:{placement:"right",size:720},model:{value:e.taskTemplateShow,callback:function(n){e.taskTemplateShow=n},expression:"taskTemplateShow"}},[e.taskTemplateShow?a("ProjectTaskTemplate",{ref:"taskTemplate",attrs:{"project-id":e.projectId}}):e._e()],1),a("DrawerOverlay",{attrs:{placement:"right",beforeClose:e.taskTagBeforeClose,size:720},model:{value:e.taskTagShow,callback:function(n){e.taskTagShow=n},expression:"taskTagShow"}},[e.taskTagShow?a("ProjectTaskTag",{ref:"taskTag",attrs:{"project-id":e.projectId}}):e._e()],1),a("DrawerOverlay",{attrs:{placement:"right",beforeClose:e.workflowBeforeClose,size:1280},model:{value:e.workflowShow,callback:function(n){e.workflowShow=n},expression:"workflowShow"}},[e.workflowShow?a("ProjectWorkflow",{ref:"workflow",attrs:{"project-id":e.projectId}}):e._e()],1),a("DrawerOverlay",{attrs:{placement:"right",size:720},model:{value:e.logShow,callback:function(n){e.logShow=n},expression:"logShow"}},[e.logShow?a("ProjectLog",{attrs:{"project-id":e.projectId}}):e._e()],1),a("DrawerOverlay",{attrs:{placement:"right",size:1180},model:{value:e.archivedTaskShow,callback:function(n){e.archivedTaskShow=n},expression:"archivedTaskShow"}},[e.archivedTaskShow?a("TaskArchived",{attrs:{"project-id":e.projectId}}):e._e()],1),a("DrawerOverlay",{attrs:{placement:"right",size:1180},model:{value:e.deletedTaskShow,callback:function(n){e.deletedTaskShow=n},expression:"deletedTaskShow"}},[e.deletedTaskShow?a("TaskDeleted",{attrs:{"project-id":e.projectId}}):e._e()],1)],1)},ae=[];const ne={name:"ProjectPanel",components:{VMPreviewNostyle:N,UserAvatarTip:J,UserSelect:W,TaskMenu:R,ProjectTaskTag:gt,ProjectTaskTemplate:Tt,ProjectWorkflow:St,ProjectPermission:Ot,DrawerOverlay:X,ProjectLog:K,TaskArchived:ht,TaskRow:rt,Draggable:f,TaskAddSimple:V,TaskPriority:F,TaskDeleted:Vt,TaskTag:O,ProjectGantt:ee},data(){return{loading:!1,nowTime:$A.dayjs().unix(),nowInterval:null,columnLoad:{},columnTopShow:{},sortField:"end_at",sortType:"desc",searchText:"",addColumnShow:!1,addColumnLoad:!1,addColumnName:"",sortData:[],sortDisabled:!1,settingShow:!1,settingData:{},settingLoad:0,permissionShow:!1,permissionShowData:{},permissionShowLoad:0,userShow:!1,userData:{},userLoad:0,inviteShow:!1,inviteData:{},inviteLoad:0,transferShow:!1,transferData:{},transferLoad:0,taskTemplateShow:!1,taskTagShow:!1,workflowShow:!1,logShow:!1,archivedTaskShow:!1,deletedTaskShow:!1,flowInfo:{},flowList:[],columnVisibilitys:{},taskVisibilitys:{},taskRowVisibilitys:{}}},mounted(){this.nowInterval=setInterval(()=>{this.nowTime=$A.dayjs().unix()},1e3)},destroyed(){clearInterval(this.nowInterval)},computed:{...u(["cacheDialogs","projectId","projectLoad","cacheTasks","cacheColumns","taskCompleteTemps","cacheUserBasic","formOptions"]),...k(["projectData","transforTasks"]),tabTypeActive(){return this.projectData.cacheParameter.menuType},tabTypeStyle(){const t={};switch(this.tabTypeActive){case"column":t.left="0";break;case"table":t.left="33.33%";break;case"gantt":t.left="66.66%";break;default:t.display="none"}return t},userWaitRemove(){const{userids:t,useridbak:e}=this.userData;if(!t)return[];let s=[];return e.some(a=>{t.includes(a)||s.push(a)}),s},msgUnread(){const{cacheDialogs:t,projectData:e}=this,s=t.find(({id:a})=>a===e.dialog_id);return $A.getDialogNum(s)},panelTask(){const{searchText:t,flowInfo:e}=this;return function(s){return this.projectData.cacheParameter.completedTask||(s=s.filter(({complete_at:a})=>!a)),$A.leftExists(e.value,"user:")?s=s.filter(({task_user:a})=>a.find(({userid:n,owner:i})=>n===e.userid&&i)):$A.leftExists(e.value,"tag:")?s=s.filter(({task_tag:a})=>a.find(({name:n})=>n===e.tag_name)):e.value>0?s=s.filter(({flow_item_id:a})=>a===e.value):e.value==-1&&(s=s.filter(({start_at:a})=>!a)),t&&(s=s.filter(({id:a,name:n,desc:i})=>a==t||$A.strExists(`${n} ${i}`,t))),s}},projectUser(){const{projectData:t,windowWidth:e}=this;if(!t.project_user)return[];let s=e>1200?8:3,a=t.project_user.filter(({userid:i})=>i!=t.owner_userid);if(a.length<=s)return a;let n=a.slice(0,s-1);return n.push({userid:-1}),n.push(a[a.length-1]),n},allTask(){const{cacheTasks:t,projectId:e}=this;return t.filter(s=>s.archived_at||!s.created_at?!1:s.project_id==e)},parentTask(){const{allTask:t}=this;return t.filter(e=>e.parent_id==0)},columnList(){const{projectId:t,cacheColumns:e,allTask:s}=this,a=$A.cloneJSON(e).filter(({project_id:n})=>n==t).sort((n,i)=>n.sort!=i.sort?$A.sortFloat(n.sort,i.sort):n.id-i.id);return a.forEach(n=>{n.tasks=this.transforTasks(s.filter(i=>i.column_id==n.id)).sort((i,o)=>i.complete_at||o.complete_at?$A.sortDay(i.complete_at,o.complete_at):i.sort!=o.sort?$A.sortFloat(i.sort,o.sort):i.id-o.id)}),a},myList(){const{allTask:t,taskCompleteTemps:e,sortField:s,sortType:a}=this;let n=t.filter(i=>this.myFilter(i));if(e.length>0){let i=t.filter(o=>e.includes(o.id)&&this.myFilter(o,!1));i.length>0&&(n=$A.cloneJSON(n),n.push(...i))}return n.sort((i,o)=>{if(a=="asc"&&([i,o]=[o,i]),s=="level")return $A.sortFloat(i.p_level,o.p_level);if(s=="end_at")return i.end_at==o.end_at?$A.sortFloat(i.p_level,o.p_level):$A.sortDay(i.end_at||"2099-12-31 23:59:59",o.end_at||"2099-12-31 23:59:59")})},helpList(){const{allTask:t,taskCompleteTemps:e,sortField:s,sortType:a}=this;let n=t.filter(i=>this.helpFilter(i));if(e.length>0){let i=t.filter(o=>e.includes(o.id)&&this.helpFilter(o,!1));i.length>0&&(n=$A.cloneJSON(n),n.push(...i))}return n.sort((i,o)=>{if(a=="asc"&&([i,o]=[o,i]),s=="level")return $A.sortFloat(i.p_level,o.p_level);if(s=="end_at")return i.end_at==o.end_at?$A.sortFloat(i.p_level,o.p_level):$A.sortDay(i.end_at||"2099-12-31 23:59:59",o.end_at||"2099-12-31 23:59:59")})},unList(){const{allTask:t,searchText:e,sortField:s,sortType:a}=this;return t.filter(i=>i.parent_id>0||this.flowTask(i)||e&&i.id!=e&&!$A.strExists(i.name,e)&&!$A.strExists(i.desc,e)?!1:!i.complete_at).sort((i,o)=>{if(a=="asc"&&([i,o]=[o,i]),s=="level")return $A.sortFloat(i.p_level,o.p_level);if(s=="end_at")return i.end_at==o.end_at?$A.sortFloat(i.p_level,o.p_level):$A.sortDay(i.end_at||"2099-12-31 23:59:59",o.end_at||"2099-12-31 23:59:59")})},completedList(){const{allTask:t,searchText:e}=this;return t.filter(a=>a.parent_id>0||this.flowTask(a)||e&&a.id!=e&&!$A.strExists(a.name,e)&&!$A.strExists(a.desc,e)?!1:a.complete_at).sort((a,n)=>$A.sortDay(n.complete_at,a.complete_at))},completedCount(){const{allTask:t}=this;return t.filter(e=>e.parent_id>0?!1:e.complete_at).length},tagList(){const t=[];return this.allTask.forEach(({task_tag:e})=>{e.forEach(s=>{t.find(a=>a.name===s.name)||t.push(s)})}),t},flowTitle(){const{flowInfo:t,flowData:e,allTask:s}=this;if(t.value==-1)return t.label;if(t.value){const a=e.find(n=>n.value===t.value);return a?a.label:t.label}return`${this.$L("\u5168\u90E8")} (${s.length})`},flowData(){const{flowList:t,allTask:e,cacheUserBasic:s}=this,a=[{value:0,label:`${this.$L("\u5168\u90E8")} (${e.length})`,children:[]}];a.push({value:-1,label:`${this.$L("\u672A\u8BA1\u5212")} (${e.filter(({start_at:o,complete_at:r})=>!o&&!r).length})`,children:[]});const n=t.map(o=>({value:o.id,label:o.name,status:o.status,children:o.project_flow_item.map(r=>{const l=e.filter(({flow_item_id:c})=>c==r.id).length;return{value:r.id,label:`${r.name} (${l})`,status:r.status,class:r.status,style:$A.generateColorVarStyle(r.color,[10],"flow-item-custom-color")}})}));if(n.length===1?a.push(...n[0].children):n.length>0&&a.push(...n),this.tagList.length>0){const o=this.tagList.map(({name:r,color:l})=>{const c=e.filter(({task_tag:x})=>x.find(m=>m.name===r)).length;return{value:`tag:${r}`,label:`${r} (${c})`,status:"tag-dot",style:{"--bg-color":l},tag_name:r,length:c}});o.length>0&&a.push(...o.map((r,l)=>(r.class=`tag-dot tag-${l}`,r)))}const{project_user:i}=this.projectData;if($A.isArray(i)){const o=i.map(r=>{const l=s.find(({userid:x})=>x===r.userid)||{},c=e.filter(({task_user:x,complete_at:m})=>!this.projectData.cacheParameter.completedTask&&m?!1:x.find(({userid:h,owner:p})=>h===r.userid&&p)).length;return{value:`user:${l.userid}`,label:`${l.nickname} (${c})`,status:"user",userid:l.userid||0,length:c}}).filter(({userid:r,length:l})=>r>0&&l>0);o.length>0&&(o.sort(r=>r.userid==this.userId?-1:1),a.push(...o.map((r,l)=>(r.class=`user-${l}`,r))))}return a}},watch:{projectId:{handler(t){t>0&&(this.getFlowData(),this.handleColumnDebounce())},immediate:!0},"columnList.length"(){this.handleColumnDebounce()},"parentTask.length"(){this.handleColumnDebounce()},searchText(){this.handleColumnDebounce(!0)},windowWidth(){this.handleColumnDebounce(100)},projectData(t,e){this.sortData=this.getSort(),t&&t.id&&(!e||t.id!==e.id)&&this.checkProjectFavoriteStatus()},projectLoad(t){this._loadTimeout&&clearTimeout(this._loadTimeout),t>0?this._loadTimeout=setTimeout(()=>{this.loading=!0},1e3):this.loading=!1}},methods:{transformEmojiToHtml:z,showName(){this.windowLandscape||$A.modalInfo({language:!1,title:this.$L("\u9879\u76EE\u540D\u79F0"),content:this.projectData.name})},showDesc(){this.windowLandscape||$A.modalInfo({language:!1,title:this.$L("\u9879\u76EE\u63CF\u8FF0"),content:this.$refs.descPreview.$el.innerHTML})},searchFocus(){this.$nextTick(()=>{this.$refs.searchInput.focus({cursor:"end"})})},getSort(){const t=[];return this.columnList.forEach(e=>{t.push({id:e.id,task:e.tasks.map(({id:s})=>s)})}),t},sortUpdate(t){const e=this.sortData,s=this.getSort();if(JSON.stringify(e)===JSON.stringify(s))return;this.sortData=s;const a={project_id:this.projectId,sort:this.sortData,only_column:t===!0?1:0};this.sortDisabled=!0,this.$store.dispatch("call",{url:"project/sort",data:a,method:"post"}).then(({msg:n})=>{$A.messageSuccess(n),this.sortDisabled=!1;let i,o=[];a.only_column?(i=-1,a.sort.forEach(r=>{i++,o.push({id:r.id,sort:i})}),this.$store.dispatch("saveColumn",o)):(a.sort.forEach(r=>{i=-1,o.push(...r.task.map(l=>(i++,o.push(...this.allTask.filter(c=>c.parent_id==l).map(({id:c})=>({id:c,sort:i,column_id:r.id}))),{id:l,sort:i,column_id:r.id})))}),this.$store.dispatch("saveTask",o))}).catch(({msg:n})=>{$A.modalError(n),this.sortDisabled=!1,this.$store.dispatch("getTaskForProject",this.projectId).catch(()=>{})}).finally(n=>{this.handleColumnDebounce()})},addTopShow(t,e){this.$set(this.columnTopShow,t,e)},addTaskOpen(t){g.emit("addTask",t)},addColumnOpen(){this.addColumnShow=!0,this.$nextTick(()=>{this.$refs.addColumnName.focus()})},addColumnBlur(){this.addColumnName===""&&(this.addColumnShow=!1)},addColumnSubmit(){let t=this.addColumnName.trim();t===""||this.addColumnLoad||(this.addColumnLoad=!0,this.$store.dispatch("call",{url:"project/column/add",data:{project_id:this.projectId,name:t},spinner:600}).then(({data:e,msg:s})=>{$A.messageSuccess(s),this.addColumnName="",this.$store.dispatch("saveColumn",e)}).catch(({msg:e})=>{$A.modalError(e)}).finally(()=>{this.addColumnLoad=!1}))},dropColumn(t,e){e==="title"?this.titleColumn(t):e==="remove"?this.removeColumn(t):e.name&&this.updateColumn(t,{color:e.color}).catch(s=>{$A.modalError(s)})},titleColumn(t){$A.modalInput({value:t.name,title:"\u4FEE\u6539\u5217\u8868",placeholder:"\u8F93\u5165\u5217\u8868\u540D\u79F0",onOk:e=>e?this.updateColumn(t,{name:e}):"\u5217\u8868\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A"})},updateColumn(t,e){return new Promise((s,a)=>{if(this.columnLoad[t.id]===!0){s();return}this.$set(this.columnLoad,t.id,!0),Object.keys(e).forEach(n=>this.$set(t,n,e[n])),this.$store.dispatch("call",{url:"project/column/update",data:Object.assign(e,{column_id:t.id})}).then(({data:n})=>{this.$set(this.columnLoad,t.id,!1),this.$store.dispatch("saveColumn",n),s()}).catch(({msg:n})=>{this.$set(this.columnLoad,t.id,!1),this.$store.dispatch("getColumns",this.projectId).catch(()=>{}),a(n)})})},removeColumn(t){$A.modalConfirm({title:"\u5220\u9664\u5217\u8868",content:"\u4F60\u786E\u5B9A\u8981\u5220\u9664\u5217\u8868\u3010"+t.name+"\u3011\u53CA\u5217\u8868\u5185\u7684\u4EFB\u52A1\u5417\uFF1F",loading:!0,onOk:()=>{if(this.columnLoad[t.id]!==!0)return this.$set(this.columnLoad,t.id,!0),new Promise((e,s)=>{this.$store.dispatch("removeColumn",t.id).then(({msg:a})=>{e(a)}).catch(({msg:a})=>{s(a)}).finally(a=>{this.$set(this.columnLoad,t.id,!1)})})}})},onSort(t){this.sortField=t,this.sortType=this.sortType=="desc"?"asc":"desc",this.handleColumnDebounce()},onSetting(){this.settingLoad++,this.$store.dispatch("call",{url:"project/update",data:Object.assign(this.settingData,{project_id:this.projectId})}).then(({data:t,msg:e})=>{$A.messageSuccess(e),this.settingShow=!1,this.$store.dispatch("saveProject",t)}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.settingLoad--})},onUser(){this.userLoad++,this.$store.dispatch("call",{url:"project/user",data:{project_id:this.projectId,userid:this.userData.userids}}).then(({msg:t})=>{$A.messageSuccess(t),this.userShow=!1,this.$store.dispatch("getProjectOne",this.projectId).catch(()=>{}),this.$store.dispatch("getTaskForProject",this.projectId).catch(()=>{})}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.userLoad--})},onTransfer(){this.transferLoad++,this.$store.dispatch("call",{url:"project/transfer",data:{project_id:this.projectId,owner_userid:this.transferData.owner_userid[0]}}).then(({msg:t})=>{$A.messageSuccess(t),this.transferShow=!1,this.$store.dispatch("getProjectOne",this.projectId).catch(()=>{}),this.$store.dispatch("getTaskForProject",this.projectId).catch(()=>{})}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.transferLoad--})},onArchived(){$A.modalConfirm({title:"\u5F52\u6863\u9879\u76EE",content:"\u4F60\u786E\u5B9A\u8981\u5F52\u6863\u9879\u76EE\u3010"+this.projectData.name+"\u3011\u5417\uFF1F",loading:!0,onOk:()=>new Promise((t,e)=>{this.$store.dispatch("archivedProject",this.projectId).then(({msg:s})=>{t(s)}).catch(({msg:s})=>{e(s)})})})},onDelete(){$A.modalConfirm({title:"\u5220\u9664\u9879\u76EE",content:"\u4F60\u786E\u5B9A\u8981\u5220\u9664\u9879\u76EE\u3010"+this.projectData.name+"\u3011\u5417\uFF1F",loading:!0,onOk:()=>new Promise((t,e)=>{this.$store.dispatch("removeProject",this.projectId).then(({msg:s})=>{t(s)}).catch(({msg:s})=>{e(s)})})})},onExit(){$A.modalConfirm({title:"\u9000\u51FA\u9879\u76EE",content:"\u4F60\u786E\u5B9A\u8981\u9000\u51FA\u9879\u76EE\u3010"+this.projectData.name+"\u3011\u5417\uFF1F",loading:!0,onOk:()=>new Promise((t,e)=>{this.$store.dispatch("exitProject",this.projectId).then(({msg:s})=>{t(s)}).catch(({msg:s})=>{e(s)})})})},projectDropdown(t){switch(t){case"favorite":this.toggleProjectFavorite();break;case"setting":Object.assign(this.settingData,{name:this.projectData.name,desc:this.projectData.desc,archive_method:this.projectData.archive_method,archive_days:this.projectData.archive_days}),this.settingShow=!0,this.$nextTick(()=>{this.$refs.projectName.focus(),setTimeout(this.$refs.projectDesc.resizeTextarea,0)});break;case"permissions":this.permissionShow=!0;break;case"user":if(this.projectData.owner_userid!==this.userId)return;const e=this.projectData.project_user.map(({userid:s})=>s);this.$set(this.userData,"userids",e),this.$set(this.userData,"useridbak",e),this.$set(this.userData,"uncancelable",[this.projectData.owner_userid]),this.userShow=!0;break;case"invite":this.inviteData={},this.inviteShow=!0,this.inviteGet();break;case"task_template":this.taskTemplateShow=!0;break;case"task_tag":this.taskTagShow=!0;break;case"workflow":this.workflowShow=!0;break;case"log":this.logShow=!0;break;case"archived_task":this.archivedTaskShow=!0;break;case"deleted_task":this.deletedTaskShow=!0;break;case"transfer":this.$set(this.transferData,"owner_userid",[]),this.transferShow=!0;break;case"archived":this.onArchived();break;case"delete":this.onDelete();break;case"exit":this.onExit();break}},openTask(t,e){this.$store.dispatch("openTask",t),e===!0&&setTimeout(()=>{g.emit("receiveTask",!0)},300)},openMenu(t,e){const s=this.$refs[`taskMenu_${e.id}`];s&&s[0].handleClick(t)},taskIsHidden(t){const{id:e,name:s,desc:a,complete_at:n}=t,{searchText:i}=this;return!!(!this.projectData.cacheParameter.completedTask&&n||this.flowTask(t)||i&&e!=i&&!$A.strExists(`${s} ${a}`,i))},ownerUser(t){return t.filter(({owner:e})=>e==1).sort((e,s)=>e.id-s.id)},inviteGet(t){this.inviteLoad++,this.$store.dispatch("call",{url:"project/invite",data:{project_id:this.projectId,refresh:t===!0?"yes":"no"}}).then(({data:e})=>{this.inviteData=e,this.inviteCopy()}).catch(({msg:e})=>{$A.modalError(e)}).finally(e=>{this.inviteLoad--})},getFlowData(){this.flowInfo={},this.$store.dispatch("call",{url:"project/flow/list",data:{project_id:this.projectId}}).then(({data:t})=>{var e;this.flowList=t,(e=this.$refs.flow)==null||e.clearSelect()}).catch(()=>{this.flowList=[]})},flowChange(t,e){this.flowInfo=e.pop()||{},this.flowInfo.status==="end"&&!this.projectData.cacheParameter.completedTask&&this.toggleParameter("completedTask"),this.handleColumnDebounce(!0)},inviteCopy(){!this.inviteData.url||(this.inviteFocus(),this.copyText(this.inviteData.url))},inviteFocus(){this.$nextTick(t=>{this.$refs.inviteInput.focus({cursor:"all"})})},async taskTagBeforeClose(){this.$store.dispatch("getTaskForProject",this.projectId).catch(()=>{})},workflowBeforeClose(){return new Promise(t=>{if(!this.$refs.workflow){t();return}if(!this.$refs.workflow.existDiff()){t();return}$A.modalConfirm({content:"\u8BBE\u7F6E\u5C1A\u672A\u4FDD\u5B58\uFF0C\u662F\u5426\u653E\u5F03\u4FEE\u6539\uFF1F",cancelText:"\u53D6\u6D88",okText:"\u653E\u5F03",onOk:()=>{t()}})})},myFilter(t,e=!0){return!this.projectData.cacheParameter.completedTask&&e===!0&&t.complete_at||this.flowTask(t)||this.searchText&&t.id!=this.searchText&&!$A.strExists(t.name,this.searchText)&&!$A.strExists(t.desc,this.searchText)?!1:t.owner==1},helpFilter(t,e=!0){return t.parent_id>0||!this.projectData.cacheParameter.completedTask&&e===!0&&t.complete_at||this.flowTask(t)||this.searchText&&t.id!=this.searchText&&!$A.strExists(t.name,this.searchText)&&!$A.strExists(t.desc,this.searchText)?!1:t.task_user&&t.task_user.find(({userid:s,owner:a})=>s==this.userId&&a==0)},flowTask(t){return $A.leftExists(this.flowInfo.value,"user:")&&!t.task_user.find(({userid:e,owner:s})=>e===this.flowInfo.userid&&s)||$A.leftExists(this.flowInfo.value,"tag:")&&!t.task_tag.find(({name:e})=>e===this.flowInfo.tag_name)||this.flowInfo.value>0&&t.flow_item_id!==this.flowInfo.value?!0:!!(this.flowInfo.value==-1&&t.start_at)},expiresFormat(t){return $A.countDownFormat(this.nowTime,t)},tabTypeChange(t){switch(t){case"column":this.toggleParameter({project_id:this.projectId,key:"menuType",value:"column"});break;case"table":this.toggleParameter({project_id:this.projectId,key:"menuType",value:"table"});break;case"gantt":this.toggleParameter({project_id:this.projectId,key:"menuType",value:"gantt"});break}},toggleParameter(t){if(t==="chat"){this.$store.dispatch("openDialog",this.projectData.dialog_id);return}t==="completedTask"&&this.$store.dispatch("forgetTaskCompleteTemp",!0),this.$store.dispatch("toggleProjectParameter",t),this.handleColumnDebounce()},onBack(){const{name:t,params:e}=this.$store.state.routeHistoryLast;t===this.routeName&&/^\d+$/.test(e.projectId)?this.goForward({name:this.routeName,params:{projectId:"all"}}):this.goBack()},formArchived(t){this.settingData={...this.settingData,archive_method:t}},taskItemVisible({id:t,column_id:e}){var s;return this.columnVisibilitys[e]&&((s=this.taskVisibilitys[t])==null?void 0:s.visible)},taskItemStyle({id:t,column_id:e,complete_at:s,color:a}){var i;const n={};return a&&(n.backgroundColor=a),this.taskItemVisible({id:t,column_id:e})||(n.height=(((i=this.taskVisibilitys[t])==null?void 0:i.height)||(s?46:146))+"px"),n},handleColumnDebounce(t=10,e=!1){typeof t=="boolean"&&(e=t,t=10),this.columnDebounceWait!==t&&(this.columnDebounceWait=t,this.columnDebounceInvoke&&(this.columnDebounceInvoke.cancel(),this.columnDebounceInvoke=null)),this.columnDebounceInvoke||(this.columnDebounceInvoke=U.exports.debounce(s=>{this.$nextTick(a=>{var n;switch(this.tabTypeActive){case"column":this.handleColumnScroll(),s===!0&&requestAnimationFrame(()=>{const i=this.$refs.projectColumn;i&&!i.querySelector(".task-head")&&$A.scrollIntoViewIfNeeded(i.querySelector(".task-draggable:not(.hidden)"))});break;case"table":this.handleTaskScroll({target:(n=this.$refs.projectTableScroll)==null?void 0:n.$el});break}})},t)),this.columnDebounceInvoke(e)},handleColumnScroll(){this.columnList.forEach(({id:t})=>{const e=this.$refs[`column_${t}`];e&&this.checkColumnVisibility(e[0])})},checkColumnVisibility(t=null){if(!t)return;const e=t.getAttribute("data-id");if(!e)return;const s=this.$refs.projectColumn;if(!s)return!1;const a=s.getBoundingClientRect(),n=t.getBoundingClientRect(),i=n.lefte.scrollHeight-e.clientHeight&&(s=e.scrollHeight-e.clientHeight),e.scrollTop!=s&&(this.mouseType="timeline",e.scrollTop=s)}t.deltaX!=0&&(this.mouseWidth+=t.deltaX,this.mouseScaleWidth+=t.deltaX*(100/this.dateWidth))},handleResize(){this.ganttWidth=this.$refs.ganttTimeline.clientWidth},dateTouchstart(t){this.windowPortrait&&(this.maximize=!0);let e=t.target.parentNode,s=null;for(;e&&!(!e||e===this.$refs.ganttChart);){if(e.tagName==="LI"){const a=e.getAttribute("data-id");a&&(s=this.lists.find(({id:n})=>a==n))}e=e.parentNode}if(!s){this.onDateMove(t.touches[0].clientX);return}this.onItemMove(s,t.target,t.touches[0].clientX)},dateTouchmove(t){this.onMoving(t.touches[0].clientX)},dateTouchend(){this.onMoveOver(null)},dateMouseDown(t){t.preventDefault(),this.onDateMove(t.clientX)},itemMouseDown(t,e){t.preventDefault(),this.onItemMove(e,t.target,t.clientX)},itemMouseMove(t){(this.mouseItem!=null||this.dateMove!=null)&&(t.preventDefault(),this.onMoving(t.clientX))},itemMouseUp(t){this.onMoveOver(t.target)},onDateMove(t){this.mouseItem=null,this.dateMove={clientX:t}},onItemMove(t,e,s){let a="moveX";e.classList.contains("timeline-resizer")&&(a="moveW"),typeof t[a]!="number"&&this.$set(t,a,0),this.mouseBak={type:a,clientX:s,value:t[a]},this.mouseItem=t,this.dateMove=null},onMoving(t){if(this.mouseItem!=null){const e=this.mouseBak.value+(t-this.mouseBak.clientX);if(this.mouseBak.type==="moveW"){const s=864e5/this.dateWidth,{start:a,end:n}=this.mouseItem.time;let i=e*s;if(n+i-a<=0)return}this.$set(this.mouseItem,this.mouseBak.type,e);return}if(this.dateMove!=null){let e=(this.dateMove.clientX-t)*5;this.dateMove.clientX=t,this.mouseWidth+=e,this.mouseScaleWidth+=e*(100/this.dateWidth)}},onMoveOver(t){if(this.mouseItem!=null){const{start:e,end:s}=this.mouseItem.time;let a=!1,n=864e5/this.dateWidth;if(typeof this.mouseItem.moveX=="number"&&this.mouseItem.moveX!=0){let i=this.mouseItem.moveX*n;this.$set(this.mouseItem.time,"start",e+i),this.$set(this.mouseItem.time,"end",s+i),this.$set(this.mouseItem,"moveX",0),a=!0}if(typeof this.mouseItem.moveW=="number"&&this.mouseItem.moveW!=0){let i=this.mouseItem.moveW*n;this.$set(this.mouseItem.time,"end",s+i),this.$set(this.mouseItem,"moveW",0),a=!0}a?this.$emit("on-change",this.mouseItem):t&&t.className=="timeline-title"&&this.clickItem(this.mouseItem),this.mouseItem=null;return}this.dateMove!=null&&(this.dateMove=null)},scrollPosition(t){let e=$A.daytz().startOf("day").valueOf(),s=864e5/this.dateWidth,a=(this.lists[t].time.start-e)/s-this.dateWidth-this.mouseWidth;this.mouseWidth+=a,this.mouseScaleWidth+=a*(100/this.dateWidth)},clickItem(t,e=void 0){if(e!==void 0&&this.windowPortrait){this.scrollPosition(e);return}this.$emit("on-click",t)}}},S={};var Gt=d(Kt,Ut,Ht,!1,Yt,null,null,null);function Yt(t){for(let e in S)this[e]=S[e]}var Jt=function(){return Gt.exports}(),Xt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"project-gstc-gantt"},[s("GanttView",{attrs:{lists:t.lists,menuWidth:t.menuWidth,itemWidth:80},on:{"on-change":t.onChange,"on-click":t.onClick},scopedSlots:t._u([{key:"titleTool",fn:function(){return[s("Dropdown",{staticClass:"project-gstc-dropdown-filtr",attrs:{trigger:"click"},on:{"on-click":t.onSwitchColumn}},[s("Icon",{staticClass:"project-gstc-dropdown-icon",class:{filtr:t.filtrProjectId>0},attrs:{type:"md-funnel"}}),s("DropdownMenu",{attrs:{slot:"list"},slot:"list"},[s("DropdownItem",{class:{"dropdown-active":t.filtrProjectId==0},attrs:{name:0}},[t._v(t._s(t.$L("\u5168\u90E8")))]),t._l(t.projectColumn,function(a,n){return s("DropdownItem",{key:n,class:{"dropdown-active":t.filtrProjectId==a.id},attrs:{name:a.id}},[t._v(" "+t._s(a.name)+" "),a.tasks?s("span",[t._v("("+t._s(t.filtrLength(a.tasks))+")")]):t._e()])})],2)],1)]},proxy:!0}])}),s("div",{staticClass:"project-gstc-edit",class:{info:t.editShowInfo,visible:t.editData&&t.editData.length>0}},[s("div",{staticClass:"project-gstc-edit-info"},[s("Table",{attrs:{"max-height":"600",columns:t.editColumns,data:t.editData}}),s("div",{staticClass:"project-gstc-edit-btns"},[s("Button",{attrs:{loading:t.editLoad>0,type:"text"},on:{click:function(a){return t.editSubmit(!1)}}},[t._v(t._s(t.$L("\u53D6\u6D88")))]),s("Button",{attrs:{loading:t.editLoad>0,type:"primary"},on:{click:function(a){return t.editSubmit(!0)}}},[t._v(t._s(t.$L("\u4FDD\u5B58")))]),s("Icon",{staticClass:"zoom",attrs:{type:"md-arrow-dropright"},on:{click:function(a){t.editShowInfo=!1}}})],1)],1),s("div",{staticClass:"project-gstc-edit-small"},[s("div",{staticClass:"project-gstc-edit-text",on:{click:function(a){t.editShowInfo=!0}}},[t._v(t._s(t.$L("\u672A\u4FDD\u5B58\u8BA1\u5212\u65F6\u95F4"))+": "),t.editData?s("span",[t._v(t._s(t.editData.length))]):t._e()]),s("Button",{attrs:{loading:t.editLoad>0,size:"small",type:"text"},on:{click:function(a){return t.editSubmit(!1)}}},[t._v(t._s(t.$L("\u53D6\u6D88")))]),s("Button",{attrs:{loading:t.editLoad>0,size:"small",type:"primary"},on:{click:function(a){return t.editSubmit(!0)}}},[t._v(t._s(t.$L("\u4FDD\u5B58")))])],1)])],1)},qt=[];const Zt={name:"ProjectGantt",components:{GanttView:Jt},props:{projectColumn:{default:[]},flowInfo:{default:{}}},data(){return{lists:[],filtrProjectId:0,editColumns:[{title:this.$L("\u4EFB\u52A1\u540D\u79F0"),key:"label",minWidth:100,ellipsis:!0},{title:this.$L("\u539F\u8BA1\u5212\u65F6\u95F4"),width:140,align:"center",render:(t,{row:e})=>e.notime===!0?t("span","-"):t("div",{style:{}},[t("div",$A.dayjs(e.baktime.start).format("YYYY-MM-DD HH:mm")),t("div",$A.dayjs(e.baktime.end).format("YYYY-MM-DD HH:mm"))])},{title:this.$L("\u65B0\u8BA1\u5212\u65F6\u95F4"),width:140,align:"center",render:(t,{row:e})=>t("div",{style:{}},[t("div",$A.dayjs(e.newTime.start).format("YYYY-MM-DD HH:mm")),t("div",$A.dayjs(e.newTime.end).format("YYYY-MM-DD HH:mm"))])}],editData:[],editLoad:0,editShowInfo:!1}},mounted(){this.initData()},computed:{...u(["taskPriority"]),...k(["projectData"]),menuWidth(){return this.windowWidth<1440?180:260},completedTask(){return this.projectData.cacheParameter.completedTask}},watch:{projectColumn:{handler(){this.initData()},deep:!0},flowInfo:{handler(){this.initData()},deep:!0},completedTask(){this.initData()}},methods:{initData(){this.lists=[],this.projectColumn&&this.projectColumn.some(this.checkAdd)},flowTask(t){return $A.leftExists(this.flowInfo.value,"user:")&&!t.task_user.find(({userid:e,owner:s})=>e===this.flowInfo.userid&&s)?!0:this.flowInfo.value>0&&t.flow_item_id!==this.flowInfo.value},filtrLength(t){return t.filter(e=>!(e.complete_at&&!this.completedTask||this.flowTask(e))).length},checkAdd(t){this.filtrProjectId>0&&t.id!=this.filtrProjectId||t.tasks&&t.tasks.some(e=>{let s=!e.start_at||!e.end_at,a=this.getTimeObj(e),n=a.start,i=a.end;if(e.complete_at&&!this.completedTask||this.flowTask(e))return!1;let o="#058ce4";this.taskPriority.some(x=>{if(x.priority===e.p_level)return o=x.color,!0});let r={start:n,end:i},l=$A.cloneJSON(r),c=this.editData.find(({id:x})=>x==e.id);c&&(r=$A.cloneJSON(c.newTime)),this.lists.push({id:e.id,label:e.name,complete:e.complete_at,overdue:e.overdue,time:r,notime:s,baktime:l,style:{background:o}})})},onChange(t){const{time:e,baktime:s}=t;if(Math.abs(s.end-e.end)>1e3||Math.abs(s.start-e.start)>1e3){let a=this.editData.find(({id:n})=>n==t.id);a?a.newTime=e:this.editData.push({id:t.id,label:t.label,notime:t.notime,baktime:t.baktime,newTime:e})}},onClick(t){this.$store.dispatch("openTask",t)},editSubmit(t){this.editData&&this.editData.forEach(e=>{let s=this.lists.find(({id:a})=>a==e.id);if(t){this.editLoad++;let a=$A.dayjs(e.newTime.start).format("YYYY-MM-DD HH:mm"),n=$A.dayjs(e.newTime.end).format("YYYY-MM-DD HH:mm"),i={task_id:e.id,times:[a,n]};this.$store.dispatch("taskUpdate",i).then(({msg:o})=>{this.editLoad--,this.editLoad===0&&$A.messageSuccess(o),s&&this.$set(s,"baktime",$A.cloneJSON(s.time))}).catch(({msg:o})=>{this.editLoad--,this.editLoad===0&&$A.modalError(o),s&&this.$set(s,"time",$A.cloneJSON(s.baktime))})}else s&&this.$set(s,"time",$A.cloneJSON(s.baktime))}),this.editData=[]},getTimeObj(t){let e=t.start_at?$A.dayjs(t.start_at):$A.dayjs(t.created_at).startOf("day"),s=t.end_at?$A.dayjs(t.end_at):e.clone();return s.unix()==e.unix()&&(s=s.endOf("day")),{start:e.valueOf(),end:Math.max(s.valueOf(),e.valueOf()+6e4)}},onSwitchColumn(t){this.filtrProjectId=$A.runNum(t),this.initData()}}},A={};var Qt=d(Zt,Xt,qt,!1,te,null,null,null);function te(t){for(let e in A)this[e]=A[e]}var ee=function(){return Qt.exports}(),se=function(){var t=this,e=this,s=e.$createElement,a=e._self._c||s;return a("div",{staticClass:"project-panel",class:[e.tabTypeActive]},[a("PageTitle",{attrs:{title:e.projectData.name}}),a("div",{staticClass:"project-titbox"},[a("div",{staticClass:"project-title"},[a("div",{staticClass:"project-back",on:{click:e.onBack}},[a("i",{staticClass:"taskfont"},[e._v("\uE676")])]),a("h1",{staticClass:"user-select-auto",domProps:{innerHTML:e._s(e.transformEmojiToHtml(e.projectData.name))},on:{click:e.showName}}),e.loading?a("div",{staticClass:"project-load"},[a("Loading")],1):e._e()]),a("ul",{staticClass:"project-icons"},[a("li",{staticClass:"project-avatar",class:{"cursor-default":e.projectData.owner_userid!==e.userId},on:{click:function(n){return e.projectDropdown("user")}}},[a("ul",[a("li",[a("UserAvatarTip",{attrs:{userid:e.projectData.owner_userid,size:36,borderWidth:2,openDelay:0}},[a("p",[e._v(e._s(e.$L("\u9879\u76EE\u8D1F\u8D23\u4EBA")))])]),(e.windowWidth<=980||e.projectData.cacheParameter.chat)&&e.projectUser.length>0?a("Badge",{attrs:{type:"normal","overflow-count":999,count:e.projectData.project_user.length}}):e._e()],1),e._l(e.projectUser,function(n){return!(e.windowWidth<=980||e.projectData.cacheParameter.chat)&&e.projectUser.length>0?[n.userid===-1?a("li",{staticClass:"more"},[a("ETooltip",{attrs:{disabled:e.$isEEUIApp||e.windowTouch,content:e.$L("\u5171"+e.projectData.project_user.length+"\u4E2A\u6210\u5458")}},[a("Icon",{attrs:{type:"ios-more"}})],1)],1):a("li",[a("UserAvatarTip",{attrs:{userid:n.userid,size:36,borderWidth:2,openDelay:0}})],1)]:e._e()})],2)]),a("li",{staticClass:"project-icon",on:{click:function(n){return e.addTaskOpen(0)}}},[a("ETooltip",{attrs:{disabled:e.$isEEUIApp||e.windowTouch,content:e.$L("\u6DFB\u52A0\u4EFB\u52A1")}},[a("Icon",{staticClass:"menu-icon",attrs:{type:"md-add"}})],1)],1),a("li",{class:["project-icon",e.searchText!=""?"active":""]},[a("Tooltip",{attrs:{always:e.searchText!="",theme:"light",rawIndex:10},on:{"on-popper-show":e.searchFocus}},[a("Icon",{staticClass:"menu-icon",attrs:{type:"ios-search"},on:{click:e.searchFocus}}),a("div",{attrs:{slot:"content"},slot:"content"},[a("Input",{ref:"searchInput",staticClass:"search-input",attrs:{placeholder:e.$L("ID\u3001\u540D\u79F0\u3001\u63CF\u8FF0..."),clearable:""},model:{value:e.searchText,callback:function(n){e.searchText=n},expression:"searchText"}})],1)],1)],1),a("li",{class:["project-icon",e.windowLandscape&&e.projectData.cacheParameter.chat?"active":""],on:{click:function(n){return e.toggleParameter("chat")}}},[a("Icon",{staticClass:"menu-icon",attrs:{type:"ios-chatbubbles"}}),a("Badge",{staticClass:"menu-badge",attrs:{"overflow-count":999,count:e.msgUnread}})],1),a("li",{staticClass:"project-icon"},[a("EDropdown",{attrs:{trigger:"click",transfer:""},on:{command:e.projectDropdown}},[a("Icon",{staticClass:"menu-icon",attrs:{type:"ios-more"}}),e.projectData.owner_userid===e.userId?a("EDropdownMenu",{staticClass:"project-panel-project-menu-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[a("EDropdownItem",{attrs:{command:"setting"}},[e._v(e._s(e.$L("\u9879\u76EE\u8BBE\u7F6E")))]),a("EDropdownItem",{attrs:{command:"permissions"}},[e._v(e._s(e.$L("\u6743\u9650\u8BBE\u7F6E")))]),a("EDropdownItem",{attrs:{command:"task_template"}},[e._v(e._s(e.$L("\u4EFB\u52A1\u6A21\u677F")))]),a("EDropdownItem",{attrs:{command:"task_tag"}},[e._v(e._s(e.$L("\u4EFB\u52A1\u6807\u7B7E")))]),a("EDropdownItem",{attrs:{command:"workflow"}},[e._v(e._s(e.$L("\u5DE5\u4F5C\u6D41\u8BBE\u7F6E")))]),a("EDropdownItem",{attrs:{command:"user",divided:""}},[e._v(e._s(e.$L("\u6210\u5458\u7BA1\u7406")))]),a("EDropdownItem",{attrs:{command:"invite"}},[e._v(e._s(e.$L("\u9080\u8BF7\u94FE\u63A5")))]),a("EDropdownItem",{attrs:{command:"favorite",divided:""}},[e._v(e._s(e.$L(e.projectData.favorited?"\u53D6\u6D88\u6536\u85CF":"\u6536\u85CF\u9879\u76EE")))]),a("EDropdownItem",{attrs:{command:"log"}},[e._v(e._s(e.$L("\u9879\u76EE\u52A8\u6001")))]),a("EDropdownItem",{attrs:{command:"archived_task"}},[e._v(e._s(e.$L("\u5DF2\u5F52\u6863\u4EFB\u52A1")))]),a("EDropdownItem",{attrs:{command:"deleted_task"}},[e._v(e._s(e.$L("\u5DF2\u5220\u9664\u4EFB\u52A1")))]),a("EDropdownItem",{attrs:{command:"transfer",divided:""}},[e._v(e._s(e.$L("\u79FB\u4EA4\u9879\u76EE")))]),a("EDropdownItem",{attrs:{command:"archived"}},[e._v(e._s(e.$L("\u5F52\u6863\u9879\u76EE")))]),a("EDropdownItem",{staticStyle:{color:"#f40"},attrs:{command:"delete"}},[e._v(e._s(e.$L("\u5220\u9664\u9879\u76EE")))])],1):a("EDropdownMenu",{attrs:{slot:"dropdown"},slot:"dropdown"},[a("EDropdownItem",{attrs:{command:"task_tag"}},[e._v(e._s(e.$L("\u4EFB\u52A1\u6807\u7B7E")))]),a("EDropdownItem",{attrs:{command:"favorite",divided:""}},[e._v(e._s(e.$L(e.projectData.favorited?"\u53D6\u6D88\u6536\u85CF":"\u6536\u85CF\u9879\u76EE")))]),a("EDropdownItem",{attrs:{command:"log"}},[e._v(e._s(e.$L("\u9879\u76EE\u52A8\u6001")))]),a("EDropdownItem",{attrs:{command:"archived_task"}},[e._v(e._s(e.$L("\u5DF2\u5F52\u6863\u4EFB\u52A1")))]),a("EDropdownItem",{attrs:{command:"deleted_task"}},[e._v(e._s(e.$L("\u5DF2\u5220\u9664\u4EFB\u52A1")))]),a("EDropdownItem",{staticStyle:{color:"#f40"},attrs:{command:"exit",divided:""}},[e._v(e._s(e.$L("\u9000\u51FA\u9879\u76EE")))])],1)],1)],1)])]),a("div",{staticClass:"project-subbox"},[a("div",{staticClass:"project-subtitle user-select-auto",on:{click:e.showDesc}},[a("VMPreviewNostyle",{ref:"descPreview",attrs:{value:e.projectData.desc}})],1),a("div",{staticClass:"project-switch"},[e.completedCount>0?a("div",{staticClass:"project-checkbox"},[a("Checkbox",{attrs:{value:e.projectData.cacheParameter.completedTask},on:{"on-change":function(n){return e.toggleParameter("completedTask")}}},[e._v(e._s(e.$L("\u663E\u793A\u5DF2\u5B8C\u6210")))])],1):e._e(),a("div",{staticClass:"project-select"},[a("Cascader",{ref:"flow",attrs:{data:e.flowData,"transfer-class-name":"project-panel-flow-cascader",transfer:""},on:{"on-change":e.flowChange}},[a("span",{class:`project-flow ${e.flowInfo.status||""}`,style:e.flowInfo.style},[e._v(e._s(e.flowTitle))])])],1),a("div",{staticClass:"project-switch-button"},[a("div",{staticClass:"slider",style:e.tabTypeStyle}),a("div",{class:{active:e.tabTypeActive==="column"},on:{click:function(n){return e.tabTypeChange("column")}}},[a("i",{staticClass:"taskfont"},[e._v("\uE60C")])]),a("div",{class:{active:e.tabTypeActive==="table"},on:{click:function(n){return e.tabTypeChange("table")}}},[a("i",{staticClass:"taskfont"},[e._v("\uE66A")])]),a("div",{class:{active:e.tabTypeActive==="gantt"},on:{click:function(n){return e.tabTypeChange("gantt")}}},[a("i",{staticClass:"taskfont"},[e._v("\uE797")])])])])]),e.tabTypeActive==="column"?a("div",{ref:"projectColumn",staticClass:"project-column",on:{scroll:e.handleColumnScroll}},[a("Draggable",{staticClass:"column-list",attrs:{list:e.columnList,animation:150,disabled:e.sortDisabled||e.$isEEUIApp||e.windowTouch,tag:"ul",draggable:".column-item"},on:{sort:function(n){return e.sortUpdate(!0)}}},[e._l(e.columnList,function(n){return a("li",{key:n.id,ref:`column_${n.id}`,refInFor:!0,staticClass:"column-item",attrs:{"data-id":n.id}},[a("div",{class:["column-head",n.color?"custom-color":""],style:n.color?{backgroundColor:n.color}:{}},[a("div",{staticClass:"column-head-title"},[a("AutoTip",{domProps:{innerHTML:e._s(e.transformEmojiToHtml(n.name))}}),a("em",[e._v("("+e._s(e.panelTask(n.tasks).length)+")")])],1),a("div",{staticClass:"column-head-icon"},[e.columnLoad[n.id]===!0?a("div",{staticClass:"loading"},[a("Loading")],1):a("EDropdown",{attrs:{trigger:"click",size:"medium"},on:{command:function(i){return e.dropColumn(n,i)}}},[a("Icon",{attrs:{type:"ios-more"}}),a("EDropdownMenu",{staticClass:"project-panel-more-dropdown-menu",attrs:{slot:"dropdown"},slot:"dropdown"},[a("li",{staticClass:"project-panel-more-dropdown-warp"},[a("ul",[a("EDropdownItem",{attrs:{command:"title"}},[a("div",{staticClass:"item"},[a("Icon",{attrs:{type:"md-create"}}),e._v(e._s(e.$L("\u4FEE\u6539"))+" ")],1)]),a("EDropdownItem",{attrs:{command:"archive_completed"}},[a("div",{staticClass:"item"},[a("Icon",{attrs:{type:"ios-filing"}}),e._v(e._s(e.$L("\u5F52\u6863"))+" ")],1)]),a("EDropdownItem",{attrs:{command:"remove"}},[a("div",{staticClass:"item"},[a("Icon",{attrs:{type:"md-trash"}}),e._v(e._s(e.$L("\u5220\u9664"))+" ")],1)]),e._l(e.$store.state.columnColorList,function(i,o){return a("EDropdownItem",{key:o,attrs:{divided:o==0,command:i}},[a("div",{staticClass:"item"},[a("i",{staticClass:"taskfont",style:{color:i.color||"#ddd"},domProps:{innerHTML:e._s(i.color==n.color?"":"")}}),e._v(e._s(e.$L(i.name))+" ")])])})],2)])])],1),a("Icon",{staticClass:"last",attrs:{type:"md-add"},on:{click:function(i){return e.addTopShow(n.id,!0)}}})],1)]),a("Scrollbar",{staticClass:"column-task",attrs:{"class-name":"task-scrollbar"},on:{"on-scroll":e.handleTaskScroll}},[e.columnTopShow[n.id]?a("div",{staticClass:"task-item additem"},[a("TaskAddSimple",{attrs:{"column-id":n.id,"project-id":e.projectId,"add-top":!0,"auto-active":""},on:{"on-close":function(i){return e.addTopShow(n.id,!1)},"on-priority":e.addTaskOpen}})],1):e._e(),a("Draggable",{staticClass:"task-list",attrs:{list:n.tasks,animation:150,disabled:e.sortDisabled||e.$isEEUIApp||e.windowTouch,draggable:".task-draggable",filter:".complete",group:"task"},on:{sort:e.sortUpdate,remove:e.sortUpdate}},[e._l(n.tasks,function(i){return a("div",{key:`${n.id}_${i.id}`,class:["task-item task-draggable",i.complete_at?"complete":"",e.taskIsHidden(i)?"hidden":""],style:e.$A.generateColorVarStyle(i.flow_item_color,[10],"flow-item-custom-color",e.taskItemStyle(i)),attrs:{"data-id":i.id},on:{click:function(o){return e.openTask(i)}}},[e.taskItemVisible(i)?[a("div",{class:["task-head",i.desc?"has-desc":""]},[a("div",{staticClass:"task-title"},[i.flow_item_name?a("span",{class:i.flow_item_status,on:{click:function(o){return o.stopPropagation(),e.openMenu(o,i)}}},[e._v(e._s(i.flow_item_name))]):e._e(),a("pre",[e._v(e._s(i.name))])]),a("div",{staticClass:"task-menu",on:{click:function(o){o.stopPropagation()}}},[a("TaskMenu",{ref:`taskMenu_${i.id}`,refInFor:!0,attrs:{task:i,icon:"ios-more"}})],1)]),i.complete_at?e._e():[i.desc?a("div",{staticClass:"task-desc"},[a("pre",{domProps:{innerHTML:e._s(i.desc)}})]):e._e(),i.task_tag.length>0?a("TaskTag",{staticClass:"task-tags",attrs:{tags:i.task_tag}}):e._e(),a("div",{staticClass:"task-users"},[a("ul",[e._l(e.ownerUser(i.task_user),function(o,r){return a("li",{key:r},[a("UserAvatar",{attrs:{userid:o.userid,size:"32",borderWidth:2,borderColor:i.color}})],1)}),e.ownerUser(i.task_user).length===0?a("li",{staticClass:"no-owner"},[a("Button",{attrs:{type:"primary",size:"small",ghost:""},on:{click:function(o){return o.stopPropagation(),e.openTask(i,!0)}}},[e._v(e._s(e.$L("\u9886\u53D6\u4EFB\u52A1")))])],1):e._e()],2),i.file_num>0?a("div",{staticClass:"task-icon"},[e._v(e._s(i.file_num)),a("Icon",{attrs:{type:"ios-link-outline"}})],1):e._e(),i.msg_num>0?a("div",{staticClass:"task-icon"},[e._v(e._s(i.msg_num)),a("Icon",{attrs:{type:"ios-chatbubbles-outline"}})],1):e._e()]),a("div",{staticClass:"task-progress"},[i.sub_num>0?a("div",{staticClass:"task-sub-num"},[e._v(e._s(i.sub_complete)+"/"+e._s(i.sub_num))]):e._e(),a("Progress",{attrs:{percent:i.percent,"stroke-width":6}}),i.end_at?a("ETooltip",{class:["task-time",i.today?"today":"",i.overdue?"overdue":""],attrs:{disabled:e.$isEEUIApp||e.windowTouch,"open-delay":600,content:i.end_at}},[i.complete_at?e._e():a("div",[a("i",{staticClass:"taskfont"},[e._v("\uE71D")]),e._v(e._s(e.expiresFormat(i.end_at)))])]):e._e()],1),i.p_name?a("em",{staticClass:"priority-color",style:{backgroundColor:i.p_color}}):e._e()]]:e._e()],2)}),a("div",{staticClass:"task-item additem"},[a("TaskAddSimple",{attrs:{"column-id":n.id,"project-id":e.projectId},on:{"on-priority":e.addTaskOpen}})],1)],2)],1)],1)}),a("li",{class:["add-column",e.addColumnShow?"show-input":""]},[a("div",{staticClass:"add-column-text",on:{click:e.addColumnOpen}},[a("Icon",{attrs:{type:"md-add"}}),e._v(e._s(e.$L("\u6DFB\u52A0\u5217\u8868"))+" ")],1),a("div",{staticClass:"add-column-input"},[a("Input",{ref:"addColumnName",attrs:{placeholder:e.$L("\u5217\u8868\u540D\u79F0\uFF0C\u56DE\u8F66\u521B\u5EFA"),clearable:""},on:{"on-blur":e.addColumnBlur,"on-enter":e.addColumnSubmit,"on-clear":function(n){e.addColumnShow=!1}},model:{value:e.addColumnName,callback:function(n){e.addColumnName=n},expression:"addColumnName"}})],1)])],2)],1):e.tabTypeActive==="table"?a("Scrollbar",{ref:"projectTableScroll",staticClass:"project-table",attrs:{"enable-x":""},on:{"on-scroll":e.handleTaskScroll}},[a("div",{staticClass:"project-table-head"},[a("Row",{staticClass:"task-row"},[a("Col",{attrs:{span:"12"}},[a("div",{staticClass:"ellipsis"},[e._v("# "+e._s(e.$L("\u4EFB\u52A1\u540D\u79F0")))])]),a("Col",{attrs:{span:"3"}},[a("div",{staticClass:"ellipsis"},[e._v(e._s(e.$L("\u5217\u8868")))])]),a("Col",{attrs:{span:"3"}},[a("div",{staticClass:"sort",on:{click:function(n){return e.onSort("level")}}},[a("div",{staticClass:"head-title"},[e._v(e._s(e.$L("\u4F18\u5148\u7EA7")))]),a("div",{staticClass:"head-sort"},[a("Icon",{class:{on:e.sortField=="level"&&e.sortType=="asc"},attrs:{type:"md-arrow-dropup"}}),a("Icon",{class:{on:e.sortField=="level"&&e.sortType=="desc"},attrs:{type:"md-arrow-dropdown"}})],1)])]),a("Col",{attrs:{span:"3"}},[a("div",{staticClass:"ellipsis"},[e._v(e._s(e.$L("\u8D1F\u8D23\u4EBA")))])]),a("Col",{attrs:{span:"3"}},[a("div",{staticClass:"sort",on:{click:function(n){return e.onSort("end_at")}}},[a("div",{staticClass:"head-title"},[e._v(e._s(e.$L("\u5230\u671F\u65F6\u95F4")))]),a("div",{staticClass:"head-sort"},[a("Icon",{class:{on:e.sortField=="end_at"&&e.sortType=="asc"},attrs:{type:"md-arrow-dropup"}}),a("Icon",{class:{on:e.sortField=="end_at"&&e.sortType=="desc"},attrs:{type:"md-arrow-dropdown"}})],1)])])],1)],1),a("div",{class:["project-table-body",e.projectData.cacheParameter.showMy?"":"project-table-hide"]},[a("Row",{staticClass:"task-row"},[a("Col",{staticClass:"row-title",attrs:{span:"12"}},[a("i",{staticClass:"taskfont",on:{click:function(n){return e.toggleParameter("showMy")}}},[e._v("\uE689")]),a("div",{staticClass:"row-h1"},[e._v(e._s(e.$L("\u6211\u7684\u4EFB\u52A1")))]),a("div",{staticClass:"row-num"},[e._v("("+e._s(e.myList.length)+")")])]),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}})],1),e.projectData.cacheParameter.showMy?a("TaskRow",{attrs:{list:e.transforTasks(e.myList),"task-visibilitys":e.taskRowVisibilitys,"open-key":"my","fast-add-task":""},on:{"on-priority":e.addTaskOpen}}):e._e()],1),e.helpList.length?a("div",{class:["project-table-body",e.projectData.cacheParameter.showHelp?"":"project-table-hide"]},[a("Row",{staticClass:"task-row"},[a("Col",{staticClass:"row-title",attrs:{span:"12"}},[a("i",{staticClass:"taskfont",on:{click:function(n){return e.toggleParameter("showHelp")}}},[e._v("\uE689")]),a("div",{staticClass:"row-h1"},[e._v(e._s(e.$L("\u534F\u52A9\u7684\u4EFB\u52A1")))]),a("div",{staticClass:"row-num"},[e._v("("+e._s(e.helpList.length)+")")])]),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}})],1),e.projectData.cacheParameter.showHelp?a("TaskRow",{attrs:{list:e.helpList,"task-visibilitys":e.taskRowVisibilitys,"open-key":"help"},on:{"on-priority":e.addTaskOpen}}):e._e()],1):e._e(),e.projectData.task_num>0?a("div",{class:["project-table-body",e.projectData.cacheParameter.showUndone?"":"project-table-hide"]},[a("Row",{staticClass:"task-row"},[a("Col",{staticClass:"row-title",attrs:{span:"12"}},[a("i",{staticClass:"taskfont",on:{click:function(n){return e.toggleParameter("showUndone")}}},[e._v("\uE689")]),a("div",{staticClass:"row-h1"},[e._v(e._s(e.$L("\u672A\u5B8C\u6210\u4EFB\u52A1")))]),a("div",{staticClass:"row-num"},[e._v("("+e._s(e.unList.length)+")")])]),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}})],1),e.projectData.cacheParameter.showUndone?a("TaskRow",{attrs:{list:e.unList,"task-visibilitys":e.taskRowVisibilitys,"open-key":"undone"},on:{"on-priority":e.addTaskOpen}}):e._e()],1):e._e(),e.projectData.task_num>0?a("div",{class:["project-table-body",e.projectData.cacheParameter.showCompleted?"":"project-table-hide"]},[a("Row",{staticClass:"task-row"},[a("Col",{staticClass:"row-title",attrs:{span:"12"}},[a("i",{staticClass:"taskfont",on:{click:function(n){return e.toggleParameter("showCompleted")}}},[e._v("\uE689")]),a("div",{staticClass:"row-h1"},[e._v(e._s(e.$L("\u5DF2\u5B8C\u6210\u4EFB\u52A1")))]),a("div",{staticClass:"row-num"},[e._v("("+e._s(e.completedList.length)+")")])]),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}}),a("Col",{attrs:{span:"3"}},[a("div",{staticClass:"ellipsis"},[e._v(e._s(e.projectData.task_num>0&&e.projectData.cacheParameter.showCompleted?e.$L("\u5B8C\u6210\u65F6\u95F4"):""))])])],1),e.projectData.cacheParameter.showCompleted?a("TaskRow",{attrs:{list:e.completedList,"task-visibilitys":e.taskRowVisibilitys,"open-key":"completed",showCompleteAt:""},on:{"on-priority":e.addTaskOpen}}):e._e()],1):e._e()]):e.tabTypeActive==="gantt"?a("div",{staticClass:"project-gantt"},[a("ProjectGantt",{attrs:{projectColumn:e.columnList,flowInfo:e.flowInfo}})],1):e._e(),a("Modal",{attrs:{title:e.$L("\u9879\u76EE\u8BBE\u7F6E"),"mask-closable":!1},model:{value:e.settingShow,callback:function(n){e.settingShow=n},expression:"settingShow"}},[a("Form",e._b({attrs:{model:e.settingData},nativeOn:{submit:function(n){n.preventDefault()}}},"Form",e.formOptions,!1),[a("FormItem",{attrs:{prop:"name",label:e.$L("\u9879\u76EE\u540D\u79F0")}},[a("Input",{ref:"projectName",attrs:{type:"text",maxlength:32,placeholder:e.$L("\u5FC5\u586B")},model:{value:e.settingData.name,callback:function(n){e.$set(e.settingData,"name",n)},expression:"settingData.name"}})],1),a("FormItem",{attrs:{prop:"desc",label:e.$L("\u9879\u76EE\u4ECB\u7ECD")}},[a("Input",{ref:"projectDesc",attrs:{type:"textarea",autosize:{minRows:3,maxRows:5},maxlength:255,placeholder:`${e.$L("\u9009\u586B")} (${e.$L("\u652F\u6301 Markdown \u683C\u5F0F")})`},model:{value:e.settingData.desc,callback:function(n){e.$set(e.settingData,"desc",n)},expression:"settingData.desc"}})],1),a("FormItem",{attrs:{label:e.$L("\u81EA\u52A8\u5F52\u6863"),prop:"archive_method"}},[a("RadioGroup",{attrs:{value:e.settingData.archive_method},on:{"on-change":e.formArchived}},[a("Radio",{attrs:{label:"system"}},[e._v(e._s(e.$L("\u7CFB\u7EDF\u9ED8\u8BA4")))]),a("Radio",{attrs:{label:"custom"}},[e._v(e._s(e.$L("\u81EA\u5B9A\u4E49")))])],1),e.settingData.archive_method=="custom"?[a("div",{staticClass:"form-tip"},[e._v(e._s(e.$L("\u4EFB\u52A1\u5B8C\u6210 (*) \u5929\u540E\u81EA\u52A8\u5F52\u6863\u3002",e.settingData.archive_days||"n")))]),a("div",{staticClass:"setting-auto-day"},[a("Input",{attrs:{type:"number"},model:{value:e.settingData.archive_days,callback:function(n){e.$set(e.settingData,"archive_days",n)},expression:"settingData.archive_days"}},[a("span",{attrs:{slot:"append"},slot:"append"},[e._v(e._s(e.$L("\u5929")))])])],1)]:e._e()],2)],1),a("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[a("Button",{attrs:{type:"default"},on:{click:function(n){e.settingShow=!1}}},[e._v(e._s(e.$L("\u53D6\u6D88")))]),a("Button",{attrs:{type:"primary",loading:e.settingLoad>0},on:{click:e.onSetting}},[e._v(e._s(e.$L("\u4FEE\u6539")))])],1)],1),a("DrawerOverlay",{attrs:{placement:"right",size:800},model:{value:e.permissionShow,callback:function(n){e.permissionShow=n},expression:"permissionShow"}},[e.permissionShow?a("ProjectPermission",{ref:"permission",attrs:{"project-id":e.projectId},on:{close:function(){t.permissionShow=!1}}}):e._e()],1),a("Modal",{attrs:{title:e.$L("\u6210\u5458\u7BA1\u7406"),"mask-closable":!1},model:{value:e.userShow,callback:function(n){e.userShow=n},expression:"userShow"}},[a("Form",e._b({attrs:{model:e.userData},nativeOn:{submit:function(n){n.preventDefault()}}},"Form",e.formOptions,!1),[a("FormItem",{attrs:{prop:"userids",label:e.$L("\u9879\u76EE\u6210\u5458")}},[a("UserSelect",{attrs:{uncancelable:e.userData.uncancelable,"multiple-max":100,title:e.$L("\u9009\u62E9\u9879\u76EE\u6210\u5458")},model:{value:e.userData.userids,callback:function(n){e.$set(e.userData,"userids",n)},expression:"userData.userids"}})],1)],1),a("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[a("Button",{attrs:{type:"default"},on:{click:function(n){e.userShow=!1}}},[e._v(e._s(e.$L("\u53D6\u6D88")))]),e.userWaitRemove.length>0?a("Poptip",{staticStyle:{"margin-left":"8px"},attrs:{confirm:"",placement:"bottom","ok-text":e.$L("\u786E\u5B9A"),"cancel-text":e.$L("\u53D6\u6D88"),transfer:""},on:{"on-ok":e.onUser}},[a("div",{attrs:{slot:"title"},slot:"title"},[a("p",[a("strong",[e._v(e._s(e.$L("\u79FB\u9664\u6210\u5458\u8D1F\u8D23\u7684\u4EFB\u52A1\u5C06\u53D8\u6210\u65E0\u8D1F\u8D23\u4EBA\uFF0C")))])]),a("p",[e._v(e._s(e.$L("\u6CE8\u610F\u6B64\u64CD\u4F5C\u4E0D\u53EF\u9006\uFF01")))]),a("ul",{staticClass:"project-panel-wait-remove"},[a("li",[e._v(e._s(e.$L("\u5373\u5C06\u79FB\u9664"))+"\uFF1A")]),e._l(e.userWaitRemove,function(n){return a("li",{key:n},[a("UserAvatar",{attrs:{userid:n,size:20,showName:""}})],1)})],2)]),a("Button",{attrs:{type:"primary",loading:e.userLoad>0}},[e._v(e._s(e.$L("\u4FDD\u5B58")))])],1):a("Button",{attrs:{type:"primary",loading:e.userLoad>0},on:{click:e.onUser}},[e._v(e._s(e.$L("\u4FDD\u5B58")))])],1)],1),a("Modal",{attrs:{title:e.$L("\u9080\u8BF7\u94FE\u63A5"),"mask-closable":!1},model:{value:e.inviteShow,callback:function(n){e.inviteShow=n},expression:"inviteShow"}},[a("Form",e._b({attrs:{model:e.inviteData},nativeOn:{submit:function(n){n.preventDefault()}}},"Form",e.formOptions,!1),[a("FormItem",{attrs:{label:e.$L("\u94FE\u63A5\u5730\u5740")}},[a("Input",{ref:"inviteInput",attrs:{type:"textarea",rows:3,readonly:""},on:{"on-focus":e.inviteFocus},model:{value:e.inviteData.url,callback:function(n){e.$set(e.inviteData,"url",n)},expression:"inviteData.url"}}),a("div",{staticClass:"form-tip"},[e._v(" "+e._s(e.$L("\u53EF\u901A\u8FC7\u6B64\u94FE\u63A5\u76F4\u63A5\u52A0\u5165\u9879\u76EE\u3002"))+" "),a("Poptip",{attrs:{confirm:"",placement:"bottom","ok-text":e.$L("\u786E\u5B9A"),"cancel-text":e.$L("\u53D6\u6D88"),transfer:""},on:{"on-ok":function(n){return e.inviteGet(!0)}}},[a("div",{attrs:{slot:"title"},slot:"title"},[a("p",[a("strong",[e._v(e._s(e.$L("\u6CE8\u610F\uFF1A\u5237\u65B0\u5C06\u5BFC\u81F4\u539F\u6765\u7684\u9080\u8BF7\u94FE\u63A5\u5931\u6548\uFF01")))])])]),a("a",{attrs:{href:"javascript:void(0)"}},[e._v(e._s(e.$L("\u5237\u65B0\u94FE\u63A5")))])])],1)],1)],1),a("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[a("Button",{attrs:{type:"default"},on:{click:function(n){e.inviteShow=!1}}},[e._v(e._s(e.$L("\u53D6\u6D88")))]),a("Button",{attrs:{type:"primary",loading:e.inviteLoad>0},on:{click:e.inviteCopy}},[e._v(e._s(e.$L("\u590D\u5236")))])],1)],1),a("Modal",{attrs:{title:e.$L("\u79FB\u4EA4\u9879\u76EE"),"mask-closable":!1},model:{value:e.transferShow,callback:function(n){e.transferShow=n},expression:"transferShow"}},[a("Form",e._b({attrs:{model:e.transferData},nativeOn:{submit:function(n){n.preventDefault()}}},"Form",e.formOptions,!1),[a("FormItem",{attrs:{prop:"owner_userid",label:e.$L("\u65B0\u9879\u76EE\u8D1F\u8D23\u4EBA")}},[a("UserSelect",{attrs:{"multiple-max":1,title:e.$L("\u9009\u62E9\u9879\u76EE\u8D1F\u8D23\u4EBA")},model:{value:e.transferData.owner_userid,callback:function(n){e.$set(e.transferData,"owner_userid",n)},expression:"transferData.owner_userid"}})],1)],1),a("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[a("Button",{attrs:{type:"default"},on:{click:function(n){e.transferShow=!1}}},[e._v(e._s(e.$L("\u53D6\u6D88")))]),a("Button",{attrs:{type:"primary",loading:e.transferLoad>0},on:{click:e.onTransfer}},[e._v(e._s(e.$L("\u79FB\u4EA4")))])],1)],1),a("DrawerOverlay",{attrs:{placement:"right",size:720},model:{value:e.taskTemplateShow,callback:function(n){e.taskTemplateShow=n},expression:"taskTemplateShow"}},[e.taskTemplateShow?a("ProjectTaskTemplate",{ref:"taskTemplate",attrs:{"project-id":e.projectId}}):e._e()],1),a("DrawerOverlay",{attrs:{placement:"right",beforeClose:e.taskTagBeforeClose,size:720},model:{value:e.taskTagShow,callback:function(n){e.taskTagShow=n},expression:"taskTagShow"}},[e.taskTagShow?a("ProjectTaskTag",{ref:"taskTag",attrs:{"project-id":e.projectId}}):e._e()],1),a("DrawerOverlay",{attrs:{placement:"right",beforeClose:e.workflowBeforeClose,size:1280},model:{value:e.workflowShow,callback:function(n){e.workflowShow=n},expression:"workflowShow"}},[e.workflowShow?a("ProjectWorkflow",{ref:"workflow",attrs:{"project-id":e.projectId}}):e._e()],1),a("DrawerOverlay",{attrs:{placement:"right",size:720},model:{value:e.logShow,callback:function(n){e.logShow=n},expression:"logShow"}},[e.logShow?a("ProjectLog",{attrs:{"project-id":e.projectId}}):e._e()],1),a("DrawerOverlay",{attrs:{placement:"right",size:1180},model:{value:e.archivedTaskShow,callback:function(n){e.archivedTaskShow=n},expression:"archivedTaskShow"}},[e.archivedTaskShow?a("TaskArchived",{attrs:{"project-id":e.projectId}}):e._e()],1),a("DrawerOverlay",{attrs:{placement:"right",size:1180},model:{value:e.deletedTaskShow,callback:function(n){e.deletedTaskShow=n},expression:"deletedTaskShow"}},[e.deletedTaskShow?a("TaskDeleted",{attrs:{"project-id":e.projectId}}):e._e()],1)],1)},ae=[];const ne={name:"ProjectPanel",components:{VMPreviewNostyle:W,UserAvatarTip:J,UserSelect:N,TaskMenu:R,ProjectTaskTag:gt,ProjectTaskTemplate:Tt,ProjectWorkflow:St,ProjectPermission:Ot,DrawerOverlay:X,ProjectLog:K,TaskArchived:ht,TaskRow:rt,Draggable:f,TaskAddSimple:V,TaskPriority:F,TaskDeleted:Vt,TaskTag:O,ProjectGantt:ee},data(){return{loading:!1,nowTime:$A.dayjs().unix(),nowInterval:null,columnLoad:{},columnTopShow:{},sortField:"end_at",sortType:"desc",searchText:"",addColumnShow:!1,addColumnLoad:!1,addColumnName:"",sortData:[],sortDisabled:!1,settingShow:!1,settingData:{},settingLoad:0,permissionShow:!1,permissionShowData:{},permissionShowLoad:0,userShow:!1,userData:{},userLoad:0,inviteShow:!1,inviteData:{},inviteLoad:0,transferShow:!1,transferData:{},transferLoad:0,taskTemplateShow:!1,taskTagShow:!1,workflowShow:!1,logShow:!1,archivedTaskShow:!1,deletedTaskShow:!1,flowInfo:{},flowList:[],columnVisibilitys:{},taskVisibilitys:{},taskRowVisibilitys:{}}},mounted(){this.nowInterval=setInterval(()=>{this.nowTime=$A.dayjs().unix()},1e3)},destroyed(){clearInterval(this.nowInterval)},computed:{...u(["cacheDialogs","projectId","projectLoad","cacheTasks","cacheColumns","taskCompleteTemps","cacheUserBasic","formOptions"]),...k(["projectData","transforTasks"]),tabTypeActive(){return this.projectData.cacheParameter.menuType},tabTypeStyle(){const t={};switch(this.tabTypeActive){case"column":t.left="0";break;case"table":t.left="33.33%";break;case"gantt":t.left="66.66%";break;default:t.display="none"}return t},userWaitRemove(){const{userids:t,useridbak:e}=this.userData;if(!t)return[];let s=[];return e.some(a=>{t.includes(a)||s.push(a)}),s},msgUnread(){const{cacheDialogs:t,projectData:e}=this,s=t.find(({id:a})=>a===e.dialog_id);return $A.getDialogNum(s)},panelTask(){const{searchText:t,flowInfo:e}=this;return function(s){return this.projectData.cacheParameter.completedTask||(s=s.filter(({complete_at:a})=>!a)),$A.leftExists(e.value,"user:")?s=s.filter(({task_user:a})=>a.find(({userid:n,owner:i})=>n===e.userid&&i)):$A.leftExists(e.value,"tag:")?s=s.filter(({task_tag:a})=>a.find(({name:n})=>n===e.tag_name)):e.value>0?s=s.filter(({flow_item_id:a})=>a===e.value):e.value==-1&&(s=s.filter(({start_at:a})=>!a)),t&&(s=s.filter(({id:a,name:n,desc:i})=>a==t||$A.strExists(`${n} ${i}`,t))),s}},projectUser(){const{projectData:t,windowWidth:e}=this;if(!t.project_user)return[];let s=e>1200?8:3,a=t.project_user.filter(({userid:i})=>i!=t.owner_userid);if(a.length<=s)return a;let n=a.slice(0,s-1);return n.push({userid:-1}),n.push(a[a.length-1]),n},allTask(){const{cacheTasks:t,projectId:e}=this;return t.filter(s=>s.archived_at||!s.created_at?!1:s.project_id==e)},parentTask(){const{allTask:t}=this;return t.filter(e=>e.parent_id==0)},columnList(){const{projectId:t,cacheColumns:e,allTask:s}=this,a=$A.cloneJSON(e).filter(({project_id:n})=>n==t).sort((n,i)=>n.sort!=i.sort?$A.sortFloat(n.sort,i.sort):n.id-i.id);return a.forEach(n=>{n.tasks=this.transforTasks(s.filter(i=>i.column_id==n.id)).sort((i,o)=>i.complete_at||o.complete_at?$A.sortDay(i.complete_at,o.complete_at):i.sort!=o.sort?$A.sortFloat(i.sort,o.sort):i.id-o.id)}),a},myList(){const{allTask:t,taskCompleteTemps:e,sortField:s,sortType:a}=this;let n=t.filter(i=>this.myFilter(i));if(e.length>0){let i=t.filter(o=>e.includes(o.id)&&this.myFilter(o,!1));i.length>0&&(n=$A.cloneJSON(n),n.push(...i))}return n.sort((i,o)=>{if(a=="asc"&&([i,o]=[o,i]),s=="level")return $A.sortFloat(i.p_level,o.p_level);if(s=="end_at")return i.end_at==o.end_at?$A.sortFloat(i.p_level,o.p_level):$A.sortDay(i.end_at||"2099-12-31 23:59:59",o.end_at||"2099-12-31 23:59:59")})},helpList(){const{allTask:t,taskCompleteTemps:e,sortField:s,sortType:a}=this;let n=t.filter(i=>this.helpFilter(i));if(e.length>0){let i=t.filter(o=>e.includes(o.id)&&this.helpFilter(o,!1));i.length>0&&(n=$A.cloneJSON(n),n.push(...i))}return n.sort((i,o)=>{if(a=="asc"&&([i,o]=[o,i]),s=="level")return $A.sortFloat(i.p_level,o.p_level);if(s=="end_at")return i.end_at==o.end_at?$A.sortFloat(i.p_level,o.p_level):$A.sortDay(i.end_at||"2099-12-31 23:59:59",o.end_at||"2099-12-31 23:59:59")})},unList(){const{allTask:t,searchText:e,sortField:s,sortType:a}=this;return t.filter(i=>i.parent_id>0||this.flowTask(i)||e&&i.id!=e&&!$A.strExists(i.name,e)&&!$A.strExists(i.desc,e)?!1:!i.complete_at).sort((i,o)=>{if(a=="asc"&&([i,o]=[o,i]),s=="level")return $A.sortFloat(i.p_level,o.p_level);if(s=="end_at")return i.end_at==o.end_at?$A.sortFloat(i.p_level,o.p_level):$A.sortDay(i.end_at||"2099-12-31 23:59:59",o.end_at||"2099-12-31 23:59:59")})},completedList(){const{allTask:t,searchText:e}=this;return t.filter(a=>a.parent_id>0||this.flowTask(a)||e&&a.id!=e&&!$A.strExists(a.name,e)&&!$A.strExists(a.desc,e)?!1:a.complete_at).sort((a,n)=>$A.sortDay(n.complete_at,a.complete_at))},completedCount(){const{allTask:t}=this;return t.filter(e=>e.parent_id>0?!1:e.complete_at).length},tagList(){const t=[];return this.allTask.forEach(({task_tag:e})=>{e.forEach(s=>{t.find(a=>a.name===s.name)||t.push(s)})}),t},flowTitle(){const{flowInfo:t,flowData:e,allTask:s}=this;if(t.value==-1)return t.label;if(t.value){const a=e.find(n=>n.value===t.value);return a?a.label:t.label}return`${this.$L("\u5168\u90E8")} (${s.length})`},flowData(){const{flowList:t,allTask:e,cacheUserBasic:s}=this,a=[{value:0,label:`${this.$L("\u5168\u90E8")} (${e.length})`,children:[]}];a.push({value:-1,label:`${this.$L("\u672A\u8BA1\u5212")} (${e.filter(({start_at:o,complete_at:r})=>!o&&!r).length})`,children:[]});const n=t.map(o=>({value:o.id,label:o.name,status:o.status,children:o.project_flow_item.map(r=>{const l=e.filter(({flow_item_id:c})=>c==r.id).length;return{value:r.id,label:`${r.name} (${l})`,status:r.status,class:r.status,style:$A.generateColorVarStyle(r.color,[10],"flow-item-custom-color")}})}));if(n.length===1?a.push(...n[0].children):n.length>0&&a.push(...n),this.tagList.length>0){const o=this.tagList.map(({name:r,color:l})=>{const c=e.filter(({task_tag:x})=>x.find(m=>m.name===r)).length;return{value:`tag:${r}`,label:`${r} (${c})`,status:"tag-dot",style:{"--bg-color":l},tag_name:r,length:c}});o.length>0&&a.push(...o.map((r,l)=>(r.class=`tag-dot tag-${l}`,r)))}const{project_user:i}=this.projectData;if($A.isArray(i)){const o=i.map(r=>{const l=s.find(({userid:x})=>x===r.userid)||{},c=e.filter(({task_user:x,complete_at:m})=>!this.projectData.cacheParameter.completedTask&&m?!1:x.find(({userid:h,owner:p})=>h===r.userid&&p)).length;return{value:`user:${l.userid}`,label:`${l.nickname} (${c})`,status:"user",userid:l.userid||0,length:c}}).filter(({userid:r,length:l})=>r>0&&l>0);o.length>0&&(o.sort(r=>r.userid==this.userId?-1:1),a.push(...o.map((r,l)=>(r.class=`user-${l}`,r))))}return a}},watch:{projectId:{handler(t){t>0&&(this.getFlowData(),this.handleColumnDebounce())},immediate:!0},"columnList.length"(){this.handleColumnDebounce()},"parentTask.length"(){this.handleColumnDebounce()},searchText(){this.handleColumnDebounce(!0)},windowWidth(){this.handleColumnDebounce(100)},projectData(t,e){this.sortData=this.getSort(),t&&t.id&&(!e||t.id!==e.id)&&this.checkProjectFavoriteStatus()},projectLoad(t){this._loadTimeout&&clearTimeout(this._loadTimeout),t>0?this._loadTimeout=setTimeout(()=>{this.loading=!0},1e3):this.loading=!1}},methods:{transformEmojiToHtml:z,showName(){this.windowLandscape||$A.modalInfo({language:!1,title:this.$L("\u9879\u76EE\u540D\u79F0"),content:this.projectData.name})},showDesc(){this.windowLandscape||$A.modalInfo({language:!1,title:this.$L("\u9879\u76EE\u63CF\u8FF0"),content:this.$refs.descPreview.$el.innerHTML})},searchFocus(){this.$nextTick(()=>{this.$refs.searchInput.focus({cursor:"end"})})},getSort(){const t=[];return this.columnList.forEach(e=>{t.push({id:e.id,task:e.tasks.map(({id:s})=>s)})}),t},sortUpdate(t){const e=this.sortData,s=this.getSort();if(JSON.stringify(e)===JSON.stringify(s))return;this.sortData=s;const a={project_id:this.projectId,sort:this.sortData,only_column:t===!0?1:0};this.sortDisabled=!0,this.$store.dispatch("call",{url:"project/sort",data:a,method:"post"}).then(({msg:n})=>{$A.messageSuccess(n),this.sortDisabled=!1;let i,o=[];a.only_column?(i=-1,a.sort.forEach(r=>{i++,o.push({id:r.id,sort:i})}),this.$store.dispatch("saveColumn",o)):(a.sort.forEach(r=>{i=-1,o.push(...r.task.map(l=>(i++,o.push(...this.allTask.filter(c=>c.parent_id==l).map(({id:c})=>({id:c,sort:i,column_id:r.id}))),{id:l,sort:i,column_id:r.id})))}),this.$store.dispatch("saveTask",o))}).catch(({msg:n})=>{$A.modalError(n),this.sortDisabled=!1,this.$store.dispatch("getTaskForProject",this.projectId).catch(()=>{})}).finally(n=>{this.handleColumnDebounce()})},addTopShow(t,e){this.$set(this.columnTopShow,t,e)},addTaskOpen(t){g.emit("addTask",t)},addColumnOpen(){this.addColumnShow=!0,this.$nextTick(()=>{this.$refs.addColumnName.focus()})},addColumnBlur(){this.addColumnName===""&&(this.addColumnShow=!1)},addColumnSubmit(){let t=this.addColumnName.trim();t===""||this.addColumnLoad||(this.addColumnLoad=!0,this.$store.dispatch("call",{url:"project/column/add",data:{project_id:this.projectId,name:t},spinner:600}).then(({data:e,msg:s})=>{$A.messageSuccess(s),this.addColumnName="",this.$store.dispatch("saveColumn",e)}).catch(({msg:e})=>{$A.modalError(e)}).finally(()=>{this.addColumnLoad=!1}))},dropColumn(t,e){e==="title"?this.titleColumn(t):e==="archive_completed"?this.archiveColumnCompletedTasks(t):e==="remove"?this.removeColumn(t):e.name&&this.updateColumn(t,{color:e.color}).catch(s=>{$A.modalError(s)})},titleColumn(t){$A.modalInput({value:t.name,title:"\u4FEE\u6539\u5217\u8868",placeholder:"\u8F93\u5165\u5217\u8868\u540D\u79F0",onOk:e=>e?this.updateColumn(t,{name:e}):"\u5217\u8868\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A"})},updateColumn(t,e){return new Promise((s,a)=>{if(this.columnLoad[t.id]===!0){s();return}this.$set(this.columnLoad,t.id,!0),Object.keys(e).forEach(n=>this.$set(t,n,e[n])),this.$store.dispatch("call",{url:"project/column/update",data:Object.assign(e,{column_id:t.id})}).then(({data:n})=>{this.$set(this.columnLoad,t.id,!1),this.$store.dispatch("saveColumn",n),s()}).catch(({msg:n})=>{this.$set(this.columnLoad,t.id,!1),this.$store.dispatch("getColumns",this.projectId).catch(()=>{}),a(n)})})},archiveColumnCompletedTasks(t){const e=this.getColumnCompletedTasks(t);if(e.length===0){$A.messageWarning("\u5F53\u524D\u5217\u8868\u6CA1\u6709\u53EF\u5F52\u6863\u7684\u5DF2\u5B8C\u6210\u4EFB\u52A1");return}$A.modalConfirm({title:"\u5F52\u6863\u5DF2\u5B8C\u6210\u4EFB\u52A1",content:`\u4F60\u786E\u5B9A\u5C06\u5217\u8868\u3010${t.name}\u3011\u4E2D\u6240\u6709\u5DF2\u5B8C\u6210\u7684\u4EFB\u52A1\u5F52\u6863\u5417\uFF1F`,loading:!0,onOk:()=>new Promise((s,a)=>{this.batchArchiveTasks(e).then(()=>{$A.messageSuccess("\u5DF2\u5F52\u6863\u5217\u8868\u4E2D\u6240\u6709\u5DF2\u5B8C\u6210\u4EFB\u52A1"),s()}).catch(({msg:n})=>{$A.modalError(n||"\u5F52\u6863\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5"),a()})})})},getColumnCompletedTasks(t){return!t||!Array.isArray(t.tasks)?[]:t.tasks.filter(e=>e&&e.complete_at&&!e.archived_at)},batchArchiveTasks(t){const e=(s=0)=>{if(s>=t.length)return Promise.resolve();const a=t[s];return this.$store.dispatch("archivedTask",{task_id:a.id}).then(()=>(this.$store.dispatch("saveTaskBrowse",a.id),e(s+1)))};return e()},removeColumn(t){$A.modalConfirm({title:"\u5220\u9664\u5217\u8868",content:"\u4F60\u786E\u5B9A\u8981\u5220\u9664\u5217\u8868\u3010"+t.name+"\u3011\u53CA\u5217\u8868\u5185\u7684\u4EFB\u52A1\u5417\uFF1F",loading:!0,onOk:()=>{if(this.columnLoad[t.id]!==!0)return this.$set(this.columnLoad,t.id,!0),new Promise((e,s)=>{this.$store.dispatch("removeColumn",t.id).then(({msg:a})=>{e(a)}).catch(({msg:a})=>{s(a)}).finally(a=>{this.$set(this.columnLoad,t.id,!1)})})}})},onSort(t){this.sortField=t,this.sortType=this.sortType=="desc"?"asc":"desc",this.handleColumnDebounce()},onSetting(){this.settingLoad++,this.$store.dispatch("call",{url:"project/update",data:Object.assign(this.settingData,{project_id:this.projectId})}).then(({data:t,msg:e})=>{$A.messageSuccess(e),this.settingShow=!1,this.$store.dispatch("saveProject",t)}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.settingLoad--})},onUser(){this.userLoad++,this.$store.dispatch("call",{url:"project/user",data:{project_id:this.projectId,userid:this.userData.userids}}).then(({msg:t})=>{$A.messageSuccess(t),this.userShow=!1,this.$store.dispatch("getProjectOne",this.projectId).catch(()=>{}),this.$store.dispatch("getTaskForProject",this.projectId).catch(()=>{})}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.userLoad--})},onTransfer(){this.transferLoad++,this.$store.dispatch("call",{url:"project/transfer",data:{project_id:this.projectId,owner_userid:this.transferData.owner_userid[0]}}).then(({msg:t})=>{$A.messageSuccess(t),this.transferShow=!1,this.$store.dispatch("getProjectOne",this.projectId).catch(()=>{}),this.$store.dispatch("getTaskForProject",this.projectId).catch(()=>{})}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.transferLoad--})},onArchived(){$A.modalConfirm({title:"\u5F52\u6863\u9879\u76EE",content:"\u4F60\u786E\u5B9A\u8981\u5F52\u6863\u9879\u76EE\u3010"+this.projectData.name+"\u3011\u5417\uFF1F",loading:!0,onOk:()=>new Promise((t,e)=>{this.$store.dispatch("archivedProject",this.projectId).then(({msg:s})=>{t(s)}).catch(({msg:s})=>{e(s)})})})},onDelete(){$A.modalConfirm({title:"\u5220\u9664\u9879\u76EE",content:"\u4F60\u786E\u5B9A\u8981\u5220\u9664\u9879\u76EE\u3010"+this.projectData.name+"\u3011\u5417\uFF1F",loading:!0,onOk:()=>new Promise((t,e)=>{this.$store.dispatch("removeProject",this.projectId).then(({msg:s})=>{t(s)}).catch(({msg:s})=>{e(s)})})})},onExit(){$A.modalConfirm({title:"\u9000\u51FA\u9879\u76EE",content:"\u4F60\u786E\u5B9A\u8981\u9000\u51FA\u9879\u76EE\u3010"+this.projectData.name+"\u3011\u5417\uFF1F",loading:!0,onOk:()=>new Promise((t,e)=>{this.$store.dispatch("exitProject",this.projectId).then(({msg:s})=>{t(s)}).catch(({msg:s})=>{e(s)})})})},projectDropdown(t){switch(t){case"favorite":this.toggleProjectFavorite();break;case"setting":Object.assign(this.settingData,{name:this.projectData.name,desc:this.projectData.desc,archive_method:this.projectData.archive_method,archive_days:this.projectData.archive_days}),this.settingShow=!0,this.$nextTick(()=>{this.$refs.projectName.focus(),setTimeout(this.$refs.projectDesc.resizeTextarea,0)});break;case"permissions":this.permissionShow=!0;break;case"user":if(this.projectData.owner_userid!==this.userId)return;const e=this.projectData.project_user.map(({userid:s})=>s);this.$set(this.userData,"userids",e),this.$set(this.userData,"useridbak",e),this.$set(this.userData,"uncancelable",[this.projectData.owner_userid]),this.userShow=!0;break;case"invite":this.inviteData={},this.inviteShow=!0,this.inviteGet();break;case"task_template":this.taskTemplateShow=!0;break;case"task_tag":this.taskTagShow=!0;break;case"workflow":this.workflowShow=!0;break;case"log":this.logShow=!0;break;case"archived_task":this.archivedTaskShow=!0;break;case"deleted_task":this.deletedTaskShow=!0;break;case"transfer":this.$set(this.transferData,"owner_userid",[]),this.transferShow=!0;break;case"archived":this.onArchived();break;case"delete":this.onDelete();break;case"exit":this.onExit();break}},openTask(t,e){this.$store.dispatch("openTask",t),e===!0&&setTimeout(()=>{g.emit("receiveTask",!0)},300)},openMenu(t,e){const s=this.$refs[`taskMenu_${e.id}`];s&&s[0].handleClick(t)},taskIsHidden(t){const{id:e,name:s,desc:a,complete_at:n}=t,{searchText:i}=this;return!!(!this.projectData.cacheParameter.completedTask&&n||this.flowTask(t)||i&&e!=i&&!$A.strExists(`${s} ${a}`,i))},ownerUser(t){return t.filter(({owner:e})=>e==1).sort((e,s)=>e.id-s.id)},inviteGet(t){this.inviteLoad++,this.$store.dispatch("call",{url:"project/invite",data:{project_id:this.projectId,refresh:t===!0?"yes":"no"}}).then(({data:e})=>{this.inviteData=e,this.inviteCopy()}).catch(({msg:e})=>{$A.modalError(e)}).finally(e=>{this.inviteLoad--})},getFlowData(){this.flowInfo={},this.$store.dispatch("call",{url:"project/flow/list",data:{project_id:this.projectId}}).then(({data:t})=>{var e;this.flowList=t,(e=this.$refs.flow)==null||e.clearSelect()}).catch(()=>{this.flowList=[]})},flowChange(t,e){this.flowInfo=e.pop()||{},this.flowInfo.status==="end"&&!this.projectData.cacheParameter.completedTask&&this.toggleParameter("completedTask"),this.handleColumnDebounce(!0)},inviteCopy(){!this.inviteData.url||(this.inviteFocus(),this.copyText(this.inviteData.url))},inviteFocus(){this.$nextTick(t=>{this.$refs.inviteInput.focus({cursor:"all"})})},async taskTagBeforeClose(){this.$store.dispatch("getTaskForProject",this.projectId).catch(()=>{})},workflowBeforeClose(){return new Promise(t=>{if(!this.$refs.workflow){t();return}if(!this.$refs.workflow.existDiff()){t();return}$A.modalConfirm({content:"\u8BBE\u7F6E\u5C1A\u672A\u4FDD\u5B58\uFF0C\u662F\u5426\u653E\u5F03\u4FEE\u6539\uFF1F",cancelText:"\u53D6\u6D88",okText:"\u653E\u5F03",onOk:()=>{t()}})})},myFilter(t,e=!0){return!this.projectData.cacheParameter.completedTask&&e===!0&&t.complete_at||this.flowTask(t)||this.searchText&&t.id!=this.searchText&&!$A.strExists(t.name,this.searchText)&&!$A.strExists(t.desc,this.searchText)?!1:t.owner==1},helpFilter(t,e=!0){return t.parent_id>0||!this.projectData.cacheParameter.completedTask&&e===!0&&t.complete_at||this.flowTask(t)||this.searchText&&t.id!=this.searchText&&!$A.strExists(t.name,this.searchText)&&!$A.strExists(t.desc,this.searchText)?!1:t.task_user&&t.task_user.find(({userid:s,owner:a})=>s==this.userId&&a==0)},flowTask(t){return $A.leftExists(this.flowInfo.value,"user:")&&!t.task_user.find(({userid:e,owner:s})=>e===this.flowInfo.userid&&s)||$A.leftExists(this.flowInfo.value,"tag:")&&!t.task_tag.find(({name:e})=>e===this.flowInfo.tag_name)||this.flowInfo.value>0&&t.flow_item_id!==this.flowInfo.value?!0:!!(this.flowInfo.value==-1&&t.start_at)},expiresFormat(t){return $A.countDownFormat(this.nowTime,t)},tabTypeChange(t){switch(t){case"column":this.toggleParameter({project_id:this.projectId,key:"menuType",value:"column"});break;case"table":this.toggleParameter({project_id:this.projectId,key:"menuType",value:"table"});break;case"gantt":this.toggleParameter({project_id:this.projectId,key:"menuType",value:"gantt"});break}},toggleParameter(t){if(t==="chat"){this.$store.dispatch("openDialog",this.projectData.dialog_id);return}t==="completedTask"&&this.$store.dispatch("forgetTaskCompleteTemp",!0),this.$store.dispatch("toggleProjectParameter",t),this.handleColumnDebounce()},onBack(){const{name:t,params:e}=this.$store.state.routeHistoryLast;t===this.routeName&&/^\d+$/.test(e.projectId)?this.goForward({name:this.routeName,params:{projectId:"all"}}):this.goBack()},formArchived(t){this.settingData={...this.settingData,archive_method:t}},taskItemVisible({id:t,column_id:e}){var s;return this.columnVisibilitys[e]&&((s=this.taskVisibilitys[t])==null?void 0:s.visible)},taskItemStyle({id:t,column_id:e,complete_at:s,color:a}){var i;const n={};return a&&(n.backgroundColor=a),this.taskItemVisible({id:t,column_id:e})||(n.height=(((i=this.taskVisibilitys[t])==null?void 0:i.height)||(s?46:146))+"px"),n},handleColumnDebounce(t=10,e=!1){typeof t=="boolean"&&(e=t,t=10),this.columnDebounceWait!==t&&(this.columnDebounceWait=t,this.columnDebounceInvoke&&(this.columnDebounceInvoke.cancel(),this.columnDebounceInvoke=null)),this.columnDebounceInvoke||(this.columnDebounceInvoke=U.exports.debounce(s=>{this.$nextTick(a=>{var n;switch(this.tabTypeActive){case"column":this.handleColumnScroll(),s===!0&&requestAnimationFrame(()=>{const i=this.$refs.projectColumn;i&&!i.querySelector(".task-head")&&$A.scrollIntoViewIfNeeded(i.querySelector(".task-draggable:not(.hidden)"))});break;case"table":this.handleTaskScroll({target:(n=this.$refs.projectTableScroll)==null?void 0:n.$el});break}})},t)),this.columnDebounceInvoke(e)},handleColumnScroll(){this.columnList.forEach(({id:t})=>{const e=this.$refs[`column_${t}`];e&&this.checkColumnVisibility(e[0])})},checkColumnVisibility(t=null){if(!t)return;const e=t.getAttribute("data-id");if(!e)return;const s=this.$refs.projectColumn;if(!s)return!1;const a=s.getBoundingClientRect(),n=t.getBoundingClientRect(),i=n.left