Преглед изворни кода

1.前期项目进展情况展示优化

wangt пре 1 година
родитељ
комит
39f3cbfbec

+ 12 - 3
neim-biz/src/main/java/com/jiayue/biz/controller/HomePageController.java

@@ -238,12 +238,21 @@ public class HomePageController extends BaseController {
     }
 
     /**
+     * 初始化项目进展信息
+     */
+    @PutMapping("/initProjectProgressInfo")
+    public AjaxResult initProjectProgressInfo(String projectNo) {
+        projectProgressInfoService.initInfo(projectNo);
+        return success("项目进展信息初始化成功");
+    }
+
+    /**
      * 新增项目
      */
     @PutMapping("/updateProjectProgressInfo")
     public AjaxResult updateProjectProgressInfo(@RequestBody ProjectProgressInfo projectProgressInfo) {
         projectProgressInfoService.saveOrUpdate(projectProgressInfo);
-        return success("200");
+        return success("项目进度信息更新成功");
     }
 
     @PostMapping("/uploadProjectProgressFile")
@@ -273,7 +282,7 @@ public class HomePageController extends BaseController {
             logger.error("保存文件到服务器(本地)失败", e);
         }
 
-        return success("200");
+        return success("上传附件成功");
     }
 
     /**
@@ -385,7 +394,7 @@ public class HomePageController extends BaseController {
             logger.error("保存文件到服务器(本地)失败", e);
         }
 
-        return success("200");
+        return success("文件上传成功");
     }
 
     @PostMapping("/downloadProjectProgressFile")

+ 3 - 27
neim-biz/src/main/java/com/jiayue/biz/controller/ProjectController.java

@@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jiayue.biz.domain.Coordinates;
 import com.jiayue.biz.domain.Project;
 import com.jiayue.biz.domain.ProjectInfo;
-import com.jiayue.biz.domain.ProjectProgressInfo;
 import com.jiayue.biz.dto.ProjectDto;
 import com.jiayue.biz.eunms.ProvinceEnum;
 import com.jiayue.biz.service.ProjectProgressInfoService;
@@ -105,31 +104,8 @@ public class ProjectController extends BaseController {
     @PostMapping
     public AjaxResult add(@RequestBody ProjectDto projectDto) {
         iProjectService.saveProject(projectDto);
-        if (StrUtil.isNotBlank(projectDto.getProjectNo())) {
-            List<ProjectProgressInfo> projectProgressInfoList = new ArrayList<>(3);
 
-            ProjectProgressInfo projectProgressInfo1 = new ProjectProgressInfo();
-            projectProgressInfo1.setProjectNo(projectDto.getProjectNo());
-            projectProgressInfo1.setTaskLevel(1);
-            projectProgressInfo1.setTaskNo("一");
-            projectProgressInfo1.setTaskTitle("成立项目公司");
-            projectProgressInfoList.add(projectProgressInfo1);
-            ProjectProgressInfo projectProgressInfo2 = new ProjectProgressInfo();
-            projectProgressInfo2.setProjectNo(projectDto.getProjectNo());
-            projectProgressInfo2.setTaskLevel(1);
-            projectProgressInfo2.setTaskNo("二");
-            projectProgressInfo2.setTaskTitle("项目核准");
-            projectProgressInfoList.add(projectProgressInfo2);
-            ProjectProgressInfo projectProgressInfo3 = new ProjectProgressInfo();
-            projectProgressInfo3.setProjectNo(projectDto.getProjectNo());
-            projectProgressInfo3.setTaskLevel(1);
-            projectProgressInfo3.setTaskNo("三");
-            projectProgressInfo3.setTaskTitle("投资决策");
-            projectProgressInfoList.add(projectProgressInfo2);
-
-            projectProgressInfoService.saveBatch(projectProgressInfoList);
-        }
-        return success("200");
+        return success("项目添加成功");
     }
 
     /**
@@ -142,7 +118,7 @@ public class ProjectController extends BaseController {
 
         iProjectService.updateProject(projectDto);
 
-        return success("200");
+        return success("项目更新成功");
     }
 
     /**
@@ -271,6 +247,6 @@ public class ProjectController extends BaseController {
             logger.error("上传拐点坐标文件解析更新失败", e);
         }
 
-        return success("200");
+        return success("拐点坐标上传成功");
     }
 }

+ 13 - 1
neim-biz/src/main/java/com/jiayue/biz/domain/ProjectProgressInfo.java

@@ -26,6 +26,18 @@ public class ProjectProgressInfo implements Serializable {
     private static final long serialVersionUID = 1L;
 
 
+    public ProjectProgressInfo(String projectNo, Integer taskNo, String taskTitle, String taskContent
+            , String showIndex, String taskFlag, Integer taskLevel) {
+        this.projectNo = projectNo;
+        this.taskTitle = taskTitle;
+        this.taskNo = taskNo;
+        this.taskContent = taskContent;
+        this.showIndex = showIndex;
+        this.taskFlag = taskFlag;
+        this.taskLevel = taskLevel;
+
+    }
+
     /**
      * 主键id
      */
