Browse Source

修改车辆管理新增的表单等

余思翰 1 year ago
parent
commit
7ecff222ca

+ 5
- 0
oa-ui/src/assets/styles/element-ui.scss View File

95
 // }
95
 // }
96
 .el-scrollbar__wrap {
96
 .el-scrollbar__wrap {
97
   overflow-x: hidden;
97
   overflow-x: hidden;
98
+}
99
+
100
+.el-form-item__label{
101
+  font-family: '微软雅黑';
102
+  color: #34363b;
98
 }
103
 }

+ 40
- 31
oa-ui/src/views/flowable/form/carForm.vue View File

2
  * @Author: wrh
2
  * @Author: wrh
3
  * @Date: 2024-02-29 17:24:39
3
  * @Date: 2024-02-29 17:24:39
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-03-04 14:10:06
5
+ * @LastEditTime: 2024-03-05 10:55:59
6
 -->
6
 -->
7
+
7
 <template>
8
 <template>
8
   <div>
9
   <div>
9
     <h2 style="text-align: center;">用车申请表</h2>
10
     <h2 style="text-align: center;">用车申请表</h2>
10
     <div>
11
     <div>
11
       <el-form :model="form" label-width="100px">
12
       <el-form :model="form" label-width="100px">
13
+        <!-- 申请人填写 -->
12
         <el-row :gutter="20">
14
         <el-row :gutter="20">
13
           <el-col :span="6" :xs="24">
15
           <el-col :span="6" :xs="24">
14
             <el-form-item label="申请人:" prop="user">
16
             <el-form-item label="申请人:" prop="user">
28
             </el-form-item>
30
             </el-form-item>
29
           </el-col>
31
           </el-col>
30
         </el-row>
32
         </el-row>
31
-
32
-        <el-form-item label="项目编号:" prop="projectNumber">
33
-          <el-select v-model="form.projectNumber" filterable placeholder="请选择" @change="handleSelectProject" clearable>
34
-            <el-option v-for="item in projectList" :key="item.value" :label="item.projectNumber" :value="item.projectId">
35
-            </el-option>
36
-          </el-select>
37
-          <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
38
-            <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
39
-            }}</el-descriptions-item>
40
-            <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
41
-            }}</el-descriptions-item>
42
-            <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeader
43
-            }}</el-descriptions-item>
44
-            <el-descriptions-item label="承担部门" label-class-name="my-label">
45
-              <el-tag size="small">{{ chooseProject.undertakingDept }}</el-tag>
46
-            </el-descriptions-item>
47
-            <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
48
-            }}</el-descriptions-item>
49
-          </el-descriptions>
50
-        </el-form-item>
51
-        <el-form-item label="车牌号:">
52
-          <el-select v-model="form.licensePlate" filterable multiple placeholder="请选择" clearable>
53
-            <el-option v-for="item in carList" :key="item.id" :label="item.licensePlate" :value="item.id">
54
-            </el-option>
55
-          </el-select>
56
-        </el-form-item>
57
         <el-row>
33
         <el-row>
58
           <el-col :span="6" :xs="24">
34
           <el-col :span="6" :xs="24">
59
             <el-form-item label="开始日期:">
35
             <el-form-item label="开始日期:">
75
             </el-form-item>
51
             </el-form-item>
76
           </el-col>
52
           </el-col>
77
         </el-row>
53
         </el-row>
54
+        <el-form-item label="项目编号:" prop="projectNumber">
55
+          <el-select v-model="form.projectNumber" filterable placeholder="请选择" @change="handleSelectProject" clearable>
56
+            <el-option v-for="item in projectList" :key="item.value" :label="item.projectNumber"
57
+              :value="item.projectId">
58
+            </el-option>
59
+          </el-select>
60
+          <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
61
+            <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
62
+              }}</el-descriptions-item>
63
+            <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
64
+              }}</el-descriptions-item>
65
+            <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeader
66
+              }}</el-descriptions-item>
67
+            <el-descriptions-item label="承担部门" label-class-name="my-label">
68
+              <el-tag size="small">{{ chooseProject.undertakingDept }}</el-tag>
69
+            </el-descriptions-item>
70
+            <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
71
+              }}</el-descriptions-item>
72
+          </el-descriptions>
73
+        </el-form-item>
74
+        <el-divider></el-divider>
75
+        <!-- 综合事务部管理人员填写 -->
78
 
76
 
77
+        <el-form-item label="车牌号:">
78
+          <el-select v-model="form.licensePlate" filterable multiple placeholder="请选择" clearable>
79
+            <el-option v-for="item in carList" :key="item.id" :label="item.licensePlate" :value="item.id">
80
+            </el-option>
81
+          </el-select>
82
+        </el-form-item>
79
         <el-form-item label="驾驶员:">
83
         <el-form-item label="驾驶员:">
80
-          <el-select v-model="form.driver" filterable multiple placeholder="请选择" clearable>
84
+          <!-- <el-select v-model="form.driver" filterable multiple placeholder="请选择" clearable>
81
             <el-option v-for="item in driverList" :key="item.userId" :label="item.nickName" :value="item.userId">
85
             <el-option v-for="item in driverList" :key="item.userId" :label="item.nickName" :value="item.userId">
82
             </el-option>
86
             </el-option>
83
-          </el-select>
87
+          </el-select> -->
88
+          <el-checkbox-group v-model="form.driver">
89
+            <el-checkbox :label="item.userId" v-for="item in driverList">{{ item.nickName }}</el-checkbox>
90
+          </el-checkbox-group>
84
         </el-form-item>
91
         </el-form-item>
85
       </el-form>
92
       </el-form>
86
     </div>
93
     </div>
103
     return {
110
     return {
104
       form: {
111
       form: {
105
         date: new Date(),
112
         date: new Date(),
106
-        day: ''
113
+        day: '',
114
+        driver:[]
107
       },
115
       },
108
       projectList: [],
116
       projectList: [],
109
       carList: [],
117
       carList: [],
144
         this.carList = response.rows;
152
         this.carList = response.rows;
145
       })
153
       })
146
     },
154
     },
147
-    
155
+
148
     // 查询驾驶员列表
156
     // 查询驾驶员列表
