mirror of
https://github.com/kuaifan/dootask.git
synced 2026-01-26 20:48:12 +00:00
feat: 首页改版 - 100%
This commit is contained in:
parent
5e784f64a6
commit
e99f952c28
@ -54,6 +54,7 @@
|
||||
"stylus": "^0.59.0",
|
||||
"stylus-loader": "^7.1.0",
|
||||
"tinymce": "^5.10.3",
|
||||
"tui-calendar-hi": "^1.15.1-5",
|
||||
"view-design-hi": "^4.7.0-48",
|
||||
"vite": "^2.9.15",
|
||||
"vite-plugin-file-copy": "^1.0.0",
|
||||
@ -88,7 +89,6 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"@micro-zoe/micro-app": "^0.8.11",
|
||||
"@toast-ui/calendar": "^2.1.3"
|
||||
"@micro-zoe/micro-app": "^0.8.11"
|
||||
}
|
||||
}
|
||||
|
||||
1
public/images/empty/complete.svg
Normal file
1
public/images/empty/complete.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 31 KiB |
@ -33,7 +33,7 @@
|
||||
:taskView="false"
|
||||
:useCreationPopup="false"
|
||||
@beforeCreateSchedule="onBeforeCreateSchedule"
|
||||
@beforeUpdateEvent="onBeforeClickSchedule"
|
||||
@beforeClickSchedule="onBeforeClickSchedule"
|
||||
@beforeUpdateSchedule="onBeforeUpdateSchedule"
|
||||
disable-click/>
|
||||
</div>
|
||||
@ -137,7 +137,7 @@ export default {
|
||||
},
|
||||
|
||||
computed: {
|
||||
...mapState(['cacheUserBasic', 'cacheTasks', 'taskCompleteTemps', 'wsOpenNum', 'themeIsDark']),
|
||||
...mapState(['cacheTasks', 'taskCompleteTemps', 'wsOpenNum', 'themeIsDark']),
|
||||
|
||||
...mapGetters(['transforTasks']),
|
||||
|
||||
@ -175,15 +175,12 @@ export default {
|
||||
start: $A.Date(data.start_at).toISOString(),
|
||||
end: $A.Date(data.end_at).toISOString(),
|
||||
color: "#515a6e",
|
||||
backgroundColor: data.color || '#E3EAFD',
|
||||
bgColor: data.color || '#E3EAFD',
|
||||
borderColor: data.p_color,
|
||||
priority: '1122',
|
||||
priority: '',
|
||||
preventClick: true,
|
||||
preventCheckHide: true,
|
||||
isChecked: !!data.complete_at,
|
||||
attendees: false,
|
||||
isReadOnly: false,
|
||||
state: '',
|
||||
//
|
||||
complete_at: data.complete_at,
|
||||
start_at: data.start_at,
|
||||
@ -208,18 +205,17 @@ export default {
|
||||
}
|
||||
if (data.complete_at) {
|
||||
task.color = "#c3c2c2"
|
||||
task.backgroundColor = "#f3f3f3"
|
||||
task.bgColor = "#f3f3f3"
|
||||
task.borderColor = "#e3e3e3"
|
||||
} else if (data.overdue) {
|
||||
task.title = `[${this.$L('超期')}] ${task.title}`
|
||||
task.color = "#f56c6c"
|
||||
task.backgroundColor = data.color || "#fef0f0"
|
||||
task.bgColor = data.color || "#fef0f0"
|
||||
task.priority+= `<span class="overdue">${this.$L('超期未完成')}</span>`;
|
||||
}
|
||||
if (!task.borderColor) {
|
||||
task.borderColor = task.backgroundColor;
|
||||
task.borderColor = task.bgColor;
|
||||
}
|
||||
task.state = task.priority
|
||||
return task;
|
||||
});
|
||||
}
|
||||
@ -318,11 +314,6 @@ export default {
|
||||
},
|
||||
|
||||
onBeforeClickSchedule(event) {
|
||||
// calendar.updateEvent(event.id, event.calendarId, change);
|
||||
console.log(2222);
|
||||
this.$store.dispatch("openTask", event.event)
|
||||
return;
|
||||
console.log(event)
|
||||
const {type, schedule} = event;
|
||||
let data = this.cacheTasks.find(({id}) => id === schedule.id);
|
||||
if (!data) {
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<div ref="tuiCalendar" class="calendar-wrapper"></div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import 'tui-date-picker/dist/tui-date-picker.css';
|
||||
// import 'tui-time-picker/dist/tui-time-picker.css';
|
||||
import '@toast-ui/calendar/dist/toastui-calendar.css';
|
||||
import Calendar from '@toast-ui/calendar';
|
||||
// import Calendar from 'tui-calendar-hi';
|
||||
import 'tui-date-picker/dist/tui-date-picker.css';
|
||||
import 'tui-time-picker/dist/tui-time-picker.css';
|
||||
import 'tui-calendar-hi/dist/tui-calendar-hi.css'
|
||||
import Calendar from 'tui-calendar-hi';
|
||||
|
||||
export default {
|
||||
name: 'Calendar',
|
||||
@ -152,51 +152,41 @@ export default {
|
||||
},
|
||||
isReadOnly(newValue) {
|
||||
this.calendarInstance.setOptions({isReadOnly: newValue});
|
||||
}
|
||||
},
|
||||
windowPortrait: {
|
||||
handler(v) {
|
||||
this.resetRender()
|
||||
},
|
||||
immediate: true
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
let dayNames = [
|
||||
this.$L('{日}'),
|
||||
this.$L('{一}'),
|
||||
this.$L('{二}'),
|
||||
this.$L('{三}'),
|
||||
this.$L('{四}'),
|
||||
this.$L('{五}'),
|
||||
this.$L('{六}')
|
||||
]
|
||||
this.calendarInstance = new Calendar(this.$refs.tuiCalendar, {
|
||||
defaultView: this.view,
|
||||
week: {
|
||||
taskView: this.taskView,
|
||||
dayNames: dayNames,
|
||||
},
|
||||
month: {
|
||||
dayNames: dayNames,
|
||||
},
|
||||
taskView: this.taskView,
|
||||
scheduleView: this.scheduleView,
|
||||
theme: this.theme,
|
||||
template: this.template,
|
||||
week: this.week,
|
||||
month: this.month,
|
||||
calendars: this.calendars,
|
||||
useCreationPopup: this.useCreationPopup,
|
||||
useDetailPopup: this.useDetailPopup,
|
||||
timezone: this.timezones,
|
||||
timezones: this.timezones,
|
||||
disableDblClick: this.disableDblClick,
|
||||
disableClick: this.disableClick,
|
||||
usageStatistics: this.usageStatistics,
|
||||
// isReadOnly: true,
|
||||
});
|
||||
// this.calendarInstance.on('beforeUpdateEvent', ( event ) => {
|
||||
// console.log(event); // EventObject
|
||||
// });
|
||||
this.calendarInstance.on('beforeDeleteEvent', ( event ) => {
|
||||
console.log(event); // EventObject
|
||||
isReadOnly: this.isReadOnly,
|
||||
usageStatistics: this.usageStatistics
|
||||
});
|
||||
this.addEventListeners();
|
||||
this.reflectSchedules();
|
||||
//
|
||||
window.addEventListener('resize',this.resetRender);
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.calendarInstance.off();
|
||||
this.calendarInstance.destroy();
|
||||
window.removeEventListener('resize',this.resetRender);
|
||||
},
|
||||
methods: {
|
||||
addEventListeners() {
|
||||
@ -206,7 +196,7 @@ export default {
|
||||
},
|
||||
reflectSchedules() {
|
||||
if (this.schedules.length > 0) {
|
||||
this.calendarInstance.createEvents(this.schedules)
|
||||
this.invoke('createSchedules', this.schedules);
|
||||
}
|
||||
},
|
||||
getRootElement() {
|
||||
@ -216,8 +206,19 @@ export default {
|
||||
return this.calendarInstance;
|
||||
},
|
||||
resetRender() {
|
||||
this.calendarInstance.clear();
|
||||
this.reflectSchedules();
|
||||
if(this.calendarInstance){
|
||||
this.calendarInstance.clear();
|
||||
this.reflectSchedules();
|
||||
}
|
||||
},
|
||||
invoke(methodName, ...args) {
|
||||
let result;
|
||||
|
||||
if (this.calendarInstance[methodName]) {
|
||||
result = this.calendarInstance[methodName](...args);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -10,63 +10,61 @@
|
||||
</ButtonGroup>
|
||||
<Button class="calendar-header-back" size="small" @click="nowMonth">{{$L('今天')}}</Button>
|
||||
</div>
|
||||
<Scrollbar class="calendar-content">
|
||||
<div class="calendar-content" @scroll="handleScroll">
|
||||
<transition name="slide-up">
|
||||
<table class="calendar-table" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{$L('日')}}</th>
|
||||
<th>{{$L('一')}}</th>
|
||||
<th>{{$L('二')}}</th>
|
||||
<th>{{$L('三')}}</th>
|
||||
<th>{{$L('四')}}</th>
|
||||
<th>{{$L('五')}}</th>
|
||||
<th>{{$L('六')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="item in dateArray">
|
||||
<template v-for="data in item">
|
||||
<td v-if="data.month" :class="{today: data.today}">
|
||||
<ETooltip max-width="auto" :disabled="true">
|
||||
<div slot="content" v-html="getTimes(data.date)"></div>
|
||||
<div @click="onDayClick(data)" class="item-day">
|
||||
<div>{{data.day}}</div>
|
||||
<i v-if="isCheck(data)" class="badge"></i>
|
||||
</div>
|
||||
</ETooltip>
|
||||
</td>
|
||||
<td v-else class="disabled">
|
||||
<div class="calendar-content">
|
||||
<transition name="slide-up">
|
||||
<table class="calendar-table" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{$L('日')}}</th>
|
||||
<th>{{$L('一')}}</th>
|
||||
<th>{{$L('二')}}</th>
|
||||
<th>{{$L('三')}}</th>
|
||||
<th>{{$L('四')}}</th>
|
||||
<th>{{$L('五')}}</th>
|
||||
<th>{{$L('六')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="item in dateArray">
|
||||
<template v-for="data in item">
|
||||
<td v-if="data.month" :class="{today: data.today}">
|
||||
<ETooltip max-width="auto" :disabled="true">
|
||||
<div slot="content" v-html="getTimes(data.date)"></div>
|
||||
<div @click="onDayClick(data)" class="item-day">
|
||||
<div>{{data.day}}</div>
|
||||
<i v-if="isCheck(data)" class="badge"></i>
|
||||
</div>
|
||||
</td>
|
||||
</template>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</transition>
|
||||
<div v-if="loadIng" class="calendar-loading">
|
||||
<Loading/>
|
||||
</div>
|
||||
<!-- -->
|
||||
<div class="calendar-tui">
|
||||
<Calendar style="height: 100%;"
|
||||
ref="cal"
|
||||
:view="calendarView"
|
||||
:theme="calendarTheme"
|
||||
:template="calendarTemplate"
|
||||
:schedules="list"
|
||||
:taskView="false"
|
||||
:useCreationPopup="false"
|
||||
@beforeCreateSchedule="onBeforeCreateSchedule"
|
||||
@beforeClickSchedule="onBeforeClickSchedule"
|
||||
@beforeUpdateSchedule="onBeforeUpdateSchedule"
|
||||
disable-click/>
|
||||
</div>
|
||||
</ETooltip>
|
||||
</td>
|
||||
<td v-else class="disabled">
|
||||
<div @click="onDayClick(data)" class="item-day">
|
||||
<div>{{data.day}}</div>
|
||||
</div>
|
||||
</td>
|
||||
</template>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</transition>
|
||||
<div v-if="loadIng" class="calendar-loading">
|
||||
<Loading/>
|
||||
</div>
|
||||
</Scrollbar>
|
||||
<!-- -->
|
||||
<div class="calendar-tui">
|
||||
<Calendar style="height:calc(100% - 7px);"
|
||||
ref="cal"
|
||||
:view="calendarView"
|
||||
:theme="calendarTheme"
|
||||
:template="calendarTemplate"
|
||||
:schedules="list"
|
||||
:taskView="false"
|
||||
:useCreationPopup="false"
|
||||
@beforeCreateSchedule="onBeforeCreateSchedule"
|
||||
@beforeClickSchedule="onBeforeClickSchedule"
|
||||
@beforeUpdateSchedule="onBeforeUpdateSchedule"
|
||||
disable-click/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@ -158,7 +156,7 @@ export default {
|
||||
start: $A.Date(data.start_at).toISOString(),
|
||||
end: $A.Date(data.end_at).toISOString(),
|
||||
color: "#515a6e",
|
||||
backgroundColor: data.color || '#E3EAFD',
|
||||
bgColor: data.color || '#E3EAFD',
|
||||
borderColor: data.p_color,
|
||||
priority: '',
|
||||
preventClick: true,
|
||||
@ -188,36 +186,30 @@ export default {
|
||||
}
|
||||
if (data.complete_at) {
|
||||
task.color = "#c3c2c2"
|
||||
task.backgroundColor = "#f3f3f3"
|
||||
task.bgColor = "#f3f3f3"
|
||||
task.borderColor = "#e3e3e3"
|
||||
} else if (data.overdue) {
|
||||
task.title = `[${this.$L('超期')}] ${task.title}`
|
||||
task.color = "#f56c6c"
|
||||
task.backgroundColor = data.color || "#fef0f0"
|
||||
task.bgColor = data.color || "#fef0f0"
|
||||
task.priority+= `<span class="overdue">${this.$L('超期未完成')}</span>`;
|
||||
}
|
||||
if (!task.borderColor) {
|
||||
task.borderColor = task.backgroundColor;
|
||||
task.borderColor = task.bgColor;
|
||||
}
|
||||
return task;
|
||||
});
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
handleScroll(event) {
|
||||
// 处理滚动事件
|
||||
if(event.target.scrollTop >10){
|
||||
this.showTable = false;
|
||||
console.log('滚动事件:', event.target.scrollTop);
|
||||
}
|
||||
},
|
||||
|
||||
isCheck(data){
|
||||
let time = new Date(data.date).getTime()
|
||||
return this.list.find(h=>{
|
||||
let start = new Date(h.start).getTime()
|
||||
let end = new Date(h.end).getTime()
|
||||
if(!h.start_at || !h.end_at){
|
||||
return false;
|
||||
}
|
||||
let start = new Date( h.start_at.split(' ')[0].replace(/-/g,'/') ).getTime()
|
||||
let end = new Date( h.end_at.split(' ')[0].replace(/-/g,'/') ).getTime()
|
||||
return start <= time && end >= time;
|
||||
})
|
||||
},
|
||||
|
||||
@ -1,11 +1,26 @@
|
||||
<template>
|
||||
<div class="page-dashboard" style="flex-direction: row;">
|
||||
<div class="page-dashboard">
|
||||
<PageTitle :title="$L('仪表盘')"/>
|
||||
<Alert v-if="warningMsg" class="dashboard-warning" type="warning" show-icon>
|
||||
<span @click="goForward({name: 'manage-setting-license'})">{{warningMsg}}</span>
|
||||
</Alert>
|
||||
<div class="dashboard-wrapper" :style="wrapperStyle">
|
||||
<div class="dashboard-hello">{{$L('欢迎您,' + userInfo.nickname)}}</div>
|
||||
<div class="dashboard-hello">
|
||||
<span class="tite">{{$L('欢迎您,' + userInfo.nickname)}}</span>
|
||||
<div class="dashboard-search">
|
||||
<Poptip v-model="showPoptip" disabled placement="bottom" width="250" :class="[searchKey ? 'has-value' : '', selectedId ? 'selected' : '']">
|
||||
<div @click="onSearchFocus" @mouseenter="onSearchFocus">
|
||||
<Input v-model="searchKey" ref="searchInput" size="large" suffix="ios-search" @on-change="onSearchChange" :placeholder="$L('搜索项目名称')" clearable/>
|
||||
</div>
|
||||
<template #content>
|
||||
<ul>
|
||||
<li v-for="project in searchProjectList" @click="onSearch(project)">{{ project.name }}</li>
|
||||
<li class="empty" v-if="searchProjectList.length == 0">{{ $L('无相关数据') }}</li>
|
||||
</ul>
|
||||
</template>
|
||||
</Poptip>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dashboard-desc">
|
||||
{{$L('以下是你当前的任务统计数据')}}
|
||||
<transition name="dashboard-load">
|
||||
@ -36,9 +51,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
<Scrollbar class="dashboard-list">
|
||||
<template
|
||||
v-for="column in columns"
|
||||
v-if="column.list.length > 0">
|
||||
<template v-for="column in columns" v-if="column.list.length > 0">
|
||||
<div :ref="`type_${column.type}`" class="dashboard-ref"></div>
|
||||
<div class="dashboard-title">{{column.title}}</div>
|
||||
<ul class="dashboard-ul">
|
||||
@ -81,9 +94,19 @@
|
||||
</li>
|
||||
</ul>
|
||||
</template>
|
||||
<template v-if="columns.length <= 0">
|
||||
<div class="nopage">
|
||||
<div class="nopage-icon">
|
||||
<img :src="$A.apiUrl(`../images/empty/complete.svg`)">
|
||||
</div>
|
||||
<div class="nopage-text">
|
||||
{{ $L('哇!你真棒!所有任务都出色完成了!') }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</Scrollbar>
|
||||
</div>
|
||||
<div v-if="1" style="width: 35%;min-width:400px;height: 100%;border-left: 1px solid #F4F5F7;">
|
||||
<div v-if="!windowPortrait" class="dashboard-calendar" style="">
|
||||
<HomeCalendar/>
|
||||
</div>
|
||||
</div>
|
||||
@ -107,6 +130,13 @@ export default {
|
||||
dashboard: 'today',
|
||||
|
||||
warningMsg: '',
|
||||
|
||||
searchKey: '',
|
||||
searchTimeout: null,
|
||||
showPoptip: false,
|
||||
searchKeyLoading: 0,
|
||||
selectedId: 0,
|
||||
selectedKey: '',
|
||||
}
|
||||
},
|
||||
|
||||
@ -123,7 +153,7 @@ export default {
|
||||
},
|
||||
|
||||
computed: {
|
||||
...mapState(['userInfo', 'userIsAdmin', 'cacheTasks', 'taskCompleteTemps', 'loadDashboardTasks']),
|
||||
...mapState(['userInfo', 'userIsAdmin', 'cacheTasks', 'taskCompleteTemps', 'loadDashboardTasks', 'cacheProjects', 'loadProjects']),
|
||||
|
||||
...mapGetters(['dashboardTask', 'assistTask', 'transforTasks']),
|
||||
|
||||
@ -131,6 +161,9 @@ export default {
|
||||
const list = [];
|
||||
['today', 'overdue', 'all'].some(type => {
|
||||
let data = this.transforTasks(this.dashboardTask[type]);
|
||||
if (this.selectedId) {
|
||||
data = data.filter(item => item.project_id == this.selectedId )
|
||||
}
|
||||
list.push({
|
||||
type,
|
||||
title: this.getTitle(type),
|
||||
@ -142,7 +175,7 @@ export default {
|
||||
list.push({
|
||||
type: 'assist',
|
||||
title: this.getTitle('assist'),
|
||||
list: this.assistTask.sort((a, b) => {
|
||||
list: this.assistTask.filter(item => (item.project_id == this.selectedId || !this.selectedId) ).sort((a, b) => {
|
||||
return $A.Date(a.end_at || "2099-12-31 23:59:59") - $A.Date(b.end_at || "2099-12-31 23:59:59");
|
||||
})
|
||||
})
|
||||
@ -159,13 +192,41 @@ export default {
|
||||
'max-height': 'calc(100% - 50px)'
|
||||
} : null
|
||||
},
|
||||
|
||||
searchProjectList(){
|
||||
if (!this.searchKey){
|
||||
return []
|
||||
}
|
||||
const {searchKey, cacheProjects} = this;
|
||||
const data = $A.cloneJSON(cacheProjects).sort((a, b) => {
|
||||
if (a.top_at || b.top_at) {
|
||||
return $A.Date(b.top_at) - $A.Date(a.top_at);
|
||||
}
|
||||
return b.id - a.id;
|
||||
});
|
||||
return data.filter(item => $A.strExists(`${item.name}`, searchKey));
|
||||
},
|
||||
},
|
||||
|
||||
watch: {
|
||||
windowActive(active) {
|
||||
this.loadInterval(active)
|
||||
this.loadLicense(active);
|
||||
}
|
||||
},
|
||||
searchKey(val){
|
||||
this.showPoptip = val ? true : false;
|
||||
if(val != this.selectedKey){
|
||||
this.selectedKey = '';
|
||||
this.selectedId = 0;
|
||||
}
|
||||
//
|
||||
if (!val) return;
|
||||
setTimeout(() => {
|
||||
if (this.searchKey == val) {
|
||||
this.searchProject();
|
||||
}
|
||||
}, 600);
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
@ -239,7 +300,51 @@ export default {
|
||||
this.warningMsg = '';
|
||||
})
|
||||
}, 1500)
|
||||
}
|
||||
},
|
||||
|
||||
searchProject() {
|
||||
setTimeout(() => {
|
||||
this.searchKeyLoading++;
|
||||
}, 1000)
|
||||
this.$store.dispatch("getProjects", {
|
||||
keys: {
|
||||
name: this.searchKey
|
||||
}
|
||||
}).finally(_ => {
|
||||
this.searchKeyLoading--;
|
||||
});
|
||||
},
|
||||
|
||||
onSearch(project){
|
||||
this.searchKey = project.name;
|
||||
this.selectedKey = project.name;
|
||||
this.selectedId = project.id;
|
||||
this.$nextTick(()=>{
|
||||
this.showPoptip = false;
|
||||
})
|
||||
},
|
||||
|
||||
onSearchFocus() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.searchInput.focus({
|
||||
cursor: "end"
|
||||
});
|
||||
})
|
||||
},
|
||||
|
||||
onSearchChange() {
|
||||
this.searchTimeout && clearTimeout(this.searchTimeout);
|
||||
if (this.searchKey.trim() != '') {
|
||||
this.searchTimeout = setTimeout(() => {
|
||||
this.loadIng++;
|
||||
this.$store.dispatch("searchFiles", this.searchKey.trim()).then(() => {
|
||||
this.loadIng--;
|
||||
}).catch(() => {
|
||||
this.loadIng--;
|
||||
});
|
||||
}, 600)
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<ProjectPanel/>
|
||||
<ProjectDialog/>
|
||||
</template>
|
||||
<div v-else class="page-project-empty">
|
||||
<div v-else-if="!windowPortrait" class="page-project-empty">
|
||||
<div><i class="taskfont"></i></div>
|
||||
<span>{{ $L('选择一个项目查看更多任务') }}</span>
|
||||
</div>
|
||||
|
||||
@ -26,4 +26,5 @@
|
||||
@import "update-log";
|
||||
@import "task-exist-tips";
|
||||
@import "project-menu";
|
||||
@import "calendar";
|
||||
@import "home-calendar";
|
||||
|
||||
162
resources/assets/sass/pages/components/calendar.scss
vendored
Normal file
162
resources/assets/sass/pages/components/calendar.scss
vendored
Normal file
@ -0,0 +1,162 @@
|
||||
.calendar-wrapper {
|
||||
flex: 1;
|
||||
position: relative;
|
||||
&:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 2px;
|
||||
background-color: #ffffff;
|
||||
z-index: 1;
|
||||
}
|
||||
.tui-full-calendar-popup {
|
||||
box-shadow: none;
|
||||
.tui-full-calendar-section-header {
|
||||
.tui-full-calendar-ic-checkbox-checked {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAhFBMVEUAAACLz3CLz3CLz3CKzm6Gy2+Lz3CLz3CL0HCLz3CLz3CLz3CLz3CMz3GLz3CKz3CLz3CL0HCJ0G+KznCN0HCL0HCLz3CKz3CLz3CLz3CLz3CMz3CLz3CLz3GL0XCL0HCN0XKLz3CLz3CMz3CLz3CM0HCM0G+FzHCLz3CKz3CMz3CLz3Bod5CFAAAAK3RSTlMA18RAOQ3s8+Pc0rmyq3tpiUwTgBnovyDMjmNSRjUvJQX5yKB0WisKppuUFLaY7gAAAotJREFUeNrtm+FymkAUhc8KqIAgSkyUtkmsmqa97/9+HWeSudpCd8qZ7E0m+73A9/1gxmXx4IK0nbipvDFTN2lT9JDVToLh6gx/sHQSFLfEFZUEp8IFczFgrv5CTChe/TsxYvfy/IkZy7M/c2KGywDUYkgNIBdDciARUxI0YkqDiZgygRNTHKZiyhRiTAyIATEgBsSAGBADYsAnCJgdmtIywKUAOrsA94QzJyKA95/pbALcPV7piADGryzDB+Rnv3IkAhi/UhMBjF9pQwbk3/A3JRXA+7GjAng/DqEC5v3+dMYE8P6nQsIEzFOPnw7g/QpC+R8K4QJ4f5iAzaA/TMAm6fdvZQgY+wW2fn9A0a66Bee/2xLH8kp/Rr1MB/3jAxaP0ALCPzagzPBCM9r/XcYH3K4BLfD4vw75xwdMbqB4CmaD/vEB2ztc0RD+MQHFg+c85fffDPv9AbPUd6Lz+ydCBDyjh1//6WcCGngK1L8a8lMBJTwFfj8XIC16+SnX7Af9bIDUngLSrwFEwaD/VogA5YheDj7/Wv1MgL9g/8XjpwNk+c8Cyq8BYwqePX46QOkGCmi/BowrqFi/Bvg4wYv6y7e4Kz4Rfj5AnzY/WSlcwHAB5+cD9ivKzwfIbEX4qQA99RB+NkDfO4b5sRAigHjzpP0C6u6D9wuo2z/eL+DvXx8Zv4C4gVd/qABxCeFnApQT5+cDpOP8fICcLv2VxbfjlQZUNh+vU/XbBIj6jQLm9wDWlZgFyOaYHJ3Ix/gDQwyIATEgBsSAGODBfuBgPvEwH7m0YkqLVExJYfsQuPcwdjOf+5kPHoFKjKio0e3Hn90WUCyGt7v3Nf0GsjqXYOR1hh6SJsz8v0mg/AZRXmaRKXtJBwAAAABJRU5ErkJggg==);
|
||||
}
|
||||
}
|
||||
.tui-full-calendar-popup-container {
|
||||
word-break: break-all;
|
||||
border: 0;
|
||||
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
|
||||
border-radius: 6px;
|
||||
}
|
||||
.tui-full-calendar-arrow-top .tui-full-calendar-popup-arrow-border {
|
||||
top: -8px;
|
||||
border-bottom-color: rgba(217, 217, 217, .5);
|
||||
}
|
||||
}
|
||||
.tui-full-calendar-dropdown-menu {
|
||||
border-color: #e8e8e8;
|
||||
width: calc(100% - 14px);
|
||||
}
|
||||
.tui-full-calendar-popup-creation {
|
||||
.tui-full-calendar-icon {
|
||||
&.tui-full-calendar-ic-title,
|
||||
&.tui-full-calendar-calendar-dot {
|
||||
display: none;
|
||||
}
|
||||
&.tui-full-calendar-ic-date {
|
||||
background-image: url("data:image/svg+xml;base64,PHN2ZyB0PSIxNjIzODU5NjcwNjA3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE2Mzg4IiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTk2MCAxMjhIODMzYzAtNTMtNDMtOTYtOTYtOTZoLTE2Yy01MyAwLTk2IDQzLTk2IDk2SDQwMGMwLTI2LjUtMTAuNy01MC41LTI4LjEtNjcuOUMzNTQuNSA0Mi43IDMzMC41IDMyIDMwNCAzMmgtMTZjLTUzIDAtOTYgNDMtOTYgOTZINjRjLTM1LjMgMC02NCAyOC42LTY0IDY0djczNmMwIDM1LjMgMjguNyA2NCA2NCA2NGg4OTZjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTkyYzAtMzUuNC0yOC43LTY0LTY0LTY0eiBtLTI3MSA4YzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDB2ODBjMCAyMi4xLTE3LjkgNDAtNDAgNDAtMTEgMC0yMS00LjUtMjguMy0xMS43QzY5My41IDIzNyA2ODkgMjI3IDY4OSAyMTZ2LTgweiBtLTQzMyAwYzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDB2ODBjMCAyMi4xLTE3LjkgNDAtNDAgNDAtMTEgMC0yMS00LjUtMjguMy0xMS43QzI2MC41IDIzNyAyNTYgMjI3IDI1NiAyMTZ2LTgweiBtNzA0IDc2MGMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDQ4aDg5NnY0NDh6IiBwLWlkPSIxNjM4OSIgZmlsbD0iIzUxNTE1MSI+PC9wYXRoPjwvc3ZnPg==");
|
||||
background-size: contain;
|
||||
}
|
||||
}
|
||||
.tui-full-calendar-content {
|
||||
padding-left: 0;
|
||||
}
|
||||
.tui-full-calendar-popup-section {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 10px;
|
||||
.tui-full-calendar-popup-section-item {
|
||||
height: 36px;
|
||||
line-height: 34px;
|
||||
border-color: #e8e8e8;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.tui-full-calendar-popup-section-item input {
|
||||
height: 34px;
|
||||
}
|
||||
}
|
||||
.tui-full-calendar-section-title {
|
||||
width: 100%;
|
||||
input {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.tui-full-calendar-section-start-date,
|
||||
.tui-full-calendar-section-end-date {
|
||||
width: 210px;
|
||||
.tui-full-calendar-content {
|
||||
padding-left: 8px;
|
||||
}
|
||||
}
|
||||
.tui-full-calendar-popup-location,
|
||||
.tui-full-calendar-section-private,
|
||||
.tui-full-calendar-section-allday,
|
||||
.tui-full-calendar-section-state {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.tui-full-calendar-popup-task {
|
||||
.priority {
|
||||
color: #ffffff;
|
||||
padding: 2px 4px;
|
||||
border-radius: 4px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
.overdue {
|
||||
color: #f5222d;
|
||||
background: #fff1f0;
|
||||
border: 1px solid #ffa39e;
|
||||
padding: 1px 3px;
|
||||
border-radius: 4px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
.tui-full-calendar-calendar-dot,
|
||||
.tui-full-calendar-ic-priority {
|
||||
opacity: 0;
|
||||
}
|
||||
.tui-full-calendar-ic-edit {
|
||||
top: -2px;
|
||||
background-image: url("data:image/svg+xml;base64,PHN2ZyB0PSIxNjIzODU5MzY4MTg5IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjExMTkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNODMzLjQyODU3MTY4IDYySDE5MC41NzE0MjgzMmExMjguNTcxNDI4MzIgMTI4LjU3MTQyODMyIDAgMCAwLTEyOC41NzE0MjgzMiAxMjguNTcxNDI4MzJ2NjQyLjg1NzE0MzM2YTEyOC41NzE0MjgzMiAxMjguNTcxNDI4MzIgMCAwIDAgMTI4LjU3MTQyODMyIDEyOC41NzE0MjgzMmg2NDIuODU3MTQzMzZhMTI4LjU3MTQyODMyIDEyOC41NzE0MjgzMiAwIDAgMCAxMjguNTcxNDI4MzItMTI4LjU3MTQyODMyVjE5MC41NzE0MjgzMmExMjguNTcxNDI4MzIgMTI4LjU3MTQyODMyIDAgMCAwLTEyOC41NzE0MjgzMi0xMjguNTcxNDI4MzJ6IG02NC4yODU3MTQxNiA3NzEuNDI4NTcxNjhhNjQuMjg1NzE0MTYgNjQuMjg1NzE0MTYgMCAwIDEtNjQuMjg1NzE0MTcgNjQuMjg1NzE0MTZIMTkwLjU3MTQyODMyYTY0LjI4NTcxNDE2IDY0LjI4NTcxNDE2IDAgMCAxLTY0LjI4NTcxNDE2LTY0LjI4NTcxNDE2VjE5MC41NzE0MjgzMmE2NC4yODU3MTQxNiA2NC4yODU3MTQxNiAwIDAgMSA2NC4yODU3MTQxNy02NC4yODU3MTQxNmg2NDIuODU3MTQzMzVhNjQuMjg1NzE0MTYgNjQuMjg1NzE0MTYgMCAwIDEgNjQuMjg1NzE0MTYgNjQuMjg1NzE0MTd6IiBwLWlkPSIxMTIwIiBmaWxsPSIjNTE1MTUxIj48L3BhdGg+PHBhdGggZD0iTTE5MC41NzE0MjgzMiAyNTQuODU3MTQyNDhoNjQuMjg1NzE0MTZ2NjQuMjg1NzE1MDRIMTkwLjU3MTQyODMyek0zMTkuMTQyODU3NTIgMjU0Ljg1NzE0MjQ4aDQ1MHY2NC4yODU3MTUwNEgzMTkuMTQyODU3NTJ6TTE5MC41NzE0MjgzMiA0NDcuNzE0Mjg1ODRoNjQuMjg1NzE0MTZ2NjQuMjg1NzE0MTZIMTkwLjU3MTQyODMyek0zMTkuMTQyODU3NTIgNDQ3LjcxNDI4NTg0aDQ1MHY2NC4yODU3MTQxNkgzMTkuMTQyODU3NTJ6TTE5MC41NzE0MjgzMiA2NDAuNTcxNDI4MzJoNjQuMjg1NzE0MTZ2NjQuMjg1NzE0MTZIMTkwLjU3MTQyODMyek0zMTkuMTQyODU3NTIgNjQwLjU3MTQyODMyaDMyMS40Mjg1NzA4djY0LjI4NTcxNDE2SDMxOS4xNDI4NTc1MnoiIHAtaWQ9IjExMjEiIGZpbGw9IiM1MTUxNTEiPjwvcGF0aD48L3N2Zz4=");
|
||||
}
|
||||
.tui-full-calendar-ic-delete {
|
||||
top: -2px;
|
||||
background-image: url("data:image/svg+xml;base64,PHN2ZyB0PSIxNjIzODU5MzMwMTc2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9Ijc5MiIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjxwYXRoIGQ9Ik04OTIuMjg4IDI1NmgtMTkxLjE2OEEyMDIuMjQgMjAyLjI0IDAgMCAwIDUwOS42MzIgNjIuMDggMjAxLjIxNiAyMDEuMjE2IDAgMCAwIDMxOC44NDggMjU2SDEyOGMtMTguNjg4IDAtNjYuMDQ4LTQuMjI0LTY2LjA0OCAyNC43NjhDNjEuOTUyIDMyNy43NDQgMTA5LjM3NiAzMjAgMTI4IDMyMGg2NHY1MTJhMTQ2LjQ5NiAxNDYuNDk2IDAgMCAwIDEyNy40MjQgMTI4aDM4Mi4yNzJBMTUwLjAxNiAxNTAuMDE2IDAgMCAwIDgzMiA4MzJsLTMuMzkyLTUxMmg2NGMxOC4zNjggMCA2NS4wMjQgMS40NzIgNjUuMDI0LTM5Ljc0NEE3Mi4zODQgNzIuMzg0IDAgMCAwIDg5Mi4yODggMjU2ek01MDkuNjMyIDEyOC41MTJBMTM4LjE3NiAxMzguMTc2IDAgMCAxIDYzNy40NCAyNTZIMzgyLjU5MmExMzcuOTIgMTM3LjkyIDAgMCAxIDEyNy4wNC0xMjcuNDg4ek03NjggODMyYTk3Ljk4NCA5Ny45ODQgMCAwIDEtNjYuODggNjRIMzE4Ljg0OGE5My41NjggOTMuNTY4IDAgMCAxLTY0LTY0VjMyMEg3Njh2NTEyeiBtLTM4NS40MDgtNjRWNTEyYzAtMTguNDk2IDAuOTYtNjAuOTkyIDM2LjczNi02MC45OTIgMjcuMzI4IDAgMjYuNDk2IDQzLjAwOCAyNi45NDQgNjAuOTkydjI1NmMwIDE4LjQ5Ni02LjQgMjAuMDMyLTI0Ljk2IDIwLjAzMnMtMzguNzItMS41MzYtMzguNzItMjAuMDMyeiBtMTkxLjE2OCAwVjUxMmE2NCA2NCAwIDAgMSAyMy44MDgtNjAuOTkyYzQyLjQzMiAwIDM5LjM2IDQzLjAwOCAzOS44NzIgNjAuOTkydjI1NmMwIDE4LjQ5Ni0xOS41ODQgMjAuMDMyLTM3Ljk1MiAyMC4wMzJzLTI1Ljc5Mi0xLjUzNi0yNS43OTItMjAuMDMyeiIgcC1pZD0iNzkzIiBmaWxsPSIjNTE1MTUxIj48L3BhdGg+PC9zdmc+");
|
||||
}
|
||||
.tui-full-calendar-popup-detail-item-separate {
|
||||
padding-left: 22px;
|
||||
}
|
||||
}
|
||||
.tui-datepicker {
|
||||
border-color: #e8e8e8;
|
||||
.tui-calendar {
|
||||
th,
|
||||
td {
|
||||
height: 32px;
|
||||
}
|
||||
.tui-calendar-prev-month.tui-calendar-date,
|
||||
.tui-calendar-next-month.tui-calendar-date {
|
||||
visibility: visible;
|
||||
}
|
||||
}
|
||||
.tui-datepicker-body .tui-timepicker,
|
||||
.tui-datepicker-footer .tui-timepicker {
|
||||
padding: 16px 46px 16px 47px;
|
||||
}
|
||||
}
|
||||
.tui-full-calendar-week-container{
|
||||
min-height: 100px;
|
||||
}
|
||||
}
|
||||
|
||||
body.window-portrait {
|
||||
.calendar-wrapper {
|
||||
.tui-full-calendar-popup {
|
||||
font-weight: normal;
|
||||
}
|
||||
.tui-full-calendar-section-button {
|
||||
> button {
|
||||
.tui-full-calendar-icon {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background-size: 14px;
|
||||
}
|
||||
.tui-full-calendar-content {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@media (max-width: 640px) {
|
||||
.calendar-wrapper {
|
||||
.tui-full-calendar-popup-arrow {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -6,14 +6,12 @@
|
||||
border-radius: 3px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 32px 0;
|
||||
overflow: auto;
|
||||
|
||||
.calendar-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
padding: 0 24px;
|
||||
.calendar-header-menu {
|
||||
position: relative;
|
||||
flex: 1;
|
||||
@ -130,141 +128,21 @@
|
||||
.calendar-tui{
|
||||
overflow: auto;
|
||||
flex: 1;
|
||||
margin-top: 22px;
|
||||
margin-top: 30px;
|
||||
border-top: 1px solid #F2F2F2;
|
||||
// .tui-full-calendar-vlayout-area>div:nth-child(3){
|
||||
// height: 300px !important;
|
||||
// }
|
||||
// .tui-full-calendar-dayname-layout{
|
||||
// display: none;
|
||||
// }
|
||||
// .tui-full-calendar-left,.tui-full-calendar-timegrid-left{
|
||||
// width: 45px !important;
|
||||
// }
|
||||
// .tui-full-calendar-timegrid-right{
|
||||
// margin-left: 45px !important;
|
||||
// }
|
||||
// .tui-full-calendar-popup {
|
||||
// box-shadow: none;
|
||||
// margin-left: 5px;
|
||||
// .tui-full-calendar-section-header {
|
||||
// .tui-full-calendar-ic-checkbox-checked {
|
||||
// background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAhFBMVEUAAACLz3CLz3CLz3CKzm6Gy2+Lz3CLz3CL0HCLz3CLz3CLz3CLz3CMz3GLz3CKz3CLz3CL0HCJ0G+KznCN0HCL0HCLz3CKz3CLz3CLz3CLz3CMz3CLz3CLz3GL0XCL0HCN0XKLz3CLz3CMz3CLz3CM0HCM0G+FzHCLz3CKz3CMz3CLz3Bod5CFAAAAK3RSTlMA18RAOQ3s8+Pc0rmyq3tpiUwTgBnovyDMjmNSRjUvJQX5yKB0WisKppuUFLaY7gAAAotJREFUeNrtm+FymkAUhc8KqIAgSkyUtkmsmqa97/9+HWeSudpCd8qZ7E0m+73A9/1gxmXx4IK0nbipvDFTN2lT9JDVToLh6gx/sHQSFLfEFZUEp8IFczFgrv5CTChe/TsxYvfy/IkZy7M/c2KGywDUYkgNIBdDciARUxI0YkqDiZgygRNTHKZiyhRiTAyIATEgBsSAGBADYsAnCJgdmtIywKUAOrsA94QzJyKA95/pbALcPV7piADGryzDB+Rnv3IkAhi/UhMBjF9pQwbk3/A3JRXA+7GjAng/DqEC5v3+dMYE8P6nQsIEzFOPnw7g/QpC+R8K4QJ4f5iAzaA/TMAm6fdvZQgY+wW2fn9A0a66Bee/2xLH8kp/Rr1MB/3jAxaP0ALCPzagzPBCM9r/XcYH3K4BLfD4vw75xwdMbqB4CmaD/vEB2ztc0RD+MQHFg+c85fffDPv9AbPUd6Lz+ydCBDyjh1//6WcCGngK1L8a8lMBJTwFfj8XIC16+SnX7Af9bIDUngLSrwFEwaD/VogA5YheDj7/Wv1MgL9g/8XjpwNk+c8Cyq8BYwqePX46QOkGCmi/BowrqFi/Bvg4wYv6y7e4Kz4Rfj5AnzY/WSlcwHAB5+cD9ivKzwfIbEX4qQA99RB+NkDfO4b5sRAigHjzpP0C6u6D9wuo2z/eL+DvXx8Zv4C4gVd/qABxCeFnApQT5+cDpOP8fICcLv2VxbfjlQZUNh+vU/XbBIj6jQLm9wDWlZgFyOaYHJ3Ix/gDQwyIATEgBsSAGODBfuBgPvEwH7m0YkqLVExJYfsQuPcwdjOf+5kPHoFKjKio0e3Hn90WUCyGt7v3Nf0GsjqXYOR1hh6SJsz8v0mg/AZRXmaRKXtJBwAAAABJRU5ErkJggg==);
|
||||
// }
|
||||
// }
|
||||
// .tui-full-calendar-popup-container {
|
||||
// border: 0;
|
||||
// box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
|
||||
// border-radius: 6px;
|
||||
// }
|
||||
// .tui-full-calendar-arrow-top .tui-full-calendar-popup-arrow-border {
|
||||
// top: -8px;
|
||||
// border-bottom-color: rgba(217, 217, 217, .5);
|
||||
// }
|
||||
// }
|
||||
// .tui-full-calendar-dropdown-menu {
|
||||
// border-color: #e8e8e8;
|
||||
// width: calc(100% - 14px);
|
||||
// }
|
||||
// .tui-full-calendar-popup-creation {
|
||||
// .tui-full-calendar-icon {
|
||||
// &.tui-full-calendar-ic-title,
|
||||
// &.tui-full-calendar-calendar-dot {
|
||||
// display: none;
|
||||
// }
|
||||
// &.tui-full-calendar-ic-date {
|
||||
// background-image: url("data:image/svg+xml;base64,PHN2ZyB0PSIxNjIzODU5NjcwNjA3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE2Mzg4IiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTk2MCAxMjhIODMzYzAtNTMtNDMtOTYtOTYtOTZoLTE2Yy01MyAwLTk2IDQzLTk2IDk2SDQwMGMwLTI2LjUtMTAuNy01MC41LTI4LjEtNjcuOUMzNTQuNSA0Mi43IDMzMC41IDMyIDMwNCAzMmgtMTZjLTUzIDAtOTYgNDMtOTYgOTZINjRjLTM1LjMgMC02NCAyOC42LTY0IDY0djczNmMwIDM1LjMgMjguNyA2NCA2NCA2NGg4OTZjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTkyYzAtMzUuNC0yOC43LTY0LTY0LTY0eiBtLTI3MSA4YzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDB2ODBjMCAyMi4xLTE3LjkgNDAtNDAgNDAtMTEgMC0yMS00LjUtMjguMy0xMS43QzY5My41IDIzNyA2ODkgMjI3IDY4OSAyMTZ2LTgweiBtLTQzMyAwYzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDB2ODBjMCAyMi4xLTE3LjkgNDAtNDAgNDAtMTEgMC0yMS00LjUtMjguMy0xMS43QzI2MC41IDIzNyAyNTYgMjI3IDI1NiAyMTZ2LTgweiBtNzA0IDc2MGMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDQ4aDg5NnY0NDh6IiBwLWlkPSIxNjM4OSIgZmlsbD0iIzUxNTE1MSI+PC9wYXRoPjwvc3ZnPg==");
|
||||
// background-size: contain;
|
||||
// }
|
||||
// }
|
||||
// .tui-full-calendar-content {
|
||||
// padding-left: 0;
|
||||
// }
|
||||
// .tui-full-calendar-popup-section {
|
||||
// display: flex;
|
||||
// justify-content: space-between;
|
||||
// margin-bottom: 10px;
|
||||
// .tui-full-calendar-popup-section-item {
|
||||
// height: 36px;
|
||||
// line-height: 34px;
|
||||
// border-color: #e8e8e8;
|
||||
// border-radius: 4px;
|
||||
// }
|
||||
// .tui-full-calendar-popup-section-item input {
|
||||
// height: 34px;
|
||||
// }
|
||||
// }
|
||||
// .tui-full-calendar-section-title {
|
||||
// width: 100%;
|
||||
// input {
|
||||
// width: 100%;
|
||||
// }
|
||||
// }
|
||||
// .tui-full-calendar-section-start-date,
|
||||
// .tui-full-calendar-section-end-date {
|
||||
// width: 210px;
|
||||
// .tui-full-calendar-content {
|
||||
// padding-left: 8px;
|
||||
// }
|
||||
// }
|
||||
// .tui-full-calendar-popup-location,
|
||||
// .tui-full-calendar-section-private,
|
||||
// .tui-full-calendar-section-allday,
|
||||
// .tui-full-calendar-section-state {
|
||||
// display: none;
|
||||
// }
|
||||
// }
|
||||
// .tui-full-calendar-popup-task {
|
||||
// .priority {
|
||||
// color: #ffffff;
|
||||
// padding: 2px 4px;
|
||||
// border-radius: 4px;
|
||||
// margin-right: 6px;
|
||||
// }
|
||||
// .overdue {
|
||||
// color: #f5222d;
|
||||
// background: #fff1f0;
|
||||
// border: 1px solid #ffa39e;
|
||||
// padding: 1px 3px;
|
||||
// border-radius: 4px;
|
||||
// margin-right: 6px;
|
||||
// }
|
||||
// .tui-full-calendar-calendar-dot,
|
||||
// .tui-full-calendar-ic-priority {
|
||||
// opacity: 0;
|
||||
// }
|
||||
// .tui-full-calendar-ic-edit {
|
||||
// top: -2px;
|
||||
// background-image: url("data:image/svg+xml;base64,PHN2ZyB0PSIxNjIzODU5MzY4MTg5IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjExMTkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNODMzLjQyODU3MTY4IDYySDE5MC41NzE0MjgzMmExMjguNTcxNDI4MzIgMTI4LjU3MTQyODMyIDAgMCAwLTEyOC41NzE0MjgzMiAxMjguNTcxNDI4MzJ2NjQyLjg1NzE0MzM2YTEyOC41NzE0MjgzMiAxMjguNTcxNDI4MzIgMCAwIDAgMTI4LjU3MTQyODMyIDEyOC41NzE0MjgzMmg2NDIuODU3MTQzMzZhMTI4LjU3MTQyODMyIDEyOC41NzE0MjgzMiAwIDAgMCAxMjguNTcxNDI4MzItMTI4LjU3MTQyODMyVjE5MC41NzE0MjgzMmExMjguNTcxNDI4MzIgMTI4LjU3MTQyODMyIDAgMCAwLTEyOC41NzE0MjgzMi0xMjguNTcxNDI4MzJ6IG02NC4yODU3MTQxNiA3NzEuNDI4NTcxNjhhNjQuMjg1NzE0MTYgNjQuMjg1NzE0MTYgMCAwIDEtNjQuMjg1NzE0MTcgNjQuMjg1NzE0MTZIMTkwLjU3MTQyODMyYTY0LjI4NTcxNDE2IDY0LjI4NTcxNDE2IDAgMCAxLTY0LjI4NTcxNDE2LTY0LjI4NTcxNDE2VjE5MC41NzE0MjgzMmE2NC4yODU3MTQxNiA2NC4yODU3MTQxNiAwIDAgMSA2NC4yODU3MTQxNy02NC4yODU3MTQxNmg2NDIuODU3MTQzMzVhNjQuMjg1NzE0MTYgNjQuMjg1NzE0MTYgMCAwIDEgNjQuMjg1NzE0MTYgNjQuMjg1NzE0MTd6IiBwLWlkPSIxMTIwIiBmaWxsPSIjNTE1MTUxIj48L3BhdGg+PHBhdGggZD0iTTE5MC41NzE0MjgzMiAyNTQuODU3MTQyNDhoNjQuMjg1NzE0MTZ2NjQuMjg1NzE1MDRIMTkwLjU3MTQyODMyek0zMTkuMTQyODU3NTIgMjU0Ljg1NzE0MjQ4aDQ1MHY2NC4yODU3MTUwNEgzMTkuMTQyODU3NTJ6TTE5MC41NzE0MjgzMiA0NDcuNzE0Mjg1ODRoNjQuMjg1NzE0MTZ2NjQuMjg1NzE0MTZIMTkwLjU3MTQyODMyek0zMTkuMTQyODU3NTIgNDQ3LjcxNDI4NTg0aDQ1MHY2NC4yODU3MTQxNkgzMTkuMTQyODU3NTJ6TTE5MC41NzE0MjgzMiA2NDAuNTcxNDI4MzJoNjQuMjg1NzE0MTZ2NjQuMjg1NzE0MTZIMTkwLjU3MTQyODMyek0zMTkuMTQyODU3NTIgNjQwLjU3MTQyODMyaDMyMS40Mjg1NzA4djY0LjI4NTcxNDE2SDMxOS4xNDI4NTc1MnoiIHAtaWQ9IjExMjEiIGZpbGw9IiM1MTUxNTEiPjwvcGF0aD48L3N2Zz4=");
|
||||
// }
|
||||
// .tui-full-calendar-ic-delete {
|
||||
// top: -2px;
|
||||
// background-image: url("data:image/svg+xml;base64,PHN2ZyB0PSIxNjIzODU5MzMwMTc2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9Ijc5MiIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjxwYXRoIGQ9Ik04OTIuMjg4IDI1NmgtMTkxLjE2OEEyMDIuMjQgMjAyLjI0IDAgMCAwIDUwOS42MzIgNjIuMDggMjAxLjIxNiAyMDEuMjE2IDAgMCAwIDMxOC44NDggMjU2SDEyOGMtMTguNjg4IDAtNjYuMDQ4LTQuMjI0LTY2LjA0OCAyNC43NjhDNjEuOTUyIDMyNy43NDQgMTA5LjM3NiAzMjAgMTI4IDMyMGg2NHY1MTJhMTQ2LjQ5NiAxNDYuNDk2IDAgMCAwIDEyNy40MjQgMTI4aDM4Mi4yNzJBMTUwLjAxNiAxNTAuMDE2IDAgMCAwIDgzMiA4MzJsLTMuMzkyLTUxMmg2NGMxOC4zNjggMCA2NS4wMjQgMS40NzIgNjUuMDI0LTM5Ljc0NEE3Mi4zODQgNzIuMzg0IDAgMCAwIDg5Mi4yODggMjU2ek01MDkuNjMyIDEyOC41MTJBMTM4LjE3NiAxMzguMTc2IDAgMCAxIDYzNy40NCAyNTZIMzgyLjU5MmExMzcuOTIgMTM3LjkyIDAgMCAxIDEyNy4wNC0xMjcuNDg4ek03NjggODMyYTk3Ljk4NCA5Ny45ODQgMCAwIDEtNjYuODggNjRIMzE4Ljg0OGE5My41NjggOTMuNTY4IDAgMCAxLTY0LTY0VjMyMEg3Njh2NTEyeiBtLTM4NS40MDgtNjRWNTEyYzAtMTguNDk2IDAuOTYtNjAuOTkyIDM2LjczNi02MC45OTIgMjcuMzI4IDAgMjYuNDk2IDQzLjAwOCAyNi45NDQgNjAuOTkydjI1NmMwIDE4LjQ5Ni02LjQgMjAuMDMyLTI0Ljk2IDIwLjAzMnMtMzguNzItMS41MzYtMzguNzItMjAuMDMyeiBtMTkxLjE2OCAwVjUxMmE2NCA2NCAwIDAgMSAyMy44MDgtNjAuOTkyYzQyLjQzMiAwIDM5LjM2IDQzLjAwOCAzOS44NzIgNjAuOTkydjI1NmMwIDE4LjQ5Ni0xOS41ODQgMjAuMDMyLTM3Ljk1MiAyMC4wMzJzLTI1Ljc5Mi0xLjUzNi0yNS43OTItMjAuMDMyeiIgcC1pZD0iNzkzIiBmaWxsPSIjNTE1MTUxIj48L3BhdGg+PC9zdmc+");
|
||||
// }
|
||||
// .tui-full-calendar-popup-detail-item-separate {
|
||||
// padding-left: 22px;
|
||||
// }
|
||||
// }
|
||||
// .tui-datepicker {
|
||||
// border-color: #e8e8e8;
|
||||
// .tui-calendar {
|
||||
// th,
|
||||
// td {
|
||||
// height: 32px;
|
||||
// }
|
||||
// .tui-calendar-prev-month.tui-calendar-date,
|
||||
// .tui-calendar-next-month.tui-calendar-date {
|
||||
// visibility: visible;
|
||||
// }
|
||||
// }
|
||||
// .tui-datepicker-body .tui-timepicker,
|
||||
// .tui-datepicker-footer .tui-timepicker {
|
||||
// padding: 16px 46px 16px 47px;
|
||||
// }
|
||||
// }
|
||||
// .tui-full-calendar-popup-detail-item {
|
||||
// word-break: break-all;
|
||||
// }
|
||||
.tui-full-calendar-dayname-layout{
|
||||
display: none;
|
||||
}
|
||||
.tui-full-calendar-left,.tui-full-calendar-timegrid-left{
|
||||
width: 45px !important;
|
||||
}
|
||||
.tui-full-calendar-timegrid-right{
|
||||
margin-left: 45px !important;
|
||||
}
|
||||
.tui-full-calendar-popup {
|
||||
box-shadow: none;
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
153
resources/assets/sass/pages/page-calendar.scss
vendored
153
resources/assets/sass/pages/page-calendar.scss
vendored
@ -50,149 +50,6 @@
|
||||
flex-direction: column;
|
||||
padding: 0 48px 6px;
|
||||
overflow: hidden;
|
||||
.calendar-wrapper {
|
||||
flex: 1;
|
||||
position: relative;
|
||||
&:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 2px;
|
||||
background-color: #ffffff;
|
||||
z-index: 1;
|
||||
}
|
||||
.toastui-calendar-popup {
|
||||
box-shadow: none;
|
||||
.toastui-calendar-section-header {
|
||||
.toastui-calendar-ic-checkbox-checked {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAhFBMVEUAAACLz3CLz3CLz3CKzm6Gy2+Lz3CLz3CL0HCLz3CLz3CLz3CLz3CMz3GLz3CKz3CLz3CL0HCJ0G+KznCN0HCL0HCLz3CKz3CLz3CLz3CLz3CMz3CLz3CLz3GL0XCL0HCN0XKLz3CLz3CMz3CLz3CM0HCM0G+FzHCLz3CKz3CMz3CLz3Bod5CFAAAAK3RSTlMA18RAOQ3s8+Pc0rmyq3tpiUwTgBnovyDMjmNSRjUvJQX5yKB0WisKppuUFLaY7gAAAotJREFUeNrtm+FymkAUhc8KqIAgSkyUtkmsmqa97/9+HWeSudpCd8qZ7E0m+73A9/1gxmXx4IK0nbipvDFTN2lT9JDVToLh6gx/sHQSFLfEFZUEp8IFczFgrv5CTChe/TsxYvfy/IkZy7M/c2KGywDUYkgNIBdDciARUxI0YkqDiZgygRNTHKZiyhRiTAyIATEgBsSAGBADYsAnCJgdmtIywKUAOrsA94QzJyKA95/pbALcPV7piADGryzDB+Rnv3IkAhi/UhMBjF9pQwbk3/A3JRXA+7GjAng/DqEC5v3+dMYE8P6nQsIEzFOPnw7g/QpC+R8K4QJ4f5iAzaA/TMAm6fdvZQgY+wW2fn9A0a66Bee/2xLH8kp/Rr1MB/3jAxaP0ALCPzagzPBCM9r/XcYH3K4BLfD4vw75xwdMbqB4CmaD/vEB2ztc0RD+MQHFg+c85fffDPv9AbPUd6Lz+ydCBDyjh1//6WcCGngK1L8a8lMBJTwFfj8XIC16+SnX7Af9bIDUngLSrwFEwaD/VogA5YheDj7/Wv1MgL9g/8XjpwNk+c8Cyq8BYwqePX46QOkGCmi/BowrqFi/Bvg4wYv6y7e4Kz4Rfj5AnzY/WSlcwHAB5+cD9ivKzwfIbEX4qQA99RB+NkDfO4b5sRAigHjzpP0C6u6D9wuo2z/eL+DvXx8Zv4C4gVd/qABxCeFnApQT5+cDpOP8fICcLv2VxbfjlQZUNh+vU/XbBIj6jQLm9wDWlZgFyOaYHJ3Ix/gDQwyIATEgBsSAGODBfuBgPvEwH7m0YkqLVExJYfsQuPcwdjOf+5kPHoFKjKio0e3Hn90WUCyGt7v3Nf0GsjqXYOR1hh6SJsz8v0mg/AZRXmaRKXtJBwAAAABJRU5ErkJggg==);
|
||||
}
|
||||
}
|
||||
.toastui-calendar-popup-container {
|
||||
border: 0;
|
||||
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
|
||||
border-radius: 6px;
|
||||
}
|
||||
.toastui-calendar-arrow-top .toastui-calendar-popup-arrow-border {
|
||||
top: -8px;
|
||||
border-bottom-color: rgba(217, 217, 217, .5);
|
||||
}
|
||||
}
|
||||
.toastui-calendar-dropdown-menu {
|
||||
border-color: #e8e8e8;
|
||||
width: calc(100% - 14px);
|
||||
}
|
||||
.toastui-calendar-popup-creation {
|
||||
.toastui-calendar-icon {
|
||||
&.toastui-calendar-ic-title,
|
||||
&.toastui-calendar-calendar-dot {
|
||||
display: none;
|
||||
}
|
||||
&.toastui-calendar-ic-date {
|
||||
background-image: url("data:image/svg+xml;base64,PHN2ZyB0PSIxNjIzODU5NjcwNjA3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE2Mzg4IiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTk2MCAxMjhIODMzYzAtNTMtNDMtOTYtOTYtOTZoLTE2Yy01MyAwLTk2IDQzLTk2IDk2SDQwMGMwLTI2LjUtMTAuNy01MC41LTI4LjEtNjcuOUMzNTQuNSA0Mi43IDMzMC41IDMyIDMwNCAzMmgtMTZjLTUzIDAtOTYgNDMtOTYgOTZINjRjLTM1LjMgMC02NCAyOC42LTY0IDY0djczNmMwIDM1LjMgMjguNyA2NCA2NCA2NGg4OTZjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTkyYzAtMzUuNC0yOC43LTY0LTY0LTY0eiBtLTI3MSA4YzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDB2ODBjMCAyMi4xLTE3LjkgNDAtNDAgNDAtMTEgMC0yMS00LjUtMjguMy0xMS43QzY5My41IDIzNyA2ODkgMjI3IDY4OSAyMTZ2LTgweiBtLTQzMyAwYzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDB2ODBjMCAyMi4xLTE3LjkgNDAtNDAgNDAtMTEgMC0yMS00LjUtMjguMy0xMS43QzI2MC41IDIzNyAyNTYgMjI3IDI1NiAyMTZ2LTgweiBtNzA0IDc2MGMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDQ4aDg5NnY0NDh6IiBwLWlkPSIxNjM4OSIgZmlsbD0iIzUxNTE1MSI+PC9wYXRoPjwvc3ZnPg==");
|
||||
background-size: contain;
|
||||
}
|
||||
}
|
||||
.toastui-calendar-content {
|
||||
padding-left: 0;
|
||||
}
|
||||
.toastui-calendar-popup-section {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 10px;
|
||||
.toastui-calendar-popup-section-item {
|
||||
height: 36px;
|
||||
line-height: 34px;
|
||||
border-color: #e8e8e8;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.toastui-calendar-popup-section-item input {
|
||||
height: 34px;
|
||||
}
|
||||
}
|
||||
.toastui-calendar-section-title {
|
||||
width: 100%;
|
||||
input {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.toastui-calendar-section-start-date,
|
||||
.toastui-calendar-section-end-date {
|
||||
width: 210px;
|
||||
.toastui-calendar-content {
|
||||
padding-left: 8px;
|
||||
}
|
||||
}
|
||||
.toastui-calendar-popup-location,
|
||||
.toastui-calendar-section-private,
|
||||
.toastui-calendar-section-allday,
|
||||
.toastui-calendar-section-state {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.toastui-calendar-popup-container {
|
||||
word-break: break-all;
|
||||
.priority {
|
||||
color: #ffffff;
|
||||
padding: 2px 4px;
|
||||
border-radius: 4px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
.overdue {
|
||||
color: #f5222d;
|
||||
background: #fff1f0;
|
||||
border: 1px solid #ffa39e;
|
||||
padding: 1px 3px;
|
||||
border-radius: 4px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
.toastui-calendar-calendar-dot,
|
||||
.toastui-calendar-ic-priority {
|
||||
opacity: 0;
|
||||
}
|
||||
.toastui-calendar-ic-edit {
|
||||
top: -2px;
|
||||
background-image: url("data:image/svg+xml;base64,PHN2ZyB0PSIxNjIzODU5MzY4MTg5IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjExMTkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNODMzLjQyODU3MTY4IDYySDE5MC41NzE0MjgzMmExMjguNTcxNDI4MzIgMTI4LjU3MTQyODMyIDAgMCAwLTEyOC41NzE0MjgzMiAxMjguNTcxNDI4MzJ2NjQyLjg1NzE0MzM2YTEyOC41NzE0MjgzMiAxMjguNTcxNDI4MzIgMCAwIDAgMTI4LjU3MTQyODMyIDEyOC41NzE0MjgzMmg2NDIuODU3MTQzMzZhMTI4LjU3MTQyODMyIDEyOC41NzE0MjgzMiAwIDAgMCAxMjguNTcxNDI4MzItMTI4LjU3MTQyODMyVjE5MC41NzE0MjgzMmExMjguNTcxNDI4MzIgMTI4LjU3MTQyODMyIDAgMCAwLTEyOC41NzE0MjgzMi0xMjguNTcxNDI4MzJ6IG02NC4yODU3MTQxNiA3NzEuNDI4NTcxNjhhNjQuMjg1NzE0MTYgNjQuMjg1NzE0MTYgMCAwIDEtNjQuMjg1NzE0MTcgNjQuMjg1NzE0MTZIMTkwLjU3MTQyODMyYTY0LjI4NTcxNDE2IDY0LjI4NTcxNDE2IDAgMCAxLTY0LjI4NTcxNDE2LTY0LjI4NTcxNDE2VjE5MC41NzE0MjgzMmE2NC4yODU3MTQxNiA2NC4yODU3MTQxNiAwIDAgMSA2NC4yODU3MTQxNy02NC4yODU3MTQxNmg2NDIuODU3MTQzMzVhNjQuMjg1NzE0MTYgNjQuMjg1NzE0MTYgMCAwIDEgNjQuMjg1NzE0MTYgNjQuMjg1NzE0MTd6IiBwLWlkPSIxMTIwIiBmaWxsPSIjNTE1MTUxIj48L3BhdGg+PHBhdGggZD0iTTE5MC41NzE0MjgzMiAyNTQuODU3MTQyNDhoNjQuMjg1NzE0MTZ2NjQuMjg1NzE1MDRIMTkwLjU3MTQyODMyek0zMTkuMTQyODU3NTIgMjU0Ljg1NzE0MjQ4aDQ1MHY2NC4yODU3MTUwNEgzMTkuMTQyODU3NTJ6TTE5MC41NzE0MjgzMiA0NDcuNzE0Mjg1ODRoNjQuMjg1NzE0MTZ2NjQuMjg1NzE0MTZIMTkwLjU3MTQyODMyek0zMTkuMTQyODU3NTIgNDQ3LjcxNDI4NTg0aDQ1MHY2NC4yODU3MTQxNkgzMTkuMTQyODU3NTJ6TTE5MC41NzE0MjgzMiA2NDAuNTcxNDI4MzJoNjQuMjg1NzE0MTZ2NjQuMjg1NzE0MTZIMTkwLjU3MTQyODMyek0zMTkuMTQyODU3NTIgNjQwLjU3MTQyODMyaDMyMS40Mjg1NzA4djY0LjI4NTcxNDE2SDMxOS4xNDI4NTc1MnoiIHAtaWQ9IjExMjEiIGZpbGw9IiM1MTUxNTEiPjwvcGF0aD48L3N2Zz4=");
|
||||
}
|
||||
.toastui-calendar-ic-delete {
|
||||
top: -2px;
|
||||
background-image: url("data:image/svg+xml;base64,PHN2ZyB0PSIxNjIzODU5MzMwMTc2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9Ijc5MiIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjxwYXRoIGQ9Ik04OTIuMjg4IDI1NmgtMTkxLjE2OEEyMDIuMjQgMjAyLjI0IDAgMCAwIDUwOS42MzIgNjIuMDggMjAxLjIxNiAyMDEuMjE2IDAgMCAwIDMxOC44NDggMjU2SDEyOGMtMTguNjg4IDAtNjYuMDQ4LTQuMjI0LTY2LjA0OCAyNC43NjhDNjEuOTUyIDMyNy43NDQgMTA5LjM3NiAzMjAgMTI4IDMyMGg2NHY1MTJhMTQ2LjQ5NiAxNDYuNDk2IDAgMCAwIDEyNy40MjQgMTI4aDM4Mi4yNzJBMTUwLjAxNiAxNTAuMDE2IDAgMCAwIDgzMiA4MzJsLTMuMzkyLTUxMmg2NGMxOC4zNjggMCA2NS4wMjQgMS40NzIgNjUuMDI0LTM5Ljc0NEE3Mi4zODQgNzIuMzg0IDAgMCAwIDg5Mi4yODggMjU2ek01MDkuNjMyIDEyOC41MTJBMTM4LjE3NiAxMzguMTc2IDAgMCAxIDYzNy40NCAyNTZIMzgyLjU5MmExMzcuOTIgMTM3LjkyIDAgMCAxIDEyNy4wNC0xMjcuNDg4ek03NjggODMyYTk3Ljk4NCA5Ny45ODQgMCAwIDEtNjYuODggNjRIMzE4Ljg0OGE5My41NjggOTMuNTY4IDAgMCAxLTY0LTY0VjMyMEg3Njh2NTEyeiBtLTM4NS40MDgtNjRWNTEyYzAtMTguNDk2IDAuOTYtNjAuOTkyIDM2LjczNi02MC45OTIgMjcuMzI4IDAgMjYuNDk2IDQzLjAwOCAyNi45NDQgNjAuOTkydjI1NmMwIDE4LjQ5Ni02LjQgMjAuMDMyLTI0Ljk2IDIwLjAzMnMtMzguNzItMS41MzYtMzguNzItMjAuMDMyeiBtMTkxLjE2OCAwVjUxMmE2NCA2NCAwIDAgMSAyMy44MDgtNjAuOTkyYzQyLjQzMiAwIDM5LjM2IDQzLjAwOCAzOS44NzIgNjAuOTkydjI1NmMwIDE4LjQ5Ni0xOS41ODQgMjAuMDMyLTM3Ljk1MiAyMC4wMzJzLTI1Ljc5Mi0xLjUzNi0yNS43OTItMjAuMDMyeiIgcC1pZD0iNzkzIiBmaWxsPSIjNTE1MTUxIj48L3BhdGg+PC9zdmc+");
|
||||
}
|
||||
.toastui-calendar-popup-detail-item-separate {
|
||||
padding-left: 22px;
|
||||
}
|
||||
.toastui-calendar-ic-state-b{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.toastui-datepicker {
|
||||
border-color: #e8e8e8;
|
||||
.toastui-calendar {
|
||||
th,
|
||||
td {
|
||||
height: 32px;
|
||||
}
|
||||
.toastui-calendar-prev-month.toastui-calendar-date,
|
||||
.toastui-calendar-next-month.toastui-calendar-date {
|
||||
visibility: visible;
|
||||
}
|
||||
}
|
||||
.toastui-datepicker-body .toastui-timepicker,
|
||||
.toastui-datepicker-footer .toastui-timepicker {
|
||||
padding: 16px 46px 16px 47px;
|
||||
}
|
||||
}
|
||||
// 去除时间
|
||||
.toastui-calendar-weekday-event{
|
||||
.toastui-calendar-template-time{
|
||||
strong{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.calendar-menu {
|
||||
position: absolute;
|
||||
@ -224,17 +81,17 @@ body.window-portrait {
|
||||
padding: 0 24px 5px;
|
||||
user-select: none;
|
||||
.calendar-wrapper {
|
||||
.toastui-calendar-popup {
|
||||
.tui-full-calendar-popup {
|
||||
font-weight: normal;
|
||||
}
|
||||
.toastui-calendar-section-button {
|
||||
.tui-full-calendar-section-button {
|
||||
> button {
|
||||
.toastui-calendar-icon {
|
||||
.tui-full-calendar-icon {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background-size: 14px;
|
||||
}
|
||||
.toastui-calendar-content {
|
||||
.tui-full-calendar-content {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
@ -246,7 +103,7 @@ body.window-portrait {
|
||||
.page-calendar {
|
||||
.calendar-box {
|
||||
.calendar-wrapper {
|
||||
.toastui-calendar-popup-arrow {
|
||||
.tui-full-calendar-popup-arrow {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
161
resources/assets/sass/pages/page-dashboard.scss
vendored
161
resources/assets/sass/pages/page-dashboard.scss
vendored
@ -2,7 +2,7 @@
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #ffffff;
|
||||
@ -26,23 +26,107 @@
|
||||
max-height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
width: 1px;
|
||||
align-items: flex-start;
|
||||
height: 100%;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
padding: 32px 4%;
|
||||
|
||||
.dashboard-hello {
|
||||
display: flex;
|
||||
.tite{
|
||||
width: 1px;
|
||||
flex: 1;
|
||||
padding-right: 30px;
|
||||
height: 41px;
|
||||
padding-left: 2px;
|
||||
}
|
||||
.dashboard-search {
|
||||
width: 1px;
|
||||
flex-shrink: 0;
|
||||
margin-left: 22px;
|
||||
cursor: pointer;
|
||||
.ivu-poptip{
|
||||
float: right;
|
||||
margin-left: auto;
|
||||
.ivu-poptip-body{
|
||||
padding:8px;
|
||||
ul{
|
||||
li{
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
padding: 8px 10px;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
color: #999999;
|
||||
&:hover{
|
||||
color: #8FCE78;
|
||||
}
|
||||
&.selected{
|
||||
color: #8FCE78;
|
||||
}
|
||||
}
|
||||
.empty{
|
||||
text-align: center;
|
||||
color: #999999 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.ivu-input-wrapper {
|
||||
max-width: 100%;
|
||||
margin-left: auto;
|
||||
width: auto;
|
||||
transform: translateZ(0);
|
||||
.ivu-input {
|
||||
border-color: #dcdee2;
|
||||
width: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 38px;
|
||||
border-radius: 32px;
|
||||
transition: all 0.3s;
|
||||
font-size: 14px;
|
||||
}
|
||||
.ivu-input-suffix {
|
||||
width: 40px;
|
||||
i {
|
||||
width: 40px;
|
||||
color: $primary-text-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
.has-value,
|
||||
&:hover {
|
||||
.ivu-input-wrapper {
|
||||
.ivu-input {
|
||||
width: 250px;
|
||||
padding-left: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.selected{
|
||||
.ivu-input-wrapper {
|
||||
.ivu-input {
|
||||
color: #8FCE78;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
.dashboard-hello,
|
||||
.dashboard-desc ,
|
||||
.dashboard-block ,
|
||||
.dashboard-list .dashboard-title,
|
||||
.dashboard-list .dashboard-ul {
|
||||
width: 90%;
|
||||
max-width: 90%;
|
||||
margin: 0 30px;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.dashboard-hello {
|
||||
padding: 32px 12px 0;
|
||||
color: $primary-title-color;
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
@ -52,7 +136,6 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 18px;
|
||||
padding: 0 12px;
|
||||
color: #888888;
|
||||
font-size: 13px;
|
||||
.dashboard-load {
|
||||
@ -66,7 +149,6 @@
|
||||
}
|
||||
.dashboard-block {
|
||||
margin-top: 18px;
|
||||
padding: 0 12px;
|
||||
display: flex;
|
||||
> li {
|
||||
flex: 1;
|
||||
@ -123,7 +205,6 @@
|
||||
.dashboard-list {
|
||||
width: 100%;
|
||||
margin-top: 22px;
|
||||
padding-bottom: 32px;
|
||||
.dashboard-ref {
|
||||
height: 0;
|
||||
}
|
||||
@ -132,7 +213,6 @@
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
margin: 0 auto;
|
||||
padding: 0 12px;
|
||||
height: 46px;
|
||||
line-height: 46px;
|
||||
font-weight: 600;
|
||||
@ -141,7 +221,7 @@
|
||||
}
|
||||
.dashboard-ul {
|
||||
margin: 0 auto 18px;
|
||||
padding: 6px 12px 0;
|
||||
padding: 6px 0 0;
|
||||
overflow: hidden;
|
||||
> li {
|
||||
position: relative;
|
||||
@ -252,6 +332,18 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dashboard-calendar{
|
||||
width: 35%;
|
||||
min-width:400px;
|
||||
height: 100%;
|
||||
border-left: 1px solid #F4F5F7;
|
||||
padding: 32px 24px 24px;
|
||||
@media (max-width: 980px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.nopage {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
@ -260,8 +352,6 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
.nopage-icon {
|
||||
background-color: #f4f5f7;
|
||||
padding: 20px;
|
||||
border-radius: 50%;
|
||||
.ivu-icon {
|
||||
color: #d1d8dd;
|
||||
@ -271,9 +361,9 @@
|
||||
.nopage-text {
|
||||
margin-top: 16px;
|
||||
color: #bec6cc;
|
||||
background-color: #f4f5f7;
|
||||
padding: 4px 15px;
|
||||
border-radius: 14px;
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -310,6 +400,7 @@ body.window-portrait {
|
||||
.page-dashboard {
|
||||
.dashboard-wrapper {
|
||||
display: block;
|
||||
padding-top: 20px;
|
||||
.dashboard-hello,
|
||||
.dashboard-desc ,
|
||||
.dashboard-block ,
|
||||
@ -336,6 +427,46 @@ body.window-portrait {
|
||||
user-select: none;
|
||||
}
|
||||
}
|
||||
.dashboard-hello{
|
||||
position: relative;
|
||||
.tite{
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
.dashboard-search {
|
||||
.has-value,
|
||||
.selected,
|
||||
&:hover {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
.ivu-input-wrapper {
|
||||
.ivu-input {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.ivu-poptip,
|
||||
.ivu-poptip-rel,
|
||||
.ivu-poptip-rel .selected,
|
||||
.ivu-input-wrapper{
|
||||
height: 42px;
|
||||
width: 100%;
|
||||
.ivu-input {
|
||||
float: right;
|
||||
padding-left: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.ivu-poptip-popper{
|
||||
width: 90% !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
.nopage{
|
||||
margin-top: 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 31 KiB |
Loading…
x
Reference in New Issue
Block a user