no message
This commit is contained in:
parent
db37cce011
commit
551c835988
@ -23,7 +23,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</li>
|
</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" />
|
<Icon class="menu-icon" type="ios-chatbubbles" />
|
||||||
<Badge class="menu-badge" :count="msgUnread"></Badge>
|
<Badge class="menu-badge" :count="msgUnread"></Badge>
|
||||||
</li>
|
</li>
|
||||||
@ -46,15 +46,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="projectCompleteShow" @on-change="toggleBoolean('projectCompleteShow', $event)">{{$L('显示已完成')}}</Checkbox>
|
<Checkbox :value="projectCompleteShow" @on-change="$store.dispatch('toggleBoolean', 'projectCompleteShow')">{{$L('显示已完成')}}</Checkbox>
|
||||||
</div>
|
</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><i class="iconfont"></i></div>
|
<div><i class="iconfont"></i></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="projectTablePanel" class="project-column overlay-x">
|
<div v-if="tablePanel('card')" class="project-column overlay-x">
|
||||||
<Draggable
|
<Draggable
|
||||||
:list="projectData.columns"
|
:list="projectData.columns"
|
||||||
:animation="150"
|
:animation="150"
|
||||||
@ -229,10 +229,10 @@
|
|||||||
</Row>
|
</Row>
|
||||||
</div>
|
</div>
|
||||||
<!--我的任务-->
|
<!--我的任务-->
|
||||||
<div :class="['project-table-body', !taskMyShow ? 'project-table-hide' : '']">
|
<div :class="['project-table-body', !tablePanel('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="iconfont" @click="toggleBoolean('taskMyShow')"></i>
|
<i class="iconfont" @click="$store.dispatch('toggleTablePanel', '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>
|
||||||
@ -244,10 +244,10 @@
|
|||||||
<TaskRow :list="myList" open-key="my" @command="dropTask" fast-add-task/>
|
<TaskRow :list="myList" open-key="my" @command="dropTask" fast-add-task/>
|
||||||
</div>
|
</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">
|
<Row class="task-row">
|
||||||
<Col span="12" class="row-title">
|
<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-h1">{{$L('未完成任务')}}</div>
|
||||||
<div class="row-num">({{undoneList.length}})</div>
|
<div class="row-num">({{undoneList.length}})</div>
|
||||||
</Col>
|
</Col>
|
||||||
@ -259,10 +259,10 @@
|
|||||||
<TaskRow :list="undoneList" open-key="undone" @command="dropTask"/>
|
<TaskRow :list="undoneList" open-key="undone" @command="dropTask"/>
|
||||||
</div>
|
</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">
|
<Row class="task-row">
|
||||||
<Col span="12" class="row-title">
|
<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-h1">{{$L('已完成任务')}}</div>
|
||||||
<div class="row-num">({{completedList.length}})</div>
|
<div class="row-num">({{completedList.length}})</div>
|
||||||
</Col>
|
</Col>
|
||||||
@ -408,15 +408,10 @@ export default {
|
|||||||
'columns',
|
'columns',
|
||||||
|
|
||||||
'projectChatShow',
|
'projectChatShow',
|
||||||
'projectTablePanel',
|
|
||||||
'projectCompleteShow',
|
'projectCompleteShow',
|
||||||
|
|
||||||
'taskMyShow',
|
|
||||||
'taskUndoneShow',
|
|
||||||
'taskCompletedShow'
|
|
||||||
]),
|
]),
|
||||||
|
|
||||||
...mapGetters(['projectData']),
|
...mapGetters(['projectData', 'tablePanel']),
|
||||||
|
|
||||||
msgUnread() {
|
msgUnread() {
|
||||||
const {dialogList, projectData} = this;
|
const {dialogList, projectData} = this;
|
||||||
@ -938,10 +933,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
toggleBoolean(type) {
|
|
||||||
this.$store.dispatch("toggleBoolean", type);
|
|
||||||
},
|
|
||||||
|
|
||||||
taskIsHidden(task) {
|
taskIsHidden(task) {
|
||||||
const {name, desc, complete_at} = task;
|
const {name, desc, complete_at} = task;
|
||||||
const {searchText, projectCompleteShow} = this;
|
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 {
|
export default {
|
||||||
/**
|
/**
|
||||||
* 访问接口
|
* 访问接口
|
||||||
@ -132,6 +134,28 @@ export default {
|
|||||||
state.method.setStorage("boolean:" + key, state[key]);
|
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
|
* @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 {};
|
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 };
|
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
|
// ajax
|
||||||
state.ajaxLoadNum = 0;
|
state.ajaxLoadNum = 0;
|
||||||
state.ajaxWsReady = false;
|
state.ajaxWsReady = false;
|
||||||
@ -255,6 +238,9 @@ 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.cacheTaskSubs = state.method.getStorageArray("cacheTaskSubs");
|
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");
|
state.userInfo = state.method.getStorageJson("userInfo");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user