适配 手机/平板端

This commit is contained in:
kuaifan 2021-09-21 00:26:13 +08:00
parent cf92b0949c
commit af28eaaace
72 changed files with 10870 additions and 85 deletions

View File

@ -1,6 +1,6 @@
{
"name": "DooTask",
"version": "0.3.22",
"version": "0.3.24",
"description": "DooTask is task management system.",
"scripts": {
"start": "./cmd dev",
@ -21,6 +21,7 @@
"jquery": "^3.5.1",
"jspdf": "^2.3.1",
"laravel-mix": "^6.0.6",
"le5le-store": "^1.0.7",
"less-loader": "^10.0.0",
"lodash": "^4.17.19",
"moment": "^2.29.1",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,20 +1,20 @@
/*!
* html2canvas 1.3.2 <https://html2canvas.hertzen.com>
* Copyright (c) 2021 Niklas von Hertzen <https://hertzen.com>
* html2canvas 1.0.0-rc.7 <https://html2canvas.hertzen.com>
* Copyright (c) 2020 Niklas von Hertzen <https://hertzen.com>
* Released under MIT License
*/
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[172],{35172:(a,s,t)=>{t.r(s),t.d(s,{default:()=>i});const n={data:function(){return{loadIng:0,name:"Loading",version:"",list:[]}},mounted:function(){this.getAppInfo()},methods:{getAppInfo:function(){var a=this;this.loadIng++,this.$store.dispatch("call",{url:"system/get/appinfo"}).then((function(s){var t=s.data;a.loadIng--,a.name=t.name,a.version=t.version,a.list=t.list})).catch((function(s){var t=s.msg;a.loadIng--,$A.modalError(t)}))}}};const i=(0,t(51900).Z)(n,(function(){var a=this,s=a.$createElement,t=a._self._c||s;return t("div",{staticClass:"page-download"},[t("PageTitle",{attrs:{title:a.$L("下载")}}),a._v(" "),a.loadIng>0?t("div",{staticClass:"download-load"},[t("Loading")],1):a._e(),a._v(" "),t("div",{staticClass:"download-body"},[t("canvas",{staticClass:"orb-canvas-1"}),a._v(" "),t("canvas",{staticClass:"orb-canvas-2"}),a._v(" "),a.name?t("div",{staticClass:"download-name"},[a._v(a._s(a.name))]):a._e(),a._v(" "),a.version?t("div",{staticClass:"download-version"},[a._v("v"+a._s(a.version))]):a._e(),a._v(" "),a.list.length>0?t("ul",{staticClass:"download-list"},a._l(a.list,(function(s,n){return t("li",{key:n},[t("div",{staticClass:"app-icon"},[t("Icon",{attrs:{type:s.icon}})],1),a._v(" "),t("div",{staticClass:"app-name"},[a._v(a._s(s.name))]),a._v(" "),t("div",{staticClass:"app-size"},[a._v(a._s(a.$A.bytesToSize(s.size)))]),a._v(" "),t("div",{staticClass:"app-button"},[t("a",{attrs:{href:s.url,target:"_blank"}},[a._v(a._s(a.$L("立即下载")))])])])})),0):a._e()])],1)}),[],!1,null,null,null).exports}}]);
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[172],{35172:(a,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>i});const n={data:function(){return{loadIng:0,name:"Loading",version:"",list:[]}},mounted:function(){this.getAppInfo()},methods:{getAppInfo:function(){var a=this;this.loadIng++,this.$store.dispatch("call",{url:"system/get/appinfo"}).then((function(s){var t=s.data;a.loadIng--,a.name=t.name,a.version=t.version,a.list=t.list})).catch((function(s){var t=s.msg;a.loadIng--,$A.modalError(t)}))}}};const i=(0,t(51900).Z)(n,(function(){var a=this,s=a.$createElement,t=a._self._c||s;return t("div",{staticClass:"page-download"},[t("PageTitle",{attrs:{title:a.$L("下载")}}),a._v(" "),a.loadIng>0?t("div",{staticClass:"download-load"},[t("Loading")],1):a._e(),a._v(" "),t("div",{staticClass:"download-body"},[t("canvas",{staticClass:"orb-canvas-1"}),a._v(" "),t("canvas",{staticClass:"orb-canvas-2"}),a._v(" "),a.name?t("div",{staticClass:"download-name"},[a._v(a._s(a.name))]):a._e(),a._v(" "),a.version?t("div",{staticClass:"download-version"},[a._v("v"+a._s(a.version))]):a._e(),a._v(" "),a.list.length>0?t("ul",{staticClass:"download-list"},a._l(a.list,(function(s,n){return t("li",{key:n},[t("div",{staticClass:"app-icon"},[t("Icon",{attrs:{type:s.icon}})],1),a._v(" "),t("div",{staticClass:"app-name"},[a._v(a._s(s.name))]),a._v(" "),t("div",{staticClass:"app-size"},[a._v(a._s(a.$A.bytesToSize(s.size)))]),a._v(" "),t("div",{staticClass:"app-button"},[t("a",{attrs:{href:s.url,target:"_blank"}},[a._v(a._s(a.$L("立即下载")))])])])})),0):a._e()])],1)}),[],!1,null,null,null).exports}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
public/js/build/190.js Normal file

File diff suppressed because one or more lines are too long

1
public/js/build/260.js Normal file
View File

