mirror of
https://github.com/kuaifan/dootask.git
synced 2026-01-19 14:09:40 +00:00
fix: 项目-任务列表tab优化
This commit is contained in:
parent
f68226f4b4
commit
bf46881e3b
3
resources/assets/js/functions/web.js
vendored
3
resources/assets/js/functions/web.js
vendored
@ -66,8 +66,7 @@
|
|||||||
return {
|
return {
|
||||||
project_id,
|
project_id,
|
||||||
card: true,
|
card: true,
|
||||||
menu: false,
|
menuType: 'card',
|
||||||
gantt: false,
|
|
||||||
cardInit: false,
|
cardInit: false,
|
||||||
chat: false,
|
chat: false,
|
||||||
showMy: true,
|
showMy: true,
|
||||||
|
|||||||
@ -82,14 +82,14 @@
|
|||||||
</Cascader>
|
</Cascader>
|
||||||
</div>
|
</div>
|
||||||
<div class="project-switch-button">
|
<div class="project-switch-button">
|
||||||
<div @click="tabTypeChange('card')" :class="{ 'active': projectParameter('card')}"><i class="taskfont"></i></div>
|
<div @click="tabTypeChange('card')" :class="{ 'active': projectParameter('menuType') === 'card'}"><i class="taskfont"></i></div>
|
||||||
<div @click="tabTypeChange('menu')" :class="{ 'active': projectParameter('menu')}"><i class="taskfont"></i></div>
|
<div @click="tabTypeChange('menu')" :class="{ 'active': projectParameter('menuType') === 'menu'}"><i class="taskfont"></i></div>
|
||||||
<div @click="tabTypeChange('gantt')" :class="{ 'active': projectParameter('gantt')}"><i class="taskfont"></i></div>
|
<div @click="tabTypeChange('gantt')" :class="{ 'active': projectParameter('menuType') === 'gantt'}"><i class="taskfont"></i></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="projectParameter('card')" class="project-column">
|
<div v-if="projectParameter('menuType') === 'card'" class="project-column">
|
||||||
<Draggable
|
<Draggable
|
||||||
:list="columnList"
|
:list="columnList"
|
||||||
:animation="150"
|
:animation="150"
|
||||||
@ -225,7 +225,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</Draggable>
|
</Draggable>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="projectParameter('menu')" class="project-table overlay-y">
|
<div v-if="projectParameter('menuType') === 'menu'" class="project-table overlay-y">
|
||||||
<div class="project-table-head">
|
<div class="project-table-head">
|
||||||
<Row class="task-row">
|
<Row class="task-row">
|
||||||
<Col span="12"># {{$L('任务名称')}}</Col>
|
<Col span="12"># {{$L('任务名称')}}</Col>
|
||||||
@ -312,7 +312,7 @@
|
|||||||
<TaskRow v-if="projectParameter('showCompleted')" :list="completedList" open-key="completed" @on-priority="addTaskOpen" showCompleteAt/>
|
<TaskRow v-if="projectParameter('showCompleted')" :list="completedList" open-key="completed" @on-priority="addTaskOpen" showCompleteAt/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="projectParameter('gantt')" class="project-table overlay-y" style="position: relative">
|
<div v-if="projectParameter('menuType') === 'gantt'" class="project-table overlay-y" style="position: relative">
|
||||||
<!-- 甘特图 -->
|
<!-- 甘特图 -->
|
||||||
<ProjectGantt :lineData="ganttColumnList[0].tasks"
|
<ProjectGantt :lineData="ganttColumnList[0].tasks"
|
||||||
:projectLabel="ganttColumnList"
|
:projectLabel="ganttColumnList"
|
||||||
@ -1401,31 +1401,25 @@ export default {
|
|||||||
tabTypeChange(type) {
|
tabTypeChange(type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case "card":
|
case "card":
|
||||||
this.$store.dispatch('toggleProjectParameter', 'card');
|
this.$store.dispatch('toggleProjectParameter', {
|
||||||
if (this.projectParameter('card')) {
|
project_id: this.projectId,
|
||||||
this.projectParameter('menu') ? this.$store.dispatch('toggleProjectParameter', 'menu') : '';
|
key: 'menuType',
|
||||||
this.projectParameter('gantt') ? this.$store.dispatch('toggleProjectParameter', 'gantt') : '';
|
value: 'card'
|
||||||
} else {
|
});
|
||||||
this.$store.dispatch('toggleProjectParameter', 'card');
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "menu":
|
case "menu":
|
||||||
this.$store.dispatch('toggleProjectParameter', 'menu');
|
this.$store.dispatch('toggleProjectParameter', {
|
||||||
if (this.projectParameter('menu')) {
|
project_id: this.projectId,
|
||||||
this.projectParameter('card') ? this.$store.dispatch('toggleProjectParameter', 'card') : '';
|
key: 'menuType',
|
||||||
this.projectParameter('gantt') ? this.$store.dispatch('toggleProjectParameter', 'gantt') : '';
|
value: 'menu'
|
||||||
} else {
|
});
|
||||||
this.$store.dispatch('toggleProjectParameter', 'menu');
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "gantt":
|
case "gantt":
|
||||||
this.$store.dispatch('toggleProjectParameter', 'gantt');
|
this.$store.dispatch('toggleProjectParameter', {
|
||||||
if (this.projectParameter('gantt')) {
|
project_id: this.projectId,
|
||||||
this.projectParameter('menu') ? this.$store.dispatch('toggleProjectParameter', 'menu') : '';
|
key: 'menuType',
|
||||||
this.projectParameter('card') ? this.$store.dispatch('toggleProjectParameter', 'card') : '';
|
value: 'gantt'
|
||||||
} else {
|
});
|
||||||
this.$store.dispatch('toggleProjectParameter', 'gantt');
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
7
resources/assets/js/store/actions.js
vendored
7
resources/assets/js/store/actions.js
vendored
@ -148,9 +148,11 @@ export default {
|
|||||||
$A.execMainDispatch("toggleProjectParameter", data)
|
$A.execMainDispatch("toggleProjectParameter", data)
|
||||||
//
|
//
|
||||||
let key = data;
|
let key = data;
|
||||||
|
let value = null;
|
||||||
let project_id = state.projectId;
|
let project_id = state.projectId;
|
||||||
if ($A.isJson(data)) {
|
if ($A.isJson(data)) {
|
||||||
key = data.key;
|
key = data.key;
|
||||||
|
value = data.value;
|
||||||
project_id = data.project_id;
|
project_id = data.project_id;
|
||||||
}
|
}
|
||||||
if (project_id) {
|
if (project_id) {
|
||||||
@ -160,9 +162,12 @@ export default {
|
|||||||
index = state.cacheProjectParameter.findIndex(item => item.project_id == project_id)
|
index = state.cacheProjectParameter.findIndex(item => item.project_id == project_id)
|
||||||
}
|
}
|
||||||
const cache = state.cacheProjectParameter[index];
|
const cache = state.cacheProjectParameter[index];
|
||||||
if (!$A.isJson(key)) {
|
if (!$A.isJson(key) && !value) {
|
||||||
key = {[key]: !cache[key]};
|
key = {[key]: !cache[key]};
|
||||||
}
|
}
|
||||||
|
if (value) {
|
||||||
|
key = {[key]: value};
|
||||||
|
}
|
||||||
state.cacheProjectParameter.splice(index, 1, Object.assign(cache, key))
|
state.cacheProjectParameter.splice(index, 1, Object.assign(cache, key))
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
$A.setStorage("cacheProjectParameter", state.cacheProjectParameter);
|
$A.setStorage("cacheProjectParameter", state.cacheProjectParameter);
|
||||||
|
|||||||
2
resources/assets/js/store/getters.js
vendored
2
resources/assets/js/store/getters.js
vendored
@ -34,7 +34,7 @@ export default {
|
|||||||
cache = $A.projectParameterTemplate(state.projectId)
|
cache = $A.projectParameterTemplate(state.projectId)
|
||||||
state.cacheProjectParameter.push(cache);
|
state.cacheProjectParameter.push(cache);
|
||||||
}
|
}
|
||||||
return cache && !!cache[key];
|
return cache[key];
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user