瀏覽代碼

修改设备、车辆记录

余思翰 11 月之前
父節點
當前提交
7802ca5cbf

+ 0
- 2
oa-ui/src/views/flowable/form/budget/components/choosePeople.vue 查看文件

@@ -129,12 +129,10 @@ export default {
129 129
       return row.userId;
130 130
     },
131 131
     confirmChoose() {
132
-      debugger
133 132
       if (this.chooseUser)
134 133
         this.$emit('chooseUser', this.chooseUser)
135 134
     },
136 135
     confirmChooseBySingle() {
137
-      debugger
138 136
       if (!this.multiple) {
139 137
         if (this.chooseUser)
140 138
           this.$emit('chooseUser', this.chooseUser)

+ 16
- 6
oa-ui/src/views/flowable/form/oa/carForm.vue 查看文件

@@ -2,13 +2,13 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-02-29 11:44:28
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-06-19 16:36:07
5
+ * @LastEditTime: 2024-06-21 14:35:59
6 6
 -->
7 7
 
8 8
 <template>
9 9
   <div v-loading="loading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
10 10
     <el-row :gutter="20">
11
-      <el-col :span="18" :xs="24">
11
+      <el-col :span="flowDisabled ? 18 : 24" :xs="24">
12 12
         <el-card>
13 13
           <h2 style="text-align: center;">用车申请表</h2>
14 14
           <div>
@@ -221,7 +221,7 @@
221 221
         </el-card>
222 222
 
223 223
       </el-col>
224
-      <el-col :span="6" :xs="24">
224
+      <el-col :span="6" :xs="24" v-if="flowDisabled">
225 225
         <el-card>
226 226
           <h2 style="text-align: center;">流程进度</h2>
227 227
           <div>
@@ -267,6 +267,15 @@ export default {
267 267
     taskForm: {
268 268
       type: Object,
269 269
       required: true
270
+    },
271
+    flowDisabled: {
272
+      type: Boolean,
273
+      default: true
274
+    }
275
+  },
276
+  watch:{
277
+    'taskForm.formId'(){
278
+      this.initForm();
270 279
     }
271 280
   },
272 281
   created() {
@@ -295,9 +304,10 @@ export default {
295 304
     this.getProjectList();
296 305
     this.getCarList();
297 306
     this.getDriverList();
298
-    flowXmlAndNode({ procInsId: this.taskForm.procInsId, deployId: this.taskForm.deployId }).then(res => {
299
-      this.flowData = res.data;
300
-    })
307
+    if (this.flowDisabled)
308
+      flowXmlAndNode({ procInsId: this.taskForm.procInsId, deployId: this.taskForm.deployId }).then(res => {
309
+        this.flowData = res.data;
310
+      })
301 311
   },
302 312
   data() {
303 313
     return {

+ 8
- 3
oa-ui/src/views/flowable/form/oa/deviceForm.vue 查看文件

@@ -2,13 +2,13 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-07 13:44:39
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-06-13 14:19:38
5
+ * @LastEditTime: 2024-06-21 16:50:43
6 6
 -->
7 7
 
8 8
 <template>
9 9
   <div>
10 10
     <el-row :gutter="20">
11
-      <el-col :span="18" :xs="24">
11
+      <el-col :span="flowDisabled ? 18 : 24" :xs="24">
12 12
         <el-card>
13 13
           <h2 style="text-align: center;">设备申请表</h2>
14 14
           <div>
@@ -178,7 +178,7 @@
178 178
         </el-card>
179 179
 
180 180
       </el-col>
181
-      <el-col :span="6" :xs="24">
181
+      <el-col :span="6" :xs="24" v-if="flowDisabled">
182 182
         <el-card>
183 183
           <h2 style="text-align: center;">流程进度</h2>
184 184
           <div>
@@ -226,6 +226,10 @@ export default {
226 226
     taskForm: {
227 227
       type: Object,
228 228
       required: true
229
+    },
230
+    flowDisabled: {
231
+      type: Boolean,
232
+      default: true
229 233
     }
230 234
   },
231 235
   created() {
@@ -241,6 +245,7 @@ export default {
241 245
     this.form.dept.deptName = this.$store.getters.deptName;
242 246
     this.getProjectList();
243 247
     this.getDeviceList();
248
+    if(this.flowDisabled)
244 249
     flowXmlAndNode({ procInsId: this.taskForm.procInsId, deployId: this.taskForm.deployId }).then(res => {
245 250
       this.flowData = res.data;
246 251
     })

+ 0
- 1
oa-ui/src/views/flowable/form/projectProcess/technicalTab.vue 查看文件

@@ -212,7 +212,6 @@ export default {
212 212
       }
213 213
     },
214 214
     processQualityInspector(form) {
215
-      debugger
216 215
       if (Array.isArray(form.qualityInspector)) {
217 216
         // 如果已经是数组,则不需要进一步处理  
218 217
         // 除非你想将数组中的字符串元素转换为整数  

+ 21
- 12
oa-ui/src/views/flowable/form/settleForm.vue 查看文件

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-30 09:03:14
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-06-07 10:00:28
5
+ * @LastEditTime: 2024-06-21 13:46:50
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container" v-loading="loading">
@@ -12,7 +12,7 @@
12 12
         :settleList="oldSettleSumList" @cancel="printOpen = false"></settle-print>
13 13
     </el-dialog>
14 14
     <el-row :gutter="20">
15
-      <el-col :span="19" :xs="24">
15
+      <el-col :span="flowDisabled ? 19 : 24" :xs="24">
16 16
         <h2 class="text-center">项目结算表</h2>
17 17
         <div class="headers">
18 18
           项目信息
@@ -58,7 +58,7 @@
58 58
                 {{ chooseProject.undertakingDeptName }}
59 59
               </el-descriptions-item>
60 60
               <el-descriptions-item label="项目登记人" label-class-name="my-label">
61
-                {{ chooseProject.projectRegistrantUser ? chooseProject.projectRegistrantUser.nickName:"" }}
61
+                {{ chooseProject.projectRegistrantUser ? chooseProject.projectRegistrantUser.nickName : "" }}
62 62
               </el-descriptions-item>
63 63
             </el-descriptions>
64 64
           </el-form-item>
@@ -435,7 +435,7 @@
435 435
           <el-button type="primary" @click="submitNextFlow">提交下一个流程</el-button>
436 436
         </div>
437 437
       </el-col>
438
-      <el-col :span="5" :xs="24">
438
+      <el-col :span="5" :xs="24" v-if="flowDisabled">
439 439
         <el-card>
440 440
           <h2 style="text-align: center">流程进度</h2>
441 441
           <div>
@@ -521,8 +521,17 @@ export default {
521 521
       type: Boolean,
522 522
       default: false,
523 523
     },
524
+    flowDisabled: {
525
+      type: Boolean,
526
+      default: true
527
+    }
528
+  },
529
+  watch: {
530
+    'taskForm.formId'() {
531
+
532
+      this.initForm();
533
+    }
524 534
   },
525
-  watch: {},
526 535
   data() {
527 536
     return {
528 537
       baseUrl: process.env.VUE_APP_BASE_API,
@@ -590,13 +599,13 @@ export default {
590 599
     this.getProjectList(); //获取项目列表
591 600
     this.getContractDataList(); //获取合同编码和编号
592 601
     this.initForm();
593
-
594
-    flowXmlAndNode({
595
-      procInsId: this.taskForm.procInsId,
596
-      deployId: this.taskForm.deployId,
597
-    }).then((res) => {
598
-      this.flowData = res.data;
599
-    });
602
+    if (this.flowDisabled)
603
+      flowXmlAndNode({
604
+        procInsId: this.taskForm.procInsId,
605
+        deployId: this.taskForm.deployId,
606
+      }).then((res) => {
607
+        this.flowData = res.data;
608
+      });
600 609
   },
601 610
   mounted() {
602 611
     if (this.$route.query.projectId) {

+ 0
- 4
oa-ui/src/views/oa/brand/brandProject.vue 查看文件

@@ -42,9 +42,6 @@
42 42
             :percentage="scope.row.percentage" text-color="#fff"></el-progress>
43 43
         </template>
44 44
       </el-table-column>
45
-      <el-table-column label="收款进度" align="center">
46
-        <template slot-scope="scope"></template>
47
-      </el-table-column>
48 45
       <el-table-column label="项目编号" align="center" prop="projectNumber" />
49 46
       <el-table-column label="项目名称" align="center" prop="projectName" width="200px" />
50 47
       <el-table-column label="甲方单位" align="center" prop="partyA.partyAName" width="200px" />
@@ -304,7 +301,6 @@ export default {
304 301
             pageSize: 200,
305 302
             projectId: item.projectId
306 303
           }).then(res => {
307
-            debugger
308 304
             if (res.rows) {
309 305
               let len = res.rows.length
310 306
               if (len != 0) {

+ 75
- 154
oa-ui/src/views/oa/car/approval.vue 查看文件

@@ -8,19 +8,23 @@
8 8
           </el-option>
9 9
         </el-select>
10 10
       </el-form-item>
11
-      <el-form-item label="使用部门" prop="useDept">
11
+      <el-form-item label="申请部门" prop="useDept">
12 12
         <el-select v-model="queryParams.useDept" filterable clearable @change="handleQuery">
13 13
           <el-option v-for="item in $store.state.user.deptList" :key="item.deptId" :label="item.deptName"
14 14
             :value="item.deptId">
15 15
           </el-option>
16 16
         </el-select>
17 17
       </el-form-item>
18
-      <el-form-item label="项目id" prop="projectId">
19
-        <el-input v-model="queryParams.projectId" placeholder="请输入项目id" clearable @keyup.enter.native="handleQuery" />
18
+      <el-form-item label="项目编号" prop="projectId">
19
+        <el-select v-model="queryParams.projectId" clearable filterable remote reserve-keyword placeholder="请输入项目编号"
20
+          :remote-method="remoteMethod" :loading="loading" style="width: 400px;">
21
+          <el-option v-for="project in projectList" :key="project.projectId"
22
+            :label="project.projectNumber + '-' + project.projectName" :value="project.projectId">
23
+          </el-option>
24
+        </el-select>
20 25
       </el-form-item>
21 26
       <el-form-item>
22 27
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
23
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
24 28
       </el-form-item>
25 29
     </el-form>
26 30
 
@@ -34,69 +38,48 @@
34 38
 
35 39
     <el-table v-loading="loading" :data="carApprovalList" @selection-change="handleSelectionChange">
36 40
       <el-table-column type="index" label="序号" width="55" align="center" />
37
-      <el-table-column label="用车申请id" align="center" prop="carApplyId" />
38
-      <el-table-column label="申请人" align="center" prop="applier" >
39
-        <template slot-scope="scope">
40
-          {{ getUserName(scope.row.applier) }}
41
-        </template>
42
-      </el-table-column>
43
-      <el-table-column label="使用部门" align="center" prop="useDept" />
44
-      <el-table-column label="车辆id" align="center" prop="cars" />
45
-      <el-table-column label="驾驶员id" align="center" prop="drivers" />
46
-      <el-table-column label="项目id" align="center" prop="projectId" />
47
-      <el-table-column label="申请用途" align="center" prop="carUsage" />
48
-      <el-table-column label="用车事由" align="center" prop="applyReason" />
49
-      <el-table-column label="人数" align="center" prop="passengers" />
50
-      <el-table-column label="开始日期" align="center" prop="beginDate" width="180">
51
-        <template slot-scope="scope">
52
-          <span>{{ parseTime(scope.row.beginDate, '{y}-{m}-{d}') }}</span>
53
-        </template>
54
-      </el-table-column>
55
-      <el-table-column label="结束日期" align="center" prop="endDate" width="180">
41
+      <!-- <el-table-column label="用车申请id" align="center" prop="carApplyId" /> -->
42
+      <el-table-column label="申请类型" align="center" prop="carUsage">
56 43
         <template slot-scope="scope">
57
-          <span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
44
+          <el-tag :type="setTypeCarUsage(scope.row.carUsage)">
45
+            {{ setCarUsage(scope.row.carUsage) }}
46
+          </el-tag>
58 47
         </template>
59 48
       </el-table-column>
60
-      <el-table-column label="天数" align="center" prop="days" />
61
-      <el-table-column label="部门审批人" align="center" prop="deptUserId" />
62
-      <el-table-column label="部门审批意见" align="center" prop="deptComment" />
63
-      <el-table-column label="部门审批时间" align="center" prop="deptTime" width="180">
49
+      <el-table-column label="申请人" align="center" prop="applier">
64 50
         <template slot-scope="scope">
65
-          <span>{{ parseTime(scope.row.deptTime, '{y}-{m}-{d}') }}</span>
51
+          {{ getUserName(scope.row.applier) }}
66 52
         </template>
67 53
       </el-table-column>
68
-      <el-table-column label="分管审批人" align="center" prop="managerUserId" />
69
-      <el-table-column label="分管审批意见" align="center" prop="managerComment" />
70
-      <el-table-column label="分管审批时间" align="center" prop="managerTime" width="180">
54
+      <el-table-column label="申请部门" align="center" prop="useDept">
71 55
         <template slot-scope="scope">
72
-          <span>{{ parseTime(scope.row.managerTime, '{y}-{m}-{d}') }}</span>
56
+          {{ getDeptName(scope.row.useDept) }}
73 57
         </template>
74 58
       </el-table-column>
75
-      <el-table-column label="工会审批人" align="center" prop="unionUserId" />
76
-      <el-table-column label="工会审批意见" align="center" prop="unionComment" />
77
-      <el-table-column label="工会审批时间" align="center" prop="unionTime" width="180">
59
+      <el-table-column label="项目编号" align="center" prop="project.projectNumber" />
60
+      <el-table-column label="项目名称" align="center" prop="project.projectName" width="200px" />
61
+      <el-table-column label="用车事由" align="center" prop="applyReason" />
62
+      <el-table-column label="乘车人数" align="center" prop="passengers" />
63
+      <el-table-column label="开始日期" align="center" prop="beginDate">
78 64
         <template slot-scope="scope">
79
-          <span>{{ parseTime(scope.row.unionTime, '{y}-{m}-{d}') }}</span>
65
+          <span>{{ parseTime(scope.row.beginDate, '{y}-{m}-{d}') }}</span>
80 66
         </template>
81 67
       </el-table-column>
82
-      <el-table-column label="总经理审批人" align="center" prop="gmUserId" />
83
-      <el-table-column label="总经理审批意见" align="center" prop="gmComment" />
84
-      <el-table-column label="总经理审批时间" align="center" prop="gmTime" width="180">
68
+      <el-table-column label="结束日期" align="center" prop="endDate" >
85 69
         <template slot-scope="scope">
86
-          <span>{{ parseTime(scope.row.gmTime, '{y}-{m}-{d}') }}</span>
70
+          <span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
87 71
         </template>
88 72
       </el-table-column>
89
-      <el-table-column label="派车人" align="center" prop="dispatcher" />
90
-      <el-table-column label="派车审批意见" align="center" prop="dispatchComment" />
91
-      <el-table-column label="派车审批时间" align="center" prop="dispatchTime" width="180">
73
+      <el-table-column label="天数" align="center" prop="days" />
74
+      <el-table-column label="部门审批人" align="center" prop="deptUserId" />
75
+      <el-table-column label="申请日期" align="center" prop="applyDate">
92 76
         <template slot-scope="scope">
93
-          <span>{{ parseTime(scope.row.dispatchTime, '{y}-{m}-{d}') }}</span>
77
+          <span>{{ parseTime(scope.row.applyDate, '{y}-{m}-{d}') }}</span>
94 78
         </template>
95 79
       </el-table-column>
96
-      <el-table-column label="预计用车成本" align="center" prop="estimateCost" />
97
-      <el-table-column label="申请日期" align="center" prop="applyDate" width="180">
80
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
98 81
         <template slot-scope="scope">
99
-          <span>{{ parseTime(scope.row.applyDate, '{y}-{m}-{d}') }}</span>
82
+          <el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)">查看</el-button>
100 83
         </template>
101 84
       </el-table-column>
102 85
     </el-table>
@@ -105,120 +88,19 @@
105 88
       @pagination="getList" />
106 89
 
107 90
     <!-- 添加或修改cmc用车审批对话框 -->
108
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
109
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
110
-        <el-form-item label="申请人" prop="applier">
111
-          <el-input v-model="form.applier" placeholder="请输入申请人" />
112
-        </el-form-item>
113
-        <el-form-item label="使用部门" prop="useDept">
114
-          <el-input v-model="form.useDept" placeholder="请输入使用部门" />
115
-        </el-form-item>
116
-        <el-form-item label="车辆id" prop="cars">
117
-          <el-input v-model="form.cars" placeholder="请输入车辆id" />
118
-        </el-form-item>
119
-        <el-form-item label="驾驶员id" prop="drivers">
120
-          <el-input v-model="form.drivers" placeholder="请输入驾驶员id" />
121
-        </el-form-item>
122
-        <el-form-item label="项目id" prop="projectId">
123
-          <el-input v-model="form.projectId" placeholder="请输入项目id" />
124
-        </el-form-item>
125
-        <el-form-item label="申请用途" prop="carUsage">
126
-          <el-input v-model="form.carUsage" placeholder="请输入申请用途" />
127
-        </el-form-item>
128
-        <el-form-item label="用车事由" prop="applyReason">
129
-          <el-input v-model="form.applyReason" placeholder="请输入用车事由" />
130
-        </el-form-item>
131
-        <el-form-item label="人数" prop="passengers">
132
-          <el-input v-model="form.passengers" placeholder="请输入人数" />
133
-        </el-form-item>
134
-        <el-form-item label="开始日期" prop="beginDate">
135
-          <el-date-picker clearable v-model="form.beginDate" type="date" value-format="yyyy-MM-dd"
136
-            placeholder="请选择开始日期">
137
-          </el-date-picker>
138
-        </el-form-item>
139
-        <el-form-item label="结束日期" prop="endDate">
140
-          <el-date-picker clearable v-model="form.endDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择结束日期">
141
-          </el-date-picker>
142
-        </el-form-item>
143
-        <el-form-item label="天数" prop="days">
144
-          <el-input v-model="form.days" placeholder="请输入天数" />
145
-        </el-form-item>
146
-        <el-form-item label="部门审批人" prop="deptUserId">
147
-          <el-input v-model="form.deptUserId" placeholder="请输入部门审批人" />
148
-        </el-form-item>
149
-        <el-form-item label="部门审批意见" prop="deptComment">
150
-          <el-input v-model="form.deptComment" placeholder="请输入部门审批意见" />
151
-        </el-form-item>
152
-        <el-form-item label="部门审批时间" prop="deptTime">
153
-          <el-date-picker clearable v-model="form.deptTime" type="date" value-format="yyyy-MM-dd"
154
-            placeholder="请选择部门审批时间">
155
-          </el-date-picker>
156
-        </el-form-item>
157
-        <el-form-item label="分管审批人" prop="managerUserId">
158
-          <el-input v-model="form.managerUserId" placeholder="请输入分管审批人" />
159
-        </el-form-item>
160
-        <el-form-item label="分管审批意见" prop="managerComment">
161
-          <el-input v-model="form.managerComment" placeholder="请输入分管审批意见" />
162
-        </el-form-item>
163
-        <el-form-item label="分管审批时间" prop="managerTime">
164
-          <el-date-picker clearable v-model="form.managerTime" type="date" value-format="yyyy-MM-dd"
165
-            placeholder="请选择分管审批时间">
166
-          </el-date-picker>
167
-        </el-form-item>
168
-        <el-form-item label="工会审批人" prop="unionUserId">
169
-          <el-input v-model="form.unionUserId" placeholder="请输入工会审批人" />
170
-        </el-form-item>
171
-        <el-form-item label="工会审批意见" prop="unionComment">
172
-          <el-input v-model="form.unionComment" placeholder="请输入工会审批意见" />
173
-        </el-form-item>
174
-        <el-form-item label="工会审批时间" prop="unionTime">
175
-          <el-date-picker clearable v-model="form.unionTime" type="date" value-format="yyyy-MM-dd"
176
-            placeholder="请选择工会审批时间">
177
-          </el-date-picker>
178
-        </el-form-item>
179
-        <el-form-item label="总经理审批人" prop="gmUserId">
180
-          <el-input v-model="form.gmUserId" placeholder="请输入总经理审批人" />
181
-        </el-form-item>
182
-        <el-form-item label="总经理审批意见" prop="gmComment">
183
-          <el-input v-model="form.gmComment" placeholder="请输入总经理审批意见" />
184
-        </el-form-item>
185
-        <el-form-item label="总经理审批时间" prop="gmTime">
186
-          <el-date-picker clearable v-model="form.gmTime" type="date" value-format="yyyy-MM-dd"
187
-            placeholder="请选择总经理审批时间">
188
-          </el-date-picker>
189
-        </el-form-item>
190
-        <el-form-item label="派车人" prop="dispatcher">
191
-          <el-input v-model="form.dispatcher" placeholder="请输入派车人" />
192
-        </el-form-item>
193
-        <el-form-item label="派车审批意见" prop="dispatchComment">
194
-          <el-input v-model="form.dispatchComment" placeholder="请输入派车审批意见" />
195
-        </el-form-item>
196
-        <el-form-item label="派车审批时间" prop="dispatchTime">
197
-          <el-date-picker clearable v-model="form.dispatchTime" type="date" value-format="yyyy-MM-dd"
198
-            placeholder="请选择派车审批时间">
199
-          </el-date-picker>
200
-        </el-form-item>
201
-        <el-form-item label="预计用车成本" prop="estimateCost">
202
-          <el-input v-model="form.estimateCost" placeholder="请输入预计用车成本" />
203
-        </el-form-item>
204
-        <el-form-item label="申请日期" prop="applyDate">
205
-          <el-date-picker clearable v-model="form.applyDate" type="date" value-format="yyyy-MM-dd"
206
-            placeholder="请选择申请日期">
207
-          </el-date-picker>
208
-        </el-form-item>
209
-      </el-form>
210
-      <div slot="footer" class="dialog-footer">
211
-        <el-button type="primary" @click="submitForm">确 定</el-button>
212
-        <el-button @click="cancel">取 消</el-button>
213
-      </div>
91
+    <el-dialog :title="title" :visible.sync="open" width="65%" append-to-body>
92
+      <car-form :taskForm="taskForm" :taskName="''" :flowDisabled="false"></car-form>
214 93
     </el-dialog>
215 94
   </div>
216 95
 </template>
217 96
 
218 97
 <script>
219 98
 import { listCarApproval, getCarApproval, delCarApproval, addCarApproval, updateCarApproval } from "@/api/oa/car/carApproval";
99
+import { listProject } from '@/api/oa/project/project';
100
+import carForm from '../../flowable/form/oa/carForm.vue';
220 101
 
221 102
 export default {
103
+  components: { carForm },
222 104
   name: "CarApproval",
223 105
   data() {
224 106
     return {
@@ -277,6 +159,10 @@ export default {
277 159
       form: {},
278 160
       // 表单校验
279 161
       rules: {
162
+      },
163
+      projectList: [],
164
+      taskForm: {
165
+        formId: ''
280 166
       }
281 167
     };
282 168
   },
@@ -293,6 +179,15 @@ export default {
293 179
         this.loading = false;
294 180
       });
295 181
     },
182
+    remoteMethod(val) {
183
+      listProject({
184
+        pageNum: 1,
185
+        pageSize: 20,
186
+        projectNumber: val
187
+      }).then(res => {
188
+        this.projectList = res.rows;
189
+      })
190
+    },
296 191
     // 取消按钮
297 192
     cancel() {
298 193
       this.open = false;
@@ -355,6 +250,10 @@ export default {
355 250
       this.open = true;
356 251
       this.title = "添加cmc用车审批";
357 252
     },
253
+    handleView(row) {
254
+      this.open = true;
255
+      this.taskForm.formId = row.carApplyId;
256
+    },
358 257
     /** 修改按钮操作 */
359 258
     handleUpdate(row) {
360 259
       this.reset();
@@ -400,6 +299,28 @@ export default {
400 299
       this.download('oa/carApproval/export', {
401 300
         ...this.queryParams
402 301
       }, `carApproval_${new Date().getTime()}.xlsx`)
302
+    },
303
+    setCarUsage(val) {
304
+      if (val == '0') {
305
+        return '项目用车'
306
+      } else if (val == '1') {
307
+        return '非项目用车'
308
+      } else if (val == '2') {
309
+        return '工会用车'
310
+      } else if (val == '3') {
311
+        return '党委用车'
312
+      } else if (val == '4') {
313
+        return '团委用车'
314
+      }
315
+    },
316
+    setTypeCarUsage(val) {
317
+      if (val == '0') {
318
+        return 'success'
319
+      } else if (val == '1') {
320
+        return 'warning'
321
+      } else {
322
+        return ''
323
+      }
403 324
     }
404 325
   }
405 326
 };

+ 117
- 17
oa-ui/src/views/oa/car/expense.vue 查看文件

@@ -1,8 +1,13 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
-      <el-form-item label="车辆id" prop="carId">
5
-        <el-input v-model="queryParams.carId" placeholder="请输入车辆id" clearable @keyup.enter.native="handleQuery" />
4
+      <el-form-item label="车牌号" prop="carId">
5
+        <el-select v-model="queryParams.carId" clearable filterable placeholder="请输入车牌号" :loading="loading"
6
+          @change="handleQuery">
7
+          <el-option v-for="car in carList" :key="car.carId" :label="car.licensePlate + '-' + car.brand"
8
+            :value="car.carId">
9
+          </el-option>
10
+        </el-select>
6 11
       </el-form-item>
7 12
       <el-form-item label="负责人" prop="userId">
8 13
         <el-select v-model="queryParams.userId" filterable clearable @change="handleQuery">
@@ -44,9 +49,17 @@
44 49
 
45 50
     <el-table v-loading="loading" :data="deviceExpenseList" @selection-change="handleSelectionChange">
46 51
       <el-table-column type="selection" width="55" align="center" />
47
-      <el-table-column label="车辆id" align="center" prop="carId" />
48
-      <el-table-column label="负责人id" align="center" prop="userId" />
49
-      <el-table-column label="费用类型" align="center" prop="expenseType" />
52
+      <el-table-column label="车牌号" align="center" prop="car.licensePlate" />
53
+      <el-table-column label="负责人" align="center" prop="userId">
54
+        <template slot-scope="scope">
55
+          {{ getUserName(scope.row.userId) }}
56
+        </template>
57
+      </el-table-column>
58
+      <el-table-column label="费用类型" align="center" prop="expenseType">
59
+        <template slot-scope="scope">
60
+          <el-tag :type="typeStyle(scope.row.expenseType)">{{ expenseTypeText(scope.row.expenseType) }}</el-tag>
61
+        </template>
62
+      </el-table-column>
50 63
       <el-table-column label="费用金额" align="center" prop="expense" />
51 64
       <el-table-column label="发生日期" align="center" prop="occurDate" width="180">
52 65
         <template slot-scope="scope">
@@ -54,7 +67,13 @@
54 67
         </template>
55 68
       </el-table-column>
56 69
       <el-table-column label="备注" align="center" prop="remark" />
57
-      <el-table-column label="附件" align="center" prop="document" />
70
+      <el-table-column label="附件" align="center" prop="document">
71
+        <template slot-scope="scope">
72
+          <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + scope.row.document}`)">
73
+            {{ getFileName(scope.row.document) }}
74
+          </el-link>
75
+        </template>
76
+      </el-table-column>
58 77
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
59 78
         <template slot-scope="scope">
60 79
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
@@ -71,14 +90,30 @@
71 90
     <!-- 添加或修改cmc设备费用对话框 -->
72 91
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
73 92
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
74
-        <el-form-item label="设备id" prop="carId">
75
-          <el-input v-model="form.carId" placeholder="请输入设备id" />
93
+        <el-form-item label="车牌号" prop="carId">
94
+          <el-select v-model="form.carId" clearable filterable placeholder="请输入车牌号" :loading="loading">
95
+            <el-option v-for="car in carList" :key="car.carId" :label="car.licensePlate + '-' + car.brand"
96
+              :value="car.carId">
97
+            </el-option>
98
+          </el-select>
99
+        </el-form-item>
100
+        <el-form-item label="负责人" prop="userId">
101
+          <el-select v-model="form.userId" filterable clearable @change="handleQuery">
102
+            <el-option v-for="item in $store.state.user.userList" :key="item.userId" :label="item.nickName"
103
+              :value="item.userId">
104
+            </el-option>
105
+          </el-select>
76 106
         </el-form-item>
77
-        <el-form-item label="负责人id" prop="userId">
78
-          <el-input v-model="form.userId" placeholder="请输入负责人id" />
107
+        <el-form-item label="费用类型" prop="expenseType">
108
+          <el-select v-model="form.expenseType" placeholder="请选择" clearable @change="expenseTypePath">
109
+            <el-option label="保险费" value="0"></el-option>
110
+            <el-option label="维修/保养费" value="1"></el-option>
111
+            <el-option label="轮胎费" value="2"></el-option>
112
+          </el-select>
79 113
         </el-form-item>
80 114
         <el-form-item label="费用金额" prop="expense">
81
-          <el-input v-model="form.expense" placeholder="请输入费用金额" />
115
+          <el-input-number :controls="false" v-model="form.expense" placeholder="请输入费用金额" style="width:150px" />
116
+          <el-tag>元</el-tag>
82 117
         </el-form-item>
83 118
         <el-form-item label="发生日期" prop="occurDate">
84 119
           <el-date-picker clearable v-model="form.occurDate" type="date" value-format="yyyy-MM-dd"
@@ -86,10 +121,20 @@
86 121
           </el-date-picker>
87 122
         </el-form-item>
88 123
         <el-form-item label="备注" prop="remark">
89
-          <el-input v-model="form.remark" placeholder="请输入备注" />
124
+          <el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
90 125
         </el-form-item>
91 126
         <el-form-item label="附件" prop="document">
92
-          <el-input v-model="form.document" placeholder="请输入附件" />
127
+          <div v-if="form.document">
128
+            <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + form.document}`)">
129
+              {{ getFileName(form.document) }}
130
+            </el-link>
131
+            <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + form.document}`"
132
+              :underline="false" target="_blank">
133
+              <span class="el-icon-download">下载文件</span>
134
+            </el-link>
135
+          </div> 
136
+          <FileUpload :limit="1" :filePathName="expenseName" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']"
137
+            @input="getExpensePath"></FileUpload>
93 138
         </el-form-item>
94 139
       </el-form>
95 140
       <div slot="footer" class="dialog-footer">
@@ -102,11 +147,12 @@
102 147
 
103 148
 <script>
104 149
 import { listDeviceExpense, getDeviceExpense, delDeviceExpense, addDeviceExpense, updateDeviceExpense } from "@/api/oa/device/deviceExpense";
105
-
150
+import { listCar } from '@/api/oa/car/car'
106 151
 export default {
107 152
   name: "DeviceExpense",
108 153
   data() {
109 154
     return {
155
+      baseUrl: process.env.VUE_APP_BASE_API,
110 156
       // 遮罩层
111 157
       loading: true,
112 158
       // 选中数组
@@ -140,10 +186,13 @@ export default {
140 186
       form: {},
141 187
       // 表单校验
142 188
       rules: {
143
-      }
189
+      },
190
+      carList: [],
191
+      expenseName:''
144 192
     };
145 193
   },
146 194
   created() {
195
+    this.remoteMethod();
147 196
     this.getList();
148 197
   },
149 198
   methods: {
@@ -157,6 +206,15 @@ export default {
157 206
         this.loading = false;
158 207
       });
159 208
     },
209
+    remoteMethod(val) {
210
+      listCar({
211
+        pageNum: 1,
212
+        pageSize: 40,
213
+        licensePlate: val
214
+      }).then(res => {
215
+        this.carList = res.rows;
216
+      })
217
+    },
160 218
     // 取消按钮
161 219
     cancel() {
162 220
       this.open = false;
@@ -205,7 +263,8 @@ export default {
205 263
       getDeviceExpense(deviceExpenseId).then(response => {
206 264
         this.form = response.data;
207 265
         this.open = true;
208
-        this.title = "修改cmc设备费用";
266
+        this.title = "修改费用详情";
267
+        expenseTypePath(this.form.expenseType)
209 268
       });
210 269
     },
211 270
     /** 提交按钮 */
@@ -243,7 +302,48 @@ export default {
243 302
       this.download('oa/deviceExpense/export', {
244 303
         ...this.queryParams
245 304
       }, `deviceExpense_${new Date().getTime()}.xlsx`)
246
-    }
305
+    },
306
+    expenseTypeText(row) {
307
+      if (row == '0') {
308
+        return '保险费'
309
+      }
310
+      if (row == '1') {
311
+        return '维修/保养费'
312
+      }
313
+      if (row == '2') {
314
+        return '轮胎费'
315
+      }
316
+    },
317
+    typeStyle(row) {
318
+      if (row == '0') {
319
+        return 'primary'
320
+      }
321
+      if (row == '1') {
322
+        return 'warning'
323
+      }
324
+      if (row == '2') {
325
+        return 'success'
326
+      }
327
+    },
328
+    expenseTypePath(val) {
329
+      if (val == '0') {
330
+        this.expenseName = '车辆/费用/保险费'
331
+      }
332
+      if (val == '1') {
333
+        this.expenseName = '车辆/费用/维修保养费'
334
+      }
335
+      if (val == '2') {
336
+        this.expenseName = '车辆/费用/轮胎费'
337
+      }
338
+    },
339
+    //费用附件路径
340
+    getExpensePath(val) {
341
+      let arr = val.split('/upload')
342
+      this.form.document = arr[1]
343
+      if (val == "") {
344
+        this.form.document = ""
345
+      }
346
+    },
247 347
   }
248 348
 };
249 349
 </script>

+ 57
- 10
oa-ui/src/views/oa/car/scrap.vue 查看文件

@@ -1,8 +1,13 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
-      <el-form-item label="车辆id" prop="carId">
5
-        <el-input v-model="queryParams.carId" placeholder="请输入车辆id" clearable @keyup.enter.native="handleQuery" />
4
+      <el-form-item label="车牌号" prop="carId">
5
+        <el-select v-model="queryParams.carId" clearable filterable placeholder="请输入车牌号" :loading="loading"
6
+          @change="handleQuery">
7
+          <el-option v-for="car in carList" :key="car.carId" :label="car.licensePlate + '-' + car.brand"
8
+            :value="car.carId">
9
+          </el-option>
10
+        </el-select>
6 11
       </el-form-item>
7 12
       <el-form-item label="报废日期" prop="scrapDate">
8 13
         <el-date-picker clearable v-model="queryParams.scrapDate" type="date" value-format="yyyy-MM-dd"
@@ -37,7 +42,7 @@
37 42
 
38 43
     <el-table v-loading="loading" :data="deviceScrapList" @selection-change="handleSelectionChange">
39 44
       <el-table-column type="selection" width="55" align="center" />
40
-      <el-table-column label="车辆id" align="center" prop="carId" />
45
+      <el-table-column label="车牌号" align="center" prop="car.licensePlate" />
41 46
       <el-table-column label="原价值" align="center" prop="cost" />
42 47
       <el-table-column label="报废日期" align="center" prop="scrapDate" width="180">
43 48
         <template slot-scope="scope">
@@ -47,7 +52,13 @@
47 52
       <el-table-column label="报废原因" align="center" prop="reason" />
48 53
       <el-table-column label="处理结果" align="center" prop="deal" />
49 54
       <el-table-column label="备注" align="center" prop="remark" />
50
-      <el-table-column label="附件" align="center" prop="document" />
55
+      <el-table-column label="附件" prop="document">
56
+        <template slot-scope="scope">
57
+          <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + scope.row.document}`)">
58
+            {{ getFileName(scope.row.document) }}
59
+          </el-link>
60
+        </template>
61
+      </el-table-column>
51 62
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
52 63
         <template slot-scope="scope">
53 64
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
@@ -64,11 +75,16 @@
64 75
     <!-- 添加或修改cmc设备报废对话框 -->
65 76
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
66 77
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
67
-        <el-form-item label="车辆id" prop="carId">
68
-          <el-input v-model="form.carId" placeholder="请输入车辆id" />
78
+        <el-form-item label="车牌号" prop="carId">
79
+          <el-select v-model="form.carId" clearable filterable placeholder="请输入车牌号" :loading="loading">
80
+            <el-option v-for="car in carList" :key="car.carId" :label="car.licensePlate + '-' + car.brand"
81
+              :value="car.carId">
82
+            </el-option>
83
+          </el-select>
69 84
         </el-form-item>
70 85
         <el-form-item label="原价值" prop="cost">
71
-          <el-input v-model="form.cost" placeholder="请输入原价值" />
86
+          <el-input-number :controls="false" v-model="form.cost" placeholder="请输入原价值" />
87
+          <el-tag>元</el-tag>
72 88
         </el-form-item>
73 89
         <el-form-item label="报废日期" prop="scrapDate">
74 90
           <el-date-picker clearable v-model="form.scrapDate" type="date" value-format="yyyy-MM-dd"
@@ -85,7 +101,17 @@
85 101
           <el-input v-model="form.remark" placeholder="请输入备注" />
86 102
         </el-form-item>
87 103
         <el-form-item label="附件" prop="document">
88
-          <el-input v-model="form.document" placeholder="请输入附件" />
104
+          <div v-if="form.document">
105
+            <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + form.document}`)">
106
+              {{ getFileName(form.document) }}
107
+            </el-link>
108
+            <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + form.document}`"
109
+              :underline="false" target="_blank">
110
+              <span class="el-icon-download">下载文件</span>
111
+            </el-link>
112
+          </div>
113
+          <FileUpload :limit="1" :filePathName="'车辆/报废'" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']"
114
+            @input="getExpensePath"></FileUpload>
89 115
         </el-form-item>
90 116
       </el-form>
91 117
       <div slot="footer" class="dialog-footer">
@@ -98,11 +124,13 @@
98 124
 
99 125
 <script>
100 126
 import { listDeviceScrap, getDeviceScrap, delDeviceScrap, addDeviceScrap, updateDeviceScrap } from "@/api/oa/device/deviceScrap";
127
+import { listCar } from '@/api/oa/car/car'
101 128
 
102 129
 export default {
103 130
   name: "DeviceScrap",
104 131
   data() {
105 132
     return {
133
+      baseUrl: process.env.VUE_APP_BASE_API,
106 134
       // 遮罩层
107 135
       loading: true,
108 136
       // 选中数组
@@ -136,11 +164,13 @@ export default {
136 164
       form: {},
137 165
       // 表单校验
138 166
       rules: {
139
-      }
167
+      },
168
+      carList: []
140 169
     };
141 170
   },
142 171
   created() {
143 172
     this.getList();
173
+    this.remoteMethod();
144 174
   },
145 175
   methods: {
146 176
     /** 查询cmc设备报废列表 */
@@ -153,6 +183,15 @@ export default {
153 183
         this.loading = false;
154 184
       });
155 185
     },
186
+    remoteMethod(val) {
187
+      listCar({
188
+        pageNum: 1,
189
+        pageSize: 40,
190
+        licensePlate: val
191
+      }).then(res => {
192
+        this.carList = res.rows;
193
+      })
194
+    },
156 195
     // 取消按钮
157 196
     cancel() {
158 197
       this.open = false;
@@ -239,7 +278,15 @@ export default {
239 278
       this.download('oa/deviceScrap/export', {
240 279
         ...this.queryParams
241 280
       }, `deviceScrap_${new Date().getTime()}.xlsx`)
242
-    }
281
+    },
282
+    //费用附件路径
283
+    getExpensePath(val) {
284
+      let arr = val.split('/upload')
285
+      this.form.document = arr[1]
286
+      if (val == "") {
287
+        this.form.document = ""
288
+      }
289
+    },
243 290
   }
244 291
 };
245 292
 </script>

+ 46
- 104
oa-ui/src/views/oa/device/approval.vue 查看文件

@@ -15,8 +15,13 @@
15 15
           </el-option>
16 16
         </el-select>
17 17
       </el-form-item>
18
-      <el-form-item label="项目id" prop="projectId">
19
-        <el-input v-model="queryParams.projectId" placeholder="请输入项目id" clearable @keyup.enter.native="handleQuery" />
18
+      <el-form-item label="项目编号" prop="projectId">
19
+        <el-select v-model="queryParams.projectId" clearable filterable remote reserve-keyword placeholder="请输入项目编号"
20
+          :remote-method="remoteMethod" :loading="loading" style="width: 400px;">
21
+          <el-option v-for="project in projectList" :key="project.projectId"
22
+            :label="project.projectNumber + '-' + project.projectName" :value="project.projectId">
23
+          </el-option>
24
+        </el-select>
20 25
       </el-form-item>
21 26
       <el-form-item>
22 27
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -33,23 +38,27 @@
33 38
     </el-row>
34 39
 
35 40
     <el-table v-loading="loading" :data="deviceApprovalList" @selection-change="handleSelectionChange">
36
-      <el-table-column type="idnex" label="序号" width="55" align="center" />
37
-      <el-table-column label="申请人" align="center" prop="applier" >
41
+      <el-table-column type="index" label="序号" width="55" align="center" />
42
+      <el-table-column label="申请人" align="center" prop="applier">
38 43
         <template slot-scope="scope">
39 44
           {{ getUserName(scope.row.applier) }}
40 45
         </template>
41 46
       </el-table-column>
42
-      <el-table-column label="使用部门" align="center" prop="useDept" />
43
-      <el-table-column label="设备id" align="center" prop="devices" />
47
+      <el-table-column label="申请部门" align="center" prop="useDept" >
48
+        <template slot-scope="scope">
49
+          {{ getDeptName(scope.row.useDept) }}
50
+        </template>
51
+      </el-table-column>
44 52
       <!-- <el-table-column label="修改后设备id" align="center" prop="modifyDevices" /> -->
45
-      <el-table-column label="项目id" align="center" prop="projectId" />
46
-      <el-table-column label="申领事由" align="center" prop="applyReason" />
47
-      <el-table-column label="开始日期" align="center" prop="beginDate" width="180">
53
+      <el-table-column label="项目编号" align="center" prop="project.projectNumber" />
54
+      <el-table-column label="项目名称" align="center" prop="project.projectName" />
55
+      <el-table-column label="申领事由" align="center" prop="applyReason" show-overflow-tooltip />
56
+      <el-table-column label="开始日期" align="center" prop="beginDate" >
48 57
         <template slot-scope="scope">
49 58
           <span>{{ parseTime(scope.row.beginDate, '{y}-{m}-{d}') }}</span>
50 59
         </template>
51 60
       </el-table-column>
52
-      <el-table-column label="结束日期" align="center" prop="endDate" width="180">
61
+      <el-table-column label="结束日期" align="center" prop="endDate" >
53 62
         <template slot-scope="scope">
54 63
           <span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
55 64
         </template>
@@ -60,17 +69,17 @@
60 69
       <el-table-column label="调度员" align="center" prop="dispatcher" />
61 70
       <el-table-column label="调度审批意见" align="center" prop="dispatchComment" />
62 71
       <el-table-column label="预计设备成本" align="center" prop="estimateCost" /> -->
63
-      <el-table-column label="申请日期" align="center" prop="applyDate" width="180">
72
+      <el-table-column label="申请日期" align="center" prop="applyDate" >
64 73
         <template slot-scope="scope">
65 74
           <span>{{ parseTime(scope.row.applyDate, '{y}-{m}-{d}') }}</span>
66 75
         </template>
67 76
       </el-table-column>
68
-      <el-table-column label="确认日期" align="center" prop="confirmDate" width="180">
77
+      <el-table-column label="确认日期" align="center" prop="confirmDate" >
69 78
         <template slot-scope="scope">
70 79
           <span>{{ parseTime(scope.row.confirmDate, '{y}-{m}-{d}') }}</span>
71 80
         </template>
72 81
       </el-table-column>
73
-      <el-table-column label="归还日期" align="center" prop="returnDate" width="180">
82
+      <el-table-column label="归还日期" align="center" prop="returnDate" >
74 83
         <template slot-scope="scope">
75 84
           <span>{{ parseTime(scope.row.returnDate, '{y}-{m}-{d}') }}</span>
76 85
         </template>
@@ -104,103 +113,22 @@
104 113
       @pagination="getList" />
105 114
 
106 115
     <!-- 添加或修改cmc设备审批对话框 -->
107
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
108
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
109
-        <el-form-item label="申请人" prop="applier">
110
-          <el-input v-model="form.applier" placeholder="请输入申请人" />
111
-        </el-form-item>
112
-        <el-form-item label="使用部门" prop="useDept">
113
-          <el-input v-model="form.useDept" placeholder="请输入使用部门" />
114
-        </el-form-item>
115
-        <el-form-item label="设备id" prop="devices">
116
-          <el-input v-model="form.devices" placeholder="请输入设备id" />
117
-        </el-form-item>
118
-        <el-form-item label="修改后设备id" prop="modifyDevices">
119
-          <el-input v-model="form.modifyDevices" placeholder="请输入修改后设备id" />
120
-        </el-form-item>
121
-        <el-form-item label="项目id" prop="projectId">
122
-          <el-input v-model="form.projectId" placeholder="请输入项目id" />
123
-        </el-form-item>
124
-        <el-form-item label="申领事由" prop="applyReason">
125
-          <el-input v-model="form.applyReason" placeholder="请输入申领事由" />
126
-        </el-form-item>
127
-        <el-form-item label="开始日期" prop="beginDate">
128
-          <el-date-picker clearable v-model="form.beginDate" type="date" value-format="yyyy-MM-dd"
129
-            placeholder="请选择开始日期">
130
-          </el-date-picker>
131
-        </el-form-item>
132
-        <el-form-item label="结束日期" prop="endDate">
133
-          <el-date-picker clearable v-model="form.endDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择结束日期">
134
-          </el-date-picker>
135
-        </el-form-item>
136
-        <el-form-item label="天数" prop="days">
137
-          <el-input v-model="form.days" placeholder="请输入天数" />
138
-        </el-form-item>
139
-        <el-form-item label="分管审批人" prop="managerUserId">
140
-          <el-input v-model="form.managerUserId" placeholder="请输入分管审批人" />
141
-        </el-form-item>
142
-        <el-form-item label="分管审批意见" prop="managerComment">
143
-          <el-input v-model="form.managerComment" placeholder="请输入分管审批意见" />
144
-        </el-form-item>
145
-        <el-form-item label="调度员" prop="dispatcher">
146
-          <el-input v-model="form.dispatcher" placeholder="请输入调度员" />
147
-        </el-form-item>
148
-        <el-form-item label="调度审批意见" prop="dispatchComment">
149
-          <el-input v-model="form.dispatchComment" placeholder="请输入调度审批意见" />
150
-        </el-form-item>
151
-        <el-form-item label="预计设备成本" prop="estimateCost">
152
-          <el-input v-model="form.estimateCost" placeholder="请输入预计设备成本" />
153
-        </el-form-item>
154
-        <el-form-item label="申请日期" prop="applyDate">
155
-          <el-date-picker clearable v-model="form.applyDate" type="date" value-format="yyyy-MM-dd"
156
-            placeholder="请选择申请日期">
157
-          </el-date-picker>
158
-        </el-form-item>
159
-        <el-form-item label="确认日期" prop="confirmDate">
160
-          <el-date-picker clearable v-model="form.confirmDate" type="date" value-format="yyyy-MM-dd"
161
-            placeholder="请选择确认日期">
162
-          </el-date-picker>
163
-        </el-form-item>
164
-        <el-form-item label="归还日期" prop="returnDate">
165
-          <el-date-picker clearable v-model="form.returnDate" type="date" value-format="yyyy-MM-dd"
166
-            placeholder="请选择归还日期">
167
-          </el-date-picker>
168
-        </el-form-item>
169
-        <el-form-item label="需维修设备id" prop="repairDevices">
170
-          <el-input v-model="form.repairDevices" placeholder="请输入需维修设备id" />
171
-        </el-form-item>
172
-        <el-form-item label="备注说明" prop="remark">
173
-          <el-input v-model="form.remark" placeholder="请输入备注说明" />
174
-        </el-form-item>
175
-        <el-form-item label="部门审批时间" prop="deptTime">
176
-          <el-date-picker clearable v-model="form.deptTime" type="date" value-format="yyyy-MM-dd"
177
-            placeholder="请选择部门审批时间">
178
-          </el-date-picker>
179
-        </el-form-item>
180
-        <el-form-item label="分管审批时间" prop="managerTime">
181
-          <el-date-picker clearable v-model="form.managerTime" type="date" value-format="yyyy-MM-dd"
182
-            placeholder="请选择分管审批时间">
183
-          </el-date-picker>
184
-        </el-form-item>
185
-        <el-form-item label="调度审批时间" prop="dispatchTime">
186
-          <el-date-picker clearable v-model="form.dispatchTime" type="date" value-format="yyyy-MM-dd"
187
-            placeholder="请选择调度审批时间">
188
-          </el-date-picker>
189
-        </el-form-item>
190
-      </el-form>
191
-      <div slot="footer" class="dialog-footer">
192
-        <el-button type="primary" @click="submitForm">确 定</el-button>
193
-        <el-button @click="cancel">取 消</el-button>
194
-      </div>
116
+    <el-dialog :title="title" :visible.sync="open" width="65%" append-to-body>
117
+      <device-form :taskForm="taskForm" :taskName="''" :flowDisabled="false"></device-form>
195 118
     </el-dialog>
196 119
   </div>
197 120
 </template>
198 121
 
199 122
 <script>
200 123
 import { listDeviceApproval, getDeviceApproval, delDeviceApproval, addDeviceApproval, updateDeviceApproval } from "@/api/oa/device/deviceApproval";
124
+import { listProject } from '@/api/oa/project/project';
125
+import DeviceForm from '../../flowable/form/oa/deviceForm.vue';
201 126
 
202 127
 export default {
203 128
   name: "DeviceApproval",
129
+  components: {
130
+    DeviceForm
131
+  },
204 132
   data() {
205 133
     return {
206 134
       // 遮罩层
@@ -251,7 +179,11 @@ export default {
251 179
       form: {},
252 180
       // 表单校验
253 181
       rules: {
254
-      }
182
+      },
183
+      projectList: [],
184
+      taskForm: {
185
+        formId: ''
186
+      },
255 187
     };
256 188
   },
257 189
   created() {
@@ -267,6 +199,15 @@ export default {
267 199
         this.loading = false;
268 200
       });
269 201
     },
202
+    remoteMethod(val) {
203
+      listProject({
204
+        pageNum: 1,
205
+        pageSize: 20,
206
+        projectNumber: val
207
+      }).then(res => {
208
+        this.projectList = res.rows;
209
+      })
210
+    },
270 211
     // 取消按钮
271 212
     cancel() {
272 213
       this.open = false;
@@ -323,8 +264,9 @@ export default {
323 264
       this.open = true;
324 265
       this.title = "添加cmc设备审批";
325 266
     },
326
-    handleView(row){
327
-
267
+    handleView(row) {
268
+      this.open = true;
269
+      this.taskForm.formId = row.deviceApplyId
328 270
     },
329 271
     /** 修改按钮操作 */
330 272
     handleUpdate(row) {

+ 149
- 20
oa-ui/src/views/oa/device/expense.vue 查看文件

@@ -1,8 +1,13 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
-      <el-form-item label="设备id" prop="deviceId">
5
-        <el-input v-model="queryParams.deviceId" placeholder="请输入设备id" clearable @keyup.enter.native="handleQuery" />
4
+      <el-form-item label="设备品牌" prop="deviceId">
5
+        <el-select v-model="queryParams.deviceId" clearable filterable remote reserve-keyword placeholder="请输入设备品牌"
6
+          :remote-method="remoteMethod" :loading="loading" style="width: 400px;">
7
+          <el-option v-for="device in deviceList" :key="device.deviceId"
8
+            :label="device.name + '-' + device.series + '-' + device.code" :value="device.deviceId">
9
+          </el-option>
10
+        </el-select>
6 11
       </el-form-item>
7 12
       <el-form-item label="负责人" prop="userId">
8 13
         <el-select v-model="queryParams.userId" filterable clearable @change="handleQuery">
@@ -44,13 +49,21 @@
44 49
 
45 50
     <el-table v-loading="loading" :data="deviceExpenseList" @selection-change="handleSelectionChange">
46 51
       <el-table-column type="selection" width="55" align="center" />
47
-      <el-table-column label="设备id" align="center" prop="deviceId" />
52
+      <el-table-column label="设备类型" align="center" prop="device.name" />
53
+      <el-table-column label="设备品牌" align="center" prop="device.brand" />
54
+      <el-table-column label="规格型号" align="center" prop="device.series" />
55
+      <el-table-column label="出厂编号" align="center" prop="device.code" />
48 56
       <el-table-column label="负责人" align="center" prop="userId">
49 57
         <template slot-scope="scope">
50 58
           {{ getUserName(scope.row.userId) }}
51 59
         </template>
52 60
       </el-table-column>
53
-      <el-table-column label="费用类型" align="center" prop="expenseType" />
61
+      <el-table-column label="费用类型" align="center" prop="expenseType">
62
+        <template slot-scope="scope">
63
+          <el-tag :type="expenseTypeStyle(scope.row.expenseType)">{{ expenseTypeText(scope.row.expenseType)
64
+            }}</el-tag>
65
+        </template>
66
+      </el-table-column>
54 67
       <el-table-column label="费用金额" align="center" prop="expense" />
55 68
       <el-table-column label="发生日期" align="center" prop="occurDate" width="180">
56 69
         <template slot-scope="scope">
@@ -58,11 +71,15 @@
58 71
         </template>
59 72
       </el-table-column>
60 73
       <el-table-column label="备注" align="center" prop="remark" />
61
-      <el-table-column label="附件" align="center" prop="document" />
74
+      <el-table-column label="附件" align="center" prop="document">
75
+        <template slot-scope="scope">
76
+          <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + scope.row.document}`)">
77
+            {{ getFileName(scope.row.document) }}
78
+          </el-link>
79
+        </template>
80
+      </el-table-column>
62 81
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
63 82
         <template slot-scope="scope">
64
-          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleView(scope.row)"
65
-            v-hasPermi="['device:record:query']">查看</el-button>
66 83
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
67 84
             v-hasPermi="['device:record:edit']">修改</el-button>
68 85
           <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
@@ -75,16 +92,33 @@
75 92
       @pagination="getList" />
76 93
 
77 94
     <!-- 添加或修改cmc设备费用对话框 -->
78
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
95
+    <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
79 96
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
80
-        <el-form-item label="设备id" prop="deviceId">
81
-          <el-input v-model="form.deviceId" placeholder="请输入设备id" />
97
+        <el-form-item label="设备" prop="deviceId">
98
+          <el-select style="width: 90%;" v-model="form.deviceId" filterable placeholder="请选择" clearable disabled>
99
+            <el-option v-for="item in alldeviceList" :key="item.deviceId" :disabled="item.status != 1" :label="item.name + '【' + (item.brand != null ? item.brand : '') + (item.series != null ? '-' + item.series + '】' : '')
100
+      + (item.code != null ? '(设备编号:' + item.code + ')' : '') + '📍' + item.place" :value="item.deviceId">
101
+            </el-option>
102
+          </el-select>
103
+          <el-button type="primary" icon="el-icon-plus" size="mini" @click="openDevice = true">选择设备</el-button>
104
+        </el-form-item>
105
+        <el-form-item label="负责人" prop="userId">
106
+          <el-select v-model="form.userId" filterable clearable @change="handleQuery">
107
+            <el-option v-for="item in $store.state.user.userList" :key="item.userId" :label="item.nickName"
108
+              :value="item.userId">
109
+            </el-option>
110
+          </el-select>
82 111
         </el-form-item>
83
-        <el-form-item label="负责人id" prop="userId">
84
-          <el-input v-model="form.userId" placeholder="请输入负责人id" />
112
+        <el-form-item label="费用类型" prop="expenseType">
113
+          <el-select v-model="form.expenseType" placeholder="请选择" clearable @change="expenseTypePath">
114
+            <el-option label="保险费" value="0"></el-option>
115
+            <el-option label="维修/保养费" value="1"></el-option>
116
+            <el-option label="检定费" value="2"></el-option>
117
+          </el-select>
85 118
         </el-form-item>
86 119
         <el-form-item label="费用金额" prop="expense">
87
-          <el-input v-model="form.expense" placeholder="请输入费用金额" />
120
+          <el-input-number :controls="false" v-model="form.expense" placeholder="请输入费用金额" style="width:150px" />
121
+          <el-tag>元</el-tag>
88 122
         </el-form-item>
89 123
         <el-form-item label="发生日期" prop="occurDate">
90 124
           <el-date-picker clearable v-model="form.occurDate" type="date" value-format="yyyy-MM-dd"
@@ -92,10 +126,20 @@
92 126
           </el-date-picker>
93 127
         </el-form-item>
94 128
         <el-form-item label="备注" prop="remark">
95
-          <el-input v-model="form.remark" placeholder="请输入备注" />
129
+          <el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
96 130
         </el-form-item>
97 131
         <el-form-item label="附件" prop="document">
98
-          <el-input v-model="form.document" placeholder="请输入附件" />
132
+          <div v-if="form.document">
133
+            <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + form.document}`)">
134
+              {{ getFileName(form.document) }}
135
+            </el-link>
136
+            <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + form.document}`"
137
+              :underline="false" target="_blank">
138
+              <span class="el-icon-download">下载文件</span>
139
+            </el-link>
140
+          </div>
141
+          <FileUpload :limit="1" :filePathName="expenseName" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']"
142
+            @input="getExpensePath"></FileUpload>
99 143
         </el-form-item>
100 144
       </el-form>
101 145
       <div slot="footer" class="dialog-footer">
@@ -103,16 +147,26 @@
103 147
         <el-button @click="cancel">取 消</el-button>
104 148
       </div>
105 149
     </el-dialog>
150
+
151
+    <el-dialog title="选择设备" :visible.sync="openDevice" width="70%" append-to-body>
152
+      <choose-device @chooseList="confirmDevice"></choose-device>
153
+    </el-dialog>
106 154
   </div>
107 155
 </template>
108 156
 
109 157
 <script>
110 158
 import { listDeviceExpense, getDeviceExpense, delDeviceExpense, addDeviceExpense, updateDeviceExpense } from "@/api/oa/device/deviceExpense";
159
+import { listDevice } from "@/api/oa/device/device"
160
+import ChooseDevice from '../../flowable/form/budget/components/chooseDevice.vue';
111 161
 
112 162
 export default {
113 163
   name: "DeviceExpense",
164
+  components: {
165
+    ChooseDevice
166
+  },
114 167
   data() {
115 168
     return {
169
+      baseUrl: process.env.VUE_APP_BASE_API,
116 170
       // 遮罩层
117 171
       loading: true,
118 172
       // 选中数组
@@ -146,11 +200,16 @@ export default {
146 200
       form: {},
147 201
       // 表单校验
148 202
       rules: {
149
-      }
203
+      },
204
+      deviceList: [],
205
+      alldeviceList: [],
206
+      openDevice: false,
207
+      expenseName:''
150 208
     };
151 209
   },
152 210
   created() {
153 211
     this.getList();
212
+    this.getAllDevice();
154 213
   },
155 214
   methods: {
156 215
     /** 查询cmc设备费用列表 */
@@ -163,6 +222,23 @@ export default {
163 222
         this.loading = false;
164 223
       });
165 224
     },
225
+    getAllDevice() {
226
+      listDevice({
227
+        pageNum: 1,
228
+        pageSize: 99999,
229
+      }).then(res => {
230
+        this.alldeviceList = res.rows;
231
+      })
232
+    },
233
+    remoteMethod(val) {
234
+      listDevice({
235
+        pageNum: 1,
236
+        pageSize: 50,
237
+        brand: val
238
+      }).then(res => {
239
+        this.deviceList = res.rows;
240
+      })
241
+    },
166 242
     // 取消按钮
167 243
     cancel() {
168 244
       this.open = false;
@@ -202,9 +278,9 @@ export default {
202 278
     handleAdd() {
203 279
       this.reset();
204 280
       this.open = true;
205
-      this.title = "添加cmc设备费用";
281
+      this.title = "新增设备维保记录";
206 282
     },
207
-    handleView(row){
283
+    handleView(row) {
208 284
 
209 285
     },
210 286
     /** 修改按钮操作 */
@@ -214,7 +290,8 @@ export default {
214 290
       getDeviceExpense(deviceExpenseId).then(response => {
215 291
         this.form = response.data;
216 292
         this.open = true;
217
-        this.title = "修改cmc设备费用";
293
+        this.title = "修改设备维保记录";
294
+        expenseTypePath(this.form.expenseType);
218 295
       });
219 296
     },
220 297
     /** 提交按钮 */
@@ -252,7 +329,59 @@ export default {
252 329
       this.download('oa/deviceExpense/export', {
253 330
         ...this.queryParams
254 331
       }, `deviceExpense_${new Date().getTime()}.xlsx`)
255
-    }
332
+    },
333
+    expenseTypeText(row) {
334
+      if (row == '0') {
335
+        return '保险费'
336
+      }
337
+      if (row == '1') {
338
+        return '维修/保养费'
339
+      }
340
+      if (row == '2') {
341
+        return '检定费'
342
+      }
343
+    },
344
+    expenseTypeStyle(row) {
345
+      if (row == '0') {
346
+        return 'primary'
347
+      }
348
+      if (row == '1') {
349
+        return 'warning'
350
+      }
351
+      if (row == '2') {
352
+        return 'success'
353
+      }
354
+    },
355
+    expenseTypePath(val) {
356
+      if (val == '0') {
357
+        this.expenseName = '设备/保险费'
358
+      }
359
+      if (val == '1') {
360
+        this.expenseName = '设备/维修保养费'
361
+      }
362
+      if (val == '2') {
363
+        this.expenseName = '设备/检定费'
364
+      }
365
+    },
366
+    confirmDevice(val) {
367
+      if (val && val.length > 1) {
368
+        return this.$message.error('请选择一个设备')
369
+      }
370
+
371
+      this.form.deviceId = val[0].deviceId
372
+      this.openDevice = false;
373
+    },
374
+    //费用附件路径
375
+    getExpensePath(val) {
376
+      let arr = val.split('/upload')
377
+      this.form.document = arr[1]
378
+      if (val == "") {
379
+        this.form.document = ""
380
+      }
381
+    },
256 382
   }
257 383
 };
258 384
 </script>
385
+<style lang="scss" scoped>
386
+@import "@/assets/styles/element-reset.scss";
387
+</style>

+ 95
- 14
oa-ui/src/views/oa/device/scrap.vue 查看文件

@@ -1,8 +1,13 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
-      <el-form-item label="设备id" prop="deviceId">
5
-        <el-input v-model="queryParams.deviceId" placeholder="请输入设备id" clearable @keyup.enter.native="handleQuery" />
4
+      <el-form-item label="设备品牌" prop="deviceId">
5
+        <el-select v-model="queryParams.deviceId" clearable filterable remote reserve-keyword placeholder="请输入设备品牌"
6
+          :remote-method="remoteMethod" :loading="loading" style="width: 400px;">
7
+          <el-option v-for="device in deviceList" :key="device.deviceId"
8
+            :label="device.name + '-' + device.series + '-' + device.code" :value="device.deviceId">
9
+          </el-option>
10
+        </el-select>
6 11
       </el-form-item>
7 12
       <el-form-item label="报废日期" prop="scrapDate">
8 13
         <el-date-picker clearable v-model="queryParams.scrapDate" type="date" value-format="yyyy-MM-dd"
@@ -37,7 +42,10 @@
37 42
 
38 43
     <el-table v-loading="loading" :data="deviceScrapList" @selection-change="handleSelectionChange">
39 44
       <el-table-column type="selection" width="55" align="center" />
40
-      <el-table-column label="设备id" align="center" prop="deviceId" />
45
+      <el-table-column label="设备类型" align="center" prop="device.name" />
46
+      <el-table-column label="设备品牌" align="center" prop="device.brand" />
47
+      <el-table-column label="规格型号" align="center" prop="device.series" />
48
+      <el-table-column label="出厂编号" align="center" prop="device.code" />
41 49
       <el-table-column label="原价值" align="center" prop="cost" />
42 50
       <el-table-column label="报废日期" align="center" prop="scrapDate" width="180">
43 51
         <template slot-scope="scope">
@@ -47,7 +55,13 @@
47 55
       <el-table-column label="报废原因" align="center" prop="reason" />
48 56
       <el-table-column label="处理结果" align="center" prop="deal" />
49 57
       <el-table-column label="备注" align="center" prop="remark" />
50
-      <el-table-column label="附件" align="center" prop="document" />
58
+      <el-table-column label="附件" prop="document">
59
+        <template slot-scope="scope">
60
+          <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + scope.row.document}`)">
61
+            {{ getFileName(scope.row.document) }}
62
+          </el-link>
63
+        </template>
64
+      </el-table-column>
51 65
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
52 66
         <template slot-scope="scope">
53 67
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
@@ -62,13 +76,19 @@
62 76
       @pagination="getList" />
63 77
 
64 78
     <!-- 添加或修改cmc设备报废对话框 -->
65
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
79
+    <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
66 80
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
67
-        <el-form-item label="设备id" prop="deviceId">
68
-          <el-input v-model="form.deviceId" placeholder="请输入设备id" />
81
+        <el-form-item label="设备" prop="deviceId">
82
+          <el-select style="width: 90%;" v-model="form.deviceId" filterable placeholder="请选择" clearable disabled>
83
+            <el-option v-for="item in alldeviceList" :key="item.deviceId" :disabled="item.status != 1" :label="item.name + '【' + (item.brand != null ? item.brand : '') + (item.series != null ? '-' + item.series + '】' : '')
84
+      + (item.code != null ? '(设备编号:' + item.code + ')' : '') + '📍' + item.place" :value="item.deviceId">
85
+            </el-option>
86
+          </el-select>
87
+          <el-button type="primary" icon="el-icon-plus" size="mini" @click="openDevice = true">选择设备</el-button>
69 88
         </el-form-item>
70 89
         <el-form-item label="原价值" prop="cost">
71
-          <el-input v-model="form.cost" placeholder="请输入原价值" />
90
+          <el-input-number :controls="false" v-model="form.cost" placeholder="请输入原价值" />
91
+          <el-tag>元</el-tag>
72 92
         </el-form-item>
73 93
         <el-form-item label="报废日期" prop="scrapDate">
74 94
           <el-date-picker clearable v-model="form.scrapDate" type="date" value-format="yyyy-MM-dd"
@@ -82,10 +102,20 @@
82 102
           <el-input v-model="form.deal" placeholder="请输入处理结果" />
83 103
         </el-form-item>
84 104
         <el-form-item label="备注" prop="remark">
85
-          <el-input v-model="form.remark" placeholder="请输入备注" />
105
+          <el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
86 106
         </el-form-item>
87 107
         <el-form-item label="附件" prop="document">
88
-          <el-input v-model="form.document" placeholder="请输入附件" />
108
+          <div v-if="form.document">
109
+            <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + form.document}`)">
110
+              {{ getFileName(form.document) }}
111
+            </el-link>
112
+            <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + form.document}`"
113
+              :underline="false" target="_blank">
114
+              <span class="el-icon-download">下载文件</span>
115
+            </el-link>
116
+          </div>
117
+          <FileUpload :limit="1" :filePathName="'设备/报废'" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']"
118
+            @input="getExpensePath"></FileUpload>
89 119
         </el-form-item>
90 120
       </el-form>
91 121
       <div slot="footer" class="dialog-footer">
@@ -93,16 +123,26 @@
93 123
         <el-button @click="cancel">取 消</el-button>
94 124
       </div>
95 125
     </el-dialog>
126
+
127
+    <el-dialog title="选择设备" :visible.sync="openDevice" width="70%" append-to-body>
128
+      <choose-device @chooseList="confirmDevice"></choose-device>
129
+    </el-dialog>
96 130
   </div>
97 131
 </template>
98 132
 
99 133
 <script>
100 134
 import { listDeviceScrap, getDeviceScrap, delDeviceScrap, addDeviceScrap, updateDeviceScrap } from "@/api/oa/device/deviceScrap";
135
+import { listDevice } from "@/api/oa/device/device"
136
+import ChooseDevice from '../../flowable/form/budget/components/chooseDevice.vue';
101 137
 
102 138
 export default {
103 139
   name: "DeviceScrap",
140
+  components: {
141
+    ChooseDevice
142
+  },
104 143
   data() {
105 144
     return {
145
+      baseUrl: process.env.VUE_APP_BASE_API,
106 146
       // 遮罩层
107 147
       loading: true,
108 148
       // 选中数组
@@ -136,11 +176,16 @@ export default {
136 176
       form: {},
137 177
       // 表单校验
138 178
       rules: {
139
-      }
179
+      },
180
+      deviceList: [],
181
+      alldeviceList: [],
182
+      openDevice: false,
183
+      expenseName: ''
140 184
     };
141 185
   },
142 186
   created() {
143 187
     this.getList();
188
+    this.getAllDevice();
144 189
   },
145 190
   methods: {
146 191
     /** 查询cmc设备报废列表 */
@@ -153,6 +198,23 @@ export default {
153 198
         this.loading = false;
154 199
       });
155 200
     },
201
+    getAllDevice() {
202
+      listDevice({
203
+        pageNum: 1,
204
+        pageSize: 99999,
205
+      }).then(res => {
206
+        this.alldeviceList = res.rows;
207
+      })
208
+    },
209
+    remoteMethod(val) {
210
+      listDevice({
211
+        pageNum: 1,
212
+        pageSize: 50,
213
+        brand: val
214
+      }).then(res => {
215
+        this.deviceList = res.rows;
216
+      })
217
+    },
156 218
     // 取消按钮
157 219
     cancel() {
158 220
       this.open = false;
@@ -192,7 +254,7 @@ export default {
192 254
     handleAdd() {
193 255
       this.reset();
194 256
       this.open = true;
195
-      this.title = "添加cmc设备报废";
257
+      this.title = "添加报废设备";
196 258
     },
197 259
     /** 修改按钮操作 */
198 260
     handleUpdate(row) {
@@ -201,7 +263,7 @@ export default {
201 263
       getDeviceScrap(deviceScrapId).then(response => {
202 264
         this.form = response.data;
203 265
         this.open = true;
204
-        this.title = "修改cmc设备报废";
266
+        this.title = "修改报废设备";
205 267
       });
206 268
     },
207 269
     /** 提交按钮 */
@@ -239,7 +301,26 @@ export default {
239 301
       this.download('oa/deviceScrap/export', {
240 302
         ...this.queryParams
241 303
       }, `deviceScrap_${new Date().getTime()}.xlsx`)
242
-    }
304
+    },
305
+    confirmDevice(val) {
306
+      if (val && val.length > 1) {
307
+        return this.$message.error('请选择一个设备')
308
+      }
309
+
310
+      this.form.deviceId = val[0].deviceId
311
+      this.openDevice = false;
312
+    },
313
+    //费用附件路径
314
+    getExpensePath(val) {
315
+      let arr = val.split('/upload')
316
+      this.form.document = arr[1]
317
+      if (val == "") {
318
+        this.form.document = ""
319
+      }
320
+    },
243 321
   }
244 322
 };
245 323
 </script>
324
+<style lang="scss" scoped>
325
+@import "@/assets/styles/element-reset.scss";
326
+</style>

+ 35
- 158
oa-ui/src/views/oa/settle/index.vue 查看文件

@@ -1,8 +1,13 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
-      <el-form-item label="项目id" prop="projectId">
5
-        <el-input v-model="queryParams.projectId" placeholder="请输入项目id" clearable @keyup.enter.native="handleQuery" />
4
+      <el-form-item label="项目编号" prop="projectId">
5
+        <el-select v-model="queryParams.projectId" clearable filterable remote reserve-keyword placeholder="请输入项目编号"
6
+          :remote-method="remoteMethod" :loading="loading" style="width: 400px;">
7
+          <el-option v-for="project in projectList" :key="project.projectId"
8
+            :label="project.projectNumber + '-' + project.projectName" :value="project.projectId">
9
+          </el-option>
10
+        </el-select>
6 11
       </el-form-item>
7 12
       <el-form-item label="上报人" prop="reporter">
8 13
         <el-select v-model="queryParams.reporter" filterable clearable @change="handleQuery">
@@ -18,12 +23,11 @@
18 23
       </el-form-item>
19 24
       <el-form-item>
20 25
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
21
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
22 26
       </el-form-item>
23 27
     </el-form>
24 28
 
25 29
     <el-row :gutter="10" class="mb8">
26
-      <el-col :span="1.5">
30
+      <!-- <el-col :span="1.5">
27 31
         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
28 32
           v-hasPermi="['oa:settle:add']">新增</el-button>
29 33
       </el-col>
@@ -34,7 +38,7 @@
34 38
       <el-col :span="1.5">
35 39
         <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
36 40
           v-hasPermi="['oa:settle:remove']">删除</el-button>
37
-      </el-col>
41
+      </el-col> -->
38 42
       <el-col :span="1.5">
39 43
         <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
40 44
           v-hasPermi="['oa:settle:export']">导出</el-button>
@@ -45,7 +49,11 @@
45 49
     <el-table v-loading="loading" :data="settleList" @selection-change="handleSelectionChange">
46 50
       <el-table-column type="index" label="序号" width="55" align="center" />
47 51
       <el-table-column label="项目id" align="center" prop="projectId" />
48
-      <el-table-column label="上报人" align="center" prop="reporter" />
52
+      <el-table-column label="上报人" align="center" prop="reporter">
53
+        <template slot-scope="scope">
54
+          {{ getUserName(scope.row.reporter) }}
55
+        </template>
56
+      </el-table-column>
49 57
       <el-table-column label="上报日期" align="center" prop="reportTime" width="180">
50 58
         <template slot-scope="scope">
51 59
           <span>{{ parseTime(scope.row.reportTime, '{y}-{m}-{d}') }}</span>
@@ -53,55 +61,6 @@
53 61
       </el-table-column>
54 62
       <el-table-column label="工作量上报说明" align="center" prop="workloadReport" />
55 63
       <el-table-column label="结算说明" align="center" prop="settleComment" />
56
-      <!-- <el-table-column label="综合事务部审核人" align="center" prop="zhUserId" />
57
-      <el-table-column label="综合事务部审核日期" align="center" prop="zhTime" width="180">
58
-        <template slot-scope="scope">
59
-          <span>{{ parseTime(scope.row.zhTime, '{y}-{m}-{d}') }}</span>
60
-        </template>
61
-      </el-table-column>
62
-      <el-table-column label="综合事务部审核意见" align="center" prop="zhComment" />
63
-      <el-table-column label="技术质量部审核人" align="center" prop="jsUserId" />
64
-      <el-table-column label="技术质量部审核日期" align="center" prop="jsTime" width="180">
65
-        <template slot-scope="scope">
66
-          <span>{{ parseTime(scope.row.jsTime, '{y}-{m}-{d}') }}</span>
67
-        </template>
68
-      </el-table-column>
69
-      <el-table-column label="技术质量部审核意见" align="center" prop="jsComment" />
70
-      <el-table-column label="项目管理部审核人" align="center" prop="xmUserId" />
71
-      <el-table-column label="项目管理部审核日期" align="center" prop="xmTime" width="180">
72
-        <template slot-scope="scope">
73
-          <span>{{ parseTime(scope.row.xmTime, '{y}-{m}-{d}') }}</span>
74
-        </template>
75
-      </el-table-column>
76
-      <el-table-column label="项目管理部审核意见" align="center" prop="xmComment" />
77
-      <el-table-column label="承担部门审核人" align="center" prop="deptUserId" />
78
-      <el-table-column label="承担部门审核日期" align="center" prop="deptTime" width="180">
79
-        <template slot-scope="scope">
80
-          <span>{{ parseTime(scope.row.deptTime, '{y}-{m}-{d}') }}</span>
81
-        </template>
82
-      </el-table-column>
83
-      <el-table-column label="承担部门审核意见" align="center" prop="deptComment" />
84
-      <el-table-column label="经营发展部审核人" align="center" prop="jyUserId" />
85
-      <el-table-column label="经营发展部审核日期" align="center" prop="jyTime" width="180">
86
-        <template slot-scope="scope">
87
-          <span>{{ parseTime(scope.row.jyTime, '{y}-{m}-{d}') }}</span>
88
-        </template>
89
-      </el-table-column>
90
-      <el-table-column label="经营发展部审核意见" align="center" prop="jyComment" />
91
-      <el-table-column label="分管审核人" align="center" prop="managerUserId" />
92
-      <el-table-column label="分管审核日期" align="center" prop="managerTime" width="180">
93
-        <template slot-scope="scope">
94
-          <span>{{ parseTime(scope.row.managerTime, '{y}-{m}-{d}') }}</span>
95
-        </template>
96
-      </el-table-column>
97
-      <el-table-column label="分管审核意见" align="center" prop="managerComment" />
98
-      <el-table-column label="总经理审核人" align="center" prop="gmUserId" />
99
-      <el-table-column label="总经理审核日期" align="center" prop="gmTime" width="180">
100
-        <template slot-scope="scope">
101
-          <span>{{ parseTime(scope.row.gmTime, '{y}-{m}-{d}') }}</span>
102
-        </template>
103
-      </el-table-column>
104
-      <el-table-column label="总经理审核意见" align="center" prop="gmComment" /> -->
105 64
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
106 65
         <template slot-scope="scope">
107 66
           <el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)"
@@ -118,115 +77,19 @@
118 77
       @pagination="getList" />
119 78
 
120 79
     <!-- 添加或修改cmc结算审批对话框 -->
121
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
122
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
123
-        <el-form-item label="项目id" prop="projectId">
124
-          <el-input v-model="form.projectId" placeholder="请输入项目id" />
125
-        </el-form-item>
126
-        <el-form-item label="工作量上报说明" prop="workloadReport">
127
-          <el-input v-model="form.workloadReport" placeholder="请输入工作量上报说明" />
128
-        </el-form-item>
129
-        <el-form-item label="上报人" prop="reporter">
130
-          <el-input v-model="form.reporter" placeholder="请输入上报人" />
131
-        </el-form-item>
132
-        <el-form-item label="上报日期" prop="reportTime">
133
-          <el-date-picker clearable v-model="form.reportTime" type="date" value-format="yyyy-MM-dd"
134
-            placeholder="请选择上报日期">
135
-          </el-date-picker>
136
-        </el-form-item>
137
-        <el-form-item label="结算说明" prop="settleComment">
138
-          <el-input v-model="form.settleComment" placeholder="请输入结算说明" />
139
-        </el-form-item>
140
-        <el-form-item label="综合事务部审核人" prop="zhUserId">
141
-          <el-input v-model="form.zhUserId" placeholder="请输入综合事务部审核人" />
142
-        </el-form-item>
143
-        <el-form-item label="综合事务部审核日期" prop="zhTime">
144
-          <el-date-picker clearable v-model="form.zhTime" type="date" value-format="yyyy-MM-dd"
145
-            placeholder="请选择综合事务部审核日期">
146
-          </el-date-picker>
147
-        </el-form-item>
148
-        <el-form-item label="综合事务部审核意见" prop="zhComment">
149
-          <el-input v-model="form.zhComment" placeholder="请输入综合事务部审核意见" />
150
-        </el-form-item>
151
-        <el-form-item label="技术质量部审核人" prop="jsUserId">
152
-          <el-input v-model="form.jsUserId" placeholder="请输入技术质量部审核人" />
153
-        </el-form-item>
154
-        <el-form-item label="技术质量部审核日期" prop="jsTime">
155
-          <el-date-picker clearable v-model="form.jsTime" type="date" value-format="yyyy-MM-dd"
156
-            placeholder="请选择技术质量部审核日期">
157
-          </el-date-picker>
158
-        </el-form-item>
159
-        <el-form-item label="技术质量部审核意见" prop="jsComment">
160
-          <el-input v-model="form.jsComment" placeholder="请输入技术质量部审核意见" />
161
-        </el-form-item>
162
-        <el-form-item label="项目管理部审核人" prop="xmUserId">
163
-          <el-input v-model="form.xmUserId" placeholder="请输入项目管理部审核人" />
164
-        </el-form-item>
165
-        <el-form-item label="项目管理部审核日期" prop="xmTime">
166
-          <el-date-picker clearable v-model="form.xmTime" type="date" value-format="yyyy-MM-dd"
167
-            placeholder="请选择项目管理部审核日期">
168
-          </el-date-picker>
169
-        </el-form-item>
170
-        <el-form-item label="项目管理部审核意见" prop="xmComment">
171
-          <el-input v-model="form.xmComment" placeholder="请输入项目管理部审核意见" />
172
-        </el-form-item>
173
-        <el-form-item label="承担部门审核人" prop="deptUserId">
174
-          <el-input v-model="form.deptUserId" placeholder="请输入承担部门审核人" />
175
-        </el-form-item>
176
-        <el-form-item label="承担部门审核日期" prop="deptTime">
177
-          <el-date-picker clearable v-model="form.deptTime" type="date" value-format="yyyy-MM-dd"
178
-            placeholder="请选择承担部门审核日期">
179
-          </el-date-picker>
180
-        </el-form-item>
181
-        <el-form-item label="承担部门审核意见" prop="deptComment">
182
-          <el-input v-model="form.deptComment" placeholder="请输入承担部门审核意见" />
183
-        </el-form-item>
184
-        <el-form-item label="经营发展部审核人" prop="jyUserId">
185
-          <el-input v-model="form.jyUserId" placeholder="请输入经营发展部审核人" />
186
-        </el-form-item>
187
-        <el-form-item label="经营发展部审核日期" prop="jyTime">
188
-          <el-date-picker clearable v-model="form.jyTime" type="date" value-format="yyyy-MM-dd"
189
-            placeholder="请选择经营发展部审核日期">
190
-          </el-date-picker>
191
-        </el-form-item>
192
-        <el-form-item label="经营发展部审核意见" prop="jyComment">
193
-          <el-input v-model="form.jyComment" placeholder="请输入经营发展部审核意见" />
194
-        </el-form-item>
195
-        <el-form-item label="分管审核人" prop="managerUserId">
196
-          <el-input v-model="form.managerUserId" placeholder="请输入分管审核人" />
197
-        </el-form-item>
198
-        <el-form-item label="分管审核日期" prop="managerTime">
199
-          <el-date-picker clearable v-model="form.managerTime" type="date" value-format="yyyy-MM-dd"
200
-            placeholder="请选择分管审核日期">
201
-          </el-date-picker>
202
-        </el-form-item>
203
-        <el-form-item label="分管审核意见" prop="managerComment">
204
-          <el-input v-model="form.managerComment" placeholder="请输入分管审核意见" />
205
-        </el-form-item>
206
-        <el-form-item label="总经理审核人" prop="gmUserId">
207
-          <el-input v-model="form.gmUserId" placeholder="请输入总经理审核人" />
208
-        </el-form-item>
209
-        <el-form-item label="总经理审核日期" prop="gmTime">
210
-          <el-date-picker clearable v-model="form.gmTime" type="date" value-format="yyyy-MM-dd"
211
-            placeholder="请选择总经理审核日期">
212
-          </el-date-picker>
213
-        </el-form-item>
214
-        <el-form-item label="总经理审核意见" prop="gmComment">
215
-          <el-input v-model="form.gmComment" placeholder="请输入总经理审核意见" />
216
-        </el-form-item>
217
-      </el-form>
218
-      <div slot="footer" class="dialog-footer">
219
-        <el-button type="primary" @click="submitForm">确 定</el-button>
220
-        <el-button @click="cancel">取 消</el-button>
221
-      </div>
80
+    <el-dialog :title="title" :visible.sync="open" width="65%" append-to-body>
81
+      <settle-form :taskForm="taskForm" :taskName="''" :flowDisabled="false" :disabled="true"></settle-form>
222 82
     </el-dialog>
223 83
   </div>
224 84
 </template>
225 85
 
226 86
 <script>
227 87
 import { listSettle, getSettle, delSettle, addSettle, updateSettle } from "@/api/oa/settle/settle";
88
+import { listProject } from '@/api/oa/project/project';
89
+import settleForm from '../../flowable/form/settleForm.vue';
228 90
 
229 91
 export default {
92
+  components: { settleForm },
230 93
   name: "Settle",
231 94
   data() {
232 95
     return {
@@ -283,6 +146,10 @@ export default {
283 146
       form: {},
284 147
       // 表单校验
285 148
       rules: {
149
+      },
150
+      projectList: [],
151
+      taskForm: {
152
+        formId: ''
286 153
       }
287 154
     };
288 155
   },
@@ -299,6 +166,15 @@ export default {
299 166
         this.loading = false;
300 167
       });
301 168
     },
169
+    remoteMethod(val) {
170
+      listProject({
171
+        pageNum: 1,
172
+        pageSize: 20,
173
+        projectNumber: val
174
+      }).then(res => {
175
+        this.projectList = res.rows;
176
+      })
177
+    },
302 178
     // 取消按钮
303 179
     cancel() {
304 180
       this.open = false;
@@ -360,8 +236,9 @@ export default {
360 236
       this.title = "添加cmc结算审批";
361 237
     },
362 238
     // 查看详情
363
-    handleView(row){
364
-
239
+    handleView(row) {
240
+      this.open = true;
241
+      this.taskForm.formId = row.settleId;
365 242
     },
366 243
     /** 修改按钮操作 */
367 244
     handleUpdate(row) {

+ 94
- 30
oa-ui/src/views/oa/supply/handover.vue 查看文件

@@ -1,8 +1,13 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
-      <el-form-item label="设备id" prop="deviceId">
5
-        <el-input v-model="queryParams.deviceId" placeholder="请输入设备id" clearable @keyup.enter.native="handleQuery" />
4
+      <el-form-item label="设备品牌" prop="deviceId">
5
+        <el-select v-model="queryParams.deviceId" clearable filterable remote reserve-keyword placeholder="请输入设备品牌"
6
+          :remote-method="remoteMethod" :loading="loading" style="width: 300px;">
7
+          <el-option v-for="device in deviceList" :key="device.deviceId"
8
+            :label="device.name + '-' + device.series + '-' + device.code" :value="device.deviceId">
9
+          </el-option>
10
+        </el-select>
6 11
       </el-form-item>
7 12
       <el-form-item label="移交部门" prop="handoverDeptId">
8 13
         <el-select v-model="queryParams.handoverDeptId" filterable clearable @change="handleQuery">
@@ -18,11 +23,6 @@
18 23
           </el-option>
19 24
         </el-select>
20 25
       </el-form-item>
21
-      <el-form-item label="移交日期" prop="handoverDate">
22
-        <el-date-picker clearable v-model="queryParams.handoverDate" type="date" value-format="yyyy-MM-dd"
23
-          placeholder="请选择移交日期">
24
-        </el-date-picker>
25
-      </el-form-item>
26 26
       <el-form-item label="接收部门" prop="receiveDeptId">
27 27
         <el-select v-model="queryParams.receiveDeptId" filterable clearable @change="handleQuery">
28 28
           <el-option v-for="item in $store.state.user.deptList" :key="item.deptId" :label="item.deptName"
@@ -39,7 +39,6 @@
39 39
       </el-form-item>
40 40
       <el-form-item>
41 41
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
42
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
43 42
       </el-form-item>
44 43
     </el-form>
45 44
 
@@ -65,17 +64,19 @@
65 64
 
66 65
     <el-table v-loading="loading" :data="deviceHandoverList" @selection-change="handleSelectionChange">
67 66
       <el-table-column type="selection" width="55" align="center" />
68
-      <el-table-column label="设备移交id" align="center" prop="deviceHandoverId" />
69
-      <el-table-column label="设备id" align="center" prop="deviceId" />
70
-      <el-table-column label="移交部门id" align="center" prop="handoverDeptId" />
71
-      <el-table-column label="移交人id" align="center" prop="handoverUserId" />
67
+      <el-table-column label="设备类型" align="center" prop="device.name" />
68
+      <el-table-column label="设备品牌" align="center" prop="device.brand" />
69
+      <el-table-column label="规格型号" align="center" prop="device.series" />
70
+      <el-table-column label="出厂编号" align="center" prop="device.code" />
71
+      <el-table-column label="移交部门" align="center" prop="handoverDept.deptName" />
72
+      <el-table-column label="移交人" align="center" prop="handoverUser.nickName" />
72 73
       <el-table-column label="移交日期" align="center" prop="handoverDate" width="180">
73 74
         <template slot-scope="scope">
74 75
           <span>{{ parseTime(scope.row.handoverDate, '{y}-{m}-{d}') }}</span>
75 76
         </template>
76 77
       </el-table-column>
77
-      <el-table-column label="接收部门id" align="center" prop="receiveDeptId" />
78
-      <el-table-column label="接收人id" align="center" prop="receiveUserId" />
78
+      <el-table-column label="接收部门" align="center" prop="receiveDept.deptName" />
79
+      <el-table-column label="接收人" align="center" prop="receiveUser.nickName" />
79 80
       <el-table-column label="设备软件说明" align="center" prop="description" />
80 81
       <el-table-column label="交接原因" align="center" prop="reason" />
81 82
       <el-table-column label="备注" align="center" prop="remark" />
@@ -93,36 +94,57 @@
93 94
       @pagination="getList" />
94 95
 
95 96
     <!-- 添加或修改cmc设备移交对话框 -->
96
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
97
+    <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
97 98
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
98
-        <el-form-item label="设备id" prop="deviceId">
99
-          <el-input v-model="form.deviceId" placeholder="请输入设备id" />
99
+        <el-form-item label="设备" prop="deviceId">
100
+          <el-select style="width: 90%;" v-model="form.deviceId" filterable placeholder="请选择" clearable disabled>
101
+            <el-option v-for="item in alldeviceList" :key="item.deviceId" :disabled="item.status != 1" :label="item.name + '【' + (item.brand != null ? item.brand : '') + (item.series != null ? '-' + item.series + '】' : '')
102
+      + (item.code != null ? '(设备编号:' + item.code + ')' : '') + '📍' + item.place" :value="item.deviceId">
103
+            </el-option>
104
+          </el-select>
105
+          <el-button type="primary" icon="el-icon-plus" size="mini" @click="openDevice = true">选择设备</el-button>
100 106
         </el-form-item>
101
-        <el-form-item label="移交部门id" prop="handoverDeptId">
102
-          <el-input v-model="form.handoverDeptId" placeholder="请输入移交部门id" />
107
+        <el-form-item label="移交部门" prop="handoverDeptId">
108
+          <el-select v-model="form.handoverDeptId" filterable clearable>
109
+            <el-option v-for="item in $store.state.user.deptList" :key="item.deptId" :label="item.deptName"
110
+              :value="item.deptId">
111
+            </el-option>
112
+          </el-select>
103 113
         </el-form-item>
104
-        <el-form-item label="移交人id" prop="handoverUserId">
105
-          <el-input v-model="form.handoverUserId" placeholder="请输入移交人id" />
114
+        <el-form-item label="移交人" prop="handoverUserId">
115
+          <el-select v-model="form.handoverUserId" filterable clearable>
116
+            <el-option v-for="item in $store.state.user.userList" :key="item.userId" :label="item.nickName"
117
+              :value="item.userId">
118
+            </el-option>
119
+          </el-select>
106 120
         </el-form-item>
107 121
         <el-form-item label="移交日期" prop="handoverDate">
108 122
           <el-date-picker clearable v-model="form.handoverDate" type="date" value-format="yyyy-MM-dd"
109 123
             placeholder="请选择移交日期">
110 124
           </el-date-picker>
111 125
         </el-form-item>
112
-        <el-form-item label="接收部门id" prop="receiveDeptId">
113
-          <el-input v-model="form.receiveDeptId" placeholder="请输入接收部门id" />
126
+        <el-form-item label="接收部门" prop="receiveDeptId">
127
+          <el-select v-model="form.receiveDeptId" filterable clearable>
128
+            <el-option v-for="item in $store.state.user.deptList" :key="item.deptId" :label="item.deptName"
129
+              :value="item.deptId">
130
+            </el-option>
131
+          </el-select>
114 132
         </el-form-item>
115
-        <el-form-item label="接收人id" prop="receiveUserId">
116
-          <el-input v-model="form.receiveUserId" placeholder="请输入接收人id" />
133
+        <el-form-item label="接收人" prop="receiveUserId">
134
+          <el-select v-model="form.receiveUserId" filterable clearable>
135
+            <el-option v-for="item in $store.state.user.userList" :key="item.userId" :label="item.nickName"
136
+              :value="item.userId">
137
+            </el-option>
138
+          </el-select>
117 139
         </el-form-item>
118 140
         <el-form-item label="设备软件说明" prop="description">
119
-          <el-input v-model="form.description" placeholder="请输入设备软件说明" />
141
+          <el-input v-model="form.description" type="textarea" placeholder="请输入设备软件说明" />
120 142
         </el-form-item>
121 143
         <el-form-item label="交接原因" prop="reason">
122
-          <el-input v-model="form.reason" placeholder="请输入交接原因" />
144
+          <el-input v-model="form.reason" type="textarea" placeholder="请输入交接原因" />
123 145
         </el-form-item>
124 146
         <el-form-item label="备注" prop="remark">
125
-          <el-input v-model="form.remark" placeholder="请输入备注" />
147
+          <el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
126 148
         </el-form-item>
127 149
       </el-form>
128 150
       <div slot="footer" class="dialog-footer">
@@ -130,14 +152,22 @@
130 152
         <el-button @click="cancel">取 消</el-button>
131 153
       </div>
132 154
     </el-dialog>
155
+    <el-dialog title="选择设备" :visible.sync="openDevice" width="70%" append-to-body>
156
+      <choose-device @chooseList="confirmDevice"></choose-device>
157
+    </el-dialog>
133 158
   </div>
134 159
 </template>
135 160
 
136 161
 <script>
137 162
 import { listDeviceHandover, getDeviceHandover, delDeviceHandover, addDeviceHandover, updateDeviceHandover } from "@/api/oa/device/deviceHandover";
163
+import { listDevice } from "@/api/oa/device/device"
164
+import ChooseDevice from '../../flowable/form/budget/components/chooseDevice.vue';
138 165
 
139 166
 export default {
140 167
   name: "DeviceHandover",
168
+  components: {
169
+    ChooseDevice
170
+  },
141 171
   data() {
142 172
     return {
143 173
       // 遮罩层
@@ -175,11 +205,16 @@ export default {
175 205
       form: {},
176 206
       // 表单校验
177 207
       rules: {
178
-      }
208
+      },
209
+      deviceList: [],
210
+      alldeviceList: [],
211
+      openDevice: false,
212
+      expenseName: ''
179 213
     };
180 214
   },
181 215
   created() {
182 216
     this.getList();
217
+    this.getAllDevice();
183 218
   },
184 219
   methods: {
185 220
     /** 查询cmc设备移交列表 */
@@ -191,6 +226,23 @@ export default {
191 226
         this.loading = false;
192 227
       });
193 228
     },
229
+    getAllDevice() {
230
+      listDevice({
231
+        pageNum: 1,
232
+        pageSize: 99999,
233
+      }).then(res => {
234
+        this.alldeviceList = res.rows;
235
+      })
236
+    },
237
+    remoteMethod(val) {
238
+      listDevice({
239
+        pageNum: 1,
240
+        pageSize: 50,
241
+        brand: val
242
+      }).then(res => {
243
+        this.deviceList = res.rows;
244
+      })
245
+    },
194 246
     // 取消按钮
195 247
     cancel() {
196 248
       this.open = false;
@@ -279,7 +331,19 @@ export default {
279 331
       this.download('oa/deviceHandover/export', {
280 332
         ...this.queryParams
281 333
       }, `deviceHandover_${new Date().getTime()}.xlsx`)
282
-    }
334
+    },
335
+    confirmDevice(val) {
336
+      if (val && val.length > 1) {
337
+        return this.$message.error('请选择一个设备')
338
+      }
339
+
340
+      this.form.deviceId = val[0].deviceId
341
+      this.openDevice = false;
342
+    },
283 343
   }
284 344
 };
285 345
 </script>
346
+
347
+<style lang="scss" scoped>
348
+@import "@/assets/styles/element-reset.scss";
349
+</style>

Loading…
取消
儲存