@ -0,0 +1 @@
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[260],{94260:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});function s(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,s)}return n}function i(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?s(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const a={data:function(){return{curPath:this.$route.path,show768Menu:!0}},mounted:function(){},computed:i(i({},(0,n(20629).rn)(["userInfo","userIsAdmin"])),{},{menu:function(){var t=[{path:"personal",name:"个人设置"},{path:"password",name:"密码设置"}];return this.userIsAdmin&&t.push.apply(t,[{path:"system",name:"系统设置",divided:!0},{path:"priority",name:"任务等级"}]),t},titleNameRoute:function(){var t=this.curPath,e=this.menu,n="";return e.some((function(e){if($A.leftExists(t,"/manage/setting/"+e.path))return n=e.name,!0})),n||"设置"}}),watch:{$route:function(t){this.curPath=t.path}},methods:{toggleRoute:function(t){this.show768Menu=!1,this.goForward({path:"/manage/setting/"+t})},classNameRoute:function(t,e){return{active:$A.leftExists(this.curPath,"/manage/setting/"+t),divided:!!e}}}};const o=(0,n(51900).Z)(a,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"page-setting"},[n("PageTitle",{attrs:{title:t.$L(t.titleNameRoute)}}),t._v(" "),n("div",{staticClass:"setting-head"},[n("div",{staticClass:"setting-titbox"},[n("div",{staticClass:"setting-title"},[n("h1",[t._v(t._s(t.$L("设置")))]),t._v(" "),n("div",{staticClass:"setting-more",on:{click:function(e){t.show768Menu=!t.show768Menu}}},[n("Icon",{attrs:{type:t.show768Menu?"md-close":"md-more"}})],1)])])]),t._v(" "),n("div",{staticClass:"setting-box"},[n("div",{staticClass:"setting-menu",class:{"show768-menu":t.show768Menu}},[n("ul",t._l(t.menu,(function(e,s){return n("li",{key:s,class:t.classNameRoute(e.path,e.divided),on:{click:function(n){return t.toggleRoute(e.path)}}},[t._v(t._s(t.$L(e.name)))])})),0)]),t._v(" "),n("div",{staticClass:"setting-content"},[n("div",{staticClass:"setting-content-title"},[t._v(t._s(t.$L(t.titleNameRoute)))]),t._v(" "),n("div",{staticClass:"setting-content-view"},[n("router-view",{staticClass:"setting-router-view"})],1)])])],1)}),[],!1,null,null,null).exports}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[344],{68344:(t,e,r)=>{r.r(e),r.d(e,{default:()=>n});function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,s)}return r}function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}const o={data:function(){return{loadIng:0,formDatum:{oldpass:"",newpass:"",checkpass:""},ruleDatum:{}}},computed:function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(Object(r),!0).forEach((function(e){a(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},(0,r(20629).rn)(["userInfo"])),methods:{initLanguage:function(){var t=this;this.ruleDatum={oldpass:[{required:!0,message:this.$L("请输入旧密码!"),trigger:"change"},{type:"string",min:6,message:this.$L("密码长度至少6位"),trigger:"change"}],newpass:[{validator:function(e,r,s){""===r?s(new Error(t.$L("请输入新密码!"))):(""!==t.formDatum.checkpass&&t.$refs.formDatum.validateField("checkpass"),s())},required:!0,trigger:"change"},{type:"string",min:6,message:this.$L("密码长度至少6位"),trigger:"change"}],checkpass:[{validator:function(e,r,s){""===r?s(new Error(t.$L("请重新输入新密码!"))):r!==t.formDatum.newpass?s(new Error(t.$L("两次密码输入不一致!"))):s()},required:!0,trigger:"change"}]}},submitForm:function(){var t=this;this.$refs.formDatum.validate((function(e){e&&(t.loadIng++,t.$store.dispatch("call",{url:"users/editpass",data:t.formDatum}).then((function(e){var r=e.data;$A.messageSuccess("修改成功"),t.loadIng--,t.$store.dispatch("saveUserInfo",r),t.$refs.formDatum.resetFields()})).catch((function(e){var r=e.msg;$A.modalError(r),t.loadIng--})))}))},resetForm:function(){this.$refs.formDatum.resetFields()}}};const n=(0,r(51900).Z)(o,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"setting-item submit"},[t.userInfo.changepass?r("Alert",{staticStyle:{"margin-bottom":"32px"},attrs:{type:"warning",showIcon:""}},[t._v(t._s(t.$L("请先修改登录密码!")))]):t._e(),t._v(" "),r("Form",{ref:"formDatum",attrs:{model:t.formDatum,rules:t.ruleDatum,"label-width":"auto"},nativeOn:{submit:function(t){t.preventDefault()}}},[r("FormItem",{attrs:{label:t.$L("旧密码"),prop:"oldpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.oldpass,callback:function(e){t.$set(t.formDatum,"oldpass",e)},expression:"formDatum.oldpass"}})],1),t._v(" "),r("FormItem",{attrs:{label:t.$L("新密码"),prop:"newpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.newpass,callback:function(e){t.$set(t.formDatum,"newpass",e)},expression:"formDatum.newpass"}})],1),t._v(" "),r("FormItem",{attrs:{label:t.$L("确认新密码"),prop:"checkpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.checkpass,callback:function(e){t.$set(t.formDatum,"checkpass",e)},expression:"formDatum.checkpass"}})],1)],1),t._v(" "),r("div",{staticClass:"setting-footer"},[r("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("提交")))]),t._v(" "),r("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("重置")))])],1)],1)}),[],!1,null,null,null).exports}}]);
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[344],{68344:(t,e,r)=>{"use strict";r.r(e),r.d(e,{default:()=>n});function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,s)}return r}function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}const o={data:function(){return{loadIng:0,formDatum:{oldpass:"",newpass:"",checkpass:""},ruleDatum:{}}},computed:function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(Object(r),!0).forEach((function(e){a(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},(0,r(20629).rn)(["userInfo"])),methods:{initLanguage:function(){var t=this;this.ruleDatum={oldpass:[{required:!0,message:this.$L("请输入旧密码!"),trigger:"change"},{type:"string",min:6,message:this.$L("密码长度至少6位"),trigger:"change"}],newpass:[{validator:function(e,r,s){""===r?s(new Error(t.$L("请输入新密码!"))):(""!==t.formDatum.checkpass&&t.$refs.formDatum.validateField("checkpass"),s())},required:!0,trigger:"change"},{type:"string",min:6,message:this.$L("密码长度至少6位"),trigger:"change"}],checkpass:[{validator:function(e,r,s){""===r?s(new Error(t.$L("请重新输入新密码!"))):r!==t.formDatum.newpass?s(new Error(t.$L("两次密码输入不一致!"))):s()},required:!0,trigger:"change"}]}},submitForm:function(){var t=this;this.$refs.formDatum.validate((function(e){e&&(t.loadIng++,t.$store.dispatch("call",{url:"users/editpass",data:t.formDatum}).then((function(e){var r=e.data;$A.messageSuccess("修改成功"),t.loadIng--,t.$store.dispatch("saveUserInfo",r),t.$refs.formDatum.resetFields()})).catch((function(e){var r=e.msg;$A.modalError(r),t.loadIng--})))}))},resetForm:function(){this.$refs.formDatum.resetFields()}}};const n=(0,r(51900).Z)(o,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"setting-item submit"},[t.userInfo.changepass?r("Alert",{staticStyle:{"margin-bottom":"32px"},attrs:{type:"warning",showIcon:""}},[t._v(t._s(t.$L("请先修改登录密码!")))]):t._e(),t._v(" "),r("Form",{ref:"formDatum",attrs:{model:t.formDatum,rules:t.ruleDatum,"label-width":"auto"},nativeOn:{submit:function(t){t.preventDefault()}}},[r("FormItem",{attrs:{label:t.$L("旧密码"),prop:"oldpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.oldpass,callback:function(e){t.$set(t.formDatum,"oldpass",e)},expression:"formDatum.oldpass"}})],1),t._v(" "),r("FormItem",{attrs:{label:t.$L("新密码"),prop:"newpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.newpass,callback:function(e){t.$set(t.formDatum,"newpass",e)},expression:"formDatum.newpass"}})],1),t._v(" "),r("FormItem",{attrs:{label:t.$L("确认新密码"),prop:"checkpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.checkpass,callback:function(e){t.$set(t.formDatum,"checkpass",e)},expression:"formDatum.checkpass"}})],1)],1),t._v(" "),r("div",{staticClass:"setting-footer"},[r("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("提交")))]),t._v(" "),r("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("重置")))])],1)],1)}),[],!1,null,null,null).exports}}]);

View File

@ -1 +0,0 @@
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[361],{89067:(e,t,i)=>{i.d(t,{Z:()=>o});var r=i(23645),n=i.n(r)()((function(e){return e[1]}));n.push([e.id,".component-only-office[data-v-3c59bff6]{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.component-only-office .placeholder[data-v-3c59bff6]{flex:1;height:100%;width:100%}",""]);const o=n},80361:(e,t,i)=>{i.r(t),i.d(t,{default:()=>u});var r=i(20629);function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function o(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}const l={name:"OnlyOffice",props:{id:{type:String,default:function(){return"office_"+Math.round(1e4*Math.random())}},value:{type:[Object,Array],default:function(){return{}}}},data:function(){return{serverUrl:"http://10.22.22.3/",fileName:null,fileType:null,fileUrl:null,docEditor:null}},mounted:function(){},beforeDestroy:function(){null!==this.docEditor&&(this.docEditor.destroyEditor(),this.docEditor=null)},computed:function(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?n(Object(i),!0).forEach((function(t){o(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):n(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}({},(0,r.rn)(["userToken","userInfo"])),watch:{value:{handler:function(e){this.fileUrl=this.serverUrl+"api/file/content/?id="+e.id+"&token="+this.userToken,this.fileType=this.getType(e.type),this.fileName=e.name},immediate:!0,deep:!0},fileUrl:{handler:function(e){var t=this;e&&$A.loadScript(this.$store.state.method.apiUrl("../web-apps/apps/api/documents/api.js"),(function(){t.loadFile()}))},immediate:!0}},methods:{getType:function(e){switch(e){case"word":return"docx";case"excel":return"xlsx";case"ppt":return"pptx"}return""},loadFile:function(){var e=this;if(this.fileUrl){null!==this.docEditor&&(this.docEditor.destroyEditor(),this.docEditor=null);var t="zh";switch(this.getLanguage()){case"CN":case"TC":t="zh";break;default:t="en"}var i={document:{fileType:this.fileType,key:this.fileType+"-"+this.value.id,title:this.fileName+"."+this.fileType,url:this.fileUrl},editorConfig:{mode:"edit",lang:t,user:{id:this.userInfo.userid,name:this.userInfo.nickname},callbackUrl:this.serverUrl+"api/file/content/office?id="+this.value.id+"&token="+this.userToken}};this.$nextTick((function(){e.docEditor=new DocsAPI.DocEditor(e.id,i)}))}}}};var s=i(93379),c=i.n(s),a=i(89067),f={insert:"head",singleton:!1};c()(a.Z,f);a.Z.locals;const u=(0,i(51900).Z)(l,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"component-only-office"},[t("div",{staticClass:"placeholder",attrs:{id:this.id}})])}),[],!1,null,"3c59bff6",null).exports}}]);

File diff suppressed because one or more lines are too long

View File

@ -1,3 +0,0 @@
/*! cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com */
/*! cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */

1
public/js/build/399.js Normal file

File diff suppressed because one or more lines are too long

2
public/js/build/401.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
public/js/build/513.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[525],{84525:(t,e,s)=>{s.r(e),s.d(e,{default:()=>a});const n={data:function(){return{}},mounted:function(){this.$store.state.userId>0?this.goForward({path:"/manage/dashboard"},!0):this.goForward({path:"/login"},!0)},deactivated:function(){this.$destroy()}};const a=(0,s(51900).Z)(n,(function(){var t=this.$createElement;return(this._self._c||t)("div")}),[],!1,null,null,null).exports}}]);
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[525],{84525:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>a});const n={data:function(){return{}},mounted:function(){this.$store.state.userId>0?this.goForward({path:"/manage/dashboard"},!0):this.goForward({path:"/login"},!0)},deactivated:function(){this.$destroy()}};const a=(0,s(51900).Z)(n,(function(){var t=this.$createElement;return(this._self._c||t)("div")}),[],!1,null,null,null).exports}}]);

