Selaa lähdekoodia

项目台账权限

lamphua 11 kuukautta sitten
vanhempi
commit
3d1af2ccf2

+ 28
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java Näytä tiedosto

@@ -1,12 +1,15 @@
1 1
 package com.ruoyi.web.controller.system;
2 2
 
3
+import java.util.ArrayList;
3 4
 import java.util.Arrays;
4 5
 import java.util.Iterator;
5 6
 import java.util.List;
6 7
 import javax.servlet.http.HttpServletResponse;
7 8
 
8 9
 import com.alibaba.fastjson2.JSONObject;
10
+import com.ruoyi.common.core.domain.entity.SysDept;
9 11
 import com.ruoyi.common.core.domain.entity.SysUser;
12
+import com.ruoyi.system.service.ISysDeptService;
10 13
 import com.ruoyi.system.service.ISysUserService;
11 14
 import org.springframework.beans.factory.annotation.Autowired;
12 15
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -101,6 +104,31 @@ public class SysPostController extends BaseController
101 104
         return success(deptLeader);
102 105
     }
103 106
 
107
+    /**
108
+     * 通过deptId获取是否部门负责人
109
+     */
110
+    @GetMapping("/isDeptLeader")
111
+    public AjaxResult getIsDeptLeader()
112
+    {
113
+        boolean isLeader = false;
114
+        String deptId = getLoginUser().getDeptId().toString();
115
+        List<Long> userIdList = new ArrayList<>();
116
+        if (postService.selectDeptLeaderByDeptId(deptId) != null)
117
+            userIdList.add(postService.selectDeptLeaderByDeptId(deptId).getUserId());
118
+        if (postService.selectViceDeptLeaderListByDeptId(deptId) != null)
119
+            for(SysUser sysUser : postService.selectViceDeptLeaderListByDeptId(deptId))
120
+                userIdList.add(sysUser.getUserId());
121
+        if (postService.selectSubLeaderByDeptId(deptId) != null)
122
+            userIdList.add(postService.selectSubLeaderByDeptId(deptId).getUserId());
123
+        if (postService.selectSubGmByDeptId(deptId) != null)
124
+            userIdList.add(postService.selectSubGmByDeptId(deptId).getUserId());
125
+        if (postService.selectBranchLeaderByDeptId(deptId) != null)
126
+            userIdList.add(postService.selectBranchLeaderByDeptId(deptId).getUserId());
127
+        if (userIdList.contains(getLoginUser().getUserId()))
128
+            isLeader = true;
129
+        return success(isLeader);
130
+    }
131
+
104 132
     /**
105 133
      * 通过deptId获取部门副主任
106 134
      */

+ 8
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java Näytä tiedosto

@@ -139,4 +139,12 @@ public interface SysUserPostMapper
139 139
      * @return 查询部门副主任
140 140
      */
141 141
     public SysUser selectViceDeptLeaderByDeptId(String deptId);
142
+
143
+    /**
144
+     * 查询部门副主任列表
145
+     *
146
+     * @param
147
+     * @return 查询部门副主任列表
148
+     */
149
+    public List<SysUser> selectViceDeptLeaderListByDeptId(String deptId);
142 150
 }

+ 8
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java Näytä tiedosto

@@ -195,4 +195,12 @@ public interface ISysPostService
195 195
      * @return 查询部门副主任
196 196
      */
197 197
     public SysUser selectViceDeptLeaderByDeptId(String deptId);
198
+
199
+    /**
200
+     * 查询部门副主任列表
201
+     *
202
+     * @param
203
+     * @return 查询部门副主任列表
204
+     */
205
+    public List<SysUser> selectViceDeptLeaderListByDeptId(String deptId);
198 206
 }

+ 11
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java Näytä tiedosto