149
     getDriverList() {
157
     getDriverList() {
150
       listDriver({
158
       listDriver({
175
 </script>
183
 </script>
176
 
184
 
177
 <style lang="scss" scoped></style>
185
 <style lang="scss" scoped></style>
186
+
178
 <style>
187
 <style>
179
 .my-label {
188
 .my-label {
180
   width: 100px;
189
   width: 100px;

+ 328
- 0
oa-ui/src/views/flowable/form/projectProcess/index.vue View File

1
+<!--
2
+ * @Author: ysh
3
+ * @Date: 2024-02-27 14:49:15
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-03-05 11:35:07
6
+-->
7
+
8
+<template>
9
+  <div class="project-wrapper">
10
+    <!-- 新建项目 -->
11
+    <h2>经营管理部登记</h2>
12
+    <el-form :model="addForm" :rules="rules" label-width="100px">
13
+      <el-form-item label="项目编号:" prop="projectNumber">
14
+        <el-input v-model="addForm.projectNumber"></el-input>
15
+      </el-form-item>
16
+      <el-form-item label="项目名称:" prop="projectName">
17
+        <el-input v-model="addForm.projectName"></el-input>
18
+      </el-form-item>
19
+      <el-form-item label="项目负责人:" prop="projectLeader">
20
+        <el-tag effect="plain" type="warning" style="margin-right: 10px;"
21
+          v-if="addForm.projectLeaderName != undefined">{{ addForm.projectLeaderName }}</el-tag>
22
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="choosePeople">选择</el-button>
23
+      </el-form-item>
24
+      <el-form-item label="项目类型:" prop="projectType">
25
+        <el-input v-model="addForm.projectType"></el-input>
26
+      </el-form-item>
27
+      <el-form-item label="项目级别:" prop="projectLevel">
28
+        <el-radio v-model="addForm.projectLevel" label="0">一般项目</el-radio>
29
+        <el-radio v-model="addForm.projectLevel" label="1">重大项目</el-radio>
30
+      </el-form-item>
31
+      <el-form-item label="项目来源:" prop="projectSource">
32
+        <el-radio v-model="addForm.projectSource" label="0">院内</el-radio>
33
+        <el-radio v-model="addForm.projectSource" label="1">院外</el-radio>
34
+      </el-form-item>
35
+      <el-form-item label="甲方单位:" prop="partyA">
36
+        <el-input v-model="addForm.partyA"></el-input>
37
+      </el-form-item>
38
+      <el-form-item label="联系人:" prop="contactPerson">
39
+        <el-input v-model="addForm.contactPerson"></el-input>
40
+      </el-form-item>
41
+      <el-form-item label="联系电话:" prop="telephone">
42
+        <el-input v-model="addForm.telephone"></el-input>
43
+      </el-form-item>
44
+      <el-form-item label="项目概况:" prop="projectRegistrant">
45
+        <table border="1">
46
+          <tr>
47
+            <td style="width:250px;">工作内容</td>
48
+            <td>等级或比例尺</td>
49
+            <td>单位</td>
50
+            <td>工作量</td>
51
+            <td style="width:100px;">要求完成时间</td>
52
+            <td>备注</td>
53
+          </tr>
54
+          <tr v-for="(work, index) in workList" :key="index">
55
+            <td>
56
+              <el-input v-model="work.content" type="textarea" autosize clearable></el-input>
57
+            </td>
58
+            <td>
59
+              <el-input v-model="work.scale" clearable></el-input>
60
+            </td>
61
+            <td>
62
+              <el-input v-model="work.unit" clearable></el-input>
63
+            </td>
64
+            <td>
65
+              <el-input v-model="work.workload" clearable></el-input>
66
+            </td>
67
+            <td>
68
+              <el-date-picker style="width:140px;" v-model="work.deadline" value-format="yyyy-MM-dd" type="date"
69
+                placeholder="选择日期">
70
+              </el-date-picker>
71
+            </td>
72
+            <td>
73
+              <el-input v-model="work.remark" type="textarea" autosize clearable></el-input>
74
+            </td>
75
+            <td>
76
+              <el-button type="danger" icon="el-icon-minus" size="mini" circle
77
+                @click="deletWorkItem(index)"></el-button>
78
+            </td>
79
+          </tr>
80
+        </table>
81
+
82
+        <el-button icon="el-icon-plus" size="mini" @click="addWorkList"></el-button>
83
+      </el-form-item>
84
+      <el-form-item label="项目登记人:" prop="projectRegistrant">
85
+        <el-input v-model="addForm.projectRegistrant"></el-input>
86
+      </el-form-item>
87
+      <el-form-item label="备注:" prop="projectRegistrant">
88
+        <el-input v-model="addForm.remark" type="textarea" rows="3"></el-input>
89
+      </el-form-item>
90
+
91
+    </el-form>
92
+    <div slot="footer" class="dialog-footer" style="text-align: center;">
93
+      <el-button type="primary" @click="confirmAddForm">确 定</el-button>
94
+      <el-button @click="cancel">取 消</el-button>
95
+    </div>
96
+    <!-- 人员选择对话框 -->
97
+    <el-dialog width="30%" title="选择项目负责人" :visible.sync="peopleVisible" append-to-body>
98
+      <el-form>
99
+        <el-form-item label="部门:">
100
+          <el-select v-model="peopleForm.deptId" @change="handleChangeDept">
101
+            <el-option v-for="item in peopleForm.deptList" :key="item.deptId" :label="item.deptName"
102
+              :value="item.deptId" v-if="item.deptName != '四川中水成勘院测绘工程有限责任公司'">
103
+            </el-option>
104
+          </el-select>
105
+        </el-form-item>
106
+        <el-form-item label="人员:">
107
+          <el-select v-model="peopleForm.userId">
108
+            <el-option v-for="item in peopleForm.userList" :key="item.userId" :label="item.nickName"
109
+              :value="item.userId">
110
+            </el-option>
111
+          </el-select>
112
+        </el-form-item>
113
+        <el-form-item>
114
+          <el-button @click="confirmPeople" type="primary">确定</el-button>
115
+          <el-button @click="cancelChoosePeople">取消</el-button>
116
+        </el-form-item>
117
+      </el-form>
118
+    </el-dialog>
119
+
120
+  </div>
121
+</template>
122
+
123
+<script>
124
+import { listProject, submitProject, modifyProject, delProject } from "@/api/oa/project/project";
125
+import { listDept } from '@/api/system/dept'
126
+import { listUser, getUser } from '@/api/system/user'
127
+export default {
128
+  data() {
129
+    return {
130
+      // 查询参数
131
+      queryParams: {
132
+        pageNum: 1,
133
+        pageSize: 10,
134
+        projectNumber: '',
135
+        projectLeader: '',
136
+        projectLeaderName: undefined,
137
+        projectName: '',
138
+      },
139
+      projectList: [],
140
+      total: 0,
141
+      loading: true,
142
+      addOpen: false,
143
+      modifyOpen: false,
144
+      title: '',
145
+      addForm: {},
146
+      rules: {
147
+        projectNumber: [{ required: true, message: '请输入项目编号', trigger: 'blur' }],
148
+        projectName: [{ required: true, message: '请输入项目名称', trigger: 'blur' }]
149
+      },
150
+      peopleVisible: false,
151
+      peopleForm: {
152
+        deptId: '',
153
+        deptList: [],
154
+        userId: '',
155
+        userList: []
156
+      },
157
+      workList: [{
158
+        content: '',
159
+        scale: '',
160
+        unit: '',
161
+        workload: '',
162
+        deadline: '',
163
+        remark: ''
164
+      }],
165
+    }
166
+  },
167
+  created() {
168
+    this.getList();
169
+    this.getDeptList();
170
+  },
171
+  methods: {
172
+    // 查询项目列表
173
+    getList() {
174
+      this.loading = true
175
+      listProject(this.queryParams).then(response => {
176
+        this.projectList = [];
177
+        for (let p of response.rows) {
178
+          if (p.projectLeader != null) {
179
+            getUser(Number(p.projectLeader)).then(res => {
180
+              p.projectLeaderName = res.data.nickName;
181
+            })
182
+          }
183
+          this.projectList.push(p);
184
+        }
185
+        this.total = response.total;
186
+        this.loading = false;
187
+      })
188
+    },
189
+    getDeptList() {
190
+      listDept({
191
+        deptName: undefined,
192
+        status: undefined
193
+      }).then(res => {
194
+        this.peopleForm.deptList = res.data
195
+      })
196
+    },
197
+    handleQuery() {
198
+      this.queryParams.pageNum = 1;
199
+      this.getList();
200
+    },
201
+    handleAdd() {
202
+      this.title = '新增项目'
203
+      this.addOpen = true
204
+    },
205
+    handleUpdate(row) {
206
+      debugger
207
+      this.addForm = row;
208
+      this.title = '修改项目信息';
209
+      this.addOpen = true;
210
+    },
211
+    handleDelete(row) {
212
+      const projectIds = row.projectId || this.ids;
213
+      const projectNumbers = row.projectNumber || this.ids;
214
+      this.$modal.confirm('是否确认删除项目编号为"' + projectNumbers + '"的数据项?').then(function () {
215
+        return delProject(projectIds);
216
+      }).then(() => {
217
+        this.getList();
218
+        this.$modal.msgSuccess("删除成功");
219
+      }).catch(() => { });
220
+    },
221
+    confirmAddForm() {
222
+      this.addForm.workList = this.workList;
223
+      let formData = new FormData();
224
+      let form = JSON.stringify(this.addForm);
225
+      formData.append("form", form);
226
+      console.log(this.title);
227
+      if (this.title == '新增项目')
228
+        submitProject(formData).then(response => {
229
+          this.$modal.msgSuccess("新增成功");
230
+          this.addOpen = false;
231
+          this.getList();
232
+        });
233
+      else
234
+        modifyProject(formData).then(response => {
235
+          this.$modal.msgSuccess("修改成功");
236
+          this.addOpen = false;
237
+          this.getList();
238
+        });
239
+    },
240
+    // 人员选择
241
+    choosePeople() {
242
+      this.peopleVisible = true;
243
+    },
244
+    // 改变部门选择
245
+    handleChangeDept(deptId) {
246
+      this.peopleForm.userId = '';
247
+      listUser({ pageSize: 999999, deptId }).then(res => {
248
+        console.log(res);
249
+        this.peopleForm.userList = res.rows
250
+      })
251
+    },
252
+    // 确定项目负责人
253
+    confirmPeople() {
254
+      this.addForm.projectLeader = this.peopleForm.userId;
255
+      this.addForm.projectLeaderName = this.tagLeader()
256
+      this.peopleVisible = false
257
+    },
258
+    tagLeader() {
259
+      if (this.addForm.projectLeader == '' || this.addForm.projectLeader == undefined || this.addForm.projectLeader == null) {
260
+        return undefined
261
+      } else {
262
+        for (let user of this.peopleForm.userList) {
263
+          if (this.addForm.projectLeader == user.userId) {
264
+            return user.nickName
265
+          }
266
+        }
267
+      }
268
+    },
269
+    cancel() {
270
+      this.peopleForm.deptId = '';
271
+      this.peopleForm.userId = '';
272
+      this.addOpen = false;
273
+      this.addForm = {}
274
+    },
275
+    addWorkList() {
276
+      this.workList.push({
277
+        content: '',
278
+        scale: '',
279
+        unit: '',
280
+        workload: '',
281
+        deadline: '',
282
+        remark: ''
283
+      });
284
+    },
285
+    deletWorkItem(index) {
286
+      let arr = this.workList
287
+      if (arr.length == 1) {
288
+        return
289
+      }
290
+      if (index >= 0 && index < arr.length) {
291
+        arr.splice(index, 1);
292
+      }
293
+    },
294
+    cancelChoosePeople() {
295
+      this.peopleForm.deptId = '';
296
+      this.peopleForm.userId = '';
297
+      this.peopleVisible = false;
298
+    }
299
+  },
300
+}
301
+</script>
302
+
303
+<style lang="scss" scoped>
304
+.project-wrapper {
305
+  padding: 25px;
306
+}
307
+
308
+.table-header {
309
+  background-color: #f5f5f5;
310
+}
311
+
312
+.card-header {
313
+  display: flex;
314
+  justify-content: space-between;
315
+  padding: 0 10px;
316
+}
317
+
318
+table {
319
+  /*居中*/
320
+  margin: 0 auto;
321
+  /*边框*/
322
+  /* border: 1px solid black; */
323
+  text-align: center;
324
+  border-collapse: collapse;
325
+  /*设置背景颜色*/
326
+  /* background-color: #bfa; */
327
+}
328
+</style>

+ 71
- 69
oa-ui/src/views/flowable/task/myProcess/index.vue View File

37
         <template slot-scope="scope">
37
         <template slot-scope="scope">
38
           <el-tag size="medium">v{{ scope.row.procDefVersion }}</el-tag>
38
           <el-tag size="medium">v{{ scope.row.procDefVersion }}</el-tag>
39
         </template>
39
         </template>
40
-      </el-table-column> -->
40
+</el-table-column> -->
41
       <el-table-column label="提交时间" align="center" prop="createTime" width="180" />
41
       <el-table-column label="提交时间" align="center" prop="createTime" width="180" />
42
       <el-table-column label="流程状态" align="center" width="100">
42
       <el-table-column label="流程状态" align="center" width="100">
43
+
43
         <template slot-scope="scope">
44
         <template slot-scope="scope">
44
           <el-tag v-if="scope.row.finishTime == null" size="mini">进行中</el-tag>
45
           <el-tag v-if="scope.row.finishTime == null" size="mini">进行中</el-tag>
45
           <el-tag type="success" v-if="scope.row.finishTime != null" size="mini">已完成</el-tag>
46
           <el-tag type="success" v-if="scope.row.finishTime != null" size="mini">已完成</el-tag>
48
       <el-table-column label="耗时" align="center" prop="duration" width="180" />
49
       <el-table-column label="耗时" align="center" prop="duration" width="180" />
49
       <el-table-column label="当前节点" align="center" prop="taskName" />
50
       <el-table-column label="当前节点" align="center" prop="taskName" />
50
       <el-table-column label="办理人" align="center">
51
       <el-table-column label="办理人" align="center">
52
+
51
         <template slot-scope="scope">
53
         <template slot-scope="scope">
52
           <label v-if="scope.row.assigneeName">{{ scope.row.assigneeName }} <el-tag type="info" size="mini">{{
54
           <label v-if="scope.row.assigneeName">{{ scope.row.assigneeName }} <el-tag type="info" size="mini">{{
53
-            scope.row.assigneeDeptName }}</el-tag></label>
55
+      scope.row.assigneeDeptName }}</el-tag></label>
54
           <!--          <label v-if="scope.row.candidate">{{scope.row.candidate}}</label>-->
56
           <!--          <label v-if="scope.row.candidate">{{scope.row.candidate}}</label>-->
55
         </template>
57
         </template>
56
       </el-table-column>
58
       </el-table-column>
57
       <el-table-column label="操作" width="150" fixed="right" class-name="small-padding fixed-width">
59
       <el-table-column label="操作" width="150" fixed="right" class-name="small-padding fixed-width">
60
+
58
         <template slot-scope="scope">
61
         <template slot-scope="scope">
59
           <el-button @click="handleFlowRecord(scope.row)" type="text" size="small">进度</el-button>
62
           <el-button @click="handleFlowRecord(scope.row)" type="text" size="small">进度</el-button>
60
           <el-button @click="handleStop(scope.row)" type="text" size="small">取消申请</el-button>
63
           <el-button @click="handleStop(scope.row)" type="text" size="small">取消申请</el-button>
88
         </el-table-column> -->
91
         </el-table-column> -->
89
         <el-table-column label="流程分类" align="center" prop="category" />
92
         <el-table-column label="流程分类" align="center" prop="category" />
90
         <el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
93
         <el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
94
+
91
           <template slot-scope="scope">
95
           <template slot-scope="scope">
92
             <el-button size="mini" type="text" icon="el-icon-edit-outline"
96
             <el-button size="mini" type="text" icon="el-icon-edit-outline"
93
               @click="handleStartProcess(scope.row)">发起申请</el-button>
97
               @click="handleStartProcess(scope.row)">发起申请</el-button>
264
     },
268
     },
265
     /**  发起流程申请 */
269
     /**  发起流程申请 */
266
     handleStartProcess(row) {
270
     handleStartProcess(row) {
267
-      if (row.category == "assess" || row.category == "car") {
268
-        getNextFlowNodeByStart({ deploymentId: row.deploymentId, variables: {} }).then(res => {
269
-          let data = res.data;
270
-          if (data.dataType === 'dynamic') {
271
-            if (data.type === 'assignee') { // 指定人员
272
-              this.checkSendUser = true;
273
-              this.checkType = "single";
274
-            } else if (data.type === 'candidateUsers') {  // 候选人员(多个)
275
-              this.checkSendUser = true;
276
-              this.checkType = "multiple";
277
-            } else if (data.type === 'candidateGroups') { // 指定组(所属角色接收任务)
278
-              this.checkSendRole = true;
279
-            } else { // 会签
280
-              // 流程设计指定的 elementVariable 作为会签人员列表
281
-              this.multiInstanceVars = data.vars;
282
-              this.checkSendUser = true;
283
-              this.checkType = "multiple";
284
-            }
285
-            this.taskOpen = true;
286
-            this.taskTitle = "选择任务接收";
287
-          } else {
288
-            const variables = {};
289
-            const formData = {};
290
-            formData.disabled = true;
291
-            formData.formBtns = false;
292
-
293
-            formData.formId = new Snowflake(1n, 1n, 0n).nextId().toString();
294
-            if (row.id) {
295
-              variables.variables = formData;
296
-              // 启动流程并将表单数据加入流程变量
297
-              definitionStart(row.id, JSON.stringify(variables)).then(res => {
271
+      // if (row.category == "assess" || row.category == "car" || ) {
272
+      getNextFlowNodeByStart({ deploymentId: row.deploymentId, variables: {} }).then(res => {
273
+        let data = res.data;
274
+        if (data.dataType === 'dynamic') {
275
+          if (data.type === 'assignee') { // 指定人员
276
+            this.checkSendUser = true;
277
+            this.checkType = "single";
278
+          } else if (data.type === 'candidateUsers') {  // 候选人员(多个)
279
+            this.checkSendUser = true;
280
+            this.checkType = "multiple";
281
+          } else if (data.type === 'candidateGroups') { // 指定组(所属角色接收任务)
282
+            this.checkSendRole = true;
283
+          } else { // 会签
284
+            // 流程设计指定的 elementVariable 作为会签人员列表
285
+            this.multiInstanceVars = data.vars;
286
+            this.checkSendUser = true;
287
+            this.checkType = "multiple";
288
+          }
289
+          this.taskOpen = true;
290
+          this.taskTitle = "选择任务接收";
291
+        } else {
292
+          const variables = {};
293
+          const formData = {};
294
+          formData.disabled = true;
295
+          formData.formBtns = false;
298
 
296
 
299
-                this.$modal.msgSuccess(res.msg);
300
-                let procInstanceId = res.data;
301
-                todoList({
302
-                  pageNum: 1,
303
-                  pageSize: 99999999, processInsId: procInstanceId
304
-                }).then(toDoRes => {
305
-                  let records = toDoRes.data.records;
306
-                  if (records.length == 1) {
307
-                    records = records[0]
297
+          formData.formId = new Snowflake(1n, 1n, 0n).nextId().toString();
298
+          if (row.id) {
299
+            variables.variables = formData;
300
+            // 启动流程并将表单数据加入流程变量
301
+            definitionStart(row.id, JSON.stringify(variables)).then(res => {
302
+              this.$modal.msgSuccess(res.msg);
303
+              let procInstanceId = res.data;
304
+              todoList({
305
+                pageNum: 1,
306
+                pageSize: 99999999, processInsId: procInstanceId
307
+              }).then(toDoRes => {
308
+                let records = toDoRes.data.records;
309
+                if (records.length == 1) {
310
+                  records = records[0]
311
+                }
312
+                this.$router.push({
313
+                  path: '/flowable/task/todo/detail/index',
314
+                  query: {
315
+                    procInsId: records.procInsId,
316
+                    executionId: records.executionId,
317
+                    deployId: records.deployId,
318
+                    taskId: records.taskId,
319
+                    taskName: records.taskName,
320
+                    startUser: records.startUserName + '-' + records.startDeptName,
321
+                    formId: formData.formId,
322
+                    procDefName: records.procDefName
308
                   }
323
                   }
309
-                  this.$router.push({
310
-                    path: '/flowable/task/todo/detail/index',
311
-                    query: {
312
-                      procInsId: records.procInsId,
313
-                      executionId: records.executionId,
314
-                      deployId: records.deployId,
315
-                      taskId: records.taskId,
316
-                      taskName: records.taskName,
317
-                      startUser: records.startUserName + '-' + records.startDeptName,
318
-                      formId: formData.formId,
319
-                      procDefName: records.procDefName
320
-                    }
321
-                  })
322
                 })
324
                 })
323
-                // this.goBack();
324
-                // this.$router.push({
325
-                //   path: '/flowable/task/myProcess/send/index',
326
-                //   query: {
327
-                //     deployId: row.deploymentId,
328
-                //     procDefId: row.id,
329
-                //     name: row.name
330
-                //   }
331
-                // })
332
               })
325
               })
333
-            }
326
+              // this.goBack();
327
+              // this.$router.push({
328
+              //   path: '/flowable/task/myProcess/send/index',
329
+              //   query: {
330
+              //     deployId: row.deploymentId,
331
+              //     procDefId: row.id,
332
+              //     name: row.name
333
+              //   }
334
+              // })
335
+            })
334
           }
336
           }
335
-        })
336
-      } else {
337
+        }
338
+      })
339
+      // } else {
337
 
340
 
338
-      }
341
+      // }
339
 
342
 
340
     },
343
     },
341
     /**  取消流程申请 */
344
     /**  取消流程申请 */
421
   }
424
   }
422
 };
425
 };
423
 </script>
426
 </script>
424
-

+ 8
- 4
oa-ui/src/views/flowable/task/myProcess/send/index.vue View File

23
           <js-form @submit="submitForm" v-else-if="deployName == '技术质量部考核'"></js-form>
23
           <js-form @submit="submitForm" v-else-if="deployName == '技术质量部考核'"></js-form>
24
           <xm-form @submit="submitForm" v-else-if="deployName == '项目管理部考核'"></xm-form>
24
           <xm-form @submit="submitForm" v-else-if="deployName == '项目管理部考核'"></xm-form>
25
           <cw-form @submit="submitForm" v-else-if="deployName == '财务部考核'"></cw-form>
25
           <cw-form @submit="submitForm" v-else-if="deployName == '财务部考核'"></cw-form>
26
+          <ProjectProcess v-else-if="deployName == '项目流转'"></ProjectProcess>
26
           <el-col :span="16" :offset="4" v-else>
27
           <el-col :span="16" :offset="4" v-else>
27
             <div class="test-form">
28
             <div class="test-form">
28
               <parser :key="new Date().getTime()" :form-conf="formConf" @submit="submitForm" ref="parser"
29
               <parser :key="new Date().getTime()" :form-conf="formConf" @submit="submitForm" ref="parser"
63
 import JsForm from '../../../form/jsForm.vue';
64
 import JsForm from '../../../form/jsForm.vue';
64
 import XmForm from '../../../form/xmForm.vue';
65
 import XmForm from '../../../form/xmForm.vue';
65
 import CwForm from '../../../form/cwForm.vue';
66
 import CwForm from '../../../form/cwForm.vue';
67
+import ProjectProcess from '../../../form/projectProcess/index'
66
 
68
 
67
 export default {
69
 export default {
68
   name: "Record",
70
   name: "Record",
76
     ZhForm,
78
     ZhForm,
77
     JsForm,
79
     JsForm,
78
     XmForm,
80
     XmForm,
79
-    CwForm
80
-},
81
+    CwForm,
82
+    ProjectProcess
83
+  },
81
   props: {},
84
   props: {},
82
   data() {
85
   data() {
83
     return {
86
     return {
95
       // 遮罩层
98
       // 遮罩层
96
       loading: true,
99
       loading: true,
97
       deployId: "",  // 流程定义编号
100
       deployId: "",  // 流程定义编号
98
-      deployName:"",//流程定义名称
101
+      deployName: "",//流程定义名称
99
       procDefId: "",  // 流程实例编号
102
       procDefId: "",  // 流程实例编号
100
       formConf: {}, // 默认表单数据
103
       formConf: {}, // 默认表单数据
101
       variables: [], // 流程变量数据
104
       variables: [], // 流程变量数据
253
     },
256
     },
254
     /** 提交流程 */
257
     /** 提交流程 */
255
     submitTask() {
258
     submitTask() {
256
-      
259
+
257
       if (!this.checkValues && this.checkSendUser) {
260
       if (!this.checkValues && this.checkSendUser) {
258
         this.$modal.msgError("请选择任务接收!");
261
         this.$modal.msgError("请选择任务接收!");
259
         return;
262
         return;
340
   }
343
   }
341
 };
344
 };
342
 </script>
345
 </script>
346
+
343
 <style lang="scss" scoped>
347
 <style lang="scss" scoped>
344
 .test-form {
348
 .test-form {
345
   margin: 15px auto;
349
   margin: 15px auto;

+ 68
- 80
oa-ui/src/views/oa/car/index.vue View File

1
 <template>
1
 <template>
2
   <div class="app-container">
2
   <div class="app-container">
3
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
3
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
4
       <el-form-item label="车牌号" prop="licensePlate">
4
       <el-form-item label="车牌号" prop="licensePlate">
5
-        <el-input
6
-          v-model="queryParams.licensePlate"
7
-          placeholder="请输入车牌号"
8
-          clearable
9
-          @keyup.enter.native="handleQuery"
10
-        />
5
+        <el-input v-model="queryParams.licensePlate" placeholder="请输入车牌号" clearable @keyup.enter.native="handleQuery" />
11
       </el-form-item>
6
       </el-form-item>
7
+
12
       <el-form-item label="驾驶员" prop="driver">
8
       <el-form-item label="驾驶员" prop="driver">
13
-        <el-input
14
-          v-model="queryParams.driver"
15
-          placeholder="请输入驾驶员"
16
-          clearable
17
-          @keyup.enter.native="handleQuery"
18
-        />
9
+        <el-input v-model="queryParams.driver" placeholder="请输入驾驶员" clearable @keyup.enter.native="handleQuery" />
19
       </el-form-item>
10
       </el-form-item>
20
       <el-form-item>
11
       <el-form-item>
21
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
22
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
12
+        <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
13
+        <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
23
       </el-form-item>
14
       </el-form-item>
24
     </el-form>
15
     </el-form>
25
 
16
 
26
     <el-row :gutter="10" class="mb8">
17
     <el-row :gutter="10" class="mb8">
27
       <el-col :span="1.5">
18
       <el-col :span="1.5">
28
-        <el-button
29
-          type="primary"
30
-          plain
31
-          icon="el-icon-plus"
32
-          size="mini"
33
-          @click="handleAdd"
34
-          v-hasPermi="['oa:car:add']"
35
-        >新增</el-button>
19
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
20
+          v-hasPermi="['oa:car:add']">新增</el-button>
36
       </el-col>
21
       </el-col>
37
       <el-col :span="1.5">
22
       <el-col :span="1.5">
38
-        <el-button
39
-          type="success"
40
-          plain
41
-          icon="el-icon-edit"
42
-          size="mini"
43
-          :disabled="single"
44
-          @click="handleUpdate"
45
-          v-hasPermi="['oa:car:edit']"
46
-        >修改</el-button>
23
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
24
+          v-hasPermi="['oa:car:edit']">修改</el-button>
47
       </el-col>
25
       </el-col>
48
       <el-col :span="1.5">
26
       <el-col :span="1.5">
49
-        <el-button
50
-          type="danger"
51
-          plain
52
-          icon="el-icon-delete"
53
-          size="mini"
54
-          :disabled="multiple"
55
-          @click="handleDelete"
56
-          v-hasPermi="['oa:car:remove']"
57
-        >删除</el-button>
27
+        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
28
+          v-hasPermi="['oa:car:remove']">删除</el-button>
58
       </el-col>
29
       </el-col>
59
       <el-col :span="1.5">
30
       <el-col :span="1.5">
60
-        <el-button
61
-          type="warning"
62
-          plain
63
-          icon="el-icon-download"
64
-          size="mini"
65
-          @click="handleExport"
66
-          v-hasPermi="['oa:car:export']"
67
-        >导出</el-button>
31
+        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
32
+          v-hasPermi="['oa:car:export']">导出</el-button>
68
       </el-col>
33
       </el-col>
69
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
34
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
70
     </el-row>
35
     </el-row>
71
-
72
     <el-table v-loading="loading" :data="carList" @selection-change="handleSelectionChange">
36
     <el-table v-loading="loading" :data="carList" @selection-change="handleSelectionChange">
73
       <el-table-column type="selection" width="55" align="center" />
37
       <el-table-column type="selection" width="55" align="center" />
74
       <el-table-column label="车辆id" align="center" prop="carId" />
38
       <el-table-column label="车辆id" align="center" prop="carId" />
75
       <el-table-column label="车牌号" align="center" prop="licensePlate" />
39
       <el-table-column label="车牌号" align="center" prop="licensePlate" />
76
       <el-table-column label="驾驶员" align="center" prop="driver" />
40
       <el-table-column label="驾驶员" align="center" prop="driver" />
41
+      <el-table-column label="车系" align="center" prop="series" />
42
+      <el-table-column label="车级" align="center" prop="level" />
43
+      <el-table-column label="购卖时间" align="center" prop="time" />
44
+      <el-table-column label="购买金额" align="center" prop="cost" />
45
+      <el-table-column label="预计使用年限" align="center" prop="expectLife" />
46
+      <!-- <el-table-column label="使用成本(天)" align="center" prop="driver" /> -->
77
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
47
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
78
         <template slot-scope="scope">
48
         <template slot-scope="scope">
79
-          <el-button
80
-            size="mini"
81
-            type="text"
82
-            icon="el-icon-edit"
83
-            @click="handleUpdate(scope.row)"
84
-            v-hasPermi="['oa:car:edit']"
85
-          >修改</el-button>
86
-          <el-button
87
-            size="mini"
88
-            type="text"
89
-            icon="el-icon-delete"
90
-            @click="handleDelete(scope.row)"
91
-            v-hasPermi="['oa:car:remove']"
92
-          >删除</el-button>
49
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
50
+            v-hasPermi="['oa:car:edit']">修改</el-button>
51
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
52
+            v-hasPermi="['oa:car:remove']">删除</el-button>
93
         </template>
53
         </template>
94
       </el-table-column>
54
       </el-table-column>
95
     </el-table>
55
     </el-table>
96
-    
97
-    <pagination
98
-      v-show="total>0"
99
-      :total="total"
100
-      :page.sync="queryParams.pageNum"
101
-      :limit.sync="queryParams.pageSize"
102
-      @pagination="getList"
103
-    />
56
+
57
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
58
+      @pagination="getList" />
104
 
59
 
105
     <!-- 添加或修改cmc车辆信息对话框 -->
60
     <!-- 添加或修改cmc车辆信息对话框 -->
106
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
61
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
107
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
62
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
108
         <el-form-item label="车牌号" prop="licensePlate">
63
         <el-form-item label="车牌号" prop="licensePlate">
109
           <el-input v-model="form.licensePlate" placeholder="请输入车牌号" />
64
           <el-input v-model="form.licensePlate" placeholder="请输入车牌号" />
110
         </el-form-item>
65
         </el-form-item>
66
+        <el-form-item label="车系" prop="series">
67
+          <el-input v-model="form.series" placeholder="请输入车系" />
68
+        </el-form-item>
69
+        <el-form-item label="车级" prop="level">
70
+          <el-input v-model="form.level" placeholder="请输入车级" />
71
+        </el-form-item>
72
+        <el-form-item label="购卖时间" prop="time">
73
+          <el-date-picker v-model="form.time" type="date" placeholder="选择日期" format="yyyy-MM-dd"
74
+            value-format="yyyy-MM-dd">
75
+          </el-date-picker>
76
+        </el-form-item>
77
+        <el-form-item label="购买金额" prop="cost">
78
+          <el-input style="width:130px;margin-right:10px;" v-model="form.cost" placeholder="请输入金额" /><el-tag
79
+            type="warning">万元</el-tag>
80
+        </el-form-item>
81
+        <el-form-item label="预计使用年限" prop="expectLife">
82
+          <el-input  v-model="form.expectLife" placeholder="请输入" />
83
+        </el-form-item>
111
         <el-form-item label="驾驶员" prop="driver">
84
         <el-form-item label="驾驶员" prop="driver">
112
-          <el-input v-model="form.driver" placeholder="请输入驾驶员" />
85
+          <el-select v-model="form.driver" filterable  placeholder="请选择" clearable>
86
+            <el-option v-for="item in driverList" :key="item.userId" :label="item.nickName" :value="item.userId">
87
+            </el-option>
88
+          </el-select>
113
         </el-form-item>
89
         </el-form-item>
114
       </el-form>
90
       </el-form>
115
       <div slot="footer" class="dialog-footer">
91
       <div slot="footer" class="dialog-footer">
122
 
98
 
123
 <script>
99
 <script>
124
 import { listCar, getCar, delCar, addCar, updateCar } from "@/api/oa/car/car";
100
 import { listCar, getCar, delCar, addCar, updateCar } from "@/api/oa/car/car";
101
+import { listDriver } from "@/api/system/post";
125
 
102
 
126
 export default {
103
 export default {
127
   name: "Car",
104
   name: "Car",
156
       form: {},
133
       form: {},
157
       // 表单校验
134
       // 表单校验
158
       rules: {
135
       rules: {
159
-      }
136
+      },
137
+      driverList: []
160
     };
138
     };
161
   },
139
   },
162
   created() {
140
   created() {
163
     this.getList();
141
     this.getList();
142
+    this.getDriverList();
164
   },
143
   },
165
   methods: {
144
   methods: {
166
     /** 查询cmc车辆信息列表 */
145
     /** 查询cmc车辆信息列表 */
172
         this.loading = false;
151
         this.loading = false;
173
       });
152
       });
174
     },
153
     },
