diff --git a/api/oa/reportSummary.js b/api/oa/reportSummary.js
index 62218e4..92cab57 100644
--- a/api/oa/reportSummary.js
+++ b/api/oa/reportSummary.js
@@ -2,43 +2,6 @@ import request from "@/util/oaRequest"
// 查询设计项目汇报概述列表
export async function listReportSummary(query) {
- // return {
- // rows: [
- // {
- // reportSummaryId: 1,
- // reportTitle: '汇报标题',
- // reportDate: '汇报日期',
- // reporter: '汇报人',
- // projectName: '设计项目',
- // projectId: '1'
- // },
- // {
- // reportSummaryId: 2,
- // reportTitle: '汇报标题',
- // reportDate: '汇报日期',
- // reporter: '汇报人',
- // projectName: '设计项目',
- // projectId: '1'
- // },
- // {
- // reportSummaryId: 3,
- // reportTitle: '汇报标题',
- // reportDate: '汇报日期',
- // reporter: '汇报人',
- // projectName: '设计项目',
- // projectId: '1'
- // },
- // {
- // reportSummaryId: 4,
- // reportTitle: '汇报标题',
- // reportDate: '汇报日期',
- // reporter: '汇报人',
- // projectName: '设计项目',
- // projectId: '1'
- // },
- // ],
- // total: 1,
- // }
return request({
url: '/system/reportSummary/list',
method: 'get',
diff --git a/api/oa/task.js b/api/oa/task.js
new file mode 100644
index 0000000..d9a90e6
--- /dev/null
+++ b/api/oa/task.js
@@ -0,0 +1,107 @@
+import request from "@/util/oaRequest"
+
+// 查询任务列表
+export function listTask(query) {
+ return request({
+ url: '/oa/task/list',
+ method: 'get',
+ params: query
+ })
+}
+
+
+// 查询指定月份的任务列表
+export function monthData(month) {
+ return request({
+ url: '/oa/task/monthData/list/'+month,
+ method: 'get',
+
+ })
+}
+
+// 查询我的任务
+export function listTaskWork(query) {
+ return request({
+ url: '/oa/task/list-own-work',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询我创建的任务
+export function listTaskCreate(query) {
+ return request({
+ url: '/oa/task/list-own-create',
+ method: 'get',
+ params: query
+ })
+}
+
+//根据项目id和任务类型查询任务列表
+export function getTaskByDictType(pid){
+ return request({
+ url: '/oa/task/getTaskByDictType/' + pid,
+ method: 'get'
+ })
+}
+
+// 根据工作类型查询列表
+export function listTaskByType(query) {
+ return request({
+ url: '/oa/task/listByType',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询任务管理详细
+export function getTask(taskId) {
+ return request({
+ url: '/oa/task/' + taskId,
+ method: 'get'
+ })
+}
+
+// 新增任务管理
+export function addTask(data) {
+ return request({
+ url: '/oa/task',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改任务管理
+export function updateTask(data) {
+ return request({
+ url: '/oa/task',
+ method: 'put',
+ data: data
+ })
+}
+
+// 任务延期
+export function postponeTask(data) {
+ return request({
+ url: '/oa/task/postpone',
+ method: 'put',
+ data: data
+ })
+}
+
+// 多次任务延期
+export function postponeSuccess(data) {
+ return request({
+ url: '/oa/task/postponeSuccess',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除任务管理
+export function delTask(taskId) {
+ return request({
+ url: '/oa/task/' + taskId,
+ method: 'delete'
+ })
+}
diff --git a/api/oa/taskItem.js b/api/oa/taskItem.js
new file mode 100644
index 0000000..58e087a
--- /dev/null
+++ b/api/oa/taskItem.js
@@ -0,0 +1,53 @@
+import request from "@/util/oaRequest"
+
+// 查询报工任务单元列表
+export function listOaTaskItem(query) {
+ return request({
+ url: '/oa/oaTaskItem/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询报工任务单元详细
+export function getOaTaskItem(itemId) {
+ return request({
+ url: '/oa/oaTaskItem/' + itemId,
+ method: 'get'
+ })
+}
+
+// 新增报工任务单元
+export function addOaTaskItem(data) {
+ return request({
+ url: '/oa/oaTaskItem',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改报工任务单元
+export function updateOaTaskItem(data) {
+ return request({
+ url: '/oa/oaTaskItem',
+ method: 'put',
+ data: data
+ })
+}
+
+// 修改报工任务单元
+export function reportFormSubmit(data) {
+ return request({
+ url: '/oa/oaTaskItem/reportSubmit',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除报工任务单元
+export function delOaTaskItem(itemId) {
+ return request({
+ url: '/oa/oaTaskItem/' + itemId,
+ method: 'delete'
+ })
+}
diff --git a/api/oa/user.js b/api/oa/user.js
new file mode 100644
index 0000000..e504b86
--- /dev/null
+++ b/api/oa/user.js
@@ -0,0 +1,159 @@
+import request from "@/util/oaRequest"
+
+// 查询用户列表
+export function listUser(query) {
+ return request({
+ url: '/system/user/list',
+ method: 'get',
+ params: query
+ })
+}
+// 查询用户列表
+export function tempRole(userId) {
+ return request({
+ url: '/system/user/tempRole/'+userId,
+ method: 'get',
+ })
+}
+
+// 查询员工列表
+export function listWorker(query) {
+ return request({
+ url: '/system/user/worker/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询用户列表,用于流程里的用户选择
+export function selectUser(query) {
+ return request({
+ url: '/system/user/selectUser',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询用户详细
+export function getUser(userId) {
+ return request({
+ url: '/system/user/' + userId,
+ method: 'get'
+ })
+}
+
+// 新增用户
+export function addUser(data) {
+ return request({
+ url: '/system/user',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改用户
+export function updateUser(data) {
+ return request({
+ url: '/system/user',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除用户
+export function delUser(userId) {
+ return request({
+ url: '/system/user/' + userId,
+ method: 'delete'
+ })
+}
+
+// 用户密码重置
+export function resetUserPwd(userId, password) {
+ const data = {
+ userId,
+ password
+ }
+ return request({
+ url: '/system/user/resetPwd',
+ method: 'put',
+ data: data
+ })
+}
+
+// 用户状态修改
+export function changeUserStatus(userId, status) {
+ const data = {
+ userId,
+ status
+ }
+ return request({
+ url: '/system/user/changeStatus',
+ method: 'put',
+ data: data
+ })
+}
+
+// 查询用户个人信息
+export function getUserProfile() {
+ return request({
+ url: '/system/user/profile',
+ method: 'get'
+ })
+}
+
+// 修改用户个人信息
+export function updateUserProfile(data) {
+ return request({
+ url: '/system/user/profile',
+ method: 'put',
+ data: data
+ })
+}
+
+// 用户密码重置
+export function updateUserPwd(oldPassword, newPassword) {
+ const data = {
+ oldPassword,
+ newPassword
+ }
+ return request({
+ url: '/system/user/profile/updatePwd',
+ method: 'put',
+ params: data
+ })
+}
+
+// 用户头像上传
+export function uploadAvatar(data) {
+ return request({
+ url: '/system/user/profile/avatar',
+ method: 'post',
+ data: data
+ })
+}
+
+// 查询授权角色
+export function getAuthRole(userId) {
+ return request({
+ url: '/system/user/authRole/' + userId,
+ method: 'get'
+ })
+}
+
+// 保存授权角色
+export function updateAuthRole(data) {
+ return request({
+ url: '/system/user/authRole',
+ method: 'put',
+ params: data
+ })
+}
+
+// 查询部门下拉树结构
+export function deptTreeSelect() {
+ return request({
+ url: '/system/user/deptTree',
+ method: 'get'
+ })
+}
diff --git a/pages.json b/pages.json
index 2a85608..04145c3 100644
--- a/pages.json
+++ b/pages.json
@@ -259,7 +259,7 @@
"style" :
{
"navigationBarTitleText" : "施工进度",
- "navigationStyle": "default"
+ "navigationStyle": "default"
}
},
{
@@ -267,7 +267,31 @@
"style" :
{
"navigationBarTitleText" : "施工进度详情",
- "navigationStyle": "default"
+ "navigationStyle": "default"
+ }
+ },
+ {
+ "path" : "pages/workbench/task/task",
+ "style" :
+ {
+ "navigationBarTitleText" : "任务中心",
+ "navigationStyle": "default"
+ }
+ },
+ {
+ "path" : "pages/workbench/task/create",
+ "style" :
+ {
+ "navigationBarTitleText" : "新增任务",
+ "navigationStyle": "default"
+ }
+ },
+ {
+ "path" : "pages/workbench/task/reportTaskDetail",
+ "style" :
+ {
+ "navigationBarTitleText" : "报工任务详情",
+ "navigationStyle": "default"
}
}
],
diff --git a/pages/workbench/index/index.vue b/pages/workbench/index/index.vue
index 2d47be7..d02a9cc 100644
--- a/pages/workbench/index/index.vue
+++ b/pages/workbench/index/index.vue
@@ -14,6 +14,10 @@
施工进度
+
+
+ 任务中心
+
@@ -35,7 +39,12 @@ export default {
uni.navigateTo({
url: '/pages/workbench/construction/construction'
});
- }
+ },
+ goTask() {
+ uni.navigateTo({
+ url: '/pages/workbench/task/task'
+ })
+ }
}
};
diff --git a/pages/workbench/reportWork/reportWork.vue b/pages/workbench/reportWork/reportWork.vue
index c0dd73b..fe903b7 100644
--- a/pages/workbench/reportWork/reportWork.vue
+++ b/pages/workbench/reportWork/reportWork.vue
@@ -227,8 +227,8 @@ export default {
const tabHeight = 100; // tab高度
const containerPadding = 40; // 容器padding
// 悬浮按钮是固定定位,不需要预留空间,让卡片列表到达底部
- // 我也不知道为什么要 + 100, 不然滚动高度下面一大片空白,这个不太好调试
- this.scrollHeight = systemInfo.windowHeight - tabHeight - containerPadding + 100;
+ // 我也不知道为什么要 + 80, 不然滚动高度下面一大片空白,这个不太好调试
+ this.scrollHeight = systemInfo.windowHeight - tabHeight - containerPadding + 80;
},
// 切换tab
diff --git a/pages/workbench/task/create.vue b/pages/workbench/task/create.vue
new file mode 100644
index 0000000..d0758b6
--- /dev/null
+++ b/pages/workbench/task/create.vue
@@ -0,0 +1,972 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/workbench/task/reportTaskDetail.vue b/pages/workbench/task/reportTaskDetail.vue
new file mode 100644
index 0000000..d53be6d
--- /dev/null
+++ b/pages/workbench/task/reportTaskDetail.vue
@@ -0,0 +1,239 @@
+
+
+
+
+ {{ taskDetail.taskTitle }}
+ 负责人:{{ taskDetail.workerNickName || '-' }}
+ 开始时间:{{ taskDetail.beginTime || '-' }}
+ 结束时间:{{ taskDetail.finishTime || '-' }}
+ 创建人:{{ taskDetail.createUserNickName || '-' }}
+ 创建时间:{{ taskDetail.createTime || '-' }}
+ 任务描述
+
+ 报工进度
+
+
+ 进度时间:{{ item.signTime || '-' }}
+ 进度区间:{{ item.beginTime || '-' }} ~ {{ item.endTime || '-' }}
+ 进度内容:
+
+ 完成时间:{{ item.completedTime || '-' }}
+
+
+ 暂无报工进度
+
+ 新增报工
+
+
+
+ 新增报工
+
+
+ {{ addForm.beginTime }} ~ {{ addForm.endTime }}
+
+
+ {{ addForm.signTime }}
+
+
+ {{ addForm.completedTime }}
+
+
+
+
+
+
+
+
+
+ 提交
+ 取消
+
+
+
+
+ 未查询到任务详情
+
+
+
+
+
+
diff --git a/pages/workbench/task/task.vue b/pages/workbench/task/task.vue
new file mode 100644
index 0000000..ec23fa2
--- /dev/null
+++ b/pages/workbench/task/task.vue
@@ -0,0 +1,800 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ task.taskTitle || '未命名任务' }}
+
+ {{ getStatusText(task.state) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/static/images/task.png b/static/images/task.png
new file mode 100644
index 0000000..bfa1d54
Binary files /dev/null and b/static/images/task.png differ
diff --git a/util/oaRequest.js b/util/oaRequest.js
index 4d3b5d1..fd23068 100644
--- a/util/oaRequest.js
+++ b/util/oaRequest.js
@@ -10,7 +10,14 @@ const baseUrl = 'http://110.41.139.73:8080'
const request = config => {
// 是否需要设置 token
const isToken = (config.headers || {}).isToken === false
- config.header = config.header || {}
+ // 合并 header,优先 config.header
+ config.header = Object.assign({
+ 'Content-Type': 'application/json;charset=UTF-8',
+ 'Accept': 'application/json, text/plain, */*',
+ 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
+ 'Content-Language': 'zh_CN',
+ 'User-Agent': uni.getStorageSync('userAgent') || 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0'
+ }, config.header || {})
if (getToken() && !isToken) {
config.header['Authorization'] = 'Bearer ' + getToken()
}