Sfoglia il codice sorgente

人员信息负责项目,参与项目

lamphua 10 mesi fa
parent
commit
461f9fc977

+ 0
- 9
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectController.java Vedi File

@@ -107,15 +107,6 @@ public class CmcProjectController extends BaseController
107 107
         return success(cmcProject);
108 108
     }
109 109
 
110
-    /**
111
-     * 获取项目负责人负责的项目详细信息
112
-     */
113
-    @GetMapping("/projectLeader")
114
-    public AjaxResult getListByProjectLeader(String projectLeader)
115
-    {
116
-        return success(cmcProjectService.selectCmcProjectListByProjectLeader(projectLeader));
117
-    }
118
-
119 110
     /**
120 111
      * 新增cmc项目
121 112
      */

+ 0
- 8
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcProjectMapper.java Vedi File

@@ -27,14 +27,6 @@ public interface CmcProjectMapper
27 27
      */
28 28
     public CmcProject selectCmcProjectByProjectNumber(String projectNumber);
29 29
 
30
-    /**
31
-     * 获取项目负责人负责的项目详细信息
32
-     *
33
-     * @param projectLeader cmc项目负责人
34
-     * @return cmc项目集合
35
-     */
36
-    public List<CmcProject> selectCmcProjectListByProjectLeader(String projectLeader);
37
-
38 30
     /**
39 31
      * 查询cmc项目列表
40 32
      * 

+ 0
- 8
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcProjectService.java Vedi File

@@ -28,14 +28,6 @@ public interface ICmcProjectService
28 28
      */
29 29
     public CmcProject selectCmcProjectByProjectNumber(String projectNumber);
30 30
 
