luohairen
2024-12-11 ce20e86b57be436a42b65befe8e1da2283922030
优化
5个文件已修改
362 ■■■■ 已修改文件
src/views/projectManage/plan/index.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectManage/plan/planInfo.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectManage/plan/planInfoCheck.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectManage/plan/planRecord.vue 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectManage/progress/progressRecord.vue 303 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectManage/plan/index.vue
@@ -240,10 +240,7 @@
        this.$router.push({
          path: '/projectManage/planRecord',
          query: {
            id: row.id,
            projectName: row.projectName,
            projectCode: row.projectCode,
            managerFlag: row.managerFlag
            data: JSON.stringify(row)
          }
        })
      })
src/views/projectManage/plan/planInfo.vue
@@ -112,13 +112,8 @@
    // 获取传递过来的项目计划详情
    getProjectInfoData() {
      // 从查询参数中获取数据
      this.projectInfoData = this.$route.query.projectInfoData
      this.planInfoData.id = this.$route.query.id;
      this.planInfoData.projectName = this.$route.query.projectName;
      this.planInfoData.projectCode = this.$route.query.projectCode;
      this.planInfoData.planTime = this.$route.query.planTime;
      this.planInfoData.planTimeFlag = this.$route.query.planTimeFlag;
      this.planInfoData.managerFlag = this.$route.query.managerFlag;
      this.projectInfoData = JSON.parse(this.$route.query.projectInfoData)
      this.planInfoData = JSON.parse(this.$route.query.data)
      this.search();
    },
    // 获取项目计划项
src/views/projectManage/plan/planInfoCheck.vue
@@ -279,13 +279,8 @@
    // 获取传递过来的项目计划详情
    getPlanRecordData() {
      // 从查询参数中获取数据
      this.projectInfoData = this.$route.query.projectInfoData
      this.planInfoData.id = this.$route.query.id;
      this.planInfoData.projectName = this.$route.query.projectName;
      this.planInfoData.projectCode = this.$route.query.projectCode;
      this.planInfoData.planTime = this.$route.query.planTime;
      this.planInfoData.planTimeFlag = this.$route.query.planTimeFlag;
      this.planInfoData.managerFlag = this.$route.query.managerFlag;
      this.projectInfoData = JSON.parse(this.$route.query.projectInfoData)
      this.planInfoData = JSON.parse(this.$route.query.data)
      this.search();
    },
    // 获取项目计划项