View File

@ -1 +0,0 @@
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[603],{88064:(e,t,a)=>{a.d(t,{Z:()=>i});var n=a(23645),s=a.n(n)()((function(e){return e[1]}));s.push([e.id,".page-404[data-v-1f590918]{background-color:#fff;color:#636b6f;font-weight:400;margin:0}.page-404[data-v-1f590918],.page-404 .full-height[data-v-1f590918]{height:100vh}.page-404 .flex-center[data-v-1f590918]{align-items:center;display:flex;justify-content:center}.page-404 .position-ref[data-v-1f590918]{position:relative}.page-404 .code[data-v-1f590918]{border-right:2px solid;font-size:26px;padding:0 15px;text-align:center}.page-404 .message[data-v-1f590918]{font-size:18px;padding:10px;text-align:center}",""]);const i=s},98603:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});var n=a(93379),s=a.n(n),i=a(88064),l={insert:"head",singleton:!1};s()(i.Z,l);i.Z.locals;const o=(0,a(51900).Z)({},(function(){var e=this,t=e.$createElement;e._self._c;return e._m(0)}),[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"page-404"},[a("div",{staticClass:"flex-center position-ref full-height"},[a("div",{staticClass:"code"},[e._v("404")]),e._v(" "),a("div",{staticClass:"message"},[e._v("Not Found")])])])}],!1,null,"1f590918",null).exports}}]);

1
public/js/build/673.js Normal file
View File

@ -0,0 +1 @@
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[673],{36829:(n,e,t)=>{"use strict";t.d(e,{Z:()=>i});var a=t(23645),s=t.n(a)()((function(n){return n[1]}));s.push([n.id,".page-404[data-v-1f590918] {\n background-color: #fff;\n color: #636b6f;\n font-weight: 400;\n height: 100vh;\n margin: 0;\n}\n.page-404 .full-height[data-v-1f590918] {\n height: 100vh;\n}\n.page-404 .flex-center[data-v-1f590918] {\n align-items: center;\n display: flex;\n justify-content: center;\n}\n.page-404 .position-ref[data-v-1f590918] {\n position: relative;\n}\n.page-404 .code[data-v-1f590918] {\n border-right: 2px solid;\n font-size: 26px;\n padding: 0 15px 0 15px;\n text-align: center;\n}\n.page-404 .message[data-v-1f590918] {\n font-size: 18px;\n padding: 10px;\n text-align: center;\n}\n",""]);const i=s},62673:(n,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>o});var a=t(93379),s=t.n(a),i=t(36829),l={insert:"head",singleton:!1};s()(i.Z,l);i.Z.locals;const o=(0,t(51900).Z)({},(function(){var n=this,e=n.$createElement;n._self._c;return n._m(0)}),[function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"page-404"},[t("div",{staticClass:"flex-center position-ref full-height"},[t("div",{staticClass:"code"},[n._v("404")]),n._v(" "),t("div",{staticClass:"message"},[n._v("Not Found")])])])}],!1,null,"1f590918",null).exports}}]);

2
public/js/build/678.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -7,14 +7,14 @@
/*!
* TOAST UI Date Picker
* @version 4.3.0
* @version 4.2.0
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
* @license MIT
*/
/*!
* TOAST UI Time Picker
* @version 2.1.4
* @version 2.0.3
* @author NHN FE Development Lab <dl_javascript@nhn.com>
* @license MIT
*/

File diff suppressed because one or more lines are too long

1
public/js/build/738.js Normal file
View File

@ -0,0 +1 @@
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[738],{56041:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var i=n(23645),r=n.n(i)()((function(e){return e[1]}));r.push([e.id,".component-only-office[data-v-3c59bff6] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.component-only-office .placeholder[data-v-3c59bff6] {\n flex: 1;\n width: 100%;\n height: 100%;\n}\n",""]);const o=r},93738:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>u});var i=n(20629);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const s={name:"OnlyOffice",props:{id:{type:String,default:function(){return"office_"+Math.round(1e4*Math.random())}},value:{type:[Object,Array],default:function(){return{}}}},data:function(){return{serverUrl:"http://10.22.22.3/",fileName:null,fileType:null,fileUrl:null,docEditor:null}},mounted:function(){},beforeDestroy:function(){null!==this.docEditor&&(this.docEditor.destroyEditor(),this.docEditor=null)},computed:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},(0,i.rn)(["userToken","userInfo"])),watch:{value:{handler:function(e){this.fileUrl=this.serverUrl+"api/file/content/?id="+e.id+"&token="+this.userToken,this.fileType=this.getType(e.type),this.fileName=e.name},immediate:!0,deep:!0},fileUrl:{handler:function(e){var t=this;e&&$A.loadScript(this.$store.state.method.apiUrl("../web-apps/apps/api/documents/api.js"),(function(){t.loadFile()}))},immediate:!0}},methods:{getType:function(e){switch(e){case"word":return"docx";case"excel":return"xlsx";case"ppt":return"pptx"}return""},loadFile:function(){var e=this;if(this.fileUrl){null!==this.docEditor&&(this.docEditor.destroyEditor(),this.docEditor=null);var t="zh";switch(this.getLanguage()){case"CN":case"TC":t="zh";break;default:t="en"}var n={document:{fileType:this.fileType,key:this.fileType+"-"+this.value.id,title:this.fileName+"."+this.fileType,url:this.fileUrl},editorConfig:{mode:"edit",lang:t,user:{id:this.userInfo.userid,name:this.userInfo.nickname},callbackUrl:this.serverUrl+"api/file/content/office?id="+this.value.id+"&token="+this.userToken}};this.$nextTick((function(){e.docEditor=new DocsAPI.DocEditor(e.id,n)}))}}}};var l=n(93379),c=n.n(l),a=n(56041),f={insert:"head",singleton:!1};c()(a.Z,f);a.Z.locals;const u=(0,n(51900).Z)(s,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"component-only-office"},[t("div",{staticClass:"placeholder",attrs:{id:this.id}})])}),[],!1,null,"3c59bff6",null).exports}}]);

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[771],{2771:(t,e,n)=>{n.r(e),n.d(e,{default:()=>o});function s(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,s)}return n}function i(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?s(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const a={data:function(){return{curPath:this.$route.path}},mounted:function(){},computed:i(i({},(0,n(20629).rn)(["userInfo","userIsAdmin"])),{},{menu:function(){var t=[{path:"personal",name:"个人设置"},{path:"password",name:"密码设置"}];return this.userIsAdmin&&t.push.apply(t,[{path:"system",name:"系统设置",divided:!0},{path:"priority",name:"任务等级"}]),t},titleNameRoute:function(){var t=this.curPath,e=this.menu,n="";return e.some((function(e){if($A.leftExists(t,"/manage/setting/"+e.path))return n=e.name,!0})),n||"设置"}}),watch:{$route:function(t){this.curPath=t.path}},methods:{toggleRoute:function(t){this.goForward({path:"/manage/setting/"+t})},classNameRoute:function(t,e){return{active:$A.leftExists(this.curPath,"/manage/setting/"+t),divided:!!e}}}};const o=(0,n(51900).Z)(a,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"page-setting"},[n("PageTitle",{attrs:{title:t.$L(t.titleNameRoute)}}),t._v(" "),n("div",{staticClass:"setting-head"},[n("div",{staticClass:"setting-titbox"},[n("div",{staticClass:"setting-title"},[n("h1",[t._v(t._s(t.$L("设置")))])])])]),t._v(" "),n("div",{staticClass:"setting-box"},[n("div",{staticClass:"setting-menu"},[n("ul",t._l(t.menu,(function(e,s){return n("li",{key:s,class:t.classNameRoute(e.path,e.divided),on:{click:function(n){return t.toggleRoute(e.path)}}},[t._v(t._s(t.$L(e.name)))])})),0)]),t._v(" "),n("div",{staticClass:"setting-content"},[n("div",{staticClass:"setting-content-title"},[t._v(t._s(t.$L(t.titleNameRoute)))]),t._v(" "),n("div",{staticClass:"setting-content-view"},[n("router-view",{staticClass:"setting-router-view"})],1)])])],1)}),[],!1,null,null,null).exports}}]);

File diff suppressed because one or more lines are too long

