apply-clients 4.0.64 → 4.0.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/package.json +1 -1
  2. package/src/apply.js +1 -0
  3. package/src/components/product/Function/InstallInfoSelect.vue +239 -239
  4. package/src/components/product/ImageUpload1.vue +623 -0
  5. package/src/components/product/Process/ExplorationSelect.vue +463 -463
  6. package/src/components/product/Process/Processes/BatchItem.vue +507 -507
  7. package/src/components/product/Statistics/ApplyPaySearch/ApplyCheckBill.vue +1 -1
  8. package/src/components/product/Statistics/ApplyPaySearch/ApplyPaySearch.vue +1 -1
  9. package/src/components/product/Statistics/ApplyPaySearch/MaterialSummary.vue +1 -1
  10. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +17 -1
  11. package/src/components/product/Supervisory/SupervisoryControl.vue +157 -157
  12. package/src/components/product/Supervisory/SupervisoryList.vue +450 -450
  13. package/.gradle/5.2.1/executionHistory/executionHistory.bin +0 -0
  14. package/.gradle/5.2.1/executionHistory/executionHistory.lock +0 -0
  15. package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
  16. package/.gradle/5.2.1/fileHashes/fileHashes.bin +0 -0
  17. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  18. package/.gradle/5.2.1/gc.properties +0 -0
  19. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  20. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  21. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  22. package/.gradle/vcs-1/gc.properties +0 -0
  23. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  24. package/gradle/wrapper/gradle-wrapper.properties +0 -5
  25. package/gradlew +0 -172
  26. package/gradlew.bat +0 -84
