no message
This commit is contained in:
parent
0b4e1f3dee
commit
aad621bd84
@ -76,15 +76,15 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
...mapState(['userId', 'projects', 'tasks']),
|
...mapState(['userId', 'projects', 'tasks']),
|
||||||
|
|
||||||
...mapGetters(['myTasks', 'transforTasks']),
|
...mapGetters(['ownerTasks', 'transforTasks']),
|
||||||
|
|
||||||
list() {
|
list() {
|
||||||
const datas = this.transforTasks(this.myTasks.filter(({end_at}) => {
|
const datas = this.transforTasks(this.ownerTasks.filter(({end_at}) => {
|
||||||
return end_at;
|
return end_at;
|
||||||
}));
|
}));
|
||||||
return datas.map(data => {
|
return datas.map(data => {
|
||||||
let isAllday = $A.rightExists(data.start_at, "00:00:00") && $A.rightExists(data.end_at, "23:59:59")
|
const isAllday = $A.rightExists(data.start_at, "00:00:00") && $A.rightExists(data.end_at, "23:59:59")
|
||||||
let task = {
|
const task = {
|
||||||
id: data.id,
|
id: data.id,
|
||||||
calendarId: String(data.project_id),
|
calendarId: String(data.project_id),
|
||||||
title: data.name,
|
title: data.name,
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</li>
|
</li>
|
||||||
<li :class="['project-icon', projectParameters('chat') ? 'active' : '']" @click="$store.dispatch('toggleProjectParameters', 'chat')">
|
<li :class="['project-icon', projectParameter('chat') ? 'active' : '']" @click="$store.dispatch('toggleProjectParameter', 'chat')">
|
||||||
<Icon class="menu-icon" type="ios-chatbubbles" />
|
<Icon class="menu-icon" type="ios-chatbubbles" />
|
||||||
<Badge class="menu-badge" :count="msgUnread"></Badge>
|
<Badge class="menu-badge" :count="msgUnread"></Badge>
|
||||||
</li>
|
</li>
|
||||||
@ -53,15 +53,15 @@
|
|||||||
<div v-if="projectData.desc" class="project-subtitle">{{projectData.desc}}</div>
|
<div v-if="projectData.desc" class="project-subtitle">{{projectData.desc}}</div>
|
||||||
<div class="project-switch">
|
<div class="project-switch">
|
||||||
<div v-if="completedCount > 0" class="project-checkbox">
|
<div v-if="completedCount > 0" class="project-checkbox">
|
||||||
<Checkbox :value="projectParameters('completedTask')" @on-change="toggleCompleted">{{$L('显示已完成')}}</Checkbox>
|
<Checkbox :value="projectParameter('completedTask')" @on-change="toggleCompleted">{{$L('显示已完成')}}</Checkbox>
|
||||||
</div>
|
</div>
|
||||||
<div :class="['project-switch-button', !projectParameters('card') ? 'menu' : '']" @click="$store.dispatch('toggleProjectParameters', 'card')">
|
<div :class="['project-switch-button', !projectParameter('card') ? 'menu' : '']" @click="$store.dispatch('toggleProjectParameter', 'card')">
|
||||||
<div><i class="taskfont"></i></div>
|
<div><i class="taskfont"></i></div>
|
||||||
<div><i class="taskfont"></i></div>
|
<div><i class="taskfont"></i></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="projectParameters('card')" class="project-column">
|
<div v-if="projectParameter('card')" class="project-column">
|
||||||
<Draggable
|
<Draggable
|
||||||
:list="columnList"
|
:list="columnList"
|
||||||
:animation="150"
|
:animation="150"
|
||||||
@ -255,10 +255,10 @@
|
|||||||
</Row>
|
</Row>
|
||||||
</div>
|
</div>
|
||||||
<!--我的任务-->
|
<!--我的任务-->
|
||||||
<div :class="['project-table-body', !projectParameters('showMy') ? 'project-table-hide' : '']">
|
<div :class="['project-table-body', !projectParameter('showMy') ? 'project-table-hide' : '']">
|
||||||
<Row class="task-row">
|
<Row class="task-row">
|
||||||
<Col span="12" class="row-title">
|
<Col span="12" class="row-title">
|
||||||
<i class="taskfont" @click="$store.dispatch('toggleProjectParameters', 'showMy')"></i>
|
<i class="taskfont" @click="$store.dispatch('toggleProjectParameter', 'showMy')"></i>
|
||||||
<div class="row-h1">{{$L('我的任务')}}</div>
|
<div class="row-h1">{{$L('我的任务')}}</div>
|
||||||
<div class="row-num">({{myList.length}})</div>
|
<div class="row-num">({{myList.length}})</div>
|
||||||
</Col>
|
</Col>
|
||||||
@ -267,13 +267,13 @@
|
|||||||
<Col span="3"></Col>
|
<Col span="3"></Col>
|
||||||
<Col span="3"></Col>
|
<Col span="3"></Col>
|
||||||
</Row>
|
</Row>
|
||||||
<TaskRow v-if="projectParameters('showMy')" :list="transforTasks(myList)" open-key="my" @command="dropTask" @on-priority="addTaskOpen" fast-add-task/>
|
<TaskRow v-if="projectParameter('showMy')" :list="transforTasks(myList)" open-key="my" @command="dropTask" @on-priority="addTaskOpen" fast-add-task/>
|
||||||
</div>
|
</div>
|
||||||
<!--协助的任务-->
|
<!--协助的任务-->
|
||||||
<div v-if="helpList.length" :class="['project-table-body', !projectParameters('showHelp') ? 'project-table-hide' : '']">
|
<div v-if="helpList.length" :class="['project-table-body', !projectParameter('showHelp') ? 'project-table-hide' : '']">
|
||||||
<Row class="task-row">
|
<Row class="task-row">
|
||||||
<Col span="12" class="row-title">
|
<Col span="12" class="row-title">
|
||||||
<i class="taskfont" @click="$store.dispatch('toggleProjectParameters', 'showHelp')"></i>
|
<i class="taskfont" @click="$store.dispatch('toggleProjectParameter', 'showHelp')"></i>
|
||||||
<div class="row-h1">{{$L('协助的任务')}}</div>
|
<div class="row-h1">{{$L('协助的任务')}}</div>
|
||||||
<div class="row-num">({{helpList.length}})</div>
|
<div class="row-num">({{helpList.length}})</div>
|
||||||
</Col>
|
</Col>
|
||||||
@ -282,13 +282,13 @@
|
|||||||
<Col span="3"></Col>
|
<Col span="3"></Col>
|
||||||
<Col span="3"></Col>
|
<Col span="3"></Col>
|
||||||
</Row>
|
</Row>
|
||||||
<TaskRow v-if="projectParameters('showHelp')" :list="helpList" open-key="help" @command="dropTask" @on-priority="addTaskOpen"/>
|
<TaskRow v-if="projectParameter('showHelp')" :list="helpList" open-key="help" @command="dropTask" @on-priority="addTaskOpen"/>
|
||||||
</div>
|
</div>
|
||||||
<!--未完成任务-->
|
<!--未完成任务-->
|
||||||
<div v-if="projectData.task_num > 0" :class="['project-table-body', !projectParameters('showUndone') ? 'project-table-hide' : '']">
|
<div v-if="projectData.task_num > 0" :class="['project-table-body', !projectParameter('showUndone') ? 'project-table-hide' : '']">
|
||||||
<Row class="task-row">
|
<Row class="task-row">
|
||||||
<Col span="12" class="row-title">
|
<Col span="12" class="row-title">
|
||||||
<i class="taskfont" @click="$store.dispatch('toggleProjectParameters', 'showUndone')"></i>
|
<i class="taskfont" @click="$store.dispatch('toggleProjectParameter', 'showUndone')"></i>
|
||||||
<div class="row-h1">{{$L('未完成任务')}}</div>
|
<div class="row-h1">{{$L('未完成任务')}}</div>
|
||||||
<div class="row-num">({{unList.length}})</div>
|
<div class="row-num">({{unList.length}})</div>
|
||||||
</Col>
|
</Col>
|
||||||
@ -297,13 +297,13 @@
|
|||||||
<Col span="3"></Col>
|
<Col span="3"></Col>
|
||||||
<Col span="3"></Col>
|
<Col span="3"></Col>
|
||||||
</Row>
|
</Row>
|
||||||
<TaskRow v-if="projectParameters('showUndone')" :list="unList" open-key="undone" @command="dropTask" @on-priority="addTaskOpen"/>
|
<TaskRow v-if="projectParameter('showUndone')" :list="unList" open-key="undone" @command="dropTask" @on-priority="addTaskOpen"/>
|
||||||
</div>
|
</div>
|
||||||
<!--已完成任务-->
|
<!--已完成任务-->
|
||||||
<div v-if="projectData.task_num > 0" :class="['project-table-body', !projectParameters('showCompleted') ? 'project-table-hide' : '']">
|
<div v-if="projectData.task_num > 0" :class="['project-table-body', !projectParameter('showCompleted') ? 'project-table-hide' : '']">
|
||||||
<Row class="task-row">
|
<Row class="task-row">
|
||||||
<Col span="12" class="row-title">
|
<Col span="12" class="row-title">
|
||||||
<i class="taskfont" @click="$store.dispatch('toggleProjectParameters', 'showCompleted')"></i>
|
<i class="taskfont" @click="$store.dispatch('toggleProjectParameter', 'showCompleted')"></i>
|
||||||
<div class="row-h1">{{$L('已完成任务')}}</div>
|
<div class="row-h1">{{$L('已完成任务')}}</div>
|
||||||
<div class="row-num">({{completedList.length}})</div>
|
<div class="row-num">({{completedList.length}})</div>
|
||||||
</Col>
|
</Col>
|
||||||
@ -312,7 +312,7 @@
|
|||||||
<Col span="3"></Col>
|
<Col span="3"></Col>
|
||||||
<Col span="3"></Col>
|
<Col span="3"></Col>
|
||||||
</Row>
|
</Row>
|
||||||
<TaskRow v-if="projectParameters('showCompleted')" :list="completedList" open-key="completed" @command="dropTask" @on-priority="addTaskOpen"/>
|
<TaskRow v-if="projectParameter('showCompleted')" :list="completedList" open-key="completed" @command="dropTask" @on-priority="addTaskOpen"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -504,7 +504,7 @@ export default {
|
|||||||
}, 1000);
|
}, 1000);
|
||||||
//
|
//
|
||||||
this.projectDialogSubscribe = Store.subscribe('onProjectDialogBack', () => {
|
this.projectDialogSubscribe = Store.subscribe('onProjectDialogBack', () => {
|
||||||
this.$store.dispatch('toggleProjectParameters', 'chat');
|
this.$store.dispatch('toggleProjectParameter', 'chat');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -530,7 +530,7 @@ export default {
|
|||||||
'columns',
|
'columns',
|
||||||
]),
|
]),
|
||||||
|
|
||||||
...mapGetters(['projectData', 'projectParameters', 'myTasks', 'transforTasks']),
|
...mapGetters(['projectData', 'projectParameter', 'ownerTasks', 'transforTasks']),
|
||||||
|
|
||||||
userWaitRemove() {
|
userWaitRemove() {
|
||||||
const {userids, useridbak} = this.userData;
|
const {userids, useridbak} = this.userData;
|
||||||
@ -555,7 +555,7 @@ export default {
|
|||||||
panelTask() {
|
panelTask() {
|
||||||
const {searchText} = this;
|
const {searchText} = this;
|
||||||
return function (list) {
|
return function (list) {
|
||||||
if (!this.projectParameters('completedTask')) {
|
if (!this.projectParameter('completedTask')) {
|
||||||
list = list.filter(({complete_at}) => {
|
list = list.filter(({complete_at}) => {
|
||||||
return !complete_at;
|
return !complete_at;
|
||||||
});
|
});
|
||||||
@ -593,12 +593,12 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
myList() {
|
myList() {
|
||||||
const {projectId, myTasks, searchText, completeTask, sortField, sortType} = this;
|
const {projectId, ownerTasks, searchText, completeTask, sortField, sortType} = this;
|
||||||
const array = myTasks.filter((task) => {
|
const array = ownerTasks.filter((task) => {
|
||||||
if (task.project_id != projectId) {
|
if (task.project_id != projectId) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!this.projectParameters('completedTask')) {
|
if (!this.projectParameter('completedTask')) {
|
||||||
if (task.complete_at && !completeTask.find(id => id == task.id)) {
|
if (task.complete_at && !completeTask.find(id => id == task.id)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -631,7 +631,7 @@ export default {
|
|||||||
if (task.project_id != projectId || task.parent_id > 0) {
|
if (task.project_id != projectId || task.parent_id > 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!this.projectParameters('completedTask')) {
|
if (!this.projectParameter('completedTask')) {
|
||||||
if (task.complete_at && !completeTask.find(id => id == task.id)) {
|
if (task.complete_at && !completeTask.find(id => id == task.id)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -664,7 +664,7 @@ export default {
|
|||||||
if (task.project_id != projectId || task.parent_id > 0) {
|
if (task.project_id != projectId || task.parent_id > 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!this.projectParameters('completedTask')) {
|
if (!this.projectParameter('completedTask')) {
|
||||||
if (task.complete_at && !completeTask.find(id => id == task.id)) {
|
if (task.complete_at && !completeTask.find(id => id == task.id)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -1201,7 +1201,7 @@ export default {
|
|||||||
taskIsHidden(task) {
|
taskIsHidden(task) {
|
||||||
const {name, desc, complete_at} = task;
|
const {name, desc, complete_at} = task;
|
||||||
const {searchText} = this;
|
const {searchText} = this;
|
||||||
if (!this.projectParameters('completedTask')) {
|
if (!this.projectParameter('completedTask')) {
|
||||||
if (complete_at) {
|
if (complete_at) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -1254,7 +1254,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
toggleCompleted() {
|
toggleCompleted() {
|
||||||
this.$store.dispatch('toggleProjectParameters', 'completedTask');
|
this.$store.dispatch('toggleProjectParameter', 'completedTask');
|
||||||
this.completeTask = [];
|
this.completeTask = [];
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ export default {
|
|||||||
|
|
||||||
taskLoad: {},
|
taskLoad: {},
|
||||||
|
|
||||||
completeTask: [],
|
tempShowTasks: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -156,7 +156,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
list() {
|
list() {
|
||||||
const {dashboard, completeTask} = this;
|
const {dashboard, tempShowTasks} = this;
|
||||||
let data = [];
|
let data = [];
|
||||||
switch (dashboard) {
|
switch (dashboard) {
|
||||||
case 'today':
|
case 'today':
|
||||||
@ -166,12 +166,8 @@ export default {
|
|||||||
data = this.transforTasks(this.dashboardTask.overdue);
|
data = this.transforTasks(this.dashboardTask.overdue);
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if (completeTask.length > 0) {
|
if (tempShowTasks.length > 0) {
|
||||||
completeTask.forEach(task => {
|
data.push(...tempShowTasks);
|
||||||
if (!data.find(({id}) => id == task.id)) {
|
|
||||||
data.push(task);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
return data.sort((a, b) => {
|
return data.sort((a, b) => {
|
||||||
return $A.Date(a.end_at) - $A.Date(b.end_at);
|
return $A.Date(a.end_at) - $A.Date(b.end_at);
|
||||||
@ -181,10 +177,10 @@ export default {
|
|||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
'$route'() {
|
'$route'() {
|
||||||
this.completeTask = [];
|
this.tempShowTasks = [];
|
||||||
},
|
},
|
||||||
dashboard() {
|
dashboard() {
|
||||||
this.completeTask = [];
|
this.tempShowTasks = [];
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -196,7 +192,7 @@ export default {
|
|||||||
this.updateTask(task, {
|
this.updateTask(task, {
|
||||||
complete_at: $A.formatDate("Y-m-d H:i:s")
|
complete_at: $A.formatDate("Y-m-d H:i:s")
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.completeTask.push(task)
|
this.tempShowTasks.push(task)
|
||||||
})
|
})
|
||||||
break;
|
break;
|
||||||
case 'uncomplete':
|
case 'uncomplete':
|
||||||
@ -204,10 +200,7 @@ export default {
|
|||||||
this.updateTask(task, {
|
this.updateTask(task, {
|
||||||
complete_at: false
|
complete_at: false
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
let index = this.completeTask.findIndex(({id}) => id == task.id)
|
this.tempShowTasks = this.tempShowTasks.filter(({id}) => id != task.id)
|
||||||
if (index > -1) {
|
|
||||||
this.completeTask.splice(index, 1)
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
break;
|
break;
|
||||||
case 'archived':
|
case 'archived':
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="page-project">
|
<div class="page-project">
|
||||||
<ProjectList/>
|
<ProjectList/>
|
||||||
<ProjectDialog v-if="projectParameters('chat')"/>
|
<ProjectDialog v-if="projectParameter('chat')"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(['projectParameters']),
|
...mapGetters(['projectParameter']),
|
||||||
},
|
},
|
||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
|
32
resources/assets/js/store/actions.js
vendored
32
resources/assets/js/store/actions.js
vendored
@ -138,8 +138,8 @@ export default {
|
|||||||
* @param state
|
* @param state
|
||||||
* @param data|{key, project_id}
|
* @param data|{key, project_id}
|
||||||
*/
|
*/
|
||||||
toggleProjectParameters({state}, data) {
|
toggleProjectParameter({state}, data) {
|
||||||
$A.execMainDispatch("toggleProjectParameters", data)
|
$A.execMainDispatch("toggleProjectParameter", data)
|
||||||
//
|
//
|
||||||
let key = data;
|
let key = data;
|
||||||
let project_id = state.projectId;
|
let project_id = state.projectId;
|
||||||
@ -148,28 +148,18 @@ export default {
|
|||||||
project_id = data.project_id;
|
project_id = data.project_id;
|
||||||
}
|
}
|
||||||
if (project_id) {
|
if (project_id) {
|
||||||
let index = state.cacheProjectParameters.findIndex(item => item.project_id == project_id)
|
let index = state.cacheProjectParameter.findIndex(item => item.project_id == project_id)
|
||||||
if (index === -1) {
|
if (index === -1) {
|
||||||
state.cacheProjectParameters.push({
|
state.cacheProjectParameter.push(state.method.projectParameterTemplate(project_id));
|
||||||
project_id,
|
index = state.cacheProjectParameter.findIndex(item => item.project_id == project_id)
|
||||||
card: true,
|
|
||||||
cardInit: false,
|
|
||||||
chat: false,
|
|
||||||
showMy: true,
|
|
||||||
showHelp: true,
|
|
||||||
showUndone: true,
|
|
||||||
showCompleted: false,
|
|
||||||
completedTask: false,
|
|
||||||
});
|
|
||||||
index = state.cacheProjectParameters.findIndex(item => item.project_id == project_id)
|
|
||||||
}
|
}
|
||||||
const cache = state.cacheProjectParameters[index];
|
const cache = state.cacheProjectParameter[index];
|
||||||
if (!state.method.isJson(key)) {
|
if (!state.method.isJson(key)) {
|
||||||
key = {[key]: !cache[key]};
|
key = {[key]: !cache[key]};
|
||||||
}
|
}
|
||||||
state.cacheProjectParameters.splice(index, 1, Object.assign(cache, key))
|
state.cacheProjectParameter.splice(index, 1, Object.assign(cache, key))
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
state.method.setStorage("cacheProjectParameters", state.cacheProjectParameters);
|
state.method.setStorage("cacheProjectParameter", state.cacheProjectParameter);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -395,7 +385,7 @@ export default {
|
|||||||
state.cacheColumns = state.columns = [];
|
state.cacheColumns = state.columns = [];
|
||||||
state.cacheTasks = state.tasks = [];
|
state.cacheTasks = state.tasks = [];
|
||||||
//
|
//
|
||||||
state.method.setStorage("cacheProjectParameters", state.cacheProjectParameters);
|
state.method.setStorage("cacheProjectParameter", state.cacheProjectParameter);
|
||||||
state.method.setStorage("cacheServerUrl", state.cacheServerUrl);
|
state.method.setStorage("cacheServerUrl", state.cacheServerUrl);
|
||||||
state.method.setStorage("cacheLoginEmail", cacheLoginEmail);
|
state.method.setStorage("cacheLoginEmail", cacheLoginEmail);
|
||||||
dispatch("saveUserInfo", state.method.isJson(userInfo) ? userInfo : state.userInfo);
|
dispatch("saveUserInfo", state.method.isJson(userInfo) ? userInfo : state.userInfo);
|
||||||
@ -787,9 +777,9 @@ export default {
|
|||||||
dispatch("saveColumn", data.data);
|
dispatch("saveColumn", data.data);
|
||||||
// 判断只有1列的时候默认版面为表格模式
|
// 判断只有1列的时候默认版面为表格模式
|
||||||
if (state.columns.filter(item => item.project_id == project_id).length === 1) {
|
if (state.columns.filter(item => item.project_id == project_id).length === 1) {
|
||||||
const cache = state.cacheProjectParameters.find(item => item.project_id == project_id) || {};
|
const cache = state.cacheProjectParameter.find(item => item.project_id == project_id) || {};
|
||||||
if (typeof cache.cardInit === "undefined" || cache.cardInit === false) {
|
if (typeof cache.cardInit === "undefined" || cache.cardInit === false) {
|
||||||
dispatch("toggleProjectParameters", {
|
dispatch("toggleProjectParameter", {
|
||||||
project_id,
|
project_id,
|
||||||
key: {
|
key: {
|
||||||
card: false,
|
card: false,
|
||||||
|
24
resources/assets/js/store/getters.js
vendored
24
resources/assets/js/store/getters.js
vendored
@ -24,25 +24,15 @@ export default {
|
|||||||
* @param state
|
* @param state
|
||||||
* @returns {(function(*): (boolean|*))|*}
|
* @returns {(function(*): (boolean|*))|*}
|
||||||
*/
|
*/
|
||||||
projectParameters(state) {
|
projectParameter(state) {
|
||||||
return function (key) {
|
return function (key) {
|
||||||
if (!state.projectId) {
|
if (!state.projectId) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
let cache = state.cacheProjectParameters.find(({project_id}) => project_id == state.projectId);
|
let cache = state.cacheProjectParameter.find(({project_id}) => project_id == state.projectId);
|
||||||
if (!cache) {
|
if (!cache) {
|
||||||
cache = {
|
cache = state.method.projectParameterTemplate(state.projectId)
|
||||||
project_id: state.projectId,
|
state.cacheProjectParameter.push(cache);
|
||||||
card: true,
|
|
||||||
cardInit: false,
|
|
||||||
chat: false,
|
|
||||||
showMy: true,
|
|
||||||
showHelp: true,
|
|
||||||
showUndone: true,
|
|
||||||
showCompleted: false,
|
|
||||||
completedTask: false,
|
|
||||||
}
|
|
||||||
state.cacheProjectParameters.push(cache);
|
|
||||||
}
|
}
|
||||||
return cache && !!cache[key];
|
return cache && !!cache[key];
|
||||||
}
|
}
|
||||||
@ -73,7 +63,7 @@ export default {
|
|||||||
* @param state
|
* @param state
|
||||||
* @returns {unknown[]}
|
* @returns {unknown[]}
|
||||||
*/
|
*/
|
||||||
myTasks(state) {
|
ownerTasks(state) {
|
||||||
return state.tasks.filter(({complete_at, owner}) => {
|
return state.tasks.filter(({complete_at, owner}) => {
|
||||||
if (complete_at) {
|
if (complete_at) {
|
||||||
return false;
|
return false;
|
||||||
@ -137,7 +127,7 @@ export default {
|
|||||||
const todayStart = $A.Date($A.formatDate("Y-m-d 00:00:00")),
|
const todayStart = $A.Date($A.formatDate("Y-m-d 00:00:00")),
|
||||||
todayEnd = $A.Date($A.formatDate("Y-m-d 23:59:59")),
|
todayEnd = $A.Date($A.formatDate("Y-m-d 23:59:59")),
|
||||||
todayNow = $A.Date($A.formatDate("Y-m-d H:i:s"));
|
todayNow = $A.Date($A.formatDate("Y-m-d H:i:s"));
|
||||||
const todayTasks = getters.myTasks.filter(task => {
|
const todayTasks = getters.ownerTasks.filter(task => {
|
||||||
if (!task.end_at) {
|
if (!task.end_at) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -145,7 +135,7 @@ export default {
|
|||||||
end = $A.Date(task.end_at);
|
end = $A.Date(task.end_at);
|
||||||
return (start <= todayStart && todayStart <= end) || (start <= todayEnd && todayEnd <= end) || (start > todayStart && todayEnd > end);
|
return (start <= todayStart && todayStart <= end) || (start <= todayEnd && todayEnd <= end) || (start > todayStart && todayEnd > end);
|
||||||
})
|
})
|
||||||
const overdueTasks = getters.myTasks.filter(task => {
|
const overdueTasks = getters.ownerTasks.filter(task => {
|
||||||
if (!task.end_at) {
|
if (!task.end_at) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
20
resources/assets/js/store/state.js
vendored
20
resources/assets/js/store/state.js
vendored
@ -245,6 +245,20 @@ const method = {
|
|||||||
return defaultVal ? defaultVal : "";
|
return defaultVal ? defaultVal : "";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
projectParameterTemplate(project_id) {
|
||||||
|
return {
|
||||||
|
project_id,
|
||||||
|
card: true,
|
||||||
|
cardInit: false,
|
||||||
|
chat: false,
|
||||||
|
showMy: true,
|
||||||
|
showHelp: true,
|
||||||
|
showUndone: true,
|
||||||
|
showCompleted: false,
|
||||||
|
completedTask: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 方法类
|
// 方法类
|
||||||
@ -256,17 +270,21 @@ state.windowMax768 = window.innerWidth <= 768;
|
|||||||
// 数据缓存
|
// 数据缓存
|
||||||
state.cacheLoading = {};
|
state.cacheLoading = {};
|
||||||
state.cacheDrawerOverlay = [];
|
state.cacheDrawerOverlay = [];
|
||||||
|
|
||||||
// User
|
// User
|
||||||
state.cacheUserActive = {};
|
state.cacheUserActive = {};
|
||||||
state.cacheUserWait = [];
|
state.cacheUserWait = [];
|
||||||
state.cacheUserBasic = state.method.getStorageArray("cacheUserBasic");
|
state.cacheUserBasic = state.method.getStorageArray("cacheUserBasic");
|
||||||
|
|
||||||
// Dialog
|
// Dialog
|
||||||
state.cacheDialogs = state.method.getStorageArray("cacheDialogs");
|
state.cacheDialogs = state.method.getStorageArray("cacheDialogs");
|
||||||
|
|
||||||
// Project
|
// Project
|
||||||
state.cacheProjects = state.method.getStorageArray("cacheProjects");
|
state.cacheProjects = state.method.getStorageArray("cacheProjects");
|
||||||
state.cacheColumns = state.method.getStorageArray("cacheColumns");
|
state.cacheColumns = state.method.getStorageArray("cacheColumns");
|
||||||
state.cacheTasks = state.method.getStorageArray("cacheTasks");
|
state.cacheTasks = state.method.getStorageArray("cacheTasks");
|
||||||
state.cacheProjectParameters = state.method.getStorageArray("cacheProjectParameters");
|
state.cacheProjectParameter = state.method.getStorageArray("cacheProjectParameter");
|
||||||
|
|
||||||
// ServerUrl
|
// ServerUrl
|
||||||
state.cacheServerUrl = state.method.getStorageString("cacheServerUrl")
|
state.cacheServerUrl = state.method.getStorageString("cacheServerUrl")
|
||||||
if (state.cacheServerUrl && window.systemInformation) {
|
if (state.cacheServerUrl && window.systemInformation) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user