1
public/js/build/784.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[800],{66800:(t,e,o)=>{o.r(e),o.d(e,{default:()=>s});function n(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,n)}return o}function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}const a={data:function(){return{loadIng:0,formDatum:[],nullDatum:{name:"",priority:1,days:1,color:"#8bcf70"}}},mounted:function(){this.systemSetting()},computed:function(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?n(Object(o),!0).forEach((function(e){r(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}({},(0,o(20629).rn)(["taskPriority"])),watch:{taskPriority:{handler:function(t){this.formDatum=$A.cloneJSON(t),0===this.formDatum.length&&this.addDatum()},immediate:!0}},methods:{submitForm:function(){var t=this;this.$refs.formDatum.validate((function(e){e&&t.systemSetting(!0)}))},resetForm:function(){this.formDatum=$A.cloneJSON(this.taskPriority)},addDatum:function(){this.formDatum.push($A.cloneJSON(this.nullDatum))},delDatum:function(t){this.formDatum.splice(t,1),0===this.formDatum.length&&this.addDatum()},systemSetting:function(t){var e=this;this.loadIng++,this.$store.dispatch("call",{url:"system/priority?type="+(t?"save":"get"),method:"post",data:{list:this.formDatum}}).then((function(o){var n=o.data;t&&$A.messageSuccess("修改成功"),e.loadIng--,e.$store.state.taskPriority=$A.cloneJSON(n)})).catch((function(o){var n=o.msg;t&&$A.modalError(n),e.loadIng--}))}}};const s=(0,o(51900).Z)(a,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"setting-item submit"},[o("Form",{ref:"formDatum",attrs:{"label-width":"auto"},nativeOn:{submit:function(t){t.preventDefault()}}},[o("Row",{staticClass:"setting-color"},[o("Col",{attrs:{span:"12"}},[t._v(t._s(t.$L("名称")))]),t._v(" "),o("Col",{attrs:{span:"4"}},[o("ETooltip",{attrs:{content:t.$L("数值越大级别越高"),"max-width":"auto",placement:"top",transfer:""}},[o("div",[o("Icon",{staticClass:"information",attrs:{type:"ios-information-circle-outline"}}),t._v(" "+t._s(t.$L("级别")))],1)])],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("ETooltip",{attrs:{content:t.$L("任务完成时间"),"max-width":"auto",placement:"top",transfer:""}},[o("div",[o("Icon",{staticClass:"information",attrs:{type:"ios-information-circle-outline"}}),t._v(" "+t._s(t.$L("天数")))],1)])],1),t._v(" "),o("Col",{attrs:{span:"4"}},[t._v(t._s(t.$L("颜色")))])],1),t._v(" "),t._l(t.formDatum,(function(e,n){return o("Row",{key:n,staticClass:"setting-color"},[o("Col",{attrs:{span:"12"}},[o("Input",{attrs:{maxlength:20,placeholder:t.$L("请输入名称"),clearable:""},on:{"on-clear":function(e){return t.delDatum(n)}},model:{value:e.name,callback:function(o){t.$set(e,"name",o)},expression:"item.name"}})],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("Input",{attrs:{type:"number"},model:{value:e.priority,callback:function(o){t.$set(e,"priority",o)},expression:"item.priority"}})],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("Input",{attrs:{type:"number"},model:{value:e.days,callback:function(o){t.$set(e,"days",o)},expression:"item.days"}})],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("ColorPicker",{attrs:{recommend:"",transfer:""},model:{value:e.color,callback:function(o){t.$set(e,"color",o)},expression:"item.color"}})],1)],1)})),t._v(" "),o("Button",{attrs:{type:"default",icon:"md-add"},on:{click:t.addDatum}},[t._v(t._s(t.$L("添加优先级")))])],2),t._v(" "),o("div",{staticClass:"setting-footer"},[o("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("提交")))]),t._v(" "),o("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("重置")))])],1)],1)}),[],!1,null,null,null).exports}}]);
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[800],{66800:(t,e,o)=>{"use strict";o.r(e),o.d(e,{default:()=>s});function n(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,n)}return o}function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}const a={data:function(){return{loadIng:0,formDatum:[],nullDatum:{name:"",priority:1,days:1,color:"#8bcf70"}}},mounted:function(){this.systemSetting()},computed:function(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?n(Object(o),!0).forEach((function(e){r(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}({},(0,o(20629).rn)(["taskPriority"])),watch:{taskPriority:{handler:function(t){this.formDatum=$A.cloneJSON(t),0===this.formDatum.length&&this.addDatum()},immediate:!0}},methods:{submitForm:function(){var t=this;this.$refs.formDatum.validate((function(e){e&&t.systemSetting(!0)}))},resetForm:function(){this.formDatum=$A.cloneJSON(this.taskPriority)},addDatum:function(){this.formDatum.push($A.cloneJSON(this.nullDatum))},delDatum:function(t){this.formDatum.splice(t,1),0===this.formDatum.length&&this.addDatum()},systemSetting:function(t){var e=this;this.loadIng++,this.$store.dispatch("call",{url:"system/priority?type="+(t?"save":"get"),method:"post",data:{list:this.formDatum}}).then((function(o){var n=o.data;t&&$A.messageSuccess("修改成功"),e.loadIng--,e.$store.state.taskPriority=$A.cloneJSON(n)})).catch((function(o){var n=o.msg;t&&$A.modalError(n),e.loadIng--}))}}};const s=(0,o(51900).Z)(a,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"setting-item submit"},[o("Form",{ref:"formDatum",attrs:{"label-width":"auto"},nativeOn:{submit:function(t){t.preventDefault()}}},[o("Row",{staticClass:"setting-color"},[o("Col",{attrs:{span:"12"}},[t._v(t._s(t.$L("名称")))]),t._v(" "),o("Col",{attrs:{span:"4"}},[o("ETooltip",{attrs:{content:t.$L("数值越大级别越高"),"max-width":"auto",placement:"top",transfer:""}},[o("div",[o("Icon",{staticClass:"information",attrs:{type:"ios-information-circle-outline"}}),t._v(" "+t._s(t.$L("级别")))],1)])],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("ETooltip",{attrs:{content:t.$L("任务完成时间"),"max-width":"auto",placement:"top",transfer:""}},[o("div",[o("Icon",{staticClass:"information",attrs:{type:"ios-information-circle-outline"}}),t._v(" "+t._s(t.$L("天数")))],1)])],1),t._v(" "),o("Col",{attrs:{span:"4"}},[t._v(t._s(t.$L("颜色")))])],1),t._v(" "),t._l(t.formDatum,(function(e,n){return o("Row",{key:n,staticClass:"setting-color"},[o("Col",{attrs:{span:"12"}},[o("Input",{attrs:{maxlength:20,placeholder:t.$L("请输入名称"),clearable:""},on:{"on-clear":function(e){return t.delDatum(n)}},model:{value:e.name,callback:function(o){t.$set(e,"name",o)},expression:"item.name"}})],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("Input",{attrs:{type:"number"},model:{value:e.priority,callback:function(o){t.$set(e,"priority",o)},expression:"item.priority"}})],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("Input",{attrs:{type:"number"},model:{value:e.days,callback:function(o){t.$set(e,"days",o)},expression:"item.days"}})],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("ColorPicker",{attrs:{recommend:"",transfer:""},model:{value:e.color,callback:function(o){t.$set(e,"color",o)},expression:"item.color"}})],1)],1)})),t._v(" "),o("Button",{attrs:{type:"default",icon:"md-add"},on:{click:t.addDatum}},[t._v(t._s(t.$L("添加优先级")))])],2),t._v(" "),o("div",{staticClass:"setting-footer"},[o("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("提交")))]),t._v(" "),o("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("重置")))])],1)],1)}),[],!1,null,null,null).exports}}]);

1
public/js/build/83.js Normal file

File diff suppressed because one or more lines are too long

1
public/js/build/838.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
/*! @license DOMPurify 2.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.1/LICENSE */
/*! @license DOMPurify | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.2.2/LICENSE */

View File

@ -1 +0,0 @@
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[858],{24779:(t,a,o)=>{o.r(a),o.d(a,{default:()=>s});const e={data:function(){return{loadIng:0,formDatum:{}}},mounted:function(){this.systemSetting()},methods:{submitForm:function(){var t=this;this.$refs.formDatum.validate((function(a){a&&t.systemSetting(!0)}))},resetForm:function(){this.formDatum=$A.cloneJSON(this.formDatum_bak)},systemSetting:function(t){var a=this;this.loadIng++,this.$store.dispatch("call",{url:"system/setting?type="+(t?"save":"get"),data:this.formDatum}).then((function(o){var e=o.data;t&&$A.messageSuccess("修改成功"),a.loadIng--,a.formDatum=e,a.formDatum_bak=$A.cloneJSON(a.formDatum)})).catch((function(o){var e=o.msg;t&&$A.modalError(e),a.loadIng--}))}}};const s=(0,o(51900).Z)(e,(function(){var t=this,a=t.$createElement,o=t._self._c||a;return o("div",{staticClass:"setting-item submit"},[o("Form",{ref:"formDatum",attrs:{model:t.formDatum,"label-width":"auto"},nativeOn:{submit:function(t){t.preventDefault()}}},[o("FormItem",{attrs:{label:t.$L("允许注册"),prop:"reg"}},[o("RadioGroup",{model:{value:t.formDatum.reg,callback:function(a){t.$set(t.formDatum,"reg",a)},expression:"formDatum.reg"}},[o("Radio",{attrs:{label:"open"}},[t._v(t._s(t.$L("允许")))]),t._v(" "),o("Radio",{attrs:{label:"close"}},[t._v(t._s(t.$L("禁止")))])],1)],1),t._v(" "),o("FormItem",{attrs:{label:t.$L("登录验证码"),prop:"loginCode"}},[o("RadioGroup",{model:{value:t.formDatum.login_code,callback:function(a){t.$set(t.formDatum,"login_code",a)},expression:"formDatum.login_code"}},[o("Radio",{attrs:{label:"auto"}},[t._v(t._s(t.$L("自动")))]),t._v(" "),o("Radio",{attrs:{label:"open"}},[t._v(t._s(t.$L("开启")))]),t._v(" "),o("Radio",{attrs:{label:"close"}},[t._v(t._s(t.$L("关闭")))])],1)],1)],1),t._v(" "),o("div",{staticClass:"setting-footer"},[o("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("提交")))]),t._v(" "),o("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("重置")))])],1)],1)}),[],!1,null,null,null).exports}}]);