@@ -309,4 +309,15 @@ public class SysPostServiceImpl implements ISysPostService
309 309
     public SysUser selectViceDeptLeaderByDeptId(String deptId) {
310 310
         return userPostMapper.selectViceDeptLeaderByDeptId(deptId);
311 311
     }
312
+
313
+    /**
314
+     * 查询部门副主任列表
315
+     *
316
+     * @param
317
+     * @return 查询部门副主任列表
318
+     */
319
+    @Override
320
+    public List<SysUser> selectViceDeptLeaderListByDeptId(String deptId) {
321
+        return userPostMapper.selectViceDeptLeaderListByDeptId(deptId);
322
+    }
312 323
 }

+ 9
- 0
oa-back/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml Näytä tiedosto

@@ -184,6 +184,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
184 184
 		where p.post_name = '副主任' limit 1
185 185
 	</select>
186 186
 
187
+	<select id="selectViceDeptLeaderListByDeptId" parameterType="String" resultMap="SysUserResult">
188
+		select r.user_id, r.nick_name from
189
+		(select user_id, nick_name, dept_id from
190
+		sys_user where dept_id = #{param}) as r
191
+		left join sys_user_post as up on r.user_id = up.user_id
192
+		left join sys_post as p on p.post_id = up.post_id
193
+		where p.post_name = '副主任'
194
+	</select>
195
+
187 196
 	<delete id="deleteUserPostByUserId" parameterType="Long">
188 197
 		delete from sys_user_post where user_id=#{userId}
189 198
 	</delete>

+ 8
- 2
oa-back/sql/sql.sql Näytä tiedosto

@@ -964,7 +964,7 @@ insert into `sys_role_menu` values (7, 15);
964 964
 insert into `sys_role_menu` values (7, 16);
965 965
 insert into `sys_role_menu` values (7, 17);
966 966
 insert into `sys_role_menu` values (7, 19);
967
-insert into `sys_role_menu` values (7, 21);
967
+-- insert into `sys_role_menu` values (7, 21);
968 968
 insert into `sys_role_menu` values (7, 118);
969 969
 insert into `sys_role_menu` values (7, 119);
970 970
 insert into `sys_role_menu` values (7, 120);
@@ -1948,7 +1948,7 @@ INSERT INTO `cmc_project` VALUES ('1648881410631270461', '2024W11', '国网拉
1948 1948
 INSERT INTO `cmc_project` VALUES ('1648881410631270462', '2024W12', '第六师106团兵准园区低碳转型新增负荷配套15万千瓦项目勘察工作', 117, '0', '1', '0240', '李忠', '18487123170', '勘察', '0', 13, '114', NULL, NULL, NULL, '2024-05-06', NULL, NULL, '2024-06-04', '2024-05-17', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
1949 1949
 INSERT INTO `cmc_project` VALUES ('1648881410631270463', '2024W13', '雅砻江、大渡河重要栖息地河段地形监测项目断面测量工作', 76, '0', '1', '0091', '田开迪', '13783596070', '断面', '0', 13, '111', NULL, NULL, NULL, '2024-05-10', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
1950 1950
 INSERT INTO `cmc_project` VALUES ('1648881410631270464', '2024W14', '金沙江金沙水电站2024年度泥沙淤积断面及生态流量监测断面测量服务项目合同', 65, '0', '1', '0170', '李女士', '18780188294', '泥沙监测', '0', 13, '111', NULL, NULL, NULL, '2024-05-22', NULL, NULL, '2024-05-05', '2024-05-11', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
1951
-INSERT INTO `cmc_project` VALUES ('1648881410631270467', '2024W15', '水口集团公司水口电站2024年大坝控制网复测服务', NULL, '0', '1', '0065', '黄云挥', '18965039555', '施工测量控制网', '0', 23, NULL, NULL, NULL, NULL, '2024-06-21', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
1951
+INSERT INTO `cmc_project` VALUES ('1648881410631270467', '2024W15', '水口集团公司水口电站2024年大坝控制网复测服务', '102', '0', '1', '0065', '黄云挥', '18965039555', '施工测量控制网', '0', 23, '113', 33, 104, NULL, '2024-06-21', NULL, '2024-06-24', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
1952 1952
 INSERT INTO `cmc_project` VALUES ('1648881410643853314', '2023W13', '拉萨水环境项目测绘工作', 75, '0', '1', '0183', '祝仁广、刘建', '13699402077、13880783828', '地形图测绘', '0', 13, '111', NULL, NULL, NULL, '2023-04-07', NULL, NULL, '2023-04-07', '2023-06-16', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
1953 1953
 INSERT INTO `cmc_project` VALUES ('1648881410660630529', '2023C34', '阆中抽水蓄能电站规划阶段测绘工作', 145, '0', '0', '0230', '龙宇杰、徐敬武', '15198088143、13540266919', '地形图测绘', '0', 13, '108,117', NULL, NULL, NULL, '2023-03-29', NULL, NULL, '2023-04-03', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
1954 1954
 INSERT INTO `cmc_project` VALUES ('1648881410677407746', '2023W12', '云南昭通激光数据采集项目', 38, '0', '1', '0259', '宁瑶', '', '激光扫描', '0', 13, '108', NULL, NULL, NULL, '2023-03-24', NULL, NULL, '2023-03-24', '2023-03-26', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
@@ -8785,6 +8785,11 @@ INSERT INTO `cmc_sub_contract` VALUES ('1648881410460945903', '青海黄河玛
8785 8785
 INSERT INTO `cmc_sub_contract` VALUES ('1648881410462503511', '江油抽水蓄能电站预可阶段测绘项目技术劳务协议', 125254.00, '0184', NULL, NULL, 35, '2021-10-08', NULL, NULL, '2021-10-08', NULL, NULL, '2', NULL, NULL, '2021-10-08');
8786 8786
 INSERT INTO `cmc_sub_contract` VALUES ('1648881410465032714', '昭化区林权权籍补充调查项目技术服务协议', 2076800.00, '0094', NULL, NULL, 35, '2022-09-15', NULL, NULL, '2022-09-15', NULL, NULL, '2', NULL, NULL, '2022-09-15');
8787 8787
 INSERT INTO `cmc_sub_contract` VALUES ('1648881410465949634', '第六师106团兵准园区低碳转型新增负荷配套15万千瓦项目工程勘察工作检测协议', 21200.00, '0168', NULL, NULL, 35, '2024-06-19', NULL, NULL, NULL, NULL, NULL, '2', NULL, NULL, '2024-06-19');
8788
+INSERT INTO `cmc_sub_contract` VALUES ('1648881410401840031', '仪陇县林权数据整合建库采购项目数据入库技术服务合同', 50000.00, '0187', NULL, NULL, 33, '2024-06-24', NULL, NULL, NULL, NULL, NULL, '2', NULL, NULL, '2024-06-24');
8789
+INSERT INTO `cmc_sub_contract` VALUES ('1648881410401840032', '佛山国家高新区东部现代物流产业集聚区南海片区基础设施建设项目(佛山国家高新区东部现代物流产业集聚区南', 75000.00, '0040', NULL, NULL, 35, '2024-06-25', NULL, NULL, NULL, NULL, NULL, '2', NULL, NULL, '2024-06-25');
8790
+INSERT INTO `cmc_sub_contract` VALUES ('1648881410401840033', '佛山国家高新区东部现代物流产业集聚区南海片区基础设施建设项目(佛山国家高新区东部现代物流产业集聚区南', 119338.20, '0040', NULL, NULL, 35, '2024-06-25', NULL, NULL, NULL, NULL, NULL, '2', NULL, NULL, '2024-06-25');
8791
+INSERT INTO `cmc_sub_contract` VALUES ('1648881410401840034', '南海区桂澜路北延线工程一期(里水段)项目劳务合作协议', 0.00, '0040', NULL, NULL, 35, '2024-06-25', NULL, NULL, NULL, NULL, NULL, '2', NULL, NULL, '2024-06-25');
8792
+INSERT INTO `cmc_sub_contract` VALUES ('1648881410401840035', '南海区桂澜路北延线工程二期(里水段)项目劳务合作协议', 0.00, '0040', NULL, NULL, 35, '2024-06-25', NULL, NULL, NULL, NULL, NULL, '2', NULL, NULL, '2024-06-25');
8788 8793
 INSERT INTO `cmc_sub_contract` VALUES ('1648881410469177171', '测绘成果质量检验数据采集委托协议补充协议', 65000.00, '0017', NULL, NULL, 35, '2022-10-27', NULL, NULL, '2022-10-27', NULL, NULL, '2', NULL, NULL, '2022-10-27');
8789 8794
 INSERT INTO `cmc_sub_contract` VALUES ('1648881410469691518', '叶巴滩混蓄预可研阶段无人机正射摄影采集项目劳务协议', 25000.00, '0032', NULL, NULL, 35, '2021-09-16', NULL, NULL, '2021-09-17', NULL, NULL, '2', NULL, NULL, '2021-09-17');
8790 8795
 INSERT INTO `cmc_sub_contract` VALUES ('1648881410474468560', '文殊坊周边环境综合提升工程测绘项目技术服务协议', 57590.00, '0025', NULL, NULL, 35, '2022-07-11', NULL, NULL, '2022-07-11', NULL, NULL, '2', NULL, NULL, '2022-07-11');
@@ -12594,6 +12599,7 @@ INSERT INTO `cmc_project_sub_contract` VALUES ('1648881419619663874', '164888141
12594 12599
 INSERT INTO `cmc_project_sub_contract` VALUES ('1648881419619663874', '1648881410320071921');
12595 12600
 INSERT INTO `cmc_project_sub_contract` VALUES ('1648881419619663874', '1648881410830963895');
12596 12601
 INSERT INTO `cmc_project_sub_contract` VALUES ('1648881410631270462', '1648881410465949634');
12602
+INSERT INTO `cmc_project_sub_contract` VALUES ('1648881412040556545', '1648881410401840031');
12597 12603
 
12598 12604
 -- ----------------------------
12599 12605
 -- 70、cmc安全汇报表

+ 7
- 0
oa-ui/src/api/system/post.js Näytä tiedosto

@@ -58,6 +58,13 @@ export function delPost(postId) {
58 58
   })
59 59
 }
60 60
 
61
+// 通过deptId获取是否部门负责人
62
+export function getIsDeptLeader() {
63
+  return request({
64
+    url: '/system/post/isDeptLeader',
65
+    method: 'get'
66
+  })
67
+}
61 68
 
62 69
 // 查询当前用户的部门负责人
63 70
 export function getUsersDeptLeader(query) {

+ 30
- 27
oa-ui/src/views/oa/project/index.vue Näytä tiedosto

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-02-27 14:49:15
4 4
  * @LastEditors: wrh
5
- * @LastEditTime: 2024-06-18 14:13:03
5
+ * @LastEditTime: 2024-06-25 14:50:36
6 6
 -->
7 7
 <template>
8 8
   <div class="project-wrapper">
@@ -14,8 +14,7 @@
14 14
             @keyup.enter.native="handleQuery" />
15 15
         </el-form-item>
16 16
         <el-form-item label="项目名称" prop="projectName">
17
-          <el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable
18
-            @keyup.enter.native="handleQuery" />
17
+          <el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery" />
19 18
         </el-form-item>
20 19
         <el-form-item label="项目负责人" prop="projectLeader">
21 20
           <el-select v-model="queryParams.projectLeader" clearable filterable placeholder="请输入项目负责人" size="large"
@@ -98,7 +97,8 @@
98 97
         <el-table-column label="项目负责人" align="center" key="projectLeaderName" prop="projectLeaderUser.nickName" />
99 98
         <el-table-column label="项目级别" align="center" key="projectLevel" prop="projectLevel">
100 99
           <template slot-scope="scope">
101
-            <el-tag :type="scope.row.projectLevel ? (scope.row.projectLevel === '0' ? 'info' : 'danger') : 'info'" disable-transitions>
100
+            <el-tag :type="scope.row.projectLevel ? (scope.row.projectLevel === '0' ? 'info' : 'danger') : 'info'"
101
+              disable-transitions>
102 102
               {{ scope.row.projectLevel ? (scope.row.projectLevel == '0' ? '一般项目' : '重大项目') : '一般项目' }}
103 103
             </el-tag>
104 104
           </template>
@@ -129,7 +129,7 @@
129 129
         <el-form-item label="项目负责人:" prop="projectLeader">
130 130
           <el-tag effect="plain" type="warning" style="margin-right: 10px;"
131 131
             v-if="addForm.projectLeaderName != undefined">{{
132
-        addForm.projectLeaderName }}</el-tag>
132
+              addForm.projectLeaderName }}</el-tag>
133 133
           <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="choosePeople">选择</el-button>
134 134
         </el-form-item>
135 135
         <el-form-item label="项目类型:" prop="projectType">
@@ -243,9 +243,10 @@ import { listProjectProgress, getProjectProgress } from "@/api/oa/project/projec
243 243
 import { listDept } from '@/api/system/dept';
244 244
 import { listUser, getUser } from '@/api/system/user';
245 245
 import { mapGetters } from 'vuex';
246
+import { getIsDeptLeader } from '@/api/system/post.js'
246 247
 export default {
247 248
   computed: {
248
-    ...mapGetters(['deptId'])
249
+    ...mapGetters(['deptId', 'userId'])
249 250
   },
250 251
   data() {
251 252
     return {
@@ -295,28 +296,30 @@ export default {
295 296
     // 查询项目列表
296 297
     getList() {
297 298
       this.loading = true
298
-      if (this.deptId > 107) {
299
-        this.queryParams.undertakingDept = this.deptId
300
-      }
301
-      listProject(this.queryParams).then(response => {
302
-        this.projectList = response.rows;
303
-        this.total = response.total;
304
-        this.loading = false;
305
-        for (let project of this.projectList) {
306
-          getProjectProgress(project.projectId).then(res => {
307
-            if (res.data) {
308
-              let len = res.data.length
309
-              if (len != 0) {
310
-                this.$set(project, 'percentage', Number(res.data[len - 1].percentage))
311
-              } else {
312
-                this.$set(project, 'percentage', 0)
313
-              }
314
-              if(project.isFinished == '1'){
315
-                this.$set(project, 'percentage', 100)
316
-              }
317
-            }
318
-          })
299
+      getIsDeptLeader({ deptId: this.deptId }).then(res => {
300
+        if (this.deptId > 107 && res.data == false) {
301
+          this.queryParams.undertakingDept = this.deptId
319 302
         }
303
+        listProject(this.queryParams).then(response => {
304
+          this.projectList = response.rows;
305
+          this.total = response.total;
306
+          this.loading = false;
307
+          for (let project of this.projectList) {
308
+            getProjectProgress(project.projectId).then(res => {
309
+              if (res.data) {
310
+                let len = res.data.length
311
+                if (len != 0) {
312
+                  this.$set(project, 'percentage', Number(res.data[len - 1].percentage))
313
+                } else {
314
+                  this.$set(project, 'percentage', 0)
315
+                }
316
+                if (project.isFinished == '1') {
317
+                  this.$set(project, 'percentage', 100)
318
+                }
319
+              }
320
+            })
321
+          }
322
+        })
320 323
       })
321 324
     },
322 325
     getDeptList() {

Loading…
Peruuta
Tallenna