154
+    // 查询驾驶员列表
155
+    getDriverList() {
156
+      listDriver({
157
+        pageNum: 1,
158
+        pageSize: 9999999999
159
+      }).then(response => {
160
+        this.driverList = response.rows;
161
+      })
162
+    },
175
     // 取消按钮
163
     // 取消按钮
176
     cancel() {
164
     cancel() {
177
       this.open = false;
165
       this.open = false;
199
     // 多选框选中数据
187
     // 多选框选中数据
200
     handleSelectionChange(selection) {
188
     handleSelectionChange(selection) {
201
       this.ids = selection.map(item => item.carId)
189
       this.ids = selection.map(item => item.carId)
202
-      this.single = selection.length!==1
190
+      this.single = selection.length !== 1
203
       this.multiple = !selection.length
191
       this.multiple = !selection.length
204
     },
192
     },
205
     /** 新增按钮操作 */
193
     /** 新增按钮操作 */
206
     handleAdd() {
194
     handleAdd() {
207
       this.reset();
195
       this.reset();
208
       this.open = true;
196
       this.open = true;
209
-      this.title = "添加cmc车辆信息";
197
+      this.title = "添加车辆信息";
210
     },
198
     },
211
     /** 修改按钮操作 */
199
     /** 修改按钮操作 */
212
     handleUpdate(row) {
200
     handleUpdate(row) {
215
       getCar(carId).then(response => {
203
       getCar(carId).then(response => {
216
         this.form = response.data;
204
         this.form = response.data;
217
         this.open = true;
205
         this.open = true;
218
-        this.title = "修改cmc车辆信息";
206
+        this.title = "修改车辆信息";
219
       });
207
       });
220
     },
208
     },
221
     /** 提交按钮 */
209
     /** 提交按钮 */
241
     /** 删除按钮操作 */
229
     /** 删除按钮操作 */
242
     handleDelete(row) {
230
     handleDelete(row) {
243
       const carIds = row.carId || this.ids;
231
       const carIds = row.carId || this.ids;
244
-      this.$modal.confirm('是否确认删除cmc车辆信息编号为"' + carIds + '"的数据项?').then(function() {
232
+      this.$modal.confirm('是否确认删除cmc车辆信息编号为"' + carIds + '"的数据项?').then(function () {
245
         return delCar(carIds);
233
         return delCar(carIds);
246
       }).then(() => {
234
       }).then(() => {
247
         this.getList();
235
         this.getList();
248
         this.$modal.msgSuccess("删除成功");
236
         this.$modal.msgSuccess("删除成功");
249
-      }).catch(() => {});
237
+      }).catch(() => { });
250
     },
238
     },
251
     /** 导出按钮操作 */
239
     /** 导出按钮操作 */
252
     handleExport() {
240
     handleExport() {

+ 8
- 3
oa-ui/src/views/oa/project/index.vue View File

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-02-27 14:49:15
3
  * @Date: 2024-02-27 14:49:15
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-02-29 16:59:28
5
+ * @LastEditTime: 2024-03-04 09:29:14
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div class="project-wrapper">
8
   <div class="project-wrapper">
198
           </el-form-item>
198
           </el-form-item>
199
           <el-form-item>
199
           <el-form-item>
200
             <el-button @click="confirmPeople" type="primary">确定</el-button>
200
             <el-button @click="confirmPeople" type="primary">确定</el-button>
201
-            <el-button>取消</el-button>
201
+            <el-button @click="cancelChoosePeople">取消</el-button>
202
           </el-form-item>
202
           </el-form-item>
203
         </el-form>
203
         </el-form>
204
       </el-dialog>
204
       </el-dialog>
253
         workload: '',
253
         workload: '',
254
         deadline: '',
254
         deadline: '',
255
         remark: ''
255
         remark: ''
256
-      }]
256
+      }],
257
     }