File diff suppressed because one or more lines are too long

View File

@ -187,7 +187,7 @@
{"CN": "列表不存在","EN": "List does not exist","TC": "列表不存在","KM": "បញ្ជីមិនមានទេ","TH": "ไม่มีรายการ","KO": "목록이 없습니다","JA": "リストが存在しません"},
{"CN": "今日待完成","EN": "Today's stay","TC": "今日待完成","KM": "ការស្នាក់នៅថ្ងៃនេះ","TH": "วันนี้การเข้าพัก","KO": "오늘의 체재","JA": "今日の滞在"},
{"CN": "会员不存在","EN": "Member does not exist","TC": "會員不存在","KM": "សមាជិកមិនមានទេ","TH": "สมาชิกไม่มีอยู่","KO": "회원이 없습니다","JA": "メンバーは存在しません"},
{"CN": "欢迎您,%","EN": "Welcome,%","TC": "歡迎您,%","KM": "សូមស្វាគមន៍,%","TH": "ยินดีต้อนรับ,%","KO": "어서 오십시오,%","JA": "ようこそ、%"},
{"CN": "欢迎您,%","EN": "Welcome, %","TC": "歡迎您,%","KM": "សូមស្វាគមន៍,%","TH": "ยินดีต้อนรับ,%","KO": "어서 오십시오,%","JA": "ようこそ、%"},
{"CN": "归档的项目","EN": "Archive project","TC": "歸檔的項目","KM": "គម្រោងប័ណ្ណសារ","TH": "โครงการเก็บถาวร","KO": "아카이브 프로젝트","JA": "アーカイブプロジェクト"},
{"CN": "归档的任务","EN": "Archive task","TC": "歸檔的任務","KM": "ភារកិច្ចប័ណ្ណសារ","TH": "งานเก็บถาวร","KO": "아카이브 작업","JA": "アーカイブタスク"},
{"CN": "登录验证码","EN": "Login verification code","TC": "登錄驗證碼","KM": "ការចូលកូដផ្ទៀងផ្ទាត់","TH": "รหัสยืนยันการเข้าสู่ระบบ","KO": "로그인 확인 코드","JA": "ログイン検証コード"},
@ -432,10 +432,11 @@
{"CN": "本周","EN": "This week","TC": "本週","KM": "ស​ប្តា​ហ៍​នេះ","TH": "ในสัปดาห์นี้","KO": "이번 주","JA": "今週"},
{"CN": "本月","EN": "This month","TC": "本月","KM": "ខែ​នេះ","TH": "เดือนนี้","KO": "이번 달","JA": "今月"},
{"CN": "保存","EN": "Save","TC": "保存","KM": "សរេង្គាហ","TH": "บันทึก","KO": "저장","JA": "セーブ"},
{"CN": "%天","EN": "%day","TC": "%天","KM": "% ថ្ងៃ","TH": "%วัน","KO": "% 일","JA": "%日"},
{"CN": "%日","EN": "%day","TC": "%日","KM": "%ថ្ងៃ","TH": "%วัน","KO": "% 일","JA": "%日"},
{"CN": "%天","EN": "%day","TC": "%天","KM": "%ថ្ងៃ","TH": "%วัน","KO": "% 일","JA": "%日"},
{"CN": "周","EN": "Week","TC": "週","KM": "សបា្ដហ៍","TH": "สัปดาห์","KO": "주","JA": "週間"},
{"CN": "月","EN": "Month","TC": "月","KM": "ខេ","TH": "เดือน","KO": "달","JA": "月"},
{"CN": "天","EN": "Day","TC": "天","KM": "ថៃ","TH": "วัน","KO": "일","JA": "日"},
{"CN": "日","EN": "Day","TC": "日","KM": "ថៃ","TH": "วัน","KO": "일","JA": "日"},
{"CN": "天","EN": "Day","TC": "天","KM": "ថៃ","TH": "วัน","KO": "일","JA": "日"},
]
})(window)

View File

@ -2,7 +2,7 @@
<div id="app">
<transition :name="transitionName">
<keep-alive>
<router-view class="child-view"></router-view>
<router-view class="child-view" :class="{'view-768': $store.state.windowMax768}"></router-view>
</keep-alive>
</transition>
<Spinner/>
@ -36,6 +36,11 @@
}
//
setInterval(this.searchEnter, 1000);
//
window.addEventListener('resize', this.windowMax768Listener);
},
beforeDestroy() {
window.removeEventListener('resize', this.windowMax768Listener);
},
watch: {
'$route' (To, From) {
@ -147,6 +152,10 @@
}
});
},
windowMax768Listener() {
this.$store.state.windowMax768 = window.innerWidth <= 768
},
}
}
</script>

View File

@ -0,0 +1,259 @@
<template>
<div ref="floatDrag" :style="dragStyle" @mousedown.stop.prevent="mouseDown">
<slot></slot>
</div>
</template>
<script>
export default {
name: "DragBallComponent",
props: {
id: {
type: String,
default: ""
},
distanceLeft: {
type: Number,
default: -1 // -1 distanceRight
},
distanceRight: {
type: Number,
default: 0
},
distanceTop: {
type: Number,
default: -1 // -1 distanceBottom
},
distanceBottom: {
type: Number,
default: 100
},
isScrollHidden: {
type: Boolean,
default: false
},
isCanDraggable: {
type: Boolean,
default: true
},
zIndex: {
type: Number,
default: 50
}
},
data() {
return {
clientWidth: null,
clientHeight: null,
top: 0,
left: 0,
timer: null,
currentTop: 0,
isMoving: false,
record: {}
};
},
created() {
this.clientWidth = document.documentElement.clientWidth;
this.clientHeight = document.documentElement.clientHeight;
},
mounted() {
if (this.id) {
if (!$A.isJson(window._DragBallComponent)) {
window._DragBallComponent = {};
}
}
if (this.isCanDraggable) {
this.$nextTick(() => {
if (this.id && $A.isJson(window._DragBallComponent[this.id])) {
this.left = window._DragBallComponent[this.id].left
this.top = window._DragBallComponent[this.id].top
} else {
if (this.distanceLeft > -1) {
this.left = this.distanceLeft;
} else {
this.left = this.clientWidth - this.floatDrag.offsetWidth - this.distanceRight;
}
if (this.distanceTop > -1) {
this.top = this.distanceTop;
} else {
this.top = this.clientHeight - this.floatDrag.offsetHeight - this.distanceBottom;
}
}
this.initDraggable();
});
}
this.isScrollHidden && window.addEventListener("scroll", this.handleScroll);
window.addEventListener("resize", this.handleResize);
},
beforeDestroy() {
if (this.id) {
window._DragBallComponent[this.id] = {
left: this.left,
top: this.top
};
}
window.removeEventListener("scroll", this.handleScroll);
window.removeEventListener("resize", this.handleResize);
},
computed: {
dragStyle() {
return {
left: this.left + 'px',
top: this.top + 'px',
zIndex: this.zIndex,
position: 'fixed',
}
},
floatDrag () {
return this.$refs.floatDrag
}
},
methods: {
/**
* 设置滚动监听设置滚动时隐藏悬浮按钮停止时显示
*/
handleScroll() {
this.timer && clearTimeout(this.timer);
this.timer = setTimeout(() => {
this.handleScrollEnd();
}, 200);
this.currentTop = document.documentElement.scrollTop || document.body.scrollTop;
if (this.left > this.clientWidth / 2) {
this.left = this.clientWidth + this.floatDrag.offsetWidth;
} else {
this.left = -this.floatDrag.offsetWidth;
}
},
/**
* 滚动结束
*/
handleScrollEnd() {
let scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
if (scrollTop === this.currentTop) {
if (this.left > this.clientWidth / 2) {
this.left = this.clientWidth - this.floatDrag.offsetWidth;
} else {
this.left = 0;
}
clearTimeout(this.timer);
}
},
/**
* 窗口resize监听
*/
handleResize() {
this.clientWidth = document.documentElement.clientWidth;
this.clientHeight = document.documentElement.clientHeight;
this.checkDraggablePosition();
},
/**
* 初始化draggable
*/
initDraggable() {
this.floatDrag.addEventListener("touchstart", this.toucheStart);
this.floatDrag.addEventListener("touchmove", this.touchMove);
this.floatDrag.addEventListener("touchend", this.touchEnd);
},
mouseDown(e) {
this.record = {
time: new Date().getTime(),
top: this.floatDrag.offsetTop,
left: this.floatDrag.offsetLeft,
x: e.clientX - this.floatDrag.offsetLeft,
y: e.clientY - this.floatDrag.offsetTop,
}
this.floatDrag.style.transition = "none";
this.canClick = false;
//
document.onmousemove = (e) => {
let left = e.clientX - this.record.x;
let top = e.clientY - this.record.y;
if (left < 0) {
left = 0
} else if (left > (window.innerWidth - this.floatDrag.offsetWidth)) {
left = window.innerWidth - this.floatDrag.offsetWidth
}
if (top < 0) {
top = 0
} else if (top > (window.innerHeight - this.floatDrag.offsetHeight)) {
top = window.innerHeight - this.floatDrag.offsetHeight
}
this.left = left;
this.top = top;
};
document.onmouseup = () => {
document.onmousemove = null;
document.onmouseup = null;
this.checkDraggablePosition();
this.floatDrag.style.transition = "all 0.3s";
//
if ((Math.abs(this.record.top - this.floatDrag.offsetTop) < 5 && Math.abs(this.record.left - this.floatDrag.offsetLeft) < 5) || new Date().getTime() - this.record.time < 200) {
this.$emit("on-click")
}
}
},
toucheStart() {
this.canClick = false;
this.floatDrag.style.transition = "none";
},
touchMove(e) {
this.canClick = true;
if (e.targetTouches.length === 1) {
//
let touch = event.targetTouches[0];
let left = touch.clientX - this.floatDrag.offsetWidth / 2;
let top = touch.clientY - this.floatDrag.offsetHeight / 2;
if (left < 0) {
left = 0
} else if (left > (window.innerWidth - this.floatDrag.offsetWidth)) {
left = window.innerWidth - this.floatDrag.offsetWidth
}
if (top < 0) {
top = 0
} else if (top > (window.innerHeight - this.floatDrag.offsetHeight)) {
top = window.innerHeight - this.floatDrag.offsetHeight
}
this.left = left;
this.top = top;
}
},
touchEnd() {
if (!this.canClick) return;
this.floatDrag.style.transition = "all 0.3s";
this.checkDraggablePosition();
},
/**
* 判断元素显示位置在窗口改变和move end时调用
*/
checkDraggablePosition() {
if (this.left + this.floatDrag.offsetWidth / 2 >= this.clientWidth / 2) {
this.left = this.clientWidth - this.floatDrag.offsetWidth;
} else {
this.left = 0;
}
if (this.top < 0) {
this.top = 0;
}
if (this.top + this.floatDrag.offsetHeight >= this.clientHeight) {
this.top = this.clientHeight - this.floatDrag.offsetHeight;
}
}
},
};
</script>