@@ -45,7 +57,7 @@ public class ProjectProgressInfo implements Serializable {
      */
     private String projectNo;
     private String taskFlag;
-    private String taskNo;
+    private Integer taskNo;
     private String showIndex;
     private String taskParentNo;
 

+ 11 - 0
neim-biz/src/main/java/com/jiayue/biz/mapper/ProjectProgressInfoMapper.java

@@ -2,6 +2,17 @@ package com.jiayue.biz.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jiayue.biz.domain.ProjectProgressInfo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 public interface ProjectProgressInfoMapper extends BaseMapper<ProjectProgressInfo> {
+    /**
+     * 删除数据
+     */
+    @Select({"delete  from project_progress_info where project_no= #{projectNo}"})
+    void deleteByProjectNo(@Param("projectNo") String projectNo);
+
+    @Select({"select * from project_progress_info where project_no = #{projectNo} and task_title = #{taskTitle}"})
+    ProjectProgressInfo seleteByProjectNo(@Param("projectNo") String projectN, @Param("taskTitle") String taskTitle);
+
 }

+ 5 - 0
neim-biz/src/main/java/com/jiayue/biz/service/ProjectProgressInfoService.java

@@ -6,4 +6,9 @@ import com.jiayue.biz.domain.ProjectProgressInfo;
 
 public interface ProjectProgressInfoService extends IService<ProjectProgressInfo> {
 
+    void initInfo(String projectN);
+
+    void deleteByProjectNo(String projectN);
+
+    ProjectProgressInfo seleteByProjectNo(String projectN, String taskTitle);
 }

+ 1 - 1
neim-biz/src/main/java/com/jiayue/biz/service/impl/HomePageServiceImpl.java

@@ -1235,7 +1235,7 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
                     Object[] arrChilds = setChilds.toArray();
                     Arrays.sort(arrChilds);
                     for (Object keyChild : arrChilds) {
-                        Map<String, List<ProjectProgressInfo>> childs1 = childs.get(keyChild).stream().collect(Collectors.groupingBy(ProjectProgressInfo::getTaskNo));
+                        Map<Integer, List<ProjectProgressInfo>> childs1 = childs.get(keyChild).stream().collect(Collectors.groupingBy(ProjectProgressInfo::getTaskNo));
                         Set set1 = childs1.keySet();
                         Object[] arr1 = set1.toArray();
                         Arrays.sort(arr1);

+ 73 - 0
neim-biz/src/main/java/com/jiayue/biz/service/impl/ProjectProgressInfoServiceImpl.java

@@ -1,5 +1,6 @@
 package com.jiayue.biz.service.impl;
 
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jiayue.biz.domain.ProjectProgressInfo;
 import com.jiayue.biz.mapper.ProjectProgressInfoMapper;
@@ -7,8 +8,80 @@ import com.jiayue.biz.service.ProjectProgressInfoService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @AllArgsConstructor
 @Service
 public class ProjectProgressInfoServiceImpl extends ServiceImpl<ProjectProgressInfoMapper, ProjectProgressInfo> implements ProjectProgressInfoService {
 
+    @Override
+    public void initInfo(String projectNo) {
+        if (StrUtil.isNotBlank(projectNo)) {
+
+            deleteByProjectNo(projectNo);
+
+            List<ProjectProgressInfo> projectProgressInfoList = new ArrayList<>(3);
+
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 1, "框架协议", "党委会会议纪要", "1", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 1, "框架协议", "框架协议签订", "1", "1", 2));
+
+
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 2, "政府部门选址规划意见", "林草", "1", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 2, "政府部门选址规划意见", "水务", "2", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 2, "政府部门选址规划意见", "环境", "3", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 2, "政府部门选址规划意见", "自然", "4", "1", 2));
+
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 3, "测风方案", "编制测风方案", "1", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 3, "测风方案", "测风方案批复", "2", "1", 2));
+
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 4, "前期立项", "内部前期立项", "1", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 4, "前期立项", "上报请示OA", "2", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 4, "前期立项", "上级公司前期立项批复", "3", "1", 2));
+
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 5, "成立公司", "成立项目公司", "1", "1", 2));
+
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 6, "项目核准", "土地预审批复", "1", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 6, "项目核准", "项目申请报告", "2", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 6, "项目核准", "项目核准请示", "3", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 6, "项目核准", "核准批复", "4", "1", 2));
+
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 7, "可研审查", "可研报告", "1", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 7, "可研审查", "可研审查意见", "2", "1", 2));
+
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 8, "政府批复", "环评批复", "1", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 8, "政府批复", "水保批复", "2", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 8, "政府批复", "地灾批复", "3", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 8, "政府批复", "压覆矿批复", "4", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 8, "政府批复", "军事文物批复", "5", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 8, "政府批复", "防洪影响批复", "6", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 8, "政府批复", "其他批复", "7", "1", 2));
+
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 9, "接入系统", "设计报告", "1", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 9, "接入系统", "专题研究报告", "2", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 9, "接入系统", "方案", "3", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 9, "接入系统", "经研院会议纪要", "4", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 9, "接入系统", "经研院对接网工程可行意见", "5", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 9, "接入系统", "国网批复意见", "6", "1", 2));
+
+
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 10, "投资决策", "内部投资决策", "6", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 10, "投资决策", "上级论证会纪要", "6", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 10, "投资决策", "上级投审会纪要", "6", "1", 2));
+            projectProgressInfoList.add(new ProjectProgressInfo(projectNo, 10, "投资决策", "投决批复", "6", "1", 2));
+
+
+            super.saveBatch(projectProgressInfoList);
+        }
+    }
+
+    @Override
+    public void deleteByProjectNo(String projectN) {
+        baseMapper.deleteByProjectNo(projectN);
+    }
+
+    @Override
+    public ProjectProgressInfo seleteByProjectNo(String projectN, String taskTitle) {
+        return baseMapper.seleteByProjectNo(projectN, taskTitle);
+    }
 }

