浏览代码

新增打印结算表单

余思翰 1年前
父节点
当前提交
65565d2a9d

+ 1
- 0
oa-ui/package.json 查看文件

63
     "vue-count-to": "1.0.13",
63
     "vue-count-to": "1.0.13",
64
     "vue-cropper": "0.5.5",
64
     "vue-cropper": "0.5.5",
65
     "vue-meta": "2.4.0",
65
     "vue-meta": "2.4.0",
66
+    "vue-print-nb": "^1.7.5",
66
     "vue-router": "3.4.9",
67
     "vue-router": "3.4.9",
67
     "vuedraggable": "2.24.3",
68
     "vuedraggable": "2.24.3",
68
     "vuex": "3.6.0",
69
     "vuex": "3.6.0",

+ 3
- 1
oa-ui/src/main.js 查看文件

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-01-03 09:23:11
3
  * @Date: 2024-01-03 09:23:11
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-24 15:36:45
5
+ * @LastEditTime: 2024-05-09 14:49:27
6
  */
6
  */
7
 import Vue from 'vue'
7
 import Vue from 'vue'
8
 
8
 
51
 
51
 
52
 import publicData from '@/assets/datas/publicData'
52
 import publicData from '@/assets/datas/publicData'
53
 
53
 
54
+import Print from 'vue-print-nb'
54
 
55
 
55
 // 全局方法挂载
56
 // 全局方法挂载
56
 Vue.prototype.getDicts = getDicts
57
 Vue.prototype.getDicts = getDicts
77
 Vue.use(directive)
78
 Vue.use(directive)
78
 Vue.use(plugins)
79
 Vue.use(plugins)
79
 Vue.use(VueMeta)
80
 Vue.use(VueMeta)
81
+Vue.use(Print)
80
 DictData.install()
82
 DictData.install()
81
 
83
 
