forked from ccsens_fe/tall-mui-3
31 changed files with 425 additions and 53 deletions
@ -0,0 +1 @@ |
|||||
|
VUE_APP_DOMAIN=qcp |
@ -1,10 +1,12 @@ |
|||||
const apiUrl = process.env.VUE_APP_API_URL; |
const apiUrl = process.env.VUE_APP_API_URL; |
||||
const tall = `${apiUrl}/defaultwbs/project`; |
import domainPath from '@/config/domains'; |
||||
|
const tall = `${apiUrl}${domainPath}`; |
||||
|
const project = `${tall}/project`; |
||||
|
|
||||
const install = (Vue, vm) => { |
const install = (Vue, vm) => { |
||||
vm.$u.api = { ...vm.$u.api } || {}; |
vm.$u.api = { ...vm.$u.api } || {}; |
||||
//根据id获取项目信息
|
//根据id获取项目信息
|
||||
vm.$u.api.findProjectById = param => vm.$u.post(`${tall}/findProjectById`, param); |
vm.$u.api.findProjectById = param => vm.$u.post(`${project}/findProjectById`, param); |
||||
}; |
}; |
||||
|
|
||||
export default { install }; |
export default { install }; |
||||
|
@ -1,10 +1,11 @@ |
|||||
const apiUrl = process.env.VUE_APP_API_URL; |
const apiUrl = process.env.VUE_APP_API_URL; |
||||
const tall = `${apiUrl}/defaultwbs/role`; |
import domain from '@/config/domains'; |
||||
|
const role = `${apiUrl}${domain}/role`; |
||||
|
|
||||
const install = (Vue, vm) => { |
const install = (Vue, vm) => { |
||||
vm.$u.api = { ...vm.$u.api } || {}; |
vm.$u.api = { ...vm.$u.api } || {}; |
||||
//根据时间基准点和角色查找定期任务
|
//根据时间基准点和角色查找定期任务
|
||||
vm.$u.api.findShowRole = param => vm.$u.post(`${tall}/show`, param); |
vm.$u.api.findShowRole = param => vm.$u.post(`${role}/show`, param); |
||||
}; |
}; |
||||
|
|
||||
export default { install }; |
export default { install }; |
||||
|
@ -1,12 +1,13 @@ |
|||||
const apiUrl = process.env.VUE_APP_API_URL; |
const apiUrl = process.env.VUE_APP_API_URL; |
||||
const tall = `${apiUrl}/defaultwbs/task`; |
import domain from '@/config/domains'; |
||||
|
const task = `${apiUrl}${domain}/task`; |
||||
|
|
||||
const install = (Vue, vm) => { |
const install = (Vue, vm) => { |
||||
vm.$u.api = { ...vm.$u.api } || {}; |
vm.$u.api = { ...vm.$u.api } || {}; |
||||
vm.$u.api.getGlobal = param => vm.$u.post(`${tall}/global`, param); |
vm.$u.api.getGlobal = param => vm.$u.post(`${task}/global`, param); |
||||
vm.$u.api.getPermanent = param => vm.$u.post(`${tall}/permanent`, param); |
vm.$u.api.getPermanent = param => vm.$u.post(`${task}/permanent`, param); |
||||
//根据时间基准点和角色查找定期任务
|
//根据时间基准点和角色查找定期任务
|
||||
vm.$u.api.getRegularTask = param => vm.$u.post(`${tall}/regular`, param); |
vm.$u.api.getRegularTask = param => vm.$u.post(`${task}/regular`, param); |
||||
}; |
}; |
||||
|
|
||||
export default { install }; |
export default { install }; |
||||
|
@ -0,0 +1,14 @@ |
|||||
|
const domain = process.env.VUE_APP_DOMAIN; |
||||
|
|
||||
|
const domains = { |
||||
|
default: { |
||||
|
path: '/defaultwbs', |
||||
|
description: '默认最小项目', |
||||
|
}, |
||||
|
qcp: { |
||||
|
path: '/qcp/v3.0', |
||||
|
description: '平车项目', |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
export default domains[domain].path; |
@ -1,10 +1,12 @@ |
|||||
import Vue from 'vue'; |
import Vue from 'vue'; |
||||
import Vuex from 'vuex'; |
import Vuex from 'vuex'; |
||||
import home from './home/index'; |
|
||||
import db from './db/index'; |
import db from './db/index'; |
||||
import user from './user/index'; |
import user from './user/index'; |
||||
import messages from './messages/index'; |
import messages from './messages/index'; |
||||
import socket from './socket/index'; |
import socket from './socket/index'; |
||||
|
import project from './project/index'; |
||||
|
import role from './role/index'; |
||||
|
import task from './task/index'; |
||||
|
|
||||
Vue.use(Vuex); |
Vue.use(Vuex); |
||||
export default new Vuex.Store({ modules: { home, db, user, messages, socket } }); |
export default new Vuex.Store({ modules: { db, user, messages, socket, project, role, task } }); |
||||
|
@ -0,0 +1,18 @@ |
|||||
|
const actions = { |
||||
|
/** |
||||
|
* 通过项目id获取项目信息 |
||||
|
* @param {any} commit |
||||
|
* @param {object} params 提交的参数 |
||||
|
*/ |
||||
|
async getProjectById({ commit }, params) { |
||||
|
try { |
||||
|
const res = await uni.$u.api.findProjectById(params); |
||||
|
commit('setProject', res); |
||||
|
return res; |
||||
|
} catch (error) { |
||||
|
throw error || '获取项目信息失败'; |
||||
|
} |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
export default actions; |
@ -0,0 +1,11 @@ |
|||||
|
const getters = { |
||||
|
/** |
||||
|
* 当前项目的id |
||||
|
* @param {object} project |
||||
|
*/ |
||||
|
projectId({ project }) { |
||||
|
return project.id; |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
export default getters; |
@ -0,0 +1,12 @@ |
|||||
|
import state from './state'; |
||||
|
import getters from './getters'; |
||||
|
import mutations from './mutations'; |
||||
|
import actions from './actions'; |
||||
|
|
||||
|
export default { |
||||
|
namespaced: true, |
||||
|
state, |
||||
|
getters, |
||||
|
mutations, |
||||
|
actions, |
||||
|
}; |
@ -0,0 +1,21 @@ |
|||||
|
const mutations = { |
||||
|
/** |
||||
|
* 设置当前项目信息 |
||||
|
* @param { object } state |
||||
|
* @param { object } data |
||||
|
*/ |
||||
|
setProject(state, data) { |
||||
|
state.project = { ...data }; |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 设置当前项目名称 |
||||
|
* @param { object } state |
||||
|
* @param { string } data |
||||
|
*/ |
||||
|
setProjectName(state, data) { |
||||
|
state.project.name = data; |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
export default mutations; |
@ -0,0 +1,5 @@ |
|||||
|
const state = { |
||||
|
project: { name: '加载中...' }, // 当前项目信息
|
||||
|
}; |
||||
|
|
||||
|
export default state; |
@ -0,0 +1,19 @@ |
|||||
|
const actions = { |
||||
|
/** |
||||
|
* 通过项目id获取角色信息 |
||||
|
* @param {any} commit |
||||
|
* @param {object} params 提交的参数 |
||||
|
*/ |
||||
|
async getRoles({ commit }, params) { |
||||
|
try { |
||||
|
const res = await uni.$u.api.findShowRole(params); |
||||
|
commit('setInvisibleRoles', res.invisibleList); |
||||
|
commit('setVisibleRoles', res.visibleList); |
||||
|
return res; |
||||
|
} catch (error) { |
||||
|
throw error || '获取角色信息失败'; |
||||
|
} |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
export default actions; |
@ -0,0 +1,3 @@ |
|||||
|
const getters = {}; |
||||
|
|
||||
|
export default getters; |
@ -0,0 +1,12 @@ |
|||||
|
import state from './state'; |
||||
|
import getters from './getters'; |
||||
|
import mutations from './mutations'; |
||||
|
import actions from './actions'; |
||||
|
|
||||
|
export default { |
||||
|
namespaced: true, |
||||
|
state, |
||||
|
getters, |
||||
|
mutations, |
||||
|
actions, |
||||
|
}; |
@ -0,0 +1,30 @@ |
|||||
|
const mutations = { |
||||
|
/** |
||||
|
* 设置不展示的角色信息 |
||||
|
* @param {Object} state |
||||
|
* @param {Array} data 服务端返回的模板数组 |
||||
|
*/ |
||||
|
setInvisibleRoles(state, data) { |
||||
|
state.invisibleRoles = data || []; |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 设置展示的角色信息 |
||||
|
* @param {Object} state |
||||
|
* @param {Array} data 服务端返回的模板数组 |
||||
|
*/ |
||||
|
setVisibleRoles(state, data) { |
||||
|
state.visibleRoles = data || []; |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 设置当前角色信息 |
||||
|
* @param {Object} state |
||||
|
* @param {string} roleId 当前正在展示的角色的id |
||||
|
*/ |
||||
|
setRoleId(state, roleId) { |
||||
|
state.roleId = roleId; |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
export default mutations; |
@ -0,0 +1,7 @@ |
|||||
|
const state = { |
||||
|
invisibleRoles: [], // 不展示的角色信息
|
||||
|
visibleRoles: [], // 展示的角色信息
|
||||
|
roleId: '', // 当前展示查看的角色id
|
||||
|
}; |
||||
|
|
||||
|
export default state; |
@ -0,0 +1,18 @@ |
|||||
|
const actions = { |
||||
|
/** |
||||
|
* 根据时间基准点和角色查找定期任务 |
||||
|
* @param {string} roleId 角色id |
||||
|
* @param {string} timeNode 时间基准点 默认当前 |
||||
|
* @param {string} timeUnit 时间颗粒度 默认天 |
||||
|
*/ |
||||
|
// eslint-disable-next-line
|
||||
|
async handleRegularTask({ commit }, param) { |
||||
|
try { |
||||
|
return await uni.$u.api.getRegularTask(param); |
||||
|
} catch (error) { |
||||
|
throw error || '获取定期任务失败'; |
||||
|
} |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
export default actions; |
@ -0,0 +1,3 @@ |
|||||
|
const getters = {}; |
||||
|
|
||||
|
export default getters; |
@ -0,0 +1,12 @@ |
|||||
|
import state from './state'; |
||||
|
import getters from './getters'; |
||||
|
import mutations from './mutations'; |
||||
|
import actions from './actions'; |
||||
|
|
||||
|
export default { |
||||
|
namespaced: true, |
||||
|
state, |
||||
|
getters, |
||||
|
mutations, |
||||
|
actions, |
||||
|
}; |
@ -0,0 +1,142 @@ |
|||||
|
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; |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 存储鼠标点击位置 |
||||
|
* @param { object } state |
||||
|
* @param { object } data |
||||
|
*/ |
||||
|
setClient(state, data) { |
||||
|
state.client = { ...data }; |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 是否显示tips |
||||
|
* @param { object } state |
||||
|
* @param { boolean } data |
||||
|
*/ |
||||
|
setTips(state, data) { |
||||
|
state.showTips = data; |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 是否显示tips |
||||
|
* @param { object } state |
||||
|
* @param { number } data |
||||
|
*/ |
||||
|
setStatus(state, data) { |
||||
|
state.status = data; |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 是否显示tips |
||||
|
* @param { object } state |
||||
|
* @param { string } data |
||||
|
*/ |
||||
|
setTipsContent(state, data) { |
||||
|
state.tipsContent = data; |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 设置时间基准点 |
||||
|
* @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; |
||||
|
} |
||||
|
if (!state.tasks[0].name) { |
||||
|
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; |
||||
|
} |
||||
|
if (!state.tasks[0].name) { |
||||
|
state.tasks = [...data]; |
||||
|
} else { |
||||
|
state.tasks = [...state.tasks.concat(data)]; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 清空定期任务数据 |
||||
|
* @param {Object} state |
||||
|
*/ |
||||
|
setTasks(state) { |
||||
|
const time = +new Date().getTime(); |
||||
|
const data = [ |
||||
|
{ |
||||
|
panel: {}, |
||||
|
plugins: [], |
||||
|
planStart: uni.$t.time.add(time, -1, 'day').valueOf(), |
||||
|
}, |
||||
|
{ |
||||
|
panel: {}, |
||||
|
plugins: [], |
||||
|
planStart: time, |
||||
|
}, |
||||
|
{ |
||||
|
panel: {}, |
||||
|
plugins: [], |
||||
|
planStart: uni.$t.time.add(time, 1, 'day').valueOf(), |
||||
|
}, |
||||
|
]; |
||||
|
state.tasks = data; |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 设置日常任务数据 |
||||
|
* @param {Object} state |
||||
|
* @param {Array} data 服务端返回的模板数组 |
||||
|
*/ |
||||
|
setDailyTasks(state, data) { |
||||
|
state.dailyTasks = data || []; |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
export default mutations; |
@ -0,0 +1,35 @@ |
|||||
|
const state = { |
||||
|
scrollTop: 0, |
||||
|
isShrink: false, // true: 收起, false:展开
|
||||
|
client: { |
||||
|
left: 0, // 鼠标点击位置距离左边的距离
|
||||
|
top: 0, // 鼠标点击位置距离上边的距离
|
||||
|
}, |
||||
|
showTips: false, |
||||
|
status: 0, // 点击了时间轴上的哪种样式,默认点击了开始
|
||||
|
tipsContent: '', // 提示框内的内容,需要传入
|
||||
|
timeNode: new Date().getTime(), // 时间基准点
|
||||
|
timeUnit: 4, // // 时间颗粒度
|
||||
|
tasks: [ |
||||
|
{ |
||||
|
panel: {}, |
||||
|
plugins: [], |
||||
|
planStart: uni.$t.time.add(+new Date().getTime(), -1, 'day').valueOf(), |
||||
|
}, |
||||
|
{ |
||||
|
panel: {}, |
||||
|
plugins: [], |
||||
|
planStart: new Date().getTime(), |
||||
|
}, |
||||
|
{ |
||||
|
panel: {}, |
||||
|
plugins: [], |
||||
|
planStart: uni.$t.time.add(+new Date().getTime(), 1, 'day').valueOf(), |
||||
|
}, |
||||
|
], // 定期任务
|
||||
|
topEnd: false, // 时间轴向上查任务到顶了
|
||||
|
bottomEnd: false, // 时间轴向下查任务到底了
|
||||
|
dailyTasks: [], // 日常任务
|
||||
|
}; |
||||
|
|
||||
|
export default state; |
Loading…
Reference in new issue