31
-    /**
32
-     * 获取项目负责人负责的项目详细信息
33
-     *
34
-     * @param projectLeader cmc项目负责人
35
-     * @return cmc项目集合
36
-     */
37
-    public List<CmcProject> selectCmcProjectListByProjectLeader(String projectLeader);
38
-
39 31
     /**
40 32
      * 查询cmc项目列表
41 33
      * 

+ 0
- 11
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcProjectServiceImpl.java Vedi File

@@ -46,17 +46,6 @@ public class CmcProjectServiceImpl implements ICmcProjectService
46 46
         return cmcProjectMapper.selectCmcProjectByProjectNumber(projectNumber);
47 47
     }
48 48
 
49
-    /**
50
-     * 获取项目负责人负责的项目详细信息
51
-     *
52
-     * @param projectLeader cmc项目负责人
53
-     * @return cmc项目集合
54
-     */
55
-    @Override
56
-    public List<CmcProject> selectCmcProjectListByProjectLeader(String projectLeader) {
57
-        return cmcProjectMapper.selectCmcProjectListByProjectLeader(projectLeader);
58
-    }
59
-
60 49
     /**
61 50
      * 查询cmc项目列表
62 51
      * 

+ 4
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectMapper.xml Vedi File

@@ -79,6 +79,7 @@
79 79
     <select id="selectCmcProjectList" parameterType="CmcProject" resultMap="CmcProjectResult">
80 80
         <include refid="selectCmcProjectVo"/>
81 81
         <where>
82
+            (p.project_number REGEXP '^[0-9]+W[0-9]' or p.project_number REGEXP '^[0-9]+C[0-9]') and p.project_number REGEXP '^((?![\\\/\\*\\-]).)*$'
82 83
             <if test="projectId != null  and projectId != ''"> and p.project_id = #{projectId}</if>
83 84
             <if test="projectNumber != null  and projectNumber != ''"> and p.project_number like concat('%', #{projectNumber}, '%')</if>
84 85
             <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
@@ -97,6 +98,7 @@
97 98
             <if test="planTime != null "> and p.plan_time = #{planTime}</if>
98 99
             <if test="entryTime != null "> and p.entry_time = #{entryTime}</if>
99 100
             <if test="exitTime != null "> and p.exit_time = #{exitTime}</if>
101
+            <if test="participates != null  and participates != ''"> and find_in_set(#{participates}, p.participates)</if>
100 102
         </where>
101 103
         order by p.register_time desc
102 104
     </select>
@@ -108,7 +110,8 @@
108 110
 
109 111
     <select id="selectCmcProjectByProjectNumber" parameterType="String" resultMap="CmcProjectResult">
110 112
         <include refid="selectCmcProjectVo"/>
111
-        where p.project_number = #{projectNumber}
113
+        where
114
+        (p.project_number REGEXP '^[0-9]+W[0-9]' or p.project_number REGEXP '^[0-9]+C[0-9]') and p.project_number REGEXP '^((?![\\\/\\*\\-]).)*$' and p.project_number = #{projectNumber}
112 115
     </select>
113 116
 
114 117
     <insert id="insertCmcProject" parameterType="CmcProject">

+ 0
- 9
oa-ui/src/api/oa/project/project.js Vedi File

@@ -23,15 +23,6 @@ export function getProject(projectId) {
23 23
   })
24 24
 }
25 25
 
26
-// 获取项目负责人负责的项目详细信息
27
-export function getListByProjectLeader(projectLeader) {
28
-  return request({
29
-    url: '/oa/project/projectLeader',
30
-    method: 'get',
31
-    params: projectLeader
32
-  })
33
-}
34
-
35 26
 // 新增cmc项目
36 27
 export function addProject(data) {
37 28
   return request({

+ 9
- 5
oa-ui/src/views/oa/staff/info.vue Vedi File

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-22 14:50:46
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-06-14 16:18:31
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-07-25 15:21:12
6 6
 -->
7 7
 <template>
8 8
   <div class="bg" v-loading="loading">
@@ -81,9 +81,12 @@
81 81
       </el-col>
82 82
       <el-col :span="15" class="stateInfo">
83 83
         <el-tabs v-model="activeName" @tab-click="handleClick">
84
-          <!-- <el-tab-pane label="负责项目" name="1">
84
+          <el-tab-pane label="负责项目" name="0">
85 85
             <projectInfo></projectInfo>
86
-          </el-tab-pane> -->
86
+          </el-tab-pane>
87
+          <el-tab-pane label="参与项目" name="1">
88
+            <participate></participate>
89
+          </el-tab-pane>
87 90
           <el-tab-pane label="变更记录" name="2">
88 91
             <changeRecord></changeRecord>
89 92
           </el-tab-pane>
@@ -97,9 +100,10 @@
97 100
 import userAvatar from "@/views/system/user/profile/userAvatar.vue"
98 101
 import { getUser } from "@/api/system/user"
99 102
 import projectInfo from './projectInfo'
103
+import participate from './participate'
100 104
 import changeRecord from './changeRecord'
101 105
 export default {
102
-  components: { userAvatar, projectInfo, changeRecord },
106
+  components: { userAvatar, projectInfo, participate, changeRecord },
103 107
   dicts: ['sys_normal_disable', 'sys_user_sex', 'sys_user_titles', 'sys_user_certificates', 'sys_user_pmlevel',
104 108
     'sys_user_postlevel', 'sys_user_salarylevel', 'sys_user_political', 'sys_user_degree', 'sys_user_engineerlevel', 'sys_user_operatorlevel'],
105 109
   created() {

+ 92
- 0
oa-ui/src/views/oa/staff/participate.vue Vedi File

@@ -0,0 +1,92 @@
1
+<!--
2
+ * @Author: wrh
3
+ * @Date: 2024-03-25 17:38:39
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-07-25 16:02:48
6
+-->
7
+<template>
8
+  <div>
9
+    <!-- <el-table :data="tableData" style="width: 100%" height="660px" :row-style="{height: '60px'}"> -->
10
+    <!-- <el-table-column type="expand">
11
+        <template slot-scope="props">
12
+          <div style="background-color: #F0F2F5;">
13
+            <el-descriptions direction="vertical" :column="3" border>
14
+              <el-descriptions-item label="工作内容">XXXXXX</el-descriptions-item>
15
+              <el-descriptions-item label="工作量">XXXXXX</el-descriptions-item>
16
+              <el-descriptions-item label="单位" :span="2">km²</el-descriptions-item>
17
+            </el-descriptions>
18
+          </div>
19
+        </template>
20
+      </el-table-column> -->
21
+    <!-- <el-table-column label="项目编号" width="100px" prop="projectNumber">
22
+      </el-table-column>
23
+      <el-table-column label="项目名称" prop="projectName">
24
+      </el-table-column>
25
+      <el-table-column label="项目负责人" width="100px" prop="projectLeaderUser.nickName">
26
+      </el-table-column>
27
+      <el-table-column label="承担部门" prop="undertakingDeptName">
28
+      </el-table-column>
29
+    </el-table> -->
30
+    <el-collapse v-model="activeNames" @change="handleChange">
31
+      <el-collapse-item :name="item.projectNumber" v-for="item in tableData" :key="item.projectNumber">
32
+        <template slot="title">
33
+          <div>
34
+            <svg-icon icon-class="ArrowRight" class="info-icon"></svg-icon>
35
+            {{ item.projectNumber + ' ' + ' ' + item.projectName + ' ' + ' ' + item.projectLeaderUser.nickName }}
36
+          </div>
37
+        </template>
38
+        <div style="background-color: #F0F2F5;">
39
+          <el-descriptions direction="vertical" :column="3" border>
40
+            <el-descriptions-item label="工作内容">暂无信息,敬请期待</el-descriptions-item>
41
+            <el-descriptions-item label="工作量">暂无信息,敬请期待</el-descriptions-item>
42
+            <el-descriptions-item label="单位" :span="2">暂无信息,敬请期待</el-descriptions-item>
43
+          </el-descriptions>
44
+        </div>
45
+      </el-collapse-item>
46
+    </el-collapse>
47
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
48
+      @pagination="getListByPaticipates" />
49
+  </div>
50
+</template>
51
+
52
+<script>
53
+
54
+import { listProject } from "@/api/oa/project/project";
55
+export default {
56
+  data() {
57
+    return {
58
+      // 查询参数
59
+      queryParams: {
60
+        pageNum: 1,
61
+        pageSize: 10,
62
+        participates: null
63
+      },
64
+      // 总条数
65
+      total: 0,
66
+      tableData: [],
67
+      activeNames: ['1'],
68
+    }
69
+  },
70
+  created() {
71
+    this.getListByPaticipates();
72
+  },
73
+  methods: {
74
+    handleChange(val) {
75
+
76
+    },
77
+    getListByPaticipates() {
78
+      this.queryParams.participates = this.$route.query.userId;
79
+      listProject(this.queryParams).then(res => {
80
+        this.tableData = res.rows
81
+        this.total = res.total
82
+      });
83
+    }
84
+  }
85
+}
86
+</script>
87
+
88
+<style lang="scss" scoped>
89
+.info-icon {
90
+  font-size: 20px;
91
+}
92
+</style>

+ 35
- 43
oa-ui/src/views/oa/staff/projectInfo.vue Vedi File

@@ -2,12 +2,12 @@
2 2
  * @Author: wrh
3 3
  * @Date: 2024-03-25 17:38:39
4 4
  * @LastEditors: wrh
5
- * @LastEditTime: 2024-05-17 14:56:12
5
+ * @LastEditTime: 2024-07-25 15:57:16
6 6
 -->
7 7
 <template>
8 8
   <div>
9
-    <!-- <el-table :data="tableData" style="width: 100%">
10
-      <el-table-column type="expand">
9
+    <el-table :data="tableData" style="width: 100%" height="660px" :row-style="{ height: '60px' }">
10
+      <!-- <el-table-column type="expand">
11 11
         <template slot-scope="props">
12 12
           <div style="background-color: #F0F2F5;">
13 13
             <el-descriptions direction="vertical" :column="3" border>
@@ -17,70 +17,62 @@
17 17
             </el-descriptions>
18 18
           </div>
19 19
         </template>
20
-</el-table-column>
21
-<el-table-column label="项目编号" prop="projectNumber">
22
-</el-table-column>
23
-<el-table-column label="项目名称" prop="projectName">
24
-</el-table-column>
25
-<el-table-column label="项目负责人" prop="projectLeader">
26
-</el-table-column>
27
-</el-table> -->
28
-    <el-collapse v-model="activeNames" @change="handleChange">
20
+      </el-table-column> -->
21
+      <el-table-column label="项目编号" width="100px" prop="projectNumber">
22
+      </el-table-column>
23
+      <el-table-column label="项目名称" prop="projectName">
24
+      </el-table-column>
25
+      <el-table-column label="项目负责人" width="100px" prop="projectLeaderUser.nickName">
26
+      </el-table-column>
27
+      <el-table-column label="承担部门" prop="undertakingDeptName">
28
+      </el-table-column>
29
+    </el-table>
30
+    <!-- <el-collapse v-model="activeNames" @change="handleChange">
29 31
       <el-collapse-item :name="item.projectNumber" v-for="item in tableData" :key="item.projectNumber">
30 32
         <template slot="title">
31 33
           <div>
32
-            <svg-icon icon-class="ArrowRight" class="info-icon"></svg-icon>
33
-            <!-- {{ item.projectNumber + ' ' + ' ' + item.projectName + ' ' + ' ' + item.projectLeaderUser.nickName }} -->
34
-          </div>
34
+            <svg-icon icon-class="ArrowRight" class="info-icon"></svg-icon> -->
35
+    <!-- {{ item.projectNumber + ' ' + ' ' + item.projectName + ' ' + ' ' + item.projectLeaderUser.nickName }} -->
36
+    <!-- </div>
35 37
         </template>
36 38
         <div>暂无信息,敬请期待</div>
37 39
       </el-collapse-item>
38
-    </el-collapse>
40
+    </el-collapse> -->
41
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
42
+      @pagination="getListByProjectLeader" />
39 43
   </div>
40 44
 </template>
41 45
 
42 46
 <script>
43 47
 
44
-import { listProject, getProject, getListByProjectLeader, delProject, addProject, updateProject } from "@/api/oa/project/project";
48
+import { listProject } from "@/api/oa/project/project";
45 49
 export default {
46 50
   data() {
47 51
     return {
48
-
49
-      tableData: [
50
-        {
51
-          projectNumber: '2021C40',
52
-          projectName: '重庆轨道交通4号线西延伸段工程施工监测及控制测量',
53
-          projectLeader: 'XXX'
54
-        },
55
-        {
56
-          projectNumber: '2021C50',
57
-          projectName: '重庆轨道交通4号线西延伸段工程施工监测及控制测量',
58
-          projectLeader: 'XXX'
59
-        },
60
-        {
61
-          projectNumber: '2021C60',
62
-          projectName: '重庆轨道交通4号线西延伸段工程施工监测及控制测量',
63
-          projectLeader: 'XXX'
64
-        }
65
-      ],
52
+      // 查询参数
53
+      queryParams: {
54
+        pageNum: 1,
55
+        pageSize: 10,
56
+        projectLeader: null
57
+      },
58
+      // 总条数
59
+      total: 0,
60
+      tableData: [],
66 61
       activeNames: ['1'],
67 62
     }
68 63
   },
69 64
   created() {
70
-    // this.getListByProjectLeader();
71
-    if(this.$route.query){
72
-      let userId = this.$route.query.userId
73
-      // this.getUserInfo(userId)
74
-    }
65
+    this.getListByProjectLeader();
75 66
   },
76 67
   methods: {
77 68
     handleChange(val) {
78 69
 
79 70
     },
80 71
     getListByProjectLeader() {
81
-      let projectLeader = this.$route.query.userId;
82
-      getListByProjectLeader({ projectLeader: projectLeader }).then(res => {
83
-        this.tableData = res.data
72
+      this.queryParams.projectLeader = this.$route.query.userId;
73
+      listProject(this.queryParams).then(res => {
74
+        this.tableData = res.rows
75
+        this.total = res.total
84 76
       });
85 77
     }
86 78
   }

Loading…
Annulla
Salva