Quellcode durchsuchen

修改新增预算中的人员、车辆、设备、绩效选择

余思翰 vor 1 Jahr
Ursprung
Commit
4db7380f13

+ 5
- 0
oa-ui/src/assets/styles/index.scss Datei anzeigen

@@ -193,4 +193,9 @@ aside {
193 193
 @font-face {
194 194
   font-family: 'CMCTitle'; // 根据自己用的去重命名字体名 
195 195
   src: url('~@/assets/font/cmctitle/cmctitle.woff');
196
+}
197
+.vertical-text{
198
+  writing-mode: vertical-rl;
199
+  transform: rotate(360deg);
200
+  letter-spacing: 5px;
196 201
 }

+ 79
- 44
oa-ui/src/views/flowable/form/budget/budgetInfo.vue Datei anzeigen

@@ -1,30 +1,30 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-03 16:28:09
4
- * @LastEditors: wrh
5
- * @LastEditTime: 2024-04-08 18:07:49
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-04-09 15:48:22
6 6
 -->
7 7
 <template>
8
-  <div>
8
+  <div class="main">
9 9
     <h2 style="text-align: center">项目直接生产成本预算表</h2>
10 10
     <table border="1" class="table">
11 11
       <tr>
12 12
         <td class="head">项目名称</td>
13
-        <td colspan="3">{{ projectForm.projectName }}</td>
13
+        <td colspan="3">{{ budgetForm.project ? budgetForm.project.projectName : '' }}</td>
14 14
         <td class="head">项目编号</td>
15
-        <td colspan="2">{{ projectForm.projectNumber }}</td>
15
+        <td colspan="2">{{ budgetForm.project ? budgetForm.project.projectNumber : '' }}</td>
16 16
       </tr>
17 17
       <tr>
18
-        <td :rowspan="userLen" class="head">人员</td>
19
-        <td class="head">姓名</td>
18
+        <td :rowspan="userLen" class="head vertical-text">人员</td>
19
+        <td class="head" style="width:250px">姓名</td>
20 20
         <td class="head">岗位工资</td>
21 21
         <td class="head">人员成本(天)</td>
22 22
         <td class="head">进出场单价</td>
23 23
         <td class="head">预算天数</td>
24 24
         <td class="head">金额</td>
25 25
       </tr>
26
-      <tr v-for="user,index in chooseUser" :key="index">
27
-        <td>{{ user.nickName }}</td>
26
+      <tr v-for="user, index in chooseUser" :key="'user' + index">
27
+        <td>{{ user.user ? user.user.nickName : '' }}</td>
28 28
         <td>{{ user.salary.salary }}</td>
29 29
         <td>{{ parseFloat(user.salary.salary / 31).toFixed(2) }}</td>
30 30
         <td>{{ user.inOutPrice }}</td>
@@ -32,7 +32,7 @@
32 32
         <td>{{ user.staffCost }}</td>
33 33
       </tr>
34 34
       <tr>
35
-        <td :rowspan="carLen" class="head">车辆</td>
35
+        <td :rowspan="carLen" class="head vertical-text">车辆</td>
36 36
         <td class="head">车牌号</td>
37 37
         <td class="head">油耗</td>
38 38
         <td class="head">总里程</td>
@@ -40,16 +40,16 @@
40 40
         <td class="head">预算天数</td>
41 41
         <td class="head">金额</td>
42 42
       </tr>
43
-      <tr v-for="car,index in chooseCar" :key="index">
44
-        <td>{{ car.licensePlate }}</td>
43
+      <tr v-for="car, index in chooseCar" :key="'car' + index">
44
+        <td>{{ car.car ? car.car.licensePlate : '' }}</td>
45 45
         <td>{{ car.mileage }}</td>
46 46
         <td>{{ car.distance }}</td>
47
-        <td>{{ car.dayCost }}</td>
47
+        <td>{{ car.car ? car.car.dayCost : '' }}</td>
48 48
         <td>{{ car.days }}</td>
49 49
         <td>{{ car.expense }}</td>
50 50
       </tr>
51 51
       <tr>
52
-        <td :rowspan="deviceLen" class="head">设备</td>
52
+        <td :rowspan="deviceLen" class="head vertical-text">设备</td>
53 53
         <td class="head">设备名称</td>
54 54
         <td class="head">规格型号</td>
55 55
         <td class="head">品牌</td>
@@ -57,11 +57,11 @@
57 57
         <td class="head">预算天数</td>
58 58
         <td class="head">金额</td>
59 59
       </tr>
60
-      <tr v-for="device,index in chooseDevice" :key="index">
61
-        <td>{{ device.name }}</td>
62
-        <td>{{ device.series }}</td>
63
-        <td>{{ device.brand }}</td>
64
-        <td>{{ device.dayCost }}</td>
60
+      <tr v-for="device, index in chooseDevice" :key="'device' + index">
61
+        <td>{{ device.device ? device.device.name : '' }}</td>
62
+        <td>{{ device.device ? device.device.series : '' }}</td>
63
+        <td>{{ device.device ? device.device.brand : '' }}</td>
64
+        <td>{{ device.device ? device.device.dayCost : '' }}</td>
65 65
         <td>{{ device.days }}</td>
66 66
         <td>{{ device.depreciation }}</td>
67 67
       </tr>
@@ -70,7 +70,7 @@
70 70
         <td>{{ budgetForm.fixCost }}</td>
71 71
       </tr>
72 72
       <tr>
73
-        <td :rowspan="workLen" class="head">预计结算金额</td>
73
+        <td :rowspan="workLen" class="head vertical-text">预计结算金额</td>
74 74
         <td class="head">工作内容</td>
75 75
         <td class="head">比例尺</td>
76 76
         <td class="head">总工作量</td>
@@ -79,8 +79,8 @@
79 79
         <td class="head">金额</td>
80 80
       </tr>
81 81
       <tr v-for="(work, index) in workList" :key="'work' + index">
82
-        <td>{{ work.content }}</td>
83
-        <td>{{ work.scale }}</td>
82
+        <td>{{ workContentList.length != 0 ? workContentList[index].content : "" }}</td>
83
+        <td>{{ work.cmcprice ? work.cmcprice : '' }}</td>
84 84
         <td>{{ work.workload }}</td>
85 85
         <td>{{ work.price }}</td>
86 86
         <td>{{ work.coefficient }}</td>
@@ -110,12 +110,12 @@
110 110
         <td colspan="6" class="head">总成本=(固定成本+直接成本)*120%</td>
111 111
         <td>{{ budgetForm.totalBudget }}</td>
112 112
       </tr>
113
-      <!-- <tr>
113
+      <tr>
114 114
         <td class="head">编制人</td>
115
-        <td colspan="2">{{  }}</td>
115
+        <td colspan="2">{{ budgetForm.compilerUser ? budgetForm.compilerUser.nickName :'' }}</td>
116 116
         <td class="head">审核人</td>
117
-        <td colspan="3"></td>
118
-      </tr> -->
117
+        <td colspan="3">{{ name }}</td>
118
+      </tr>
119 119
     </table>
120 120
   </div>
121 121
 </template>
@@ -126,7 +126,12 @@ import { listBudgetCar, getBudgetCar } from "@/api/oa/budget/budgetCar";
126 126
 import { listBudgetDevice, getBudgetDevice } from "@/api/oa/budget/budgetDevice";
127 127
 import { listBudgetSettle, getBudgetSettle } from "@/api/oa/budget/budgetSettle";
128 128
 import { listBudgetStaff, getBudgetStaff } from "@/api/oa/budget/budgetStaff";
129
+import { getProjectWork } from "@/api/oa/project/projectWork";
130
+import { mapGetters } from 'vuex';
129 131
 export default {
132
+  computed: {
133
+    ...mapGetters(["name", "userId"]),
134
+  },
130 135
   props: {
131 136
     taskForm: {
132 137
       type: Object,
@@ -136,7 +141,8 @@ export default {
136 141
   data() {
137 142
     return {
138 143
       projectId: '',
139
-      budgetForm: {},
144
+      budgetForm: {
145
+      },
140 146
       projectForm: {},
141 147
       userLen: 1,
142 148
       carLen: 1,
@@ -146,15 +152,12 @@ export default {
146 152
       chooseCar: [],
147 153
       chooseDevice: [],
148 154
       chooseUser: [],
149
-      workList: []
155
+      workList: [],
156
+      workContentList: []
150 157
     };
151 158
   },
152 159
   created() {
153 160
     this.initBudgetForm();
154
-    this.userLen = this.chooseUser.length + 1;
155
-    this.carLen = this.chooseCar.length + 1;
156
-    this.deviceLen = this.chooseDevice.length + 1;
157
-    this.workLen = this.workList.length + 5;
158 161
     this.totalBudget = (
159 162
       (Number(this.budgetForm.directExpense) + Number(this.budgetForm.fixCost)) *
160 163
       1.2
@@ -167,25 +170,57 @@ export default {
167 170
         this.budgetForm = res.rows[0];
168 171
         getBudgetDevice(this.budgetForm.budgetId).then(res => {
169 172
           console.log(res);
170
-          this.chooseDevice = res.rows;
173
+          this.chooseDevice = res.data;
174
+          this.deviceLen = res.data.length + 1;
171 175
         })
172
-        getBudgetStaff(this.budgetForm.budgetId).then(result => {
173
-          console.log(result);
174
-          this.chooseUser = res.rows;
176
+        getBudgetStaff(this.budgetForm.budgetId).then(res => {
177
+          console.log(res);
178
+          this.chooseUser = res.data;
179
+          this.userLen = res.data.length + 1;
175 180
         })
176
-        getBudgetCar(this.budgetForm.budgetId).then(result => {
177
-          console.log(result);
178
-          this.chooseCar = res.rows;
181
+        getBudgetCar(this.budgetForm.budgetId).then(res => {
182
+          console.log(res);
183
+          this.chooseCar = res.data;
184
+          this.carLen = res.data.length + 1;
179 185
         })
180
-        getBudgetSettle(this.budgetForm.budgetId).then(result => {
181
-          console.log(result);
182
-          this.workList = res.rows;
186
+        getBudgetSettle(this.budgetForm.budgetId).then(res => {
187
+          console.log(res);
188
+          this.workList = res.data;
189
+          this.workLen = res.data.length + 5;
190
+          this.getProjectWorkList();
183 191
         })
184 192
       });
185 193
     },
186
-
194
+    getProjectWorkList() {
195
+      getProjectWork(this.$route.query.formId).then(res => {
196
+        this.workContentList = res.data;
197
+      })
198
+    },
187 199
   },
188 200
 };
189 201
 </script>
190 202
 
191
-<style lang="scss" scoped></style>
203
+<style lang="scss" scoped>
204
+.main {
205
+  width: 1200px;
206
+  margin: 0 auto;
207
+  text-align: center;
208
+}
209
+
210
+table {
211
+  text-align: center;
212
+  border-collapse: collapse;
213
+  margin: 0 auto;
214
+
215
+  /*设置背景颜色*/
216
+  /* background-color: #bfa; */
217
+  td {
218
+    padding: 5px;
219
+  }
220
+}
221
+
222
+.head {
223
+  line-height: 35px;
224
+  font-weight: bold;
225
+}
226
+</style>

+ 0
- 1
oa-ui/src/views/flowable/form/deviceForm.vue Datei anzeigen

@@ -253,7 +253,6 @@ export default {
253 253
     submit() {
254 254
       this.$refs['deviceForm'].validate((valid) => {
255 255
         if (valid) {
256
-          debugger
257 256
           this.form.formId = this.taskForm.formId;
258 257
           let formData = new FormData();
259 258
           let jsonForm = JSON.stringify(this.form);

+ 0
- 3
oa-ui/src/views/flowable/form/projectProcess/arrangeProject.vue Datei anzeigen

@@ -102,7 +102,6 @@ export default {
102 102
     }
103 103
   },
104 104
   created() {
105
-    debugger
106 105
     if (this.$route.query.taskName != '项目登记') {
107 106
       this.initForm();
108 107
       // this.form.projectId = this.taskForm.formId;
@@ -112,7 +111,6 @@ export default {
112 111
   },
113 112
   methods: {
114 113
     initForm() {
115
-      debugger
116 114
       getProject(this.$route.query.formId).then(res => {
117 115
         this.form = res.data;
118 116
         if (this.form.undertakingDept != null && this.form.undertakingDept != "" && this.form.undertakingDept != undefined) {
@@ -148,7 +146,6 @@ export default {
148 146
       this.deptLeaderList = [];
149 147
       for (let v of val) {
150 148
         getUsersDeptLeaderByDept({ deptId: Number(v) }).then(res => {
151
-          debugger
152 149
           this.deptLeaderList.push(res.data.userId);
153 150
           this.form.deptLeader = this.deptLeaderList;
154 151
         })

+ 21
- 6
oa-ui/src/views/flowable/form/projectProcess/businessReview.vue Datei anzeigen

@@ -2,18 +2,31 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-08 13:56:14
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-08 14:08:27
5
+ * @LastEditTime: 2024-04-09 17:51:14
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
9 9
     <el-form :model="form" :rules="rules" label-width="100px" :disabled="disabled">
10
-      
10
+      <el-form-item label="审核意见:">
11
+        <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="jyComment">
12
+        </el-input>
13
+      </el-form-item>
14
+      <el-form-item label="审核人:">
15
+        {{ name }}
16
+      </el-form-item>
17
+      <el-form-item label="审核时间:">
18
+        {{  }}
19
+      </el-form-item>
11 20
     </el-form>
12 21
   </div>
13 22
 </template>
14 23
 
15 24
 <script>
25
+import { mapGetters } from 'vuex';
16 26
 export default {
27
+  computed: {
28
+    ...mapGetters(['name']),
29
+  },
17 30
   props: {
18 31
     disabled: {
19 32
       type: Boolean,
@@ -26,15 +39,17 @@ export default {
26 39
   },
27 40
   data() {
28 41
     return {
29
-      form:{},
30
-      rules:{}
42
+      form: {},
43
+      rules: {},
44
+      jyComment: "",
45
+      jyApprovalTime: ""
31 46
     }
32 47
   },
33 48
   created() {
34
-
49
+    this.jyApprovalTime = 
35 50
   },
36 51
   methods: {
37
-    
52
+
38 53
   },
39 54
 }
40 55
 </script>

+ 4
- 3
oa-ui/src/views/flowable/form/projectProcess/index.vue Datei anzeigen

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-02-27 14:49:15
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-08 14:01:51
5
+ * @LastEditTime: 2024-04-09 17:45:47
6 6
 -->
7 7
 
8 8
 <template>
@@ -19,7 +19,9 @@
19 19
           <el-tab-pane label="项目预算" name="项目预算">
20 20
             
21 21
           </el-tab-pane>
22
-          <el-tab-pane label="经营审核" name="经营审核"></el-tab-pane>
22
+          <el-tab-pane label="经营审核" name="经营审核">
23
+            <business-review :taskForm="taskForm" :disabled="taskName != '经营审核'" @goBack="goBack"></business-review>
24
+          </el-tab-pane>
23 25
           <el-tab-pane label="分管审核" name="分管审核"></el-tab-pane>
24 26
           <el-tab-pane label="生产确认" name="生产确认"></el-tab-pane>
25 27
           <el-tab-pane label="项目生产" name="项目生产"></el-tab-pane>
@@ -144,7 +146,6 @@ export default {
144 146
       this.addOpen = true
145 147
     },
146 148
     handleUpdate(row) {
147
-      debugger
148 149
       this.addForm = row;
149 150
       this.title = '修改项目信息';
150 151
       this.addOpen = true;

+ 0
- 1
oa-ui/src/views/flowable/task/myProcess/index.vue Datei anzeigen

@@ -294,7 +294,6 @@ export default {
294 294
           const formData = {};
295 295
           formData.disabled = true;
296 296
           formData.formBtns = false;
297
-          debugger
298 297
           formData.formId = formId
299 298
           if (row.id) {
300 299
             variables.variables = formData;

+ 4
- 2
oa-ui/src/views/flowable/task/todo/detail/index.vue Datei anzeigen

@@ -183,7 +183,8 @@ import projectProcess from "@/views/flowable/form/projectProcess/index.vue"
183 183
 import AddBudget from '@/views/oa/budget/addBudget.vue';
184 184
 import borrowForm from '@/views/flowable/form/borrowForm.vue';
185 185
 import safeForm from '@/views/flowable/form/safeForm.vue';
186
-import budgetIndex from '../../../form/budget/budget.vue';
186
+import budgetIndex from '@/views/flowable/form/budget/budget.vue';
187
+import businessReview from '@/views/flowable/form/projectProcess/businessReview.vue';
187 188
 
188 189
 export default {
189 190
   name: "Record",
@@ -204,7 +205,8 @@ export default {
204 205
     AddBudget,
205 206
     borrowForm,
206 207
     safeForm,
207
-    budgetIndex
208
+    budgetIndex,
209
+    businessReview
208 210
   },
209 211
   props: {},
210 212
   data() {

+ 19
- 21
oa-ui/src/views/oa/budget/addBudget.vue Datei anzeigen

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-25 15:05:59
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-08 09:28:41
5
+ * @LastEditTime: 2024-04-09 17:19:08
6 6
 -->
7 7
 <template>
8 8
   <div>
@@ -14,19 +14,19 @@
14 14
         <div class="title">
15 15
           <div class="title-text">新增预算</div>
16 16
           <div class="title-tips">
17
-            请精准填写预算标准,对应的人员、设备、车辆可直接选择生成固定成本
17
+            请精准填写预算标准,对应的人员、设备、车辆可直接选择生成间接成本
18 18
           </div>
19 19
         </div>
20 20
       </div>
21 21
       <div class="add-main">
22 22
         <el-steps :active="activeStep" align-center finish-status="success">
23
-          <el-step title="选择项目" description="选择想要生成预算的项目"></el-step>
23
+          <el-step title="项目信息" description="需要预算的项目"></el-step>
24 24
           <el-step
25
-            title="选择人员、车辆和设备"
26
-            description="选择参与的人员、车辆和设备,得到固定成本"
25
+            title="间接成本明细"
26
+            description="选择参与的人员、车辆和设备,得到间接成本"
27 27
           ></el-step>
28 28
           <!-- <el-step title="选择车辆和设备" description="选择,得到对应预算"></el-step> -->
29
-          <el-step title="绩效和其他预算" description="包含绩效预算和其他预算"></el-step>
29
+          <el-step title="直接成本明细" description="包含绩效预算和其他预算"></el-step>
30 30
           <el-step title="生成预算表" description="生成最终的项目预算表"></el-step>
31 31
         </el-steps>
32 32
         <!-- 选择项目 -->
@@ -64,11 +64,11 @@
64 64
               <table border="1">
65 65
                 <tr>
66 66
                   <td style="width: 250px">工作内容</td>
67
-                  <td>等级或比例尺</td>
68
-                  <td>单位</td>
69
-                  <td>工作量</td>
67
+                  <td style="width: 100px">等级或比例尺</td>
68
+                  <td style="width: 100px">单位</td>
69
+                  <td style="width: 100px">工作量</td>
70 70
                   <td style="width: 100px">要求完成时间</td>
71
-                  <td>备注</td>
71
+                  <td style="width: 100px">备注</td>
72 72
                 </tr>
73 73
                 <tr v-for="(work, index) in workList" :key="index">
74 74
                   <td>
@@ -150,7 +150,7 @@
150 150
                   <td style="width: 80px">姓名</td>
151 151
                   <td style="width: 100px">岗位工资</td>
152 152
                   <td style="width: 110px">人员成本(天)</td>
153
-                  <td style="width: 100px">进出场单价</td>
153
+                  <!-- <td style="width: 100px">进出场单价</td> -->
154 154
                   <td style="width: 100px">预算天数</td>
155 155
                   <td style="width: 100px">总额</td>
156 156
                 </tr>
@@ -158,13 +158,13 @@
158 158
                   <td>{{ user.nickName }}</td>
159 159
                   <td>{{ user.salary.salary }}</td>
160 160
                   <td>{{ parseFloat(user.salary.salary / 31).toFixed(2) }}</td>
161
-                  <td>
161
+                  <!-- <td>
162 162
                     <el-input
163 163
                       v-model="user.inOutPrice"
164 164
                       placeholder="请输入进出场单价"
165 165
                       @change="calculateUserTotal(user)"
166 166
                     ></el-input>
167
-                  </td>
167
+                  </td> -->
168 168
                   <td>
169 169
                     <el-input
170 170
                       v-model="user.days"
@@ -175,7 +175,7 @@
175 175
                   <td class="staffCost">{{ user.staffCost }}</td>
176 176
                 </tr>
177 177
                 <tr>
178
-                  <td colspan="5">合计</td>
178
+                  <td colspan="4">合计</td>
179 179
                   <td>{{ budgetForm.staffCost }}</td>
180 180
                 </tr>
181 181
               </table>
@@ -300,7 +300,7 @@
300 300
                 </tr>
301 301
               </table>
302 302
             </el-form-item>
303
-            <el-form-item label="固定成本小计:">
303
+            <el-form-item label="间接成本小计:">
304 304
               <el-tag type="danger" style="margin-right: 20px; font-size: 14px"
305 305
                 >¥ {{ budgetForm.fixCost }}</el-tag
306 306
               >
@@ -316,7 +316,7 @@
316 316
             <el-breadcrumb-item>{{ projectForm.projectLeaderUser.nickName }}</el-breadcrumb-item>
317 317
           </el-breadcrumb>
318 318
           <el-breadcrumb separator-class="el-icon-arrow-right" style="margin: 15px 0">
319
-            <el-breadcrumb-item>固定成本小计</el-breadcrumb-item>
319
+            <el-breadcrumb-item>间接成本小计</el-breadcrumb-item>
320 320
             <el-breadcrumb-item>¥ {{ budgetForm.fixCost }}</el-breadcrumb-item>
321 321
           </el-breadcrumb>
322 322
           <el-form>
@@ -366,7 +366,7 @@
366 366
             <el-breadcrumb-item>{{ projectForm.projectLeaderUser.nickName }}</el-breadcrumb-item>
367 367
           </el-breadcrumb>
368 368
           <el-breadcrumb separator-class="el-icon-arrow-right" style="margin: 15px 0">
369
-            <el-breadcrumb-item>固定成本小计</el-breadcrumb-item>
369
+            <el-breadcrumb-item>间接成本小计</el-breadcrumb-item>
370 370
             <el-breadcrumb-item>¥ {{ budgetForm.fixCost }}</el-breadcrumb-item>
371 371
           </el-breadcrumb>
372 372
           <el-breadcrumb separator-class="el-icon-arrow-right" style="margin: 15px 0">
@@ -481,7 +481,7 @@
481 481
         <chooseCar @chooseList="getChooseCar"></chooseCar>
482 482
       </el-dialog>
483 483
       <!-- 选择设备对话框 -->
484
-      <el-dialog title="选择设备" :visible.sync="openDevice" width="700px" append-to-body>
484
+      <el-dialog title="选择设备" :visible.sync="openDevice" width="750px" append-to-body>
485 485
         <chooseDevice @chooseList="getChooseDevice"></chooseDevice>
486 486
       </el-dialog>
487 487
     </div>
@@ -662,9 +662,7 @@ export default {
662 662
     },
663 663
     // 计算单个人员的成本
664 664
     calculateUserTotal(user) {
665
-      let total =
666
-        (parseFloat(user.salary.salary / 31).toFixed(2) + Number(user.inOutPrice)) *
667
-        Number(user.days);
665
+      let total =parseFloat(user.salary.salary / 31).toFixed(2) * Number(user.days);
668 666
       this.$set(user, "staffCost", total.toFixed(2));
669 667
       this.getCost("staffCost", "staffCost", this.chooseUser);
670 668
       this.getFixCost();

+ 16
- 5
oa-ui/src/views/oa/budget/components/chooseDevice.vue Datei anzeigen

@@ -1,11 +1,21 @@
1
+<!--
2
+ * @Author: ysh
3
+ * @Date: 2024-03-27 11:10:26
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-04-09 16:37:57
6
+-->
1 7
 <template>
2 8
   <div>
3 9
     <el-form :inline="true">
4 10
       <el-form-item label="设备名称:">
5
-        <el-input v-model="queryParams.name" clearable></el-input>
11
+        <el-select v-model="queryParams.name">
12
+          <el-option v-for="item in nameList" :key="item.value" :label="item.label" :value="item.value">
13
+          </el-option>
14
+        </el-select>
15
+        <!-- <el-input v-model="queryParams.name" clearable></el-input> -->
6 16
       </el-form-item>
7 17
       <el-form-item label="品牌:">
8
-        <el-input v-model="queryParams.brand" clearable></el-input>
18
+        <el-input v-model="queryParams.brand" clearable @keyup.enter.native="getList"></el-input>
9 19
       </el-form-item>
10 20
       <el-form-item>
11 21
         <el-button @click="getList" type="primary">搜索</el-button>
@@ -30,9 +40,9 @@
30 40
         {{ item.name + '-' + item.series + '-' + item.brand }}
31 41
       </el-tag>
32 42
       <div style="text-align: center;margin-top: 20px;">
33
-      <el-button type="primary" @click="confirmChoose">确认选择</el-button>
34
-      <el-button @click="clearChoose">清空选择</el-button>
35
-    </div>
43
+        <el-button type="primary" @click="confirmChoose">确认选择</el-button>
44
+        <el-button @click="clearChoose">清空选择</el-button>
45
+      </div>
36 46
     </div>
37 47
   </div>
38 48
 </template>
@@ -51,6 +61,7 @@ export default {
51 61
       total: 0,
52 62
       loading: false,
53 63
       chooseList: [],
64
+      nameList: [],
54 65
     }
55 66
   },
56 67
   created() {

+ 115
- 112
oa-ui/src/views/oa/budget/components/chooseMoney.vue Datei anzeigen

@@ -1,111 +1,114 @@
1 1
 <template>
2 2
   <div>
3
-    <el-form-item label="项目概况:">
4
-      <table border="1">
5
-        <tr>
6
-          <td style="width: 250px">工作内容</td>
7
-          <td>等级或比例尺</td>
8
-          <td>单位</td>
9
-          <td>工作量</td>
10
-          <td style="width: 100px">要求完成时间</td>
11
-          <td>备注</td>
12
-        </tr>
13
-        <tr v-for="(work, index) in workList" :key="index">
14
-          <td>
15
-            {{ work.content }}
16
-          </td>
17
-          <td>
18
-            {{ work.scale }}
19
-          </td>
20
-          <td>
21
-            {{ work.unit }}
22
-          </td>
23
-          <td>
24
-            {{ work.workload }}
25
-          </td>
26
-          <td>
27
-            {{ work.deadline }}
28
-          </td>
29
-          <td>
30
-            {{ work.remark }}
31
-          </td>
32
-        </tr>
33
-      </table>
34
-    </el-form-item>
35
-    <el-form-item label="预结算:">
36
-      <table border="1">
37
-        <tr>
38
-          <td style="width: 100px">工作内容</td>
39
-          <td>工作类别</td>
40
-          <td>工作项目</td>
41
-          <!-- <td>项目细项</td> -->
42
-          <td>比例尺</td>
43
-          <td>地类类型</td>
44
-          <td style="width:90px;">单价</td>
45
-          <td style="width:90px;">总工作量</td>
46
-          <td style="width:70px;">系数</td>
47
-          <td style="min-width:70px;">总额</td>
48
-        </tr>
49
-        <tr v-for="(work, index) in workList" :key="index">
50
-          <td>
51
-            {{ work.content }}
52
-          </td>
53
-          <td>
54
-            <el-select v-model="work.workType" :style="{ width: '100%' }" :loading="work.workSelect.workTypeLoading"
55
-              @change="getWorkItemList(work, work.workType)">
56
-              <el-option v-for="item in work.workSelect.workTypeList" :key="item.value" :label="item.label"
57
-                :value="item.value">
58
-              </el-option>
59
-            </el-select>
60
-          </td>
61
-          <td>
62
-            <el-select v-model="work.workItem" :style="{ width: '100%' }" :remote="true"
63
-              @change="getScaleGradeList(work, work.workItem)">
64
-              <el-option v-for="item in work.workSelect.workItemList" :key="item.value" :label="item.label"
65
-                :value="item.value">
66
-              </el-option>
67
-            </el-select>
68
-          </td>
69
-          <td>
70
-            <el-select v-model="work.scaleGrade" :style="{ width: '100%' }"
71
-              @change="getUnitPrice(work, work.workItem, work.subItem, work.scaleGrade, work.groundType)">
72
-              <el-option v-for="item in work.workSelect.scaleGradeList" :key="item.value" :label="item.label"
73
-                :value="item.value">
74
-              </el-option>
75
-            </el-select>
76
-          </td>
77
-          <td>
78
-            <el-select v-model="work.groundType" :style="{ width: '100%' }"
79
-              @change="getUnitPrice(work, work.workItem, work.subItem, work.scaleGrade, work.groundType)">
80
-              <el-option key="一般地类" label="一般地类" value="一般地类">
81
-              </el-option>
82
-              <el-option key="复杂地类" label="复杂地类" value="复杂地类">
83
-              </el-option>
84
-            </el-select>
85
-          </td>
86
-          <td>
87
-            {{ work.price }} / {{ work.unit }}
88
-          </td>
89
-          <td>
90
-            {{ work.workload }}
91
-          </td>
92
-          <td>
93
-            <el-input v-model="work.coefficient" placeholder="请输入系数" @blur="getTotal(work)"></el-input>
94
-          </td>
95
-          <td class="workTotal">
96
-            {{ work.settle }}
97
-          </td>
98
-        </tr>
99
-        <tr>
100
-          <td colspan="8">合计</td>
101
-          <td>{{ settle }}</td>
102
-        </tr>
103
-      </table>
104
-      <div style="color:red">tips:预结算表中的系数为:困难系统和调整系数相乘的值(1分制)。例如:困难系数1,调整系数0.8,最终系数为0.8</div>
105
-    </el-form-item>
106
-    <el-form-item label="预结算合计:">
107
-      <el-tag type="danger" style="margin-right:20px;font-size:14px;">¥{{  settle }}</el-tag>
108
-    </el-form-item>
3
+    <el-form>
4
+      <el-form-item label="项目概况:">
5
+        <table border="1">
6
+          <tr>
7
+            <td style="width: 250px">工作内容</td>
8
+            <td style="width:120px;">等级或比例尺</td>
9
+            <td style="width:90px;">单位</td>
10
+            <td style="width:90px;">工作量</td>
11
+            <td style="width: 100px">要求完成时间</td>
12
+            <td style="width:90px;">备注</td>
13
+          </tr>
14
+          <tr v-for="(work, index) in workList" :key="index">
15
+            <td>
16
+              {{ work.content }}
17
+            </td>
18
+            <td>
19
+              {{ work.scale }}
20
+            </td>
21
+            <td>
22
+              {{ work.unit }}
23
+            </td>
24
+            <td>
25
+              {{ work.workload }}
26
+            </td>
27
+            <td>
28
+              {{ work.deadline }}
29
+            </td>
30
+            <td>
31
+              {{ work.remark }}
32
+            </td>
33
+          </tr>
34
+        </table>
35
+      </el-form-item>
36
+      <el-form-item label="预结算:">
37
+        <table border="1">
38
+          <tr>
39
+            <td style="width: 100px">工作内容</td>
40
+            <td>工作类别</td>
41
+            <td>工作项目</td>
42
+            <!-- <td>项目细项</td> -->
43
+            <td>比例尺</td>
44
+            <td>地类类型</td>
45
+            <td style="width:90px;">单价</td>
46
+            <td style="width:90px;">总工作量</td>
47
+            <td style="width:70px;">系数</td>
48
+            <td style="min-width:70px;">总额</td>
49
+          </tr>
50
+          <tr v-for="(work, index) in workList" :key="index">
51
+            <td>
52
+              {{ work.content }}
53
+            </td>
54
+            <td>
55
+              <el-select v-model="work.workType" :style="{ width: '100%' }" :loading="work.workSelect.workTypeLoading"
56
+                @change="getWorkItemList(work, work.workType)">
57
+                <el-option v-for="item in work.workSelect.workTypeList" :key="item.value" :label="item.label"
58
+                  :value="item.value">
59
+                </el-option>
60
+              </el-select>
61
+            </td>
62
+            <td>
63
+              <el-select v-model="work.workItem" :style="{ width: '100%' }" :remote="true"
64
+                @change="getScaleGradeList(work, work.workItem)">
65
+                <el-option v-for="item in work.workSelect.workItemList" :key="item.value" :label="item.label"
66
+                  :value="item.value">
67
+                </el-option>
68
+              </el-select>
69
+            </td>
70
+            <td>
71
+              <el-select v-model="work.scaleGrade" :style="{ width: '100%' }"
72
+                @change="getUnitPrice(work, work.workItem, work.subItem, work.scaleGrade, work.groundType)">
73
+                <el-option v-for="item in work.workSelect.scaleGradeList" :key="item.value" :label="item.label"
74
+                  :value="item.value">
75
+                </el-option>
76
+              </el-select>
77
+            </td>
78
+            <td>
79
+              <el-select v-model="work.groundType" :style="{ width: '100%' }"
80
+                @change="getUnitPrice(work, work.workItem, work.subItem, work.scaleGrade, work.groundType)">
81
+                <el-option key="一般地类" label="一般地类" value="0">
82
+                </el-option>
83
+                <el-option key="复杂地类" label="复杂地类" value="1">
84
+                </el-option>
85
+              </el-select>
86
+            </td>
87
+            <td>
88
+              {{ work.price }} / {{ work.unit }}
89
+            </td>
90
+            <td>
91
+              {{ work.workload }}
92
+            </td>
93
+            <td>
94
+              <el-input v-model="work.coefficient" placeholder="请输入系数" @blur="getTotal(work)"></el-input>
95
+            </td>
96
+            <td class="workTotal">
97
+              {{ work.settle }}
98
+            </td>
99
+          </tr>
100
+          <tr>
101
+            <td colspan="8">合计</td>
102
+            <td>{{ settle }}</td>
103
+          </tr>
104
+        </table>
105
+        <div style="color:red">tips:预结算表中的系数为:困难系统和调整系数相乘的值(1分制)。例如:困难系数1,调整系数0.8,最终系数为0.8</div>
106
+      </el-form-item>
107
+      <el-form-item label="预结算合计:">
108
+        <el-tag type="danger" style="margin-right:20px;font-size:14px;">¥{{ settle }}</el-tag>
109
+      </el-form-item>
110
+    </el-form>
111
+
109 112
   </div>
110 113
 </template>
111 114
 
@@ -147,7 +150,7 @@ export default {
147 150
       this.getWorkTypeList(work);
148 151
     }
149 152
   },
150
-  mounted(){
153
+  mounted() {
151 154
     this.getSettleSum();
152 155
   },
153 156
   methods: {
@@ -186,7 +189,7 @@ export default {
186 189
             this.setValue(work, 'scaleGrade', '无');
187 190
           }
188 191
           if (work.groundType == undefined) {
189
-            this.setValue(work, 'groundType', '一般地类');
192
+            this.setValue(work, 'groundType', '0');
190 193
           }
191 194
           this.getUnitPrice(work, work.workItem, work.subItem, work.scaleGrade, work.groundType);
192 195
         }
@@ -197,7 +200,7 @@ export default {
197 200
       if (work.scale) {
198 201
         this.setValue(work, 'scaleGrade', work.scale);
199 202
         if (work.groundType == undefined) {
200
-          this.setValue(work, 'groundType', '一般地类');
203
+          this.setValue(work, 'groundType', '0');
201 204
         }
202 205
         this.getUnitPrice(work, work.workItem, work.subItem, work.scaleGrade, work.groundType);
203 206
       } else {
@@ -212,7 +215,7 @@ export default {
212 215
               this.setValue(work, 'scaleGrade', '无');
213 216
             }
214 217
             if (work.groundType == undefined) {
215
-              this.setValue(work, 'groundType', '一般地类');
218
+              this.setValue(work, 'groundType', '0');
216 219
             }
217 220
             this.getUnitPrice(work, work.workItem, work.subItem, work.scaleGrade, work.groundType);
218 221
           }
@@ -222,7 +225,7 @@ export default {
222 225
     },
223 226
     /* 获取单价 */
224 227
     getUnitPrice(work, workItem, subItem, scaleGrade, groundType) {
225
-      getUnitPrice({ workItem, subItem, scaleGrade, priceType: groundType }).then(res => {
228
+      getUnitPrice({ workItem, subItem, scaleGrade, groundType: groundType }).then(res => {
226 229
         if (res.length != 0) {
227 230
           work.priceId = res.data.id;
228 231
           this.setValue(work, 'price', res.data.price)
@@ -245,7 +248,7 @@ export default {
245 248
     },
246 249
     getSettleSum() {
247 250
       let sum = 0;
248
-      for(let work of this.workList){
251
+      for (let work of this.workList) {
249 252
         sum = sum + Number(work.settle)
250 253
       }
251 254
       this.settle = sum.toFixed(2);

+ 1
- 1
oa-ui/src/views/oa/budget/components/choosePeople.vue Datei anzeigen

@@ -11,7 +11,7 @@
11 11
         </el-select>
12 12
       </el-form-item>
13 13
       <el-form-item>
14
-        <el-button @click="getList">搜索</el-button>
14
+        <el-button @click="getList" type="primary">搜索</el-button>
15 15
       </el-form-item>
16 16
     </el-form>
17 17
     <el-table ref="chooseUser" :data="userList" @selection-change="handleSelectionChange" :row-key="getRowKeys">

+ 0
- 1
oa-ui/src/views/oa/car/expense.vue Datei anzeigen

@@ -263,7 +263,6 @@ export default {
263 263
       });
264 264
     },
265 265
     handleDelete(row) {
266
-      debugger
267 266
       const carExpenseIds = row.carExpenseId || this.ids;
268 267
       this.$modal.confirm('是否确认删除车辆费用编号为"' + carExpenseIds + '"的数据项?').then(function () {
269 268
         return delCarExpense(carExpenseIds);

+ 0
- 1
oa-ui/src/views/oa/device/approval.vue Datei anzeigen

@@ -325,7 +325,6 @@ export default {
325 325
       });
326 326
     },
327 327
     handleDelete(row) {
328
-      debugger
329 328
       const deviceApprovalIds = row.deviceApprovalId || this.ids;
330 329
       this.$modal.confirm('是否确认删除设备使用费用编号为"' + deviceApprovalIds + '"的数据项?').then(function () {
331 330
         return delDeviceApproval(deviceApprovalIds);

+ 2
- 3
oa-ui/src/views/oa/project/index.vue Datei anzeigen

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-02-27 14:49:15
4
- * @LastEditors: wrh
5
- * @LastEditTime: 2024-03-28 10:50:22
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-04-09 17:39:50
6 6
 -->
7 7
 <template>
8 8
   <div class="project-wrapper">
@@ -294,7 +294,6 @@ export default {
294 294
       this.addOpen = true
295 295
     },
296 296
     handleUpdate(row) {
297
-      debugger
298 297
       this.addForm = row;
299 298
       this.title = '修改项目信息';
300 299
       this.addOpen = true;

Laden…
Abbrechen
Speichern