apply-clients 7.1.36-yuchuan-7 → 7.1.36-yuchuan-8

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.
@@ -1,408 +1,408 @@
1
- <template>
2
- <div>
3
- <tabset v-ref:tabs :close="false" nav-style="tabs nav-apply-tab" :active.sync="active">
4
- <tab header='任务地图'>
5
- <div class="auto tip">
6
- <p>当前任务数量:{{ tasknumber }}</p>
7
- <p>当前任务点:{{labelmarksarray.length}}</p>
8
- </div>
9
- <amap-location
10
- :islocation="true"
11
- :locationzoomcenter="false"
12
- :usenative="true"
13
- :isshowsearch="false"
14
- :mylocationinfo="false"
15
- :islocationclearmark="false"
16
- :isshowmapmodel="false"
17
- :locationwindow="false"
18
- mapmodel="dragMarker"
19
- :labelmarksarray="labelmarksarray"
20
- @diyspotmouseclick="diyspotmouseclick"
21
- ></amap-location>
22
- </tab>
23
- <tab header='任务列表'>
24
- <div class="p-10">
25
- <criteria-paged :model="model" v-ref:cp>
26
- <criteria partial='criteria' @condition-changed='$parent.$parent.$parent.searchCondition' v-ref:cri>
27
- <div partial class="auto">
28
- <div class="row form-group app-input">
29
- <label class="">表&emsp;&emsp;号:</label>
30
- <div class="col-xs-8" >
31
- <input class="col-xs-11" type="text" v-model="model.f_meternumber" condition="uf.f_meternumber like '%{}%'">
32
- <div class="col-xs-1">
33
- <svg @click="$parent.$parent.$parent.$parent.scanCode()" style="width: 25px;height: 25px;margin-right: 10px" t="1636095770822" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2457" width="64" height="64">
34
- <path d="M928.016126 543.908618 95.983874 543.908618c-17.717453 0-31.994625-14.277171-31.994625-31.994625S78.26642 479.919368 95.983874 479.919368l832.032253 0c17.717453 0 31.994625 14.277171 31.994625 31.994625S945.73358 543.908618 928.016126 543.908618z" p-id="2458"></path>
35
- <path d="M832.032253 928.016126 639.892491 928.016126c-17.717453 0-31.994625-14.277171-31.994625-31.994625s14.277171-31.994625 31.994625-31.994625l191.967747 0c17.717453 0 31.994625-14.277171 31.994625-31.994625l0-159.973123c0-17.717453 14.277171-31.994625 31.994625-31.994625s31.994625 14.277171 31.994625 31.994625l0 159.973123C928.016126 884.840585 884.840585 928.016126 832.032253 928.016126z" p-id="2459"></path>
36
- <path d="M351.94087 928.016126l-159.973123 0c-52.980346 0-95.983874-43.003528-95.983874-95.983874l0-159.973123c0-17.717453 14.277171-31.994625 31.994625-31.994625S159.973123 654.341676 159.973123 672.05913l0 159.973123c0 17.717453 14.449185 31.994625 31.994625 31.994625l159.973123 0c17.717453 0 31.994625 14.277171 31.994625 31.994625C383.935495 913.738955 369.658324 928.016126 351.94087 928.016126z" p-id="2460"></path>
37
- <path d="M127.978498 383.935495c-17.717453 0-31.994625-14.277171-31.994625-31.994625l0-159.973123c0-52.980346 43.003528-95.983874 95.983874-95.983874l159.973123 0c17.717453 0 31.994625 14.277171 31.994625 31.994625S369.658324 159.973123 351.94087 159.973123l-159.973123 0c-17.545439 0-31.994625 14.449185-31.994625 31.994625l0 159.973123C159.973123 369.658324 145.695952 383.935495 127.978498 383.935495z" p-id="2461"></path>
38
- <path d="M896.021502 383.935495c-17.717453 0-31.994625-14.277171-31.994625-31.994625l0-159.973123c0-17.545439-14.277171-31.994625-31.994625-31.994625L639.892491 159.973123c-17.717453 0-31.994625-14.277171-31.994625-31.994625s14.277171-31.994625 31.994625-31.994625l191.967747 0c52.980346 0 95.983874 43.003528 95.983874 95.983874l0 159.973123C928.016126 369.658324 913.738955 383.935495 896.021502 383.935495z" p-id="2462"></path>
39
- </svg>
40
- </div>
41
- </div>
42
- </div>
43
- <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
44
- <label class="">客户名称:</label>
45
- <div class="col-xs-8" >
46
- <input class="" v-model=model.f_user_name condition="ui.f_user_name like '%{}%'" />
47
- </div>
48
- </div>
49
- <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
50
- <label class="">工程编号:</label>
51
- <div class="col-xs-8" >
52
- <input class="" v-model=model.f_applycode condition="ui.f_applycode like '%{}%'" />
53
- </div>
54
- </div>
55
- <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
56
- <label class="">联系电话:</label>
57
- <div class="col-xs-8" >
58
- <input class="" v-model=model.f_phone condition="ui.f_phone like '%{}%'" />
59
- </div>
60
- </div>
61
- <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
62
- <label class="">小&emsp;&emsp;区:</label>
63
- <div class="col-xs-8" >
64
- <v-select
65
- width="100%"
66
- v-model="model.f_residential_area"
67
- placeholder='小区'
68
- condition="ui.f_residential_area = '{}'"
69
- :value.sync="model.f_residential_area"
70
- :options='$parent.$parent.$parent.$parent.area'
71
- class="select select_list"
72
- :value-single="true"
73
- close-on-select ></v-select>
74
- </div>
75
- </div>
76
- <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
77
- <label class="">楼&emsp;&emsp;号:</label>
78
- <div class="col-xs-8" >
79
- <input class="" v-model=model.f_building condition="ui.f_building like '%{}%'" />
80
- </div>
81
- </div>
82
- <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
83
- <label class="">单&emsp;&emsp;元:</label>
84
- <div class="col-xs-8" >
85
- <input class="" v-model=model.f_unit condition="ui.f_unit like '%{}%'" />
86
- </div>
87
- </div>
88
- <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
89
- <label class="">门&nbsp;牌&nbsp;号:</label>
90
- <div class="col-xs-8" >
91
- <input class="" v-model=model.f_room condition="ui.f_room like '%{}%'" />
92
- </div>
93
- </div>
94
- <div class="row form-group text-right" style="">
95
- <button class="btn btn-primary" @click="$parent.$parent.$parent.$parent.changeState()">{{ $parent.$parent.$parent.$parent.shared_dispatch ? '个人' : '共享' }}</button>
96
- <button class="btn btn-primary" @click="$parent.$parent.$parent.$parent.search()">查询</button>
97
- <button class="btn btn-info" @click="$parent.$parent.$parent.$parent.clear()">清空</button>
98
- <button class="btn" :class="{'button_shrink_top':$parent.$parent.$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.$parent.$parent.criteriaShow}" @click="$parent.$parent.$parent.$parent.criteriaShow = !$parent.$parent.$parent.$parent.criteriaShow"></button>
99
- </div>
100
- </div>
101
- </criteria>
102
-
103
- <list :model="model" partial='list'>
104
- <div partial class="auto app-text panel">
105
- <div class="panel-body panel-self">
106
- <div class="col-xs-12">
107
- <p class="col-xs-3 text-left font"><b>用户编号:</b></p>
108
- <p class="col-xs-9 text-left input-font">{{ row.f_userinfo_id }}</p>
109
- </div>
110
- <div class="col-xs-12">
111
- <p class="col-xs-3 text-left font"><b>用户名称:</b></p>
112
- <p class="col-xs-9 text-left input-font">{{ row.f_user_name }}</p>
113
- </div>
114
- <div class="col-xs-12">
115
- <p class="col-xs-3 text-left font"><b>电&emsp;&emsp;话:</b></p>
116
- <p class="col-xs-9 text-left input-font">
117
- {{ row.f_user_phone }}&ensp;
118
- <svg v-if="row.f_user_phone" @click.prevent="$parent.$parent.$parent.$parent.$parent.dialNumber(row.f_user_phone)" style="width: 25px;height: 25px;position: absolute;" t="1628575136009" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2374" width="200" height="200"><path d="M682.25 465.262c0 16.695 11.115 27.811 27.81 27.811s27.812-11.116 27.812-27.811A167.395 167.395 0 0 0 570.96 298.35c-16.695 0-27.811 11.116-27.811 27.811s11.16 27.812 27.811 27.812a111.597 111.597 0 0 1 111.29 111.289z m111.289 0c0 16.695 11.115 27.811 27.81 27.811s27.812-11.116 27.812-27.811c0-152.984-125.217-278.201-278.2-278.201-16.696 0-27.812 11.16-27.812 27.855s11.16 27.811 27.811 27.811c122.405 0 222.579 100.174 222.579 222.535zM417.976 367.9c30.623-30.579 33.391-77.898 5.58-111.289L337.31 148.134c-27.811-36.16-80.666-41.74-116.869-13.928-2.768 2.812-5.536 2.812-5.536 5.58l-75.13 75.13c-72.318 72.318 30.623 267.041 217.042 453.417C543.15 854.708 735.06 954.88 807.378 885.33l75.13-75.13c33.392-33.391 33.392-86.246 0-116.825l-5.536-5.58-108.52-86.246c-33.348-27.81-80.623-25.043-111.246 5.58l-47.275 47.319c-50.087-30.623-94.593-64.014-133.564-102.941-38.927-38.971-72.275-83.478-102.898-133.565l44.507-50.043z m-38.927-75.13c8.348 11.16 8.348 27.855-2.812 36.203l-61.202 63.97a29.569 29.569 0 0 0-5.536 33.392 721.425 721.425 0 0 0 122.405 164.1 721.512 721.512 0 0 0 164.1 122.405 29.569 29.569 0 0 0 33.39-5.58l63.971-63.97c11.16-11.116 25.043-11.116 36.203-2.769l108.477 89.014s2.768 0 2.768 2.768a26.889 26.889 0 0 1 0 38.971l-75.13 75.13c-36.115 36.115-208.606-55.666-372.75-217.042-164.1-161.332-253.114-336.548-216.955-372.75l77.854-77.899c11.16-8.348 30.623-8.348 38.971 5.58l86.246 108.521z" fill="#8A8A8A" p-id="2375"></path></svg>
119
- </p>
120
- </div>
121
- <div class="col-xs-12">
122
- <p class="col-xs-3 text-left font"><b>地&emsp;&emsp;址:</b></p>
123
- <p class="col-xs-9 text-left input-font">{{ row.f_address }}</p>
124
- </div>
125
- <div class="col-xs-12">
126
- <p class="col-xs-3 text-left font"><b>定位地址:</b></p>
127
- <p class="col-xs-9 text-left input-font">
128
- {{ row.f_location_address }}
129
- <svg v-if="row.f_location_address" @click.prevent="$parent.$parent.$parent.$parent.$parent.openAmap(row)" style="width: 25px;height: 25px;position: absolute;" t="1628575336648" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3201" width="200" height="200"><path d="M512 956h-1.1c-10.9 0-20.5-6.9-24.7-17L369.9 654.1 85 537.8c-10.1-4.1-16.8-13.7-17.2-24.6-0.4-10.9 5.6-21 15.3-25.9l833-416.5c10.7-5.3 23.6-3.2 32.1 5.2s10.5 21.4 5.2 32.1L536.8 940.9c-4.7 9.4-14.3 15.1-24.8 15.1zM162.7 509.6l239 97.6c6.9 2.8 12.4 8.3 15.2 15.2l97.6 239 351.9-703.8-703.7 352z" fill="#666666" p-id="3202"></path></svg>
130
- </p>
131
- </div>
132
- <div class="col-xs-12">
133
- <p class="col-xs-3 text-left font"><b>报建类型:</b></p>
134
- <p class="col-xs-9 text-left input-font">
135
- {{ row.f_apply_type }}
136
- </p>
137
- </div>
138
- <div class="col-xs-12">
139
- <p class="col-xs-3 text-left font"><b>派单时间:</b></p>
140
- <p class="col-xs-9 text-left input-font">{{ row.f_date }}</p>
141
- </div>
142
- <div class="col-xs-12 text-right">
143
- <button class="btn btn-info" @click="$parent.$parent.$parent.$parent.$parent.click(row)">处理</button>
144
- </div>
145
- </div>
146
- </div>
147
- </list>
148
- </criteria-paged>
149
- </div>
150
- </tab>
151
- </tabset>
152
- </div>
153
- </template>
154
- <script>
155
- import {HttpResetClass, PagedList} from 'vue-client'
156
- import Vue from 'vue'
157
- import {isEmpty} from '../../Util'
158
-
159
- export default {
160
- title: '通气点火',
161
- data () {
162
- return {
163
- model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/getWaitIgnitionTaskApp`, 20, null),
164
- // model: new PagedList(`rs/sql/getWaitIgnitionTask`, 20, null),
165
- criteriaShow: false,
166
- tasknumber: 0,
167
- labelmarksarray: [],
168
- active: 0,
169
- f_lat: null,
170
- f_lng: null,
171
- shared_dispatch: false,
172
- area: []
173
- }
174
- },
175
- ready () {
176
- this.refresh()
177
- },
178
- methods: {
179
- refresh () {
180
- this.getWaitIgnitionTaskDot()
181
- this.getArea()
182
- this.search()
183
- },
184
- click (row) {
185
- console.log('----------------------++++++++++++++++++',row.f_blobid)
186
- let _this = this
187
- this.$dispatch('gotoson', {
188
- _this: _this,
189
- title: '通气点火',
190
- safe: true
191
- })
192
- row.defname = '通气点火'
193
- row.f_apply_type = '通气点火'
194
- // row.f_process_id = row.f_blobid
195
- console.log('----------------------++++++++++++++++++',row.f_process_id)
196
- this.$goto('ventilation-ignition-handle', {selectdata: row}, 'self', _this.refresh)
197
- },
198
- dialNumber (tel) {
199
- this.$showMessage(`是否拨打电话:${tel}`, ['confirm']).then((res) => {
200
- if (res === 'confirm') {
201
- this.$androidUtil.makeAPhoneCall(tel)
202
- }
203
- })
204
- },
205
- // 导航
206
- openAmap (row) {
207
- HostApp.openThirdPartyMap({
208
- lon: row.f_lng,
209
- lat: row.f_lat,
210
- address: row.f_location_address
211
- })
212
- },
213
- diyspotmouseclick (data) {
214
- console.log('************************************')
215
- console.log(data)
216
- this.f_lat = data.f_lat
217
- this.f_lng = data.f_lng
218
- this.search()
219
-
220
- this.active = 1
221
- },
222
- async getWaitIgnitionTaskDot () {
223
- this.tasknumber = 0
224
- let http = new HttpResetClass()
225
- let data = {
226
- userid: Vue.user.id
227
- // userid: this.$login.f.id
228
- }
229
- let res = await http.load(
230
- 'POST',
231
- `${this.$androidUtil.getProxyUrl()}/rs/sql/getWaitIgnitionTaskDot`,
232
- // `rs/sql/getWaitIgnitionTaskDot`,
233
- {data: data},
234
- {
235
- resolveMsg: null,
236
- rejectMsg: '任务点获取失败!!!'
237
- })
238
- this.labelmarksarray = res.data.map(item => {
239
- this.tasknumber += item.count
240
- return {
241
- data: {
242
- data: item,
243
- content: `<p>任务数:${item.count}</p>`
244
- },
245
- position: [item.f_lng, item.f_lat],
246
- isclearmarker: false,
247
- islabel: false
248
- }
249
- })
250
- // for (const item of res.data) {
251
- // this.tasknumber += item.count
252
- // if (isEmpty(item.f_lng) || isEmpty(item.f_lat)) {
253
- // continue
254
- // }
255
- //
256
- // this.labelmarksarray.push({
257
- // data: {
258
- // data: item,
259
- // content: `<p>任务数:${item.count}</p>`
260
- // },
261
- // position: [item.f_lng, item.f_lat],
262
- // isclearmarker: true,
263
- // islabel: false
264
- // })
265
- // }
266
- },
267
- searchCondition (args) {
268
- args.condition += `and ir.f_ignition_operator_id = '${Vue.user.id}' and ir.f_state = '正在进行'`
269
- // args.condition += `and ir.f_ignition_operator_id = '${this.$login.f.id}' and ir.f_state = '正在进行'`
270
-
271
- if (this.shared_dispatch) {
272
- // args.condition = args.condition.replace(`ir.f_ignition_operator_id = \'${this.$login.f.id}\'`, 'ir.f_shared_dispatch = \'是\'');
273
- args.condition = args.condition.replace(`ir.f_ignition_operator_id = \'${Vue.user.id}\'`, 'ir.f_shared_dispatch = \'是\'');
274
- }
275
- if (!isEmpty(this.f_lat) && !isEmpty(this.f_lng)) {
276
- args.condition += `and ui.f_lat = '${this.f_lat}' and ui.f_lng = '${this.f_lng}'`
277
- }
278
- this.model.search(args.condition, args.model)
279
-
280
- this.f_lng = null
281
- this.f_lat = null
282
- },
283
- // 查询
284
- search () {
285
- this.$refs.cp.$refs.cri.search()
286
- },
287
- scanCode () {
288
- console.log('===============扫码===================')
289
- HostApp.__this__=this,
290
- HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
291
-
292
- this.getCode()
293
- },
294
- getCode() {
295
- let code = HostApp.getCode().data;
296
- // let code = '012199312345'
297
- console.log('===========扫码结果=============',code)
298
-
299
- // Vue.set(this.model, 'f_meternumber', code)
300
- this.$refs.cp.$refs.cri.model.f_meternumber = code
301
- console.log('===========扫码结果=============',this.model.f_meternumber)
302
- },
303
- clear () {
304
- Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
305
- this.$refs.cp.$refs.cri.model[key] = null
306
- })
307
- },
308
- changeState(){
309
- this.shared_dispatch = !this.shared_dispatch
310
- this.search()
311
- },
312
- // 获取小区
313
- async getArea () {
314
- let data = {
315
- tablename: 't_area_address',
316
- condition: `f_filiale = '${Vue.user.f_fengongsi}' and f_area_status = '启用'`
317
- // condition: `f_filiale = '${this.$login.f.f_fengongsi}' and f_area_status = '启用'`
318
- }
319
- let http = new HttpResetClass()
320
- let res = await http.load(
321
- 'POST',
322
- // `rs/sql/applySingleTable`,
323
- `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`,
324
- {data: data},
325
- {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
326
- )
327
- this.area = res.data.map(item => {
328
- return {
329
- label: item.f_residential_area,
330
- value: item.id
331
- }
332
- })
333
- }
334
- },
335
- events: {
336
- },
337
- watch: {
338
- },
339
- computed: {
340
- }
341
- }
342
- </script>
343
- <style scoped>
344
- .tip{
345
- position: absolute;
346
- z-index: 1000;
347
- color: red;
348
- font-size: 24px;
349
- right: 30px;
350
- padding-top: 20px;
351
- }
352
- .panel-self{
353
- border-radius: 10px;
354
- border:1px solid #499EDF;
355
- background-color: #F8F8F8;
356
- }
357
- .font{
358
- font: 15px PingFang-SC-Medium;
359
- color: #666666;
360
- }
361
-
362
- .button_shrink_top {
363
- width: 34px;
364
- height: 34px;
365
- border: solid 1px #6aa6e2;
366
- background-size: 100%;
367
- background-image: url("../../../../static/newStyle/stretch_top.png")
368
- }
369
-
370
- .button_shrink_bottom {
371
- width: 34px;
372
- height: 34px;
373
- border: solid 1px #6aa6e2;
374
- background-size: 100%;
375
- background-image: url("../../../../static/newStyle/stretch_bottom.png")
376
- }
377
- </style>
378
- <style lang="less">
379
- .nav-apply-tab {
380
- li {
381
- width: 50%;
382
- text-align: center;
383
- }
384
- }
385
- .app-input {
386
- label {
387
- float: left;
388
- }
389
- .select {
390
- button {
391
- border: none;
392
- outline: none;
393
- text-align: left;
394
- .btn-placeholder {
395
- color: #ACA899
396
- }
397
- }
398
- }
399
- .datepicker {
400
- .form-control:focus {
401
- border: none!important;
402
- outline: none!important;
403
- -webkit-box-shadow: none;
404
- box-shadow: none;
405
- }
406
- }
407
- }
408
- </style>
1
+ <template>
2
+ <div>
3
+ <tabset v-ref:tabs :close="false" nav-style="tabs nav-apply-tab" :active.sync="active">
4
+ <tab header='任务地图'>
5
+ <div class="auto tip">
6
+ <p>当前任务数量:{{ tasknumber }}</p>
7
+ <p>当前任务点:{{labelmarksarray.length}}</p>
8
+ </div>
9
+ <amap-location
10
+ :islocation="true"
11
+ :locationzoomcenter="false"
12
+ :usenative="true"
13
+ :isshowsearch="false"
14
+ :mylocationinfo="false"
15
+ :islocationclearmark="false"
16
+ :isshowmapmodel="false"
17
+ :locationwindow="false"
18
+ mapmodel="dragMarker"
19
+ :labelmarksarray="labelmarksarray"
20
+ @diyspotmouseclick="diyspotmouseclick"
21
+ ></amap-location>
22
+ </tab>
23
+ <tab header='任务列表'>
24
+ <div class="p-10">
25
+ <criteria-paged :model="model" v-ref:cp>
26
+ <criteria partial='criteria' @condition-changed='$parent.$parent.$parent.searchCondition' v-ref:cri>
27
+ <div partial class="auto">
28
+ <div class="row form-group app-input">
29
+ <label class="">表&emsp;&emsp;号:</label>
30
+ <div class="col-xs-8" >
31
+ <input class="col-xs-11" type="text" v-model="model.f_meternumber" condition="uf.f_meternumber like '%{}%'">
32
+ <div class="col-xs-1">
33
+ <svg @click="$parent.$parent.$parent.$parent.scanCode()" style="width: 25px;height: 25px;margin-right: 10px" t="1636095770822" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2457" width="64" height="64">
34
+ <path d="M928.016126 543.908618 95.983874 543.908618c-17.717453 0-31.994625-14.277171-31.994625-31.994625S78.26642 479.919368 95.983874 479.919368l832.032253 0c17.717453 0 31.994625 14.277171 31.994625 31.994625S945.73358 543.908618 928.016126 543.908618z" p-id="2458"></path>
35
+ <path d="M832.032253 928.016126 639.892491 928.016126c-17.717453 0-31.994625-14.277171-31.994625-31.994625s14.277171-31.994625 31.994625-31.994625l191.967747 0c17.717453 0 31.994625-14.277171 31.994625-31.994625l0-159.973123c0-17.717453 14.277171-31.994625 31.994625-31.994625s31.994625 14.277171 31.994625 31.994625l0 159.973123C928.016126 884.840585 884.840585 928.016126 832.032253 928.016126z" p-id="2459"></path>
36
+ <path d="M351.94087 928.016126l-159.973123 0c-52.980346 0-95.983874-43.003528-95.983874-95.983874l0-159.973123c0-17.717453 14.277171-31.994625 31.994625-31.994625S159.973123 654.341676 159.973123 672.05913l0 159.973123c0 17.717453 14.449185 31.994625 31.994625 31.994625l159.973123 0c17.717453 0 31.994625 14.277171 31.994625 31.994625C383.935495 913.738955 369.658324 928.016126 351.94087 928.016126z" p-id="2460"></path>
37
+ <path d="M127.978498 383.935495c-17.717453 0-31.994625-14.277171-31.994625-31.994625l0-159.973123c0-52.980346 43.003528-95.983874 95.983874-95.983874l159.973123 0c17.717453 0 31.994625 14.277171 31.994625 31.994625S369.658324 159.973123 351.94087 159.973123l-159.973123 0c-17.545439 0-31.994625 14.449185-31.994625 31.994625l0 159.973123C159.973123 369.658324 145.695952 383.935495 127.978498 383.935495z" p-id="2461"></path>
38
+ <path d="M896.021502 383.935495c-17.717453 0-31.994625-14.277171-31.994625-31.994625l0-159.973123c0-17.545439-14.277171-31.994625-31.994625-31.994625L639.892491 159.973123c-17.717453 0-31.994625-14.277171-31.994625-31.994625s14.277171-31.994625 31.994625-31.994625l191.967747 0c52.980346 0 95.983874 43.003528 95.983874 95.983874l0 159.973123C928.016126 369.658324 913.738955 383.935495 896.021502 383.935495z" p-id="2462"></path>
39
+ </svg>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
44
+ <label class="">客户名称:</label>
45
+ <div class="col-xs-8" >
46
+ <input class="" v-model=model.f_user_name condition="ui.f_user_name like '%{}%'" />
47
+ </div>
48
+ </div>
49
+ <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
50
+ <label class="">工程编号:</label>
51
+ <div class="col-xs-8" >
52
+ <input class="" v-model=model.f_applycode condition="ui.f_applycode like '%{}%'" />
53
+ </div>
54
+ </div>
55
+ <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
56
+ <label class="">联系电话:</label>
57
+ <div class="col-xs-8" >
58
+ <input class="" v-model=model.f_phone condition="ui.f_phone like '%{}%'" />
59
+ </div>
60
+ </div>
61
+ <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
62
+ <label class="">小&emsp;&emsp;区:</label>
63
+ <div class="col-xs-8" >
64
+ <v-select
65
+ width="100%"
66
+ v-model="model.f_residential_area"
67
+ placeholder='小区'
68
+ condition="ui.f_residential_area = '{}'"
69
+ :value.sync="model.f_residential_area"
70
+ :options='$parent.$parent.$parent.$parent.area'
71
+ class="select select_list"
72
+ :value-single="true"
73
+ close-on-select ></v-select>
74
+ </div>
75
+ </div>
76
+ <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
77
+ <label class="">楼&emsp;&emsp;号:</label>
78
+ <div class="col-xs-8" >
79
+ <input class="" v-model=model.f_building condition="ui.f_building like '%{}%'" />
80
+ </div>
81
+ </div>
82
+ <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
83
+ <label class="">单&emsp;&emsp;元:</label>
84
+ <div class="col-xs-8" >
85
+ <input class="" v-model=model.f_unit condition="ui.f_unit like '%{}%'" />
86
+ </div>
87
+ </div>
88
+ <div class="row form-group app-input" v-if="$parent.$parent.$parent.$parent.criteriaShow">
89
+ <label class="">门&nbsp;牌&nbsp;号:</label>
90
+ <div class="col-xs-8" >
91
+ <input class="" v-model=model.f_room condition="ui.f_room like '%{}%'" />
92
+ </div>
93
+ </div>
94
+ <div class="row form-group text-right" style="">
95
+ <button class="btn btn-primary" @click="$parent.$parent.$parent.$parent.changeState()">{{ $parent.$parent.$parent.$parent.shared_dispatch ? '个人' : '共享' }}</button>
96
+ <button class="btn btn-primary" @click="$parent.$parent.$parent.$parent.search()">查询</button>
97
+ <button class="btn btn-info" @click="$parent.$parent.$parent.$parent.clear()">清空</button>
98
+ <button class="btn" :class="{'button_shrink_top':$parent.$parent.$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.$parent.$parent.criteriaShow}" @click="$parent.$parent.$parent.$parent.criteriaShow = !$parent.$parent.$parent.$parent.criteriaShow"></button>
99
+ </div>
100
+ </div>
101
+ </criteria>
102
+
103
+ <list :model="model" partial='list'>
104
+ <div partial class="auto app-text panel">
105
+ <div class="panel-body panel-self">
106
+ <div class="col-xs-12">
107
+ <p class="col-xs-3 text-left font"><b>用户编号:</b></p>
108
+ <p class="col-xs-9 text-left input-font">{{ row.f_userinfo_id }}</p>
109
+ </div>
110
+ <div class="col-xs-12">
111
+ <p class="col-xs-3 text-left font"><b>用户名称:</b></p>
112
+ <p class="col-xs-9 text-left input-font">{{ row.f_user_name }}</p>
113
+ </div>
114
+ <div class="col-xs-12">
115
+ <p class="col-xs-3 text-left font"><b>电&emsp;&emsp;话:</b></p>
116
+ <p class="col-xs-9 text-left input-font">
117
+ {{ row.f_user_phone }}&ensp;
118
+ <svg v-if="row.f_user_phone" @click.prevent="$parent.$parent.$parent.$parent.$parent.dialNumber(row.f_user_phone)" style="width: 25px;height: 25px;position: absolute;" t="1628575136009" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2374" width="200" height="200"><path d="M682.25 465.262c0 16.695 11.115 27.811 27.81 27.811s27.812-11.116 27.812-27.811A167.395 167.395 0 0 0 570.96 298.35c-16.695 0-27.811 11.116-27.811 27.811s11.16 27.812 27.811 27.812a111.597 111.597 0 0 1 111.29 111.289z m111.289 0c0 16.695 11.115 27.811 27.81 27.811s27.812-11.116 27.812-27.811c0-152.984-125.217-278.201-278.2-278.201-16.696 0-27.812 11.16-27.812 27.855s11.16 27.811 27.811 27.811c122.405 0 222.579 100.174 222.579 222.535zM417.976 367.9c30.623-30.579 33.391-77.898 5.58-111.289L337.31 148.134c-27.811-36.16-80.666-41.74-116.869-13.928-2.768 2.812-5.536 2.812-5.536 5.58l-75.13 75.13c-72.318 72.318 30.623 267.041 217.042 453.417C543.15 854.708 735.06 954.88 807.378 885.33l75.13-75.13c33.392-33.391 33.392-86.246 0-116.825l-5.536-5.58-108.52-86.246c-33.348-27.81-80.623-25.043-111.246 5.58l-47.275 47.319c-50.087-30.623-94.593-64.014-133.564-102.941-38.927-38.971-72.275-83.478-102.898-133.565l44.507-50.043z m-38.927-75.13c8.348 11.16 8.348 27.855-2.812 36.203l-61.202 63.97a29.569 29.569 0 0 0-5.536 33.392 721.425 721.425 0 0 0 122.405 164.1 721.512 721.512 0 0 0 164.1 122.405 29.569 29.569 0 0 0 33.39-5.58l63.971-63.97c11.16-11.116 25.043-11.116 36.203-2.769l108.477 89.014s2.768 0 2.768 2.768a26.889 26.889 0 0 1 0 38.971l-75.13 75.13c-36.115 36.115-208.606-55.666-372.75-217.042-164.1-161.332-253.114-336.548-216.955-372.75l77.854-77.899c11.16-8.348 30.623-8.348 38.971 5.58l86.246 108.521z" fill="#8A8A8A" p-id="2375"></path></svg>
119
+ </p>
120
+ </div>
121
+ <div class="col-xs-12">
122
+ <p class="col-xs-3 text-left font"><b>地&emsp;&emsp;址:</b></p>
123
+ <p class="col-xs-9 text-left input-font">{{ row.f_address }}</p>
124
+ </div>
125
+ <div class="col-xs-12">
126
+ <p class="col-xs-3 text-left font"><b>定位地址:</b></p>
127
+ <p class="col-xs-9 text-left input-font">
128
+ {{ row.f_location_address }}
129
+ <svg v-if="row.f_location_address" @click.prevent="$parent.$parent.$parent.$parent.$parent.openAmap(row)" style="width: 25px;height: 25px;position: absolute;" t="1628575336648" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3201" width="200" height="200"><path d="M512 956h-1.1c-10.9 0-20.5-6.9-24.7-17L369.9 654.1 85 537.8c-10.1-4.1-16.8-13.7-17.2-24.6-0.4-10.9 5.6-21 15.3-25.9l833-416.5c10.7-5.3 23.6-3.2 32.1 5.2s10.5 21.4 5.2 32.1L536.8 940.9c-4.7 9.4-14.3 15.1-24.8 15.1zM162.7 509.6l239 97.6c6.9 2.8 12.4 8.3 15.2 15.2l97.6 239 351.9-703.8-703.7 352z" fill="#666666" p-id="3202"></path></svg>
130
+ </p>
131
+ </div>
132
+ <div class="col-xs-12">
133
+ <p class="col-xs-3 text-left font"><b>报建类型:</b></p>
134
+ <p class="col-xs-9 text-left input-font">
135
+ {{ row.f_apply_type }}
136
+ </p>
137
+ </div>
138
+ <div class="col-xs-12">
139
+ <p class="col-xs-3 text-left font"><b>派单时间:</b></p>
140
+ <p class="col-xs-9 text-left input-font">{{ row.f_date }}</p>
141
+ </div>
142
+ <div class="col-xs-12 text-right">
143
+ <button class="btn btn-info" @click="$parent.$parent.$parent.$parent.$parent.click(row)">处理</button>
144
+ </div>
145
+ </div>
146
+ </div>
147
+ </list>
148
+ </criteria-paged>
149
+ </div>
150
+ </tab>
151
+ </tabset>
152
+ </div>
153
+ </template>
154
+ <script>
155
+ import {HttpResetClass, PagedList} from 'vue-client'
156
+ import Vue from 'vue'
157
+ import {isEmpty} from '../../Util'
158
+
159
+ export default {
160
+ title: '通气点火',
161
+ data () {
162
+ return {
163
+ model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/getWaitIgnitionTaskApp`, 20, null),
164
+ // model: new PagedList(`rs/sql/getWaitIgnitionTask`, 20, null),
165
+ criteriaShow: false,
166
+ tasknumber: 0,
167
+ labelmarksarray: [],
168
+ active: 0,
169
+ f_lat: null,
170
+ f_lng: null,
171
+ shared_dispatch: false,
172
+ area: []
173
+ }
174
+ },
175
+ ready () {
176
+ this.refresh()
177
+ },
178
+ methods: {
179
+ refresh () {
180
+ this.getWaitIgnitionTaskDot()
181
+ this.getArea()
182
+ this.search()
183
+ },
184
+ click (row) {
185
+ console.log('----------------------++++++++++++++++++',row.f_blobid)
186
+ let _this = this
187
+ this.$dispatch('gotoson', {
188
+ _this: _this,
189
+ title: '通气点火',
190
+ safe: true
191
+ })
192
+ row.defname = '通气点火'
193
+ row.f_apply_type = '通气点火'
194
+ // row.f_process_id = row.f_blobid
195
+ console.log('----------------------++++++++++++++++++',row.f_process_id)
196
+ this.$goto('ventilation-ignition-handle', {selectdata: row}, 'self', _this.refresh)
197
+ },
198
+ dialNumber (tel) {
199
+ this.$showMessage(`是否拨打电话:${tel}`, ['confirm']).then((res) => {
200
+ if (res === 'confirm') {
201
+ this.$androidUtil.makeAPhoneCall(tel)
202
+ }
203
+ })
204
+ },
205
+ // 导航
206
+ openAmap (row) {
207
+ HostApp.openThirdPartyMap({
208
+ lon: row.f_lng,
209
+ lat: row.f_lat,
210
+ address: row.f_location_address
211
+ })
212
+ },
213
+ diyspotmouseclick (data) {
214
+ console.log('************************************')
215
+ console.log(data)
216
+ this.f_lat = data.f_lat
217
+ this.f_lng = data.f_lng
218
+ this.search()
219
+
220
+ this.active = 1
221
+ },
222
+ async getWaitIgnitionTaskDot () {
223
+ this.tasknumber = 0
224
+ let http = new HttpResetClass()
225
+ let data = {
226
+ userid: Vue.user.id
227
+ // userid: this.$login.f.id
228
+ }
229
+ let res = await http.load(
230
+ 'POST',
231
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/getWaitIgnitionTaskDot`,
232
+ // `rs/sql/getWaitIgnitionTaskDot`,
233
+ {data: data},
234
+ {
235
+ resolveMsg: null,
236
+ rejectMsg: '任务点获取失败!!!'
237
+ })
238
+ this.labelmarksarray = res.data.map(item => {
239
+ this.tasknumber += item.count
240
+ return {
241
+ data: {
242
+ data: item,
243
+ content: `<p>任务数:${item.count}</p>`
244
+ },
245
+ position: [item.f_lng, item.f_lat],
246
+ isclearmarker: false,
247
+ islabel: false
248
+ }
249
+ })
250
+ // for (const item of res.data) {
251
+ // this.tasknumber += item.count
252
+ // if (isEmpty(item.f_lng) || isEmpty(item.f_lat)) {
253
+ // continue
254
+ // }
255
+ //
256
+ // this.labelmarksarray.push({
257
+ // data: {
258
+ // data: item,
259
+ // content: `<p>任务数:${item.count}</p>`
260
+ // },
261
+ // position: [item.f_lng, item.f_lat],
262
+ // isclearmarker: true,
263
+ // islabel: false
264
+ // })
265
+ // }
266
+ },
267
+ searchCondition (args) {
268
+ args.condition += `and ir.f_ignition_operator_id = '${Vue.user.id}' and ir.f_state = '正在进行'`
269
+ // args.condition += `and ir.f_ignition_operator_id = '${this.$login.f.id}' and ir.f_state = '正在进行'`
270
+
271
+ if (this.shared_dispatch) {
272
+ // args.condition = args.condition.replace(`ir.f_ignition_operator_id = \'${this.$login.f.id}\'`, 'ir.f_shared_dispatch = \'是\'');
273
+ args.condition = args.condition.replace(`ir.f_ignition_operator_id = \'${Vue.user.id}\'`, 'ir.f_shared_dispatch = \'是\'');
274
+ }
275
+ if (!isEmpty(this.f_lat) && !isEmpty(this.f_lng)) {
276
+ args.condition += `and ui.f_lat = '${this.f_lat}' and ui.f_lng = '${this.f_lng}'`
277
+ }
278
+ this.model.search(args.condition, args.model)
279
+
280
+ this.f_lng = null
281
+ this.f_lat = null
282
+ },
283
+ // 查询
284
+ search () {
285
+ this.$refs.cp.$refs.cri.search()
286
+ },
287
+ scanCode () {
288
+ console.log('===============扫码===================')
289
+ HostApp.__this__=this,
290
+ HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
291
+
292
+ this.getCode()
293
+ },
294
+ getCode() {
295
+ let code = HostApp.getCode().data;
296
+ // let code = '012199312345'
297
+ console.log('===========扫码结果=============',code)
298
+
299
+ // Vue.set(this.model, 'f_meternumber', code)
300
+ this.$refs.cp.$refs.cri.model.f_meternumber = code
301
+ console.log('===========扫码结果=============',this.model.f_meternumber)
302
+ },
303
+ clear () {
304
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
305
+ this.$refs.cp.$refs.cri.model[key] = null
306
+ })
307
+ },
308
+ changeState(){
309
+ this.shared_dispatch = !this.shared_dispatch
310
+ this.search()
311
+ },
312
+ // 获取小区
313
+ async getArea () {
314
+ let data = {
315
+ tablename: 't_area_address',
316
+ condition: `f_filiale = '${Vue.user.f_fengongsi?Vue.user.f_fengongsi:'榆林.榆川天然气'}' and f_area_status = '启用'`
317
+ // condition: `f_filiale = '${this.$login.f.f_fengongsi}' and f_area_status = '启用'`
318
+ }
319
+ let http = new HttpResetClass()
320
+ let res = await http.load(
321
+ 'POST',
322
+ // `rs/sql/applySingleTable`,
323
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`,
324
+ {data: data},
325
+ {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
326
+ )
327
+ this.area = res.data.map(item => {
328
+ return {
329
+ label: item.f_residential_area,
330
+ value: item.id
331
+ }
332
+ })
333
+ }
334
+ },
335
+ events: {
336
+ },
337
+ watch: {
338
+ },
339
+ computed: {
340
+ }
341
+ }
342
+ </script>
343
+ <style scoped>
344
+ .tip{
345
+ position: absolute;
346
+ z-index: 1000;
347
+ color: red;
348
+ font-size: 24px;
349
+ right: 30px;
350
+ padding-top: 20px;
351
+ }
352
+ .panel-self{
353
+ border-radius: 10px;
354
+ border:1px solid #499EDF;
355
+ background-color: #F8F8F8;
356
+ }
357
+ .font{
358
+ font: 15px PingFang-SC-Medium;
359
+ color: #666666;
360
+ }
361
+
362
+ .button_shrink_top {
363
+ width: 34px;
364
+ height: 34px;
365
+ border: solid 1px #6aa6e2;
366
+ background-size: 100%;
367
+ background-image: url("../../../../static/newStyle/stretch_top.png")
368
+ }
369
+
370
+ .button_shrink_bottom {
371
+ width: 34px;
372
+ height: 34px;
373
+ border: solid 1px #6aa6e2;
374
+ background-size: 100%;
375
+ background-image: url("../../../../static/newStyle/stretch_bottom.png")
376
+ }
377
+ </style>
378
+ <style lang="less">
379
+ .nav-apply-tab {
380
+ li {
381
+ width: 50%;
382
+ text-align: center;
383
+ }
384
+ }
385
+ .app-input {
386
+ label {
387
+ float: left;
388
+ }
389
+ .select {
390
+ button {
391
+ border: none;
392
+ outline: none;
393
+ text-align: left;
394
+ .btn-placeholder {
395
+ color: #ACA899
396
+ }
397
+ }
398
+ }
399
+ .datepicker {
400
+ .form-control:focus {
401
+ border: none!important;
402
+ outline: none!important;
403
+ -webkit-box-shadow: none;
404
+ box-shadow: none;
405
+ }
406
+ }
407
+ }
408
+ </style>