Переглянути джерело

车辆预算新增油耗、保险、维修

余思翰 2 місяці тому
джерело
коміт
8b18ae6920

+ 3
- 2
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: 2025-01-23 14:02:18
5
+ * @LastEditTime: 2025-04-03 16:58:09
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -61,7 +61,7 @@
61 61
       <el-button type="primary" @click="submitNextFlow" v-if="taskName != '预算批准'">提交下一个流程</el-button>
62 62
       <el-button type="primary" @click="submitNextFlow" v-else>结算批准</el-button>
63 63
     </div>
64
-    <el-dialog title="表单预览" :visible.sync="viewOpen" width="60%" append-to-body>
64
+    <el-dialog title="表单预览" :visible.sync="viewOpen" width="70%" append-to-body>
65 65
       <budget-info :taskName="taskName" :taskForm="taskForm" @goBack="$emit('goBack')"></budget-info>
66 66
     </el-dialog>
67 67
   </div>
@@ -166,6 +166,7 @@ export default {
166 166
       } else {
167 167
         this.updateBudgetForm(this.budgetForm)
168 168
       }
169
+      this.$message.success('保存成功');
169 170
     },
170 171
     viewForm() {
171 172
       this.viewOpen = true;

+ 33
- 25
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-30 15:15:58
5
+ * @LastEditTime: 2025-04-03 16:48:33
6 6
 -->
7 7
 <template>
8 8
   <div class="main">
@@ -72,7 +72,7 @@
72 72
               <td style="min-width:50px">单价</td>
73 73
               <td style="min-width:50px">单位</td>
74 74
               <td style="min-width:50px">系数</td>
75
-              <td style="min-width:50px">金额</td>
75
+              <td style="min-width:80px">金额</td>
76 76
               <td style="min-width: 150px;">备注</td>
77 77
             </tr>
78 78
             <tr v-for="work in workList">
@@ -98,12 +98,12 @@
98 98
               <td v-else>
99 99
                 {{ work.coefficient }}
100 100
               </td>
101
-              <td>{{ work.settle }}</td>
101
+              <td style="text-align:right;">{{ (work.settle).toFixed(2) }}</td>
102 102
               <td>{{ work.remark ? work.remark : '' }}</td>
103 103
             </tr>
104 104
             <tr>
105 105
               <td :colspan="7" class="head">预结算额合计</td>
106
-              <td :colspan="1" class="head">{{ budgetForm.settleExpense }}</td>
106
+              <td :colspan="1" class="head" style="text-align:right;">{{ (budgetForm.settleExpense).toFixed(2) }}</td>
107 107
               <td></td>
108 108
             </tr>
109 109
           </table>
@@ -116,10 +116,11 @@
116 116
               <td>基本工资</td>
117 117
               <td>岗位工资</td>
118 118
               <td>人员成本(天)</td>
119
-              <td>预算天数</td>
120 119
               <td></td>
121
-              <td>金额</td>
122
-              <td>备注</td>
120
+              <td></td>
121
+              <td style="min-width:80px">预算天数</td>
122
+              <td></td>
123
+              <td style="min-width:80px">金额</td>
123 124
             </tr>
124 125
             <tr v-for="user in chooseUser" :key="'user' + user.userId">
125 126
               <td>{{ user.user ? user.user.nickName : '' }}</td>
@@ -136,6 +137,8 @@
136 137
                 </span>
137 138
                 <span v-else>/</span>
138 139
               </td>
140
+              <td></td>
141
+              <td></td>
139 142
               <td v-if="taskName == '分管审核' || taskName == '总经理审核' || taskName == '预算批准'">
140 143
                 <el-input-number :controls="false" style="width:100px;" v-model="user.days"
141 144
                   @blur="computedFixCostSettle(user, 'user')"></el-input-number>
@@ -144,31 +147,34 @@
144 147
                 {{ user.days }}
145 148
               </td>
146 149
               <td></td>
147
-              <td>{{ user.staffCost }}</td>
148
-              <td></td>
150
+              <td style="text-align:right;">{{ (user.staffCost).toFixed(2) }}</td>
149 151
             </tr>
150 152
             <tr v-if="carLen != 1" style="background-color:#f8f8f9">
151 153
               <td :rowspan="carLen">车辆</td>
152 154
               <td>车牌号</td>
153 155
               <td>油耗(元/km)</td>
154
-              <td>总里程</td>
156
+              <td>保险(元/天)</td>
157
+              <td>维修(元/天)</td>
155 158
               <td>折旧成本(天)</td>
159
+              <td>总里程</td>
156 160
               <td>预算天数</td>
157 161
               <td>过路费</td>
158 162
               <td>金额</td>
159
-              <td>备注</td>
160 163
             </tr>
161 164
             <tr v-for="car in chooseCar" :key="'car' + car.carId">
162 165
               <td>{{ car.car ? car.car.licensePlate : '' }}</td>
163
-              <td>{{ car.mileage }}</td>
166
+              <td>{{ car.car ? car.car.fuel : '' }}</td>
167
+              <td>{{ car.car ? car.car.insurance : '' }}</td>
168
+              <td>{{ car.car ? car.car.maintenance : '' }}</td>
169
+              <td>{{ car.car ? car.car.dayCost : '' }}</td>
170
+              <td v-if="taskName != '分管审核' && taskName != '总经理审核'">{{ car.distance }}</td>
164 171
               <td v-if="taskName == '分管审核' || taskName == '总经理审核'">
165 172
                 <el-input-number :controls="false" style="width:100px;" v-model="car.distance"
166 173
                   @blur="computedFixCostSettle(car, 'car')"></el-input-number>
167 174
               </td>
168
-              <td v-else>
175
+              <!-- <td v-else>
169 176
                 {{ car.distance }}
170
-              </td>
171
-              <td>{{ car.car ? car.car.dayCost : '' }}</td>
177
+              </td> -->
172 178
               <td v-if="taskName == '分管审核' || taskName == '总经理审核'">
173 179
                 <el-input-number :controls="false" style="width:100px;" v-model="car.days"
174 180
                   @blur="computedFixCostSettle(car, 'car')"></el-input-number>
@@ -177,7 +183,7 @@
177 183
                 {{ car.days }}
178 184
               </td>
179 185
               <td> {{ car.toll }} </td>
180
-              <td>{{ car.expense }}</td>
186
+              <td style="text-align:right;">{{ (car.expense).toFixed(2) }}</td>
181 187
             </tr>
182 188
             <tr v-if="deviceLen != 1" style="background-color:#f8f8f9">
183 189
               <td :rowspan="deviceLen">设备</td>
@@ -185,6 +191,8 @@
185 191
               <td>规格型号</td>
186 192
               <td>品牌</td>
187 193
               <td>折旧成本(天)</td>
194
+              <td></td>
195
+              <td></td>
188 196
               <td>预算天数</td>
189 197
               <td></td>
190 198
               <td>金额</td>
@@ -194,6 +202,8 @@
194 202
               <td>{{ device.device ? device.device.series : '' }}</td>
195 203
               <td>{{ device.device ? device.device.brand : '' }}</td>
196 204
               <td>{{ device.device ? device.device.dayCost : '' }}</td>
205
+              <td></td>
206
+              <td></td>
197 207
               <td v-if="taskName == '分管审核' || taskName == '总经理审核'">
198 208
                 <el-input-number :controls="false" style="width:100px;" v-model="device.days"
199 209
                   @blur="computedFixCostSettle(device, 'device')"></el-input-number>
@@ -202,13 +212,11 @@
202 212
                 {{ device.days }}
203 213
               </td>
204 214
               <td></td>
205
-              <td>{{ device.depreciation }}</td>
206
-              <td></td>
215
+              <td style="text-align:right;">{{ (device.depreciation).toFixed(2) }}</td>
207 216
             </tr>
208 217
             <tr>
209
-              <td :colspan="7" class="head">间接成本合计</td>
210
-              <td :colspan="1" class="head">{{ budgetForm.fixCost }}</td>
211
-              <td></td>
218
+              <td :colspan="9" class="head">间接成本合计</td>
219
+              <td :colspan="1" class="head" style="text-align:right;">{{ budgetForm.fixCost }}</td>
212 220
             </tr>
213 221
           </table>
214 222
         </el-descriptions-item>
@@ -277,7 +285,7 @@
277 285
             {{ budgetForm.totalBudget }}
278 286
           </div>
279 287
           <div class="text-center">
280
-            (简写:{{ (budgetForm.totalBudget / 10000).toFixed(4) + '万' }})
288
+            <!-- (简写:{{ (budgetForm.totalBudget / 10000).toFixed(4) + '万' }}) -->
281 289
           </div>
282 290
         </el-descriptions-item>
283 291
         <el-descriptions-item label="合同总价约" :span="3" v-if="$store.getters.roles.includes('leader')">
@@ -285,7 +293,7 @@
285 293
             {{ contract.contractId ? contract.amount : '' }}
286 294
           </div>
287 295
           <div class="text-center">
288
-            (简写:{{ contract.contractId ? (contract.amount / 10000).toFixed(4) + '万' : '' }})
296
+            <!-- (简写:{{ contract.contractId ? (contract.amount / 10000).toFixed(4) + '万' : '' }}) -->
289 297
           </div>
290 298
         </el-descriptions-item>
291 299
         <el-descriptions-item label="利润" :span="3" v-if="$store.getters.roles.includes('leader')">
@@ -293,7 +301,7 @@
293 301
             {{ profit.toFixed(2) }}
294 302
           </div>
295 303
           <div class="text-center">
296
-            (简写:{{ (profit / 10000).toFixed(4) + '万' }})
304
+            <!-- (简写:{{ (profit / 10000).toFixed(4) + '万' }}) -->
297 305
           </div>
298 306
         </el-descriptions-item>
299 307
         <el-descriptions-item label="分管审核意见" :span="3">
@@ -594,7 +602,7 @@ export default {
594 602
         this.$set(item, 'staffCost', total);
595 603
         this.getCost("staffCost", "staffCost", this.chooseUser);
596 604
       } else if (type == 'car') {
597
-        let total1 = (Number(item.mileage) || 0) * (Number(item.distance) || 0);
605
+        let total1 = (Number(item.fuel) || 0) * (Number(item.distance) || 0);
598 606
         let total2 = (Number(item.car.dayCost) || 0) * (Number(item.days) || 0);
599 607
         this.$set(item, "depreciation", total2);
600 608
         let sum = (total1 + total2).toFixed(2); // sum 是一个字符串  

+ 18
- 10
oa-ui/src/views/flowable/form/budget/carTable.vue Переглянути файл

@@ -13,13 +13,15 @@
13 13
       <el-form-item  v-if="chooseCar.length != 0">
14 14
         <table border="1">
15 15
           <tr>
16
-            <td :colspan="7" class="head">车辆成本预算</td>
16
+            <td :colspan="9" class="head">车辆成本预算</td>
17 17
           </tr>
18 18
           <tr>
19 19
             <td style="width: 120px">车牌号</td>
20 20
             <td style="width: 100px">油耗(元/km)</td>
21
-            <td style="width: 100px">总里程</td>
21
+            <td style="width: 100px">保险(元/天)</td>
22
+            <td style="width: 100px">维修(元/天)</td>
22 23
             <td style="width: 110px">折旧成本(天)</td>
24
+            <td style="width: 100px">总里程</td>
23 25
             <td style="width: 110px">预算天数</td>
24 26
             <td style="width: 110px">过路费</td>
25 27
             <td style="width: 100px">总额</td>
@@ -27,14 +29,20 @@
27 29
           <tr v-for="car in chooseCar" :key="car.carId">
28 30
             <td>{{ car.licensePlate + car.brand }}</td>
29 31
             <td>
30
-              {{ car.mileage }}
32
+              {{ car.fuel }}
31 33
             </td>
32 34
             <td>
33
-              <el-input v-model="car.distance" placeholder="请输入总里程" @blur="calculateCarTotal(car)"></el-input>
35
+              {{ car.insurance }}
36
+            </td>
37
+            <td>
38
+              {{ car.maintenance }}
34 39
             </td>
35 40
             <td>
36 41
               {{ car.dayCost }}
37 42
             </td>
43
+            <td>
44
+              <el-input v-model="car.distance" placeholder="请输入总里程" @blur="calculateCarTotal(car)"></el-input>
45
+            </td>
38 46
             <td>
39 47
               <el-input v-model="car.days" placeholder="请输入天数" @blur="calculateCarTotal(car)"></el-input>
40 48
             </td>
@@ -44,7 +52,7 @@
44 52
             <td class="carCost">{{ car.expense }}</td>
45 53
           </tr>
46 54
           <tr>
47
-            <td colspan="6">车辆成本合计</td>
55
+            <td colspan="8">车辆成本合计</td>
48 56
             <td>{{ form.carCost }}</td>
49 57
           </tr>
50 58
         </table>
@@ -105,6 +113,9 @@ export default {
105 113
         listBudgetCar({ pageSize: 100, budgetId:this.budgetId }).then((res) => {
106 114
           this.chooseCar = res.rows
107 115
           for (let car of this.chooseCar) {
116
+            car.fuel = car.car.fuel
117
+            car.insurance = car.car.insurance
118
+            car.maintenance = car.car.maintenance
108 119
             car.licensePlate = car.car.licensePlate
109 120
             car.dayCost = car.car.dayCost
110 121
             car.brand = car.car.brand
@@ -122,15 +133,12 @@ export default {
122 133
     },
123 134
     getChooseCar(val) {
124 135
       this.chooseCar = val;
125
-      for (let car of this.chooseCar) {
126
-        car.mileage = 1.0
127
-      }
128 136
       this.openCar = false;
129 137
       this.recalculateCost(val, 'expense', 'carCost');
130 138
     },
131 139
     calculateCarTotal(car) {
132
-      let total1 = Number(car.mileage) * Number(car.distance);
133
-      let total2 = Number(car.dayCost) * Number(car.days);
140
+      let total1 = Number(car.fuel) * Number(car.distance);
141
+      let total2 = (Number(car.insurance) + Number(car.maintenance) + Number(car.dayCost) )* Number(car.days);
134 142
       let sum = (total1 + total2 + Number(car.toll)).toFixed(2);
135 143
       this.$set(car, "depreciation", total2.toFixed(2));
136 144
       this.$set(car, "expense", sum);

Завантаження…
Відмінити
Зберегти