@@ -1,463 +1,463 @@
1
- <template>
2
- <div class="d1">
3
- <div class="left col-sm-12" v-if="showselect">
4
- <criteria-paged :model="model" v-ref:cp>
5
- <criteria partial='criteria' @condition-changed='search' v-ref:cri>
6
- <form novalidate class="" partial>
7
- <div class="col-sm-12">
8
- <div class="col-sm-1">
9
- <div class="col-sm-12">
10
- <input type="text" class="form-control" placeholder='客户名称' v-model="model.f_user_name"
11
- v-on:keyup.enter="search"
12
- condition="f_user_name like '%{}%'">
13
- </div>
14
- </div>
15
- <div class="col-sm-1">
16
- <input type="text" class="form-control" placeholder='电话号码' v-model="model.f_phone"
17
- v-on:keyup.enter="search"
18
- condition="f_phone like '%{}%'">
19
- </div>
20
- <div class="col-sm-1">
21
- <div class="col-sm-12">
22
- <input type="text" class="form-control" placeholder='报建编号' v-model="model.f_apply_num"
23
- v-on:keyup.enter="search"
24
- condition="f_apply_num like '%{}%'">
25
- </div>
26
- </div>
27
- <div class="col-sm-1">
28
- <div class="col-sm-12">
29
- <input type="text" class="form-control" placeholder='用户地址' v-model="model.f_address"
30
- v-on:keyup.enter="search"
31
- condition="f_address like '%{}%'">
32
- </div>
33
- </div>
34
- <div class="col-sm-2 form-group form-input-group">
35
- <label class="control-label">办理环节</label>
36
- <v-select @change="$dispatch('setQueryCondition',model)" :options="$parent.$parent.defnames"
37
- condition="defname = '{}'" placeholder='流程环节'
38
- v-model="model.defname" :value.sync="model.defname" close-on-select>
39
- </v-select>
40
- </div>
41
- <div class="col-sm-1 form-group">
42
- <v-select :width ="'100%'" style="width: 100%" :options="$parent.$parent.f_is_gas" placeholder='现场勘察' condition="f_is_gas = '{}'"
43
- v-model="model.f_is_gas" :value.sync="model.f_is_gas" close-on-select>
44
- </v-select>
45
- </div>
46
- <!--<div class="col-sm-2 form-group form-input-group">-->
47
- <!--<label class="control-label">办理人</label>-->
48
- <!--<v-select @change="$dispatch('setQueryCondition',model)" :options="$parent.$parent.persons"-->
49
- <!--condition="applysite like '%{}%'" placeholder='办理人'-->
50
- <!--v-model="model.applysite" :value.sync="model.applysite" close-on-select>-->
51
- <!--</v-select>-->
52
- <!--</div>-->
53
- <!--<div class="col-sm-1">-->
54
- <!--<v-select :options="$parent.$parent.usertype" placeholder='用户类型' condition="f_user_type like '{}%'"-->
55
- <!--v-model="model.f_user_type" :value.sync="model.f_user_type" close-on-select>-->
56
- <!--</v-select>-->
57
- <!--</div>-->
58
- <!--<div class="col-sm-1">-->
59
- <!--<v-select :options="$parent.$parent.defnameType" placeholder='流程状态' condition="act.defname like '%{}%'"-->
60
- <!--v-model="model.defname" :value.sync="model.defname" close-on-select>-->
61
- <!--</v-select>-->
62
- <!--</div>-->
63
- <!--<div class="col-sm-1">-->
64
- <!--<v-select :options="$parent.$parent.applytype" placeholder='报建类型' condition="f_apply_type like '{}%'"-->
65
- <!--v-model="model.f_apply_type" :value.sync="model.f_apply_type" close-on-select>-->
66
- <!--</v-select>-->
67
- <!--</div>-->
68
- <div class="col-sm-1">
69
- <button class="btn btn-primary btn-sm width-80" type="button"
70
- @click="$parent.$parent.searchNow(),$parent.$parent.close()">
71
- <span class="glyphicon glyphicon-search"></span>{{$parent.$parent.buttonmsg=='查询'?'查询':'返回'}}
72
- </button>
73
- </div>
74
- <div class="col-sm-1" v-for="(index,start_activity) in $workflow_vue.start_activitys">
75
- <button class="btn btn-primary btn-sm" type="button"
76
- @click="$parent.$parent.$parent.addactive(start_activity)">
77
- <span class="glyphicon glyphicon-plus"></span>{{start_activity}}
78
- </button>
79
- </div>
80
- </div>
81
- </form>
82
- </criteria>
83
- <data-grid :model="model" partial='list' v-ref:grid class="data-grid" is-fixed='false' style="overflow-x:auto">
84
- <template partial='head'>
85
- <tr class="title">
86
- <th>
87
- <nobr>序号</nobr>
88
- </th>
89
- <th>
90
- <nobr>流程状态</nobr>
91
- </th>
92
- <th>
93
- <nobr>报建编号</nobr>
94
- </th>
95
- <th>
96
- <nobr>用户姓名</nobr>
97
- </th>
98
- <th>
99
- <nobr>用气性质</nobr>
100
- </th>
101
- <th>
102
- <nobr>电话</nobr>
103
- </th>
104
- <th>
105
- <nobr>地址</nobr>
106
- </th>
107
-
108
- <!--<th>-->
109
- <!--<nobr>报建类型</nobr>-->
110
- <!--</th>-->
111
- <th>
112
- <nobr>报建日期</nobr>
113
- </th>
114
-
115
- <th>
116
- <nobr>操作</nobr>
117
- </th>
118
- </tr>
119
- </template>
120
- <template partial='body'>
121
- <tr>
122
- <td style="text-align: center;">
123
- <nobr><font>{{$index+1}}</font></nobr>
124
- </td>
125
- <td style="text-align: center;">
126
- <nobr><font>{{row.defname}}</font></nobr>
127
- </td>
128
- <td style="text-align: center;">
129
- <nobr><font>{{row.f_apply_num}}</font></nobr>
130
- </td>
131
- <td style="text-align: center;">
132
- <nobr><font>{{row.f_user_name}}</font></nobr>
133
- </td>
134
- <td style="text-align: center;">
135
- <nobr><font>{{row.f_gas_type}}</font></nobr>
136
- </td>
137
- <td style="text-align: center;">
138
- <nobr><font>{{row.f_phone}}</font></nobr>
139
- </td>
140
- <td style="text-align: center;">
141
- <nobr><font>{{row.f_address}}</font></nobr>
142
- </td>
143
- <!--<td style="text-align: center;">-->
144
- <!--<nobr><font>{{row.f_apply_type}}</font></nobr>-->
145
- <!--</td>-->
146
- <td style="text-align: center;">
147
- <nobr><font>{{row.f_apply_date}}</font></nobr>
148
- </td>
149
- <td style="text-align: center;">
150
- <dropdown v-if="row.defname != '完工'">
151
- <button type="button" data-toggle="dropdown" style="border: 0px;background: none;">
152
- <span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>
153
- </button>
154
- <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">
155
- <li>
156
- <a href="#" @click="$parent.$parent.$parent.check(row)">{{row.defname}}</a>
157
- </li>
158
- </ul>
159
- </dropdown>
160
- </td>
161
- </tr>
162
- </template>
163
- </data-grid>
164
- </criteria-paged>
165
- </div>
166
- </div>
167
- </template>
168
- <script>
169
- import * as Util from '../../Util'
170
- import {
171
- PagedList
172
- } from 'vue-client'
173
- import getNowDate from '../../getNowDate.js'
174
- import {HttpResetClass} from 'vue-client'
175
-
176
- export default {
177
- title: '勘探详情',
178
- data() {
179
- return {
180
- f_is_gas: [{label:"全部",value:''}, {label:"符合规范要求",value:'符合规范要求'}, {label:"不符合规范要求",value:'不符合规范要求'}],
181
- defnames: [],
182
- persons: [],
183
- timer: null,
184
- timer1: null,
185
- showselect: true,
186
- buttonmsg: '查询',
187
- remindTime: 5,//超时提醒时间
188
- isOverNum: 0,//报建是否提醒过
189
- model: new PagedList('rs/sql/checkuser', 20, {
190
- data: {
191
- id: this.$login.f.id,
192
- fengongsi: this.$login.f.f_fengongsi
193
- }
194
- }),
195
- condition: '',
196
- select: ''
197
- }
198
- },
199
- ready() {
200
- let http = new HttpResetClass()
201
- http.load('POST', 'rs/sql/getDefnamesForActivityins', {data: {}}, {
202
- resolveMsg: null,
203
- rejectMsg: null
204
- }).then((res) => {
205
- // 先获取所有流程环节
206
- this.defnames = [{label: '全部', value: ''}]
207
- for (let i = 0; i < res.data.length; i++) {
208
- this.defnames.push({label: res.data[i].defname, value: res.data[i].defname})
209
- }
210
- })
211
- let http2 = new HttpResetClass()
212
- http2.load('POST', 'rs/sql/getPersonsForActivityins', {data: {}}, {
213
- resolveMsg: null,
214
- rejectMsg: null
215
- }).then((res) => {
216
- // 先获取所有流程环节
217
- this.persons = [{label: '全部', value: ''}]
218
- for (let i = 0; i < res.data.length; i++) {
219
- this.persons.push({label: res.data[i].person, value: res.data[i].person})
220
- }
221
- })
222
-
223
- //debugger
224
- let str = '报建语音提醒时间'
225
- this.$refs.cp.$refs.cri.search()
226
- str = '超时提前提醒时间'
227
- //this.loadSingleValue(str)
228
- let self = this
229
- this.buttonmsg = '查询'
230
- console.log('燃气品牌信息', this.$ApplyGetSaleParam.gasbrands)
231
- console.log('登录信息', this.$login)
232
- },
233
-
234
- methods: {
235
- generateUUID() {
236
- var d = new Date().getTime()
237
- var uuid = 'xxxxxxxx-xxxx-xxxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
238
- var r = (d + Math.random() * 16) % 16 | 0
239
- d = Math.floor(d / 16)
240
- return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16)
241
- })
242
- return uuid
243
- },
244
- searchNow() {
245
- this.$refs.cp.$refs.cri.search()
246
- },
247
- async addactive(modify) {
248
- this.$workflow_vue.start_activity = modify
249
- let http = new HttpResetClass()
250
- let res = await http.load('POST', 'rs/logic/ApplyGetProcessID', {
251
- data: {
252
- filename: this.$workflow_vue.workflow_xmlfilename,
253
- start_activity: this.$workflow_vue.start_activity
254
- }
255
- }, {resolveMsg: null, rejectMsg: '获取流程ID失败,请联系开发人员'})
256
- this.$refs.cp.pager = false
257
- let val = {
258
- defname: this.$workflow_vue.start_activity,
259
- f_process_id: res.data.f_process_id,
260
- f_apply_date: Util.toStandardTimeString(),
261
- f_apply_num: this.generateUUID(),
262
- f_apply_operator_telephone: this.$login.f.f_fgsdianhua
263
- }
264
- // // 如果是改装,将modify装入val
265
- // if(modify){
266
- // modify.f_customer_type = '个人'
267
- // modify.f_apply_type = '改装登记'
268
- // modify.f_phone = modify.f_user_phone
269
- // let temp = modify.f_residential_area
270
- // modify.f_residential_area = modify.f_area
271
- // modify.f_area = temp
272
- // Object.assign(val,modify)
273
- // }
274
-
275
- console.log(112 + JSON.stringify(this.$login.f.f_apply_department))
276
- this.$dispatch('check', val)
277
- this.$dispatch('changeheight')
278
- this.$dispatch('addactive')
279
- },
280
- // 改装申请
281
- modify() {
282
- // 调出改装申请界面
283
- this.$parent.show = false
284
- }
285
- ,
286
- check(val) {
287
- this.$dispatch('check', val)
288
- this.$dispatch('addactive')
289
- }
290
- ,
291
- close() {
292
- this.$dispatch('close')
293
- }
294
- ,
295
- compare(val) {
296
- val === '完工'
297
- console.log('完工', val)
298
- return false
299
- },
300
-
301
- /* // 获取数据
302
- loadSingleValue(str) {
303
- debugger
304
- let http = new HttpResetClass()
305
- let data = {
306
- singlename: str,
307
- //预先提醒时间
308
-
309
- }
310
- http.load('POST', 'rs/sql/findsingle', {data: data}, {resolveMsg: null, rejectMsg: '获取语音提醒时间失败'}).then((res) => {
311
- console.log('-----------------进去之前-----------'+JSON.stringify(res))
312
- let flag1=false
313
- let flag2=false
314
- if (res.data.length==0){
315
- flag1=true
316
- console.log('没有单值'+flag1)
317
- flag2=false
318
- }else if (res.data[0].value==0) {
319
- flag2=true
320
- console.log('为0')
321
- flag1=false
322
- }else{
323
- if (str==='报建语音提醒时间'){
324
- this.remindTime = res.data[0].value
325
- }
326
- console.log('为'+res.data[0].value)
327
- flag1=false
328
- flag2=false
329
- }
330
-
331
- if (this.isOverNum==0){
332
- if (flag1){
333
- console.log('不启动定时器')
334
-
335
- }else if (flag2) {
336
- console.log('启动定时器out')
337
- this.setOut()
338
- }else{
339
- console.log('启动定时器timer和out')
340
- this.setTimer()
341
- this.setOut()
342
- }
343
- this.isOverNum++;
344
- } else{
345
- this.isOverNum=0;
346
- }
347
-
348
-
349
- },(res)=>{
350
- //响应错误回调
351
- console.log('响应错误')
352
- })
353
-
354
- },
355
- setTimer() {
356
- if(this.timer == null) {
357
- this.timer = setInterval( () => {
358
- console.log('开始定时...每过5秒执行一次')
359
- this.$refs.cp.$refs.cri.search()
360
- console.log('数据已刷新')
361
- this.eachFind()
362
- console.log('eachfind完毕');
363
- }, 60*1000*this.remindTime)
364
- }
365
- },
366
- setOut() {
367
- if(this.timer1 == null) {
368
- this.timer1 = setTimeout( () => {
369
- console.log('开始setTimeout')
370
- this.eachFind()
371
- console.log('setTimeout完毕');
372
- }, 1000)
373
- }
374
- },
375
- //语音提醒
376
- speckText(str) {
377
- var url= "http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=6&text=" + encodeURI(str);
378
- new Audio(url).play();
379
-
380
- },
381
-
382
- eachFind() {
383
- debugger
384
- let arr = this.$refs.cp.$refs.grid.model.rows
385
- let overNumString1=''
386
- let flagNum1=1
387
- for(let val of arr) {
388
- console.log(val.isbeforeover)
389
- if (val.isbeforeover==='预期提醒'){
390
- console.log('flagNUm:'+flagNum1);
391
- if (flagNum1==1){
392
- overNumString1=flagNum1+'条'
393
- flagNum1=flagNum1+1
394
- }else{
395
- overNumString1=overNumString1+'和第'+flagNum1+'条'
396
- flagNum1=flagNum1+1
397
- }
398
- }
399
- }
400
- if (flagNum1!=1){
401
- console.log(overNumString1);
402
- this.speckText('请注意:第:'+overNumString1+'数据即将过期')
403
- }
404
- console.log('语音播放完毕');
405
- }*/
406
- },
407
- events: {
408
- },
409
- created: function () {
410
- clearInterval(this.timer)
411
- clearInterval(this.timer1)
412
- this.timer = null
413
- this.timer1 = null
414
- },
415
- beforeDestroy() {
416
- clearInterval(this.timer)
417
- clearInterval(this.timer1)
418
- this.timer = null
419
- this.timer1 = null
420
- },
421
- computed: {
422
- date() {
423
- return getNowDate()
424
- }
425
- ,
426
- selected() {
427
- return this.$refs.cp.$refs.grid.selected
428
- }
429
- }
430
- }
431
- </script>
432
- <style scoped>
433
- label {
434
- display: flex;
435
- justify-content: center;
436
- align-items: Center;
437
- padding-top: 8px;
438
- }
439
-
440
- tr.title {
441
- background-color: #6666ff;
442
- }
443
-
444
- td {
445
- text-align: center;
446
- }
447
-
448
- /* .active{
449
- color: Crimson;
450
- }
451
- .p{
452
- color: green;
453
- }*/
454
-
455
- .p1 {
456
- color: #dc0b12;
457
- font-weight: bold
458
- }
459
-
460
- .p {
461
- color: #ffaf4f;
462
- }
463
- </style>
1
+ <template>
2
+ <div class="d1">
3
+ <div class="left col-sm-12" v-if="showselect">
4
+ <criteria-paged :model="model" v-ref:cp>
5
+ <criteria partial='criteria' @condition-changed='search' v-ref:cri>
6
+ <form novalidate class="" partial>
7
+ <div class="col-sm-12">
8
+ <div class="col-sm-1">
9
+ <div class="col-sm-12">
10
+ <input type="text" class="form-control" placeholder='客户名称' v-model="model.f_user_name"
11
+ v-on:keyup.enter="search"
12
+ condition="f_user_name like '%{}%'">
13
+ </div>
14
+ </div>
15
+ <div class="col-sm-1">
16
+ <input type="text" class="form-control" placeholder='电话号码' v-model="model.f_phone"
17
+ v-on:keyup.enter="search"
18
+ condition="f_phone like '%{}%'">
19
+ </div>
20
+ <div class="col-sm-1">
21
+ <div class="col-sm-12">
22
+ <input type="text" class="form-control" placeholder='报建编号' v-model="model.f_apply_num"
23
+ v-on:keyup.enter="search"
24
+ condition="f_apply_num like '%{}%'">
25
+ </div>
26
+ </div>
27
+ <div class="col-sm-1">
28
+ <div class="col-sm-12">
29
+ <input type="text" class="form-control" placeholder='用户地址' v-model="model.f_address"
30
+ v-on:keyup.enter="search"
31
+ condition="f_address like '%{}%'">
32
+ </div>
33
+ </div>
34
+ <div class="col-sm-2 form-group form-input-group">
35
+ <label class="control-label">办理环节</label>
36
+ <v-select @change="$dispatch('setQueryCondition',model)" :options="$parent.$parent.defnames"
37
+ condition="defname = '{}'" placeholder='流程环节'
38
+ v-model="model.defname" :value.sync="model.defname" close-on-select>
39
+ </v-select>
40
+ </div>
41
+ <div class="col-sm-1 form-group">
42
+ <v-select :width ="'100%'" style="width: 100%" :options="$parent.$parent.f_is_gas" placeholder='现场勘察' condition="f_is_gas = '{}'"
43
+ v-model="model.f_is_gas" :value.sync="model.f_is_gas" close-on-select>
44
+ </v-select>
45
+ </div>
46
+ <!--<div class="col-sm-2 form-group form-input-group">-->
47
+ <!--<label class="control-label">办理人</label>-->
48
+ <!--<v-select @change="$dispatch('setQueryCondition',model)" :options="$parent.$parent.persons"-->
49
+ <!--condition="applysite like '%{}%'" placeholder='办理人'-->
50
+ <!--v-model="model.applysite" :value.sync="model.applysite" close-on-select>-->
51
+ <!--</v-select>-->
52
+ <!--</div>-->
53
+ <!--<div class="col-sm-1">-->
54
+ <!--<v-select :options="$parent.$parent.usertype" placeholder='用户类型' condition="f_user_type like '{}%'"-->
55
+ <!--v-model="model.f_user_type" :value.sync="model.f_user_type" close-on-select>-->
56
+ <!--</v-select>-->
57
+ <!--</div>-->
58
+ <!--<div class="col-sm-1">-->
59
+ <!--<v-select :options="$parent.$parent.defnameType" placeholder='流程状态' condition="act.defname like '%{}%'"-->
60
+ <!--v-model="model.defname" :value.sync="model.defname" close-on-select>-->
61
+ <!--</v-select>-->
62
+ <!--</div>-->
63
+ <!--<div class="col-sm-1">-->
64
+ <!--<v-select :options="$parent.$parent.applytype" placeholder='报建类型' condition="f_apply_type like '{}%'"-->
65
+ <!--v-model="model.f_apply_type" :value.sync="model.f_apply_type" close-on-select>-->
66
+ <!--</v-select>-->
67
+ <!--</div>-->
68
+ <div class="col-sm-1">
69
+ <button class="btn btn-primary btn-sm width-80" type="button"
70
+ @click="$parent.$parent.searchNow(),$parent.$parent.close()">
71
+ <span class="glyphicon glyphicon-search"></span>{{$parent.$parent.buttonmsg=='查询'?'查询':'返回'}}
72
+ </button>
73
+ </div>
74
+ <div class="col-sm-1" v-for="(index,start_activity) in $workflow_vue.start_activitys">
75
+ <button class="btn btn-primary btn-sm" type="button"
76
+ @click="$parent.$parent.$parent.addactive(start_activity)">
77
+ <span class="glyphicon glyphicon-plus"></span>{{start_activity}}
78
+ </button>
79
+ </div>
80
+ </div>
81
+ </form>
82
+ </criteria>
83
+ <data-grid :model="model" partial='list' v-ref:grid class="data-grid" is-fixed='false' style="overflow-x:auto">
84
+ <template partial='head'>
85
+ <tr class="title">
86
+ <th>
87
+ <nobr>序号</nobr>
88
+ </th>
89
+ <th>
90
+ <nobr>流程状态</nobr>
91
+ </th>
92
+ <th>
93
+ <nobr>报建编号</nobr>
94
+ </th>
95
+ <th>
96
+ <nobr>用户姓名</nobr>
97
+ </th>
98
+ <th>
99
+ <nobr>用气性质</nobr>
100
+ </th>
101
+ <th>
102
+ <nobr>电话</nobr>
103
+ </th>
104
+ <th>
105
+ <nobr>地址</nobr>
106
+ </th>
107
+
108
+ <!--<th>-->
109
+ <!--<nobr>报建类型</nobr>-->
110
+ <!--</th>-->
111
+ <th>
112
+ <nobr>报建日期</nobr>
113
+ </th>
114
+
115
+ <th>
116
+ <nobr>操作</nobr>
117
+ </th>
118
+ </tr>
119
+ </template>
120
+ <template partial='body'>
121
+ <tr>
122
+ <td style="text-align: center;">
123
+ <nobr><font>{{$index+1}}</font></nobr>
124
+ </td>
125
+ <td style="text-align: center;">
126
+ <nobr><font>{{row.defname}}</font></nobr>
127
+ </td>
128
+ <td style="text-align: center;">
129
+ <nobr><font>{{row.f_apply_num}}</font></nobr>
130
+ </td>
131
+ <td style="text-align: center;">
132
+ <nobr><font>{{row.f_user_name}}</font></nobr>
133
+ </td>
134
+ <td style="text-align: center;">
135
+ <nobr><font>{{row.f_gas_type}}</font></nobr>
136
+ </td>
137
+ <td style="text-align: center;">
138
+ <nobr><font>{{row.f_phone}}</font></nobr>
139
+ </td>
140
+ <td style="text-align: center;">
141
+ <nobr><font>{{row.f_address}}</font></nobr>
142
+ </td>
143
+ <!--<td style="text-align: center;">-->
144
+ <!--<nobr><font>{{row.f_apply_type}}</font></nobr>-->
145
+ <!--</td>-->
146
+ <td style="text-align: center;">
147
+ <nobr><font>{{row.f_apply_date}}</font></nobr>
148
+ </td>
149
+ <td style="text-align: center;">
150
+ <dropdown v-if="row.defname != '完工'">
151
+ <button type="button" data-toggle="dropdown" style="border: 0px;background: none;">
152
+ <span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>
153
+ </button>
154
+ <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">
155
+ <li>
156
+ <a href="#" @click="$parent.$parent.$parent.check(row)">{{row.defname}}</a>
157
+ </li>
158
+ </ul>
159
+ </dropdown>
160
+ </td>
161
+ </tr>
162
+ </template>
163
+ </data-grid>
164
+ </criteria-paged>
165
+ </div>
166
+ </div>
167
+ </template>
168
+ <script>
169
+ import * as Util from '../../Util'
170
+ import {
171
+ PagedList
172
+ } from 'vue-client'
173
+ import getNowDate from '../../getNowDate.js'
174
+ import {HttpResetClass} from 'vue-client'
175
+
176
+ export default {
177
+ title: '勘探详情',
178
+ data() {
179
+ return {
180
+ f_is_gas: [{label:"全部",value:''}, {label:"符合规范要求",value:'符合规范要求'}, {label:"不符合规范要求",value:'不符合规范要求'}],
181
+ defnames: [],
182
+ persons: [],
183
+ timer: null,
184
+ timer1: null,
185
+ showselect: true,
186
+ buttonmsg: '查询',
187
+ remindTime: 5,//超时提醒时间
188
+ isOverNum: 0,//报建是否提醒过
189
+ model: new PagedList('rs/sql/checkuser', 20, {
190
+ data: {
191
+ id: this.$login.f.id,
192
+ fengongsi: this.$login.f.f_fengongsi
193
+ }
194
+ }),
195
+ condition: '',
196
+ select: ''
197
+ }
198
+ },
199
+ ready() {
200
+ let http = new HttpResetClass()
201
+ http.load('POST', 'rs/sql/getDefnamesForActivityins', {data: {}}, {
202
+ resolveMsg: null,
203
+ rejectMsg: null
204
+ }).then((res) => {
205
+ // 先获取所有流程环节
206
+ this.defnames = [{label: '全部', value: ''}]
207
+ for (let i = 0; i < res.data.length; i++) {
208
+ this.defnames.push({label: res.data[i].defname, value: res.data[i].defname})
209
+ }
210
+ })
211
+ let http2 = new HttpResetClass()
212
+ http2.load('POST', 'rs/sql/getPersonsForActivityins', {data: {}}, {
213
+ resolveMsg: null,
214
+ rejectMsg: null
215
+ }).then((res) => {
216
+ // 先获取所有流程环节
217
+ this.persons = [{label: '全部', value: ''}]
218
+ for (let i = 0; i < res.data.length; i++) {
219
+ this.persons.push({label: res.data[i].person, value: res.data[i].person})
220
+ }
221
+ })
222
+
223
+ //debugger
224
+ let str = '报建语音提醒时间'
225
+ this.$refs.cp.$refs.cri.search()
226
+ str = '超时提前提醒时间'
227
+ //this.loadSingleValue(str)
228
+ let self = this
229
+ this.buttonmsg = '查询'
230
+ console.log('燃气品牌信息', this.$ApplyGetSaleParam.gasbrands)
231
+ console.log('登录信息', this.$login)
232
+ },
233
+
234
+ methods: {
235
+ generateUUID() {
236
+ var d = new Date().getTime()
237
+ var uuid = 'xxxxxxxx-xxxx-xxxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
238
+ var r = (d + Math.random() * 16) % 16 | 0
239
+ d = Math.floor(d / 16)
240
+ return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16)
241
+ })
242
+ return uuid
243
+ },
244
+ searchNow() {
245
+ this.$refs.cp.$refs.cri.search()
246
+ },
247
+ async addactive(modify) {
248
+ this.$workflow_vue.start_activity = modify
249
+ let http = new HttpResetClass()
250
+ let res = await http.load('POST', 'rs/logic/ApplyGetProcessID', {
251
+ data: {
252
+ filename: this.$workflow_vue.workflow_xmlfilename,
253
+ start_activity: this.$workflow_vue.start_activity
254
+ }
255
+ }, {resolveMsg: null, rejectMsg: '获取流程ID失败,请联系开发人员'})
256
+ this.$refs.cp.pager = false
257
+ let val = {
258
+ defname: this.$workflow_vue.start_activity,
259
+ f_process_id: res.data.f_process_id,
260
+ f_apply_date: Util.toStandardTimeString(),
261
+ f_apply_num: this.generateUUID(),
262
+ f_apply_operator_telephone: this.$login.f.f_fgsdianhua
263
+ }
264
+ // // 如果是改装,将modify装入val
265
+ // if(modify){
266
+ // modify.f_customer_type = '个人'
267
+ // modify.f_apply_type = '改装登记'
268
+ // modify.f_phone = modify.f_user_phone
269
+ // let temp = modify.f_residential_area
270
+ // modify.f_residential_area = modify.f_area
271
+ // modify.f_area = temp
272
+ // Object.assign(val,modify)
273
+ // }
274
+
275
+ console.log(112 + JSON.stringify(this.$login.f.f_apply_department))
276
+ this.$dispatch('check', val)
277
+ this.$dispatch('changeheight')
278
+ this.$dispatch('addactive')
279
+ },
280
+ // 改装申请
281
+ modify() {
282
+ // 调出改装申请界面
283
+ this.$parent.show = false
284
+ }
285
+ ,
286
+ check(val) {
287
+ this.$dispatch('check', val)
288
+ this.$dispatch('addactive')
289
+ }
290
+ ,
291
+ close() {
292
+ this.$dispatch('close')
293
+ }
294
+ ,
295
+ compare(val) {
296
+ val === '完工'
297
+ console.log('完工', val)
298
+ return false
299
+ },
300
+
301
+ /* // 获取数据
302
+ loadSingleValue(str) {
303
+ debugger
304
+ let http = new HttpResetClass()
305
+ let data = {
306
+ singlename: str,
307
+ //预先提醒时间
308
+
309
+ }
310
+ http.load('POST', 'rs/sql/findsingle', {data: data}, {resolveMsg: null, rejectMsg: '获取语音提醒时间失败'}).then((res) => {
311
+ console.log('-----------------进去之前-----------'+JSON.stringify(res))
312
+ let flag1=false
313
+ let flag2=false
314
+ if (res.data.length==0){
315
+ flag1=true
316
+ console.log('没有单值'+flag1)
317
+ flag2=false
318
+ }else if (res.data[0].value==0) {
319
+ flag2=true
320
+ console.log('为0')
321
+ flag1=false
322
+ }else{
323
+ if (str==='报建语音提醒时间'){
324
+ this.remindTime = res.data[0].value
325
+ }
326
+ console.log('为'+res.data[0].value)
327
+ flag1=false
328
+ flag2=false
329
+ }
330
+
331
+ if (this.isOverNum==0){
332
+ if (flag1){
333
+ console.log('不启动定时器')
334
+
335
+ }else if (flag2) {
336
+ console.log('启动定时器out')
337
+ this.setOut()
338
+ }else{
339
+ console.log('启动定时器timer和out')
340
+ this.setTimer()
341
+ this.setOut()
342
+ }
343
+ this.isOverNum++;
344
+ } else{
345
+ this.isOverNum=0;
346
+ }
347
+
348
+
349
+ },(res)=>{
350
+ //响应错误回调
351
+ console.log('响应错误')
352
+ })
353
+
354
+ },
355
+ setTimer() {
356
+ if(this.timer == null) {
357
+ this.timer = setInterval( () => {
358
+ console.log('开始定时...每过5秒执行一次')
359
+ this.$refs.cp.$refs.cri.search()
360
+ console.log('数据已刷新')
361
+ this.eachFind()
362
+ console.log('eachfind完毕');
363
+ }, 60*1000*this.remindTime)
364
+ }
365
+ },
366
+ setOut() {
367
+ if(this.timer1 == null) {
368
+ this.timer1 = setTimeout( () => {
369
+ console.log('开始setTimeout')
370
+ this.eachFind()
371
+ console.log('setTimeout完毕');
372
+ }, 1000)
373
+ }
374
+ },
375
+ //语音提醒
376
+ speckText(str) {
377
+ var url= "http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=6&text=" + encodeURI(str);
378
+ new Audio(url).play();
379
+
380
+ },
381
+
382
+ eachFind() {
383
+ debugger
384
+ let arr = this.$refs.cp.$refs.grid.model.rows
385
+ let overNumString1=''
386
+ let flagNum1=1
387
+ for(let val of arr) {
388
+ console.log(val.isbeforeover)
389
+ if (val.isbeforeover==='预期提醒'){
390
+ console.log('flagNUm:'+flagNum1);
391
+ if (flagNum1==1){
392
+ overNumString1=flagNum1+'条'
393
+ flagNum1=flagNum1+1
394
+ }else{
395
+ overNumString1=overNumString1+'和第'+flagNum1+'条'
396
+ flagNum1=flagNum1+1
397
+ }
398
+ }
399
+ }
400
+ if (flagNum1!=1){
401
+ console.log(overNumString1);
402
+ this.speckText('请注意:第:'+overNumString1+'数据即将过期')
403
+ }
404
+ console.log('语音播放完毕');
405
+ }*/
406
+ },
407
+ events: {
408
+ },
409
+ created: function () {
410
+ clearInterval(this.timer)
411
+ clearInterval(this.timer1)
412
+ this.timer = null
413
+ this.timer1 = null
414
+ },
415
+ beforeDestroy() {
416
+ clearInterval(this.timer)
417
+ clearInterval(this.timer1)
418
+ this.timer = null
419
+ this.timer1 = null
420
+ },
421
+ computed: {
422
+ date() {
423
+ return getNowDate()
424
+ }
425
+ ,
426
+ selected() {
427
+ return this.$refs.cp.$refs.grid.selected
428
+ }
429
+ }
430
+ }
431
+ </script>
432
+ <style scoped>
433
+ label {
434
+ display: flex;
435
+ justify-content: center;
436
+ align-items: Center;
437
+ padding-top: 8px;
438
+ }
439
+
440
+ tr.title {
441
+ background-color: #6666ff;
442
+ }
443
+
444
+ td {
445
+ text-align: center;
446
+ }
447
+
448
+ /* .active{
449
+ color: Crimson;
450
+ }
451
+ .p{
452
+ color: green;
453
+ }*/
454
+
455
+ .p1 {
456
+ color: #dc0b12;
457
+ font-weight: bold
458
+ }
459
+
460
+ .p {
461
+ color: #ffaf4f;
462
+ }
463
+ </style>