no message
This commit is contained in:
parent
f034cc33fa
commit
c7dceb29aa
77
resources/assets/js/components/DrawerOverlay.vue
Normal file
77
resources/assets/js/components/DrawerOverlay.vue
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
<template>
|
||||||
|
<div :class="['drawer-overlay', placement, value ? 'overlay-visible' : 'overlay-hide']" @click="mask">
|
||||||
|
<div class="overlay-body" :style="bodyStyle">
|
||||||
|
<div class="overlay-close">
|
||||||
|
<a href="javascript:void(0)" @click.stop="close">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 26" fill="none" role="img" class="icon fill-current">
|
||||||
|
<path d="M8.28596 6.51819C7.7978 6.03003 7.00634 6.03003 6.51819 6.51819C6.03003 7.00634 6.03003 7.7978 6.51819 8.28596L11.2322 13L6.51819 17.714C6.03003 18.2022 6.03003 18.9937 6.51819 19.4818C7.00634 19.97 7.7978 19.97 8.28596 19.4818L13 14.7678L17.714 19.4818C18.2022 19.97 18.9937 19.97 19.4818 19.4818C19.97 18.9937 19.97 18.2022 19.4818 17.714L14.7678 13L19.4818 8.28596C19.97 7.7978 19.97 7.00634 19.4818 6.51819C18.9937 6.03003 18.2022 6.03003 17.714 6.51819L13 11.2322L8.28596 6.51819Z" fill="currentColor"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="overlay-content" @click.stop="">
|
||||||
|
<slot/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'DrawerOverlay',
|
||||||
|
props: {
|
||||||
|
value: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
maskClosable: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
placement: {
|
||||||
|
validator (value) {
|
||||||
|
return ['right', 'bottom'].includes(value)
|
||||||
|
},
|
||||||
|
default: 'bottom'
|
||||||
|
},
|
||||||
|
size: {
|
||||||
|
type: [Number, String],
|
||||||
|
default: "100%"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
bodyStyle() {
|
||||||
|
let size = parseInt(this.size);
|
||||||
|
size = size <= 100 ? `${size}%` : `${size}px`
|
||||||
|
if (this.placement == 'right') {
|
||||||
|
return {
|
||||||
|
width: size,
|
||||||
|
height: "100%"
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
width: "100%",
|
||||||
|
height: size,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
mask () {
|
||||||
|
if (this.maskClosable) {
|
||||||
|
this.close()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
this.$emit("input", !this.value)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -26,6 +26,7 @@
|
|||||||
import {mapState} from "vuex";
|
import {mapState} from "vuex";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
name: "OnlyOffice",
|
||||||
props: {
|
props: {
|
||||||
id: {
|
id: {
|
||||||
type: String,
|
type: String,
|
||||||
|
@ -130,28 +130,28 @@
|
|||||||
</Modal>
|
</Modal>
|
||||||
|
|
||||||
<!--查看所有团队-->
|
<!--查看所有团队-->
|
||||||
<Drawer
|
<DrawerOverlay
|
||||||
v-model="allUserShow"
|
v-model="allUserShow"
|
||||||
:width="900"
|
placement="right"
|
||||||
:title="$L('团队管理')">
|
:size="900">
|
||||||
<TeamManagement v-if="allUserShow"/>
|
<TeamManagement v-if="allUserShow"/>
|
||||||
</Drawer>
|
</DrawerOverlay>
|
||||||
|
|
||||||
<!--查看所有项目-->
|
<!--查看所有项目-->
|
||||||
<Drawer
|
<DrawerOverlay
|
||||||
v-model="allProjectShow"
|
v-model="allProjectShow"
|
||||||
:width="900"
|
placement="right"
|
||||||
:title="$L('所有项目')">
|
:size="900">
|
||||||
<ProjectManagement v-if="allProjectShow"/>
|
<ProjectManagement v-if="allProjectShow"/>
|
||||||
</Drawer>
|
</DrawerOverlay>
|
||||||
|
|
||||||
<!--查看归档项目-->
|
<!--查看归档项目-->
|
||||||
<Drawer
|
<DrawerOverlay
|
||||||
v-model="archivedProjectShow"
|
v-model="archivedProjectShow"
|
||||||
:width="900"
|
placement="right"
|
||||||
:title="$L('归档的项目')">
|
:size="900">
|
||||||
<ProjectArchived v-if="archivedProjectShow"/>
|
<ProjectArchived v-if="archivedProjectShow"/>
|
||||||
</Drawer>
|
</DrawerOverlay>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -162,9 +162,10 @@ import ProjectArchived from "./manage/components/ProjectArchived";
|
|||||||
import notificationKoro from "notification-koro1";
|
import notificationKoro from "notification-koro1";
|
||||||
import TeamManagement from "./manage/components/TeamManagement";
|
import TeamManagement from "./manage/components/TeamManagement";
|
||||||
import ProjectManagement from "./manage/components/ProjectManagement";
|
import ProjectManagement from "./manage/components/ProjectManagement";
|
||||||
|
import DrawerOverlay from "../components/DrawerOverlay";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {ProjectManagement, TeamManagement, ProjectArchived, TaskDetail},
|
components: {DrawerOverlay, ProjectManagement, TeamManagement, ProjectArchived, TaskDetail},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loadIng: 0,
|
loadIng: 0,
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="project-archived">
|
<div class="project-archived">
|
||||||
<div class="search-box auto">
|
<div class="archived-title">{{$L('归档的项目')}}</div>
|
||||||
|
<div class="search-container auto">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<div class="search-label">
|
<div class="search-label">
|
||||||
@ -17,7 +18,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<Table :columns="columns" :data="list" :no-data-text="$L(noText)"></Table>
|
<Table :columns="columns" :data="list" :no-data-text="$L(noText)"></Table>
|
||||||
<Page
|
<Page
|
||||||
class="page-box"
|
class="page-container"
|
||||||
:total="total"
|
:total="total"
|
||||||
:current="page"
|
:current="page"
|
||||||
:disabled="loadIng > 0"
|
:disabled="loadIng > 0"
|
||||||
|
@ -363,20 +363,20 @@
|
|||||||
</Modal>
|
</Modal>
|
||||||
|
|
||||||
<!--查看项目动态-->
|
<!--查看项目动态-->
|
||||||
<Drawer
|
<DrawerOverlay
|
||||||
v-model="logShow"
|
v-model="logShow"
|
||||||
:width="680"
|
placement="right"
|
||||||
:title="$L('项目动态')">
|
:size="768">
|
||||||
<ProjectLog v-if="logShow" :project-id="projectId"/>
|
<ProjectLog v-if="logShow" :project-id="projectId"/>
|
||||||
</Drawer>
|
</DrawerOverlay>
|
||||||
|
|
||||||
<!--查看归档任务-->
|
<!--查看归档任务-->
|
||||||
<Drawer
|
<DrawerOverlay
|
||||||
v-model="archivedTaskShow"
|
v-model="archivedTaskShow"
|
||||||
:width="680"
|
placement="right"
|
||||||
:title="$L('归档的任务')">
|
:size="768">
|
||||||
<TaskArchived v-if="archivedTaskShow" :project-id="projectId"/>
|
<TaskArchived v-if="archivedTaskShow" :project-id="projectId"/>
|
||||||
</Drawer>
|
</DrawerOverlay>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -390,9 +390,12 @@ import TaskAddSimple from "./TaskAddSimple";
|
|||||||
import TaskRow from "./TaskRow";
|
import TaskRow from "./TaskRow";
|
||||||
import TaskArchived from "./TaskArchived";
|
import TaskArchived from "./TaskArchived";
|
||||||
import ProjectLog from "./ProjectLog";
|
import ProjectLog from "./ProjectLog";
|
||||||
|
import DrawerOverlay from "../../../components/DrawerOverlay";
|
||||||
export default {
|
export default {
|
||||||
name: "ProjectList",
|
name: "ProjectList",
|
||||||
components: {ProjectLog, TaskArchived, TaskRow, Draggable, TaskAddSimple, UserInput, TaskAdd, TaskPriority},
|
components: {
|
||||||
|
DrawerOverlay,
|
||||||
|
ProjectLog, TaskArchived, TaskRow, Draggable, TaskAddSimple, UserInput, TaskAdd, TaskPriority},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
nowTime: Math.round(new Date().getTime() / 1000),
|
nowTime: Math.round(new Date().getTime() / 1000),
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="project-log">
|
<div class="project-log">
|
||||||
|
<div class="log-title">{{$L('项目动态')}}</div>
|
||||||
<ul class="logs-activity">
|
<ul class="logs-activity">
|
||||||
<li v-for="items in lists">
|
<li v-for="items in lists">
|
||||||
<div class="logs-date">{{logDate(items)}}</div>
|
<div class="logs-date">{{logDate(items)}}</div>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="project-management">
|
<div class="project-management">
|
||||||
<div class="search-box auto">
|
<div class="management-title">{{$L('所有项目')}}</div>
|
||||||
|
<div class="search-container auto">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<div class="search-label">
|
<div class="search-label">
|
||||||
@ -29,7 +30,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<Table :columns="columns" :data="list" :no-data-text="$L(noText)"></Table>
|
<Table :columns="columns" :data="list" :no-data-text="$L(noText)"></Table>
|
||||||
<Page
|
<Page
|
||||||
class="page-box"
|
class="page-container"
|
||||||
:total="total"
|
:total="total"
|
||||||
:current="page"
|
:current="page"
|
||||||
:disabled="loadIng > 0"
|
:disabled="loadIng > 0"
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="task-archived">
|
<div class="task-archived">
|
||||||
|
<div class="archived-title">{{$L('归档的任务')}}</div>
|
||||||
<Table :columns="columns" :data="list" :no-data-text="$L(noText)"></Table>
|
<Table :columns="columns" :data="list" :no-data-text="$L(noText)"></Table>
|
||||||
<Page
|
<Page
|
||||||
class="page-box"
|
class="page-container"
|
||||||
:total="total"
|
:total="total"
|
||||||
:current="page"
|
:current="page"
|
||||||
:disabled="loadIng > 0"
|
:disabled="loadIng > 0"
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="team-management">
|
<div class="team-management">
|
||||||
<div class="search-box">
|
<div class="management-title">{{$L('团队管理')}}</div>
|
||||||
|
<div class="search-container">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<div class="search-label">
|
<div class="search-label">
|
||||||
@ -45,7 +46,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<Table :columns="columns" :data="list" :no-data-text="$L(noText)"></Table>
|
<Table :columns="columns" :data="list" :no-data-text="$L(noText)"></Table>
|
||||||
<Page
|
<Page
|
||||||
class="page-box"
|
class="page-container"
|
||||||
:total="total"
|
:total="total"
|
||||||
:current="page"
|
:current="page"
|
||||||
:disabled="loadIng > 0"
|
:disabled="loadIng > 0"
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="tableMode" class="file-table">
|
<div v-if="tableMode" class="file-table" @contextmenu.prevent="handleRightClick">
|
||||||
<Table
|
<Table
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:data="fileList"
|
:data="fileList"
|
||||||
@ -194,30 +194,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
||||||
<!--查看修改文件-->
|
<!--查看/修改文件-->
|
||||||
<div :class="['shot-overlay', editShow ? 'overlay-visible' : 'overlay-hide']">
|
<DrawerOverlay v-model="editShow" class="page-file-drawer">
|
||||||
<div class="overlay-content">
|
|
||||||
<div class="shot-container">
|
|
||||||
<FileContent v-if="editShowNum > 0" :parent-show="editShow" :file="editInfo"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a href="javascript:void(0)" class="close-overlay" @click="editShow=false">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 26" fill="none" role="img" class="icon fill-current">
|
|
||||||
<path d="M8.28596 6.51819C7.7978 6.03003 7.00634 6.03003 6.51819 6.51819C6.03003 7.00634 6.03003 7.7978 6.51819 8.28596L11.2322 13L6.51819 17.714C6.03003 18.2022 6.03003 18.9937 6.51819 19.4818C7.00634 19.97 7.7978 19.97 8.28596 19.4818L13 14.7678L17.714 19.4818C18.2022 19.97 18.9937 19.97 19.4818 19.4818C19.97 18.9937 19.97 18.2022 19.4818 17.714L14.7678 13L19.4818 8.28596C19.97 7.7978 19.97 7.00634 19.4818 6.51819C18.9937 6.03003 18.2022 6.03003 17.714 6.51819L13 11.2322L8.28596 6.51819Z" fill="currentColor"></path>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- <Drawer
|
|
||||||
v-model="editShow"
|
|
||||||
placement="bottom"
|
|
||||||
:height="editHeight"
|
|
||||||
:mask-closable="false"
|
|
||||||
:mask-style="{backgroundColor:'rgba(0,0,0,0.7)'}"
|
|
||||||
class-name="page-file-drawer">
|
|
||||||
<FileContent v-if="editShowNum > 0" :parent-show="editShow" :file="editInfo"/>
|
<FileContent v-if="editShowNum > 0" :parent-show="editShow" :file="editInfo"/>
|
||||||
</Drawer>-->
|
</DrawerOverlay>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -225,12 +206,13 @@
|
|||||||
import {mapState} from "vuex";
|
import {mapState} from "vuex";
|
||||||
import {sortBy} from "lodash";
|
import {sortBy} from "lodash";
|
||||||
import UserInput from "../../components/UserInput";
|
import UserInput from "../../components/UserInput";
|
||||||
|
import DrawerOverlay from "../../components/DrawerOverlay";
|
||||||
|
|
||||||
const FileContent = () => import('./components/FileContent');
|
const FileContent = () => import('./components/FileContent');
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {UserInput, FileContent},
|
components: {DrawerOverlay, UserInput, FileContent},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loadIng: 0,
|
loadIng: 0,
|
||||||
@ -306,7 +288,6 @@ export default {
|
|||||||
|
|
||||||
editShow: false,
|
editShow: false,
|
||||||
editShowNum: 0,
|
editShowNum: 0,
|
||||||
editHeight: 0,
|
|
||||||
editInfo: {},
|
editInfo: {},
|
||||||
|
|
||||||
uploadDir: false,
|
uploadDir: false,
|
||||||
@ -326,7 +307,6 @@ export default {
|
|||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
this.tableHeight = window.innerHeight - 160;
|
this.tableHeight = window.innerHeight - 160;
|
||||||
this.editHeight = window.innerHeight - 40;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
activated() {
|
activated() {
|
||||||
@ -650,7 +630,6 @@ export default {
|
|||||||
this.searchKey = '';
|
this.searchKey = '';
|
||||||
this.pid = item.id;
|
this.pid = item.id;
|
||||||
} else {
|
} else {
|
||||||
this.editHeight = window.innerHeight - 40;
|
|
||||||
this.editInfo = item;
|
this.editInfo = item;
|
||||||
this.editShow = true;
|
this.editShow = true;
|
||||||
}
|
}
|
||||||
|
1
resources/assets/sass/components/_.scss
vendored
1
resources/assets/sass/components/_.scss
vendored
@ -1,5 +1,6 @@
|
|||||||
@import "auto-tip";
|
@import "auto-tip";
|
||||||
@import "circle";
|
@import "circle";
|
||||||
|
@import "drawer-overlay";
|
||||||
@import "img-update";
|
@import "img-update";
|
||||||
@import "loading";
|
@import "loading";
|
||||||
@import "scroller-y";
|
@import "scroller-y";
|
||||||
|
111
resources/assets/sass/components/drawer-overlay.scss
vendored
Normal file
111
resources/assets/sass/components/drawer-overlay.scss
vendored
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
.drawer-overlay {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
z-index: 1000;
|
||||||
|
box-sizing: border-box;
|
||||||
|
pointer-events: none;
|
||||||
|
background: rgba(0, 0, 0, 0.76);
|
||||||
|
outline: none;
|
||||||
|
opacity: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: flex-end;
|
||||||
|
|
||||||
|
.overlay-body {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
|
||||||
|
.overlay-close {
|
||||||
|
flex-shrink: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-end;
|
||||||
|
justify-content: flex-end;
|
||||||
|
> a {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
color: #dbdbde;
|
||||||
|
&:hover {
|
||||||
|
color: #fff
|
||||||
|
}
|
||||||
|
.icon {
|
||||||
|
width: 24px;
|
||||||
|
height: 24px
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.overlay-content {
|
||||||
|
flex: 1;
|
||||||
|
position: relative;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 18px 18px 0 0;
|
||||||
|
transform: translate(0, 15%) scale(0.98);
|
||||||
|
cursor: default;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.overlay-visible {
|
||||||
|
pointer-events: auto;
|
||||||
|
opacity: 1;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
transition: opacity 0.2s ease;
|
||||||
|
.overlay-body {
|
||||||
|
.overlay-content {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translate(0, 0) scale(1);
|
||||||
|
transition: opacity 0.2s ease, transform 0.3s ease;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.overlay-hide {
|
||||||
|
transition: opacity 0.2s ease;
|
||||||
|
.overlay-body {
|
||||||
|
.overlay-content {
|
||||||
|
transform: translate(0, 15%) scale(0.98);
|
||||||
|
transition: opacity 0.2s ease, transform 0.2s ease
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.right {
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: flex-end;
|
||||||
|
.overlay-body {
|
||||||
|
flex-direction: row;
|
||||||
|
.overlay-close {
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
.overlay-content {
|
||||||
|
transform: translate(15%, 0) scale(0.98);
|
||||||
|
border-radius: 18px 0 0 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.overlay-visible {
|
||||||
|
.overlay-body {
|
||||||
|
.overlay-content {
|
||||||
|
transform: translate(0, 0) scale(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.overlay-hide {
|
||||||
|
.overlay-body {
|
||||||
|
.overlay-content {
|
||||||
|
transform: translate(15%, 0) scale(0.98);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
4
resources/assets/sass/pages/common.scss
vendored
4
resources/assets/sass/pages/common.scss
vendored
@ -297,12 +297,12 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.page-box {
|
.page-container {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 20px 0;
|
padding: 20px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-box {
|
.search-container {
|
||||||
margin-bottom: 24px;
|
margin-bottom: 24px;
|
||||||
> ul {
|
> ul {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
@import "dialog-wrapper";
|
@import "dialog-wrapper";
|
||||||
@import "file-content";
|
@import "file-content";
|
||||||
|
@import "project-archived";
|
||||||
@import "project-dialog";
|
@import "project-dialog";
|
||||||
@import "project-list";
|
@import "project-list";
|
||||||
@import "project-log";
|
@import "project-log";
|
||||||
@import "project-management";
|
@import "project-management";
|
||||||
@import "task-add";
|
@import "task-add";
|
||||||
@import "task-add-simple";
|
@import "task-add-simple";
|
||||||
|
@import "task-archived";
|
||||||
@import "task-detail";
|
@import "task-detail";
|
||||||
@import "task-priority";
|
@import "task-priority";
|
||||||
@import "team-management";
|
@import "team-management";
|
||||||
|
16
resources/assets/sass/pages/components/project-archived.scss
vendored
Normal file
16
resources/assets/sass/pages/components/project-archived.scss
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
.project-archived {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
padding: 20px;
|
||||||
|
overflow: auto;
|
||||||
|
.archived-title {
|
||||||
|
color: #333333;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 500;
|
||||||
|
line-height: 1;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,18 @@
|
|||||||
.project-log {
|
.project-log {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
padding: 20px;
|
||||||
|
overflow: auto;
|
||||||
|
.log-title {
|
||||||
|
color: #333333;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 500;
|
||||||
|
line-height: 1;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
.logs-activity {
|
.logs-activity {
|
||||||
position: relative;
|
position: relative;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
|
@ -1,4 +1,18 @@
|
|||||||
.project-management {
|
.project-management {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
padding: 20px;
|
||||||
|
overflow: auto;
|
||||||
|
.management-title {
|
||||||
|
color: #333333;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 500;
|
||||||
|
line-height: 1;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
.project-name {
|
.project-name {
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
.ivu-tag {
|
.ivu-tag {
|
||||||
|
16
resources/assets/sass/pages/components/task-archived.scss
vendored
Normal file
16
resources/assets/sass/pages/components/task-archived.scss
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
.task-archived {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
padding: 20px;
|
||||||
|
overflow: auto;
|
||||||
|
.archived-title {
|
||||||
|
color: #333333;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 500;
|
||||||
|
line-height: 1;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,18 @@
|
|||||||
.team-management {
|
.team-management {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
padding: 20px;
|
||||||
|
overflow: auto;
|
||||||
|
.management-title {
|
||||||
|
color: #333333;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 500;
|
||||||
|
line-height: 1;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
.team-email {
|
.team-email {
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
.ivu-tag {
|
.ivu-tag {
|
||||||
|
72
resources/assets/sass/pages/page-file.scss
vendored
72
resources/assets/sass/pages/page-file.scss
vendored
@ -526,77 +526,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.page-file-drawer {
|
.page-file-drawer {
|
||||||
.ivu-drawer-content {
|
.overlay-content {
|
||||||
border-radius: 20px 20px 0 0 !important;
|
border-radius: 20px 20px 0 0 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.shot-overlay {
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
z-index: 1000;
|
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
position: fixed;
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
opacity: 0;
|
|
||||||
pointer-events: none;
|
|
||||||
background: rgba(0, 0, 0, 0.8);
|
|
||||||
overflow-y: hidden;
|
|
||||||
-webkit-overflow-scrolling: auto;
|
|
||||||
cursor: pointer;
|
|
||||||
&.overlay-visible {
|
|
||||||
pointer-events: auto;
|
|
||||||
opacity: 1;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
transition: opacity 0.2s ease;
|
|
||||||
.overlay-content {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0) scale(1);
|
|
||||||
transition: opacity 0.2s ease, transform 0.3s ease;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.overlay-hide {
|
|
||||||
transition: opacity 0.2s ease;
|
|
||||||
.overlay-content {
|
|
||||||
transform: translateY(15%) scale(0.98);
|
|
||||||
transition: opacity 0.2s ease, transform 0.2s ease
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&:focus {
|
|
||||||
outline: none
|
|
||||||
}
|
|
||||||
.overlay-content {
|
|
||||||
position: relative;
|
|
||||||
background: #fff;
|
|
||||||
margin-top: 40px;
|
|
||||||
border-radius: 12px 12px 0 0;
|
|
||||||
height: calc(100vh - 40px);
|
|
||||||
overflow-y: scroll;
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateY(15%) scale(0.98);
|
|
||||||
cursor: default
|
|
||||||
}
|
|
||||||
.close-overlay {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
color: #dbdbde;
|
|
||||||
z-index: 1;
|
|
||||||
&:hover {
|
|
||||||
color: #fff
|
|
||||||
}
|
|
||||||
.icon {
|
|
||||||
width: 24px;
|
|
||||||
height: 24px
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user