zhanghua
2024-11-29 1320baf817d73d83af3cb0498130689dcf478e0b
首页待办
4个文件已修改
153 ■■■■ 已修改文件
src/api/projectPlan/index.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/projectProcess/projectProcess.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/components/noticeTable.vue 127 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/components/tidingsTable.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/projectPlan/index.js
@@ -112,4 +112,13 @@
}
// 进度待办列表
export function getProjectPlanToDoList(query) {
  return request({
    url: '/api/project-plan-examine-record/todo_list',
    method: 'get',
    params: query
  })
}
src/api/projectProcess/projectProcess.js
@@ -43,3 +43,12 @@
    method: "POST"
  })
}
// 进度待办列表
export function getProjectProcessTodo(query) {
  return request({
    url: '/project-process/to_do_task',
    method: 'get',
    params: query
  })
}
src/views/components/noticeTable.vue
@@ -10,13 +10,13 @@
                >
                    流程待办
                </div>
                <!-- <div
                    :class="{ active: currentTab === 'progress' }"
        <div
          :class="{ active: currentTab === 'schedule' }"
                    class="tab"
                    @click="switchTab('progress')"
          @click="switchTab('schedule')"
                >
                    进度待办
                </div> -->
        </div>
            </div>
        </div>
        <el-table
@@ -24,7 +24,7 @@
            :header-cell-style="{
                background: '#F5F7FC',
                color: '#454B5E',
                fontSize: '12px'
        fontSize: '12px',
            }"
            height="280"
            max-height="280"
@@ -76,8 +76,8 @@
    </div>
</template>
<script>
import { getTodo } from '@/api/message';
import { getProjectProcessTodo } from "@/api/projectProcess/projectProcess.js";
import { getProjectPlanToDoList } from "@/api/projectPlan";
export default {
    data() {
        return {
@@ -85,59 +85,116 @@
            total: 0,
            queryParams: {
                pageNum: 1,
                pageSize: 10
        pageSize: 5,
            },
            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' }
            ]
        }
      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() {
            const resp = await getTodo(this.queryParams);
      var resp;
      this.total = 0;
      this.tableData = [];
      if (this.currentTab == "process") {
        resp = await getProjectProcessTodo(this.queryParams);
            if (resp.code === 200) {
                this.total.value = resp.total;
                this.tableData.value = resp.rows;
          this.total = resp.total;
          this.tableData = resp.taskList;
        }
      } else {
        resp = await getProjectPlanToDoList(this.queryParams);
        if (resp.code === 200) {
          this.total = resp.total;
          this.tableData = resp.data;
        }
            }
        },
        handleDetail(row) {
            console.log(111);
      if (this.currentTab == "process") {
      } else {
        row.id = row.planId;
            this.$router.push({
                path: '/projectManage/nodeDetails',
          path: "/projectManage/progressRecord",
                query: {
                    taskId: row.id,
                    id: row.businessKey,
                    disabled: 'true'
                }
            data: row,
          },
            });
      }
        },
        handleUpdate(row) {
      if (this.currentTab == "process") {
      } else {
        row.id = row.planId;
            this.$router.push({
                path: '/projectManage/nodeDetails',
          path: "/projectManage/progressRecord",
                query: {
                    taskId: row.id,
                    id: row.businessKey
                }
            data: row,
          },
            });
            console.log(111);
      }
        },
        switchTab(tab) {
            this.currentTab = tab;
        }
    }
}
      this.currentTableHeaders =
        tab == "process" ? this.processTableHeaders : this.scheduleTableHeaders;
      this.getList();
    },
  },
};
</script>
<style lang="scss" scoped>
@@ -170,8 +227,7 @@
}
::v-deep .el-pagination .btn-prev .el-icon,
 ::v-deep .el-pagination .btn-next .el-icon
{
::v-deep .el-pagination .btn-next .el-icon {
    display: inline;
}
.flex {
@@ -179,5 +235,4 @@
    justify-content: space-between;
    font-size: 12px;
}
</style>
src/views/components/tidingsTable.vue
@@ -107,8 +107,8 @@
            currentTabId: 0,
            //配置表格表头数据
            currentTableHeaders: [
                { label: '排序', prop: 'index', minWidth: 50, align: 'center', slot: 'sort' },
                { label: '发布单位', prop: 'commitDept', minWidth: 150, align: 'left' },
                { label: '#', prop: 'index', minWidth: 50, align: 'center', slot: 'sort' },
                { label: '审批环节', prop: 'taskDefinitionKey', minWidth: 150, align: 'left' },
                { label: '内容', prop: 'content', minWidth: 300, align: 'left' },
                { label: '时间', prop: 'createTime', minWidth: 143, align: 'left' }
            ]
@@ -173,12 +173,12 @@
            this.getReadFun(row.id);
            if (row.auditType === '2') {
                this.$router.push({
                    path: '/projectManage/nodeDetails',
                    path: '/process',
                    query: { taskId: row.taskId, id: row.businessKey, auditType: row.auditType, disabled: 'true' }
                });
            } else {
                this.$router.push({
                    path: '/projectManage/nodeDetails',
                    path: '/process',
                    query: { taskId: row.taskId, id: row.businessKey, disabled: 'true' }
                });
            }