zxl
2025-03-25 6ae0fcef149ddbe614746023a58a3885b3ac4bde
src/views/projectManage/plan/planRecord.vue
@@ -9,7 +9,13 @@
            <el-col :span="24" class="mb-4">
              <div style="margin-bottom: 10px">
                <span style="font-size: 20px; font-weight: bold;">月度计划</span>
                <el-button type="primary" size="small" style="float: right" @click="handleAddMonthPlan" v-show="!projectInfoData.managerFlag">新增</el-button>
                <el-button
                  type="text"
                  size="medium"
                  icon="el-icon-plus"
                  style="float: right"
                  @click="handleAddMonthPlan"
                  v-show="!projectInfoData.managerFlag">新增</el-button>
              </div>
              <el-table :data="monthRecords" border stripe style="width: 100%; margin-bottom: 20px">
                <!-- 表头 -->
@@ -27,12 +33,27 @@
                <el-table-column fixed="right" label="操作" align="center">
                  <template slot-scope="scope">
                    <div v-show="!projectInfoData.managerFlag">
                      <el-button type="primary" size="small" :disabled="scope.row.reportStatus === 0" @click="handlePlanInfo(scope.row)">编辑上报</el-button>
                      <el-button type="danger" size="small" v-show="scope.row.reportStatus === 1" @click="handleDeletePlanRecord(scope.row.id)">删除</el-button>
                      <el-button type="danger" size="small" v-show="scope.row.reportStatus === 0" @click="handleCheckPlanInfo(scope.row)">查看</el-button>
                      <el-button
                        type="text"
                        size="medium"
                        icon="el-icon-edit"
                        :disabled="scope.row.reportStatus === 0"
                        @click="handlePlanInfo(scope.row)">编辑上报</el-button>
                      <el-button
                        type="text"
                        size="medium"
                        icon="el-icon-delete"
                        v-show="scope.row.reportStatus === 1"
                        @click="handleDeletePlanRecord(scope.row.id)">删除</el-button>
                      <el-button type="text" size="medium" v-show="scope.row.reportStatus === 0" @click="handleCheckPlanInfo(scope.row)">查看</el-button>
                    </div>
                    <div v-show="projectInfoData.managerFlag">
                      <el-button type="primary" size="small" v-show="scope.row.reportStatus === 0" @click="handleCheckPlanInfo(scope.row)">查看</el-button>
                      <el-button
                        type="text"
                        size="medium"
                        icon="el-icon-view"
                        v-show="scope.row.reportStatus === 0"
                        @click="handleCheckPlanInfo(scope.row)">查看</el-button>
                    </div>
                  </template>
                </el-table-column>
@@ -41,7 +62,13 @@
            <el-col :span="24" class="mb-4" style="margin-top: 20px">
              <div style="margin-bottom: 10px">
                <span style="font-size: 20px; font-weight: bold;">季度计划</span>
                <el-button type="primary" size="small" style="float: right" @click="handleAddSeasonPlan" v-show="!projectInfoData.managerFlag">查看</el-button>
                <el-button
                  type="text"
                  size="medium"
                  icon="el-icon-plus"
                  style="float: right"
                  @click="handleAddSeasonPlan"
                  v-show="!projectInfoData.managerFlag">新增</el-button>
              </div>
              <el-table  :data="seasonRecords" border stripe style="width: 100%; margin-bottom: 20px">
                <!-- 表头 -->
@@ -59,12 +86,32 @@
                <el-table-column fixed="right" label="操作" align="center">
                  <template slot-scope="scope">
                    <div v-show="!projectInfoData.managerFlag">
                      <el-button type="primary" size="small" :disabled="scope.row.reportStatus === 0" @click="handlePlanInfo(scope.row)">编辑上报</el-button>
                      <el-button type="danger" size="small" v-show="scope.row.reportStatus === 1" @click="handleDeletePlanRecord(scope.row.id)">删除</el-button>
                      <el-button type="danger" size="small" v-show="scope.row.reportStatus === 0" @click="handleCheckPlanInfo(scope.row)">查看</el-button>
                      <el-button
                        type="text"
                        size="medium"
                        icon="el-icon-edit"
                        :disabled="scope.row.reportStatus === 0"
                        @click="handlePlanInfo(scope.row)">编辑上报</el-button>
                      <el-button
                        type="text"
                        size="medium"
                        icon="el-icon-delete"
                        v-show="scope.row.reportStatus === 1"
                        @click="handleDeletePlanRecord(scope.row.id)">删除</el-button>
                      <el-button
                        type="text"
                        size="medium"
                        icon="el-icon-view"
                        v-show="scope.row.reportStatus === 0"
                        @click="handleCheckPlanInfo(scope.row)">查看</el-button>
                    </div>
                    <div v-show="projectInfoData.managerFlag">
                      <el-button type="primary" size="small" v-show="scope.row.reportStatus === 0" @click="handleCheckPlanInfo(scope.row)">查看</el-button>
                      <el-button
                        type="text"
                        size="medium"
                        icon="el-icon-view"
                        v-show="scope.row.reportStatus === 0"
                        @click="handleCheckPlanInfo(scope.row)">查看</el-button>
                    </div>
                  </template>
                </el-table-column>
