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

修改资料管理系统根据角色查看列表,修改合同、借款的退回后文件上传

余思翰 пре 3 месеци
родитељ
комит
c3c40a0f3c

+ 3
- 4
oa-back/ruoyi-system/src/main/resources/mapper/file/FilesAchievementMapper.xml Прегледај датотеку

@@ -96,7 +96,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
96 96
             <if test="scaleGrade != null">scale_grade,</if>
97 97
             <if test="resultType != null">result_type,</if>
98 98
             <if test="fileType != null">file_type,</if>
99
-            <if test="kmlUrl != null">kml_url,</if>
99
+            kml_url,
100 100
             <if test="kmlLng != null">kml_lng,</if>
101 101
             <if test="kmlLat != null">kml_lat,</if>
102 102
             <if test="workLoad != null">work_load,</if>
@@ -117,8 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
117 117
             <if test="dataYear != null">#{dataYear},</if>
118 118
             <if test="scaleGrade != null">#{scaleGrade},</if>
119 119
             <if test="resultType != null">#{resultType},</if>
120
-            <if test="fileType != null">#{fileType},</if>
121
-            <if test="kmlUrl != null">#{kmlUrl},</if>
120
+            #{kmlUrl},
122 121
             <if test="kmlLng != null">#{kmlLng},</if>
123 122
             <if test="kmlLat != null">#{kmlLat},</if>
124 123
             <if test="workLoad != null">#{workLoad},</if>
@@ -143,7 +142,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
143 142
             <if test="scaleGrade != null">scale_grade = #{scaleGrade},</if>
144 143
             <if test="resultType != null">result_type = #{resultType},</if>
145 144
             <if test="fileType != null">file_type = #{fileType},</if>
146
-            <if test="kmlUrl != null">kml_url = #{kmlUrl},</if>
145
+            kml_url = #{kmlUrl},
147 146
             <if test="kmlLng != null">kml_lng = #{kmlLng},</if>
148 147
             <if test="kmlLat != null">kml_lat = #{kmlLat},</if>
149 148
             <if test="workLoad != null">work_load = #{workLoad},</if>

+ 6
- 0
oa-ui/src/directive/permission/hasRole.js Прегледај датотеку

