const mutations = { /** * 记录时间轴向上滚动的距离 * @param { object } state * @param { number } num */ setScrollTop(state, num) { state.scrollTop = num; }, /** * 设置日常任务当前是否应该处于收缩状态 * @param { object } state * @param { boolean } data */ setShrink(state, data) { state.isShrink = data; }, /** * 设置tip的值 * @param {object} state * @param {object} data */ setTip(state, data) { if (!data) return; state.tip = { ...data }; }, /** * 是否显示tips * @param { object } state * @param { boolean } show */ setTipShow(state, show) { state.tip.show = show; }, /** * 是否显示tips * @param { object } state * @param { number } status */ setStatus(state, status) { state.tip.status = status; }, /** * 设置时间基准点 * @param { object } state * @param { number } data */ setTimeNode(state, data) { state.timeNode = data; }, /** * 设置时间颗粒度 * @param { object } state * @param { number } data */ setTimeUnit(state, data) { state.timeUnit = data; }, /** * 设置向上查到的定期任务数据 * @param {Object} state * @param {Array} data 服务端返回的模板数组 */ setUpTasks(state, data) { if (!data || !data.length) { state.topEnd = true; let sTime = ''; if (!state.tasks || !state.tasks.length) { sTime = +new Date().getTime(); } else { sTime = +state.tasks[0].planStart - 0; } const initData = [ { panel: {}, plugins: [], process: 4, planStart: uni.$t.time.add(sTime, -3, 'day').valueOf(), }, { panel: {}, plugins: [], process: 4, planStart: uni.$t.time.add(sTime, -2, 'day').valueOf(), }, { panel: {}, plugins: [], process: 4, planStart: uni.$t.time.add(sTime, -1, 'day').valueOf(), }, ]; state.tasks = [...initData.concat(state.tasks)]; } else { if (!state.tasks && !state.tasks.length) { state.tasks = [...data]; } else { state.tasks = [...data.concat(state.tasks)]; } } }, /** * 设置向下查到的定期任务数据 * @param {Object} state * @param {Array} data 服务端返回的模板数组 */ setDownTasks(state, data) { if (!data || !data.length) { state.bottomEnd = true; let sTime = ''; if (!state.tasks || !state.tasks.length) { sTime = +new Date().getTime(); } else { sTime = +state.tasks[state.tasks.length - 1].planStart - 0; } const initData = [ { panel: {}, plugins: [], process: 4, planStart: uni.$t.time.add(sTime, 1, 'day').valueOf(), }, { panel: {}, plugins: [], process: 4, planStart: uni.$t.time.add(sTime, 2, 'day').valueOf(), }, { panel: {}, plugins: [], process: 4, planStart: uni.$t.time.add(sTime, 3, 'day').valueOf(), }, ]; state.tasks = [...state.tasks.concat(initData)]; } else { if (!state.tasks && !state.tasks.length) { state.tasks = [...data]; } else { state.tasks = [...state.tasks.concat(data)]; } } }, /** * 设置日常任务数据 * @param {Object} state * @param {Array} data 服务端返回的模板数组 */ setDailyTasks(state, data) { state.dailyTasks = data || []; }, /** * 设置永久固定任务 * @param {object} state * @param {array} tasks 服务端查询到的永久日常任务书籍 */ setPermanents(state, tasks) { state.permanents = tasks || []; }, // 清空标志位 任务 如切换角色等使用 clearEndFlag(state) { state.tasks = []; state.topEnd = false; state.bottomEnd = false; }, /** * 收到消息设置任务状态 * @param {Object} state * @param {Array} data 服务端返回的模板数组 */ setTaskStatus(state, data) { const item = state.tasks.find(i => i.id === data.id); item.process = data.taskStatus; }, /** * 设置骨架屏是否显示 * @param {Object} state * @param {Boolean} show */ setShowSkeleton(state, show) { state.showSkeleton = show; }, }; export default mutations;