Procházet zdrojové kódy

查询设备检定证书;结算审批相关人员

lamphua před 9 měsíci
rodič
revize
e215108db3

+ 13
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcDevice.java Zobrazit soubor

@@ -71,6 +71,9 @@ public class CmcDevice extends BaseEntity
71 71
     @Excel(name = "存放地点")
72 72
     private String place;
73 73
 
74
+    /** 检定证书 */
75
+    private String document;
76
+
74 77
     /** 管理部门id */
75 78
     @Excel(name = "管理部门")
76 79
     private String deptName;
@@ -215,6 +218,16 @@ public class CmcDevice extends BaseEntity
215 218
         return status;
216 219
     }
217 220
 
221
+    public void setDocument(String document)
222
+    {
223
+        this.document = document;
224
+    }
225
+
226
+    public String getDocument()
227
+    {
228
+        return document;
229
+    }
230
+
218 231
     @Override
219 232
     public String toString() {
220 233
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 4
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcDeviceMapper.xml Zobrazit soubor

@@ -20,6 +20,7 @@
20 20
         <result property="remark"    column="remark"    />
21 21
         <result property="manageDept"    column="manage_dept"    />
22 22
         <result property="status"    column="status"    />
23
+        <result property="document"    column="document"    />
23 24
         <association property="dept"    javaType="SysDept"         resultMap="deptResult" />
24 25
     </resultMap>
25 26
 
@@ -29,7 +30,9 @@
29 30
     </resultMap>
30 31
 
31 32
     <sql id="selectCmcDeviceVo">
32
-        select d.device_id, d.device_number, d.code, d.name, d.type, d.acquisition_time, d.cost, d.expect_life, d.series, d.brand, d.day_cost, d.place, d.remark, d.manage_dept, d.status, dept.dept_name from cmc_device as d left join sys_dept as dept on dept.dept_id = d.manage_dept
33
+        select d.device_id, d.device_number, d.code, d.name, d.type, d.acquisition_time, d.cost, d.expect_life, d.series, d.brand, d.day_cost, d.place, d.remark, d.manage_dept, d.status, dept.dept_name, de.document from cmc_device as d
34
+        left join sys_dept as dept on dept.dept_id = d.manage_dept
35
+        left join (select * from cmc_device_expense as cde where cde.expense_type = '3') as de on de.device_id = d.device_id
33 36
     </sql>
34 37
 
35 38
     <select id="selectCmcDeviceList" parameterType="CmcDevice" resultMap="CmcDeviceResult">

+ 83
- 55
oa-ui/src/views/file/index.vue Zobrazit soubor

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-06-21 18:51:49
4 4
  * @LastEditors: wrh
5
- * @LastEditTime: 2024-08-23 17:20:57
5
+ * @LastEditTime: 2024-09-03 16:08:10
6 6
 -->
7 7
 <template>
8 8
   <div class="warpper-container">
@@ -11,7 +11,7 @@
11 11
     <!-- 鼠标移动坐标 -->
12 12
     <div id="mouse-position"></div>
13 13
     <!-- 项目信息弹出框 -->
14
-    <info-box :datas="datas" :maps="map" @closePopup="closePopup" @open="openAchiList"></info-box>
14
+    <info-box :datas="clickFeature" :maps="map" @closePopup="closePopup" @open="openProject"></info-box>
15 15
     <!-- 工具栏列表 -->
16 16
     <div class="tool-box">
17 17
       <div class="item">
@@ -35,36 +35,53 @@
35 35
         </el-tooltip>
36 36
       </div>
37 37
     </div>
38
+    <transition-group appear name="animate__animated animate__bounce" enter-active-class="animate__fadeInLeft"
39
+      leave-active-class="animate__fadeOutLeft">
40
+      <div class="layer-type dialog_wrap" v-if="layersOpen" @mousedown.stop="move">
41
+        <div class="layer-content">
42
+          <div>
43
+            <el-icon class="close" @click="layersOpen = false">
44
+              <CloseBold />
45
+            </el-icon>
46
+          </div>
47
+          <el-tabs v-model="activeName" class="demo-tabs">
48
+            <el-tab-pane label="项目图层" name="first">
49
+              <project-layer :proTree="projectList" :maps="map"></project-layer>
50
+            </el-tab-pane>
51
+          </el-tabs>
52
+        </div>
53
+      </div>
54
+    </transition-group>
38 55
     <!-- 项目信息弹出框 -->
39
-    <div id="popup" class="ol-popup">
56
+    <div id="popup" class="ol-popup" v-if="clickFeature != null">
40 57
       <span id="popup-closer" class="ol-popup-closer" @click="closePopup"></span>
41 58
       <div id="popup-content">
42
-        <el-descriptions :column="1" border v-if="clickFeacture.type == 'projectPoint'">
59
+        <el-descriptions :column="1" border v-if="clickFeature.type == 'projectPoint'">
43 60
           <el-descriptions-item label="项目编号" width="130px">
44
-            {{ clickFeacture.projectNumber }}
61
+            {{ clickFeature.projectNumber }}
45 62
           </el-descriptions-item>
46 63
           <el-descriptions-item label="项目名称" width="130px">
47
-            {{ clickFeacture.projectName }}
64
+            {{ clickFeature.projectName }}
48 65
           </el-descriptions-item>
49 66
           <el-descriptions-item label="项目负责人" width="130px">
50
-            {{ getUserName(clickFeacture.projectLeader) }}
67
+            {{ getUserName(clickFeature.projectLeader) }}
51 68
           </el-descriptions-item>
52 69
           <el-descriptions-item label="存放地址" width="130px">
53
-            {{ clickFeacture.storageAddress == '' || clickFeacture.storageAddress == null ? '暂无' :
54
-              clickFeacture.storageAddress }}
70
+            {{ clickFeature.storageAddress == '' || clickFeature.storageAddress == null ? '暂无' :
71
+              clickFeature.storageAddress }}
55 72
           </el-descriptions-item>
56 73
         </el-descriptions>
57 74
 
58
-        <div v-if="clickFeacture.type == 'featurePoint'">
59
-          <div class="title">项目编号:{{ clickFeacture.projectNumber }}</div>
75
+        <div v-if="clickFeature.type == 'featurePoint'">
76
+          <div class="title">项目编号:{{ clickFeature.projectNumber }}</div>
60 77
           <el-descriptions :column="1" border>
61 78
             <el-descriptions-item label="名称" width="130px">
62
-              <!-- {{ clickFeacture.selectFeatures.values_.name }} -->
79
+              <!-- {{ clickFeature.selectFeatures.values_.name }} -->
63 80
             </el-descriptions-item>
64 81
           </el-descriptions>
65 82
         </div>
66 83
       </div>
67
-      <div class="look-achi" @click="" v-if="clickFeacture.type == 'projectPoint'">成果目录>></div>
84
+      <div class="look-achi" @click="" v-if="clickFeature.type == 'projectPoint'">成果目录>></div>
68 85
     </div>
69 86
     <!-- 项目目录 -->
70 87
     <div class="right-project" :class="{ closeProBox: isOpenPro }">
@@ -243,6 +260,7 @@
243 260
 import { Tianditu, ZhongKe, ArcGISBlue, Autonavi, google, terrain, vect } from '@/utils/maps'
244 261
 import { listProject, getProject } from '@/api/oa/project/project'
245 262
 import infoBox from './index/infoBox.vue';
263
+import ProjectLayer from './index/projectLayer.vue';
246 264
 import sjxActive from '@/assets/images/gis/sjd.png';
247 265
 // ---------------------------------ol引用------------------------------------------------
248 266
 import 'ol/ol.css'
@@ -267,7 +285,7 @@ import { Circle, Fill, Stroke, Style, RegularShape, Icon, Text } from 'ol/style'
267 285
 import { MousePosition, ScaleLine, defaults as defaultControls } from 'ol/control';
268 286
 import { getAchievementByProject, listAchievement } from "@/api/file/achievement";
269 287
 export default {
270
-  components: { infoBox },
288
+  components: { infoBox, ProjectLayer },
271 289
   dicts: ['cmc_achi_type', 'cmc_scale_grade'],
272 290
   data() {
273 291
     return {
@@ -282,7 +300,7 @@ export default {
282 300
       popup: null,
283 301
       clusters: null,
284 302
       drawBox: null,
285
-
303
+      activeName: 'first',
286 304
       isDrawing: false,
287 305
       viewCenter: [105.55, 34.18],
288 306
       layersOpen: false,
@@ -291,10 +309,11 @@ export default {
291 309
       searchType: '',
292 310
       projectList: [],
293 311
       allproTableData: [],
312
+      clusters: null,
294 313
       total: 0,
295 314
       loading: true,
296 315
       tableHeight: 0,
297
-      clickFeacture: {},
316
+      clickFeature: {},
298 317
       clickDatas: {
299 318
         selectFeatures: null,
300 319
         selectProjectNumber: "",
@@ -303,20 +322,18 @@ export default {
303 322
       seletctedCluters: [],
304 323
       dialogTitle: '',
305 324
       dialogTableVisible: false,
306
-      datas: {
307
-        clickFeacture: {},
308
-        selectFeatures: null,
309
-        selectProjectNumber: "",
310
-        type: '',
311
-        infoData: {}
312
-      }
313 325
     }
314 326
   },
315 327
   mounted() {
316 328
     this.setTableDomHeight();
317 329
     this.initMap();
318 330
     this.observer();
319
-    this.getProjectList();
331
+    let param = {
332
+      pageNum: 1,
333
+      pageSize: 10000,
334
+    }
335
+    this.getProjectCluster(param); //地图数据集cluster对应allproTableData,此值不变    
336
+    this.getProjectList(this.queryParams); //项目列表对应projectList,此值随搜索变化
320 337
   },
321 338
   methods: {
322 339
     // 设置侧边项目目录的高度
@@ -375,7 +392,7 @@ export default {
375 392
       })
376 393
       this.map.addOverlay(this.popup);
377 394
       this.mapClick(this.map);
378
-      // this.clickFeacturePopInfo();
395
+      // this.clickFeaturePopInfo();
379 396
       this.addKeyDownFun()
380 397
     },
381 398
     observer() {
@@ -420,32 +437,29 @@ export default {
420 437
           let features = map.forEachFeatureAtPixel(evt.pixel, function (feature) {
421 438
             // 如果只需要知道有特征,而不关心具体是哪个,这里可以返回 true  
422 439
             // OpenLayers 会继续查找更多特征,但我们不需要  
423
-            return true;
440
+            return feature.get('features');
424 441
           });
425
-
426 442
           // features 现在是一个数组,包含了在点击像素位置找到的所有特征  
427 443
           if (features && features.length > 0) {
428 444
             // 如果只有一个特征  
429 445
             if (features.length === 1) {
430
-              let feature = features[0]; // 直接从数组中取第一个特征  
431
-              let num = feature.get('name'); // 使用 get 方法来获取属性  
432
-              let projectId = feature.get('projectId');
433
-
446
+              let feature = features[0]; // 直接从数组中取第一个特征
447
+              let projectId = feature.projectId;
434 448
               // 假设 getProject 是一个返回 Promise 的函数  
435 449
               getProject(projectId).then(res => {
436 450
                 if (res.data) {
437 451
                   // 假设 this 在这里指向 Vue 组件实例或其他上下文  
438 452
                   that.clickFeature = res.data;
439 453
                   that.clickFeature.type = 'projectPoint';
440
-                  this.popup.setPosition(coordinate);
454
+                  that.popup.setPosition(coordinate);
441 455
                 }
442 456
               })
443 457
             } else {
444 458
               // 如果有多个特征,这里可以根据需要处理  
445
-              this.popup.setPosition(undefined);
459
+              that.popup.setPosition(undefined);
446 460
             }
447 461
           } else {
448
-            this.popup.setPosition(undefined);
462
+            that.popup.setPosition(undefined);
449 463
           }
450 464
 
451 465
 
@@ -464,7 +478,7 @@ export default {
464 478
         }
465 479
       })
466 480
     },
467
-    clickFeacturePopInfo() {
481
+    clickFeaturePopInfo() {
468 482
       let that = this;
469 483
       if (that.select !== null) {
470 484
         that.map.removeInteraction(that.select);
@@ -476,8 +490,8 @@ export default {
476 490
         that.map.addInteraction(that.select);
477 491
         that.select.on('select', function (e) {
478 492
           if (e.target.getFeatures().getArray().length == 1) {
479
-            that.clickFeacture = e.target.getFeatures().getArray()[0];
480
-            let properties = that.clickFeacture.getProperties();
493
+            that.clickFeature = e.target.getFeatures().getArray()[0];
494
+            let properties = that.clickFeature.getProperties();
481 495
             if (!properties.features) {
482 496
               let fatherLayers = e.target.featureLayerAssociation_;
483 497
               // for (let layers in fatherLayers) {
@@ -485,7 +499,7 @@ export default {
485 499
               // }
486 500
               let coordinate = e.mapBrowserEvent.coordinate;
487 501
               that.popup.setPosition(coordinate);
488
-              that.clickFeacture.type = 'featurePoint';
502
+              that.clickFeature.type = 'featurePoint';
489 503
             }
490 504
           }
491 505
         })
@@ -495,10 +509,10 @@ export default {
495 509
     closePopup() {
496 510
       this.popup.setPosition(undefined);
497 511
     },
498
-    openAchiList() {
512
+    openProject() {
499 513
       this.dialogTableVisible = true;
500
-      // let projectId = datas.clickFeacture.id;
501
-      // this.dialogTitle = datas.clickFeacture.projectNumber
514
+      // let projectId = datas.clickFeature.id;
515
+      // this.dialogTitle = datas.clickFeature.projectNumber
502 516
       listAchievement({ projectId }).then(res => {
503 517
         if (res.total == 0) {
504 518
           this.$message.error('暂无成果,请添加');
@@ -596,17 +610,25 @@ export default {
596 610
       }
597 611
       return layer;
598 612
     },
599
-    getProjectList() {
613
+    getProjectCluster(queryParams) {
600 614
       this.loading = true
601
-      listProject(this.queryParams).then(res => {
615
+      listProject(queryParams).then(res => {
602 616
         let data = res.rows;
603 617
         this.total = res.total;
604
-        this.projectList = data;
605 618
         this.allproTableData = data;
606
-        this.loading = false
619
+        this.loading = false;
607 620
         this.addProjectCluster(data);
608 621
       })
609 622
     },
623
+    getProjectList(queryParams) {
624
+      this.loading = true
625
+      listProject(queryParams).then(res => {
626
+        let data = res.rows;
627
+        this.total = res.total;
628
+        this.projectList = data;
629
+        this.loading = false
630
+      })
631
+    },
610 632
     /* 格式化表格显示 */
611 633
     formatterKmlurl(row, cloumn) {
612 634
       if (row.projectKml == "" || row.projectKml == null) {
@@ -617,14 +639,13 @@ export default {
617 639
     },
618 640
     // 添加项目点在地图上
619 641
     addProjectCluster(data) {
620
-      let features = [], projectPoints = []
642
+      let features = []
621 643
       for (let d of data) {
622 644
         if (d.kmlLat && d.kmlLng) {
623 645
           let f = new Feature(new Point([Number(d.kmlLng), Number(d.kmlLat)]));
624 646
           f.name = d.projectNumber;
625 647
           f.projectId = d.projectId;
626 648
           features.push(f);
627
-          projectPoints.push(d);
628 649
         }
629 650
       }
630 651
       let source = new VectorSource({
@@ -641,10 +662,24 @@ export default {
641 662
         zIndex: 99
642 663
       })
643 664
       this.map.addLayer(this.clusters);
665
+      this.map.on('click', (e) => {
666
+        this.clusters.getFeatures(e.pixel).then((clickedFeatures) => {
667
+          if (clickedFeatures.length) {
668
+            // Get clustered Coordinates
669
+            const features = clickedFeatures[0].get('features');
670
+            if (features.length > 1) {
671
+              const extent = boundingExtent(
672
+                features.map((r) => r.getGeometry().getCoordinates())
673
+              );
674
+              this.map.getView().fit(extent, { duration: 1000, padding: [100, 100, 100, 100] });
675
+            }
676
+          }
677
+        });
678
+      });
644 679
     },
645 680
     handleCurrentChange(val) {
646 681
       this.queryParams.pageNum = val
647
-      this.getProjectList()
682
+      this.getProjectList(this.queryParams)
648 683
     },
649 684
     /* 得到项目的点位绘制到地图上 */
650 685
     clusterStyle(feature, resolution) {
@@ -811,12 +846,6 @@ export default {
811 846
       }
812 847
       listProject(param).then(res => {
813 848
         let data = res.rows;
814
-        let datas = [];
815
-        for (let d of data) {
816
-          if (d.kmlLat && d.kmlLng) {
817
-            datas.push(d);
818
-          }
819
-        }
820 849
         this.projectList = data;
821 850
       })
822 851
     },
@@ -877,7 +906,6 @@ export default {
877 906
         document.onmouseup = null;
878 907
         document.body.onselectstart = document.body.ondrag = () => { return true }
879 908
       }
880
-
881 909
     },
882 910
   }
883 911
 }

+ 17
- 5
oa-ui/src/views/flowable/form/budget/components/chooseDevice.vue Zobrazit soubor

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-06-21 18:51:51
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-08-01 17:00:21
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-09-04 09:40:26
6 6
 -->
7 7
 <template>
8 8
   <div>
@@ -33,7 +33,7 @@
33 33
         <el-button @click="getList" type="primary">搜索</el-button>
34 34
       </el-form-item>
35 35
     </el-form>
36
-    <el-table ref="chooseDeviceRef" :data="list" @selection-change="handleSelectionChange" :row-key="getRowKeys"
36
+    <el-table border ref="chooseDeviceRef" :data="list" @selection-change="handleSelectionChange" :row-key="getRowKeys"
37 37
       @current-change="handleCurrentChange" @row-dblclick="confirmChooseBySingle" :highlight-current-row="!multiple">
38 38
       <el-table-column type="selection" width="50" align="center" :reserve-selection="true" v-if="multiple" />
39 39
       <el-table-column label="设备状态" align="center" prop="status">
@@ -48,7 +48,18 @@
48 48
       <el-table-column label="设备名称" align="center" prop="name" />
49 49
       <el-table-column label="规格型号" align="center" prop="series" />
50 50
       <el-table-column label="存放地址" align="center" prop="place" />
51
-      <el-table-column label="单日成本" align="center" prop="dayCost" />
51
+      <!-- <el-table-column label="单日成本" align="center" prop="dayCost" /> -->
52
+      <el-table-column label="检定证书" align="center" width="200" prop="document">
53
+        <template slot-scope="scope">
54
+          <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + scope.row.document}`" v-if="scope.row.document"
55
+            :underline="false" target="_blank">
56
+            <el-button type="warning" plain icon="el-icon-download" size="mini"></el-button>
57
+          </el-link>
58
+          <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' +  scope.row.document}`)">
59
+            {{ getFileName(scope.row.document) }}
60
+          </el-link>
61
+        </template>
62
+      </el-table-column>
52 63
     </el-table>
53 64
     <div style="text-align: right;">
54 65
       <el-pagination @current-change="getList" :current-page.sync="queryParams.pageNum"
@@ -92,11 +103,12 @@ export default {
92 103
   },
93 104
   data() {
94 105
     return {
106
+      baseUrl: process.env.VUE_APP_BASE_API,
95 107
       queryParams: {
96 108
         pageNum: 1,
97 109
         pageSize: 10,
98 110
         type: '仪器设备',
99
-        status: '1'
111
+        status: '1',
100 112
       },
101 113
       list: [],
102 114
       form: {},

+ 8
- 4
oa-ui/src/views/flowable/form/projectProcess/manageReview.vue Zobrazit soubor

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-08 13:56:14
4 4
  * @LastEditors: wrh
5
- * @LastEditTime: 2024-08-30 09:28:03
5
+ * @LastEditTime: 2024-09-03 11:01:13
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -111,9 +111,13 @@ export default {
111 111
     },
112 112
     getDeptLeader(val) {
113 113
       this.deptLeaderList = [this.projectLeader];
114
-      for (let v of val) {
115
-        getUsersDeptLeaderByDept({ deptId: Number(v) }).then(res => {
116
-          this.deptLeaderList.push(res.data.userId);
114
+      for (let i = 0; i < val.length; i++) {
115
+        getUsersDeptLeaderByDept({ deptId: Number(val[i]) }).then(res => {
116
+          if (res.data) {
117
+            this.deptLeaderList.push(res.data.userId);
118
+            if (i == val.length - 1)
119
+              this.deptLeaderList.shift();
120
+          }
117 121
           this.$store.commit('SET_UNDERLEADERID', this.deptLeaderList)
118 122
         })
119 123
       }

+ 7
- 34
oa-ui/src/views/flowable/form/settleForm.vue Zobrazit soubor

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-30 09:03:14
4 4
  * @LastEditors: wrh
5
- * @LastEditTime: 2024-08-30 14:00:09
5
+ * @LastEditTime: 2024-09-02 15:41:43
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container" v-loading="loading">
@@ -67,7 +67,7 @@
67 67
             <el-col :span="6" :xs="24" :offset="12">
68 68
               <el-form-item label="工作上报人:" prop="reporterName">
69 69
                 <span class="auditor">
70
-                  {{ getUserName(form.reporter) }}
70
+                  {{ form.reporterName ? "" : getUserName(form.reporter) }}
71 71
                 </span>
72 72
               </el-form-item>
73 73
             </el-col>
@@ -353,7 +353,7 @@
353 353
             <el-row>
354 354
               <el-col :span="6" :xs="24" :offset="12">
355 355
                 <el-form-item label="签名:" label-width="120px">
356
-                  <span class="auditor"> {{ getUserName(form.zhUserId) }} </span>
356
+                  <span class="auditor"> {{ form.zhUserName ? "" : getUserName(form.zhUserId) }} </span>
357 357
                 </el-form-item>
358 358
               </el-col>
359 359
               <el-col :span="6">
@@ -370,7 +370,7 @@
370 370
             <el-row>
371 371
               <el-col :span="6" :xs="24" :offset="12">
372 372
                 <el-form-item label="签名:" label-width="120px">
373
-                  <span class="auditor"> {{ getUserName(form.jsUserId) }} </span>
373
+                  <span class="auditor"> {{ form.jsUserName ? "" : getUserName(form.jsUserId) }} </span>
374 374
                 </el-form-item>
375 375
               </el-col>
376 376
               <el-col :span="6">
@@ -387,7 +387,7 @@
387 387
             <el-row>
388 388
               <el-col :span="6" :xs="24" :offset="12">
389 389
                 <el-form-item label="签名:" label-width="120px">
390
-                  <span class="auditor"> {{ getUserName(form.jyUserId) }} </span>
390
+                  <span class="auditor"> {{ form.jyUserName ? "" : getUserName(form.jyUserId) }} </span>
391 391
                 </el-form-item>
392 392
               </el-col>
393 393
               <el-col :span="6">
@@ -404,7 +404,7 @@
404 404
             <el-row>
405 405
               <el-col :span="6" :xs="24" :offset="12">
406 406
                 <el-form-item label="签名:" label-width="120px">
407
-                  <span class="auditor"> {{ getUserName(form.managerUserId) }} </span>
407
+                  <span class="auditor"> {{ form.managerUserName ? "" : getUserName(form.managerUserId) }} </span>
408 408
                 </el-form-item>
409 409
               </el-col>
410 410
               <el-col :span="6">
@@ -421,7 +421,7 @@
421 421
             <el-row>
422 422
               <el-col :span="6" :xs="24" :offset="12">
423 423
                 <el-form-item label="签名:" label-width="120px">
424
-                  <span class="auditor"> {{ getUserName(form.gmUserId) }} </span>
424
+                  <span class="auditor"> {{ form.gmUserName ? "" : getUserName(form.gmUserId) }} </span>
425 425
                 </el-form-item>
426 426
               </el-col>
427 427
               <el-col :span="6">
@@ -711,7 +711,6 @@ export default {
711 711
 
712 712
         getUser(this.form.reporter).then((res) => {
713 713
           if (res.data) {
714
-            this.form.reporterName = res.data.nickName;
715 714
             this.deptId = res.data.deptId;
716 715
           }
717 716
         });
@@ -720,7 +719,6 @@ export default {
720 719
         this.flag = false;
721 720
         if (this.taskName == "结算发起") {
722 721
           this.form.reporter = this.$store.state.user.id;
723
-          this.form.reporterName = this.$store.state.user.name;
724 722
           this.form.reportTime = parseTime(new Date(), "{y}-{m}-{d}");
725 723
         }
726 724
       }
@@ -769,31 +767,6 @@ export default {
769 767
         this.form.dszUserId = this.$store.state.user.id;
770 768
         this.form.dszTime = parseTime(new Date(), "{y}-{m}-{d}");
771 769
       }
772
-      this.getReviewerName();
773
-    },
774
-    // 获取审核人
775
-    getReviewerName() {
776
-      if (this.form.zhUserId) {
777
-        this.form.zhUserName = this.getUserName(this.form.zhUserId)
778
-      }
779
-      if (this.form.jsUserId) {
780
-        this.form.jsUserName = this.getUserName(this.form.jsUserId)
781
-      }
782
-      if (this.form.jyUserId) {
783
-        getUser(this.form.jyUserId).then((res) => {
784
-          this.form.jyUserName = res.data.nickName;
785
-        });
786
-      }
787
-      if (this.form.managerUserId) {
788
-        getUser(this.form.managerUserId).then((res) => {
789
-          this.form.managerUserName = res.data.nickName;
790
-        });
791
-      }
792
-      if (this.form.gmUserId) {
793
-        getUser(this.form.gmUserId).then((res) => {
794
-          this.form.gmUserName = res.data.nickName;
795
-        });
796
-      }
797 770
     },
798 771
     // 保存按钮
799 772
     preserve() {

+ 4
- 20
oa-ui/src/views/flowable/form/settleOther.vue Zobrazit soubor

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-30 09:03:14
4 4
  * @LastEditors: wrh
5
- * @LastEditTime: 2024-08-30 13:52:06
5
+ * @LastEditTime: 2024-09-02 15:38:34
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container" v-loading="loading">
@@ -26,7 +26,7 @@
26 26
             <el-col :span="6" :xs="24" :offset="12">
27 27
               <el-form-item label="工作上报人:" prop="reporterName">
28 28
                 <span class="auditor">
29
-                  {{ getUserName(form.reporter) }}
29
+                  {{form.reporterName ? "" : getUserName(form.reporter) }}
30 30
                 </span>
31 31
               </el-form-item>
32 32
             </el-col>
@@ -260,7 +260,7 @@
260 260
             <el-row>
261 261
               <el-col :span="6" :xs="24" :offset="12">
262 262
                 <el-form-item label="签名:" label-width="120px">
263
-                  <span class="auditor"> {{ getUserName(form.managerUserId) }} </span>
263
+                  <span class="auditor"> {{ form.managerUserName ? "" : getUserName(form.managerUserId) }} </span>
264 264
                 </el-form-item>
265 265
               </el-col>
266 266
               <el-col :span="6">
@@ -277,7 +277,7 @@
277 277
             <el-row>
278 278
               <el-col :span="6" :xs="24" :offset="12">
279 279
                 <el-form-item label="签名:" label-width="120px">
280
-                  <span class="auditor"> {{ getUserName(form.gmUserId) }} </span>
280
+                  <span class="auditor"> {{ form.gmUserName ? "" : getUserName(form.gmUserId) }} </span>
281 281
                 </el-form-item>
282 282
               </el-col>
283 283
               <el-col :span="6">
@@ -486,7 +486,6 @@ export default {
486 486
 
487 487
         getUser(this.form.reporter).then((res) => {
488 488
           if (res.data) {
489
-            this.form.reporterName = res.data.nickName;
490 489
             this.deptId = res.data.deptId;
491 490
           }
492 491
         });
@@ -495,7 +494,6 @@ export default {
495 494
         this.flag = false;
496 495
         if (this.taskName == "结算发起") {
497 496
           this.form.reporter = this.$store.state.user.id;
498
-          this.form.reporterName = this.$store.state.user.name;
499 497
           this.form.reportTime = parseTime(new Date(), "{y}-{m}-{d}");
500 498
         }
501 499
       }
@@ -514,20 +512,6 @@ export default {
514 512
         this.form.gmUserId = this.$store.state.user.id;
515 513
         this.form.gmTime = parseTime(new Date(), "{y}-{m}-{d}");
516 514
       }
517
-      this.getReviewerName();
518
-    },
519
-    // 获取审核人
520
-    getReviewerName() {
521
-      if (this.form.managerUserId) {
522
-        getUser(this.form.managerUserId).then((res) => {
523
-          this.form.managerUserName = res.data.nickName;
524
-        });
525
-      }
526
-      if (this.form.gmUserId) {
527
-        getUser(this.form.gmUserId).then((res) => {
528
-          this.form.gmUserName = res.data.nickName;
529
-        });
530
-      }
531 515
     },
532 516
     // 保存按钮
533 517
     preserve() {

+ 3
- 2
oa-ui/src/views/oa/project/index.vue Zobrazit soubor

@@ -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-08-30 15:34:36
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-09-03 11:06:11
6 6
 -->
7 7
 <template>
8 8
   <div class="project-wrapper">
@@ -94,6 +94,7 @@
94 94
         </el-table-column>
95 95
         <el-table-column label="项目编号" align="center" key="projectNumber" prop="projectNumber" width="120px" />
96 96
         <el-table-column label="项目名称" align="center" key="projectName" prop="projectName" />
97
+        <el-table-column label="承担部门" align="center" key="undertakingDeptName" prop="undertakingDeptName" />
97 98
         <el-table-column label="项目负责人" align="center" key="projectLeaderName" prop="projectLeaderUser.nickName"
98 99
           width="120px" />
99 100
         <el-table-column label="项目级别" align="center" key="projectLevel" prop="projectLevel" width="120px">

Loading…
Zrušit
Uložit