@@ -1,3 +1,9 @@
1
+/*
2
+ * @Author: ysh
3
+ * @Date: 2024-06-21 18:51:40
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-12-30 15:14:58
6
+ */
1 7
  /**
2 8
  * v-hasRole 角色权限处理
3 9
  * Copyright (c) 2019 ruoyi

+ 10
- 5
oa-ui/src/views/file/filesProject/achievement.vue Прегледај датотеку

@@ -4,7 +4,7 @@
4 4
  * @Author: ysh
5 5
  * @Date: 2022-09-08 17:16:12
6 6
  * @LastEditors: Please set LastEditors
7
- * @LastEditTime: 2024-09-18 16:03:28
7
+ * @LastEditTime: 2024-12-30 15:47:46
8 8
 -->
9 9
 <template>
10 10
   <div>
@@ -197,7 +197,8 @@
197 197
                 </div>
198 198
                 <div>
199 199
                   <el-upload ref="uploadAchiKml" class="upload-demo" action="" :auto-upload="false"
200
-                    :on-success="successUploadAchiKml" accept=".kml" :on-change="changeUploadKml" :show-file-list="false">
200
+                    :on-success="successUploadAchiKml" accept=".kml" :on-change="changeUploadKml"
201
+                    :show-file-list="false">
201 202
                     <el-button type="primary" icon="el-icon-plus"></el-button>
202 203
                   </el-upload>
203 204
                 </div>
@@ -336,7 +337,8 @@
336 337
                 </div>
337 338
                 <div>
338 339
                   <el-upload ref="uploadAchiKml" class="upload-demo" action="" :auto-upload="false"
339
-                    :on-success="successUploadAchiKml" accept=".kml" :on-change="changeUploadKml" :show-file-list="false">
340
+                    :on-success="successUploadAchiKml" accept=".kml" :on-change="changeUploadKml"
341
+                    :show-file-list="false">
340 342
                     <el-button type="primary" icon="el-icon-plus"></el-button>
341 343
                   </el-upload>
342 344
                 </div>
@@ -501,6 +503,9 @@ export default {
501 503
     },
502 504
     getAchiList() {
503 505
       this.loading = true;
506
+      if (this.$store.getters.roles.includes('projectLeader')) {
507
+        this.queryParams.projectLeader = this.$store.getters.userId
508
+      }
504 509
       listAchievement(this.queryParams).then(res => {
505 510
         this.achiTableData = res.rows;
506 511
         this.total = res.total;
@@ -761,8 +766,8 @@ export default {
761 766
       } else if (val.length == 1) {
762 767
         this.chooseProject = val[0]
763 768
         // this.chooseProject.projectNumber = this.chooseProject.projectNumber + '-' + this.chooseProject.projectName;
764
-        this.$set(this.form,'projectNumber',this.chooseProject.projectNumber)
765
-        this.$set(this.form,'projectName',this.chooseProject.projectName)
769
+        this.$set(this.form, 'projectNumber', this.chooseProject.projectNumber)
770
+        this.$set(this.form, 'projectName', this.chooseProject.projectName)
766 771
         this.form.projectId = val[0].projectId
767 772
         this.$refs.achiRef.validateField('projectNumber')
768 773
         this.form.dataYear = val[0].projectNumber.substring(0, 4)

+ 6
- 5
oa-ui/src/views/file/filesProject/index.vue Прегледај датотеку

@@ -3,8 +3,8 @@
3 3
  * @version: 
4 4
  * @Author: ysh
5 5
  * @Date: 2022-09-05 16:56:02
6
- * @LastEditors: wrh
7
- * @LastEditTime: 2024-05-10 10:16:22
6
+ * @LastEditors: Please set LastEditors
7
+ * @LastEditTime: 2024-12-30 16:21:40
8 8
 -->
9 9
 <template>
10 10
   <div class="project-wrapper">
@@ -15,13 +15,13 @@
15 15
       <el-tab-pane label="成果管理" name="achievement">
16 16
         <Achievement ref="achievementRef"></Achievement>
17 17
       </el-tab-pane>
18
-      <el-tab-pane label="存储地址" name="storage">
18
+      <el-tab-pane label="存储地址" name="storage" v-if="$store.getters.roles.includes('archive')">
19 19
         <Storage ref="storageRef"></Storage>
20 20
       </el-tab-pane>
21 21
     </el-tabs>
22 22
   </div>
23 23
 </template>
24
-<script >
24
+<script>
25 25
 import Project from './project.vue'
26 26
 import Achievement from './achievement.vue'
27 27
 import Storage from './storage.vue'
@@ -49,4 +49,5 @@ export default {
49 49
 <style lang="scss" scoped>
50 50
 .project-wrapper {
51 51
   padding: 10px 20px 0px;
52
-}</style>
52
+}
53
+</style>

+ 13
- 6
oa-ui/src/views/file/filesProject/project.vue Прегледај датотеку

@@ -9,8 +9,12 @@
9 9
         <el-form-item label="项目名称" prop="projectName">
10 10
           <el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter="handleQuery" />
11 11
         </el-form-item>
12
-        <el-form-item label="项目负责人" prop="projectLeader">
13
-          <el-input v-model="queryParams.projectLeader" placeholder="请输入项目负责人" clearable @keyup.enter="handleQuery" />
12
+        <el-form-item label="项目负责人" prop="projectLeader" v-hasRole="['archive','leader']">
13
+          <el-select v-model="queryParams.projectLeader" filterable clearable @change="handleQuery">
14
+            <el-option v-for="item in $store.state.user.userList" :key="item.userId" :label="item.nickName"
15
+              :value="item.userId">
16
+            </el-option>
17
+          </el-select>
14 18
         </el-form-item>
15 19
         <el-form-item>
16 20
           <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
@@ -37,9 +41,9 @@
37 41
         <el-table-column prop="isFinished" label="项目状态" align="center">
38 42
           <template #default="scope">
39 43
             <el-tag :type="scope.row.isFinished === '1' ? 'warning' : 'success'" disable-transitions>{{
40
-        scope.row.isFinished
41
-          === "1" ? '已结束' : '正在进行'
42
-      }}</el-tag>
44
+              scope.row.isFinished
45
+                === "1" ? '已结束' : '正在进行'
46
+              }}</el-tag>
43 47
           </template>
44 48
         </el-table-column>
45 49
         <el-table-column prop="projectNumber" label="项目编号" align="center" />
@@ -58,7 +62,7 @@
58 62
             </el-tooltip>
59 63
             <el-tooltip content="成果" placement="top">
60 64
               <el-button type="text" icon="Document" @click="handleLookAchi(scope.row)"
61
-                v-hasPermi="['file:achievement:query']">
65
+                v-hasPermi="['file:achievement:query']" v-hasRole>
62 66
               </el-button>
63 67
             </el-tooltip>
64 68
             <el-tooltip content="修改" placement="top">
@@ -446,6 +450,9 @@ export default {
446 450
   methods: {
447 451
     getProList() {
448 452
       this.loading = true;
453
+      if (this.$store.getters.roles.includes('projectLeader') && !this.$store.getters.roles.includes('leader')) {
454
+        this.queryParams.projectLeader = this.$store.getters.userId
455
+      }
449 456
       listProject(this.queryParams).then(res => {
450 457
         this.projectTableData = res.rows;
451 458
         this.total = res.total;

+ 7
- 1
oa-ui/src/views/flowable/form/budget/addBudget.vue Прегледај датотеку

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-06-21 18:51:51
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-12-16 09:31:24
5
+ * @LastEditTime: 2024-12-30 13:49:54
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -38,6 +38,12 @@
38 38
       @settleExpense="getSettleExpense" @contentList="getContentList"></money-table>
39 39
     <!-- 其他成本 -->
40 40
     <other-table ref="otherRef" @otherCost="getOtherCost" :budgetForm="budgetForm"></other-table>
41
+    <!-- 预算备注 -->
42
+    <el-form :model="budgetForm"  style="padding: 20px 100px 0">
43
+      <el-form-item label="预算表单备注" label-width="100px">
44
+        <el-input type="textarea" v-model="budgetForm.remark" placeholder="请输入预算备注" :rows="4"></el-input>
45
+      </el-form-item>
46
+    </el-form>
41 47
     <!-- 统计 -->
42 48
     <div class="text-center">
43 49
       <el-tag class="ml10 mr10" type="success">间接成本:{{ isNaN(budgetForm.fixCost) ? 0 : budgetForm.fixCost }}</el-tag>

+ 15
- 13
oa-ui/src/views/flowable/form/budget/budgetInfo.vue Прегледај датотеку

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-03 16:28:09
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-12-16 14:50:12
5
+ * @LastEditTime: 2024-12-30 15:15:58
6 6
 -->
7 7
 <template>
8 8
   <div class="main">
@@ -25,6 +25,9 @@
25 25
         <el-descriptions-item label="项目备注" :span="3">
26 26
           {{ projectForm.remark }}
27 27
         </el-descriptions-item>
28
+        <el-descriptions-item label="预算表单备注" :span="5">
29
+          {{ budgetForm.remark }}
30
+        </el-descriptions-item>
28 31
         <el-descriptions-item label="项目计划工作量" :span="3">
29 32
           <div>
30 33
             <table border="1" style="width: 100%;">
@@ -122,13 +125,13 @@
122 125
               <td>{{ user.user ? user.user.nickName : '' }}</td>
123 126
               <td>1780</td>
124 127
               <td>
125
-                <span v-if="taskName == '分管审核' || taskName == '总经理审核' || taskName == '预算批准'">
126
-                  {{ user.salary.salary }}
128
+                <span v-if="$store.getters.roles.includes('leader')">
129
+                  {{ user.user.deptId === 115 ? '/' : user.salary.salary }}
127 130
                 </span>
128 131
                 <span v-else>/</span>
129 132
               </td>
130 133
               <td>
131
-                <span v-if="taskName == '分管审核' || taskName == '总经理审核' || taskName == '预算批准'">
134
+                <span v-if="$store.getters.roles.includes('leader')">
132 135
                   {{ parseFloat((user.salary.salary + 1780) / 21.75).toFixed(2) }}
133 136
                 </span>
134 137
                 <span v-else>/</span>
@@ -277,8 +280,7 @@
277 280
             (简写:{{ (budgetForm.totalBudget / 10000).toFixed(4) + '万' }})
278 281
           </div>
279 282
         </el-descriptions-item>
280
-        <el-descriptions-item label="合同总价约" :span="3"
281
-          v-if="taskName == '分管审核' || taskName == '总经理审核' || taskName == '预算批准'">
283
+        <el-descriptions-item label="合同总价约" :span="3" v-if="$store.getters.roles.includes('leader')">
282 284
           <div class="text-center" style="font-weight:bold;font-size:18px;color:#409EFF">
283 285
             {{ contract.contractId ? contract.amount : '' }}
284 286
           </div>
@@ -286,8 +288,7 @@
286 288
             (简写:{{ contract.contractId ? (contract.amount / 10000).toFixed(4) + '万' : '' }})
287 289
           </div>
288 290
         </el-descriptions-item>
289
-        <el-descriptions-item label="利润" :span="3"
290
-          v-if="taskName == '分管审核' || taskName == '总经理审核' || taskName == '预算批准'">
291
+        <el-descriptions-item label="利润" :span="3" v-if="$store.getters.roles.includes('leader')">
291 292
           <div class="text-center" style="font-weight:bold;font-size:18px;color:#67C23A">
292 293
             {{ profit.toFixed(2) }}
293 294
           </div>
@@ -421,13 +422,14 @@ export default {
421 422
             this.deviceLen = res.rows.length + 1;
422 423
           })
423 424
           listBudgetStaff({ pageSize: 100, budgetId: this.budgetForm.budgetId }).then(res => {
424
-            this.chooseUser = res.rows;
425
+            let staffList = res.rows;
425 426
             this.userLen = res.rows.length + 1;
426
-            let days = 0;
427
-            for (let d of this.chooseUser) {
428
-              days = days + d.days
427
+            for (let staff of staffList) {
428
+              if (staff.user.deptId === 115) {
429
+                staff.salary = { salary: 7898.75 }
430
+              }
429 431
             }
430
-            this.budgetForm.inOutPriceSum = Number(days) * Number(this.chooseUser[0].inOutPrice)
432
+            this.chooseUser = staffList
431 433
           })
432 434
           listBudgetCar({ pageSize: 100, budgetId: this.budgetForm.budgetId }).then(res => {
433 435
             this.chooseCar = res.rows;

+ 8
- 1
oa-ui/src/views/flowable/form/budget/staffTable.vue Прегледај датотеку

@@ -106,7 +106,7 @@ export default {
106 106
         })
107 107
       }
108 108
     },
109
-    initStaffCost(){
109
+    initStaffCost() {
110 110
       let staffCost = 0;
111 111
       for (let user of this.chooseUser) {
112 112
         staffCost = staffCost + Number(user.staffCost);
@@ -114,6 +114,13 @@ export default {
114 114
       this.form.staffCost = staffCost
115 115
     },
116 116
     getChooseUser(val) {
117
+      console.log(val);
118
+
119
+      for (let v of val) {
120
+        if (v.deptId === 115) {
121
+          v.salary = { salary: 7898.75 }
122
+        }
123
+      }
117 124
       this.chooseUser = val;
118 125
       this.openPeople = false;
119 126
       this.recalculateCost(val, 'staffCost', 'staffCost');

+ 4
- 2
oa-ui/src/views/flowable/form/business/contractForm.vue Прегледај датотеку

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-05-10 15:31:57
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-12-19 16:50:23
5
+ * @LastEditTime: 2024-12-30 16:30:04
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -67,7 +67,7 @@
67 67
               :filePathName="'承接合同/合同文件'" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf', 'rar', 'zip']"
68 68
               @input="getContractPath">
69 69
             </FileUpload>
70
-            <div v-if="form.contractDocument && taskName != '合同拟稿'">
70
+            <div v-if="form.contractDocument">
71 71
               <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + form.contractDocument}`)">
72 72
                 {{ getFileName(form.contractDocument) }}
73 73
               </el-link>
@@ -75,6 +75,8 @@
75 75
                 :underline="false" target="_blank">
76 76
                 <span class="el-icon-download">下载文件</span>
77 77
               </el-link>
78
+              <FileUpload v-if="taskName == '合同拟稿'" :limit="1" :filePathName="'承接合同/合同文件'"
79
+                :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf', 'rar', 'zip']" @input="getContractPath"></FileUpload>
78 80
             </div>
79 81
           </el-form-item>
80 82
           <el-row>

+ 3
- 1
oa-ui/src/views/flowable/form/business/subContract.vue Прегледај датотеку

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-05-10 15:31:57
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-12-10 17:11:17
5
+ * @LastEditTime: 2024-12-30 16:30:28
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -52,6 +52,8 @@
52 52
                 :underline="false" target="_blank">
53 53
                 <span class="el-icon-download">下载文件</span>
54 54
               </el-link>
55
+              <FileUpload v-if="taskName == '合同拟稿'" :limit="1" :filePathName="'分包合同/合同文件'"
56
+                :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf', 'rar', 'zip']" @input="getContractPath"></FileUpload>
55 57
             </div>
56 58
           </el-form-item>
57 59
           <el-form-item label="关联项目" prop="projectId">

+ 5
- 3
oa-ui/src/views/flowable/form/finance/borrowForm.vue Прегледај датотеку

@@ -148,7 +148,7 @@
148 148
             <FileUpload v-if="form.borrowDocument == null || form.borrowDocument == ''" :disabled="taskName != '借款申请'"
149 149
               :limit="1" :filePathName="'借款/申请附件'" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf', 'rar', 'zip']"
150 150
               @input="getBorrowPath"></FileUpload>
151
-            <div v-if="form.borrowDocument && taskName != '借款申请'">
151
+            <div v-if="form.borrowDocument">
152 152
               <!-- <file-item :document="form.borrowDocument"></file-item> -->
153 153
               <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + form.borrowDocument}`)">
154 154
                 {{ getFileName(form.borrowDocument) }}
@@ -157,6 +157,8 @@
157 157
                 :underline="false" target="_blank">
158 158
                 <span class="el-icon-download">下载文件</span>
159 159
               </el-link>
160
+              <FileUpload v-if="taskName == '借款申请'" :limit="1" :filePathName="'借款/申请附件'"
161
+                :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf', 'rar', 'zip']" @input="getBorrowPath"></FileUpload>
160 162
             </div>
161 163
           </el-form-item>
162 164
           <el-divider></el-divider>
@@ -469,8 +471,8 @@ export default {
469 471
     this.initForm();
470 472
   },
471 473
   methods: {
472
-    initSign(){
473
-      
474
+    initSign() {
475
+
474 476
     },
475 477
     initRules() {
476 478
       if (this.taskName == '借款申请') {

Loading…
Откажи
Сачувај