+ 8 - 0
neim-ui/src/api/biz/dataQuery/homePage.js

@@ -77,6 +77,14 @@ export function getHeightForAveWs(query) {
   })
 }
 
+// 初始化项目进度
+export function initProjectProgressInfo(query) {
+  return request({
+    url: '/dataQuery/homePage/initProjectProgressInfo',
+    method: 'put',
+    params: query
+  })
+}
 
 // 更新项目进度
 export function updateProjectProgressInfo(query) {

+ 57 - 24
neim-ui/src/views/largeScreenPage/Subpage/projectEvolve.vue

@@ -11,6 +11,9 @@
       <div class="topBtu topRightBtu" @click="push()">
         <span class="btuText">后台管理</span>
       </div>
+      <div class="topBtu topRightBtu" @click="initInfo()">
+        <span class="btuText">还原</span>
+      </div>
     </div>
     <div class="myMain-container">
       <div class="tableBox">
@@ -25,11 +28,11 @@
             :cell-style="cellStyle"
             :header-cell-style="headClass"
             border
-            :span-method="handleSpanMethod">
+            :span-method="handleSpanMethod"
+            :row-style="{height:'0'}">
             <el-table-column
               prop="taskNo"
               label="序号"
-              sortable
               width="50%" :formatter="formatTaskNo">
 
             </el-table-column>
@@ -41,7 +44,7 @@
             </el-table-column>
             <el-table-column
               prop="taskContent"
-              label="详细工作内容" width="150%">
+              label="详细工作内容" width="100%">
               <template slot-scope="scope">
                 <span v-if="scope.row.taskContent !== '' && scope.row.taskContent !==null"
                       v-html="scope.row.taskContent.replace(/\n|\r\n/g, '<br>').replace(/ /g, '  ')"></span>
@@ -141,24 +144,19 @@
                     auto-complete="off"></el-input>
         </el-form-item>
 
-        <el-form-item label="任务归属"
+        <el-form-item label="工作内容"
                       :label-width="formLabelWidth">
 
-          <el-select v-model="form.taskFlag" placeholder="请选择">
+          <el-select v-model="form.taskTitle" placeholder="请选择">
             <el-option
               v-for="item in taskParentNoOptions"
-              :key="item.value"
+              :key="item.label"
               :label="item.label"
-              :value="item.value">
+              :value="item.label">
             </el-option>
           </el-select>
         </el-form-item>
 
-        <el-form-item label="工作内容"
-                      :label-width="formLabelWidth">
-          <el-input v-model="form.taskTitle"
-                    auto-complete="off"></el-input>
-        </el-form-item>
         <el-form-item label="详细工作内容"
                       :label-width="formLabelWidth">
           <el-input type="textarea" v-model="form.taskContent"
@@ -209,6 +207,7 @@ import {projectEvolve} from "@/api/biz/dataQuery/largeScreenPage";
 import {
   delProjectProgressInfo,
   downloadProjectProgressFile,
+  initProjectProgressInfo,
   updateProjectProgressInfo,
   uploadProjectProgressFile
 } from "@/api/biz/dataQuery/homePage";
@@ -230,7 +229,7 @@ export default {
         taskLevel: "",
         showIndex: "",
         taskNo: "",
-        taskFlag: "",
+        taskFlag: "1",
         taskParentNo: "",
         taskTitle: "",
         taskContent: "",
@@ -250,12 +249,33 @@ export default {
       }],
       taskParentNoOptions: [{
         value: '1',
-        label: '成立项目公司'
+        label: '框架协议'
       }, {
         value: '2',
-        label: '项目核准'
+        label: '政府部门选址规划意见'
       }, {
         value: '3',
+        label: '测风方案'
+      }, {
+        value: '4',
+        label: '前期立项'
+      }, {
+        value: '5',
+        label: '成立公司'
+      }, {
+        value: '6',
+        label: '项目核准'
+      }, {
+        value: '7',
+        label: '可研审查'
+      }, {
+        value: '8',
+        label: '政府批复'
+      }, {
+        value: '9',
+        label: '接入系统'
+      }, {
+        value: '10',
         label: '投资决策'
       }],
       pickerOptions: {
@@ -414,10 +434,22 @@ export default {
       this.time = year + "-" + month + "-" + day + " " + hour + ' : ' + minutes;
     },
 
-
+    /**
+     * 初始化项目进度
+     */
+    initInfo() {
+      this.form.projectNo = this.project.id
+      initProjectProgressInfo(this.form).then(res => {
+        this.$message({
+          message: '初始化项目进度成功',
+          type: 'success'
+        })
+        this.getProjectEvolve()
+      }).catch((error) => {
+        this.$message.error('初始化项目进度信息出错' + error)
+      })
+    },
     handleEdit(index, row) {
-      console.log(index)
-      console.log(row)
       this.dialogFormVisible = true //开启弹出层
       //对弹出层中的表单赋值
       this.form.projectNo = this.project.id
@@ -490,7 +522,7 @@ export default {
     },
     /*格式化时间*/
     formatTaskNo(row) {
-      if (row.taskNo !== undefined && (row.taskNo === "一" || row.taskNo === "二" || row.taskNo === "三")) {
+      /*if (row.taskNo !== undefined && (row.taskNo === "一" || row.taskNo === "二" || row.taskNo === "三")) {
         return row.taskNo
       } else {
         if (row.taskFlag === '1') {
@@ -503,8 +535,8 @@ export default {
           return "|||__: " + row.taskNo
         }
 
-      }
-      return
+      }*/
+      return row.taskNo
     },
     cellStyle({row, column, rowIndex, columnIndex}) {
       if (column.property === 'taskTitle' || column.property === 'taskNo') {
@@ -517,7 +549,7 @@ export default {
               fontSize: '20px'
             }
             break
-          case '项目核准':
+          case '项目核准1':
             return {
               //background: 'blue',
               color: '#E6A23C',
@@ -525,7 +557,7 @@ export default {
               fontSize: '20px'
             }
             break
-          case '投资决策':
+          case '1投资决策1':
             return {
               //background: 'blue',
               color: '#E6A23C',
@@ -535,7 +567,8 @@ export default {
             break
           default:
             return {
-              textAlign: 'center'
+              textAlign: 'center',
+              padding: '0'
             }
             break
         }