适配 手机/平板端
This commit is contained in:
parent
cf92b0949c
commit
af28eaaace
@ -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",
|
||||
|
10104
public/css/app.css
10104
public/css/app.css
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,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
@ -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
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
1
public/js/build/260.js
Normal 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
@ -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}}]);
|
@ -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
@ -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
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
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
1
public/js/build/513.js
Normal file
File diff suppressed because one or more lines are too long
@ -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}}]);
|
@ -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
1
public/js/build/673.js
Normal 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
2
public/js/build/678.js
Normal file
File diff suppressed because one or more lines are too long
@ -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
1
public/js/build/738.js
Normal 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
@ -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
1
public/js/build/784.js
Normal file
File diff suppressed because one or more lines are too long
@ -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
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
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
@ -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 */
|
||||
|
@ -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
@ -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": "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)
|
||||
|
@ -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>
|
||||
|
259
resources/assets/js/components/DragBallComponent.vue
Normal file
259
resources/assets/js/components/DragBallComponent.vue
Normal 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>
|
@ -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);
|
||||
|
@ -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});
|
||||
},
|
||||
|
||||
|
@ -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};
|
||||
|
@ -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);
|
||||
|
@ -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>
|
||||
|
@ -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: {
|
||||
|
@ -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) {
|
||||
if (!hasOpenDialog) {
|
||||
return {};
|
||||
}
|
||||
return {
|
||||
minHeight: (innerHeight - (innerHeight > 900 ? 200 : 70) - 48) + 'px'
|
||||
}
|
||||
} else {
|
||||
return {};
|
||||
}
|
||||
},
|
||||
|
||||
expiresFormat() {
|
||||
@ -1095,7 +1098,14 @@ export default {
|
||||
this.$store.dispatch("saveTask", data);
|
||||
this.$store.dispatch("getDialogOne", data.dialog_id);
|
||||
this.$nextTick(() => {
|
||||
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}) => {
|
||||
|
@ -82,6 +82,8 @@ export default {
|
||||
this.columns = [
|
||||
{
|
||||
title: this.$L('ID'),
|
||||
minWidth: 50,
|
||||
maxWidth: 70,
|
||||
key: 'userid',
|
||||
},
|
||||
{
|
||||
|
@ -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;
|
||||
|
@ -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});
|
||||
},
|
||||
|
||||
|
@ -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");
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -126,6 +126,7 @@
|
||||
cursor: pointer;
|
||||
}
|
||||
.ivu-tag {
|
||||
flex-shrink: 0;
|
||||
margin-left: 10px;
|
||||
padding: 0 4px;
|
||||
height: 20px;
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -111,3 +111,11 @@
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.page-login {
|
||||
.download-app {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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": "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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user