@@ -73,7 +120,13 @@
            <el-col :span="24" class="mb-4" style="margin-top: 20px">
              <div style="margin-bottom: 10px">
                <span style="font-size: 20px; font-weight: bold;">年度计划</span>
                <el-button type="primary" size="small" style="float: right" @click="handleAddYearPlan" v-show="!projectInfoData.managerFlag">新增</el-button>
                <el-button
                  type="text"
                  size="medium"
                  icon="el-icon-plus"
                  style="float: right"
                  @click="handleAddYearPlan"
                  v-show="!projectInfoData.managerFlag">新增</el-button>
              </div>
              <el-table  :data="yearRecords" border stripe style="width: 100%; margin-bottom: 20px">
                <!-- 表头 -->
@@ -91,12 +144,32 @@
                <el-table-column fixed="right" label="操作" align="center">
                  <template slot-scope="scope">
                    <div v-show="!projectInfoData.managerFlag">
                      <el-button type="primary" size="small" :disabled="scope.row.reportStatus === 0" @click="handlePlanInfo(scope.row)">编辑上报</el-button>
                      <el-button type="danger" size="small" v-show="scope.row.reportStatus === 1" @click="handleDeletePlanRecord(scope.row.id)">删除</el-button>
                      <el-button type="danger" size="small" v-show="scope.row.reportStatus === 0" @click="handleCheckPlanInfo(scope.row)">查看</el-button>
                      <el-button
                        type="text"
                        size="medium"
                        icon="el-icon-edit"
                        :disabled="scope.row.reportStatus === 0"
                        @click="handlePlanInfo(scope.row)">编辑上报</el-button>
                      <el-button
                        type="text"
                        size="medium"
                        icon="el-icon-delete"
                        v-show="scope.row.reportStatus === 1"
                        @click="handleDeletePlanRecord(scope.row.id)">删除</el-button>
                      <el-button
                        type="text"
                        size="medium"
                        icon="el-icon-view"
                        v-show="scope.row.reportStatus === 0"
                        @click="handleCheckPlanInfo(scope.row)">查看</el-button>
                    </div>
                    <div v-show="projectInfoData.managerFlag">
                      <el-button type="primary" size="small" v-show="scope.row.reportStatus === 0" @click="handleCheckPlanInfo(scope.row)">查看</el-button>
                      <el-button
                        type="text"
                        size="medium"
                        icon="el-icon-view"
                        v-show="scope.row.reportStatus === 0"
                        @click="handleCheckPlanInfo(scope.row)">查看</el-button>
                    </div>
                  </template>
                </el-table-column>
@@ -113,7 +186,7 @@
import {addRecord, getPlanRecordList, deletePlanRecord} from "@/api/projectPlan/index";
export default {
  name: "PlanRecord",
  // name: "PlanRecord",
  data() {
    return {
      // 接收传递过来的项目计划数据
@@ -126,16 +199,19 @@
      yearRecords: [],
    }
  },
  created() {
    this.getProjectInfoData();
  },
  methods: {
    // 页面加载
    search() {
      this.getPlanRecordData(this.projectInfoData.id);
      console.log(this.projectInfoData);
    },
    // 获取传递过来的项目计划详情
    getProjectInfoData() {
      // 从查询参数中获取数据
      this.projectInfoData = this.$route.query.data
      this.projectInfoData = JSON.parse(this.$route.query.data);
      // 获取项目计划记录数据
      this.search();
    },
    // 获取项目计划记录数据
@@ -204,11 +280,12 @@
    },
    /** 修改项目计划项 */
    handlePlanInfo(row) {
      row.managerFlag = this.projectInfoData.managerFlag;
      this.$router.push({
        path: '/projectManage/planInfo',
        query: {
          data: row,
          projectInfoData: this.projectInfoData
          data: JSON.stringify(row),
          projectInfoData: JSON.stringify(this.projectInfoData)
        }
      })
    },
@@ -220,18 +297,15 @@
    },
    // 查看项目计划项
    handleCheckPlanInfo(row) {
      console.log(this.projectInfoData);
      row.managerFlag = this.projectInfoData.managerFlag;
      this.$router.push({
        path: '/projectManage/planInfoCheck',
        query: {
          data: row,
          projectInfoData: this.projectInfoData
          data: JSON.stringify(row),
          projectInfoData: JSON.stringify(this.projectInfoData)
        }
      })
    }
  },
  created() {
    this.getProjectInfoData();
  },
};
</script>