@@ -345,15 +340,6 @@
      this.tableData[index].startTime = '';
      this.tableData[index].endTime = '';
    },
    /** 返回项目计划记录 */
    handlePlanRecord() {
      this.$router.replace({
        path: '/projectManage/planRecord',
        query: {
          data: this.projectInfoData
        }
      })
    }
  },
  created() {
    this.getPlanRecordData();
src/views/projectManage/plan/planRecord.vue
@@ -113,7 +113,7 @@
import {addRecord, getPlanRecordList, deletePlanRecord} from "@/api/projectPlan/index";
export default {
  name: "PlanRecord",
  // name: "PlanRecord",
  data() {
    return {
      // 接收传递过来的项目计划数据
@@ -137,10 +137,7 @@
    // 获取传递过来的项目计划详情
    getProjectInfoData() {
      // 从查询参数中获取数据
      this.projectInfoData.id = this.$route.query.id;
      this.projectInfoData.projectName = this.$route.query.projectName;
      this.projectInfoData.projectCode = this.$route.query.projectCode;
      this.projectInfoData.managerFlag = this.$route.query.managerFlag;
      this.projectInfoData = JSON.parse(this.$route.query.data);
      // 获取项目计划记录数据
      this.search();
    },
@@ -210,16 +207,12 @@
    },
    /** 修改项目计划项 */
    handlePlanInfo(row) {
      row.managerFlag = this.projectInfoData.managerFlag;
      this.$router.push({
        path: '/projectManage/planInfo',
        query: {
          id: row.id,
          projectName: row.projectName,
          projectCode: row.projectCode,
          planTime: row.planTime,
          planTimeFlag: row.planTimeFlag,
          managerFlag: row.managerFlag,
          projectInfoData: this.projectInfoData
          data: JSON.stringify(row),
          projectInfoData: JSON.stringify(this.projectInfoData)
        }
      })
    },
@@ -231,16 +224,12 @@
    },
    // 查看项目计划项
    handleCheckPlanInfo(row) {
      row.managerFlag = this.projectInfoData.managerFlag;
      this.$router.push({
        path: '/projectManage/planInfoCheck',
        query: {
          id: row.id,
          projectName: row.projectName,
          projectCode: row.projectCode,
          planTime: row.planTime,
          planTimeFlag: row.planTimeFlag,
          managerFlag: row.managerFlag,
          projectInfoData: this.projectInfoData
          data: JSON.stringify(row),
          projectInfoData: JSON.stringify(this.projectInfoData)
        }
      })
    }
src/views/projectManage/progress/progressRecord.vue
@@ -135,152 +135,163 @@
            </div>
          </el-row>
          <el-dialog :title=" dialogFlag === 1 ? '进度查看' : '进度上报' " :visible.sync="dialogFormVisible" custom-class="custom-dialog" :close-on-click-modal="false" @close="handleCancel">
          <el-dialog
            :title=" dialogFlag === 1 ? '进度查看' : '进度上报' "
            :visible.sync="dialogFormVisible"
            custom-class="custom-dialog"
            :close-on-click-modal="false"
            @close="handleCancel">
            <el-form :model="progressReportData">
              <el-form-item label="报告期:" :label-width="formLabelWidth">
                <el-input :value="progressReportData.planTime + (progressReportData.planTimeFlag === 0 ? '月度' : progressReportData.planTimeFlag === 1 ? '季度' : '年度')" readonly />
              </el-form-item>
              <el-form-item label="计划事项:" :label-width="formLabelWidth">
                <el-input v-model="progressReportData.title" readonly />
              </el-form-item>
              <el-form-item label="计划时间:" :label-width="formLabelWidth">
                <el-date-picker v-model="progressReportData.startTime" type="date" placeholder="选择日期" size="small" style="width: 130px" readonly/>
                至
                <el-date-picker v-model="progressReportData.endTime" type="date" placeholder="选择日期" size="small" style="width: 130px" readonly/>
              </el-form-item>
              <el-form-item label="实际完成时间:" :label-width="formLabelWidth">
                <el-date-picker
                  v-model="progressReportData.actualStartTime"
                  type="date"
                  placeholder="选择日期"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  size="small"
                  style="width: 130px"
                  :readonly="projectInfoData.managerFlag || dialogFlag !== 0"/>
                至
                <el-date-picker
                  v-model="progressReportData.actualEndTime"
                  type="date"
                  placeholder="选择日期"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  size="small"
                  style="width: 130px"
                  :readonly="projectInfoData.managerFlag || dialogFlag !== 0"/>
              </el-form-item>
              <el-form-item label="进度情况:" :label-width="formLabelWidth">
                <el-input
                  type="textarea"
                  v-model="progressReportData.progressStatusStr"
                  placeholder="请输入" rows="3"
                  :readonly="projectInfoData.managerFlag || dialogFlag !== 0" />
              </el-form-item>
              <el-form-item label="工程进度附件:" :label-width="formLabelWidth">
                <file-upload v-model="progressReportData.fileList"
                             :fileType="accept"
                             :isShowTip="false"/>
              </el-form-item>
              <el-form-item label="截止本报告完成投资:" :label-width="formLabelWidth">
                <el-input
                  v-model="progressReportData.actualInvest"
                  type="number"
                  :readonly="projectInfoData.managerFlag || dialogFlag !== 0" />
              </el-form-item>
              <el-form-item label="上级审核:" :label-width="formLabelWidth">
                <div v-if="!projectInfoData.managerFlag">
                  <el-input
                    :value="progressReportData.departmentExamine === 0 ? '同意' : progressReportData.departmentExamine === 1 ? '驳回' : '未审核'"
                    readonly />
                </div>
                <div v-if="projectInfoData.managerFlag">
                  <el-select
                    v-model="progressReportData.departmentExamine"
                    placeholder="请选择"
                    size="small"
                    :disabled="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
                    clearable>
                    <el-option label="同意" :value="0"></el-option>
                    <el-option label="驳回" :value="1"></el-option>
                    <el-option label="请选择" :value="null"></el-option>
                  </el-select>
                </div>
              </el-form-item>
              <el-form-item label="上级批复:" :label-width="formLabelWidth">
                <div v-if="!projectInfoData.managerFlag">
                  <el-input v-model="progressReportData.departmentApproval" readonly />
                </div>
                <div v-if="projectInfoData.managerFlag">
                  <el-input
                    v-model="progressReportData.departmentApproval"
                    :readonly="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"/>
                </div>
              </el-form-item>
              <el-form-item label="上级批复回复:" :label-width="formLabelWidth">
                <div v-if="!projectInfoData.managerFlag">
                  <el-input
                    type="textarea"
                    v-model="progressReportData.departmentApprovalReply"
                    :readonly="dialogFlag === 0 || progressReportData.progressStatusInt === 1"
                    placeholder="请输入"
                    rows="3" />
                </div>
                <div v-if="projectInfoData.managerFlag">
                  <el-input
                    type="textarea"
                    v-model="progressReportData.departmentApprovalReply"
                    placeholder="请输入"
                    rows="3"
                    readonly/>
                </div>
              </el-form-item>
              <el-form-item label="主管部门审核:" :label-width="formLabelWidth">
                <div v-if="!projectInfoData.managerFlag">
                  <el-input
                    :value="progressReportData.manageExamine === 0 ? '同意' : progressReportData.manageExamine === 1 ? '驳回' : '未审核'"
                    readonly />
                </div>
                <div v-if="projectInfoData.managerFlag">
                  <el-select
                    v-model="progressReportData.manageExamine"
                    placeholder="请选择"
                    size="small"
                    :disabled="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
                    clearable>
                    <el-option label="请选择" :value="null"></el-option>
                    <el-option label="同意" :value="0"></el-option>
                    <el-option label="驳回" :value="1"></el-option>
                  </el-select>
                </div>
              </el-form-item>
              <el-form-item label="主管部门批复:" :label-width="formLabelWidth">
                <div v-if="!projectInfoData.managerFlag">
                  <el-input
                    v-model="progressReportData.manageApproval"
                    readonly />
                </div>
                <div v-if="projectInfoData.managerFlag">
                  <el-input
                    :readonly="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
                    v-model="progressReportData.manageApproval" />
                </div>
              </el-form-item>
              <el-form-item label="主管部门批复回复:" :label-width="formLabelWidth">
                <div v-if="!projectInfoData.managerFlag">
                  <el-input
                    type="textarea"
                    v-model="progressReportData.manageApprovalReply"
                    :readonly="dialogFlag === 0 || progressReportData.progressStatusInt === 1"
                    placeholder="请输入"
                    rows="3" />
                </div>
                <div v-if="projectInfoData.managerFlag">
                  <el-input
                    type="textarea"
                    v-model="progressReportData.manageApprovalReply"
                    placeholder="请输入"
                    rows="3"
                    readonly/>
                </div>
              </el-form-item>
              <el-row>
                <el-col :span="12">
                  <el-form-item label="报告期:" :label-width="formLabelWidth">
                    <el-input :value="progressReportData.planTime + (progressReportData.planTimeFlag === 0 ? '月度' : progressReportData.planTimeFlag === 1 ? '季度' : '年度')" readonly />
                  </el-form-item>
                  <el-form-item label="计划事项:" :label-width="formLabelWidth">
                    <el-input v-model="progressReportData.title" readonly />
                  </el-form-item>
                  <el-form-item label="计划时间:" :label-width="formLabelWidth">
                    <el-date-picker v-model="progressReportData.startTime" type="date" placeholder="选择日期" size="small" style="width: 130px" readonly/>
                    至
                    <el-date-picker v-model="progressReportData.endTime" type="date" placeholder="选择日期" size="small" style="width: 130px" readonly/>
                  </el-form-item>
                  <el-form-item label="实际完成时间:" :label-width="formLabelWidth">
                    <el-date-picker
                      v-model="progressReportData.actualStartTime"
                      type="date"
                      placeholder="选择日期"
                      value-format="yyyy-MM-dd HH:mm:ss"
                      size="small"
                      style="width: 130px"
                      :readonly="projectInfoData.managerFlag || dialogFlag !== 0"/>
                    至
                    <el-date-picker
                      v-model="progressReportData.actualEndTime"
                      type="date"
                      placeholder="选择日期"
                      value-format="yyyy-MM-dd HH:mm:ss"
                      size="small"
                      style="width: 130px"
                      :readonly="projectInfoData.managerFlag || dialogFlag !== 0"/>
                  </el-form-item>
                  <el-form-item label="进度情况:" :label-width="formLabelWidth">
                    <el-input
                      type="textarea"
                      v-model="progressReportData.progressStatusStr"
                      placeholder="请输入" rows="3"
                      :readonly="projectInfoData.managerFlag || dialogFlag !== 0" />
                  </el-form-item>
                  <el-form-item label="工程进度附件:" :label-width="formLabelWidth">
                    <file-upload v-model="progressReportData.fileList"
                                 :fileType="accept"
                                 :isShowTip="false"/>
                  </el-form-item>
                  <el-form-item label="截止本报告完成投资:" :label-width="formLabelWidth">
                    <el-input
                      v-model="progressReportData.actualInvest"
                      type="number"
                      :readonly="projectInfoData.managerFlag || dialogFlag !== 0" />
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item label="上级审核:" :label-width="formLabelWidth">
                    <div v-if="!projectInfoData.managerFlag">
                      <el-input
                        :value="progressReportData.departmentExamine === 0 ? '同意' : progressReportData.departmentExamine === 1 ? '驳回' : '未审核'"
                        readonly />
                    </div>
                    <div v-if="projectInfoData.managerFlag">
                      <el-select
                        v-model="progressReportData.departmentExamine"
                        placeholder="请选择"
                        size="small"
                        :disabled="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
                        clearable>
                        <el-option label="同意" :value="0"></el-option>
                        <el-option label="驳回" :value="1"></el-option>
                        <el-option label="请选择" :value="null"></el-option>
                      </el-select>
                    </div>
                  </el-form-item>
                  <el-form-item label="上级批复:" :label-width="formLabelWidth">
                    <div v-if="!projectInfoData.managerFlag">
                      <el-input v-model="progressReportData.departmentApproval" readonly />
                    </div>
                    <div v-if="projectInfoData.managerFlag">
                      <el-input
                        v-model="progressReportData.departmentApproval"
                        :readonly="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"/>
                    </div>
                  </el-form-item>
                  <el-form-item label="上级批复回复:" :label-width="formLabelWidth">
                    <div v-if="!projectInfoData.managerFlag">
                      <el-input
                        type="textarea"
                        v-model="progressReportData.departmentApprovalReply"
                        :readonly="dialogFlag === 0 || progressReportData.progressStatusInt === 1"
                        placeholder="请输入"
                        rows="3" />
                    </div>
                    <div v-if="projectInfoData.managerFlag">
                      <el-input
                        type="textarea"
                        v-model="progressReportData.departmentApprovalReply"
                        placeholder="请输入"
                        rows="3"
                        readonly/>
                    </div>
                  </el-form-item>
                  <el-form-item label="主管部门审核:" :label-width="formLabelWidth">
                    <div v-if="!projectInfoData.managerFlag">
                      <el-input
                        :value="progressReportData.manageExamine === 0 ? '同意' : progressReportData.manageExamine === 1 ? '驳回' : '未审核'"
                        readonly />
                    </div>
                    <div v-if="projectInfoData.managerFlag">
                      <el-select
                        v-model="progressReportData.manageExamine"
                        placeholder="请选择"
                        size="small"
                        :disabled="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
                        clearable>
                        <el-option label="请选择" :value="null"></el-option>
                        <el-option label="同意" :value="0"></el-option>
                        <el-option label="驳回" :value="1"></el-option>
                      </el-select>
                    </div>
                  </el-form-item>
                  <el-form-item label="主管部门批复:" :label-width="formLabelWidth">
                    <div v-if="!projectInfoData.managerFlag">
                      <el-input
                        v-model="progressReportData.manageApproval"
                        readonly />
                    </div>
                    <div v-if="projectInfoData.managerFlag">
                      <el-input
                        :readonly="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
                        v-model="progressReportData.manageApproval" />
                    </div>
                  </el-form-item>
                  <el-form-item label="主管部门批复回复:" :label-width="formLabelWidth">
                    <div v-if="!projectInfoData.managerFlag">
                      <el-input
                        type="textarea"
                        v-model="progressReportData.manageApprovalReply"
                        :readonly="dialogFlag === 0 || progressReportData.progressStatusInt === 1"
                        placeholder="请输入"
                        rows="3" />
                    </div>
                    <div v-if="projectInfoData.managerFlag">
                      <el-input
                        type="textarea"
                        v-model="progressReportData.manageApprovalReply"
                        placeholder="请输入"
                        rows="3"
                        readonly/>
                    </div>
                  </el-form-item>
                </el-col>
              </el-row>
            </el-form>
            <div slot="footer" class="dialog-footer">
              <div v-if="!projectInfoData.managerFlag">
@@ -455,7 +466,7 @@
}
.custom-dialog {
  max-height: 70vh; /* 设置最大高度 */
  max-height: 60vh; /* 设置最大高度 */
  overflow-y: auto; /* 允许垂直滚动 */
}
</style>