瀏覽代碼

预算和核算新增合同总价行,修改工资下载模版地址

余思翰 2 週之前
父節點
當前提交
4bb00e7ef4

+ 41
- 5
oa-ui/src/views/flowable/form/budget/adjust/budgetAdjust.vue 查看文件

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2025-05-07 11:01:39
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2025-05-20 17:08:40
5
+ * @LastEditTime: 2025-05-21 09:17:51
6 6
 -->
7 7
 <template>
8 8
   <div class="main" v-loading="loading">
@@ -219,10 +219,29 @@
219 219
             <td style="text-align:right;"><b>{{ isNaN(budgetForm.totalBudget) ? 0 : budgetForm.totalBudget }}</b></td>
220 220
             <td style="text-align:right;"><b>{{ isNaN(totalBudgetAdjust) ? 0 : totalBudgetAdjust }}</b></td>
221 221
             <td style="text-align:right;"><b>{{ (Number(totalBudgetAdjust) - Number(budgetForm.totalBudget)).toFixed(2)
222
-            }}</b></td>
222
+                }}</b></td>
223 223
           </tr>
224 224
         </table>
225 225
       </el-descriptions-item>
226
+      <el-descriptions-item label="合同总价" :span="3" v-hasRole="['leader', 'finance', 'nfinance', 'admin']">
227
+        <table border="1" style="width:100%;" v-if="contractList.length > 0">
228
+          <tr style="background-color:#f8f8f9">
229
+            <td>序号</td>
230
+            <td>合同名称</td>
231
+            <td>合同总价</td>
232
+          </tr>
233
+          <tr v-for="contract, index in contractList" :key="contract.contractId">
234
+            <td>{{ index + 1 }}</td>
235
+            <td>{{ contract.contractName }}</td>
236
+            <td>{{ contract.amount }}</td>
237
+          </tr>
238
+        </table>
239
+        <div v-else>
240
+          <div class="alert alert-warning">
241
+            暂无合同信息
242
+          </div>
243
+        </div>
244
+      </el-descriptions-item>
226 245
       <el-descriptions-item label="核算说明" :span="3">
227 246
         <div v-if="taskName == '核算编制' && !checkForm.checkComment" class="alert alert-warning"
228 247
           style="padding: 10px; border: 1px solid #f0ad4e; background-color: #fcf8e3; color: #8a6d3b;">
@@ -329,6 +348,8 @@ import { getCar } from "@/api/oa/car/car";
329 348
 import { getDevice } from "@/api/oa/device/device";
330 349
 import { complete, getNextFlowNode } from "@/api/flowable/todo";
331 350
 import { getUsersManageLeader, getUserByPost, getUsersViceDeptLeaderByDept } from "@/api/system/post";
351
+import { listProjectContract } from "@/api/oa/contract/projectContract";
352
+import { getContract } from "@/api/oa/contract/contract";
332 353
 import InnerStaffCost from './components/InnerStaffCost.vue';
333 354
 import OuterStaffCost from './components/OuterStaffCost.vue';
334 355
 import CarCost from './components/CarCost.vue';
@@ -372,12 +393,12 @@ export default {
372 393
           this.row.projectId = res.data.projectId;
373 394
           this.initBudgetForm();
374 395
           this.initCheckForm();
375
-          // this.getProjectWorkList();
396
+          this.getContractInfo();
376 397
         });
377 398
       } else {
378 399
         this.initBudgetForm();
379 400
         this.initCheckForm();
380
-        // this.getProjectWorkList();
401
+        this.getContractInfo();
381 402
       }
382 403
 
383 404
     }
@@ -411,7 +432,9 @@ export default {
411 432
         deviceList: [],
412 433
         carList: [],
413 434
         participateList: []
414
-      }
435
+      },
436
+      contractList: [],
437
+      contract: {}
415 438
     }
416 439
   },
417 440
   async created() {
@@ -421,6 +444,7 @@ export default {
421 444
     }
422 445
     this.initBudgetForm();
423 446
     this.initCheckForm();
447
+    this.getContractInfo();
424 448
   },
