safecheck-client 3.0.35-43 → 3.0.35-46

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,934 +1,940 @@
1
- <template>
2
- <div class="binary" style="background-color: #e8f4ff">
3
- <work-busy :is-busy="isSend"></work-busy>
4
- <!--左侧安检任务列表******************************************************-->
5
- <div class="binary-left flex flex-column" style="width: 16%">
6
- <div style="height: 9%">
7
- <div class="row auto">
8
- <img style="width: 20px;margin: 0 5px" src="../../../../static/images/searchhover.png"
9
- @click="showUserCondition()"/>
10
- <v-select :width="'80%'" class="select select_list" :search="false" :value.sync="currentorder"
11
- v-model="currentorder" @change="loadCheckPlan" :options='opt' close-on-select value-single>
12
- </v-select>
13
- </div>
14
- <div class="row auto safe-div-p">
15
- <span style="margin-right: 5px;cursor:default" @click="delCheckPlan()" v-if="isdelete">删除</span> <span
16
- @click="sendCheckPlan()" style="cursor:default">下发</span></div>
17
- </div>
18
- <div class="leftplan-center safe_plan_list">
19
- <div class="row safe-leftplan safe_list_li" :class="{ 'safe-selectplan': selectPlan.id == row.id }"
20
- v-for="row in checkplan.list.data" @click="selectPlanChange(row)">
21
- <table style="width:100%;table-layout:fixed">
22
- <tr class="safe-planfont">
23
- <td rowspan="8"><input type="checkbox" style="pointer-events:auto"
24
- v-show="row.plan_count == 0 || row.f_issued == '未下发'"
25
- onClick="event.cancelBubble = true"
26
- :checked="checkplan.check.isChecked(row.f_check_item_id)"
27
- @change="checkplan.check.setCheckes(row.id)"/></td>
28
- <td colspan="6" class="safe_p">{{ row.f_plan_name }}</td>
29
- <td colspan="2" style="text-align: center"><img width="20px" style="pointer-events:auto"
30
- onClick="event.cancelBubble = true"
31
- @click="showUpPlans(row)"
32
- src="../../../../static/images/edit.png"/></td>
33
- </tr>
34
- <tr class="safe-bodyfont" style="color:#4792de">
35
- <td colspan="6">{{ row.f_issued }}</td>
36
- <td colspan="2" class="safe_p">{{ row.f_checker ? row.f_checker : '共享' }}</td>
37
- </tr>
38
- <tr class="safe-bodyfont">
39
- <td colspan="4">{{ row.f_plan_year }}-{{ row.f_plan_month }}</td>
40
- <td colspan="2">总 :</td>
41
- <td colspan="2">{{ row.plan_count }}</td>
42
- </tr>
43
- <tr class="safe-bodyfont">
44
- <td colspan="2">未检 :</td>
45
- <td colspan="2">{{ row.unchecked }}</td>
46
- <td colspan="2">已检 :</td>
47
- <td colspan="2">{{ row.checked }}</td>
48
- </tr>
49
- <tr class="safe-bodyfont" v-if="row.f_create_time">
50
- <td colspan="3">创建时间 :</td>
51
- <td colspan="5" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
52
- :title="row.f_create_time">{{ row.f_create_time }}
53
- </td>
54
- </tr>
55
- <tr class="safe-bodyfont" v-if="row.f_safecheck_type">
56
- <td colspan="3">安检类型 :</td>
57
- <td colspan="5" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
58
- :title="row.f_safecheck_type">{{ row.f_safecheck_type }}
59
- </td>
60
- </tr>
61
- <tr class="safe-bodyfont" v-if="row.f_share_type">
62
- <td colspan="3">共享公司 :</td>
63
- <td colspan="5" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
64
- :title="row.f_share_type">{{ row.f_share_type }}
65
- </td>
66
- </tr>
67
- <tr class="safe-bodyfont" v-if="row.f_share_company_name">
68
- <td colspan="3">分公司名称 :</td>
69
- <td colspan="5" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
70
- :title="row.f_share_company_name">{{ row.f_share_company_name }}
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- </div>
76
- <div style="height: 11%">
77
- <div class="row auto leftplan-center" style="padding: 8px">
78
- <div class="col-sm-6" style="">
79
- <span>共{{ checkplan.list.count }}条</span>
80
- </div>
81
- <div class="col-sm-6" style="text-align: end">
82
- <span @click="loadMore('checkplan')"><img src="../../../../static/images/doubledown.png"/>&ensp;更多</span>
83
- </div>
84
- </div>
85
- <div class="row auto" style="padding: 10px;text-align: center">
86
- <img src="../../../../static/images/addnew.png" @click="showcCreatePlan()"/>
87
- </div>
88
- </div>
89
- </div>
90
- <!--右侧列表**************************************************************************-->
91
- <div class="binary-right" style="width: 84%;overflow: auto">
92
- <div style="height: 5%">
93
- <div class="col-sm-4">
94
- <label class="font_normal_body">公&emsp;&emsp;司</label>
95
- <right-tree-safe :islist="false" :width="'60%'" @re-res="getRes"></right-tree-safe>
96
- </div>
97
- </div>
98
- <div style="height: 95%">
99
- <div style="height: 50%" class="leftplan-center">
100
- <check-plan-list :selectplan="selectPlan" :userlogin="userlogin" v-ref:item></check-plan-list>
101
- </div>
102
- <div style="height: 50%">
103
- <check-user-list :selectplan="selectPlan" :userlogin="userlogin" v-ref:user></check-user-list>
104
- </div>
105
- </div>
106
- </div>
107
- <modal :show.sync="showCondtion" v-ref:modal :width="'50%'" :backdrop="false">
108
- <div slot="modal-header" class="modal-header">
109
- <h4 class="modal-title">
110
- 任务查询条件
111
- </h4>
112
- </div>
113
- <div slot="modal-body" class="modal-body">
114
- <div class="row">
115
- <div class="form-group col-sm-4">
116
- <label class="font_normal_body">任务名称:</label>
117
- <input type="text" class="input_search" v-model="planCondition.f_plan_name"
118
- @change="setProperty('checkplan', 'f_plan_name', planCondition.f_plan_name)" style="width: 60%"
119
- placeholder='请输入'/>
120
- </div>
121
- <div class="form-group col-sm-4">
122
- <label class="font_normal_body">任务年份:</label>
123
- <v-select class="select select_list" :value.sync="planCondition.f_plan_year"
124
- v-model="planCondition.f_plan_year"
125
- @change="setProperty('checkplan', 'f_plan_year', planCondition.f_plan_year)" :search="false"
126
- :options='getConList("yearList")' placeholder='请选择' close-on-select value-single>
127
- </v-select>
128
- </div>
129
- <div class="form-group col-sm-4">
130
- <label class="font_normal_body">任务月份:</label>
131
- <v-select class="select select_list" :value.sync="planCondition.f_plan_month"
132
- v-model="planCondition.f_plan_month"
133
- @change="setProperty('checkplan', 'f_plan_month', planCondition.f_plan_month)" :search="false"
134
- :options='getConList("monthList")' placeholder='请选择' close-on-select value-single>
135
- </v-select>
136
- </div>
137
- <div class="form-group col-sm-4">
138
- <label class="font_normal_body">是否共享:</label>
139
- <v-select class="select select_list" :value.sync="planCondition.isShare" v-model="planCondition.isShare"
140
- @change="setProperty('checkplan', 'isAndNot', planCondition.isShare)"
141
- :options='getConList("conIsAndNot")'
142
- :search="false" placeholder='请选择' close-on-select value-single>
143
- </v-select>
144
- </div>
145
- <div class="form-group col-sm-4">
146
- <label class="font_normal_body">是否下发:</label>
147
- <v-select class="select select_list" :value.sync="planCondition.issued" v-model="planCondition.issued"
148
- :options='getConList("isAndNot")'
149
- @change="setProperty('checkplan', 'issude', planCondition.issued)"
150
- placeholder='请选择' :search="false" close-on-select value-single>
151
- </v-select>
152
- </div>
153
- <div class="form-group col-sm-4">
154
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
155
- <v-select class="select select_list" :value.sync="planCondition.f_checker" v-model="planCondition.f_checker"
156
- @change="setProperty('checkplan', 'checkerid', planCondition.f_checker.id)"
157
- :options='getConList("checker")'
158
- placeholder='请选择' close-on-select value-single>
159
- </v-select>
160
- </div>
161
-
162
- <div class="form-group col-sm-4">
163
- <label class="font_normal_body">安检类型:</label>
164
- <v-select class="select select_list" :value.sync="planCondition.f_safecheck_type"
165
- v-model="planCondition.f_safecheck_type"
166
- @change="setProperty('checkplan', 'safechecktype', planCondition.f_safecheck_type)"
167
- :options='getConList("safechecktype")' placeholder='请选择' :search="false" close-on-select
168
- value-single>
169
- </v-select>
170
- </div>
171
- <div class="form-group col-sm-4">
172
- <label class="font_normal_body">创&ensp;建&ensp;人:</label>
173
- <input type="text" class="input_search" v-model="planCondition.f_create_operator"
174
- @change="setProperty('checkplan', 'f_create_operator', planCondition.f_create_operator)"
175
- style="width: 60%"
176
- placeholder="创建人"/>
177
- </div>
178
- </div>
179
- </div>
180
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
181
- <button class="button_search" @click="loadCheckPlan" style="margin-right: 15px">查询</button>
182
- <button class="button_search" @click="cancel">取消</button>
183
- </div>
184
- </modal>
185
- <modal :show.sync="showCreatePlan" v-ref:modal1 :width="'50%'" :backdrop="false">
186
- <div slot="modal-header" class="modal-header">
187
- <h4 class="modal-title">
188
- 新建任务
189
- </h4>
190
- </div>
191
- <div slot="modal-body" class="modal-body">
192
- <div class="row">
193
- <div class="form-group col-sm-4">
194
- <label class="font_normal_body">任务名称:</label>
195
- <input type="text" class="input_search" v-model="createPlan.f_plan_name" style="width: 60%"
196
- placeholder='请输入'/>
197
- </div>
198
- <div class="form-group col-sm-4">
199
- <label class="font_normal_body">任务年份:</label>
200
- <v-select class="select select_list" :value.sync="createPlan.f_plan_year" v-model="createPlan.f_plan_year"
201
- :search="false" :options='yearList' placeholder='请选择' close-on-select value-single>
202
- </v-select>
203
- </div>
204
- <div class="form-group col-sm-4">
205
- <label class="font_normal_body">任务月份:</label>
206
- <v-select class="select select_list" :value.sync="createPlan.f_plan_month" v-model="createPlan.f_plan_month"
207
- :search="false" :options='monthList' placeholder='请选择' close-on-select value-single>
208
- </v-select>
209
- </div>
210
- <div class="form-group col-sm-4">
211
- <label class="font_normal_body">所属计划:</label>
212
- <v-select class="select select_list" :value.sync="createPlan.f_total_task"
213
- v-model="createPlan.f_total_task" :search="false" :options='totalTaskList'
214
- placeholder='请选择'
215
- close-on-select value-single>
216
- </v-select>
217
- </div>
218
- <div class="form-group col-sm-4">
219
- <label class="font_normal_body">是否共享:</label>
220
- <v-select class="select select_list" :search="false" :value.sync="createPlan.isShare"
221
- v-model="createPlan.isShare" :options='isAndNot' placeholder='请选择' close-on-select
222
- value-single>
223
- </v-select>
224
- </div>
225
- <div class="form-group col-sm-4">
226
- <label class="font_normal_body">任务性质:</label>
227
- <v-select class="select select_list" :search="false" :value.sync="createPlan.f_schedule_type"
228
- v-model="createPlan.f_schedule_type" :options='schedule_types' placeholder='请选择' close-on-select
229
- value-single>
230
- </v-select>
231
- </div>
232
- <div class="form-group col-sm-4" v-show="createPlan.isShare == '否'">
233
- <label class="font_normal_body">部&ensp;&ensp;&ensp;&ensp;门:</label>
234
- <v-select class="select select_list" :search="false" :value.sync="createPlan.f_department_id"
235
- v-model="createPlan.f_department_id" :options='departments' @change="departmentChange"
236
- placeholder='请选择'
237
- close-on-select value-single>
238
- </v-select>
239
- </div>
240
- <div class="form-group col-sm-4" v-show="createPlan.isShare == '否'">
241
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
242
- <v-select class="select select_list" :value.sync="createPlan.checker" v-model="createPlan.checker"
243
- :options='checker' placeholder='请选择' close-on-select value-single>
244
- </v-select>
245
- </div>
246
-
247
- <div class="form-group col-sm-4">
248
- <label class="font_normal_body">安检类型:</label>
249
- <v-select class="select select_list" :value.sync="createPlan.f_safecheck_type"
250
- v-model="createPlan.f_safecheck_type" :search="false" :options='ntoway' placeholder='请选择'
251
- close-on-select
252
- value-single>
253
- </v-select>
254
- </div>
255
- <div class="form-group col-sm-4" v-if="isSeePlanShare">
256
- <label class="font_normal_body">共享公司:</label>
257
- <v-select class="select select_list" :value.sync="createPlan.f_share_type" v-model="createPlan.f_share_type"
258
- :search="false" :options='isAndNot' placeholder='请选择' close-on-select value-single>
259
- </v-select>
260
- </div>
261
- <div class="form-group col-sm-4" v-if="createPlan.f_share_type == '是'">
262
- <label class="font_normal_body">分公司名称:</label>
263
- <v-select class="select select_list" :value.sync="createPlan.f_share_company_name"
264
- v-model="createPlan.f_share_company_name" :search="false" :options='companyNameList'
265
- placeholder='请选择'
266
- close-on-select value-single>
267
- </v-select>
268
- </div>
269
- </div>
270
- </div>
271
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
272
- <button class="button_search" style="margin-right: 15px" @click="addNewPlan()">创建任务</button>
273
- <button class="button_search" @click="cancel">取消</button>
274
- </div>
275
- </modal>
276
- <modal :show.sync="showUpPlan" v-ref:modal2 :backdrop="false">
277
- <div slot="modal-header" class="modal-header">
278
- <h4 class="modal-title">
279
- 修改任务
280
- </h4>
281
- </div>
282
- <div slot="modal-body" class="modal-body">
283
- <div class="row">
284
- <div class="form-group col-sm-4">
285
- <label class="font_normal_body">任务名称:</label>
286
- <input type="text" class="input_search" v-model="upCheckPlan.f_plan_name" style="width: 60%"/>
287
- </div>
288
- <div class="form-group col-sm-4">
289
- <label class="font_normal_body">任务年份:</label>
290
- <v-select class="select select_list" :value.sync="upCheckPlan.f_plan_year" v-model="upCheckPlan.f_plan_year"
291
- :search="false" :value="upCheckPlan.f_plan_year" :options='yearList' close-on-select value-single>
292
- </v-select>
293
- </div>
294
- <div class="form-group col-sm-4">
295
- <label class="font_normal_body">任务月份:</label>
296
- <v-select class="select select_list" :value.sync="upCheckPlan.f_plan_month"
297
- v-model="upCheckPlan.f_plan_month" :options='monthList' close-on-select value-single>
298
- </v-select>
299
- </div>
300
- <div class="form-group col-sm-4">
301
- <label class="font_normal_body">是否共享:</label>
302
- <v-select class="select select_list" :search="false" :value.sync="upCheckPlan.isShare"
303
- v-model="upCheckPlan.isShare" :options='isAndNot' placeholder='请选择' close-on-select
304
- value-single>
305
- </v-select>
306
- </div>
307
- <div class="form-group col-sm-4" v-show="upCheckPlan.isShare == '否'">
308
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
309
- <v-select class="select select_list" :value.sync="upCheckPlan.checker" v-model="upCheckPlan.checker"
310
- :options='checker' close-on-select value-single>
311
- </v-select>
312
- </div>
313
-
314
- <div class="form-group col-sm-4">
315
- <label class="font_normal_body">安检类型:</label>
316
- <v-select class="select select_list" :value.sync="upCheckPlan.f_safecheck_type"
317
- v-model="upCheckPlan.f_safecheck_type" :options='ntoway' close-on-select value-single>
318
- </v-select>
319
- </div>
320
- <div class="form-group col-sm-4" v-if="isSeePlanShare">
321
- <label class="font_normal_body">共享公司:</label>
322
- <v-select class="select select_list" :value.sync="upCheckPlan.f_share_type" v-model="upCheckPlan.f_share_type"
323
- :search="false" :options='isAndNot' placeholder='请选择' close-on-select value-single>
324
- </v-select>
325
- </div>
326
- <div class="form-group col-sm-6" v-if="upCheckPlan.f_share_type == '是'">
327
- <label class="font_normal_body">分公司名称:</label>
328
- <v-select class="select select_list" :value.sync="upCheckPlan.f_share_company_name"
329
- v-model="upCheckPlan.f_share_company_name" :search="false" :options='companyNameList'
330
- placeholder='请选择'
331
- close-on-select value-single>
332
- </v-select>
333
- </div>
334
- </div>
335
- </div>
336
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
337
- <button class="button_search" style="margin-right: 15px" @click="upPlan()">保存修改</button>
338
- <button class="button_search" @click="cancel">取消</button>
339
- </div>
340
- </modal>
341
- </div>
342
- </template>
343
-
344
- <script>
345
- import {SearchList, HttpResetClass, PagedList} from "vue-client";
346
- import * as Util from "../../Util";
347
- import Vue from "vue";
348
-
349
- export default {
350
- name: "PlanManage",
351
- title: '任务管理',
352
- data() {
353
- return {
354
- a: '1',
355
- totalTaskList: [],
356
- departments: [],
357
- companyNameList: [],
358
- // isSeePlanShare: this.$login.r ? this.$login.r.includes("安检任务共享公司") : true,
359
- isSeePlanShare: true,
360
- opt: [{label: "按时间降序", value: "按时间降序"}, {label: "按时间升序", value: "按时间升序"}],
361
- schedule_types: [{label: "民用", value: "民用"}, {label: "非民用", value: "非民用"}],
362
- currentorder: '按时间降序',
363
- isdelete: this.$login.r ? this.$login.r.includes("安检任务删除") : false,
364
- checkplan: new SearchList(true),
365
- selectPlan: {id: ''},
366
- upCheckPlan: {
367
- f_plan_name: '',
368
- f_safecheck_type: '',
369
- f_plan_year: '',
370
- f_plan_month: '',
371
- f_checker_id: '',
372
- isShare: '',
373
- f_checker: '',
374
- checker: {}
375
- },
376
- isSend: false,
377
- createPlan: {
378
- f_plan_name: '',
379
- f_total_task_id:'',
380
- f_plan_year: '',
381
- f_schedule_type:'民用',
382
- f_department_id: '',
383
- f_plan_month: '',
384
- isShare: '',
385
- f_share_type: '',
386
- f_share_company_name: '',
387
- f_total_task: '',
388
- f_issued: '',
389
- f_checker_id: null,
390
- checker: {},
391
- f_checker: null,
392
- f_safecheck_type: '',
393
- },
394
- planCondition: {},
395
- showCondtion: false,
396
- showCreatePlan: false,
397
- showUpPlan: false,
398
- isAndNot: [{label: '是', value: '是'}, {label: '否', value: '否'}],
399
- conIsAndNot: [{label: '是', value: 'is null'}, {label: '否', value: 'is not null'}],
400
- yearList: [{label: 2020, value: 2020}, {label: 2021, value: 2021}, {label: 2022, value: 2022}, {
401
- label: 2023,
402
- value: 2023
403
- }, {label: 2024, value: 2024}, {label: 2025, value: 2025}, {label: 2026, value: 2026}, {
404
- label: 2027,
405
- value: 2027
406
- }, {label: 2028, value: 2028}, {label: 2029, value: 2029}, {label: 2030, value: 2030}],
407
- monthList: [{label: "1", value: 1}, {label: "2", value: 2}, {label: "3", value: 3}, {
408
- label: "4",
409
- value: 4
410
- }, {label: "5", value: 5}, {label: "6", value: 6}, {label: "7", value: 7}, {label: "8", value: 8}, {
411
- label: "9",
412
- value: 9
413
- }, {label: "10", value: 10}, {label: "11", value: 11}, {label: "12", value: 12}],
414
- safechecktype: [{label: '年度普检', value: '年度普检'}],
415
- checker: [],
416
- checkertCon: [],
417
- userlogin: {
418
- id: this.$login.f.id,
419
- name: this.$login.f.name,
420
- orgid: this.$login.f.orgid,
421
- orgstr: this.$login.f.orgs,
422
- }
423
- //需要测试直接把下面放开即可
424
- /*userlogin:{
425
- id:'141701',
426
- name:'hwq',
427
- orgid:'35526',
428
- orgstr:'西华县天然气有限公司'
429
- }*/
430
- }
431
- },
432
- async ready() {
433
- await this.loadpage()
434
- if (!this.userlogin.orgid) {
435
- if (this.$login.f.f_orgids) {
436
- this.userlogin.orgid = this.$login.f.f_orgids.endsWith('.') ? this.$login.f.f_orgids.substring(0, this.$login.f.f_orgids.length - 1) : this.$login.f.f_orgids
437
- } else {
438
- this.userlogin.orgid = ''
439
- }
440
- }
441
- },
442
- computed: {
443
- ntoway() {
444
- /*/!* return AppData.getParam('安检类型')*!/*/
445
- return this.$appdata.getParam('安检类型')
446
- }
447
- },
448
- methods: {
449
- async departmentChange(val) {
450
- let res = await new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
451
- data: {
452
- items: '*',
453
- tablename: 't_user',
454
- condition: `parentid = '${val}'`,
455
- orderitem: '1'
456
- }
457
- }, {resolveMsg: null, rejectMsg: null})
458
- this.checker = []
459
- this.checker.push({
460
- label: '请选择',
461
- value: ''
462
- })
463
- res.data.forEach(ress => {
464
- this.checker.push({
465
- label: ress.name,
466
- value: {name: ress.name, id: ress.id}
467
- })
468
- })
469
- },
470
- async loadpage() {
471
- await this.loadCheckPlan()
472
- await this.loadTotalTaskList()
473
- await this.loadDepartments()
474
- await this.loadCompanyNameList()
475
- },
476
- async loadCompanyNameList() {
477
- let res = await new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
478
- data: {
479
- items: '*',
480
- tablename: 't_organization',
481
- condition: `1=1`,
482
- orderitem: '1'
483
- }
484
- }, {resolveMsg: null, rejectMsg: null})
485
- this.companyNameList = []
486
- this.companyNameList.push({
487
- label: '请选择',
488
- value: ''
489
- })
490
- res.data.forEach(ress => {
491
- this.companyNameList.push({
492
- label: ress.name,
493
- value: ress.name
494
- })
495
- })
496
- },
497
- async loadDepartments() {
498
- let res = await new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
499
- data: {
500
- items: '*',
501
- tablename: 't_department',
502
- condition: `id in (select parentid from t_user group by parentid)`,
503
- orderitem: '1'
504
- }
505
- }, {resolveMsg: null, rejectMsg: null})
506
- this.departments = []
507
- this.departments.push({
508
- label: '请选择',
509
- value: ''
510
- })
511
- res.data.forEach(ress => {
512
- this.departments.push({
513
- label: ress.name,
514
- value: ress.id
515
- })
516
- })
517
- },
518
- async loadTotalTaskList() {
519
- let res = await new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
520
- data: {
521
- items: '*',
522
- tablename: 't_total_task',
523
- // condition: `1=1 and f_company_branch = '${this.$login.f.orgid}'`,
524
- condition: `1=1`,
525
- orderitem: 'id'
526
- }
527
- }, {resolveMsg: null, rejectMsg: null})
528
- this.totalTaskList = []
529
- this.totalTaskList.push({
530
- label: '请选择',
531
- value: ''
532
- })
533
- res.data.forEach(ress => {
534
- this.totalTaskList.push({
535
- label: ress.f_plan_name,
536
- value: ress
537
- })
538
- })
539
- },
540
- getRes(obj) {
541
- console.log("----obj" + JSON.stringify(obj.resids))
542
- console.log(obj)
543
- if (obj.resids.length > 0 && obj.resids[0] != this.userlogin.orgid && obj.resids[0]) {
544
- this.userlogin.orgid = obj.resids[0]
545
- this.userlogin.orgstr = obj.res[0]
546
- if (this.$refs.item && this.$refs.user) {
547
- this.loadpage()
548
- this.selectPlan = {id: ""}
549
- this.$refs.item.model.rows = []
550
- this.$refs.user.model.rows = []
551
- this.$refs.user.loadpage()
552
- }
553
- }
554
- },
555
- getConList(field) {
556
- return [{label: '全部', value: ''}, ...this[field]]
557
- },
558
- selectPlanChange(plan) {
559
- this.selectPlan = plan
560
- //this.upCheckPlan=plan
561
- },
562
- showUserCondition() {
563
- this.showCondtion = true
564
- },
565
- showcCreatePlan() {
566
- this.showCreatePlan = true
567
- },
568
- cancel() {
569
- this.showCondtion = false
570
- this.showCreatePlan = false
571
- this.showUpPlan = false
572
- },
573
- //新建任务
574
- async addNewPlan() {
575
- if (!this.validationCreatePlan()) {
576
- return
577
- }
578
- this.isSend = true
579
- let res = await new HttpResetClass().load("POST", "/rs/sql/getCheckplan", {
580
- data: {
581
- condition: "f_plan_name='" + this.createPlan.f_plan_name + "'",
582
- sortfield: 'f_create_time desc'
583
- }
584
- })
585
- console.log("结果-" + res.data.length)
586
- if (res.data.length > 0) {
587
- Vue.showMessage("任务名称不能重复!")
588
- this.isSend = false
589
- return
590
- }
591
- if (this.createPlan.isShare == "是") {
592
- this.createPlan.f_checker_id = null
593
- this.createPlan.f_checker = null
594
- } else {
595
- this.createPlan.f_checker_id = this.createPlan.checker.id
596
- this.createPlan.f_checker = this.createPlan.checker.name
597
- }
598
- if (this.createPlan.f_total_task){
599
- this.createPlan.f_total_task_id = this.createPlan.f_total_task.id
600
- }
601
- console.log("this.createPlan.f_checker:" + this.createPlan.f_checker)
602
- this.createPlan.f_plan_type = '预约计划'
603
- this.createPlan.f_subcompany = this.userlogin.orgstr
604
- this.createPlan.f_filialeid = this.userlogin.orgid
605
- this.createPlan.f_create_operator = this.userlogin.name
606
- this.createPlan.f_create_time = Util.toStandardTimeString()
607
- await new HttpResetClass().load('POST', "/rs/logic/createCheckPlan", {"data": this.createPlan}, {
608
- resolveMsg: '新建任务成功!',
609
- rejectMsg: '新建任务失败!'
610
- })
611
- //await this.loadCheckPlan('',()=>{})
612
- this.createPlan = {
613
- f_plan_name: '',
614
- f_plan_year: '',
615
- f_plan_month: '',
616
- f_schedule_type:'民用',
617
- isShare: '',
618
- f_issued: '',
619
- f_checker_id: null,
620
- checker: {},
621
- f_checker: null,
622
- f_safecheck_type: '',
623
- f_create_operator: ''
624
- }
625
- await this.loadCheckPlan()
626
- this.isSend = false
627
-
628
- },
629
- validationCreatePlan() {
630
- if (!this.createPlan.f_plan_name) {
631
- Vue.showMessage("请输入安检任务名称!")
632
- return false
633
- }
634
- if (!this.createPlan.f_plan_year) {
635
- Vue.showMessage("请选择安检年份!")
636
- return false
637
- }
638
- if (!this.createPlan.f_plan_month) {
639
- Vue.showMessage("请选择安检月份!")
640
- return false
641
- }
642
- if (!this.createPlan.f_schedule_type) {
643
- Vue.showMessage("请选择任务性质!")
644
- return false
645
- }
646
- if (this.createPlan.isShare == "否") {
647
- if (JSON.stringify(this.createPlan.checker) == '{}') {
648
- Vue.showMessage("请选择安检人员!")
649
- return false
650
- }
651
- } else {
652
- this.createPlan.f_checker = ''
653
- }
654
- if (!this.createPlan.f_safecheck_type) {
655
- Vue.showMessage("请选择安检类型!")
656
- return false
657
- }
658
- return true
659
- },
660
- //查询安检员selectChanged
661
- async searchChecker(id) {
662
- let res = await new HttpResetClass().load('POST', '/rs/search', {
663
- data: {
664
- source: `this.getSpecialResByType($user$).where(row.getAttributes().get($rolestr$)!=null ).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)`,
665
- userid: this.userlogin.orgid
666
- }
667
- }, {resolveMsg: null, rejectMsg: null})
668
- let arr = []
669
- res.data.forEach((resRow) => {
670
- if (!arr.includes(resRow.name) && resRow.state == '在职') {
671
- arr.push(resRow.name)
672
- this.checker.push({label: resRow.name, value: resRow})
673
- }
674
- })
675
- },
676
- //设置属性值
677
- setProperty(modulename, property, value) {
678
- console.log(modulename + "新添--" + property + "--" + value)
679
- if (value == '全部') {
680
- this[modulename].search.setField(property, '')
681
- } else {
682
- this[modulename].search.setField(property, value)
683
- }
684
- },
685
- //按条件查询所有安检任务
686
- async loadCheckPlan() {
687
- this.isSend = true
688
- this.checkplan.check.checkes = []
689
- let fieldValue = ''
690
- switch (this.currentorder) {
691
- case "按时间降序":
692
- fieldValue = 'f_create_time desc'
693
- break
694
- case "按时间升序":
695
- fieldValue = 'f_create_time'
696
- break
697
- }
698
- console.log("--------fieldValue" + fieldValue)
699
- this.cancel()
700
- await this.checkplan.searchList("/rs/sql/预约计划下发",
701
- {
702
- "f_plan_name": "f_plan_name like '%{}%'",
703
- "f_plan_year": "f_plan_year={}",
704
- "f_plan_month": "f_plan_month={}",
705
- "checkerid": "f_checker_id='{}'",
706
- "isAndNot": "f_checker {}",
707
- "safechecktype": "f_safecheck_type='{}'",
708
- "issude": "f_issued = '{}'",
709
- "f_create_operator": "f_create_operator like '%{}%'"
710
- },
711
- {
712
- orderitem: fieldValue,
713
- f_filialeids: "('" + this.userlogin.orgid + "')",
714
- groupitem: ""
715
- }
716
- )
717
-
718
- this.isSend = false
719
- },
720
- //加载更多数据
721
- async loadMore(modelname) {
722
- this.isSend = true
723
- await this[modelname].list.loadMore()
724
- this.isSend = false
725
- },
726
- showUpPlans(row) {
727
- this.upCheckPlan.id = row.id
728
- this.upCheckPlan.f_safecheck_type = row.f_safecheck_type
729
- this.upCheckPlan.f_plan_name = row.f_plan_name
730
- this.upCheckPlan.f_plan_year = row.f_plan_year
731
- this.upCheckPlan.f_plan_month = row.f_plan_month
732
- this.upCheckPlan.f_checker_id = row.f_checker_id ? row.f_checker_id : null
733
- this.upCheckPlan.f_checker = row.f_checker ? row.f_checker : null
734
- this.upCheckPlan.isShare = row.f_checker_id ? '否' : '是'
735
- this.upCheckPlan.f_issued = row.f_issued
736
- this.upCheckPlan.f_share_type = row.f_share_type
737
- this.upCheckPlan.f_share_company_name = row.f_share_company_name
738
- this.upCheckPlan.checker = {id: row.f_checker_id, name: row.f_checker}
739
- this.showUpPlan = true
740
- },
741
- async upPlan() {
742
- // if (this.upCheckPlan.f_issued == '已下发') {
743
- // this.$showMessage("该任务已下发,无法进行修改!")
744
- // return
745
- // }
746
- if (!this.upCheckPlan.f_plan_name) {
747
- Vue.showMessage("请输入安检任务名称!")
748
- return false
749
- }
750
- if (!this.upCheckPlan.f_plan_year) {
751
- Vue.showMessage("请选择安检年份!")
752
- return false
753
- }
754
- if (!this.upCheckPlan.f_plan_month) {
755
- Vue.showMessage("请选择安检月份!")
756
- return false
757
- }
758
- console.log(this.upCheckPlan)
759
-
760
- if (this.upCheckPlan.isShare == "是") {
761
- this.upCheckPlan.f_checker_id = null
762
- this.upCheckPlan.f_checker = null
763
- } else {
764
- this.upCheckPlan.f_checker_id = this.upCheckPlan.checker.id
765
- this.upCheckPlan.f_checker = this.upCheckPlan.checker.name
766
- }
767
- this.isSend = true
768
- let res = await new HttpResetClass().load("POST", "/rs/logic/updateCheckPlan", {
769
- data: {
770
- f_checker: this.upCheckPlan.f_checker,
771
- f_safecheck_type: this.upCheckPlan.f_safecheck_type,
772
- f_checker_id: this.upCheckPlan.f_checker_id,
773
- f_plan_name: this.upCheckPlan.f_plan_name,
774
- f_plan_year: this.upCheckPlan.f_plan_year,
775
- f_plan_month: this.upCheckPlan.f_plan_month,
776
- f_share_type: this.upCheckPlan.f_share_type,
777
- f_share_company_name: this.upCheckPlan.f_share_type == '否' ? '' : this.upCheckPlan.f_share_company_name,
778
- issued:"是",
779
- f_plan_id: this.upCheckPlan.id
780
- }
781
- }, {resolveMsg: null, rejectMsg: null})
782
- if (res.data.code == 200) {
783
- this.$showMessage("修改成功!")
784
- this.cancel()
785
- await this.loadCheckPlan()
786
- } else {
787
- this.$showMessage("修改失败!")
788
- }
789
- this.isSend = false
790
- },
791
- //下发安检任务
792
- async sendCheckPlan(f) {
793
- if (this.checkplan.check.checkes.length < 1) {
794
- this.$showMessage("请选择要下发的安检任务")
795
- return
796
- }
797
- this.isSend = true
798
- let res = await new HttpResetClass().load("POST", "/rs/logic/NewBespeakCheckPlan", {
799
- data: {
800
- f_issued: '是',
801
- f_issue_time: Util.toStandardTimeString(),
802
- f_send_operator: this.userlogin.name,
803
- param: this.checkplan.check.checkes,
804
- }
805
- }, {resolveMsg: null, rejectMsg: null})
806
- if (res.data.code == 200) {
807
- //Vue.showMessage("下发成功!其中有"+res.data.repet+"个任务己经是下发状态")
808
- this.$showMessage("下发成功!")
809
- } else {
810
- this.$showMessage("下发失败!")
811
- }
812
- await this.loadCheckPlan()
813
- this.isSend = false
814
- },
815
- //删除安检任务
816
- async delCheckPlan(f) {
817
- if (this.checkplan.check.checkes.length < 1) {
818
- this.$showMessage("请选择要删除的安检任务")
819
- return
820
- }
821
- this.isSend = true
822
- let res = await new HttpResetClass().load("POST", "/rs/logic/deleteCheckPlan", {
823
- data: {
824
- f_operator: this.userlogin.name,//global.login.name,
825
- condition: "",
826
- switchCheckAll: true,
827
- checkAll: false,
828
- param: this.checkplan.check.checkes,
829
- columnName: "f_plan_id"
830
- }
831
- }, {resolveMsg: null, rejectMsg: null})
832
- console.log(JSON.stringify(res))
833
- if (res.data.code == 200) {
834
- this.$showMessage("删除成功!")
835
- } else {
836
- this.$showMessage("删除失败!")
837
- }
838
- if (this.checkplan.check.checkes.indexOf(this.selectPlan.id) != -1) {
839
- this.selectPlan = {id: ''}
840
- console.log("包含了清空selectplan")
841
- }
842
- await this.loadCheckPlan()
843
- this.isSend = false
844
- },
845
- async refresh() {
846
- this.$refs.item.$refs.paged.$refs.criteria.search()
847
- this.$refs.user.$refs.paged.$refs.criteria.search()
848
- await this.loadCheckPlan()
849
- },
850
- async refreshPlan() {
851
- this.$refs.item.$refs.paged.$refs.criteria.search()
852
- await this.loadCheckPlan()
853
- }
854
- }
855
- }
856
- </script>
857
-
858
- <style scoped>
859
- .safe-planfont {
860
- font-family: MicrosoftYaHei;
861
- font-size: 15px;
862
- font-weight: normal;
863
- font-stretch: normal;
864
- letter-spacing: 2px;
865
- color: #333333;
866
- line-height: 25px;
867
- }
868
-
869
- .safe-bodyfont {
870
- font-family: MicrosoftYaHei;
871
- font-size: 14px;
872
- font-weight: normal;
873
- font-stretch: normal;
874
- letter-spacing: 0px;
875
- color: #999999;
876
- line-height: 30px;
877
- }
878
-
879
- .safe-leftplan {
880
- height: auto;
881
- border-bottom: 1px solid #ececec;
882
- padding: 10px 5px
883
- }
884
-
885
- .leftplan-center {
886
- border-top: 1px solid #ececec;
887
- border-bottom: 1px solid #ececec;
888
- }
889
-
890
- .safe_p {
891
- white-space: nowrap;
892
- overflow: hidden;
893
- text-overflow: ellipsis;
894
- }
895
-
896
- .safe-div-p {
897
- color: #4792de;
898
- text-align: end;
899
- padding: 8px 15px;
900
- }
901
-
902
- .safe_list_li:hover {
903
- background-color: rgb(245, 246, 247);
904
- }
905
-
906
- .safe-selectplan {
907
- pointer-events: none;
908
- background-color: rgb(216, 234, 251);
909
- }
910
-
911
- .safe_plan_list {
912
- height: 80%;
913
- overflow: scroll;
914
- }
915
- </style>
916
- <style>
917
- .safe_plan_list::-webkit-scrollbar {
918
- background-color: #F5F5F5;
919
- }
920
-
921
- /*定义滚动条轨道 内阴影+圆角*/
922
- .safe_plan_list::-webkit-scrollbar-track {
923
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
924
- border-radius: 10px;
925
- background-color: #F5F5F5;
926
- }
927
-
928
- /*定义滑块 内阴影+圆角*/
929
- .safe_plan_list::-webkit-scrollbar-thumb {
930
- border-radius: 10px;
931
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
932
- background-color: #F5F5F5;
933
- }
934
- </style>
1
+ <template>
2
+ <div class="binary" style="background-color: #e8f4ff">
3
+ <work-busy :is-busy="isSend"></work-busy>
4
+ <!--左侧安检任务列表******************************************************-->
5
+ <div class="binary-left flex flex-column" style="width: 16%">
6
+ <div style="height: 9%">
7
+ <div class="row auto">
8
+ <img style="width: 20px;margin: 0 5px" src="../../../../static/images/searchhover.png"
9
+ @click="showUserCondition()"/>
10
+ <v-select :width="'80%'" class="select select_list" :search="false" :value.sync="currentorder"
11
+ v-model="currentorder" @change="loadCheckPlan" :options='opt' close-on-select value-single>
12
+ </v-select>
13
+ </div>
14
+ <div class="row auto safe-div-p">
15
+ <span style="margin-right: 5px;cursor:default" @click="delCheckPlan()" v-if="isdelete">删除</span> <span
16
+ @click="sendCheckPlan()" style="cursor:default">下发</span></div>
17
+ </div>
18
+ <div class="leftplan-center safe_plan_list">
19
+ <div class="row safe-leftplan safe_list_li" :class="{ 'safe-selectplan': selectPlan.id == row.id }"
20
+ v-for="row in checkplan.list.data" @click="selectPlanChange(row)">
21
+ <table style="width:100%;table-layout:fixed">
22
+ <tr class="safe-planfont">
23
+ <td rowspan="8"><input type="checkbox" style="pointer-events:auto"
24
+ v-show="row.plan_count == 0 || row.f_issued == '未下发'"
25
+ onClick="event.cancelBubble = true"
26
+ :checked="checkplan.check.isChecked(row.f_check_item_id)"
27
+ @change="checkplan.check.setCheckes(row.id)"/></td>
28
+ <td colspan="6" class="safe_p">{{ row.f_plan_name }}</td>
29
+ <td colspan="2" style="text-align: center"><img width="20px" style="pointer-events:auto"
30
+ onClick="event.cancelBubble = true"
31
+ @click="showUpPlans(row)"
32
+ src="../../../../static/images/edit.png"/></td>
33
+ </tr>
34
+ <tr class="safe-bodyfont" style="color:#4792de">
35
+ <td colspan="6">{{ row.f_issued }}</td>
36
+ <td colspan="2" class="safe_p">{{ row.f_checker ? row.f_checker : '共享' }}</td>
37
+ </tr>
38
+ <tr class="safe-bodyfont">
39
+ <td colspan="4">{{ row.f_plan_year }}-{{ row.f_plan_month }}</td>
40
+ <td colspan="2">总 :</td>
41
+ <td colspan="2">{{ row.plan_count }}</td>
42
+ </tr>
43
+ <tr class="safe-bodyfont">
44
+ <td colspan="2">未检 :</td>
45
+ <td colspan="2">{{ row.unchecked }}</td>
46
+ <td colspan="2">已检 :</td>
47
+ <td colspan="2">{{ row.checked }}</td>
48
+ </tr>
49
+ <tr class="safe-bodyfont" v-if="row.f_create_time">
50
+ <td colspan="3">创建时间 :</td>
51
+ <td colspan="5" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
52
+ :title="row.f_create_time">{{ row.f_create_time }}
53
+ </td>
54
+ </tr>
55
+ <tr class="safe-bodyfont" v-if="row.f_safecheck_type">
56
+ <td colspan="3">安检类型 :</td>
57
+ <td colspan="5" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
58
+ :title="row.f_safecheck_type">{{ row.f_safecheck_type }}
59
+ </td>
60
+ </tr>
61
+ <tr class="safe-bodyfont" v-if="row.f_share_type">
62
+ <td colspan="3">共享公司 :</td>
63
+ <td colspan="5" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
64
+ :title="row.f_share_type">{{ row.f_share_type }}
65
+ </td>
66
+ </tr>
67
+ <tr class="safe-bodyfont" v-if="row.f_share_company_name">
68
+ <td colspan="3">分公司名称 :</td>
69
+ <td colspan="5" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
70
+ :title="row.f_share_company_name">{{ row.f_share_company_name }}
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ </div>
76
+ <div style="height: 11%">
77
+ <div class="row auto leftplan-center" style="padding: 8px">
78
+ <div class="col-sm-6" style="">
79
+ <span>共{{ checkplan.list.count }}条</span>
80
+ </div>
81
+ <div class="col-sm-6" style="text-align: end">
82
+ <span @click="loadMore('checkplan')"><img src="../../../../static/images/doubledown.png"/>&ensp;更多</span>
83
+ </div>
84
+ </div>
85
+ <div class="row auto" style="padding: 10px;text-align: center">
86
+ <img src="../../../../static/images/addnew.png" @click="showcCreatePlan()"/>
87
+ </div>
88
+ </div>
89
+ </div>
90
+ <!--右侧列表**************************************************************************-->
91
+ <div class="binary-right" style="width: 84%;overflow: auto">
92
+ <div style="height: 5%">
93
+ <div class="col-sm-4">
94
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
95
+ <right-tree-safe :islist="false" :width="'60%'" @re-res="getRes"></right-tree-safe>
96
+ </div>
97
+ </div>
98
+ <div style="height: 95%">
99
+ <div style="height: 50%" class="leftplan-center">
100
+ <check-plan-list :selectplan="selectPlan" :userlogin="userlogin" v-ref:item></check-plan-list>
101
+ </div>
102
+ <div style="height: 50%">
103
+ <check-user-list :selectplan="selectPlan" :userlogin="userlogin" v-ref:user></check-user-list>
104
+ </div>
105
+ </div>
106
+ </div>
107
+ <modal :show.sync="showCondtion" v-ref:modal :width="'50%'" :backdrop="false">
108
+ <div slot="modal-header" class="modal-header">
109
+ <h4 class="modal-title">
110
+ 任务查询条件
111
+ </h4>
112
+ </div>
113
+ <div slot="modal-body" class="modal-body">
114
+ <div class="row">
115
+ <div class="form-group col-sm-4">
116
+ <label class="font_normal_body">任务名称:</label>
117
+ <input type="text" class="input_search" v-model="planCondition.f_plan_name"
118
+ @change="setProperty('checkplan', 'f_plan_name', planCondition.f_plan_name)" style="width: 60%"
119
+ placeholder='请输入'/>
120
+ </div>
121
+ <div class="form-group col-sm-4">
122
+ <label class="font_normal_body">任务年份:</label>
123
+ <v-select class="select select_list" :value.sync="planCondition.f_plan_year"
124
+ v-model="planCondition.f_plan_year"
125
+ @change="setProperty('checkplan', 'f_plan_year', planCondition.f_plan_year)" :search="false"
126
+ :options='getConList("yearList")' placeholder='请选择' close-on-select value-single>
127
+ </v-select>
128
+ </div>
129
+ <div class="form-group col-sm-4">
130
+ <label class="font_normal_body">任务月份:</label>
131
+ <v-select class="select select_list" :value.sync="planCondition.f_plan_month"
132
+ v-model="planCondition.f_plan_month"
133
+ @change="setProperty('checkplan', 'f_plan_month', planCondition.f_plan_month)" :search="false"
134
+ :options='getConList("monthList")' placeholder='请选择' close-on-select value-single>
135
+ </v-select>
136
+ </div>
137
+ <div class="form-group col-sm-4">
138
+ <label class="font_normal_body">是否共享:</label>
139
+ <v-select class="select select_list" :value.sync="planCondition.isShare" v-model="planCondition.isShare"
140
+ @change="setProperty('checkplan', 'isAndNot', planCondition.isShare)"
141
+ :options='getConList("conIsAndNot")'
142
+ :search="false" placeholder='请选择' close-on-select value-single>
143
+ </v-select>
144
+ </div>
145
+ <div class="form-group col-sm-4">
146
+ <label class="font_normal_body">是否下发:</label>
147
+ <v-select class="select select_list" :value.sync="planCondition.issued" v-model="planCondition.issued"
148
+ :options='getConList("isAndNot")'
149
+ @change="setProperty('checkplan', 'issude', planCondition.issued)"
150
+ placeholder='请选择' :search="false" close-on-select value-single>
151
+ </v-select>
152
+ </div>
153
+ <div class="form-group col-sm-4">
154
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
155
+ <v-select class="select select_list" :value.sync="planCondition.f_checker" v-model="planCondition.f_checker"
156
+ @change="setProperty('checkplan', 'checkerid', planCondition.f_checker.id)"
157
+ :options='getConList("checker")'
158
+ placeholder='请选择' close-on-select value-single>
159
+ </v-select>
160
+ </div>
161
+
162
+ <div class="form-group col-sm-4">
163
+ <label class="font_normal_body">安检类型:</label>
164
+ <v-select class="select select_list" :value.sync="planCondition.f_safecheck_type"
165
+ v-model="planCondition.f_safecheck_type"
166
+ @change="setProperty('checkplan', 'safechecktype', planCondition.f_safecheck_type)"
167
+ :options='getConList("safechecktype")' placeholder='请选择' :search="false" close-on-select
168
+ value-single>
169
+ </v-select>
170
+ </div>
171
+ <div class="form-group col-sm-4">
172
+ <label class="font_normal_body">创&ensp;建&ensp;人:</label>
173
+ <input type="text" class="input_search" v-model="planCondition.f_create_operator"
174
+ @change="setProperty('checkplan', 'f_create_operator', planCondition.f_create_operator)"
175
+ style="width: 60%"
176
+ placeholder="创建人"/>
177
+ </div>
178
+ </div>
179
+ </div>
180
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
181
+ <button class="button_search" @click="loadCheckPlan" style="margin-right: 15px">查询</button>
182
+ <button class="button_search" @click="cancel">取消</button>
183
+ </div>
184
+ </modal>
185
+ <modal :show.sync="showCreatePlan" v-ref:modal1 :width="'50%'" :backdrop="false">
186
+ <div slot="modal-header" class="modal-header">
187
+ <h4 class="modal-title">
188
+ 新建任务
189
+ </h4>
190
+ </div>
191
+ <div slot="modal-body" class="modal-body">
192
+ <div class="row">
193
+ <div class="form-group col-sm-4">
194
+ <label class="font_normal_body">任务名称:</label>
195
+ <input type="text" class="input_search" v-model="createPlan.f_plan_name" style="width: 60%"
196
+ placeholder='请输入'/>
197
+ </div>
198
+ <div class="form-group col-sm-4">
199
+ <label class="font_normal_body">任务年份:</label>
200
+ <v-select class="select select_list" :value.sync="createPlan.f_plan_year" v-model="createPlan.f_plan_year"
201
+ :search="false" :options='yearList' placeholder='请选择' close-on-select value-single>
202
+ </v-select>
203
+ </div>
204
+ <div class="form-group col-sm-4">
205
+ <label class="font_normal_body">任务月份:</label>
206
+ <v-select class="select select_list" :value.sync="createPlan.f_plan_month" v-model="createPlan.f_plan_month"
207
+ :search="false" :options='monthList' placeholder='请选择' close-on-select value-single>
208
+ </v-select>
209
+ </div>
210
+ <div class="form-group col-sm-4">
211
+ <label class="font_normal_body">所属计划:</label>
212
+ <v-select class="select select_list" :value.sync="createPlan.f_total_task"
213
+ v-model="createPlan.f_total_task" :search="false" :options='totalTaskList'
214
+ placeholder='请选择'
215
+ close-on-select value-single>
216
+ </v-select>
217
+ </div>
218
+ <div class="form-group col-sm-4">
219
+ <label class="font_normal_body">是否共享:</label>
220
+ <v-select class="select select_list" :search="false" :value.sync="createPlan.isShare"
221
+ v-model="createPlan.isShare" :options='isAndNot' placeholder='请选择' close-on-select
222
+ value-single>
223
+ </v-select>
224
+ </div>
225
+ <div class="form-group col-sm-4">
226
+ <label class="font_normal_body">任务性质:</label>
227
+ <v-select class="select select_list" :search="false" :value.sync="createPlan.f_schedule_type"
228
+ v-model="createPlan.f_schedule_type" :options='schedule_types' placeholder='请选择' close-on-select
229
+ value-single>
230
+ </v-select>
231
+ </div>
232
+ <div class="form-group col-sm-4" v-show="createPlan.isShare == '否'">
233
+ <label class="font_normal_body">部&ensp;&ensp;&ensp;&ensp;门:</label>
234
+ <v-select class="select select_list" :search="false" :value.sync="createPlan.f_department_id"
235
+ v-model="createPlan.f_department_id" :options='departments' @change="departmentChange"
236
+ placeholder='请选择'
237
+ close-on-select value-single>
238
+ </v-select>
239
+ </div>
240
+ <div class="form-group col-sm-4" v-show="createPlan.isShare == '否'">
241
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
242
+ <v-select class="select select_list" :value.sync="createPlan.checker" v-model="createPlan.checker"
243
+ :options='checker' placeholder='请选择' close-on-select value-single>
244
+ </v-select>
245
+ </div>
246
+
247
+ <div class="form-group col-sm-4">
248
+ <label class="font_normal_body">安检类型:</label>
249
+ <v-select class="select select_list" :value.sync="createPlan.f_safecheck_type"
250
+ v-model="createPlan.f_safecheck_type" :search="false" :options='ntoway' placeholder='请选择'
251
+ close-on-select
252
+ value-single>
253
+ </v-select>
254
+ </div>
255
+ <div class="form-group col-sm-4" v-if="createPlan.isShare == '是' && isSeePlanShare">
256
+ <label class="font_normal_body">共享公司:</label>
257
+ <v-select class="select select_list" :value.sync="createPlan.f_share_type" v-model="createPlan.f_share_type"
258
+ :search="false" :options='isAndNot' placeholder='请选择' close-on-select value-single>
259
+ </v-select>
260
+ </div>
261
+ <div class="form-group col-sm-4" v-if="createPlan.isShare == '是' && isSeePlanShare && createPlan.f_share_type == '是'">
262
+ <label class="font_normal_body">分公司名称:</label>
263
+ <v-select class="select select_list" :value.sync="createPlan.f_share_company_name"
264
+ v-model="createPlan.f_share_company_name" :search="false" :options='companyNameList'
265
+ placeholder='请选择'
266
+ close-on-select value-single>
267
+ </v-select>
268
+ </div>
269
+ </div>
270
+ </div>
271
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
272
+ <button class="button_search" style="margin-right: 15px" @click="addNewPlan()">创建任务</button>
273
+ <button class="button_search" @click="cancel">取消</button>
274
+ </div>
275
+ </modal>
276
+ <modal :show.sync="showUpPlan" v-ref:modal2 :backdrop="false">
277
+ <div slot="modal-header" class="modal-header">
278
+ <h4 class="modal-title">
279
+ 修改任务
280
+ </h4>
281
+ </div>
282
+ <div slot="modal-body" class="modal-body">
283
+ <div class="row">
284
+ <div class="form-group col-sm-4">
285
+ <label class="font_normal_body">任务名称:</label>
286
+ <input type="text" class="input_search" v-model="upCheckPlan.f_plan_name" style="width: 60%"/>
287
+ </div>
288
+ <div class="form-group col-sm-4">
289
+ <label class="font_normal_body">任务年份:</label>
290
+ <v-select class="select select_list" :value.sync="upCheckPlan.f_plan_year" v-model="upCheckPlan.f_plan_year"
291
+ :search="false" :value="upCheckPlan.f_plan_year" :options='yearList' close-on-select value-single>
292
+ </v-select>
293
+ </div>
294
+ <div class="form-group col-sm-4">
295
+ <label class="font_normal_body">任务月份:</label>
296
+ <v-select class="select select_list" :value.sync="upCheckPlan.f_plan_month"
297
+ v-model="upCheckPlan.f_plan_month" :options='monthList' close-on-select value-single>
298
+ </v-select>
299
+ </div>
300
+ <div class="form-group col-sm-4">
301
+ <label class="font_normal_body">是否共享:</label>
302
+ <v-select class="select select_list" :search="false" :value.sync="upCheckPlan.isShare"
303
+ v-model="upCheckPlan.isShare" :options='isAndNot' placeholder='请选择' close-on-select
304
+ value-single>
305
+ </v-select>
306
+ </div>
307
+ <div class="form-group col-sm-4" v-show="upCheckPlan.isShare == '否'">
308
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
309
+ <v-select class="select select_list" :value.sync="upCheckPlan.checker" v-model="upCheckPlan.checker"
310
+ :options='checker' close-on-select value-single>
311
+ </v-select>
312
+ </div>
313
+
314
+ <div class="form-group col-sm-4">
315
+ <label class="font_normal_body">安检类型:</label>
316
+ <v-select class="select select_list" :value.sync="upCheckPlan.f_safecheck_type"
317
+ v-model="upCheckPlan.f_safecheck_type" :options='ntoway' close-on-select value-single>
318
+ </v-select>
319
+ </div>
320
+ <div class="form-group col-sm-4" v-if="upCheckPlan.isShare == '是' && isSeePlanShare">
321
+ <label class="font_normal_body">共享公司:</label>
322
+ <v-select class="select select_list" :value.sync="upCheckPlan.f_share_type" v-model="upCheckPlan.f_share_type"
323
+ :search="false" :options='isAndNot' placeholder='请选择' close-on-select value-single>
324
+ </v-select>
325
+ </div>
326
+ <div class="form-group col-sm-6" v-if="upCheckPlan.isShare == '是' && isSeePlanShare && upCheckPlan.f_share_type == '是'">
327
+ <label class="font_normal_body">分公司名称:</label>
328
+ <v-select class="select select_list" :value.sync="upCheckPlan.f_share_company_name"
329
+ v-model="upCheckPlan.f_share_company_name" :search="false" :options='companyNameList'
330
+ placeholder='请选择'
331
+ close-on-select value-single>
332
+ </v-select>
333
+ </div>
334
+ </div>
335
+ </div>
336
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
337
+ <button class="button_search" style="margin-right: 15px" @click="upPlan()">保存修改</button>
338
+ <button class="button_search" @click="cancel">取消</button>
339
+ </div>
340
+ </modal>
341
+ </div>
342
+ </template>
343
+
344
+ <script>
345
+ import {SearchList, HttpResetClass, PagedList} from "vue-client";
346
+ import * as Util from "../../Util";
347
+ import Vue from "vue";
348
+
349
+ export default {
350
+ name: "PlanManage",
351
+ title: '任务管理',
352
+ data() {
353
+ return {
354
+ a: '1',
355
+ totalTaskList: [],
356
+ departments: [],
357
+ companyNameList: [],
358
+ // isSeePlanShare: this.$login.r ? this.$login.r.includes("安检任务共享公司") : true,
359
+ isSeePlanShare: true,
360
+ opt: [{label: "按时间降序", value: "按时间降序"}, {label: "按时间升序", value: "按时间升序"}],
361
+ schedule_types: [{label: "民用", value: "民用"}, {label: "非民用", value: "非民用"}],
362
+ currentorder: '按时间降序',
363
+ isdelete: this.$login.r ? this.$login.r.includes("安检任务删除") : false,
364
+ checkplan: new SearchList(true),
365
+ selectPlan: {id: ''},
366
+ upCheckPlan: {
367
+ f_plan_name: '',
368
+ f_safecheck_type: '',
369
+ f_plan_year: '',
370
+ f_share_type:'',
371
+ f_share_company_name:'',
372
+ f_plan_month: '',
373
+ f_checker_id: '',
374
+ isShare: '',
375
+ f_checker: '',
376
+ checker: {}
377
+ },
378
+ isSend: false,
379
+ createPlan: {
380
+ f_plan_name: '',
381
+ f_total_task_id:'',
382
+ f_plan_year: '',
383
+ f_schedule_type:'民用',
384
+ f_department_id: '',
385
+ f_plan_month: '',
386
+ isShare: '',
387
+ f_share_type: '',
388
+ f_share_company_name: '',
389
+ f_total_task: '',
390
+ f_issued: '否',
391
+ f_checker_id: null,
392
+ checker: {},
393
+ f_checker: null,
394
+ f_safecheck_type: '',
395
+ },
396
+ planCondition: {},
397
+ showCondtion: false,
398
+ showCreatePlan: false,
399
+ showUpPlan: false,
400
+ isAndNot: [{label: '是', value: '是'}, {label: '否', value: '否'}],
401
+ conIsAndNot: [{label: '是', value: 'is null'}, {label: '否', value: 'is not null'}],
402
+ yearList: [{label: 2020, value: 2020}, {label: 2021, value: 2021}, {label: 2022, value: 2022}, {
403
+ label: 2023,
404
+ value: 2023
405
+ }, {label: 2024, value: 2024}, {label: 2025, value: 2025}, {label: 2026, value: 2026}, {
406
+ label: 2027,
407
+ value: 2027
408
+ }, {label: 2028, value: 2028}, {label: 2029, value: 2029}, {label: 2030, value: 2030}],
409
+ monthList: [{label: "1", value: 1}, {label: "2", value: 2}, {label: "3", value: 3}, {
410
+ label: "4",
411
+ value: 4
412
+ }, {label: "5", value: 5}, {label: "6", value: 6}, {label: "7", value: 7}, {label: "8", value: 8}, {
413
+ label: "9",
414
+ value: 9
415
+ }, {label: "10", value: 10}, {label: "11", value: 11}, {label: "12", value: 12}],
416
+ safechecktype: [{label: '年度普检', value: '年度普检'}],
417
+ checker: [],
418
+ checkertCon: [],
419
+ userlogin: {
420
+ id: this.$login.f.id,
421
+ name: this.$login.f.name,
422
+ orgid: this.$login.f.orgid,
423
+ orgstr: this.$login.f.orgs,
424
+ }
425
+ //需要测试直接把下面放开即可
426
+ /*userlogin:{
427
+ id:'141701',
428
+ name:'hwq',
429
+ orgid:'35526',
430
+ orgstr:'西华县天然气有限公司'
431
+ }*/
432
+ }
433
+ },
434
+ async ready() {
435
+ await this.loadpage()
436
+ if (!this.userlogin.orgid) {
437
+ if (this.$login.f.f_orgids) {
438
+ this.userlogin.orgid = this.$login.f.f_orgids.endsWith('.') ? this.$login.f.f_orgids.substring(0, this.$login.f.f_orgids.length - 1) : this.$login.f.f_orgids
439
+ } else {
440
+ this.userlogin.orgid = ''
441
+ }
442
+ }
443
+ },
444
+ computed: {
445
+ ntoway() {
446
+ /*/!* return AppData.getParam('安检类型')*!/*/
447
+ return this.$appdata.getParam('安检类型')
448
+ }
449
+ },
450
+ methods: {
451
+ async departmentChange(val) {
452
+ let res = await new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
453
+ data: {
454
+ items: '*',
455
+ tablename: 't_user',
456
+ condition: `parentid = '${val}'`,
457
+ orderitem: '1'
458
+ }
459
+ }, {resolveMsg: null, rejectMsg: null})
460
+ this.checker = []
461
+ this.checker.push({
462
+ label: '请选择',
463
+ value: ''
464
+ })
465
+ res.data.forEach(ress => {
466
+ this.checker.push({
467
+ label: ress.name,
468
+ value: {name: ress.name, id: ress.id}
469
+ })
470
+ })
471
+ },
472
+ async loadpage() {
473
+ await this.loadCheckPlan()
474
+ await this.loadTotalTaskList()
475
+ await this.loadDepartments()
476
+ await this.loadCompanyNameList()
477
+ },
478
+ async loadCompanyNameList() {
479
+ let res = await new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
480
+ data: {
481
+ items: '*',
482
+ tablename: 't_organization',
483
+ condition: `1=1`,
484
+ orderitem: '1'
485
+ }
486
+ }, {resolveMsg: null, rejectMsg: null})
487
+ this.companyNameList = []
488
+ this.companyNameList.push({
489
+ label: '请选择',
490
+ value: ''
491
+ })
492
+ res.data.forEach(ress => {
493
+ this.companyNameList.push({
494
+ label: ress.name,
495
+ value: ress.name
496
+ })
497
+ })
498
+ },
499
+ async loadDepartments() {
500
+ let res = await new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
501
+ data: {
502
+ items: '*',
503
+ tablename: 't_department',
504
+ condition: `id in (select parentid from t_user group by parentid)`,
505
+ orderitem: '1'
506
+ }
507
+ }, {resolveMsg: null, rejectMsg: null})
508
+ this.departments = []
509
+ this.departments.push({
510
+ label: '请选择',
511
+ value: ''
512
+ })
513
+ res.data.forEach(ress => {
514
+ this.departments.push({
515
+ label: ress.name,
516
+ value: ress.id
517
+ })
518
+ })
519
+ },
520
+ async loadTotalTaskList() {
521
+ let res = await new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
522
+ data: {
523
+ items: '*',
524
+ tablename: 't_total_task',
525
+ // condition: `1=1 and f_company_branch = '${this.$login.f.orgid}'`,
526
+ condition: `1=1`,
527
+ orderitem: 'id'
528
+ }
529
+ }, {resolveMsg: null, rejectMsg: null})
530
+ this.totalTaskList = []
531
+ this.totalTaskList.push({
532
+ label: '请选择',
533
+ value: ''
534
+ })
535
+ res.data.forEach(ress => {
536
+ this.totalTaskList.push({
537
+ label: ress.f_plan_name,
538
+ value: ress
539
+ })
540
+ })
541
+ },
542
+ getRes(obj) {
543
+ console.log("----obj" + JSON.stringify(obj.resids))
544
+ console.log(obj)
545
+ if (obj.resids.length > 0 && obj.resids[0] != this.userlogin.orgid && obj.resids[0]) {
546
+ this.userlogin.orgid = obj.resids[0]
547
+ this.userlogin.orgstr = obj.res[0]
548
+ if (this.$refs.item && this.$refs.user) {
549
+ this.loadpage()
550
+ this.selectPlan = {id: ""}
551
+ this.$refs.item.model.rows = []
552
+ this.$refs.user.model.rows = []
553
+ this.$refs.user.loadpage()
554
+ }
555
+ }
556
+ },
557
+ getConList(field) {
558
+ return [{label: '全部', value: ''}, ...this[field]]
559
+ },
560
+ selectPlanChange(plan) {
561
+ this.selectPlan = plan
562
+ //this.upCheckPlan=plan
563
+ },
564
+ showUserCondition() {
565
+ this.showCondtion = true
566
+ },
567
+ showcCreatePlan() {
568
+ this.showCreatePlan = true
569
+ },
570
+ cancel() {
571
+ this.showCondtion = false
572
+ this.showCreatePlan = false
573
+ this.showUpPlan = false
574
+ },
575
+ //新建任务
576
+ async addNewPlan() {
577
+ if (!this.validationCreatePlan()) {
578
+ return
579
+ }
580
+ this.isSend = true
581
+ let res = await new HttpResetClass().load("POST", "/rs/sql/getCheckplan", {
582
+ data: {
583
+ condition: "f_plan_name='" + this.createPlan.f_plan_name + "'",
584
+ sortfield: 'f_create_time desc'
585
+ }
586
+ })
587
+ console.log("结果-" + res.data.length)
588
+ if (res.data.length > 0) {
589
+ Vue.showMessage("任务名称不能重复!")
590
+ this.isSend = false
591
+ return
592
+ }
593
+ if (this.createPlan.isShare == "是") {
594
+ this.createPlan.f_checker_id = null
595
+ this.createPlan.f_checker = null
596
+ } else {
597
+ this.createPlan.f_checker_id = this.createPlan.checker.id
598
+ this.createPlan.f_checker = this.createPlan.checker.name
599
+ this.createPlan.f_share_type = '否'
600
+ this.createPlan.f_share_company_name = ''
601
+ }
602
+ if (this.createPlan.f_total_task){
603
+ this.createPlan.f_total_task_id = this.createPlan.f_total_task.id
604
+ }
605
+ console.log("this.createPlan.f_checker:" + this.createPlan.f_checker)
606
+ this.createPlan.f_plan_type = '预约计划'
607
+ this.createPlan.f_subcompany = this.userlogin.orgstr
608
+ this.createPlan.f_filialeid = this.userlogin.orgid
609
+ this.createPlan.f_create_operator = this.userlogin.name
610
+ this.createPlan.f_create_time = Util.toStandardTimeString()
611
+ await new HttpResetClass().load('POST', "/rs/logic/createCheckPlan", {"data": this.createPlan}, {
612
+ resolveMsg: '新建任务成功!',
613
+ rejectMsg: '新建任务失败!'
614
+ })
615
+ //await this.loadCheckPlan('',()=>{})
616
+ this.createPlan = {
617
+ f_plan_name: '',
618
+ f_plan_year: '',
619
+ f_plan_month: '',
620
+ f_schedule_type:'民用',
621
+ isShare: '否',
622
+ f_issued: '',
623
+ f_checker_id: null,
624
+ checker: {},
625
+ f_checker: null,
626
+ f_safecheck_type: '',
627
+ f_create_operator: ''
628
+ }
629
+ await this.loadCheckPlan()
630
+ this.isSend = false
631
+
632
+ },
633
+ validationCreatePlan() {
634
+ if (!this.createPlan.f_plan_name) {
635
+ Vue.showMessage("请输入安检任务名称!")
636
+ return false
637
+ }
638
+ if (!this.createPlan.f_plan_year) {
639
+ Vue.showMessage("请选择安检年份!")
640
+ return false
641
+ }
642
+ if (!this.createPlan.f_plan_month) {
643
+ Vue.showMessage("请选择安检月份!")
644
+ return false
645
+ }
646
+ if (!this.createPlan.f_schedule_type) {
647
+ Vue.showMessage("请选择任务性质!")
648
+ return false
649
+ }
650
+ if (this.createPlan.isShare == "否") {
651
+ if (JSON.stringify(this.createPlan.checker) == '{}') {
652
+ Vue.showMessage("请选择安检人员!")
653
+ return false
654
+ }
655
+ } else {
656
+ this.createPlan.f_checker = ''
657
+ }
658
+ if (!this.createPlan.f_safecheck_type) {
659
+ Vue.showMessage("请选择安检类型!")
660
+ return false
661
+ }
662
+ return true
663
+ },
664
+ //查询安检员selectChanged
665
+ async searchChecker(id) {
666
+ let res = await new HttpResetClass().load('POST', '/rs/search', {
667
+ data: {
668
+ source: `this.getSpecialResByType($user$).where(row.getAttributes().get($rolestr$)!=null ).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)`,
669
+ userid: this.userlogin.orgid
670
+ }
671
+ }, {resolveMsg: null, rejectMsg: null})
672
+ let arr = []
673
+ res.data.forEach((resRow) => {
674
+ if (!arr.includes(resRow.name) && resRow.state == '在职') {
675
+ arr.push(resRow.name)
676
+ this.checker.push({label: resRow.name, value: resRow})
677
+ }
678
+ })
679
+ },
680
+ //设置属性值
681
+ setProperty(modulename, property, value) {
682
+ console.log(modulename + "新添--" + property + "--" + value)
683
+ if (value == '全部') {
684
+ this[modulename].search.setField(property, '')
685
+ } else {
686
+ this[modulename].search.setField(property, value)
687
+ }
688
+ },
689
+ //按条件查询所有安检任务
690
+ async loadCheckPlan() {
691
+ this.isSend = true
692
+ this.checkplan.check.checkes = []
693
+ let fieldValue = ''
694
+ switch (this.currentorder) {
695
+ case "按时间降序":
696
+ fieldValue = 'f_create_time desc'
697
+ break
698
+ case "按时间升序":
699
+ fieldValue = 'f_create_time'
700
+ break
701
+ }
702
+ console.log("--------fieldValue" + fieldValue)
703
+ this.cancel()
704
+ await this.checkplan.searchList("/rs/sql/预约计划下发",
705
+ {
706
+ "f_plan_name": "f_plan_name like '%{}%'",
707
+ "f_plan_year": "f_plan_year={}",
708
+ "f_plan_month": "f_plan_month={}",
709
+ "checkerid": "f_checker_id='{}'",
710
+ "isAndNot": "f_checker {}",
711
+ "safechecktype": "f_safecheck_type='{}'",
712
+ "issude": "f_issued = '{}'",
713
+ "f_create_operator": "f_create_operator like '%{}%'"
714
+ },
715
+ {
716
+ orderitem: fieldValue,
717
+ f_filialeids: "('" + this.userlogin.orgid + "')",
718
+ groupitem: ""
719
+ }
720
+ )
721
+
722
+ this.isSend = false
723
+ },
724
+ //加载更多数据
725
+ async loadMore(modelname) {
726
+ this.isSend = true
727
+ await this[modelname].list.loadMore()
728
+ this.isSend = false
729
+ },
730
+ showUpPlans(row) {
731
+ this.upCheckPlan.id = row.id
732
+ this.upCheckPlan.f_safecheck_type = row.f_safecheck_type
733
+ this.upCheckPlan.f_plan_name = row.f_plan_name
734
+ this.upCheckPlan.f_plan_year = row.f_plan_year
735
+ this.upCheckPlan.f_plan_month = row.f_plan_month
736
+ this.upCheckPlan.f_checker_id = row.f_checker_id ? row.f_checker_id : null
737
+ this.upCheckPlan.f_checker = row.f_checker ? row.f_checker : null
738
+ this.upCheckPlan.isShare = row.f_checker_id ? '否' : '是'
739
+ this.upCheckPlan.f_issued = row.f_issued
740
+ this.upCheckPlan.f_share_type = row.f_share_type
741
+ this.upCheckPlan.f_share_company_name = row.f_share_company_name
742
+ this.upCheckPlan.checker = {id: row.f_checker_id, name: row.f_checker}
743
+ this.showUpPlan = true
744
+ },
745
+ async upPlan() {
746
+ // if (this.upCheckPlan.f_issued == '已下发') {
747
+ // this.$showMessage("该任务已下发,无法进行修改!")
748
+ // return
749
+ // }
750
+ if (!this.upCheckPlan.f_plan_name) {
751
+ Vue.showMessage("请输入安检任务名称!")
752
+ return false
753
+ }
754
+ if (!this.upCheckPlan.f_plan_year) {
755
+ Vue.showMessage("请选择安检年份!")
756
+ return false
757
+ }
758
+ if (!this.upCheckPlan.f_plan_month) {
759
+ Vue.showMessage("请选择安检月份!")
760
+ return false
761
+ }
762
+ console.log(this.upCheckPlan)
763
+
764
+ if (this.upCheckPlan.isShare == "是") {
765
+ this.upCheckPlan.f_checker_id = null
766
+ this.upCheckPlan.f_checker = null
767
+ } else {
768
+ this.upCheckPlan.f_checker_id = this.upCheckPlan.checker.id
769
+ this.upCheckPlan.f_checker = this.upCheckPlan.checker.name
770
+ this.createPlan.f_share_type = '否'
771
+ this.createPlan.f_share_company_name = ''
772
+ }
773
+ this.isSend = true
774
+ let res = await new HttpResetClass().load("POST", "/rs/logic/updateCheckPlan", {
775
+ data: {
776
+ f_checker: this.upCheckPlan.f_checker,
777
+ f_safecheck_type: this.upCheckPlan.f_safecheck_type,
778
+ f_checker_id: this.upCheckPlan.f_checker_id,
779
+ f_plan_name: this.upCheckPlan.f_plan_name,
780
+ f_plan_year: this.upCheckPlan.f_plan_year,
781
+ f_plan_month: this.upCheckPlan.f_plan_month,
782
+ f_share_type: this.upCheckPlan.f_share_type,
783
+ f_share_company_name: this.upCheckPlan.f_share_type == '否' ? '' : this.upCheckPlan.f_share_company_name,
784
+ issued:"是",
785
+ f_plan_id: this.upCheckPlan.id
786
+ }
787
+ }, {resolveMsg: null, rejectMsg: null})
788
+ if (res.data.code == 200) {
789
+ this.$showMessage("修改成功!")
790
+ this.cancel()
791
+ await this.loadCheckPlan()
792
+ } else {
793
+ this.$showMessage("修改失败!")
794
+ }
795
+ this.isSend = false
796
+ },
797
+ //下发安检任务
798
+ async sendCheckPlan(f) {
799
+ if (this.checkplan.check.checkes.length < 1) {
800
+ this.$showMessage("请选择要下发的安检任务")
801
+ return
802
+ }
803
+ this.isSend = true
804
+ let res = await new HttpResetClass().load("POST", "/rs/logic/NewBespeakCheckPlan", {
805
+ data: {
806
+ f_issued: '是',
807
+ f_issue_time: Util.toStandardTimeString(),
808
+ f_send_operator: this.userlogin.name,
809
+ param: this.checkplan.check.checkes,
810
+ }
811
+ }, {resolveMsg: null, rejectMsg: null})
812
+ if (res.data.code == 200) {
813
+ //Vue.showMessage("下发成功!其中有"+res.data.repet+"个任务己经是下发状态")
814
+ this.$showMessage("下发成功!")
815
+ } else {
816
+ this.$showMessage("下发失败!")
817
+ }
818
+ await this.loadCheckPlan()
819
+ this.isSend = false
820
+ },
821
+ //删除安检任务
822
+ async delCheckPlan(f) {
823
+ if (this.checkplan.check.checkes.length < 1) {
824
+ this.$showMessage("请选择要删除的安检任务")
825
+ return
826
+ }
827
+ this.isSend = true
828
+ let res = await new HttpResetClass().load("POST", "/rs/logic/deleteCheckPlan", {
829
+ data: {
830
+ f_operator: this.userlogin.name,//global.login.name,
831
+ condition: "",
832
+ switchCheckAll: true,
833
+ checkAll: false,
834
+ param: this.checkplan.check.checkes,
835
+ columnName: "f_plan_id"
836
+ }
837
+ }, {resolveMsg: null, rejectMsg: null})
838
+ console.log(JSON.stringify(res))
839
+ if (res.data.code == 200) {
840
+ this.$showMessage("删除成功!")
841
+ } else {
842
+ this.$showMessage("删除失败!")
843
+ }
844
+ if (this.checkplan.check.checkes.indexOf(this.selectPlan.id) != -1) {
845
+ this.selectPlan = {id: ''}
846
+ console.log("包含了清空selectplan")
847
+ }
848
+ await this.loadCheckPlan()
849
+ this.isSend = false
850
+ },
851
+ async refresh() {
852
+ this.$refs.item.$refs.paged.$refs.criteria.search()
853
+ this.$refs.user.$refs.paged.$refs.criteria.search()
854
+ await this.loadCheckPlan()
855
+ },
856
+ async refreshPlan() {
857
+ this.$refs.item.$refs.paged.$refs.criteria.search()
858
+ await this.loadCheckPlan()
859
+ }
860
+ }
861
+ }
862
+ </script>
863
+
864
+ <style scoped>
865
+ .safe-planfont {
866
+ font-family: MicrosoftYaHei;
867
+ font-size: 15px;
868
+ font-weight: normal;
869
+ font-stretch: normal;
870
+ letter-spacing: 2px;
871
+ color: #333333;
872
+ line-height: 25px;
873
+ }
874
+
875
+ .safe-bodyfont {
876
+ font-family: MicrosoftYaHei;
877
+ font-size: 14px;
878
+ font-weight: normal;
879
+ font-stretch: normal;
880
+ letter-spacing: 0px;
881
+ color: #999999;
882
+ line-height: 30px;
883
+ }
884
+
885
+ .safe-leftplan {
886
+ height: auto;
887
+ border-bottom: 1px solid #ececec;
888
+ padding: 10px 5px
889
+ }
890
+
891
+ .leftplan-center {
892
+ border-top: 1px solid #ececec;
893
+ border-bottom: 1px solid #ececec;
894
+ }
895
+
896
+ .safe_p {
897
+ white-space: nowrap;
898
+ overflow: hidden;
899
+ text-overflow: ellipsis;
900
+ }
901
+
902
+ .safe-div-p {
903
+ color: #4792de;
904
+ text-align: end;
905
+ padding: 8px 15px;
906
+ }
907
+
908
+ .safe_list_li:hover {
909
+ background-color: rgb(245, 246, 247);
910
+ }
911
+
912
+ .safe-selectplan {
913
+ pointer-events: none;
914
+ background-color: rgb(216, 234, 251);
915
+ }
916
+
917
+ .safe_plan_list {
918
+ height: 80%;
919
+ overflow: scroll;
920
+ }
921
+ </style>
922
+ <style>
923
+ .safe_plan_list::-webkit-scrollbar {
924
+ background-color: #F5F5F5;
925
+ }
926
+
927
+ /*定义滚动条轨道 内阴影+圆角*/
928
+ .safe_plan_list::-webkit-scrollbar-track {
929
+ -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
930
+ border-radius: 10px;
931
+ background-color: #F5F5F5;
932
+ }
933
+
934
+ /*定义滑块 内阴影+圆角*/
935
+ .safe_plan_list::-webkit-scrollbar-thumb {
936
+ border-radius: 10px;
937
+ -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
938
+ background-color: #F5F5F5;
939
+ }
940
+ </style>