no message
This commit is contained in:
parent
db37cce011
commit
551c835988
@ -23,7 +23,7 @@
|
||||
</div>
|
||||
</Tooltip>
|
||||
</li>
|
||||
<li :class="['project-icon', projectChatShow ? 'active' : '']" @click="toggleBoolean('projectChatShow')">
|
||||
<li :class="['project-icon', projectChatShow ? 'active' : '']" @click="$store.dispatch('toggleBoolean', 'projectChatShow')">
|
||||
<Icon class="menu-icon" type="ios-chatbubbles" />
|
||||
<Badge class="menu-badge" :count="msgUnread"></Badge>
|
||||
</li>
|
||||
@ -46,15 +46,15 @@
|
||||
<div v-if="projectData.desc" class="project-subtitle">{{projectData.desc}}</div>
|
||||
<div class="project-switch">
|
||||
<div v-if="completedCount > 0" class="project-checkbox">
|
||||
<Checkbox :value="projectCompleteShow" @on-change="toggleBoolean('projectCompleteShow', $event)">{{$L('显示已完成')}}</Checkbox>
|
||||
<Checkbox :value="projectCompleteShow" @on-change="$store.dispatch('toggleBoolean', 'projectCompleteShow')">{{$L('显示已完成')}}</Checkbox>
|
||||
</div>
|
||||
<div :class="['project-switch-button', !projectTablePanel ? 'menu' : '']" @click="toggleBoolean('projectTablePanel')">
|
||||
<div :class="['project-switch-button', !tablePanel('card') ? 'menu' : '']" @click="$store.dispatch('toggleTablePanel', 'card')">
|
||||
<div><i class="iconfont"></i></div>
|
||||
<div><i class="iconfont"></i></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="projectTablePanel" class="project-column overlay-x">
|
||||
<div v-if="tablePanel('card')" class="project-column overlay-x">
|
||||
<Draggable
|
||||
:list="projectData.columns"
|
||||
:animation="150"
|
||||
@ -229,10 +229,10 @@
|
||||
</Row>
|
||||
</div>
|
||||
<!--我的任务-->
|
||||
<div :class="['project-table-body', !taskMyShow ? 'project-table-hide' : '']">
|
||||
<div :class="['project-table-body', !tablePanel('showMy') ? 'project-table-hide' : '']">
|
||||
<Row class="task-row">
|
||||
<Col span="12" class="row-title">
|
||||
<i class="iconfont" @click="toggleBoolean('taskMyShow')"></i>
|
||||
<i class="iconfont" @click="$store.dispatch('toggleTablePanel', 'showMy')"></i>
|
||||
<div class="row-h1">{{$L('我的任务')}}</div>
|
||||
<div class="row-num">({{myList.length}})</div>
|
||||
</Col>
|
||||
@ -244,10 +244,10 @@
|
||||
<TaskRow :list="myList" open-key="my" @command="dropTask" fast-add-task/>
|
||||
</div>
|
||||
<!--未完成任务-->
|
||||
<div v-if="projectData.task_num > 0" :class="['project-table-body', !taskUndoneShow ? 'project-table-hide' : '']">
|
||||
<div v-if="projectData.task_num > 0" :class="['project-table-body', !tablePanel('showUndone') ? 'project-table-hide' : '']">
|
||||
<Row class="task-row">
|
||||
<Col span="12" class="row-title">
|
||||
<i class="iconfont" @click="toggleBoolean('taskUndoneShow')"></i>
|
||||
<i class="iconfont" @click="$store.dispatch('toggleTablePanel', 'showUndone')"></i>
|
||||
<div class="row-h1">{{$L('未完成任务')}}</div>
|
||||
<div class="row-num">({{undoneList.length}})</div>
|
||||
</Col>
|
||||
@ -259,10 +259,10 @@
|
||||
<TaskRow :list="undoneList" open-key="undone" @command="dropTask"/>
|
||||
</div>
|
||||
<!--已完成任务-->
|
||||
<div v-if="projectData.task_num > 0" :class="['project-table-body', !taskCompletedShow ? 'project-table-hide' : '']">
|
||||
<div v-if="projectData.task_num > 0" :class="['project-table-body', !tablePanel('showCompleted') ? 'project-table-hide' : '']">
|
||||
<Row class="task-row">
|
||||
<Col span="12" class="row-title">
|
||||
<i class="iconfont" @click="toggleBoolean('taskCompletedShow')"></i>
|
||||
<i class="iconfont" @click="$store.dispatch('toggleTablePanel', 'showCompleted')"></i>
|
||||
<div class="row-h1">{{$L('已完成任务')}}</div>
|
||||
<div class="row-num">({{completedList.length}})</div>
|
||||
</Col>
|
||||
@ -408,15 +408,10 @@ export default {
|
||||
'columns',
|
||||
|
||||
'projectChatShow',
|
||||
'projectTablePanel',
|
||||
'projectCompleteShow',
|
||||
|
||||
'taskMyShow',
|
||||
'taskUndoneShow',
|
||||
'taskCompletedShow'
|
||||
]),
|
||||
|
||||
...mapGetters(['projectData']),
|
||||
...mapGetters(['projectData', 'tablePanel']),
|
||||
|
||||
msgUnread() {
|
||||
const {dialogList, projectData} = this;
|
||||
@ -938,10 +933,6 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
toggleBoolean(type) {
|
||||
this.$store.dispatch("toggleBoolean", type);
|
||||
},
|
||||
|
||||
taskIsHidden(task) {
|
||||
const {name, desc, complete_at} = task;
|
||||
const {searchText, projectCompleteShow} = this;
|
||||
|
24
resources/assets/js/store/actions.js
vendored
24
resources/assets/js/store/actions.js
vendored
@ -1,3 +1,5 @@
|
||||
import state from "./state";
|
||||
|
||||
export default {
|
||||
/**
|
||||
* 访问接口
|
||||
@ -132,6 +134,28 @@ export default {
|
||||
state.method.setStorage("boolean:" + key, state[key]);
|
||||
},
|
||||
|
||||
/**
|
||||
* 切换面板变量
|
||||
* @param state
|
||||
* @param key
|
||||
*/
|
||||
toggleTablePanel({state}, key) {
|
||||
if (state.projectId) {
|
||||
let index = state.cacheTablePanel.findIndex(({project_id}) => project_id == state.projectId)
|
||||
if (index === -1) {
|
||||
state.cacheTablePanel.push({
|
||||
project_id: state.projectId,
|
||||
});
|
||||
index = state.cacheTablePanel.findIndex(({project_id}) => project_id == state.projectId)
|
||||
}
|
||||
const cache = state.cacheTablePanel[index];
|
||||
state.cacheTablePanel.splice(index, 1, Object.assign(cache, {
|
||||
[key]: !cache[key]
|
||||
}))
|
||||
state.method.setStorage("cacheTablePanel", state.cacheTablePanel);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取/更新会员信息
|
||||
* @param dispatch
|
||||
|
20
resources/assets/js/store/getters.js
vendored
20
resources/assets/js/store/getters.js
vendored
@ -48,4 +48,24 @@ export default {
|
||||
}
|
||||
return {};
|
||||
},
|
||||
|
||||
tablePanel(state) {
|
||||
return function (key) {
|
||||
if (!state.projectId) {
|
||||
return false;
|
||||
}
|
||||
let cache = state.cacheTablePanel.find(({project_id}) => project_id == state.projectId);
|
||||
if (!cache) {
|
||||
cache = {
|
||||
project_id: state.projectId,
|
||||
card: true,
|
||||
showMy: true,
|
||||
showUndone: true,
|
||||
showCompleted: false,
|
||||
}
|
||||
state.cacheTablePanel.push(cache);
|
||||
}
|
||||
return cache && !!cache[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
20
resources/assets/js/store/state.js
vendored
20
resources/assets/js/store/state.js
vendored
@ -226,23 +226,6 @@ const method = {
|
||||
// 方法类
|
||||
const state = { method };
|
||||
|
||||
// 变量缓存
|
||||
[
|
||||
'projectTablePanel', // 项目面板显示类型
|
||||
'taskMyShow', // 项目面板显示我的任务
|
||||
'taskUndoneShow', // 项目面板显示未完成任务
|
||||
].forEach((key) => {
|
||||
state[key] = state.method.getStorageBoolean("boolean:" + key, true)
|
||||
});
|
||||
|
||||
[
|
||||
'projectChatShow', // 项目聊天显示
|
||||
'taskCompletedShow', // 项目面板显示已完成任务
|
||||
'projectCompleteShow' // 项目面板显示已完成列表
|
||||
].forEach((key) => {
|
||||
state[key] = state.method.getStorageBoolean("boolean:" + key, false)
|
||||
});
|
||||
|
||||
// ajax
|
||||
state.ajaxLoadNum = 0;
|
||||
state.ajaxWsReady = false;
|
||||
@ -255,6 +238,9 @@ state.cacheProjects = state.method.getStorageArray("cacheProjects");
|
||||
state.cacheColumns = state.method.getStorageArray("cacheColumns");
|
||||
state.cacheTasks = state.method.getStorageArray("cacheTasks");
|
||||
state.cacheTaskSubs = state.method.getStorageArray("cacheTaskSubs");
|
||||
state.cacheTablePanel = state.method.getStorageArray("cacheTablePanel");
|
||||
state.projectChatShow = state.method.getStorageBoolean("boolean:projectChatShow", false)
|
||||
state.projectCompleteShow = state.method.getStorageBoolean("boolean:projectCompleteShow", false)
|
||||
|
||||
// 会员信息
|
||||
state.userInfo = state.method.getStorageJson("userInfo");
|
||||
|
Loading…
x
Reference in New Issue
Block a user