425 449
   methods: {
426 450
     initBudgetForm() {
@@ -606,6 +630,18 @@ export default {
606 630
         }
607 631
       })
608 632
     },
633
+    // 获取合同信息
634
+    getContractInfo() {
635
+      listProjectContract({ projectId: this.row.projectId }).then(res => {
636
+        let contractIds = res.rows;
637
+        this.contractList = [];
638
+        for (let contractId of contractIds) {
639
+          getContract(contractId.contractId).then(response => {
640
+            this.contractList.push(response.data);
641
+          })
642
+        }
643
+      })
644
+    },
609 645
     async initActualInfo(project) {
610 646
       let deviceIds = project.devices.split(',');
611 647
       let carIds = project.cars.split(',');

+ 8
- 3
oa-ui/src/views/flowable/form/budget/adjust/newBudgetInfo.vue 查看文件

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2025-05-07 11:01:39
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2025-05-19 17:03:41
5
+ * @LastEditTime: 2025-05-21 09:18:59
6 6
 -->
7 7
 <template>
8 8
   <div class="main" v-loading="loading">
@@ -392,8 +392,8 @@
392 392
           </tr>
393 393
         </table>
394 394
       </el-descriptions-item>
395
-      <el-descriptions-item label="合同总价" :span="3" v-if="$store.getters.roles.includes('leader')">
396
-        <table border="1" style="width:100%;">
395
+      <el-descriptions-item label="合同总价" :span="3" v-hasRole="['leader', 'finance', 'nfinance', 'admin']">
396
+        <table border="1" style="width:100%;" v-if="contractList.length > 0">
397 397
           <tr style="background-color:#f8f8f9">
398 398
             <td>序号</td>
399 399
             <td>合同名称</td>
@@ -405,6 +405,11 @@
405 405
             <td>{{ contract.amount }}</td>
406 406
           </tr>
407 407
         </table>
408
+        <div v-else>
409
+          <div class="alert alert-warning">
410
+            暂无合同信息
411
+          </div>
412
+        </div>
408 413
       </el-descriptions-item>
409 414
       <el-descriptions-item label="分管领导审核意见" :span="3">
410 415
         <div v-if="taskName == '分管审核' && !budgetForm.managerComment" class="alert alert-warning"

+ 4
- 3
oa-ui/src/views/oa/wage/index.vue 查看文件

@@ -72,7 +72,7 @@
72 72
         <template slot-scope="scope">
73 73
           <span>{{ parseTime(scope.row.payDay, '{y}-{m}-{d}') }}</span>
74 74
         </template>
75
-      </el-table-column> -->
75
+</el-table-column> -->
76 76
       <el-table-column label="发放月份" align="center" prop="payMonth" width="180">
77 77
         <template slot-scope="scope">
78 78
           <span>{{ parseTime(scope.row.payMonth, '{y}-{m}') }}</span>
@@ -202,6 +202,7 @@ export default {
202 202
   name: "Wage",
203 203
   data() {
204 204
     return {
205
+      baseUrl: process.env.VUE_APP_BASE_API,
205 206
       // 遮罩层
206 207
       loading: true,
207 208
       // 选中数组
@@ -419,8 +420,8 @@ export default {
419 420
     },
420 421
     /* 下载模板 */
421 422
     importTemplate() {
422
-      const path = "http://127.0.0.1:8080/profile/template/userWage.xlsx"
423
-      // const path = "http://oa.sccehui.com:6104/prod-api/profile/template/cg-template.xlsx"
423
+      // const path = "http://127.0.0.1:8080/profile/template/userWage.xlsx"
424
+      const path = `${baseUrl}${'/profile/upload/template/userWage.xlsx'}`
424 425
       downloadTemplate(path).then(res => {
425 426
         const blob = new Blob([res])
426 427
         saveAs(blob, '社保公积金模版.xlsx');

Loading…
取消
儲存