Browse Source

修改用车申请

余思翰 1 year ago
parent
commit
989341e3b5

+ 16
- 4
oa-ui/src/views/flowable/form/carForm.vue View File

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-02-29 11:44:28
3
  * @Date: 2024-02-29 11:44:28
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-03-08 17:45:54
5
+ * @LastEditTime: 2024-03-11 09:39:48
6
 -->
6
 -->
7
 <!--
7
 <!--
8
  * @Author: wrh
8
  * @Author: wrh
107
         <!-- 综合事务部管理人员填写 -->
107
         <!-- 综合事务部管理人员填写 -->
108
         <el-form-item label="车牌号:" v-if="taskName == '安排用车' || taskName == '申请确认'">
108
         <el-form-item label="车牌号:" v-if="taskName == '安排用车' || taskName == '申请确认'">
109
           <el-checkbox-group v-model="form.cars">
109
           <el-checkbox-group v-model="form.cars">
110
-            <el-checkbox :label="item.carId" v-for="item in carList">{{ item.licensePlate }}</el-checkbox>
110
+            <el-checkbox :label="item.carId" v-for="item in carList" :key="item.carId" :value="item.carId">{{ item.licensePlate }}</el-checkbox>
111
           </el-checkbox-group>
111
           </el-checkbox-group>
112
         </el-form-item>
112
         </el-form-item>
113
         <el-form-item label="驾驶员:" v-if="taskName == '安排用车' || taskName == '申请确认'">
113
         <el-form-item label="驾驶员:" v-if="taskName == '安排用车' || taskName == '申请确认'">
116
             </el-option>
116
             </el-option>
117
           </el-select> -->
117
           </el-select> -->
118
           <el-checkbox-group v-model="form.drivers">
118
           <el-checkbox-group v-model="form.drivers">
119
-            <el-checkbox :label="item.userId" v-for="item in driverList">{{ item.nickName }}</el-checkbox>
119
+            <el-checkbox :label="item.userId" v-for="item in driverList" :key="item.userId" :value="item.userId">{{ item.nickName }}</el-checkbox>
120
           </el-checkbox-group>
120
           </el-checkbox-group>
121
         </el-form-item>
121
         </el-form-item>
122
       </el-form>
122
       </el-form>
165
         applyDate: undefined,
165
         applyDate: undefined,
166
         deptName: '',
166
         deptName: '',
167
         applier: '',
167
         applier: '',
168
+        cars:[]
168
       },
169
       },
169
       rules: {
170
       rules: {
170
         projectNumber: [
171
         projectNumber: [
211
           if (res.data.drivers == null || res.data.drivers == undefined || res.data.drivers == "") {
212
           if (res.data.drivers == null || res.data.drivers == undefined || res.data.drivers == "") {
212
             data.drivers = []
213
             data.drivers = []
213
           } else {
214
           } else {
215
+            let arr = []
214
             data.drivers = data.drivers.split(',');
216
             data.drivers = data.drivers.split(',');
217
+            for(let driver of data.drivers){
218
+              arr.push(parseInt(driver))
219
+            }
220
+            data.drivers = arr
215
           }
221
           }
216
           if (res.data.cars == null || res.data.cars == undefined || res.data.cars == "") {
222
           if (res.data.cars == null || res.data.cars == undefined || res.data.cars == "") {
217
             data.cars = []
223
             data.cars = []
218
           } else {
224
           } else {
219
             data.cars = data.cars.split(',');
225
             data.cars = data.cars.split(',');
226
+            let arr = []
227
+            for(let d of data.cars){
228
+              arr.push(parseInt(d))
229
+            }
230
+            data.cars = arr;
220
           }
231
           }
221
           this.form = data;
232
           this.form = data;
233
+          console.log(this.form);
234
+          console.log(this.driverList);
222
         }
235
         }
223
       })
236
       })
224
     },
237
     },
261
     },
274
     },
262
     // 获取下一个审批人
275
     // 获取下一个审批人