257
     }
258
   },
258
   },
259
   created() {
259
   created() {
382
       if (index >= 0 && index < arr.length) {
382
       if (index >= 0 && index < arr.length) {
383
         arr.splice(index, 1);
383
         arr.splice(index, 1);
384
       }
384
       }
385
+    },
386
+    cancelChoosePeople(){
387
+      this.peopleForm.deptId = '';
388
+      this.peopleForm.userId = '';
389
+      this.peopleVisible = false;
385
     }
390
     }
386
   },
391
   },
387
 }
392
 }

+ 31
- 27
oa-ui/src/views/system/user/index.vue View File

15
       </el-col>
15
       </el-col>
16
       <!--用户数据-->
16
       <!--用户数据-->
17
       <el-col :span="20" :xs="24">
17
       <el-col :span="20" :xs="24">
18
-        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
18
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
19
+          label-width="68px">
19
           <el-form-item label="用户名称" prop="userName">
20
           <el-form-item label="用户名称" prop="userName">
20
             <el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable style="width: 240px"
21
             <el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable style="width: 240px"
21
               @keyup.enter.native="handleQuery" />
22
               @keyup.enter.native="handleQuery" />
82
             </template>
83
             </template>
83
           </el-table-column>
84
           </el-table-column>
84
           <el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
