|
|
|
@ -61,7 +61,7 @@ const height = ref(null); // 页面高度 |
|
|
|
const timeLineType = computed(() => store.state.task.timeLineType); // 时间轴模式 |
|
|
|
const remindData = computed(() => store.state.socket.remindData); // 时间轴模式 |
|
|
|
const currLocationTaskId = computed(() => store.state.socket.currLocationTaskId); // 前需要定位到的任务id |
|
|
|
const taskId = computed(() => store.state.task.taskId); // 前需要定位到的任务id |
|
|
|
const targetTaskId = computed(() => store.state.task.targetTaskId); // 前需要定位到的任务id |
|
|
|
|
|
|
|
onMounted(() => { |
|
|
|
const system = uni.getSystemInfoSync(); |
|
|
|
@ -83,6 +83,42 @@ onUnmounted(() => { |
|
|
|
store.commit('socket/setCurrLocationTaskId', ''); |
|
|
|
}); |
|
|
|
|
|
|
|
watch(remindData, () => { |
|
|
|
console.log('remindData', remindData.value) |
|
|
|
|
|
|
|
if (remindData.value && visibleRoles.value) { |
|
|
|
if (visibleRoles.value) { |
|
|
|
visibleRoles.value.forEach(role => { |
|
|
|
role.remindNum = 0; |
|
|
|
remindData.value.forEach(remind => { |
|
|
|
const remind_data = JSON.parse(remind.data); |
|
|
|
if (projectId.value === remind_data.data.projectId && remind_data.data.roleId === role.id) { |
|
|
|
role.remindNum++; |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
if (allTasks.value.length) { |
|
|
|
allTasks.value.forEach(data => { |
|
|
|
console.log(data); |
|
|
|
if (data.global) { |
|
|
|
data.global.forEach(global => { |
|
|
|
global.remindNum = 0; |
|
|
|
renderRemindData(global, remindData.value); |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
if (data.task) { |
|
|
|
data.task.forEach(task => { |
|
|
|
renderRemindData(task, remindData.value); |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
/** |
|
|
|
* 当角色发生变化时 |
|
|
|
* 重新查询永久日常任务和普通日常任务 |
|
|
|
@ -131,7 +167,7 @@ watch(timeNode, newValue => { |
|
|
|
store.commit('task/setCurrRoleShowTasks', currRoleShowTasks); // 设置当前角色的展示任务数据 |
|
|
|
store.commit('task/setUpNextPage', upNextPage); // 设置当前角色的真实任务数据的向上查询页数 |
|
|
|
store.commit('task/setDownNextPage', downNextPage); // 设置当前角色的真实任务数据向下查询页数 |
|
|
|
store.commit('socket/setCurrLocationTaskId', taskId.value || ''); |
|
|
|
store.commit('socket/setCurrLocationTaskId', targetTaskId.value || ''); |
|
|
|
|
|
|
|
// 查任务 |
|
|
|
getGlobalData(); // 查可变日常任务 |
|
|
|
@ -174,14 +210,42 @@ watch(globals, () => { |
|
|
|
const index = visibleRoles.value.findIndex(role => role.id === roleId.value); |
|
|
|
const arr = [...allTasks.value]; |
|
|
|
if (arr.length && index > -1) { |
|
|
|
if (remindData.value) { |
|
|
|
globals.value.forEach(global => { |
|
|
|
global.remindNum = 0; |
|
|
|
|
|
|
|
if (global.plugins && global.plugins.length) { |
|
|
|
global.plugins.forEach(pluginArr => { |
|
|
|
pluginArr.forEach(plugin => { |
|
|
|
plugin.remindNum = 0; |
|
|
|
remindData.value.forEach(remind => { |
|
|
|
const remind_data = JSON.parse(remind.data); |
|
|
|
|
|
|
|
if (projectId.value === remind_data.data.projectId && roleId.value === remind_data.data.roleId) { |
|
|
|
if (remind_data.data.taskId === global.id) { |
|
|
|
global.remindNum++; |
|
|
|
} |
|
|
|
|
|
|
|
if (remind_data.data.taskId === global.id && remind_data.data.pluginId === plugin.pluginTaskId) { |
|
|
|
plugin.remindNum++; |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
arr[index].global = [...globals.value]; |
|
|
|
} |
|
|
|
|
|
|
|
store.commit('task/setAllTasks', arr); |
|
|
|
}); |
|
|
|
|
|
|
|
// 获取可变全局任务 |
|
|
|
function getGlobalData() { |
|
|
|
if (!allTasks.value[roleIndex]) { |
|
|
|
if (!allTasks.value[roleIndex] && roleId.value) { |
|
|
|
const param = { |
|
|
|
roleId: roleId.value, |
|
|
|
timeNode: timeNode.value, |
|
|
|
@ -194,7 +258,7 @@ function getGlobalData() { |
|
|
|
|
|
|
|
// 获取日常任务 |
|
|
|
function getPermanent() { |
|
|
|
if (!allTasks.value[roleIndex]) { |
|
|
|
if (!allTasks.value[roleIndex] && roleId.value) { |
|
|
|
const params = { |
|
|
|
roleId: roleId.value, |
|
|
|
projectId: projectId.value, |
|
|
|
@ -224,13 +288,16 @@ function clearTasksData() { |
|
|
|
|
|
|
|
// tabs通知swiper切换 |
|
|
|
function tabsChange(e) { |
|
|
|
console.log('切换角色', e); |
|
|
|
const { id } = visibleRoles.value[e.detail.current]; |
|
|
|
store.commit('role/setRoleIndex', e.detail.current); |
|
|
|
store.commit('role/setRoleId', id); |
|
|
|
} |
|
|
|
|
|
|
|
// 设置自动滚动位置 |
|
|
|
function setScrollPosition() { |
|
|
|
// 如果storage里有taskId 滚动到这个id的任务 |
|
|
|
const taskId = uni.$storage.getStorageSync('taskId'); |
|
|
|
|
|
|
|
if (taskId) { |
|
|
|
store.commit('task/setScrollToTaskId', `a${taskId}`); |
|
|
|
uni.$storage.setStorageSync('taskId', ''); // 记录后即刻清除本地存储 |
|
|
|
@ -262,6 +329,31 @@ function changeModal() { |
|
|
|
const params = { pageNum: 1, taskId: currLocationTaskId.value }; |
|
|
|
getTasksHook.getTasks(params); |
|
|
|
} |
|
|
|
|
|
|
|
function renderRemindData(data, remind) { |
|
|
|
data.remindNum = 0; |
|
|
|
if (data.plugins && data.plugins.length) { |
|
|
|
data.plugins.forEach(pluginArr => { |
|
|
|
pluginArr.forEach(plugin => { |
|
|
|
plugin.remindNum = 0; |
|
|
|
|
|
|
|
remind.forEach(item => { |
|
|
|
const remind_data = JSON.parse(item.data); |
|
|
|
|
|
|
|
if (remind_data.data.projectId === projectId.value && remind_data.data.projectId === roleId.value) { |
|
|
|
if (remind_data.data.taskId === global.id) { |
|
|
|
data.remindNum++; |
|
|
|
} |
|
|
|
|
|
|
|
if (remind_data.data.taskId === global.id && remind_data.data.pluginId === plugin.pluginTaskId) { |
|
|
|
plugin.remindNum++; |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
|