View File

@ -110,7 +110,7 @@ export default {
return;
}
this.__initLanguageData();
this.languageData.push(...data);
this.languageData.unshift(...data);
},
/**
@ -184,6 +184,10 @@ export default {
if (typeof languageCachesObjects[text] === "undefined") {
let tmpRege = null;
let tmpData = this.languageData.find((obj) => {
if (typeof obj._ !== "undefined") {
tmpRege = new RegExp("^" + this.replaceEscape(obj._).replace(/%/g, "(.*?)") + "$", "g");
return !!text.match(tmpRege);
}
return Object.values(obj).find((val) => {
tmpRege = new RegExp("^" + this.replaceEscape(val).replace(/%/g, "(.*?)") + "$", "g");
return !!text.match(tmpRege);

View File

@ -1,6 +1,6 @@
<template>
<div v-show="userId > 0" class="page-manage">
<div class="manage-box-menu">
<div class="manage-box-menu" :class="{'show768-menu': show768Menu}">
<Dropdown
class="manage-box-dropdown"
trigger="click"
@ -152,6 +152,16 @@
:size="900">
<ProjectArchived v-if="archivedProjectShow"/>
</DrawerOverlay>
<!--菜单按钮-->
<DragBallComponent
:distanceLeft="0"
:distanceTop="60"
@on-click="show768Menu=!show768Menu">
<div class="manage-mini-menu">
<Icon :type="show768Menu ? 'md-close' : 'md-menu'" />
</div>
</DragBallComponent>
</div>
</template>
@ -163,9 +173,10 @@ import notificationKoro from "notification-koro1";
import TeamManagement from "./manage/components/TeamManagement";
import ProjectManagement from "./manage/components/ProjectManagement";
import DrawerOverlay from "../components/DrawerOverlay";
import DragBallComponent from "../components/DragBallComponent";
export default {
components: {DrawerOverlay, ProjectManagement, TeamManagement, ProjectArchived, TaskDetail},
components: {DragBallComponent, DrawerOverlay, ProjectManagement, TeamManagement, ProjectArchived, TaskDetail},
data() {
return {
loadIng: 0,
@ -183,6 +194,7 @@ export default {
openMenu: {},
visibleMenu: false,
show768Menu: false,
allUserShow: false,
allProjectShow: false,
@ -361,6 +373,7 @@ export default {
},
toggleRoute(path) {
this.show768Menu = false;
this.goForward({path: '/manage/' + path});
},

View File

@ -143,14 +143,23 @@ export default {
methods: {
initLanguage() {
this.addLanguageData([
{"_": "{日}","CN": "日","EN": "Sun","TC": "日","KM": "Sun","TH": "Sun","KO": "Sun","JA": "Sun"},
{"_": "{一}","CN": "一","EN": "Mon","TC": "一","KM": "Mon","TH": "Mon","KO": "Mon","JA": "Mon"},
{"_": "{二}","CN": "二","EN": "Tue","TC": "二","KM": "Tue","TH": "Tue","KO": "Tue","JA": "Tue"},
{"_": "{三}","CN": "三","EN": "Wed","TC": "三","KM": "Wed","TH": "Wed","KO": "Wed","JA": "Wed"},
{"_": "{四}","CN": "四","EN": "Thu","TC": "四","KM": "Thu","TH": "Thu","KO": "Thu","JA": "Thu"},
{"_": "{五}","CN": "五","EN": "Fri","TC": "五","KM": "Fri","TH": "Fri","KO": "Fri","JA": "Fri"},
{"_": "{六}","CN": "六","EN": "Sat","TC": "六","KM": "Sat","TH": "Sat","KO": "Sat","JA": "Sat"},
]);
let daynames = [
this.$L('周日'),
this.$L('周一'),
this.$L('周二'),
this.$L('周三'),
this.$L('周四'),
this.$L('周五'),
this.$L('周六')
this.$L('{日}'),
this.$L('{一}'),
this.$L('{二}'),
this.$L('{三}'),
this.$L('{四}'),
this.$L('{五}'),
this.$L('{六}')
];
this.calendarWeek = {daynames};
this.calendarMonth = {daynames};

View File

@ -57,6 +57,7 @@
</ScrollerY>
<div :class="['dialog-footer', msgNew > 0 && dialogMsgList.length > 0 ? 'newmsg' : '']" @click="onActive">
<div class="dialog-newmsg" @click="goNewBottom">{{$L('' + msgNew + '条新消息')}}</div>
<slot name="inputBefore"/>
<DragInput
ref="input"
v-model="msgText"
@ -154,6 +155,15 @@ export default {
},
watch: {
'$route': {
handler (route) {
if (route.query && route.query.msg && this.msgText == '') {
this.msgText = route.query.msg;
}
},
immediate: true
},
dialogMsgPush() {
if (this.autoBottom) {
this.$nextTick(this.goBottom);

View File

@ -17,12 +17,16 @@
<h2>{{$L('群聊')}}</h2>
</div>
</div>
<div slot="inputBefore" class="dialog-back" @click="onInputBack">
<Icon type="md-arrow-back" />
</div>
</DialogWrapper>
</div>
</template>
<script>
import {mapGetters} from "vuex";
import {Store} from 'le5le-store';
import DialogWrapper from "./DialogWrapper";
export default {
@ -37,5 +41,11 @@ export default {
computed: {
...mapGetters(['projectData'])
},
methods: {
onInputBack() {
Store.set('onProjectDialogBack', null);
}
}
}
</script>

View File

@ -64,7 +64,7 @@
<Draggable
:list="projectData.columns"
:animation="150"
:disabled="sortDisabled"
:disabled="sortDisabled || $store.state.windowMax768"
class="column-list"
tag="ul"
draggable=".column-item"
@ -120,7 +120,7 @@
<Draggable
:list="column.tasks"
:animation="150"
:disabled="sortDisabled"
:disabled="sortDisabled || $store.state.windowMax768"
class="task-list"
draggable=".task-draggable"
group="task"
@ -385,12 +385,14 @@ import Draggable from 'vuedraggable'
import TaskPriority from "./TaskPriority";
import TaskAdd from "./TaskAdd";
import {mapGetters, mapState} from "vuex";
import {Store} from 'le5le-store';
import UserInput from "../../../components/UserInput";
import TaskAddSimple from "./TaskAddSimple";
import TaskRow from "./TaskRow";
import TaskArchived from "./TaskArchived";
import ProjectLog from "./ProjectLog";
import DrawerOverlay from "../../../components/DrawerOverlay";
export default {
name: "ProjectList",
components: {
@ -430,17 +432,28 @@ export default {
logShow: false,
archivedTaskShow: false,
projectDialogsubscribe: null,
}
},
mounted() {
this.nowInterval = setInterval(() => {
this.nowTime = Math.round(new Date().getTime() / 1000);
}, 1000)
}, 1000);
//
this.projectDialogsubscribe = Store.subscribe('onProjectDialogBack', () => {
this.$store.dispatch('toggleTablePanel', 'chat');
});
},
destroyed() {
clearInterval(this.nowInterval)
clearInterval(this.nowInterval);
//
if (this.projectDialogsubscribe) {
this.projectDialogsubscribe.unsubscribe();
this.projectDialogsubscribe = null;
}
},
computed: {

View File

@ -90,7 +90,7 @@
</Poptip>
</li>
<!--主任务-->
<div v-else v-show="taskDetail.id > 0" :class="{'task-detail':true, 'open-dialog': taskDetail.dialog_id, 'completed': taskDetail.complete_at}">
<div v-else v-show="taskDetail.id > 0" :class="{'task-detail':true, 'open-dialog': hasOpenDialog, 'completed': taskDetail.complete_at}">
<div class="task-info">
<div class="head">
<Icon v-if="taskDetail.complete_at" class="icon completed" type="md-checkmark-circle" @click="updateData('uncomplete')"/>
@ -354,7 +354,7 @@
<TaskUpload ref="upload" class="upload"/>
</div>
<div class="task-dialog" :style="dialogStyle">
<template v-if="taskDetail.dialog_id > 0">
<template v-if="hasOpenDialog">
<DialogWrapper v-if="taskId > 0" ref="dialog" :dialog-id="taskDetail.dialog_id">
<div slot="head" class="head">
<Icon class="icon" type="ios-chatbubbles-outline" />
@ -552,12 +552,16 @@ export default {
});
},
hasOpenDialog() {
return this.taskDetail.dialog_id > 0 && !this.$store.state.windowMax768;
},
scrollerStyle() {
const {innerHeight, taskDetail} = this;
const {innerHeight, hasOpenDialog} = this;
if (!innerHeight) {
return {};
}
if (!taskDetail.dialog_id) {
if (!hasOpenDialog) {
return {};
}
return {
@ -566,17 +570,16 @@ export default {
},
dialogStyle() {
const {innerHeight, taskDetail} = this;
const {innerHeight, hasOpenDialog} = this;
if (!innerHeight) {
return {};
}
if (taskDetail.dialog_id) {
return {
minHeight: (innerHeight - (innerHeight > 900 ? 200 : 70) - 48) + 'px'
}
} else {
if (!hasOpenDialog) {
return {};
}
return {
minHeight: (innerHeight - (innerHeight > 900 ? 200 : 70) - 48) + 'px'
}
},
expiresFormat() {
@ -1095,7 +1098,14 @@ export default {
this.$store.dispatch("saveTask", data);
this.$store.dispatch("getDialogOne", data.dialog_id);
this.$nextTick(() => {
this.$refs.dialog.sendMsg(this.msgText);
if (this.$store.state.windowMax768) {
this.goForward({path: '/manage/messenger', query: {msg: this.msgText}});
this.$store.state.method.setStorage("messenger::dialogId", data.dialog_id)
this.$store.state.dialogOpenId = data.dialog_id;
this.$store.dispatch('openTask', 0);
} else {
this.$refs.dialog.sendMsg(this.msgText);
}
this.msgText = "";
});
}).catch(({msg}) => {

View File

@ -82,6 +82,8 @@ export default {
this.columns = [
{
title: this.$L('ID'),
minWidth: 50,
maxWidth: 70,
key: 'userid',
},
{

View File

@ -2,7 +2,7 @@
<div class="page-messenger">
<PageTitle :title="$L('消息')"/>
<div class="messenger-wrapper">
<div class="messenger-select">
<div class="messenger-select" :class="{'show768-menu':dialogId == 0}">
<div class="messenger-search">
<div class="search-wrapper">
<Input prefix="ios-search" v-model="dialogKey" :placeholder="$L('搜索...')" clearable />
@ -63,7 +63,11 @@
</div>
<div class="messenger-msg">
<DialogWrapper v-if="dialogId > 0" :dialogId="dialogId" @on-active="scrollIntoActive"/>
<DialogWrapper v-if="dialogId > 0" :dialogId="dialogId" @on-active="scrollIntoActive">
<div slot="inputBefore" class="dialog-back" @click="closeDialog">
<Icon type="md-arrow-back" />
</div>
</DialogWrapper>
<div v-else class="dialog-no">
<div class="dialog-no-icon"><Icon type="ios-chatbubbles" /></div>
<div class="dialog-no-text">{{$L('选择一个会话开始聊天')}}</div>
@ -182,6 +186,11 @@ export default {
},
methods: {
closeDialog() {
this.dialogId = 0;
this.$store.state.method.setStorage("messenger::dialogId", 0)
},
openDialog(dialog, smooth) {
this.$store.state.method.setStorage("messenger::dialogId", dialog.id)
this.dialogId = dialog.id;

View File

@ -5,11 +5,14 @@
<div class="setting-titbox">
<div class="setting-title">
<h1>{{$L('设置')}}</h1>
<div class="setting-more" @click="show768Menu=!show768Menu">
<Icon :type="show768Menu ? 'md-close' : 'md-more'" />
</div>
</div>
</div>
</div>
<div class="setting-box">
<div class="setting-menu">
<div class="setting-menu" :class="{'show768-menu':show768Menu}">
<ul>
<li
v-for="(item, key) in menu"
@ -33,6 +36,7 @@ export default {
data() {
return {
curPath: this.$route.path,
show768Menu: true,
}
},
mounted() {
@ -74,6 +78,7 @@ export default {
},
methods: {
toggleRoute(path) {
this.show768Menu = false;
this.goForward({path: '/manage/setting/' + path});
},

View File

@ -240,6 +240,9 @@ const method = {
// 方法类
const state = { method };
// 浏览器宽度≤768返回true
state.windowMax768 = window.innerWidth <= 768;
// 数据缓存
state.cacheUserBasic = state.method.getStorageJson("cacheUserBasic");
state.cacheDialogs = state.method.getStorageArray("cacheDialogs");

View File

@ -28,9 +28,13 @@
display: flex;
align-items: center;
line-height: 22px;
max-width: 100%;
> h2 {
font-size: 17px;
font-weight: 600;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
> em {
font-style: normal;
@ -374,3 +378,12 @@
background-color: #F4F4F5;
}
}
@media (max-width: 768px) {
.dialog-wrapper {
.dialog-footer {
padding: 0 20px;
margin-bottom: 16px;
}
}
}

View File

@ -191,3 +191,13 @@
.luckysheet-input-box {
z-index: 99999 !important;
}
@media (max-width: 1200px) {
.file-content {
overflow: auto;
.edit-header,
.content-body {
min-width: 1200px;
}
}
}

View File

@ -49,5 +49,45 @@
}
}
}
.dialog-footer {
.dialog-back {
display: none;
}
}
}
}
@media (max-width: 768px) {
.project-dialog {
.project-dialog-wrapper {
.dialog-user {
margin-top: 24px;
padding: 0 20px;
}
.dialog-title {
padding: 0 20px;
}
.dialog-scroller {
padding: 0 20px;
}
.dialog-footer {
position: relative;
.dialog-back {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 64px;
z-index: 1;
font-size: 26px;
display: flex;
align-items: center;
justify-content: center;
}
.dialog-input {
width: calc(100% - 44px);
}
}
}
}
}

View File

@ -755,3 +755,48 @@
}
}
}
@media (max-width: 768px) {
.project-list {
.project-head {
margin: 24px 24px 0;
.project-titbox {
display: block;
.project-title {
float: left;
padding-bottom: 4px;
}
.project-icons {
float: right;
margin-left: 24px;
margin-top: 4px;
justify-content: flex-end;
}
}
.project-subtitle {
padding-right: 12px;
margin-bottom: 6px;
}
}
.project-column {
> ul {
> li {
&:first-child {
margin-left: 10px;
}
&:last-child {
margin-right: 10px;
}
}
}
}
.project-table {
overflow-x: auto;
.project-table-head,
.project-table-body {
min-width: 768px;
margin: 0 24px 12px;
}
}
}
}

View File

@ -126,6 +126,7 @@
cursor: pointer;
}
.ivu-tag {
flex-shrink: 0;
margin-left: 10px;
padding: 0 4px;
height: 20px;

View File

@ -178,3 +178,25 @@
}
}
}
@media (max-width: 768px) {
.page-calendar {
.calendar-head {
.calendar-titbox {
.calendar-title {
flex: 1;
}
.calendar-arrow {
margin-left: 12px;
margin-right: 0;
}
.calendar-view {
display: none;
}
}
}
.calendar-box {
padding: 0 24px 5px;
}
}
}

View File

@ -17,6 +17,7 @@
color: #333333;
font-size: 24px;
font-weight: 600;
word-wrap: break-word;
}
.dashboard-desc {
margin-top: 18px;
@ -180,3 +181,26 @@
}
}
}
@media (max-width: 768px) {
.page-dashboard {
.dashboard-wrapper {
max-width: 86%;
max-height: 96%;
.dashboard-block {
display: block;
margin-top: 10px;
> li {
margin: 0 0 10px;
padding: 8px 12px;
}
}
.dashboard-title {
margin-top: 36px;
}
}
.download-app {
display: none;
}
}
}

View File

@ -530,3 +530,19 @@
border-radius: 20px 20px 0 0 !important;
}
}
@media (max-width: 768px) {
.page-file {
.file-wrapper {
.file-head {
margin: 24px 24px 16px;
}
.file-navigator {
margin: 0 24px 0;
}
.file-table {
margin: 16px 24px 24px;
}
}
}
}

View File

@ -111,3 +111,11 @@
z-index: 1;
}
}
@media (max-width: 768px) {
.page-login {
.download-app {
display: none;
}
}
}

View File

@ -241,4 +241,38 @@
overflow: auto;
}
}
.manage-mini-menu {
display: none;
}
}
@media (max-width: 768px) {
.page-manage {
.manage-box-menu {
position: fixed;
z-index: 49;
left: 0;
top: 0;
bottom: 0;
width: 100%;
transform: translateX(-120%);
&.show768-menu {
transform: translateX(0);
}
}
.manage-mini-menu {
display: flex;
align-items: center;
justify-content: center;
width: 46px;
height: 42px;
font-size: 22px;
background-color: #ffffff;
white-space: nowrap;
border-radius: 4px;
box-shadow: 0 0 50px rgba(0, 0, 0, 0.3);
cursor: pointer;
}
}
}

View File

@ -261,6 +261,13 @@
height: 100%;
display: flex;
position: relative;
.dialog-wrapper {
.dialog-footer {
.dialog-back {
display: none;
}
}
}
.dialog-no {
flex: 1;
display: flex;
@ -287,3 +294,51 @@
}
}
}
@media (max-width: 768px) {
.page-messenger {
.messenger-wrapper {
.messenger-select {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
max-width: none;
background-color: #ffffff;
z-index: 48;
transition: all 0.2s;
transform: translateX(-120%);
&.show768-menu {
transform: translateX(0);
}
}
.messenger-msg {
.dialog-wrapper {
.dialog-title {
height: 54px;
align-items: center;
}
.dialog-footer {
position: relative;
.dialog-back {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 64px;
z-index: 1;
font-size: 26px;
display: flex;
align-items: center;
justify-content: center;
}
.dialog-input {
width: calc(100% - 44px);
}
}
}
}
}
}
}

View File

@ -17,3 +17,16 @@
flex-shrink: 0;
}
}
@media (max-width: 768px) {
.page-project {
.project-dialog {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
max-width: none;
}
}
}

View File

@ -13,10 +13,14 @@
display: flex;
align-items: center;
> h1 {
flex: 1;
color: #333333;
font-size: 28px;
font-weight: 600;
}
.setting-more {
display: none;
}
}
}
}
@ -24,7 +28,7 @@
flex: 1;
height: 0;
display: flex;
margin-bottom: 16px;
padding-bottom: 16px;
.setting-menu {
width: 200px;
flex-shrink: 0;
@ -99,10 +103,14 @@
.ivu-select-selection {
max-width: 460px;
}
.ivu-form {
overflow: auto;
}
.form-tip {
color: #999999;
}
.setting-color {
min-width: 400px;
max-width: 600px;
margin-bottom: 12px;
> div {
@ -151,3 +159,42 @@
}
}
}
@media (max-width: 768px) {
.page-setting {
.setting-head {
.setting-titbox {
.setting-title {
.setting-more {
display: flex;
font-size: 24px;
width: 42px;
height: 42px;
align-items: center;
justify-content: center;
}
}
}
}
.setting-box {
position: relative;
.setting-menu {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 9;
transition: all 0.2s;
background-color: #ffffff;
transform: translateX(-120%);
&.show768-menu {
transform: translateX(0);
}
> ul {
padding: 12px 32px;
}
}
}
}
}

View File

@ -187,7 +187,7 @@
{"CN": "列表不存在","EN": "List does not exist","TC": "列表不存在","KM": "បញ្ជីមិនមានទេ","TH": "ไม่มีรายการ","KO": "목록이 없습니다","JA": "リストが存在しません"},
{"CN": "今日待完成","EN": "Today's stay","TC": "今日待完成","KM": "ការស្នាក់នៅថ្ងៃនេះ","TH": "วันนี้การเข้าพัก","KO": "오늘의 체재","JA": "今日の滞在"},
{"CN": "会员不存在","EN": "Member does not exist","TC": "會員不存在","KM": "សមាជិកមិនមានទេ","TH": "สมาชิกไม่มีอยู่","KO": "회원이 없습니다","JA": "メンバーは存在しません"},
{"CN": "欢迎您,%","EN": "Welcome,%","TC": "歡迎您,%","KM": "សូមស្វាគមន៍,%","TH": "ยินดีต้อนรับ,%","KO": "어서 오십시오,%","JA": "ようこそ、%"},
{"CN": "欢迎您,%","EN": "Welcome, %","TC": "歡迎您,%","KM": "សូមស្វាគមន៍,%","TH": "ยินดีต้อนรับ,%","KO": "어서 오십시오,%","JA": "ようこそ、%"},
{"CN": "归档的项目","EN": "Archive project","TC": "歸檔的項目","KM": "គម្រោងប័ណ្ណសារ","TH": "โครงการเก็บถาวร","KO": "아카이브 프로젝트","JA": "アーカイブプロジェクト"},
{"CN": "归档的任务","EN": "Archive task","TC": "歸檔的任務","KM": "ភារកិច្ចប័ណ្ណសារ","TH": "งานเก็บถาวร","KO": "아카이브 작업","JA": "アーカイブタスク"},
{"CN": "登录验证码","EN": "Login verification code","TC": "登錄驗證碼","KM": "ការចូលកូដផ្ទៀងផ្ទាត់","TH": "รหัสยืนยันการเข้าสู่ระบบ","KO": "로그인 확인 코드","JA": "ログイン検証コード"},
@ -432,10 +432,11 @@
{"CN": "本周","EN": "This week","TC": "本週","KM": "ស​ប្តា​ហ៍​នេះ","TH": "ในสัปดาห์นี้","KO": "이번 주","JA": "今週"},
{"CN": "本月","EN": "This month","TC": "本月","KM": "ខែ​នេះ","TH": "เดือนนี้","KO": "이번 달","JA": "今月"},
{"CN": "保存","EN": "Save","TC": "保存","KM": "សរេង្គាហ","TH": "บันทึก","KO": "저장","JA": "セーブ"},
{"CN": "%天","EN": "%day","TC": "%天","KM": "% ថ្ងៃ","TH": "%วัน","KO": "% 일","JA": "%日"},
{"CN": "%日","EN": "%day","TC": "%日","KM": "%ថ្ងៃ","TH": "%วัน","KO": "% 일","JA": "%日"},
{"CN": "%天","EN": "%day","TC": "%天","KM": "%ថ្ងៃ","TH": "%วัน","KO": "% 일","JA": "%日"},
{"CN": "周","EN": "Week","TC": "週","KM": "សបា្ដហ៍","TH": "สัปดาห์","KO": "주","JA": "週間"},
{"CN": "月","EN": "Month","TC": "月","KM": "ខេ","TH": "เดือน","KO": "달","JA": "月"},
{"CN": "天","EN": "Day","TC": "天","KM": "ថៃ","TH": "วัน","KO": "일","JA": "日"},
{"CN": "日","EN": "Day","TC": "日","KM": "ថៃ","TH": "วัน","KO": "일","JA": "日"},
{"CN": "天","EN": "Day","TC": "天","KM": "ថៃ","TH": "วัน","KO": "일","JA": "日"},
]
})(window)