85
           <el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
86
+
85
             <template slot-scope="scope">
87
             <template slot-scope="scope">
86
               <span>{{ parseTime(scope.row.createTime) }}</span>
88
               <span>{{ parseTime(scope.row.createTime) }}</span>
87
             </template>
89
             </template>
88
           </el-table-column>
90
           </el-table-column>
89
           <el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
91
           <el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
92
+
90
             <template slot-scope="scope" v-if="scope.row.userId !== 1">
93
             <template slot-scope="scope" v-if="scope.row.userId !== 1">
91
               <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
94
               <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
92
                 v-hasPermi="['system:user:edit']">修改</el-button>
95
                 v-hasPermi="['system:user:edit']">修改</el-button>
106
           </el-table-column>
109
           </el-table-column>
107
         </el-table>
110
         </el-table>
108
 
111
 
109
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
110
-          @pagination="getList" />
112
+        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
113
+          :limit.sync="queryParams.pageSize" @pagination="getList" />
111
       </el-col>
114
       </el-col>
112
     </el-row>
115
     </el-row>
113
 
116
 
167
           <el-col :span="12">
170
           <el-col :span="12">
168
             <el-form-item label="状态">
171
             <el-form-item label="状态">
169
               <el-radio-group v-model="form.status">
172
               <el-radio-group v-model="form.status">
