luohairen
2024-11-27 80cd0d5cc25176c3efe771aa40a7150c75331953
上级批复,计划日志展示
2个文件已修改
4 文件已重命名
156 ■■■■■ 已修改文件
src/api/projectPlan/index.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectManage/plan/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectManage/plan/planInfo.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectManage/plan/planInfoCheck.vue 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectManage/plan/planRecord.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/projectPlan/index.js
@@ -75,4 +75,31 @@
    method: 'post',
    data: data
  })
  }
}
// 延期
export function delayPlanInfo(data) {
  return request({
    url: '/api/project-plan-info/delayPlanInfo',
    method: 'post',
    data: data
  })
}
// 获得上级批复
export function getDepartmentApproval(id) {
  return request({
    url: '/api/project-plan-examine-record/departmentApproval/' + id,
    method: 'get'
  })
}
// 计划日志
export function getPlanLog(id) {
  return request({
    url: '/api/project-plan-examine-record/planLog/' + id,
    method: 'get'
  })
}
src/router/index.js
@@ -179,39 +179,6 @@
      }
    ]
  },
  {
    path: '/project',
    component: Layout,
    children: [
      {
        path: '/projectPlan/index',
        component: () => import('@/views/projectPlan/index'),
        name: 'Index',
        meta: { title: '项目计划' }
      },
      /** 项目计划记录 */
      {
        path: '/projectPlan/planRecord',
        component: () => import('@/views/projectPlan/planRecord'),
        name: 'PlanRecord',
        meta: { title: '项目计划记录' }
      },
      /** 编辑项目计划项 */
      {
        path: '/projectPlan/planInfo',
        component: () => import('@/views/projectPlan/planInfo'),
        name: 'PlanInfo',
        meta: { title: '编辑项目计划项' }
      },
      /** 查看项目计划项 */
      {
        path: '/projectPlan/planInfoCheck',
        component: () => import('@/views/projectPlan/planInfoCheck'),
        name: 'PlanInfoCheck',
        meta: { title: '查看项目计划项' }
      }
    ]
  },
]
// 动态路由,基于用户权限动态去加载
src/views/projectManage/plan/index.vue
File was renamed from src/views/projectPlan/index.vue
@@ -329,7 +329,7 @@
    /** 查看项目计划记录 */
    handlePlanRecord(row) {
      this.$router.push({
        path: '/projectPlan/planRecord',
        path: '/projectManage/planRecord',
        query: {
          data: JSON.stringify(row)
        }
src/views/projectManage/plan/planInfo.vue
File was renamed from src/views/projectPlan/planInfo.vue
@@ -169,7 +169,7 @@
    /** 返回项目计划记录 */
    handlePlanRecord(planInfoData) {
      this.$router.push({
        path: '/projectPlan/planRecord',
        name: '/projectManage/planRecord',
        query: {
          data: JSON.stringify(planInfoData)
        }
src/views/projectManage/plan/planInfoCheck.vue
File was renamed from src/views/projectPlan/planInfoCheck.vue
@@ -21,12 +21,12 @@
                </el-table-column>
                <el-table-column prop="startTime" label="计划开始时间" width="160" align="center">
                  <template #default="scope">
                    <el-date-picker v-model="scope.row.startTime" type="date" placeholder="选择日期" size="small" style="width: 130px" disabled/>
                    <el-date-picker v-model="scope.row.startTime" type="date" placeholder="选择日期" size="small" style="width: 130px"/>
                  </template>
                </el-table-column>
                <el-table-column prop="endTime" label="计划完成时间" width="160" align="center">
                  <template #default="scope">
                    <el-date-picker v-model="scope.row.endTime" type="date" placeholder="选择日期" size="small" style="width: 130px" disabled/>
                    <el-date-picker v-model="scope.row.endTime" type="date" placeholder="选择日期" size="small" style="width: 130px"/>
                  </template>
                </el-table-column>
                <el-table-column :label="planRecordData.planTimeFlag === 0 ? '月度' : planRecordData.planTimeFlag === 1 ? '季度' : '年度' " width="100" align="center">
@@ -59,25 +59,33 @@
              <div style="margin-bottom: 10px; margin-top: 40px;">
                <span style="font-size: 20px; font-weight: bold;">上级批复</span>
              </div>
              <el-table :data="tableData" border stripe style="width: 100%; margin-bottom: 20px">
              <el-table :data="departmentApprovalData" border stripe style="width: 100%; margin-bottom: 20px">
                <el-table-column prop="index" label="序号" width="50" align="center">
                  <template #default="scope">
                    {{ scope.$index + 1 }}
                  </template>
                </el-table-column>
                <el-table-column prop="taskName" label="事项名称" width="200" align="center" />
                <el-table-column prop="startTime" label="上级审核" width="100" align="center" />
                <el-table-column prop="startTime" label="批复内容" width="160" align="center" />
                <el-table-column prop="endTime" label="批复回复" width="160" align="center">
                <el-table-column prop="title" label="事项名称" width="200" align="center" />
                <el-table-column prop="departmentExamine" label="上级审核" width="100" align="center">
                  <template #default="scope">
                    <el-input type="textarea" v-model="scope.row.title" placeholder="请输入" rows="3" />
                    {{ scope.row.departmentExamine === 0 ? '同意' : scope.row.departmentExamine === 1 ? '驳回' : '未审核' }}
                  </template>
                </el-table-column>
                <el-table-column prop="startTime" label="主管部门审核" width="100" align="center" />
                <el-table-column prop="startTime" label="批复内容" width="160" align="center" />
                <el-table-column prop="endTime" label="批复回复" width="160" align="center">
                <el-table-column prop="departmentApproval" label="批复内容" width="160" align="center" />
                <el-table-column prop="departmentApprovalReply" label="批复回复" width="160" align="center">
                  <template #default="scope">
                    <el-input type="textarea" v-model="scope.row.title" placeholder="请输入" rows="3" />
                    <el-input type="textarea" v-model="scope.row.departmentApprovalReply" placeholder="请输入" rows="3" />
                  </template>
                </el-table-column>
                <el-table-column prop="manageExamine" label="主管部门审核" width="100" align="center" >
                  <template #default="scope">
                    {{ scope.row.manageExamine === 0 ? '同意' : scope.row.manageExamine === 1 ? '驳回' : '未审核' }}
                  </template>
                </el-table-column>
                <el-table-column prop="manageApproval" label="批复内容" width="160" align="center" />
                <el-table-column prop="manageApprovalReply" label="批复回复" width="160" align="center">
                  <template #default="scope">
                    <el-input type="textarea" v-model="scope.row.departmentApprovalReply" placeholder="请输入" rows="3" />
                  </template>
                </el-table-column>
                <el-table-column fixed="right" label="操作" align="center">
@@ -93,20 +101,28 @@
              <div style="margin-bottom: 10px; margin-top: 40px;">
                <span style="font-size: 20px; font-weight: bold;">计划日志</span>
              </div>
              <el-table :data="tableData" border stripe style="width: 100%; margin-bottom: 20px">
              <el-table :data="planLogData" border stripe style="width: 100%; margin-bottom: 20px">
                <el-table-column prop="index" label="序号" width="50" align="center">
                  <template #default="scope">
                    {{ scope.$index + 1 }}
                  </template>
                </el-table-column>
                <el-table-column prop="taskName" label="事项名称" width="200" align="center" />
                <el-table-column prop="startTime" label="上级审核" width="100" align="center" />
                <el-table-column prop="startTime" label="批复内容" width="160" align="center" />
                <el-table-column prop="endTime" label="批复回复" width="160" align="center" />
                <el-table-column prop="startTime" label="主管部门审核" width="100" align="center" />
                <el-table-column prop="startTime" label="批复内容" width="160" align="center" />
                <el-table-column prop="endTime" label="批复回复" width="160" align="center" />
                <el-table-column fixed="right" label="时间" align="center" />
                <el-table-column prop="title" label="事项名称" width="200" align="center" />
                <el-table-column prop="departmentExamine" label="上级审核" width="100" align="center" >
                  <template #default="scope">
                    {{ scope.row.departmentExamine === 0 ? '同意' : scope.row.departmentExamine === 1 ? '驳回' : '未审核' }}
                  </template>
                </el-table-column>
                <el-table-column prop="departmentApproval" label="批复内容" width="160" align="center" />
                <el-table-column prop="departmentApprovalReply" label="批复回复" width="160" align="center" />
                <el-table-column prop="manageExamine" label="主管部门审核" width="100" align="center" >
                  <template #default="scope">
                    {{ scope.row.manageExamine === 0 ? '同意' : scope.row.manageExamine === 1 ? '驳回' : '未审核' }}
                  </template>
                </el-table-column>
                <el-table-column prop="manageApproval" label="批复内容" width="160" align="center" />
                <el-table-column prop="manageApprovalReply" label="批复回复" width="160" align="center" />
                <el-table-column prop="gmtCreate" label="时间" align="center" />
              </el-table>
            </el-col>
          </el-row>
@@ -117,7 +133,7 @@
</template>
<script>
import { getPlanInfoData, addPlanInfo, savePlanInfo } from "@/api/projectPlan/index";
import { getPlanInfoData, delayPlanInfo, getDepartmentApproval, getPlanLog } from "@/api/projectPlan/index";
export default {
  name: "planInfoCheck",
@@ -127,6 +143,7 @@
      // 接收传递过来的项目计划数据
      planRecordData: {},
      planInfoData: {},
      // 计划项数据
      tableData: [
        {
          title: '',
@@ -134,6 +151,10 @@
          endTime: ''
        },
      ],
      // 上级批复数据
      departmentApprovalData: [],
      // 计划日志数据
      planLogData: [],
      // 投资金额
      actualInvest: '',
      // 新增参数
@@ -150,7 +171,7 @@
    search() {
      this.getPlanInfoData(this.planRecordData.id); // 获取项目计划项
      this.getDepartmentApproval(this.planRecordData.id); // 获取上级批复
      //this.getPlanLog(); // 获取计划日志
      this.getPlanLog(this.planRecordData.id); // 获取计划日志
    },
    // 获取传递过来的项目计划详情
    getPlanRecordData() {
@@ -172,14 +193,25 @@
        }
      });
    },
    // 延期
    handleDelay(index) {
      delayPlanInfo(this.tableData[index]).then(response => {
        this.$message.success('延期成功');
        this.search()
      });
    },
    // 获取上级批复
    getDepartmentApproval(projectPlanRecordId) {
      getExamineRecord(projectPlanRecordId).then(response => {
        console.log(response.data)
      getDepartmentApproval(projectPlanRecordId).then(response => {
        this.departmentApprovalData = response.data;
      });
    },
    // 获取计划日志
    getPlanLog(projectPlanRecordId) {
      getPlanLog(projectPlanRecordId).then(response => {
        this.planLogData = response.data;
      });
    },
    // 重置当前行数据
    handleReset(index) {
      this.tableData[index].title = '';
@@ -189,7 +221,7 @@
    /** 返回项目计划记录页面 */
    handlePlanRecord(planInfoData) {
      this.$router.push({
        path: '/projectPlan/planRecord',
        name: '/projectManage/planRecord',
        query: {
          data: JSON.stringify(planInfoData)
        }
src/views/projectManage/plan/planRecord.vue
File was renamed from src/views/projectPlan/planRecord.vue
@@ -191,7 +191,7 @@
    /** 修改项目计划项 */
    handlePlanInfo(row) {
      this.$router.push({
        path: '/projectPlan/planInfo',
        name: 'PlanInfo',
        query: {
          data: JSON.stringify(row),
          planInfoData: this.planInfoData
@@ -207,7 +207,7 @@
    // 查看项目计划项
    handleCheckPlanInfo(row) {
      this.$router.push({
        path: '/projectPlan/planInfoCheck',
        path: '/projectManage/planInfoCheck',
        query: {
          data: JSON.stringify(row),
        }