263
     getNextFlowNodeApproval() {
276
     getNextFlowNodeApproval() {
264
-      debugger
265
       if (this.taskName == '用车申请') {
277
       if (this.taskName == '用车申请') {
266
         getUsersDeptLeader({ userId: this.$store.getters.userId }).then(res => {
278
         getUsersDeptLeader({ userId: this.$store.getters.userId }).then(res => {
267
           let userId = res.data.userId;
279
           let userId = res.data.userId;

+ 66
- 14
oa-ui/src/views/flowable/form/deviceForm.vue View File

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-03-07 13:44:39
3
  * @Date: 2024-03-07 13:44:39
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-03-07 14:26:46
5
+ * @LastEditTime: 2024-03-08 17:15:18
6
 -->
6
 -->
7
 
7
 
8
 <template>
8
 <template>
9
   <div>
9
   <div>
10
     <h2 style="text-align: center;">设备申请表</h2>
10
     <h2 style="text-align: center;">设备申请表</h2>
11
     <div>
11
     <div>
12
-      <el-form :model="form" label-width="100px">
12
+      <el-form ref="deviceForm" :model="form" label-width="100px" :rules="rules">
13
         <!-- 申请人填写 -->
13
         <!-- 申请人填写 -->
14
         <el-row :gutter="20">
14
         <el-row :gutter="20">
15
           <el-col :span="6" :xs="24">
15
           <el-col :span="6" :xs="24">
16
             <el-form-item label="申请人:" prop="user">
16
             <el-form-item label="申请人:" prop="user">
17
-              <el-input v-model="form.user"></el-input>
17
+              <!-- <el-input v-model="form.user"></el-input> -->
18
+              {{ form.user }}
18
             </el-form-item>
19
             </el-form-item>
19
           </el-col>
20
           </el-col>
20
           <el-col :span="6" :xs="24">
21
           <el-col :span="6" :xs="24">
21
             <el-form-item label="所在部门:" prop="deptName">
22
             <el-form-item label="所在部门:" prop="deptName">
22
-              <el-input v-model="form.deptName"></el-input>
23
+              <!-- <el-input v-model="form.deptName"></el-input> -->
24
+              {{ form.deptName }}
23
             </el-form-item>
25
             </el-form-item>
24
           </el-col>
26
           </el-col>
25
           <el-col :span="6" :xs="24">
27
           <el-col :span="6" :xs="24">
26
-            <el-form-item label="申请时间:" prop="date">
27
-              <el-date-picker style="width:140px;" v-model="form.date" value-format="yyyy-MM-dd" type="date"
28
+            <el-form-item label="申请时间:" prop="applyDate">
29
+              <el-date-picker style="width:140px;" v-model="form.applyDate" value-format="yyyy-MM-dd" type="date"
28
                 placeholder="选择日期">
30
                 placeholder="选择日期">
29
               </el-date-picker>
31
               </el-date-picker>
30
             </el-form-item>
32
             </el-form-item>
57
         </el-form-item>
59
         </el-form-item>
58
         <el-row>
60
         <el-row>
59
           <el-col :span="6" :xs="24">
61
           <el-col :span="6" :xs="24">
60
-            <el-form-item label="开始日期:">
62
+            <el-form-item label="开始日期:" prop="beginDate">
61
               <el-date-picker style="width:140px;" v-model="form.beginDate" value-format="yyyy-MM-dd" type="date"
63
               <el-date-picker style="width:140px;" v-model="form.beginDate" value-format="yyyy-MM-dd" type="date"
62
                 placeholder="选择日期" @change="calculateDay">
64
                 placeholder="选择日期" @change="calculateDay">
63
               </el-date-picker>
65
               </el-date-picker>
64
             </el-form-item>
66
             </el-form-item>
65
           </el-col>
67
           </el-col>
66
           <el-col :span="6" :xs="24">
68
           <el-col :span="6" :xs="24">
67
-            <el-form-item label="结束日期:">
69
+            <el-form-item label="结束日期:" prop="endDate">
68
               <el-date-picker style="width:140px;" v-model="form.endDate" value-format="yyyy-MM-dd" type="date"
70
               <el-date-picker style="width:140px;" v-model="form.endDate" value-format="yyyy-MM-dd" type="date"
69
                 placeholder="选择日期" @change="calculateDay">
71
                 placeholder="选择日期" @change="calculateDay">
70
               </el-date-picker>
72
               </el-date-picker>
79
         <el-divider></el-divider>
81
         <el-divider></el-divider>
80
 
82
 
81
         <!-- 部门审核意见 -->
83
         <!-- 部门审核意见 -->
82
-        <el-form-item label="部门审核意见:" prop="deptComment" label-width="120px" v-if="taskName == '部门审核'">
84
+        <el-form-item label="部门审核意见:" prop="deptComment" label-width="120px"
85
+          v-if="taskName == '部门审核' || taskName == '分管审核' || taskName == '安排设备'">
83
           <el-input type="textarea" :rows="2" placeholder="请输入部门审核意见" v-model="form.deptComment">
86
           <el-input type="textarea" :rows="2" placeholder="请输入部门审核意见" v-model="form.deptComment">
84
           </el-input>
87
           </el-input>
85
         </el-form-item>
88
         </el-form-item>
86
         <!-- 分管审核意见 -->
89
         <!-- 分管审核意见 -->
87
-        <el-form-item label="分管审核意见:" prop="managerComment" label-width="120px" v-if="taskName == '分管审核'">
90
+        <el-form-item label="分管审核意见:" prop="managerComment" label-width="120px"
91
+          v-if="taskName == '分管审核' || taskName == '安排设备'">
88
           <el-input type="textarea" :rows="2" placeholder="请输入分管审核意见" v-model="form.managerComment">
92
           <el-input type="textarea" :rows="2" placeholder="请输入分管审核意见" v-model="form.managerComment">
89
           </el-input>
93
           </el-input>
90
         </el-form-item>
94
         </el-form-item>
98
 
102
 
99
 <script>
103
 <script>
100
 import { listProject, getProject } from "@/api/oa/project/project";
104
 import { listProject, getProject } from "@/api/oa/project/project";
105
+import { listDevice, getDevice } from "@/api/oa/device/device";
106
+import { listDeviceApproval, getDeviceApproval, updateDeviceApproval, submitDeviceApproval, modifyDeviceApproval } from '@/api/oa/device/deviceApproval'
107
+import {
108
+  complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm,
109
+} from "@/api/flowable/todo";
101
 export default {
110
 export default {
102
   props: {
111
   props: {
103
     taskName: {
112
     taskName: {
117
   data() {
126
   data() {
118
     return {
127
     return {
119
       form: {
128
       form: {
120
-        date: new Date(),
129
+        applyDate: new Date(),
121
         days: ""
130
         days: ""
122
       },
131
       },
123
       projectList: [],
132
       projectList: [],
124
       chooseProject: {},
133
       chooseProject: {},
125
-      isSelect: false
134
+      isSelect: false,
135
+      rules: {
136
+        projectNumber: [
137
+          { required: true, message: '请选择项目编号', trigger: 'change' },
138
+        ],
139
+        passengers: [
140
+          { required: true, message: '请选择输入乘车人数', trigger: 'change' },
141
+        ],
142
+        beginDate: [
143
+          { required: true, message: '请选择开始日期', trigger: 'change' },
144
+        ],
145
+        endDate: [
146
+          { required: true, message: '请选择结束日期', trigger: 'change' },
147
+        ],
148
+        applyReason: [
149
+          { required: true, message: '请输入用车理由', trigger: 'blur' },
150
+        ],
151
+      },
126
     }
152
     }
127
   },
153
   },
128
   methods: {
154
   methods: {
129
     submit() {
155
     submit() {
130
-
156
+      this.$refs['deviceForm'].validate((valid) => {
157
+        if (valid) {
158
+          this.form.formId = this.taskForm.formId;
159
+          let formData = new FormData();
160
+          let jsonForm = JSON.stringify(this.form);
161
+          formData.append("form", jsonForm);
162
+          const params = { taskId: this.taskForm.taskId };
163
+          if (this.formTotal != 0) {
164
+            modifyDeviceApproval(formData);
165
+          } else {
166
+            submitDeviceApproval(formData);
167
+          }
168
+          // 获取下一个流程节点
169
+          getNextFlowNode(params).then(res => {
170
+            const data = res.data;
171
+            this.taskForm.formData = formData;
172
+            this.getNextFlowNodeApproval();
173
+          })
174
+        }
175
+      })
131
     },
176
     },
132
     // 查询项目列表
177
     // 查询项目列表
133
     getProjectList() {
178
     getProjectList() {
165
       } else {
210
       } else {
166
         this.form.days = '';
211
         this.form.days = '';
167
       }
212
       }
168
-
213
+    },
214
+    isEmptyObject(obj) {
215
+      for (var key in obj) {
216
+        if (obj.hasOwnProperty(key)) {
217
+          return false;
218
+        }
219
+      }
220
+      return true;
169
     }
221
     }
170
   },
222
   },
171
 }
223
 }

+ 1
- 1
oa-ui/src/views/flowable/task/todo/detail/index.vue View File

542
     },
542
     },
543
     // 是否显示审批通过
543
     // 是否显示审批通过
544
     isShowApprove() {
544
     isShowApprove() {
545
-      if (this.taskName == '员工填报' || this.taskForm.procDefName == '用车审批' || tthis.taskForm.procDefName == '设备审批') {
545
+      if (this.taskName == '员工填报' || this.taskForm.procDefName == '用车审批' || this.taskForm.procDefName == '设备审批') {
546
         return false
546
         return false
547
       } else {
547
       } else {
548
         return true
548
         return true

Loading…
Cancel
Save