170
-                <el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value"
171
-                  :label="dict.value">{{ dict.label }}</el-radio>
173
+                <el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{
174
+      dict.label
175
+    }}</el-radio>
172
               </el-radio-group>
176
               </el-radio-group>
173
             </el-form-item>
177
             </el-form-item>
174
           </el-col>
178
           </el-col>
199
           </el-col>
203
           </el-col>
200
           <el-col :span="12">
204
           <el-col :span="12">
201
             <el-form-item label="岗级" prop="engineerLevel">
205
             <el-form-item label="岗级" prop="engineerLevel">
202
-              <el-select v-model="form.engineerLevel" placeholder="请输入岗级">
203
-                <el-option v-for="dict in dict.type.sys_user_engineerlevel" :key="dict.value" :label="dict.label"
204
-                  :value="dict.value" />
205
-              </el-select>
206
+              <el-col :span="12">
207
+                <el-select v-model="form.postLevel" placeholder="请选择">
208
+                  <el-option v-for="dict in dict.type.sys_user_postlevel" :key="dict.value" :label="dict.label"
209
+                    :value="dict.value" />
210
+                </el-select>
211
+              </el-col>
212
+              <el-col :span="12">
213
+                <el-select v-model="form.salaryLevel" placeholder="请选择">
214
+                  <el-option v-for="dict in dict.type.sys_user_salarylevel" :key="dict.value" :label="dict.label"
215
+                    :value="dict.value" />
216
+                </el-select>
217
+              </el-col>
206
             </el-form-item>
