|
|
@@ -2,13 +2,7 @@
|
|
2
|
2
|
* @Author: ysh
|
|
3
|
3
|
* @Date: 2024-03-25 15:05:59
|
|
4
|
4
|
* @LastEditors: Please set LastEditors
|
|
5
|
|
- * @LastEditTime: 2024-03-28 17:49:30
|
|
6
|
|
--->
|
|
7
|
|
-<!--
|
|
8
|
|
- * @Author: ysh
|
|
9
|
|
- * @Date: 2024-03-25 15:05:59
|
|
10
|
|
- * @LastEditors: Please set LastEditors
|
|
11
|
|
- * @LastEditTime: 2024-03-27 17:37:37
|
|
|
5
|
+ * @LastEditTime: 2024-03-29 16:51:06
|
|
12
|
6
|
-->
|
|
13
|
7
|
<template>
|
|
14
|
8
|
<div>
|
|
|
@@ -137,14 +131,15 @@
|
|
137
|
131
|
<td>{{ user.salary.salary }}</td>
|
|
138
|
132
|
<td>{{ parseFloat(user.salary.salary / 31).toFixed(2) }}</td>
|
|
139
|
133
|
<td>
|
|
140
|
|
- <el-input v-model="user.inOutPrice" placeholder="请输入进出场单价"></el-input>
|
|
|
134
|
+ <el-input v-model="user.inOutPrice" placeholder="请输入进出场单价" @change="calculateUserTotal(user)"></el-input>
|
|
141
|
135
|
</td>
|
|
142
|
136
|
<td>
|
|
143
|
|
- <el-input v-model="user.days" placeholder="请输入天数"></el-input>
|
|
|
137
|
+ <el-input v-model="user.days" placeholder="请输入天数" @change="calculateUserTotal(user)"
|
|
|
138
|
+ ></el-input>
|
|
144
|
139
|
</td>
|
|
145
|
140
|
<td class="staffCost">{{ user.staffCost }}</td>
|
|
146
|
141
|
<td>
|
|
147
|
|
- <el-button type="text" @click="calculateUserTotal(user)">计算</el-button>
|
|
|
142
|
+ <!-- <el-button type="text" @click="calculateUserTotal(user)">计算</el-button> -->
|
|
148
|
143
|
</td>
|
|
149
|
144
|
</tr>
|
|
150
|
145
|
<tr>
|
|
|
@@ -180,20 +175,20 @@
|
|
180
|
175
|
<tr v-for="car in chooseCar" :key="car.carId">
|
|
181
|
176
|
<td>{{ car.licensePlate }}</td>
|
|
182
|
177
|
<td>
|
|
183
|
|
- <el-input v-model="car.mileage" placeholder="请输入油耗"></el-input>
|
|
|
178
|
+ <el-input v-model="car.mileage" placeholder="请输入油耗" @change="calculateCarTotal(car)"></el-input>
|
|
184
|
179
|
</td>
|
|
185
|
180
|
<td>
|
|
186
|
|
- <el-input v-model="car.distance" placeholder="请输入总里程"></el-input>
|
|
|
181
|
+ <el-input v-model="car.distance" placeholder="请输入总里程" @change="calculateCarTotal(car)"></el-input>
|
|
187
|
182
|
</td>
|
|
188
|
183
|
<td>
|
|
189
|
184
|
{{ car.dayCost }}
|
|
190
|
185
|
</td>
|
|
191
|
186
|
<td>
|
|
192
|
|
- <el-input v-model="car.days" placeholder="请输入天数"></el-input>
|
|
|
187
|
+ <el-input v-model="car.days" placeholder="请输入天数" @change="calculateCarTotal(car)"></el-input>
|
|
193
|
188
|
</td>
|
|
194
|
189
|
<td class="carCost">{{ car.expense }}</td>
|
|
195
|
190
|
<td>
|
|
196
|
|
- <el-button type="text" @click="calculateCarTotal(car)">计算</el-button>
|
|
|
191
|
+ <!-- <el-button type="text" @click="calculateCarTotal(car)">计算</el-button> -->
|
|
197
|
192
|
</td>
|
|
198
|
193
|
</tr>
|
|
199
|
194
|
<tr>
|
|
|
@@ -234,11 +229,11 @@
|
|
234
|
229
|
{{ device.dayCost }}
|
|
235
|
230
|
</td>
|
|
236
|
231
|
<td>
|
|
237
|
|
- <el-input v-model="device.days" placeholder="请输入天数"></el-input>
|
|
|
232
|
+ <el-input v-model="device.days" placeholder="请输入天数" @change="calculateDeviceTotal(device)"></el-input>
|
|
238
|
233
|
</td>
|
|
239
|
234
|
<td class="deviceCost">{{ device.depreciation }}</td>
|
|
240
|
235
|
<td>
|
|
241
|
|
- <el-button type="text" @click="calculateDeviceTotal(device)">计算</el-button>
|
|
|
236
|
+ <!-- <el-button type="text" @click="calculateDeviceTotal(device)">计算</el-button> -->
|
|
242
|
237
|
</td>
|
|
243
|
238
|
</tr>
|
|
244
|
239
|
<tr>
|
|
|
@@ -269,7 +264,45 @@
|
|
269
|
264
|
<el-breadcrumb-item>固定成本小计</el-breadcrumb-item>
|
|
270
|
265
|
<el-breadcrumb-item>¥ {{ budgetForm.fixCost }}</el-breadcrumb-item>
|
|
271
|
266
|
</el-breadcrumb>
|
|
272
|
|
- <choose-money :workList="workList" @getSettle="getSettle"></choose-money>
|
|
|
267
|
+ <el-form>
|
|
|
268
|
+ <choose-money :workList="workList" @getSettle="getSettle"></choose-money>
|
|
|
269
|
+ <el-form-item label="外协费用:">
|
|
|
270
|
+ <el-input-number v-model="budgetForm.outExpense" style="width:400px;"></el-input-number>
|
|
|
271
|
+ </el-form-item>
|
|
|
272
|
+ <el-form-item label="商务费用:">
|
|
|
273
|
+ <el-input-number v-model="budgetForm.businessExpense" style="width:400px;"></el-input-number>
|
|
|
274
|
+ </el-form-item>
|
|
|
275
|
+ <el-form-item label="车船租赁:">
|
|
|
276
|
+ <el-input-number v-model="budgetForm.rentExpense" style="width:400px;"></el-input-number>
|
|
|
277
|
+ </el-form-item>
|
|
|
278
|
+ <el-form-item label="其他费用:">
|
|
|
279
|
+ <el-input-number v-model="budgetForm.otherExpense" style="width:400px;"></el-input-number>
|
|
|
280
|
+ </el-form-item>
|
|
|
281
|
+ <el-form-item label="直接成本小计:">
|
|
|
282
|
+ {{ budgetForm.directExpense }}
|
|
|
283
|
+ <el-button type="success" style="margin-left:30px;" @click="getDirectExpense(budgetForm)">计算</el-button>
|
|
|
284
|
+ </el-form-item>
|
|
|
285
|
+
|
|
|
286
|
+ </el-form>
|
|
|
287
|
+ </div>
|
|
|
288
|
+
|
|
|
289
|
+ <!-- 生成预算表 -->
|
|
|
290
|
+ <div class="finish" v-if="activeStep == 3">
|
|
|
291
|
+ <el-breadcrumb separator-class="el-icon-arrow-right">
|
|
|
292
|
+ <el-breadcrumb-item>选择项目</el-breadcrumb-item>
|
|
|
293
|
+ <el-breadcrumb-item>{{ projectForm.projectNumber }}</el-breadcrumb-item>
|
|
|
294
|
+ <el-breadcrumb-item>{{ projectForm.projectName }}</el-breadcrumb-item>
|
|
|
295
|
+ <el-breadcrumb-item>{{ projectForm.projectLeader }}</el-breadcrumb-item>
|
|
|
296
|
+ </el-breadcrumb>
|
|
|
297
|
+ <el-breadcrumb separator-class="el-icon-arrow-right" style="margin:15px 0">
|
|
|
298
|
+ <el-breadcrumb-item>固定成本小计</el-breadcrumb-item>
|
|
|
299
|
+ <el-breadcrumb-item>¥ {{ budgetForm.fixCost }}</el-breadcrumb-item>
|
|
|
300
|
+ </el-breadcrumb>
|
|
|
301
|
+ <el-breadcrumb separator-class="el-icon-arrow-right" style="margin:15px 0">
|
|
|
302
|
+ <el-breadcrumb-item>直接成本小计</el-breadcrumb-item>
|
|
|
303
|
+ <el-breadcrumb-item>¥ {{ budgetForm.directExpense }}</el-breadcrumb-item>
|
|
|
304
|
+ </el-breadcrumb>
|
|
|
305
|
+ <budget-table :budgetForm="budgetForm" :projectForm="projectForm" ></budget-table>
|
|
273
|
306
|
</div>
|
|
274
|
307
|
<el-divider></el-divider>
|
|
275
|
308
|
<div class="btn">
|
|
|
@@ -340,9 +373,10 @@ import choosePeople from "./components/choosePeople.vue";
|
|
340
|
373
|
import chooseCar from "./components/chooseCar.vue";
|
|
341
|
374
|
import chooseDevice from "./components/chooseDevice.vue";
|
|
342
|
375
|
import chooseMoney from "./components/chooseMoney.vue";
|
|
|
376
|
+import budgetTable from './components/budgetTable.vue';
|
|
343
|
377
|
export default {
|
|
344
|
378
|
components: {
|
|
345
|
|
- choosePeople, chooseCar, chooseDevice, chooseMoney
|
|
|
379
|
+ choosePeople, chooseCar, chooseDevice, chooseMoney, budgetTable
|
|
346
|
380
|
},
|
|
347
|
381
|
data() {
|
|
348
|
382
|
return {
|
|
|
@@ -425,6 +459,7 @@ export default {
|
|
425
|
459
|
this.openProject = false;
|
|
426
|
460
|
},
|
|
427
|
461
|
confirmStep() {
|
|
|
462
|
+ debugger
|
|
428
|
463
|
if (this.activeStep == 0) {
|
|
429
|
464
|
if (this.projectForm.projectNumber == undefined) {
|
|
430
|
465
|
this.activeStep = 0;
|
|
|
@@ -432,7 +467,13 @@ export default {
|
|
432
|
467
|
} else {
|
|
433
|
468
|
this.activeStep += 1;
|
|
434
|
469
|
}
|
|
435
|
|
- } else {
|
|
|
470
|
+ }else if(this.activeStep == 2){
|
|
|
471
|
+ this.budgetForm.chooseUser = this.chooseUser;
|
|
|
472
|
+ this.budgetForm.chooseCar = this.chooseCar;
|
|
|
473
|
+ this.budgetForm.chooseDevice = this.chooseDevice;
|
|
|
474
|
+ this.activeStep += 1;
|
|
|
475
|
+ }
|
|
|
476
|
+ else {
|
|
436
|
477
|
this.activeStep += 1;
|
|
437
|
478
|
}
|
|
438
|
479
|
},
|
|
|
@@ -453,7 +494,7 @@ export default {
|
|
453
|
494
|
return res.data.salary;
|
|
454
|
495
|
});
|
|
455
|
496
|
},
|
|
456
|
|
- getSettle(val){
|
|
|
497
|
+ getSettle(val) {
|
|
457
|
498
|
console.log(val);
|
|
458
|
499
|
console.log(this.budgetForm);
|
|
459
|
500
|
this.budgetForm.settleExpense = val.settle;
|
|
|
@@ -495,6 +536,12 @@ export default {
|
|
495
|
536
|
getFixCost() {
|
|
496
|
537
|
let total = Number(this.budgetForm.staffCost) + Number(this.budgetForm.carCost) + Number(this.budgetForm.deviceCost)
|
|
497
|
538
|
this.budgetForm.fixCost = total.toFixed(2)
|
|
|
539
|
+ },
|
|
|
540
|
+ // 获取直接成本
|
|
|
541
|
+ getDirectExpense(form) {
|
|
|
542
|
+ console.log(this.budgetForm);
|
|
|
543
|
+ let sum = Number(form.settleExpense) + form.outExpense + form.rentExpense + form.businessExpense + form.otherExpense
|
|
|
544
|
+ this.budgetForm.directExpense = sum.toFixed(2)
|
|
498
|
545
|
}
|
|
499
|
546
|
},
|
|
500
|
547
|
};
|
|
|
@@ -540,7 +587,8 @@ export default {
|
|
540
|
587
|
}
|
|
541
|
588
|
|
|
542
|
589
|
.staff,
|
|
543
|
|
- .other {
|
|
|
590
|
+ .other,
|
|
|
591
|
+ .finish {
|
|
544
|
592
|
width: 1200px;
|
|
545
|
593
|
margin: 0 auto;
|
|
546
|
594
|
padding-top: 50px;
|