|
|
@ -2,6 +2,7 @@ import { computed, nextTick, watch } from 'vue'; |
|
|
import { useStore } from 'vuex'; |
|
|
import { useStore } from 'vuex'; |
|
|
import { flatten } from 'lodash'; |
|
|
import { flatten } from 'lodash'; |
|
|
import dayjs from 'dayjs'; |
|
|
import dayjs from 'dayjs'; |
|
|
|
|
|
|
|
|
export default function useGetTasks() { |
|
|
export default function useGetTasks() { |
|
|
const store = useStore(); |
|
|
const store = useStore(); |
|
|
const tasks = computed(() => store.state.task.tasks); |
|
|
const tasks = computed(() => store.state.task.tasks); |
|
|
@ -21,6 +22,8 @@ export default function useGetTasks() { |
|
|
const projectId = computed(() => store.getters['project/projectId']); |
|
|
const projectId = computed(() => store.getters['project/projectId']); |
|
|
const timeGranularity = computed(() => store.getters['task/timeGranularity']); |
|
|
const timeGranularity = computed(() => store.getters['task/timeGranularity']); |
|
|
|
|
|
|
|
|
|
|
|
const remindData = computed(() => store.state.socket.remindData); // 小红点
|
|
|
|
|
|
|
|
|
// 初始化 定期任务
|
|
|
// 初始化 定期任务
|
|
|
async function initPlanTasks() { |
|
|
async function initPlanTasks() { |
|
|
await getTasks({}); // 获取初始数据
|
|
|
await getTasks({}); // 获取初始数据
|
|
|
@ -36,7 +39,8 @@ export default function useGetTasks() { |
|
|
timeUnit: query.timeUnit || timeUnit.value, |
|
|
timeUnit: query.timeUnit || timeUnit.value, |
|
|
queryType: query.queryType === 0 ? 0 : 1, |
|
|
queryType: query.queryType === 0 ? 0 : 1, |
|
|
pageNum: query.pageNum || 1, |
|
|
pageNum: query.pageNum || 1, |
|
|
pageSize: query.pageSize || uni.$taskConfig.pageCount |
|
|
pageSize: query.pageSize || uni.$taskConfig.pageCount, |
|
|
|
|
|
taskId: query.taskId || '' |
|
|
}; |
|
|
}; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -64,6 +68,10 @@ export default function useGetTasks() { |
|
|
params.queryType === 0 ? store.commit('task/setUpRealTasks', data.list) : store.commit('task/setDownRealTasks', data.list); |
|
|
params.queryType === 0 ? store.commit('task/setUpRealTasks', data.list) : store.commit('task/setDownRealTasks', data.list); |
|
|
params.queryType === 0 ? store.commit('task/setUpNextPage', data.nextPage) : store.commit('task/setDownNextPage', data.nextPage); // 下一页
|
|
|
params.queryType === 0 ? store.commit('task/setUpNextPage', data.nextPage) : store.commit('task/setDownNextPage', data.nextPage); // 下一页
|
|
|
|
|
|
|
|
|
|
|
|
const index = visibleRoles.value.findIndex(role => role.id === roleId.value); |
|
|
|
|
|
const arr = [...allTasks.value]; |
|
|
|
|
|
arr[index].realTasks = [...realTasks.value]; |
|
|
|
|
|
store.commit('task/setAllTasks', arr); |
|
|
// 数据处理
|
|
|
// 数据处理
|
|
|
dataRender(params); |
|
|
dataRender(params); |
|
|
} |
|
|
} |
|
|
@ -74,6 +82,7 @@ export default function useGetTasks() { |
|
|
timeLineType.value === 1 ? renderScaleTask(params) : renderConTask(params); |
|
|
timeLineType.value === 1 ? renderScaleTask(params) : renderConTask(params); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 任务模式
|
|
|
async function renderConTask(params) { |
|
|
async function renderConTask(params) { |
|
|
let nextPage = params.queryType === 0 ? upNextPage.value : downNextPage.value; // 下一页的值
|
|
|
let nextPage = params.queryType === 0 ? upNextPage.value : downNextPage.value; // 下一页的值
|
|
|
let showTasks = tasks.value; |
|
|
let showTasks = tasks.value; |
|
|
@ -92,7 +101,7 @@ export default function useGetTasks() { |
|
|
if (showTasks.length < 15 && nextPage === 0 && params.queryType === 1) { |
|
|
if (showTasks.length < 15 && nextPage === 0 && params.queryType === 1) { |
|
|
getTasks({pageNum: 1, queryType: 0}); |
|
|
getTasks({pageNum: 1, queryType: 0}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (showTasks.length > 80) { |
|
|
if (showTasks.length > 80) { |
|
|
showTasks = params.queryType === 0 ? showTasks.slice(0, 80) : showTasks.slice(showTasks.length - 80); |
|
|
showTasks = params.queryType === 0 ? showTasks.slice(0, 80) : showTasks.slice(showTasks.length - 80); |
|
|
} |
|
|
} |
|
|
@ -103,9 +112,21 @@ export default function useGetTasks() { |
|
|
|
|
|
|
|
|
// 刻度模式数据处理
|
|
|
// 刻度模式数据处理
|
|
|
async function renderScaleTask(params) { |
|
|
async function renderScaleTask(params) { |
|
|
params.queryType === 0 ? setPrevPlaceholderTasks() : setNextPlaceholderTasks(); |
|
|
params.queryType === 0 ? setPrevPlaceholderTasks(params) : setNextPlaceholderTasks(params); |
|
|
|
|
|
|
|
|
|
|
|
const index = visibleRoles.value.findIndex(role => role.id === roleId.value); |
|
|
|
|
|
let currRoleRealTasks = []; |
|
|
|
|
|
if (allTasks.value[index].realTasks) { |
|
|
|
|
|
currRoleRealTasks = allTasks.value[index].realTasks; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
let currRoleShowTasks = []; |
|
|
|
|
|
if (allTasks.value[index].tasks) { |
|
|
|
|
|
currRoleShowTasks = allTasks.value[index].tasks; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
let centerData = await showTaskId(params, tasks.value, realTasks.value) || []; |
|
|
let centerData = await showTaskId(params, tasks.value, realTasks.value) || []; |
|
|
tasksData(params, centerData, realTasks.value); |
|
|
tasksData(params, centerData, currRoleRealTasks); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 已显示的任务第一个id和最后一个id
|
|
|
// 已显示的任务第一个id和最后一个id
|
|
|
@ -237,7 +258,7 @@ export default function useGetTasks() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 设置时间轴向下的空数据
|
|
|
// 设置时间轴向下的空数据
|
|
|
function setNextPlaceholderTasks() { |
|
|
function setNextPlaceholderTasks(params) { |
|
|
// store.commit('task/setBottomEnd', true);
|
|
|
// store.commit('task/setBottomEnd', true);
|
|
|
let startTime = ''; |
|
|
let startTime = ''; |
|
|
if (!tasks.value || !tasks.value.length) { |
|
|
if (!tasks.value || !tasks.value.length) { |
|
|
@ -245,6 +266,15 @@ export default function useGetTasks() { |
|
|
} else { |
|
|
} else { |
|
|
startTime = dayjs(+tasks.value[tasks.value.length - 1].planStart).add(1, timeGranularity.value).valueOf(); |
|
|
startTime = dayjs(+tasks.value[tasks.value.length - 1].planStart).add(1, timeGranularity.value).valueOf(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (params.taskId) { |
|
|
|
|
|
realTasks.value.forEach(item => { |
|
|
|
|
|
if (item.id === params.taskId) { |
|
|
|
|
|
startTime = Number(item.planStart); |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
const initData = uni.$task.setPlaceholderTasks(startTime, false, timeGranularity.value); |
|
|
const initData = uni.$task.setPlaceholderTasks(startTime, false, timeGranularity.value); |
|
|
store.commit('task/setCurrDownTimeNode', startTime); |
|
|
store.commit('task/setCurrDownTimeNode', startTime); |
|
|
store.commit('task/setDownTasks', initData); |
|
|
store.commit('task/setDownTasks', initData); |
|
|
@ -255,7 +285,6 @@ export default function useGetTasks() { |
|
|
* 将新获取到的日常任务放在allTasks里 |
|
|
* 将新获取到的日常任务放在allTasks里 |
|
|
*/ |
|
|
*/ |
|
|
watch(tasks, newValue => { |
|
|
watch(tasks, newValue => { |
|
|
// console.log('newValue----->tasks: ', tasks.value);
|
|
|
|
|
|
// 添加到allTasks里
|
|
|
// 添加到allTasks里
|
|
|
const index = visibleRoles.value.findIndex(role => role.id === roleId.value); |
|
|
const index = visibleRoles.value.findIndex(role => role.id === roleId.value); |
|
|
const arr = [...allTasks.value]; |
|
|
const arr = [...allTasks.value]; |
|
|
|