From 1b9b94bd65d49581f72a771f1936fb36db98ca5a Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 24 三月 2025 11:40:43 +0800
Subject: [PATCH] 首页展示容缺待办
---
src/views/components/noticeTable.vue | 63 ++++++++++++++++++++++++++++---
src/api/projectProcess/projectProcess.js | 12 +++++
src/views/projectProcess/detail/index.vue | 28 +++++++++++---
src/views/components/tidingsTable.vue | 3 +
4 files changed, 92 insertions(+), 14 deletions(-)
diff --git a/src/api/projectProcess/projectProcess.js b/src/api/projectProcess/projectProcess.js
index 2a416e4..5c0b743 100644
--- a/src/api/projectProcess/projectProcess.js
+++ b/src/api/projectProcess/projectProcess.js
@@ -46,7 +46,7 @@
})
}
-// 杩涘害寰呭姙鍒楄〃
+// 娴佺▼寰呭姙鍒楄〃
export function getProjectProcessTodo(query) {
return request({
url: '/project-process/to_do_task',
@@ -54,6 +54,16 @@
params: query
})
}
+
+// 娴佺▼寰呭姙鍒楄〃
+export function getProjectProcessWait(query) {
+ return request({
+ url: '/project-process/wait_task',
+ method: 'get',
+ params: query
+ })
+}
+
export function getDetailByProcessInsId(query) {
return request({
url: '/project-process/detail-by-process_ins_id',
diff --git a/src/views/components/noticeTable.vue b/src/views/components/noticeTable.vue
index b1367c0..9e173d3 100644
--- a/src/views/components/noticeTable.vue
+++ b/src/views/components/noticeTable.vue
@@ -11,6 +11,13 @@
娴佺▼寰呭姙
</div>
<div
+ :class="{ active: currentTab === 'wait' }"
+ class="tab"
+ @click="switchTab('wait')"
+ >
+ 瀹圭己寰呭姙
+ </div>
+ <div
:class="{ active: currentTab === 'schedule' }"
class="tab"
@click="switchTab('schedule')"
@@ -82,7 +89,11 @@
</div>
</template>
<script>
-import { getProjectProcessTodo, getDetailByProcessInsId } from "@/api/projectProcess/projectProcess.js";
+import {
+ getProjectProcessTodo,
+ getDetailByProcessInsId,
+ getProjectProcessWait
+} from "@/api/projectProcess/projectProcess.js";
import { getProjectPlanToDoList } from "@/api/projectPlan";
export default {
data() {
@@ -127,6 +138,37 @@
align: "left",
},
],
+ waitTableHeaders: [
+ { label: "娴佺▼鐜妭", prop: "taskName", minWidth: 150, align: "left" },
+ {
+ label: "鐢宠椤圭洰",
+ prop: "projectName",
+ minWidth: 150,
+ align: "left",
+ },
+ {
+ label: "澶勭悊浜�",
+ prop: "promoterName",
+ minWidth: 100,
+ align: "left",
+ formatter: (row) => {
+ if (row.handlerType === 'USER') {
+ return row.promoterName.join('銆�')
+ } else if (row.handlerType === 'DEPT') {
+ return row.promoterUnitName.join('銆�')
+ } else if (row.handlerType === 'ROLE') {
+ return row.promoterUnitName.join('銆�')
+ }
+ }
+ },
+ // { label: "瀹屾垚鎯呭喌", prop: "taskStatus", minWidth: 143, align: "left" },
+ // {
+ // label: "鍓╀綑鏃堕棿",
+ // prop: "remainingTime",
+ // minWidth: 143,
+ // align: "left",
+ // },
+ ],
scheduleTableHeaders: [
{
label: "寰呭姙浜嬮」",
@@ -180,6 +222,13 @@
this.tableData = resp.taskList;
this.tableLoading = false
}
+ } else if (this.currentTab == "wait") {
+ resp = await getProjectProcessWait(this.queryParams);
+ if (resp.code === 200) {
+ this.total = resp.total;
+ this.tableData = resp.data;
+ this.tableLoading = false
+ }
} else {
resp = await getProjectPlanToDoList(this.queryParams);
if (resp.code === 200) {
@@ -190,7 +239,7 @@
}
},
async handleDetail(row) {
- if (this.currentTab == "process") {
+ if (this.currentTab == "process" || this.currentTab == "wait") {
const resp = await getDetailByProcessInsId({ processDefId: row.processDefId, processInsId: row.processInsId });
if (resp.code === 200 && resp.data.length > 0) {
const projectProcess = resp.data[0]
@@ -202,7 +251,8 @@
processDefId: row.processDefId,
processInsId: row.processInsId,
deployId: row.deployId,
- processName: row.processName
+ processName: row.processName,
+ selectTabId: this.currentTab == "process" ? 2 : 3
}
})
}
@@ -217,7 +267,7 @@
}
},
async handleUpdate(row) {
- if (this.currentTab == "process") {
+ if (this.currentTab == "process" || this.currentTab == "wait") {
const resp = await getDetailByProcessInsId({ processDefId: row.processDefId, processInsId: row.processInsId });
if (resp.code === 200 && resp.data.length > 0) {
const projectProcess = resp.data[0]
@@ -229,7 +279,8 @@
processDefId: row.processDefId,
processInsId: row.processInsId,
deployId: row.deployId,
- processName: row.processName
+ processName: row.processName,
+ selectTabId: this.currentTab == "process" ? 2 : 3
}
})
}
@@ -246,7 +297,7 @@
switchTab(tab) {
this.currentTab = tab;
this.currentTableHeaders =
- tab == "process" ? this.processTableHeaders : this.scheduleTableHeaders;
+ tab == "process" ? this.processTableHeaders : tab == "wait" ? this.waitTableHeaders : this.scheduleTableHeaders;
this.getList();
},
},
diff --git a/src/views/components/tidingsTable.vue b/src/views/components/tidingsTable.vue
index 2d76661..067a28b 100644
--- a/src/views/components/tidingsTable.vue
+++ b/src/views/components/tidingsTable.vue
@@ -35,6 +35,7 @@
:label="column.label"
:min-width="column.minWidth"
:prop="column.prop"
+ :show-overflow-tooltip="column.showOverflowTooltip"
>
<template v-if="column.slot === 'sort'" #default="scope">
<div
@@ -115,7 +116,7 @@
//閰嶇疆琛ㄦ牸琛ㄥご鏁版嵁
currentTableHeaders: [
{ label: '#', prop: 'index', minWidth: 50, align: 'center', slot: 'sort' },
- { label: '娑堟伅鍐呭', prop: 'content', minWidth: 300, align: 'left' },
+ { label: '娑堟伅鍐呭', prop: 'content', minWidth: 300, align: 'left', showOverflowTooltip: true },
{ label: '鏃堕棿', prop: 'gmtCreate', minWidth: 143, align: 'left' }
]
}
diff --git a/src/views/projectProcess/detail/index.vue b/src/views/projectProcess/detail/index.vue
index 388a05a..43b4034 100644
--- a/src/views/projectProcess/detail/index.vue
+++ b/src/views/projectProcess/detail/index.vue
@@ -268,14 +268,35 @@
this.queryParams.processInsId = this.$route.query.processInsId
this.queryParams.deployId = this.$route.query.deployId
this.queryParams.processName = this.$route.query.processName
+ if (this.$route.query.selectTabId) {
+ this.selectTabId = parseInt(this.$route.query.selectTabId)
+ }
sessionStorage.setItem("projectProDetail", JSON.stringify(this.queryParams))
} else {
this.queryParams = params
}
this.loading = true
+ this.changeTab(this.selectTabId, this.transEventType(this.selectTabId))
this.getProjectProcessInfo()
},
methods: {
+ transEventType(selectTabId) {
+ if (selectTabId == 1) {
+ return "all"
+ } else if (selectTabId == 2) {
+ return "todo"
+ } else if (selectTabId == 3) {
+ return "wait"
+ } else if (selectTabId == 4) {
+ return "remaining"
+ } else if (selectTabId == 5) {
+ return "timely"
+ } else if (selectTabId == 6) {
+ return "overtime"
+ } else if (selectTabId == 8) {
+ return "urge"
+ }
+ },
submitSupervise() {
this.$refs["superviseForm"].validate(valid => {
if (valid) {
@@ -483,19 +504,14 @@
}
getProjectProcessDetail(param).then(res => {
this.detailData = res.data
- this.taskList = res.taskList
- this.total = res.total
this.loading = false
})
},
changeTab(id, event) {
- let beforeId = this.selectTabId
this.selectTabId = id
this.queryParams.taskType = event
this.queryParams.currentPage = 1;
- if (beforeId !== id) {
- this.getList()
- }
+ this.getList()
}
}
}
--
Gitblit v1.8.0