Bladeren bron

人员信息列表可查看证书

lamphua 4 maanden geleden
bovenliggende
commit
52fd27d0e3

+ 7
- 3
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectController.java Bestand weergeven

@@ -74,7 +74,11 @@ public class CmcProjectController extends BaseController
74 74
     public TableDataInfo list(CmcProject cmcProject)
75 75
     {
76 76
         startPage();
77
-        List<CmcProject> list = cmcProjectService.selectCmcAllProjectList(cmcProject);
77
+        List<CmcProject> list = new ArrayList<>();
78
+        if (cmcProject.getUndertakingDept() != null && cmcProject.getUndertakingDept().equals("113"))
79
+            list = cmcProjectService.selectCmcInvestProjectList(cmcProject);
80
+        else
81
+            list = cmcProjectService.selectCmcProjectList(cmcProject);
78 82
         for (CmcProject project : list) {
79 83
             project.setUndertakingDeptName(deptIdToName(project));
80 84
             project.setQualityInspectorName(inspectorIdToName(project));
@@ -86,10 +90,10 @@ public class CmcProjectController extends BaseController
86 90
      * 模糊查询cmc项目列表
87 91
      */
88 92
     @GetMapping("/listFuzzy")
89
-    public TableDataInfo listFuzzy(String queryString)
93
+    public TableDataInfo listFuzzy(CmcProject cmcProject)
90 94
     {
91 95
         startPage();
92
-        List<CmcProject> list = cmcProjectService.selectCmcProjectListFuzzy(queryString);
96
+        List<CmcProject> list = cmcProjectService.selectCmcProjectListFuzzy(cmcProject);
93 97
         for (CmcProject project : list) {
94 98
             project.setUndertakingDeptName(deptIdToName(project));
95 99
             project.setQualityInspectorName(inspectorIdToName(project));

+ 11
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProject.java Bestand weergeven

@@ -194,6 +194,9 @@ public class CmcProject extends BaseEntity
194 194
     /** 参与部门 */
195 195
     private String joinDept;
196 196
 
197
+    /** 查询字符 */
198
+    private String queryString;
199
+
197 200
     private SysUser projectLeaderUser;
198 201
 
199 202
     private SysUser technicalDirectorUser;
@@ -641,6 +644,14 @@ public class CmcProject extends BaseEntity
641 644
     {
642 645
         return contract;
643 646
     }
647
+    public void setQueryString(String queryString)
648
+    {
649
+        this.queryString = queryString;
650
+    }
651
+    public String getQueryString()
652
+    {
653
+        return queryString;
654
+    }
644 655
 
645 656
     @Override
646 657
     public String toString() {

+ 2
- 2
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcProjectMapper.java Bestand weergeven

@@ -38,10 +38,10 @@ public interface CmcProjectMapper
38 38
     /**
39 39
      * 模糊查询cmc测绘项目列表
40 40
      *
41
-     * @param queryString 查询字符
41
+     * @param cmcProject cmc项目
42 42
      * @return cmc项目集合
43 43
      */
44
-    public List<CmcProject> selectCmcProjectListFuzzy(String queryString);
44
+    public List<CmcProject> selectCmcProjectListFuzzy(CmcProject cmcProject);
45 45
 
46 46
     /**
47 47
      * 查询cmc勘察项目列表

+ 2
- 2
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcProjectService.java Bestand weergeven

@@ -39,10 +39,10 @@ public interface ICmcProjectService
39 39
     /**
40 40
      * 模糊查询cmc测绘项目列表
41 41
      *
42
-     * @param queryString 查询字符
42
+     * @param cmcProject cmc项目
43 43
      * @return cmc项目集合
44 44
      */
45
-    public List<CmcProject> selectCmcProjectListFuzzy(String queryString);
45
+    public List<CmcProject> selectCmcProjectListFuzzy(CmcProject cmcProject);
46 46
 
47 47
     /**
48 48
      * 查询cmc勘察项目列表

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcProjectServiceImpl.java Bestand weergeven

@@ -61,12 +61,12 @@ public class CmcProjectServiceImpl implements ICmcProjectService
61 61
     /**
62 62
      * 模糊查询cmc测绘项目列表
63 63
      *
64
-     * @param queryString 查询字符
64
+     * @param cmcProject cmc项目
65 65
      * @return cmc项目集合
66 66
      */
67
-    public List<CmcProject> selectCmcProjectListFuzzy(String queryString)
67
+    public List<CmcProject> selectCmcProjectListFuzzy(CmcProject cmcProject)
68 68
     {
69
-        return cmcProjectMapper.selectCmcProjectListFuzzy(queryString);
69
+        return cmcProjectMapper.selectCmcProjectListFuzzy(cmcProject);
70 70
     }
71 71
 
72 72
     /**

+ 25
- 2
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectMapper.xml Bestand weergeven

@@ -146,7 +146,7 @@
146 146
         order by p.register_time desc, p.project_number desc
147 147
     </select>
148 148
 
149
-    <select id="selectCmcProjectListFuzzy" parameterType="String" resultMap="CmcProjectResult">
149
+    <select id="selectCmcProjectListFuzzy" parameterType="CmcProject" resultMap="CmcProjectResult">
150 150
         <include refid="selectCmcProjectVo"/>
151 151
         <where>
152 152
             (p.project_number REGEXP '^[0-9]+W[0-9]' or p.project_number REGEXP '^[0-9]+C[0-9]') AND NOT (p.project_number REGEXP '[/\\*-]')
@@ -154,7 +154,30 @@
154 154
             when p.undertaking_dept is null then p.undertaking_dept is null
155 155
             when p.undertaking_dept like concat('%', '113', '%') then p.undertaking_dept like concat('%', ',', '%')
156 156
             end)
157
-            and concat(p.project_number, p.project_name, pa.party_a_name, p.contact_person, p.telephone) like concat('%', #{param}, '%')
157
+            and (pa.party_a_name like concat('%', #{queryString}, '%') or
158
+            p.contact_person like concat('%', #{queryString}, '%') or
159
+            p.telephone like concat('%', #{queryString}, '%') or
160
+            p.project_type like concat('%', #{queryString}, '%'))
161
+            <if test="projectId != null  and projectId != ''"> and p.project_id = #{projectId}</if>
162
+            <if test="projectNumber != null  and projectNumber != ''"> and p.project_number like concat('%', #{projectNumber}, '%')</if>
163
+            <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
164
+            <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
165
+            <if test="isFinished != null  and isFinished != ''"> and p.is_finished = #{isFinished}</if>
166
+            <if test="isComplete != null  and isComplete != ''"> and p.is_complete = #{isComplete}</if>
167
+            <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
168
+            <if test="partyAId != null  and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
169
+            <if test="contactPerson != null  and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
170
+            <if test="telephone != null  and telephone != ''"> and p.telephone = #{telephone}</if>
171
+            <if test="projectType != null  and projectType != ''"> and p.project_type = #{projectType}</if>
172
+            <if test="projectLevel != null  and projectLevel != ''"> and p.project_level = #{projectLevel}</if>
173
+            <if test="projectRegistrant != null "> and p.project_registrant = #{projectRegistrant}</if>
174
+            <if test="undertakingDept != null  and undertakingDept != ''"> and p.undertaking_dept like concat('%', #{undertakingDept}, '%')</if>
175
+            <if test="projectPlanner != null "> and p.project_planner = #{projectPlanner}</if>
176
+            <if test="siteLeader != null "> and p.site_leader = #{siteLeader}</if>
177
+            <if test="planTime != null "> and p.plan_time = #{planTime}</if>
178
+            <if test="entryTime != null "> and p.entry_time = #{entryTime}</if>
179
+            <if test="exitTime != null "> and p.exit_time = #{exitTime}</if>
180
+            <if test="participates != null  and participates != ''"> and find_in_set(#{participates}, p.participates)</if>
158 181
         </where>
159 182
         group by p.project_id
160 183
         order by p.register_time desc, p.project_number desc

+ 11
- 2
oa-ui/src/api/oa/project/project.js Bestand weergeven

@@ -1,8 +1,8 @@
1 1
 /*
2 2
  * @Author: wrh
3 3
  * @Date: 2024-01-30 16:37:46
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-10-14 16:50:24
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-12-09 17:36:56
6 6
  */
7 7
 import request from '@/utils/request'
8 8
 
@@ -15,6 +15,15 @@ export function listProject(query) {
15 15
   })
16 16
 }
17 17
 
18
+// 模糊查询项目管理列表
19
+export function listProjectFuzzy(query) {
20
+  return request({
21
+    url: '/oa/project/listFuzzy',
22
+    method: 'get',
23
+    params: query
24
+  })
25
+}
26
+
18 27
 // 查询cmc项目详细
19 28
 export function getProject(projectId) {
20 29
   return request({

+ 3
- 2
oa-ui/src/utils/ruoyi.js Bestand weergeven

@@ -70,7 +70,7 @@ export function addDateRange(params, dateRange, propName) {
70 70
 
71 71
 // 回显数据字典
72 72
 export function selectDictLabel(datas, value) {
73
-  if (value === undefined) {
73
+  if (value === undefined || value === null) {
74 74
     return "";
75 75
   }
76 76
   var actions = [];
@@ -88,7 +88,8 @@ export function selectDictLabel(datas, value) {
88 88
 
89 89
 // 回显数据字典(字符串、数组)
90 90
 export function selectDictLabels(datas, value, separator) {
91
-  if (value === undefined || value.length === 0) {
91
+  console.log(value);
92
+  if (value === undefined || value === null || value.length === 0) {
92 93
     return "";
93 94
   }
94 95
   if (Array.isArray(value)) {

+ 51
- 22
oa-ui/src/views/oa/project/index.vue Bestand weergeven

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-02-27 14:49:15
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-10-09 16:25:24
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-12-09 17:42:50
6 6
 -->
7 7
 <template>
8 8
   <div class="project-wrapper">
@@ -19,7 +19,7 @@
19 19
         </el-form-item>
20 20
         <el-form-item label="项目负责人" prop="projectLeader">
21 21
           <el-select v-model="queryParams.projectLeader" clearable filterable placeholder="请输入项目负责人" size="large"
22
-            style="width: 240px" @keyup.enter.native="handleQuery">
22
+            style="width: 160px" @keyup.enter.native="handleQuery">
23 23
             <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId" />
24 24
           </el-select>
25 25
         </el-form-item>
@@ -30,6 +30,10 @@
30 30
             </el-option>
31 31
           </el-select>
32 32
         </el-form-item>
33
+        <el-form-item label="其他关键字" prop="queryString">
34
+          <el-input v-model="queryParams.queryString" placeholder="请输入关键字" clearable
35
+            @keyup.enter.native="handleQuery" />
36
+        </el-form-item>
33 37
         <!-- <el-form-item label="状态" prop="isFinished">
34 38
           <el-select v-model="queryParams.isFinished" clearable>
35 39
             <el-option label="进行中" value="0"></el-option>
@@ -250,7 +254,7 @@
250 254
 </template>
251 255
 
252 256
 <script>
253
-import { listProject, submitProject, modifyProject, delProject } from "@/api/oa/project/project";
257
+import { listProject, listProjectFuzzy, submitProject, modifyProject, delProject } from "@/api/oa/project/project";
254 258
 import { listProjectProgress, getProjectProgress } from "@/api/oa/project/projectProgress";
255 259
 import { listDept } from '@/api/system/dept';
256 260
 import { listUser, getUser } from '@/api/system/user';
@@ -276,6 +280,7 @@ export default {
276 280
         projectNumber: '',
277 281
         projectLeader: undefined,
278 282
         projectName: '',
283
+        queryString: undefined,
279 284
       },
280 285
       projectList: [],
281 286
       total: 0,
@@ -320,26 +325,50 @@ export default {
320 325
           this.queryParams.undertakingDept = this.deptId
321 326
         }
322 327
       }
323
-      listProject(this.queryParams).then(response => {
324
-        this.projectList = response.rows;
325
-        this.total = response.total;
326
-        this.loading = false;
327
-        for (let project of this.projectList) {
328
-          getProjectProgress(project.projectId).then(res => {
329
-            if (res.data) {
330
-              let len = res.data.length
331
-              if (len != 0) {
332
-                this.$set(project, 'percentage', Number(res.data[len - 1].percentage))
333
-              } else {
334
-                this.$set(project, 'percentage', 0)
328
+      if (this.queryParams.queryString == '' || this.queryParams.queryString == undefined || this.queryParams.queryString == null) {
329
+        listProject(this.queryParams).then(response => {
330
+          this.projectList = response.rows;
331
+          this.total = response.total;
332
+          this.loading = false;
333
+          for (let project of this.projectList) {
334
+            getProjectProgress(project.projectId).then(res => {
335
+              if (res.data) {
336
+                let len = res.data.length
337
+                if (len != 0) {
338
+                  this.$set(project, 'percentage', Number(res.data[len - 1].percentage))
339
+                } else {
340
+                  this.$set(project, 'percentage', 0)
341
+                }
342
+                if (project.isFinished == '1') {
343
+                  this.$set(project, 'percentage', 100)
344
+                }
335 345
               }
336
-              if (project.isFinished == '1') {
337
-                this.$set(project, 'percentage', 100)
346
+            })
347
+          }
348
+        })
349
+      }
350
+      else {
351
+        listProjectFuzzy(this.queryParams).then(response => {
352
+          this.projectList = response.rows;
353
+          this.total = response.total;
354
+          this.loading = false;
355
+          for (let project of this.projectList) {
356
+            getProjectProgress(project.projectId).then(res => {
357
+              if (res.data) {
358
+                let len = res.data.length
359
+                if (len != 0) {
360
+                  this.$set(project, 'percentage', Number(res.data[len - 1].percentage))
361
+                } else {
362
+                  this.$set(project, 'percentage', 0)
363
+                }
364
+                if (project.isFinished == '1') {
365
+                  this.$set(project, 'percentage', 100)
366
+                }
338 367
               }
339
-            }
340
-          })
341
-        }
342
-      })
368
+            })
369
+          }
370
+        })
371
+      }
343 372
     },
344 373
     getDeptList() {
345 374
       listDept({

+ 2
- 2
oa-ui/src/views/oa/project/invest.vue Bestand weergeven

@@ -23,12 +23,12 @@
23 23
             <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId" />
24 24
           </el-select>
25 25
         </el-form-item>
26
-        <el-form-item label="状态" prop="isFinished">
26
+        <!-- <el-form-item label="状态" prop="isFinished">
27 27
           <el-select v-model="queryParams.isFinished" clearable>
28 28
             <el-option label="进行中" value="0"></el-option>
29 29
             <el-option label="已结束" value="1"></el-option>
30 30
           </el-select>
31
-        </el-form-item>
31
+        </el-form-item> -->
32 32
         <el-form-item>
33 33
           <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
34 34
         </el-form-item>

+ 8
- 1
oa-ui/src/views/oa/staff/index.vue Bestand weergeven

@@ -113,7 +113,9 @@
113 113
             <template slot-scope="scope">
114 114
               {{ selectDictLabel(dict.type.sys_user_titles, scope.row.titles) }}
115 115
             </template>
116
-          </el-table-column>
116
+          </el-table-column>          
117
+          <el-table-column label="执业证书" align="center" key="certificates" prop="certificates" v-if="columns[18].visible"
118
+          :formatter="formatterCertificates" />
117 119
           <el-table-column label="毕业院校" align="center" key="graduateSchool" prop="graduateSchool"
118 120
             v-if="columns[10].visible" sortable="custom" />
119 121
           <el-table-column label="专业" align="center" key="major" prop="major" v-if="columns[11].visible" />
@@ -440,6 +442,7 @@ export default {
440 442
         { key: 15, label: `民族`, visible: false },
441 443
         { key: 16, label: `入职时间`, visible: true },
442 444
         { key: 17, label: `职务`, visible: false },
445
+        { key: 18, label: `执业证书`, visible: false },
443 446
       ],
444 447
       // 表单校验
445 448
       rules: {
@@ -892,6 +895,10 @@ export default {
892 895
       let v = this.selectDictLabels(this.dict.type.sys_user_political, row.politicalAffiliation, ',')
893 896
       return v
894 897
     },
898
+    formatterCertificates(row) {
899
+      let v = this.selectDictLabels(this.dict.type.sys_user_certificates, row.certificates, ',')
900
+      return v
901
+    },
895 902
     async getPostByUser(row) {
896 903
       const userId = row.userId || this.ids;
897 904
       let resData = await getUser(userId);

Laden…
Annuleren
Opslaan