218
             </el-form-item>
207
           </el-col>
219
           </el-col>
208
         </el-row>
220
         </el-row>
223
           <el-col :span="12">
235
           <el-col :span="12">
224
             <el-form-item label="角色">
236
             <el-form-item label="角色">
225
               <el-select v-model="form.roleIds" multiple placeholder="请选择角色">
237
               <el-select v-model="form.roleIds" multiple placeholder="请选择角色">
226
-                <el-option
227
-                  v-for="item in roleOptions"
228
-                  :key="item.roleId"
229
-                  :label="item.roleName"
230
-                  :value="item.roleId"
231
-                  :disabled="item.status == 1"
232
-                ></el-option>
238
+                <el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId"
239
+                  :disabled="item.status == 1"></el-option>
233
               </el-select>
240
               </el-select>
234
             </el-form-item>
241
             </el-form-item>
235
           </el-col>
242
           </el-col>
243
           <el-col :span="12">
250
           <el-col :span="12">
244
             <el-form-item label="更新原因">
251
             <el-form-item label="更新原因">
245
               <el-select v-model="form.updateReason" placeholder="请选择更新原因">
252
               <el-select v-model="form.updateReason" placeholder="请选择更新原因">
246
-                <el-option
247
-                  v-for="item in updateReasonOptions"
248
-                  :key="item.value"
249
-                  :label="item.label"
250
-                  :value="item.value"/>
253
+                <el-option v-for="item in updateReasonOptions" :key="item.value" :label="item.label"
254
+                  :value="item.value" />
251
               </el-select>
