diff --git a/CHANGELOG.md b/CHANGELOG.md index b39ddd4..cc13fa4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -82,6 +82,7 @@ deliver 交付物 | 点击交付物链接webview打开链接 | [daa59f1](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/daa59f1) - | first commit | [8dc26de](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/8dc26de) - | get请求 | [3a61439](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/3a61439) + - | lwbs跳转 | [78e31c5](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/78e31c5) project | 日常任务面板添加 | [b3f16ff](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/b3f16ff) - | socket | [996a1ca](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/996a1ca) theme | theme demo | [9175758](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/9175758) diff --git a/components/Roles/Roles.vue b/components/Roles/Roles.vue index ac2f633..b552e16 100644 --- a/components/Roles/Roles.vue +++ b/components/Roles/Roles.vue @@ -35,7 +35,7 @@ diff --git a/components/TimeLine/component/TimeBox.vue b/components/TimeLine/component/TimeBox.vue index 207777d..e235bd8 100644 --- a/components/TimeLine/component/TimeBox.vue +++ b/components/TimeLine/component/TimeBox.vue @@ -105,14 +105,12 @@ function setHeight(panel) { * @param {string} taskId 任务id */ function onClickTask(planStart, taskId) { - const param = { projectId: projectId.value, roleId: roleId.value, timeNode: planStart, timeUnit: timeUnit.value }; - const index = visibleRoles.value.findIndex(role => role.id === roleId.value); - const arr = [...allTasks.value]; - const permanents = arr.length && index > -1 ? arr[index].global : []; - store.commit('task/setPermanents', permanents); - store.dispatch('task/getGlobal', param); - uni.$storage.setStorageSync('taskId', taskId); - uni.$storage.setStorageSync('roleId', roleId.value); + if (roleId.value) { + const param = { projectId: projectId.value, roleId: roleId.value, timeNode: planStart, timeUnit: timeUnit.value }; + store.dispatch('task/getGlobal', param); + uni.$storage.setStorageSync('taskId', taskId); + uni.$storage.setStorageSync('roleId', roleId.value); + } } function pinchHandler(evt) { diff --git a/hooks/project/useGetTasks.js b/hooks/project/useGetTasks.js index ab77fe3..ff49219 100644 --- a/hooks/project/useGetTasks.js +++ b/hooks/project/useGetTasks.js @@ -32,11 +32,8 @@ export default function useGetTasks() { // 初始化 定期任务 async function initPlanTasks() { - // if (timeLineType.value === 1) setNextPlaceholderTasks({}); uni.$ui.showLoading(); - console.log('查询定期任务11111111111111111'); await getTasks({}); // 获取初始数据 - // await dataRender({}); } /** @@ -52,7 +49,8 @@ export default function useGetTasks() { pageNum: query.pageNum || 1, pageSize: query.pageSize || uni.$taskConfig.pageCount, taskId: query.taskId || currLocationTaskId.value, - businessCode: query.businessCode || businessCode.value + businessCode: query.businessCode || businessCode.value, + triggerType: query.triggerType || 1 }; } @@ -77,7 +75,6 @@ export default function useGetTasks() { } const params = generateGetTaskParam(query); - console.log('查询定期任务api', params); uni.$catchReq.getTaskByNum(params, (err, data) => { store.commit('task/setShowSkeleton', false); if (err) { @@ -88,7 +85,6 @@ export default function useGetTasks() { params.queryType === 0 ? store.commit('task/setUpRealTasks', data.list) : store.commit('task/setDownRealTasks', data.list); const index = visibleRoles.value.findIndex(role => role.id === roleId.value); - console.log('api当前角色id', roleId.value, index, data.list); const arr = [...allTasks.value]; arr[index].realTasks = [...realTasks.value]; arr[index].upNextPage = params.queryType === 0 ? data.nextPage : 1; @@ -115,9 +111,7 @@ export default function useGetTasks() { // 刻度模式数据处理 async function renderScaleTask(query) { const params = generateGetTaskParam(query); - console.log('当前角色id和真实任务', roleId.value, currRoleRealTasks.value); let centerData = await showTaskTime(params, currRoleShowTasks.value, currRoleRealTasks.value) || []; - console.log('需要显示的真实任务', centerData); await handleTasksData(params, centerData, currRoleRealTasks.value); } @@ -232,7 +226,6 @@ export default function useGetTasks() { } } else { if (nextPage > 0) { - console.log('数据为空') getTasks({pageNum: nextPage, queryType: params.queryType}); } else { params.queryType === 0 ? setPrevPlaceholderTasks(params) : setNextPlaceholderTasks(params); @@ -319,6 +312,35 @@ export default function useGetTasks() { const index = visibleRoles.value.findIndex(role => role.id === roleId.value); const arr = [...allTasks.value]; if (arr.length && index > -1) { + if (remindData.value) { + tasks.value.forEach(task => { + task.remindNum = 0; + task.msgId = ''; + + if (task.plugins && task.plugins.length) { + task.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 === task.id) { + task.remindNum++; + task.msgId = remind.id; + } + + if (remind_data.data.taskId === task.id && remind_data.data.pluginId === plugin.pluginTaskId) { + plugin.remindNum++; + } + } + }); + }); + }); + } + }) + } + arr[index].task = [...tasks.value]; store.commit('task/setCurrRoleShowTasks', arr[index].task); // 设置当前角色的展示任务数据 } diff --git a/hooks/project/useInit.js b/hooks/project/useInit.js index 9a7319e..f72dea3 100644 --- a/hooks/project/useInit.js +++ b/hooks/project/useInit.js @@ -63,10 +63,13 @@ export default function useInit() { // 设置 初始显示角色信息 function setInitialRoleId(visibleList) { if (!visibleList || !visibleList.length) return; - const index = visibleList.findIndex(item => +item.mine === 1); + let index = visibleList.findIndex(item => +item.mine === 1); const currentRole = index > 0 ? visibleList[index] : visibleList[0]; const storageRoleId = uni.$storage.getStorageSync('roleId'); const currentRoleId = storageRoleId || (currentRole ? currentRole.id : ''); + if (storageRoleId) { + index = visibleList.findIndex(item => item.id === storageRoleId); + } store.commit('role/setRoleId', currentRoleId); store.commit('role/setRoleIndex', index); // 清空storage @@ -85,12 +88,13 @@ export default function useInit() { uni.$ui.showToast('缺少项目信息参数'); // 没有项目id参数 } else { if (options.p !== uni.$storage.getStorageSync('projectId')) { + console.log('options', options) store.commit('project/setProject', options); - store.commit('role/setRoleId', options.roleId || ''); - uni.$storage.setStorageSync('roleId', ''); + store.commit('role/setRoleId', ''); + uni.$storage.setStorageSync('roleId', options.roleId || ''); store.commit('task/setAllTasks', []); store.commit('task/setBusinessCode', options.businessCode || ''); - store.commit('task/setTaskId', options.taskId || ''); + store.commit('task/setTargetTaskId', options.taskId || ''); } // 根据项目id获取项目信息 const params = { projectId: options.p, num: 0 }; diff --git a/manifest.json b/manifest.json index 3a90cfd..ae43c4d 100644 --- a/manifest.json +++ b/manifest.json @@ -2,7 +2,7 @@ "name" : "时物链条2", "appid" : "__UNI__6207504", "description" : "", - "versionName" : "1.0.3", + "versionName" : "1.0.5", "versionCode" : "100", "transformPx" : false, /* 5+App特有相关 */ diff --git a/pages/project/project.vue b/pages/project/project.vue index 058fdaf..081f277 100644 --- a/pages/project/project.vue +++ b/pages/project/project.vue @@ -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++; + } + } + }) + }) + }) + } +}