82
 /**
84
 /**

+ 3
- 8
oa-ui/src/views/flowable/form/projectProcess/inProgress.vue 查看文件

1
 <!--
1
 <!--
2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-04-15 09:35:41
3
  * @Date: 2024-04-15 09:35:41
4
- * @LastEditors: wrh
5
- * @LastEditTime: 2024-05-08 16:01:53
6
--->
7
-<!--
8
- * @Author: ysh
9
- * @Date: 2024-04-08 13:56:14
10
- * @LastEditors: wrh
11
- * @LastEditTime: 2024-04-29 14:33:39
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-05-09 11:12:07
12
 -->
6
 -->
13
 <template>
7
 <template>
14
   <div>
8
   <div>
301
       })
295
       })
302
     },
296
     },
303
     submitNextFlow() {
297
     submitNextFlow() {
298
+      this.preserve();
304
       const params = { taskId: this.taskForm.taskId };
299
       const params = { taskId: this.taskForm.taskId };
305
       // 获取下一个流程节点
300
       // 获取下一个流程节点
306
       getNextFlowNode(params).then(res => {
301
       getNextFlowNode(params).then(res => {

+ 28
- 35
oa-ui/src/views/flowable/form/settleForm.vue 查看文件

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-04-30 09:03:14
3
  * @Date: 2024-04-30 09:03:14
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-05-08 17:54:13
5
+ * @LastEditTime: 2024-05-09 16:02:23
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div class="app-container" v-loading="loading">
8
   <div class="app-container" v-loading="loading">
9
+    <el-button type="warning" icon="el-icon-printer" @click="printOpen = true">打印</el-button>
10
+    <el-dialog title="打印结算表" :visible.sync="printOpen" width="65%" append-to-body>
11
+      <settle-print :form="form" :chooseProject="chooseProject" :workList="settleWorkList" :settleList="oldSettleSumList"></settle-print>
12
+    </el-dialog>
9
     <el-row :gutter="20">
13
     <el-row :gutter="20">
10
       <el-col :span="19" :xs="24">
14
       <el-col :span="19" :xs="24">
11
         <h2 class="text-center">项目结算表</h2>
15
         <h2 class="text-center">项目结算表</h2>
235
                   </el-input>
239
                   </el-input>
236
                 </td>
240
                 </td>
237
                 <td>
241
                 <td>
238
-                  <el-input-number :precision="2" style="width: 200px" v-model="dept.amount" clearable
239
-                    :controls="false" @blur="calculateDeptAmount(index)"></el-input-number>
242
+                  <el-input-number :precision="2" style="width: 200px" v-model="dept.amount" clearable :controls="false"
243
+                    @blur="calculateDeptAmount(index)"></el-input-number>
240
                 </td>
244
                 </td>
241
                 <td>
245
                 <td>
242
                   <el-input v-model="dept.remark" type="textarea" clearable :autosize="{ minRows: 2, maxRows: 10 }">
246
                   <el-input v-model="dept.remark" type="textarea" clearable :autosize="{ minRows: 2, maxRows: 10 }">
429
 import { getUser } from "@/api/system/user";
433
 import { getUser } from "@/api/system/user";
430
 import { complete, getNextFlowNode } from "@/api/flowable/todo";
434
 import { complete, getNextFlowNode } from "@/api/flowable/todo";
431
 import { getUsersDeptLeader, getUsersDeptLeaderByDept, getUsersManageLeaderByDept } from '@/api/system/post.js'
435
 import { getUsersDeptLeader, getUsersDeptLeaderByDept, getUsersManageLeaderByDept } from '@/api/system/post.js'
436
+import SettlePrint from './components/settlePrint.vue';
432
 export default {
437
 export default {
433
   components: {
438
   components: {
434
     flow,
439
     flow,
435
     ChoosePrice,
440
     ChoosePrice,
441
+    SettlePrint,
436
   },
442
   },
437
   props: {
443
   props: {
438
     taskName: {
444
     taskName: {
449
     }
455
     }
450
   },
456
   },
451
   watch: {
457
   watch: {
452
-    
458
+
453
   },
459
   },
454
   data() {
460
   data() {
455
     return {
461
     return {
462
+      printOpen: false,
456
       loading: true,
463
       loading: true,
457
       drawer: false,
464
       drawer: false,
458
       flag: false,
465
       flag: false,
628
         this.updateSettleFn();
635
         this.updateSettleFn();
629
         this.updateSettleSummaryFn();
636
         this.updateSettleSummaryFn();
630
         this.updateSettleWorkFn();
637
         this.updateSettleWorkFn();
631
-
638
+        this.$message.success('保存成功')
632
       } else {
639
       } else {
633
         this.addSettleFn();
640
         this.addSettleFn();
634
       }
641
       }
798
       }
805
       }
799
       this.actualSumSettle = Number(this.settleSumTr.amount) - sum;
806
       this.actualSumSettle = Number(this.settleSumTr.amount) - sum;
800
     },
807
     },
801
-    calculateDeptAmount(index){
802
-      debugger
808
+    calculateDeptAmount(index) {
803
       let num = 0
809
       let num = 0
804
       let len = this.deptSettleList.length
810
       let len = this.deptSettleList.length
805
-      if (len > 1){
806
-        if(index == len - 1){
807
-          for(let i = 0; i< index ;i ++){
811
+      if (len > 1) {
812
+        if (index == len - 1) {
813
+          for (let i = 0; i < index; i++) {
808
             num = num + this.deptSettleList[i].amount
814
             num = num + this.deptSettleList[i].amount
809
           }
815
           }
810
           this.deptSettleList[index].amount = this.actualSumSettle - num
816
           this.deptSettleList[index].amount = this.actualSumSettle - num
835
     addSettleFn() {
841
     addSettleFn() {
836
       let settleId = this.taskForm.formId;
842
       let settleId = this.taskForm.formId;
837
       this.form.settleId = settleId;
843
       this.form.settleId = settleId;
838
-      getSettle(this.taskForm.formId).then(res=>{
839
-        if(res.data){
844
+      getSettle(this.taskForm.formId).then(res => {
845
+        if (res.data) {
840
           updateSettle(this.form);
846
           updateSettle(this.form);
841
           this.addSettleWorkFn(settleId);
847
           this.addSettleWorkFn(settleId);
842
           this.addSettleSummaryFn(settleId);
848
           this.addSettleSummaryFn(settleId);
843
-        }else{
849
+        } else {
844
           addSettle(this.form).then(res => {
850
           addSettle(this.form).then(res => {
845
-          this.addSettleWorkFn(settleId);
846
-          this.addSettleSummaryFn(settleId);
847
-        });
851
+            this.addSettleWorkFn(settleId);
852
+            this.addSettleSummaryFn(settleId);
853
+          });
848
         }
854
         }
849
-        
855
+
850
       })
856
       })
851
-      
857
+
852
     },
858
     },
853
     addSettleWorkFn(settleId) {
859
     addSettleWorkFn(settleId) {
854
       for (let work of this.settleWorkList) {
860
       for (let work of this.settleWorkList) {
855
         work.settleId = settleId;
861
         work.settleId = settleId;
856
-        setTimeout(() => {
857
-          addSettleWork(work);
858
-        }, 500)
862
+        addSettleWork(work);
859
       }
863
       }
860
     },
864
     },
861
     addSettleSummaryFn(settleId) {
865
     addSettleSummaryFn(settleId) {
863
       addSettleSummary(this.settleSumTr);
867
       addSettleSummary(this.settleSumTr);
864
       for (let item of this.settleSumList) {
868
       for (let item of this.settleSumList) {
865
         item.settleId = settleId;
869
         item.settleId = settleId;
866
-        setTimeout(() => {
867
-          addSettleSummary(item).then(res=>{
868
-            console.log(item);
869
-          });
870
-        }, 1000)
870
+        addSettleSummary(item)
871
       }
871
       }
872
       for (let item of this.deptSettleList) {
872
       for (let item of this.deptSettleList) {
873
         item.settleId = settleId;
873
         item.settleId = settleId;
874
-        setTimeout(() => {
875
-          addSettleSummary(item).then(res=>{
876
-            console.log(item);
877
-          });
878
-        }, 1000)
874
+        addSettleSummary(item)
879
       }
875
       }
880
     },
876
     },
881
     // 获取数据
877
     // 获取数据
917
     },
913
     },
918
     // 更新数据
914
     // 更新数据
919
     updateSettleFn() {
915
     updateSettleFn() {
920
-      updateSettle(this.form).then(res => {
921
-        if (res.code == 200)
922
-          this.$message.success('保存成功')
923
-      })
916
+      updateSettle(this.form)
924
     },
917
     },
925
     updateSettleWorkFn() {
918
     updateSettleWorkFn() {
926
       delSettleWork([this.taskForm.formId]).then(res => {
919
       delSettleWork([this.taskForm.formId]).then(res => {

正在加载...
取消
保存