255
               </el-select>
252
             </el-form-item>
256
             </el-form-item>
253
           </el-col>
257
           </el-col>
291
 
295
 
292
 export default {
296
 export default {
293
   name: "User",
297
   name: "User",
294
-  dicts: ['sys_normal_disable', 'sys_user_sex', 'sys_user_titles', 'sys_user_pmlevel', 'sys_user_engineerlevel'],
298
+  dicts: ['sys_normal_disable', 'sys_user_sex', 'sys_user_titles', 'sys_user_pmlevel', 'sys_user_postlevel','sys_user_salarylevel'],
295
   components: { Treeselect },
299
   components: { Treeselect },
296
   data() {
300
   data() {
297
     return {
301
     return {
324
       // 岗位选项
328
       // 岗位选项
325
       postOptions: [],
329
       postOptions: [],
326
       // 角色选项
330
       // 角色选项
327
-      roleOptions: [],      
331
+      roleOptions: [],
328
       // 更新原因选项
332
       // 更新原因选项
329
       updateReasonOptions: [
333
       updateReasonOptions: [
330
-        { value: '0', label: '误录修改'},
331
-        { value: '1', label: '正常调整'}
334
+        { value: '0', label: '误录修改' },
335
+        { value: '1', label: '正常调整' }
332
       ],
336
       ],
333
       titles: [],
337
       titles: [],
334
       // 表单参数
338
       // 表单参数
529
         this.roleOptions = response.roles;
533
         this.roleOptions = response.roles;
530
         this.$set(this.form, "postIds", response.postIds);
534
         this.$set(this.form, "postIds", response.postIds);
531
         this.$set(this.form, "roleIds", response.roleIds);
535
         this.$set(this.form, "roleIds", response.roleIds);
532
-        
536
+
533
         if (response.data.titles != "" && response.data.titles != undefined && response.data.titles != null) {
537
         if (response.data.titles != "" && response.data.titles != undefined && response.data.titles != null) {
534
           for (let i = 0; i < response.data.titles.split(",").length; i++)
538
           for (let i = 0; i < response.data.titles.split(",").length; i++)
535
             this.titles[i] = response.data.titles.split(",")[i]
539
             this.titles[i] = response.data.titles.split(",")[i]
564
       this.$refs["form"].validate(valid => {
568
       this.$refs["form"].validate(valid => {
565
         if (valid) {
569
         if (valid) {
566
           if (this.form.userId != undefined) {
570
           if (this.form.userId != undefined) {
567
-            if(this.form.titles != "" && this.form.titles != undefined && this.form.titles != null)
571
+            if (this.form.titles != "" && this.form.titles != undefined && this.form.titles != null)
568
               this.form.titles = this.form.titles.join(',')
572
               this.form.titles = this.form.titles.join(',')
569
             updateUser(this.form).then(response => {
573
             updateUser(this.form).then(response => {
570
               this.$modal.msgSuccess("修改成功");
574
               this.$modal.msgSuccess("修改成功");

Loading…
Cancel
Save