From 575e80fe83605dc469ceabe2fc87934e8612e5e6 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期六, 30 十一月 2024 07:55:42 +0800
Subject: [PATCH] 首页小手指
---
src/views/components/noticeTable.vue | 359 ++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 207 insertions(+), 152 deletions(-)
diff --git a/src/views/components/noticeTable.vue b/src/views/components/noticeTable.vue
index 099f0ac..ebf0b62 100644
--- a/src/views/components/noticeTable.vue
+++ b/src/views/components/noticeTable.vue
@@ -1,183 +1,238 @@
<template>
- <div>
- <div class="flex justify-between mb-[15px]">
- <div class="block mb-3 font-semibold fonts">寰呭姙浜嬮」</div>
- <div class="flex text-[12px]">
- <div
- :class="{ active: currentTab === 'process' }"
- class="tab"
- @click="switchTab('process')"
- >
- 娴佺▼寰呭姙
- </div>
- <!-- <div
- :class="{ active: currentTab === 'progress' }"
- class="tab"
- @click="switchTab('progress')"
- >
- 杩涘害寰呭姙
- </div> -->
- </div>
- </div>
- <el-table
- :data="tableData"
- :header-cell-style="{
- background: '#F5F7FC',
- color: '#454B5E',
- fontSize: '12px'
- }"
- height="280"
- max-height="280"
+ <div>
+ <div class="flex justify-between mb-[15px]">
+ <div class="block mb-3 font-semibold fonts">寰呭姙浜嬮」</div>
+ <div class="flex text-[12px]">
+ <div
+ :class="{ active: currentTab === 'process' }"
+ class="tab"
+ @click="switchTab('process')"
>
- <el-table-column
- v-for="column in currentTableHeaders"
- :key="column.prop"
- :align="column.align"
- :label="column.label"
- :min-width="column.minWidth"
- :prop="column.prop"
- :show-overflow-tooltip="true"
- >
- </el-table-column>
-
- <el-table-column
- align="center"
- fixed="right"
- label="鎿嶄綔"
- min-width="150"
- >
- <template #default="scope">
- <el-button
- plain
- size="small"
- type="primary"
- @click="handleDetail(scope.row)"
- >
- 鏌ョ湅</el-button
- >
- <el-button
- plain
- size="small"
- type="primary"
- @click="handleUpdate(scope.row)"
- >
- 澶勭疆</el-button
- >
- </template>
- </el-table-column>
- </el-table>
- <pagination
- v-show="total >= 0"
- :limit="queryParams.pageSize"
- :page="queryParams.pageNum"
- :total="total"
- @pagination="getList"
- />
+ 娴佺▼寰呭姙
+ </div>
+ <div
+ :class="{ active: currentTab === 'schedule' }"
+ class="tab"
+ @click="switchTab('schedule')"
+ >
+ 杩涘害寰呭姙
+ </div>
+ </div>
</div>
+ <el-table
+ :data="tableData"
+ :header-cell-style="{
+ background: '#F5F7FC',
+ color: '#454B5E',
+ fontSize: '12px',
+ }"
+ height="280"
+ max-height="280"
+ >
+ <el-table-column
+ v-for="column in currentTableHeaders"
+ :key="column.prop"
+ :align="column.align"
+ :label="column.label"
+ :min-width="column.minWidth"
+ :prop="column.prop"
+ :show-overflow-tooltip="true"
+ >
+ </el-table-column>
+
+ <el-table-column
+ align="center"
+ fixed="right"
+ label="鎿嶄綔"
+ min-width="150"
+ >
+ <template #default="scope">
+ <el-button
+ plain
+ size="small"
+ type="primary"
+ @click="handleDetail(scope.row)"
+ >
+ 鏌ョ湅</el-button
+ >
+ <el-button
+ plain
+ size="small"
+ type="primary"
+ @click="handleUpdate(scope.row)"
+ >
+ 澶勭疆</el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ v-show="total >= 0"
+ :limit="queryParams.pageSize"
+ :page="queryParams.pageNum"
+ :total="total"
+ @pagination="getList"
+ />
+ </div>
</template>
<script>
-
-import { getTodo } from '@/api/message';
+import { getProjectProcessTodo } from "@/api/projectProcess/projectProcess.js";
+import { getProjectPlanToDoList } from "@/api/projectPlan";
export default {
- data() {
- return {
- currentTab: "process",
- total: 0,
- queryParams: {
- pageNum: 1,
- pageSize: 10
- },
- tableData: [],
- currentTableHeaders: [
- { label: '娴佺▼鐜妭', prop: 'name', minWidth: 150, align: 'left' },
- { label: '鐢宠椤圭洰', prop: 'businessName', minWidth: 150, align: 'left' },
- { label: '瀹℃壒浜�', prop: 'assigneeName', minWidth: 100, align: 'left' },
- { label: '鍓╀綑鏃堕棿', prop: 'remainingTime', minWidth: 143, align: 'left' }
- ]
+ data() {
+ return {
+ currentTab: "process",
+ total: 0,
+ queryParams: {
+ pageNum: 1,
+ pageSize: 5,
+ },
+ tableData: [],
+ currentTableHeaders: [],
+ processTableHeaders: [
+ { label: "娴佺▼鐜妭", prop: "taskName", minWidth: 150, align: "left" },
+ {
+ label: "鐢宠椤圭洰",
+ prop: "processName",
+ minWidth: 150,
+ align: "left",
+ },
+ { label: "瀹℃壒浜�", prop: "handlerName", minWidth: 100, align: "left" },
+ { label: "瀹屾垚鎯呭喌", prop: "taskStatus", minWidth: 143, align: "left" },
+ {
+ label: "鍓╀綑鏃堕棿",
+ prop: "remainingTime",
+ minWidth: 143,
+ align: "left",
+ },
+ ],
+ scheduleTableHeaders: [
+ {
+ label: "寰呭姙浜嬮」",
+ prop: "projectPlanInfoTitle",
+ minWidth: 150,
+ align: "left",
+ },
+ {
+ label: "瀵瑰簲椤圭洰",
+ prop: "projectName",
+ minWidth: 150,
+ align: "left",
+ },
+ { label: "瀹℃壒浜�", prop: "assigneeName", minWidth: 100, align: "left" },
+ {
+ label: "鐘舵��",
+ prop: "progressStatusStr",
+ minWidth: 143,
+ align: "left",
+ },
+ {
+ label: "鍓╀綑鏃堕棿",
+ prop: "remainder",
+ minWidth: 143,
+ align: "left",
+ },
+ ],
+ };
+ },
+ props: {
+ calculation: Array,
+ countExceptionProjectData: Object,
+ },
+ created() {
+ (this.currentTab = "process"),
+ (this.currentTableHeaders = this.processTableHeaders);
+ this.getList();
+ },
+ methods: {
+ async getList() {
+ var resp;
+ this.total = 0;
+ this.tableData = [];
+ if (this.currentTab == "process") {
+ resp = await getProjectProcessTodo(this.queryParams);
+ if (resp.code === 200) {
+ this.total = resp.total;
+ this.tableData = resp.taskList;
}
- },
- props: {
- calculation: Array,
- countExceptionProjectData:Object,
- },
- created() {
- this.getList();
- },
- methods: {
- async getList() {
- const resp = await getTodo(this.queryParams);
- if (resp.code === 200) {
- this.total.value = resp.total;
- this.tableData.value = resp.rows;
- }
- },
- handleDetail(row) {
- console.log(111);
- this.$router.push({
- path: '/projectManage/nodeDetails',
- query: {
- taskId: row.id,
- id: row.businessKey,
- disabled: 'true'
- }
- });
- },
- handleUpdate(row) {
- this.$router.push({
- path: '/projectManage/nodeDetails',
- query: {
- taskId: row.id,
- id: row.businessKey
- }
- });
- console.log(111);
- },
- switchTab(tab) {
- this.currentTab = tab;
+ } else {
+ resp = await getProjectPlanToDoList(this.queryParams);
+ if (resp.code === 200) {
+ this.total = resp.total;
+ this.tableData = resp.data;
}
- }
-}
-
+ }
+ },
+ handleDetail(row) {
+ if (this.currentTab == "process") {
+ } else {
+ row.id = row.planId;
+ this.$router.push({
+ path: "/projectManage/progressRecord",
+ query: {
+ data: row,
+ },
+ });
+ }
+ },
+ handleUpdate(row) {
+ if (this.currentTab == "process") {
+ } else {
+ row.id = row.planId;
+ this.$router.push({
+ path: "/projectManage/progressRecord",
+ query: {
+ data: row,
+ },
+ });
+ }
+ },
+ switchTab(tab) {
+ this.currentTab = tab;
+ this.currentTableHeaders =
+ tab == "process" ? this.processTableHeaders : this.scheduleTableHeaders;
+ this.getList();
+ },
+ },
+};
</script>
<style lang="scss" scoped>
.tab {
- padding: 8px;
- border: 1px solid #dbdeea;
- cursor: pointer;
- width: 72px;
+ padding: 8px;
+ border: 1px solid #dbdeea;
+ cursor: pointer;
+ width: 72px;
}
.active {
- border: 1px solid #3369ff;
- color: #3369ff;
+ border: 1px solid #3369ff;
+ color: #3369ff;
}
.fonts {
- font-size: 16px;
- color: #212a40;
- display: flex;
- align-items: center;
+ font-size: 16px;
+ color: #212a40;
+ display: flex;
+ align-items: center;
}
::v-deep .el-table__row {
- font-size: 12px;
+ font-size: 12px;
}
::v-deep .el-pagination {
- margin: -15px;
- text-align: end;
+ margin: -15px;
+ text-align: end;
}
::v-deep .el-pagination .btn-prev .el-icon,
- ::v-deep .el-pagination .btn-next .el-icon
-{
- display: inline;
+::v-deep .el-pagination .btn-next .el-icon {
+ display: inline;
}
.flex {
- display: flex;
- justify-content: space-between;
- font-size: 12px;
+ display: flex;
+ justify-content: space-between;
+ font-size: 12px;
}
-
</style>
--
Gitblit v1.8.0