safecheck-client 3.0.34-73 → 3.0.34-75
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +1 -1
- package/src/components/android/BuildingSelect.vue +192 -192
- package/src/components/android/CurrentCreateYy.vue +1051 -0
- package/src/components/android/UserinfoSelect.vue +714 -714
- package/src/components/android/examples/SafeListExamples.vue +92 -27
- package/src/components/android/examples/UserExamples.vue +1 -1
- package/src/components/android/examples/ViewDetailsExamples.vue +1251 -0
- package/src/components/android/examples/touxiang.png +0 -0
- package/src/components/rongcheng/AddPlanItem.vue +323 -323
- package/src/components/rongcheng/CheckSearchUser.vue +1 -0
- package/src/filiale/siyang/android/CurrentCreate.vue +1051 -0
- package/src/filiale/siyang/android.js +13 -12
- package/src/filiale/weinan/android/SafecheckOrderV.vue +3339 -3339
- package/src/safecheck-android.js +306 -305
- package/src/safecheck-page.js +3 -1
@@ -1,714 +1,714 @@
|
|
1
|
-
<style scoped>
|
2
|
-
.app-row {
|
3
|
-
background-color: white;
|
4
|
-
padding: 10px 10px 0 10px;
|
5
|
-
border-bottom: 1px solid rgba(235, 235, 235, 0.5);
|
6
|
-
}
|
7
|
-
|
8
|
-
.search_input {
|
9
|
-
border: 0;
|
10
|
-
outline: none;
|
11
|
-
}
|
12
|
-
|
13
|
-
.font {
|
14
|
-
font: 15px PingFang-SC-Medium;
|
15
|
-
color: #666666;
|
16
|
-
}
|
17
|
-
|
18
|
-
.input-font {
|
19
|
-
font: 15px PingFang-SC-Medium;
|
20
|
-
color: #333333;
|
21
|
-
}
|
22
|
-
|
23
|
-
.btn-font {
|
24
|
-
font: 600 16px PingFang-SC-Bold;
|
25
|
-
color: #499EDF;
|
26
|
-
}
|
27
|
-
|
28
|
-
.btn-color {
|
29
|
-
background-color: #FFFFFF;
|
30
|
-
border-radius: 10px;
|
31
|
-
border: 1px solid #499EDF;
|
32
|
-
}
|
33
|
-
|
34
|
-
.app-text {
|
35
|
-
font-size: 12px;
|
36
|
-
}
|
37
|
-
|
38
|
-
.panel-self {
|
39
|
-
border-radius: 10px;
|
40
|
-
border: 1px solid #499EDF;
|
41
|
-
background-color: #F8F8F8;
|
42
|
-
}
|
43
|
-
|
44
|
-
.button_shrink_top {
|
45
|
-
width: 35px;
|
46
|
-
height: 35px;
|
47
|
-
background-size: 100%;
|
48
|
-
background-image: url("../../../static/newStyle/stretch_top.png")
|
49
|
-
}
|
50
|
-
|
51
|
-
.button_shrink_bottom {
|
52
|
-
width: 35px;
|
53
|
-
height: 35px;
|
54
|
-
background-size: 100%;
|
55
|
-
background-image: url("../../../static/newStyle/stretch_bottom.png")
|
56
|
-
}
|
57
|
-
</style>
|
58
|
-
<template>
|
59
|
-
<div style="height: auto;width: 100%">
|
60
|
-
<criteria-paged :model="model" v-ref:paged>
|
61
|
-
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
62
|
-
<div partial>
|
63
|
-
<form>
|
64
|
-
<div class="row app-row">
|
65
|
-
<div class="col-xs-4">
|
66
|
-
<img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
|
67
|
-
<label for="f_userinfo_code" class="font text-left">用户编号:</label>
|
68
|
-
</div>
|
69
|
-
<div class="col-xs-8">
|
70
|
-
<input id="f_userinfo_code" class="search_input input-font"
|
71
|
-
v-model=model.f_userinfo_code condition="f_userinfo_code like '%{}%'" />
|
72
|
-
</div>
|
73
|
-
</div>
|
74
|
-
<div class="row app-row">
|
75
|
-
<div class="col-xs-4">
|
76
|
-
<img src="../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
|
77
|
-
<label class="font text-left">用户姓名:</label>
|
78
|
-
</div>
|
79
|
-
<div class="col-xs-8">
|
80
|
-
<input class="search_input input-font" v-model=model.f_user_name
|
81
|
-
condition="f_user_name like '%{}%'" />
|
82
|
-
</div>
|
83
|
-
</div>
|
84
|
-
|
85
|
-
<div class="row app-row">
|
86
|
-
<div class="col-xs-4">
|
87
|
-
<img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
|
88
|
-
<label class="font text-left">用户证号:</label>
|
89
|
-
</div>
|
90
|
-
<div class="col-xs-8">
|
91
|
-
<input class="search_input input-font" v-model=model.f_enter_number
|
92
|
-
condition="f_enter_number like '%{}%'" />
|
93
|
-
</div>
|
94
|
-
</div>
|
95
|
-
<div class="row app-row" v-if="$parent.$parent.criteriaShow">
|
96
|
-
<div class="col-xs-4">
|
97
|
-
<img src="../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
|
98
|
-
<label for="f_state" class="font text-left">是否已检:</label>
|
99
|
-
</div>
|
100
|
-
<v-select id="f_state" :value.sync="model.f_state" class="input-font"
|
101
|
-
:options='$parent.$parent.check_states' placeholder='是否已检' :width="'60%'"
|
102
|
-
v-model="model.f_state" condition="f_state='{}'" close-on-select clear-button>
|
103
|
-
</v-select>
|
104
|
-
</div>
|
105
|
-
<div class="row app-row" v-if="$parent.$parent.criteriaShow">
|
106
|
-
<div class="col-xs-4">
|
107
|
-
<img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
|
108
|
-
<label class="font text-left">表  号:</label>
|
109
|
-
</div>
|
110
|
-
<div class="col-xs-5">
|
111
|
-
<input class="search_input input-font" v-model=model.f_meter_no
|
112
|
-
condition="f_meter_no like '%{}%'" />
|
113
|
-
</div>
|
114
|
-
<div class="col-xs-3">
|
115
|
-
<button type="button" class="btn btn-lg btn-font btn-color"
|
116
|
-
@click="$parent.$parent.scan()">扫码</button>
|
117
|
-
</div>
|
118
|
-
</div>
|
119
|
-
<div class="row app-row" v-if="$parent.$parent.criteriaShow">
|
120
|
-
<div class="col-xs-4">
|
121
|
-
<img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
|
122
|
-
<label class="font text-left">客户电话:</label>
|
123
|
-
</div>
|
124
|
-
<div class="col-xs-8">
|
125
|
-
<input class="search_input input-font" v-model=model.f_user_phone
|
126
|
-
condition="f_user_phone like '%{}%'" />
|
127
|
-
</div>
|
128
|
-
</div>
|
129
|
-
|
130
|
-
<div class="row app-row" v-if="$parent.$parent.criteriaShow">
|
131
|
-
<div class="col-xs-4">
|
132
|
-
<img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
|
133
|
-
<label class="font text-left">用户地址:</label>
|
134
|
-
</div>
|
135
|
-
<div class="col-xs-8">
|
136
|
-
<input class="search_input input-font" v-model=model.f_keyword
|
137
|
-
condition="f_address like '%{}%'" />
|
138
|
-
</div>
|
139
|
-
</div>
|
140
|
-
<div class="row app-row" v-if="$parent.$parent.criteriaShow">
|
141
|
-
<div class="col-xs-4">
|
142
|
-
<img src="../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
|
143
|
-
<label for="f_user_type" class="font text-left">用户类型:</label>
|
144
|
-
</div>
|
145
|
-
<v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font" :width="'60%'"
|
146
|
-
:options='$parent.$parent.user_types' placeholder='请选择用户类型' v-model="model.f_user_type"
|
147
|
-
condition="f_user_type='{}'" close-on-select clear-button></v-select>
|
148
|
-
</div>
|
149
|
-
<div class="row app-row" v-if="$parent.$parent.criteriaShow">
|
150
|
-
<div class="col-xs-6">
|
151
|
-
<img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
|
152
|
-
<label class="font text-left">到访不遇:</label>
|
153
|
-
</div>
|
154
|
-
<div class="col-xs-8">
|
155
|
-
<input class="search_input input-font" type="number" v-model=model.f_check_version
|
156
|
-
condition="f_check_version <= '{}'" />
|
157
|
-
</div>
|
158
|
-
</div>
|
159
|
-
<div class="row text-center" style="margin-top: 20px;">
|
160
|
-
<button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;"
|
161
|
-
@click="$parent.$parent.selfSearch">查询</button>
|
162
|
-
<div style="float: right;margin-right: 3% " class="button_spacing"
|
163
|
-
:class="{ 'button_shrink_top': $parent.$parent.criteriaShow, 'button_shrink_bottom': !$parent.$parent.criteriaShow }"
|
164
|
-
@click="$parent.$parent.hidden()"></div>
|
165
|
-
<img v-if="!$parent.$parent.planName" style="float: right;margin-right: 3% "
|
166
|
-
@click="$parent.$parent.getNewOrder" src="../../assets/shuaxindaiban1.png"
|
167
|
-
style="width: 40px;padding: 5px; float:right">
|
168
|
-
</div>
|
169
|
-
<div class="col-sm-12">
|
170
|
-
|
171
|
-
</div>
|
172
|
-
<div style="height:30px;"></div>
|
173
|
-
</form>
|
174
|
-
</div>
|
175
|
-
</criteria>
|
176
|
-
<list :model="model" partial='list'>
|
177
|
-
<div partial>
|
178
|
-
<div class="auto app-text" style="margin-top: 5px;">
|
179
|
-
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
180
|
-
<div class="panel-body panel-self">
|
181
|
-
<div class="col-xs-12">
|
182
|
-
<p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
|
183
|
-
<b>用户编号:</b></p>
|
184
|
-
<p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{
|
185
|
-
row.f_userinfo_code }}</p>
|
186
|
-
<p class="panel-title col-xs-2 text-left input-font" style="width: 5%;float:right">
|
187
|
-
<input type="checkbox"
|
188
|
-
@click="$parent.$parent.$parent.setPlanParam(row.id, $event)" />
|
189
|
-
</p>
|
190
|
-
</div>
|
191
|
-
<div class="col-xs-12">
|
192
|
-
<p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
|
193
|
-
<b>用户名称:</b></p>
|
194
|
-
<p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{
|
195
|
-
row.f_user_name }}</p>
|
196
|
-
</div>
|
197
|
-
<div class="col-xs-6">
|
198
|
-
<p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
|
199
|
-
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
|
200
|
-
</p>
|
201
|
-
</div>
|
202
|
-
<div class="col-xs-6">
|
203
|
-
<p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
|
204
|
-
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
|
205
|
-
</div>
|
206
|
-
<div class="col-xs-12">
|
207
|
-
<p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b>
|
208
|
-
</p>
|
209
|
-
<p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone
|
210
|
-
}}
|
211
|
-
<img src="../../assets/phone.png" style="width: 6%"
|
212
|
-
v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone)' />
|
213
|
-
</p>
|
214
|
-
</div>
|
215
|
-
<div class="col-xs-12">
|
216
|
-
<p class="panel-title text-left font" style="width: 23%;float: left"><b>备用电话:</b>
|
217
|
-
</p>
|
218
|
-
<p class="panel-title text-left input-font" style="width: 77%">{{ row.f_rent_phone }}
|
219
|
-
<img v-if="row.f_rent_phone" src="../../assets/phone.png" style="width: 6%"
|
220
|
-
v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_rent_phone)' />
|
221
|
-
</p>
|
222
|
-
</div>
|
223
|
-
<div class="col-xs-12">
|
224
|
-
<p class="panel-title text-left font" style="width: 23%;float: left"><b>租户电话:</b>
|
225
|
-
</p>
|
226
|
-
<p class="panel-title text-left input-font" style="width: 77%">{{ row.f_zuhu_phone
|
227
|
-
}}
|
228
|
-
<img v-if="row.f_zuhu_phone" src="../../assets/phone.png" style="width: 6%"
|
229
|
-
v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_zuhu_phone)' />
|
230
|
-
</p>
|
231
|
-
</div>
|
232
|
-
<div class="col-xs-12">
|
233
|
-
<p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b>
|
234
|
-
</p>
|
235
|
-
<p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}
|
236
|
-
</p>
|
237
|
-
</div>
|
238
|
-
<div class="col-xs-6">
|
239
|
-
<p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
|
240
|
-
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_state ==
|
241
|
-
'已检'?'临时保存':row.f_state }}</p>
|
242
|
-
</div>
|
243
|
-
<div class="col-xs-6">
|
244
|
-
<p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
|
245
|
-
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
|
246
|
-
</div>
|
247
|
-
<div class="col-xs-12" v-if="row.f_prearranged_date != null">
|
248
|
-
<p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
|
249
|
-
<b>预约时间:</b></p>
|
250
|
-
<p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{
|
251
|
-
row.f_prearranged_date }}</p>
|
252
|
-
</div>
|
253
|
-
<div class="col-xs-6">
|
254
|
-
<p class="panel-title col-xs-5 text-left font"><b>安检类型:</b></p>
|
255
|
-
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_safecheck_type }}</p>
|
256
|
-
</div>
|
257
|
-
<div class="col-xs-12">
|
258
|
-
<p class="panel-title col-xs-5 text-left font"><b>到访不遇次数:</b></p>
|
259
|
-
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_check_version }}</p>
|
260
|
-
</div>
|
261
|
-
<div class="col-xs-12">
|
262
|
-
<button type="button" name="button" class="btn btn-primary"
|
263
|
-
style="background-color:#499edf;float: right"
|
264
|
-
@click="$parent.$parent.$parent.inspectRepair (row)">处理</button>
|
265
|
-
</div>
|
266
|
-
</div>
|
267
|
-
</div>
|
268
|
-
</div>
|
269
|
-
</div>
|
270
|
-
</list>
|
271
|
-
</criteria-paged>
|
272
|
-
</div>
|
273
|
-
</template>
|
274
|
-
|
275
|
-
<script>
|
276
|
-
import LocalPagedList from '../../plugins/LocalPagedList'
|
277
|
-
import Vue from 'vue'
|
278
|
-
import { PagedList, HttpResetClass } from 'vue-client'
|
279
|
-
import * as Util from '../Util'
|
280
|
-
import co from 'co'
|
281
|
-
let select = function* (self) {
|
282
|
-
let http = new HttpResetClass()
|
283
|
-
http.load('POST', `${self.$androidUtil.getProxyUrl()}/rs/search`, {
|
284
|
-
source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
|
285
|
-
userid: Vue.user.id
|
286
|
-
}, { resolveMsg: null, rejectMsg: null }).then((res) => {
|
287
|
-
self.checkers.push({ label: '全部', value: '' })
|
288
|
-
res.data.forEach((checker) => {
|
289
|
-
self.checkers.push({ label: checker.name, value: checker.id })
|
290
|
-
})
|
291
|
-
})
|
292
|
-
}
|
293
|
-
export default {
|
294
|
-
title: 'userinfo-select',
|
295
|
-
props: ['row'],
|
296
|
-
data() {
|
297
|
-
return {
|
298
|
-
f_filialeids: '(' + Vue.user.orgid + ')',
|
299
|
-
planparam: [],
|
300
|
-
check: '',
|
301
|
-
plan: '',
|
302
|
-
planid: '',
|
303
|
-
model: Vue.android ? new LocalPagedList('androidGetuserinfo', 20, { condition: 'this.condition' }) : new PagedList('AndroidRest/rs/sql/androidGetuserinfo', 20, { condition: 'this.condition' }),
|
304
|
-
showModal: false,
|
305
|
-
showModal2: false,
|
306
|
-
showModal3: false,
|
307
|
-
needid: '',
|
308
|
-
criteriaShow: false,
|
309
|
-
planoption: [],
|
310
|
-
condition: '',
|
311
|
-
checkers: [],
|
312
|
-
param: null,
|
313
|
-
f_preset_dt: Util.to3339TimeString(),
|
314
|
-
flow_direction: [
|
315
|
-
{ label: '请选择挂表方式', value: '' },
|
316
|
-
{ label: '左表', value: '左表' },
|
317
|
-
{ label: '右表', value: '右表' }
|
318
|
-
],
|
319
|
-
check_states: [
|
320
|
-
{ label: '请选择安检状态', value: '' },
|
321
|
-
{ label: '未检', value: '未检' },
|
322
|
-
{ label: '临时保存', value: '已检' },
|
323
|
-
],
|
324
|
-
last_check_states: [
|
325
|
-
{ label: '请选择上次安检状态', value: '' },
|
326
|
-
{ label: '入户', value: '入户' },
|
327
|
-
{ label: '拒检', value: '拒检' },
|
328
|
-
{ label: '到访不遇', value: '到访不遇' },
|
329
|
-
{ label: '未使用天然气', value: '未使用天然气' }
|
330
|
-
],
|
331
|
-
upload_states: [
|
332
|
-
{ label: '请选择上传状态', value: '' },
|
333
|
-
{ label: '未传', value: '未传' },
|
334
|
-
{ label: '已传', value: '已传' }
|
335
|
-
],
|
336
|
-
user_types: [
|
337
|
-
{ label: '请选择用户类型', value: '' },
|
338
|
-
{ label: '民用', value: '民用' },
|
339
|
-
{ label: '非民用', value: '非民用' },
|
340
|
-
],
|
341
|
-
verify_state: [
|
342
|
-
{ label: '请选择审核状态', value: '' },
|
343
|
-
{ label: '未审核', value: '未审核' },
|
344
|
-
{ label: '打回', value: '打回' }
|
345
|
-
],
|
346
|
-
residentialAreaOptions: [],
|
347
|
-
buildOptions: [],
|
348
|
-
unitOptions: [],
|
349
|
-
planNameOptions: [],
|
350
|
-
upcomingCount: 0,
|
351
|
-
doneCount: 0,
|
352
|
-
tempSaveCount: 0,
|
353
|
-
allPlanCount: 0
|
354
|
-
}
|
355
|
-
},
|
356
|
-
ready() {
|
357
|
-
this.selfSearch()
|
358
|
-
let gen = select(this)
|
359
|
-
co(gen)
|
360
|
-
},
|
361
|
-
mounted() {
|
362
|
-
if (window.history && window.history.pushState) {
|
363
|
-
history.pushState(null, null, document.URL);
|
364
|
-
window.addEventListener('popstate', this.fun, false)
|
365
|
-
}
|
366
|
-
},
|
367
|
-
destroyed() {
|
368
|
-
window.removeEventListener('popstate', this.fun, false)
|
369
|
-
},
|
370
|
-
methods: {
|
371
|
-
inspectRepair(row){
|
372
|
-
var _this = this
|
373
|
-
let http = new HttpResetClass()
|
374
|
-
http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/sql/AndroidDealWith`, {data: {condition: `tcp.f_userinfo_code = '${row.f_userinfo_code}'`,f_filialeids:Vue.user.orgid}},
|
375
|
-
{resolveMsg: null, rejectMsg: null}).then(resp=>{
|
376
|
-
if (resp.data.length>0){
|
377
|
-
this.$showMessage('该用户有隐患未处理,是否先处理隐患?', ['cancel', 'confirm']).then(
|
378
|
-
(response) => {
|
379
|
-
if (response === 'confirm') {
|
380
|
-
var pardate = {
|
381
|
-
_this:_this,
|
382
|
-
title:'隐患处理',
|
383
|
-
safe:true
|
384
|
-
}
|
385
|
-
_this.$dispatch('gotoson',pardate)
|
386
|
-
_this.$goto('android-defect-deal-before-safe', {row: row}, 'self', function () {
|
387
|
-
_this.inspect(row)
|
388
|
-
})
|
389
|
-
}else {
|
390
|
-
this.inspect(row)
|
391
|
-
}
|
392
|
-
}
|
393
|
-
)
|
394
|
-
}else {
|
395
|
-
this.inspect(row)
|
396
|
-
}
|
397
|
-
}).catch(()=>{
|
398
|
-
this.inspect(row)
|
399
|
-
})
|
400
|
-
},
|
401
|
-
scan() {
|
402
|
-
HostApp.__this__ = this,
|
403
|
-
HostApp.scanCode({ callback: "javascript:HostApp.__this__.getCode();" })
|
404
|
-
},
|
405
|
-
getCode() {
|
406
|
-
const datapa = HostApp.getCode().data;
|
407
|
-
this.$refs.paged.$refs.cri.model.f_meter_no = datapa
|
408
|
-
|
409
|
-
},
|
410
|
-
fun() {
|
411
|
-
|
412
|
-
},
|
413
|
-
iscancel() {
|
414
|
-
this.showModal2 = false
|
415
|
-
this.showModal3 = false
|
416
|
-
this.planoption = []
|
417
|
-
},
|
418
|
-
timeSet(val) {
|
419
|
-
return val
|
420
|
-
},
|
421
|
-
async isok() {
|
422
|
-
if (this.planoption.length == 0) {
|
423
|
-
this.$showMessage("请选择计划")
|
424
|
-
return false
|
425
|
-
}
|
426
|
-
for (let i = 0; i < this.planoption.length; i++) {
|
427
|
-
if (this.planoption[i]["selected"] == true) {
|
428
|
-
this.planid = this.planoption[i].value
|
429
|
-
break
|
430
|
-
}
|
431
|
-
}
|
432
|
-
if (this.planid == '') {
|
433
|
-
this.$showMessage("请选择计划")
|
434
|
-
return false
|
435
|
-
}
|
436
|
-
await this.okput()
|
437
|
-
},
|
438
|
-
async manyisok() {
|
439
|
-
if (this.planoption.length == 0) {
|
440
|
-
this.$showMessage("请选择计划")
|
441
|
-
return false
|
442
|
-
}
|
443
|
-
for (let i = 0; i < this.planoption.length; i++) {
|
444
|
-
if (this.planoption[i]["selected"] == true) {
|
445
|
-
this.planid = this.planoption[i].value
|
446
|
-
break
|
447
|
-
}
|
448
|
-
}
|
449
|
-
if (this.planid == '') {
|
450
|
-
this.$showMessage("请选择计划")
|
451
|
-
return false
|
452
|
-
}
|
453
|
-
await this.manyokput()
|
454
|
-
},
|
455
|
-
changenull() {
|
456
|
-
this.showModal2 = false
|
457
|
-
this.showModal3 = false
|
458
|
-
this.planoption = []
|
459
|
-
this.plan = ''
|
460
|
-
this.check = ''
|
461
|
-
},
|
462
|
-
async okput() {
|
463
|
-
let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/UpCheckPlanItem`, {
|
464
|
-
data: {
|
465
|
-
condition: `i.id='` + this.needid + `'`,
|
466
|
-
f_plan_id: this.planid,
|
467
|
-
switchCheckAll: false,
|
468
|
-
checkAll: false,
|
469
|
-
f_operator: Vue.user.name
|
470
|
-
}
|
471
|
-
})
|
472
|
-
this.$showMessage("上传成功,请等待审核")
|
473
|
-
await this.changenull()
|
474
|
-
await this.getNewOrder()
|
475
|
-
},
|
476
|
-
async manyokput() {
|
477
|
-
let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/UpCheckPlanItem`, {
|
478
|
-
data: {
|
479
|
-
columnName: "i.id",
|
480
|
-
condition: "1=1",
|
481
|
-
f_plan_id: this.planid,
|
482
|
-
switchCheckAll: true,
|
483
|
-
param: this.planparam,
|
484
|
-
checkAll: false,
|
485
|
-
f_operator: Vue.user.name
|
486
|
-
}
|
487
|
-
})
|
488
|
-
await this.changenull()
|
489
|
-
await this.getNewOrder()
|
490
|
-
},
|
491
|
-
async plansearch() {
|
492
|
-
this.planoption = []
|
493
|
-
let condition = ` f_plan_year=${new Date().getFullYear()}`
|
494
|
-
if (this.check) {
|
495
|
-
condition += ` and f_checker_id= '${this.check}'`
|
496
|
-
}
|
497
|
-
if (this.plan) {
|
498
|
-
condition += ` and f_plan_name like '%${this.plan}%'`
|
499
|
-
}
|
500
|
-
let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/预约计划下发`, {
|
501
|
-
data: {
|
502
|
-
condition: condition,
|
503
|
-
f_filialeids: this.f_filialeids,
|
504
|
-
groupitem: '',
|
505
|
-
orderitem: 'id'
|
506
|
-
}
|
507
|
-
})
|
508
|
-
let resoult = res.data
|
509
|
-
for (let i = 0; i < resoult.length; i++) {
|
510
|
-
this.planoption.push({ label: resoult[i].f_plan_name, selected: false, value: resoult[i].id })
|
511
|
-
}
|
512
|
-
},
|
513
|
-
|
514
|
-
select(row, idx) {
|
515
|
-
this.$set('planoption[' + idx + '].selected', true)
|
516
|
-
for (let i = 0; i < this.planoption.length; i++) {
|
517
|
-
if (i != idx) {
|
518
|
-
this.planoption[i]["selected"] = false
|
519
|
-
}
|
520
|
-
}
|
521
|
-
},
|
522
|
-
planclose() {
|
523
|
-
this.showModal2 = false
|
524
|
-
this.showModal3 = false
|
525
|
-
},
|
526
|
-
queryplan(val) {
|
527
|
-
this.needid = val
|
528
|
-
this.showModal2 = true
|
529
|
-
},
|
530
|
-
queryplanmany() {
|
531
|
-
|
532
|
-
this.showModal3 = true
|
533
|
-
},
|
534
|
-
reload() {
|
535
|
-
this.selfSearch()
|
536
|
-
},
|
537
|
-
cancelReserve(idx, id) {
|
538
|
-
if (Vue.android) {
|
539
|
-
let res = this.$androidUtil.bzLogic('BookingCheck', { dt: '', id: id })
|
540
|
-
this.$set('model.rows[' + idx + '].f_prearranged_date', null)
|
541
|
-
if (res.code == 200) {
|
542
|
-
this.$showMessage("取消预约成功")
|
543
|
-
}
|
544
|
-
} else {
|
545
|
-
this.$androidUtil.bzLogic('PCbookingCheck', { dt: '', id: id }).then((repanse) => {
|
546
|
-
this.$set('model.rows[' + idx + '].f_prearranged_date', null)
|
547
|
-
if (repanse.data.code == 200) {
|
548
|
-
alert("取消预约成功!")
|
549
|
-
}
|
550
|
-
})
|
551
|
-
}
|
552
|
-
},
|
553
|
-
genuineReserve() {
|
554
|
-
if (Vue.android) {
|
555
|
-
if (!this.f_preset_dt) {
|
556
|
-
this.$showMessage('请选择一个日期')
|
557
|
-
return
|
558
|
-
}
|
559
|
-
let pdt = this.f_preset_dt.replace('T', ' ')
|
560
|
-
let respanse = this.$androidUtil.bzLogic('BookingCheck', { id: this.model.rows[this.param].id, dt: pdt })
|
561
|
-
this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
|
562
|
-
if (respanse.code == 200) {
|
563
|
-
this.$showMessage("预约成功!")
|
564
|
-
}
|
565
|
-
this.showModal = false
|
566
|
-
} else {
|
567
|
-
if (!this.f_preset_dt) {
|
568
|
-
alert('请选择一个日期')
|
569
|
-
return
|
570
|
-
}
|
571
|
-
let pdt = this.f_preset_dt.replace('T', ' ')
|
572
|
-
this.$androidUtil.bzLogic('PCbookingCheck', { id: this.model.rows[this.param].id, dt: pdt }).then((res) => {
|
573
|
-
this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
|
574
|
-
if (res.data.code == 200) {
|
575
|
-
alert("预约成功!")
|
576
|
-
}
|
577
|
-
this.showModal = false
|
578
|
-
})
|
579
|
-
}
|
580
|
-
},
|
581
|
-
inspect(row) {
|
582
|
-
var _this = this
|
583
|
-
let http = new HttpResetClass()
|
584
|
-
http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {
|
585
|
-
data: {
|
586
|
-
items: 'id',
|
587
|
-
tablename: 't_check_plan_item',
|
588
|
-
condition: `id = '${row.id}'`,
|
589
|
-
orderitem: ' id '
|
590
|
-
}
|
591
|
-
}, { resolveMsg: null, rejectMsg: null }).then((getcheckplan) => {
|
592
|
-
console.log('getcheckplan=', JSON.stringify(getcheckplan))
|
593
|
-
this.getcheckplandata = getcheckplan.data[0]
|
594
|
-
if (this.getcheckplandata) {
|
595
|
-
if (row.f_upload_state == '未传' || (row.f_upload_state == '已传' && row.f_state == '未检' && row.f_no_checkplan != '无计划安检')) {
|
596
|
-
_this.$resetpost(`${_this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`, { data: { f_userid: row.f_userinfoid } }, { resolveMsg: null, rejectMsg: null }).then((response) => {
|
597
|
-
row['f_plan_meters'] = response.data
|
598
|
-
var pardate = {
|
599
|
-
_this: _this,
|
600
|
-
title: '安全检查',
|
601
|
-
safe: true
|
602
|
-
}
|
603
|
-
_this.$dispatch('gotoson', pardate)
|
604
|
-
_this.$goto('safecheck-order-v', { f_plan_id: row.f_plan_id, item: row, role: 'inspect', parentPage: 'CurrentCreate' }, 'self', _this.reload)
|
605
|
-
}).catch((msg) => {
|
606
|
-
this.$showMessage("网络异常,请检查网络后再试!")
|
607
|
-
})
|
608
|
-
} else {
|
609
|
-
this.$showMessage("该安检单已被上传!")
|
610
|
-
}
|
611
|
-
} else {
|
612
|
-
this.$showMessage("该用户安检单已被移除,请联系管理员确认!")
|
613
|
-
}
|
614
|
-
})
|
615
|
-
},
|
616
|
-
makeAPhoneCall(phoneNumber) {
|
617
|
-
this.$androidUtil.makeAPhoneCall(phoneNumber)
|
618
|
-
},
|
619
|
-
reserve(idx) {
|
620
|
-
this.param = idx
|
621
|
-
this.showModal = true
|
622
|
-
},
|
623
|
-
search(args) {
|
624
|
-
this.model.rows = []
|
625
|
-
this.model.search(args.condition, args.model)
|
626
|
-
},
|
627
|
-
selfSearch() {
|
628
|
-
let condition = ""
|
629
|
-
if (Array.isArray(this.$refs.paged.$refs.cri.model.f_residential_area) && this.$refs.paged.$refs.cri.model.f_residential_area.length > 0) {
|
630
|
-
condition += " and ti.f_residential_area = '" + this.$refs.paged.$refs.cri.model.f_residential_area[0] + "'"
|
631
|
-
} else if (this.$refs.paged.$refs.cri.model.f_residential_area instanceof String && this.$refs.paged.$refs.cri.model.f_residential_area) {
|
632
|
-
condition += " and ti.f_residential_area = '" + this.$refs.paged.$refs.cri.model.f_residential_area + "'"
|
633
|
-
}
|
634
|
-
if (this.$refs.paged.$refs.cri.model.f_building)
|
635
|
-
condition += ` and ti.f_building = '${this.$refs.paged.$refs.cri.model.f_building}'`
|
636
|
-
if (this.$refs.paged.$refs.cri.model.f_unit)
|
637
|
-
condition += ` and ti.f_unit = '${this.$refs.paged.$refs.cri.model.f_unit}'`
|
638
|
-
if (this.planName) {
|
639
|
-
condition += " and f_plan_name like '%" + this.planName + "%'"
|
640
|
-
} else {
|
641
|
-
if (this.$refs.paged.$refs.cri.model.f_plan_name)
|
642
|
-
condition += " and f_plan_name like '%" + this.$refs.paged.$refs.cri.model.f_plan_name + "%'"
|
643
|
-
}
|
644
|
-
condition += " and ti.f_userinfo_code like '%" + this.$refs.paged.$refs.cri.model.f_userinfo_code + "%'"
|
645
|
-
if (this.$refs.paged.$refs.cri.model.f_keyword)
|
646
|
-
condition += " and ti.f_address like '%" + this.$refs.paged.$refs.cri.model.f_keyword + "%'"
|
647
|
-
if (this.$refs.paged.$refs.cri.model.f_user_name)
|
648
|
-
condition += " and ti.f_user_name like '%" + this.$refs.paged.$refs.cri.model.f_user_name + "%'"
|
649
|
-
if (this.$refs.paged.$refs.cri.model.f_state[0])
|
650
|
-
condition += " and ti.f_state='" + this.$refs.paged.$refs.cri.model.f_state[0] + "'"
|
651
|
-
if (this.$refs.paged.$refs.cri.model.f_user_type[0])
|
652
|
-
condition += " and ti.f_user_type='" + this.$refs.paged.$refs.cri.model.f_user_type[0] + "'"
|
653
|
-
if (this.$refs.paged.$refs.cri.model.f_meter_no)
|
654
|
-
condition += " and tm.f_meter_no like '%" + this.$refs.paged.$refs.cri.model.f_meter_no + "%'"
|
655
|
-
if (this.$refs.paged.$refs.cri.model.f_user_phone) {
|
656
|
-
condition += `and ti.f_user_phone like '%${this.$refs.paged.$refs.cri.model.f_user_phone}%'`
|
657
|
-
}
|
658
|
-
if (this.$refs.paged.$refs.cri.model.f_enter_number)
|
659
|
-
condition += " and ti.f_enter_number like '%" + this.$refs.paged.$refs.cri.model.f_enter_number + "%'"
|
660
|
-
if (this.$refs.paged.$refs.cri.model.f_check_version)
|
661
|
-
condition += " and ti.f_check_version <= " + this.$refs.paged.$refs.cri.model.f_check_version
|
662
|
-
if (this.row.f_plan_id){
|
663
|
-
condition += ` and ti.f_plan_id = '${this.row.f_plan_id}'`
|
664
|
-
}
|
665
|
-
if(this.row.f_residential_area){
|
666
|
-
condition += ` and ti.f_residential_area = '${this.row.f_residential_area}'`
|
667
|
-
}else {
|
668
|
-
condition += ` and ti.f_residential_area is null`
|
669
|
-
}
|
670
|
-
if (this.row.f_building){
|
671
|
-
condition += ` and ti.f_building = '${this.row.f_building}'`
|
672
|
-
}else {
|
673
|
-
condition += ` and ti.f_building is null`
|
674
|
-
}
|
675
|
-
this.model.search("((f_complete = '' or f_complete = null or f_complete = '未完成') or (f_state = '未检')) and ti.f_no_checkplan = '有计划安检'" + condition)
|
676
|
-
},
|
677
|
-
getNewOrder() {
|
678
|
-
HostApp.__this__ = this
|
679
|
-
HostApp.logicWithHint({
|
680
|
-
'logic': 'SafeCheckServiceTimeOut',
|
681
|
-
'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
|
682
|
-
'data': { params: '' },
|
683
|
-
'backresult': 1
|
684
|
-
})
|
685
|
-
HostApp.logicWithHint({
|
686
|
-
'logic': 'FreshPlanItem',
|
687
|
-
'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
|
688
|
-
'data': { params: '' },
|
689
|
-
'backresult': 1
|
690
|
-
})
|
691
|
-
},
|
692
|
-
getNewOrderCallBack() {
|
693
|
-
this.selfSearch()
|
694
|
-
},
|
695
|
-
hidden() {
|
696
|
-
this.criteriaShow = !this.criteriaShow
|
697
|
-
},
|
698
|
-
setPlanParam(detailsType, event) {
|
699
|
-
if (event.srcElement.checked) {
|
700
|
-
this.planparam.push(detailsType)
|
701
|
-
} else {
|
702
|
-
if (this.planparam.length > 0) {
|
703
|
-
let planid = this.planparam.findIndex((value) => {
|
704
|
-
return value === detailsType
|
705
|
-
})
|
706
|
-
this.planparam.splice(planid, 1)
|
707
|
-
|
708
|
-
}
|
709
|
-
|
710
|
-
}
|
711
|
-
}
|
712
|
-
}
|
713
|
-
}
|
714
|
-
</script>
|
1
|
+
<style scoped>
|
2
|
+
.app-row {
|
3
|
+
background-color: white;
|
4
|
+
padding: 10px 10px 0 10px;
|
5
|
+
border-bottom: 1px solid rgba(235, 235, 235, 0.5);
|
6
|
+
}
|
7
|
+
|
8
|
+
.search_input {
|
9
|
+
border: 0;
|
10
|
+
outline: none;
|
11
|
+
}
|
12
|
+
|
13
|
+
.font {
|
14
|
+
font: 15px PingFang-SC-Medium;
|
15
|
+
color: #666666;
|
16
|
+
}
|
17
|
+
|
18
|
+
.input-font {
|
19
|
+
font: 15px PingFang-SC-Medium;
|
20
|
+
color: #333333;
|
21
|
+
}
|
22
|
+
|
23
|
+
.btn-font {
|
24
|
+
font: 600 16px PingFang-SC-Bold;
|
25
|
+
color: #499EDF;
|
26
|
+
}
|
27
|
+
|
28
|
+
.btn-color {
|
29
|
+
background-color: #FFFFFF;
|
30
|
+
border-radius: 10px;
|
31
|
+
border: 1px solid #499EDF;
|
32
|
+
}
|
33
|
+
|
34
|
+
.app-text {
|
35
|
+
font-size: 12px;
|
36
|
+
}
|
37
|
+
|
38
|
+
.panel-self {
|
39
|
+
border-radius: 10px;
|
40
|
+
border: 1px solid #499EDF;
|
41
|
+
background-color: #F8F8F8;
|
42
|
+
}
|
43
|
+
|
44
|
+
.button_shrink_top {
|
45
|
+
width: 35px;
|
46
|
+
height: 35px;
|
47
|
+
background-size: 100%;
|
48
|
+
background-image: url("../../../static/newStyle/stretch_top.png")
|
49
|
+
}
|
50
|
+
|
51
|
+
.button_shrink_bottom {
|
52
|
+
width: 35px;
|
53
|
+
height: 35px;
|
54
|
+
background-size: 100%;
|
55
|
+
background-image: url("../../../static/newStyle/stretch_bottom.png")
|
56
|
+
}
|
57
|
+
</style>
|
58
|
+
<template>
|
59
|
+
<div style="height: auto;width: 100%">
|
60
|
+
<criteria-paged :model="model" v-ref:paged>
|
61
|
+
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
62
|
+
<div partial>
|
63
|
+
<form>
|
64
|
+
<div class="row app-row">
|
65
|
+
<div class="col-xs-4">
|
66
|
+
<img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
|
67
|
+
<label for="f_userinfo_code" class="font text-left">用户编号:</label>
|
68
|
+
</div>
|
69
|
+
<div class="col-xs-8">
|
70
|
+
<input id="f_userinfo_code" class="search_input input-font"
|
71
|
+
v-model=model.f_userinfo_code condition="f_userinfo_code like '%{}%'" />
|
72
|
+
</div>
|
73
|
+
</div>
|
74
|
+
<div class="row app-row">
|
75
|
+
<div class="col-xs-4">
|
76
|
+
<img src="../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
|
77
|
+
<label class="font text-left">用户姓名:</label>
|
78
|
+
</div>
|
79
|
+
<div class="col-xs-8">
|
80
|
+
<input class="search_input input-font" v-model=model.f_user_name
|
81
|
+
condition="f_user_name like '%{}%'" />
|
82
|
+
</div>
|
83
|
+
</div>
|
84
|
+
|
85
|
+
<div class="row app-row">
|
86
|
+
<div class="col-xs-4">
|
87
|
+
<img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
|
88
|
+
<label class="font text-left">用户证号:</label>
|
89
|
+
</div>
|
90
|
+
<div class="col-xs-8">
|
91
|
+
<input class="search_input input-font" v-model=model.f_enter_number
|
92
|
+
condition="f_enter_number like '%{}%'" />
|
93
|
+
</div>
|
94
|
+
</div>
|
95
|
+
<div class="row app-row" v-if="$parent.$parent.criteriaShow">
|
96
|
+
<div class="col-xs-4">
|
97
|
+
<img src="../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
|
98
|
+
<label for="f_state" class="font text-left">是否已检:</label>
|
99
|
+
</div>
|
100
|
+
<v-select id="f_state" :value.sync="model.f_state" class="input-font"
|
101
|
+
:options='$parent.$parent.check_states' placeholder='是否已检' :width="'60%'"
|
102
|
+
v-model="model.f_state" condition="f_state='{}'" close-on-select clear-button>
|
103
|
+
</v-select>
|
104
|
+
</div>
|
105
|
+
<div class="row app-row" v-if="$parent.$parent.criteriaShow">
|
106
|
+
<div class="col-xs-4">
|
107
|
+
<img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
|
108
|
+
<label class="font text-left">表  号:</label>
|
109
|
+
</div>
|
110
|
+
<div class="col-xs-5">
|
111
|
+
<input class="search_input input-font" v-model=model.f_meter_no
|
112
|
+
condition="f_meter_no like '%{}%'" />
|
113
|
+
</div>
|
114
|
+
<div class="col-xs-3">
|
115
|
+
<button type="button" class="btn btn-lg btn-font btn-color"
|
116
|
+
@click="$parent.$parent.scan()">扫码</button>
|
117
|
+
</div>
|
118
|
+
</div>
|
119
|
+
<div class="row app-row" v-if="$parent.$parent.criteriaShow">
|
120
|
+
<div class="col-xs-4">
|
121
|
+
<img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
|
122
|
+
<label class="font text-left">客户电话:</label>
|
123
|
+
</div>
|
124
|
+
<div class="col-xs-8">
|
125
|
+
<input class="search_input input-font" v-model=model.f_user_phone
|
126
|
+
condition="f_user_phone like '%{}%'" />
|
127
|
+
</div>
|
128
|
+
</div>
|
129
|
+
|
130
|
+
<div class="row app-row" v-if="$parent.$parent.criteriaShow">
|
131
|
+
<div class="col-xs-4">
|
132
|
+
<img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
|
133
|
+
<label class="font text-left">用户地址:</label>
|
134
|
+
</div>
|
135
|
+
<div class="col-xs-8">
|
136
|
+
<input class="search_input input-font" v-model=model.f_keyword
|
137
|
+
condition="f_address like '%{}%'" />
|
138
|
+
</div>
|
139
|
+
</div>
|
140
|
+
<div class="row app-row" v-if="$parent.$parent.criteriaShow">
|
141
|
+
<div class="col-xs-4">
|
142
|
+
<img src="../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
|
143
|
+
<label for="f_user_type" class="font text-left">用户类型:</label>
|
144
|
+
</div>
|
145
|
+
<v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font" :width="'60%'"
|
146
|
+
:options='$parent.$parent.user_types' placeholder='请选择用户类型' v-model="model.f_user_type"
|
147
|
+
condition="f_user_type='{}'" close-on-select clear-button></v-select>
|
148
|
+
</div>
|
149
|
+
<div class="row app-row" v-if="$parent.$parent.criteriaShow">
|
150
|
+
<div class="col-xs-6">
|
151
|
+
<img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
|
152
|
+
<label class="font text-left">到访不遇:</label>
|
153
|
+
</div>
|
154
|
+
<div class="col-xs-8">
|
155
|
+
<input class="search_input input-font" type="number" v-model=model.f_check_version
|
156
|
+
condition="f_check_version <= '{}'" />
|
157
|
+
</div>
|
158
|
+
</div>
|
159
|
+
<div class="row text-center" style="margin-top: 20px;">
|
160
|
+
<button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;"
|
161
|
+
@click="$parent.$parent.selfSearch">查询</button>
|
162
|
+
<div style="float: right;margin-right: 3% " class="button_spacing"
|
163
|
+
:class="{ 'button_shrink_top': $parent.$parent.criteriaShow, 'button_shrink_bottom': !$parent.$parent.criteriaShow }"
|
164
|
+
@click="$parent.$parent.hidden()"></div>
|
165
|
+
<img v-if="!$parent.$parent.planName" style="float: right;margin-right: 3% "
|
166
|
+
@click="$parent.$parent.getNewOrder" src="../../assets/shuaxindaiban1.png"
|
167
|
+
style="width: 40px;padding: 5px; float:right">
|
168
|
+
</div>
|
169
|
+
<div class="col-sm-12">
|
170
|
+
|
171
|
+
</div>
|
172
|
+
<div style="height:30px;"></div>
|
173
|
+
</form>
|
174
|
+
</div>
|
175
|
+
</criteria>
|
176
|
+
<list :model="model" partial='list'>
|
177
|
+
<div partial>
|
178
|
+
<div class="auto app-text" style="margin-top: 5px;">
|
179
|
+
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
180
|
+
<div class="panel-body panel-self">
|
181
|
+
<div class="col-xs-12">
|
182
|
+
<p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
|
183
|
+
<b>用户编号:</b></p>
|
184
|
+
<p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{
|
185
|
+
row.f_userinfo_code }}</p>
|
186
|
+
<p class="panel-title col-xs-2 text-left input-font" style="width: 5%;float:right">
|
187
|
+
<input type="checkbox"
|
188
|
+
@click="$parent.$parent.$parent.setPlanParam(row.id, $event)" />
|
189
|
+
</p>
|
190
|
+
</div>
|
191
|
+
<div class="col-xs-12">
|
192
|
+
<p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
|
193
|
+
<b>用户名称:</b></p>
|
194
|
+
<p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{
|
195
|
+
row.f_user_name }}</p>
|
196
|
+
</div>
|
197
|
+
<div class="col-xs-6">
|
198
|
+
<p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
|
199
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
|
200
|
+
</p>
|
201
|
+
</div>
|
202
|
+
<div class="col-xs-6">
|
203
|
+
<p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
|
204
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
|
205
|
+
</div>
|
206
|
+
<div class="col-xs-12">
|
207
|
+
<p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b>
|
208
|
+
</p>
|
209
|
+
<p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone
|
210
|
+
}}
|
211
|
+
<img src="../../assets/phone.png" style="width: 6%"
|
212
|
+
v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone)' />
|
213
|
+
</p>
|
214
|
+
</div>
|
215
|
+
<div class="col-xs-12">
|
216
|
+
<p class="panel-title text-left font" style="width: 23%;float: left"><b>备用电话:</b>
|
217
|
+
</p>
|
218
|
+
<p class="panel-title text-left input-font" style="width: 77%">{{ row.f_rent_phone }}
|
219
|
+
<img v-if="row.f_rent_phone" src="../../assets/phone.png" style="width: 6%"
|
220
|
+
v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_rent_phone)' />
|
221
|
+
</p>
|
222
|
+
</div>
|
223
|
+
<div class="col-xs-12">
|
224
|
+
<p class="panel-title text-left font" style="width: 23%;float: left"><b>租户电话:</b>
|
225
|
+
</p>
|
226
|
+
<p class="panel-title text-left input-font" style="width: 77%">{{ row.f_zuhu_phone
|
227
|
+
}}
|
228
|
+
<img v-if="row.f_zuhu_phone" src="../../assets/phone.png" style="width: 6%"
|
229
|
+
v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_zuhu_phone)' />
|
230
|
+
</p>
|
231
|
+
</div>
|
232
|
+
<div class="col-xs-12">
|
233
|
+
<p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b>
|
234
|
+
</p>
|
235
|
+
<p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}
|
236
|
+
</p>
|
237
|
+
</div>
|
238
|
+
<div class="col-xs-6">
|
239
|
+
<p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
|
240
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_state ==
|
241
|
+
'已检'?'临时保存':row.f_state }}</p>
|
242
|
+
</div>
|
243
|
+
<div class="col-xs-6">
|
244
|
+
<p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
|
245
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
|
246
|
+
</div>
|
247
|
+
<div class="col-xs-12" v-if="row.f_prearranged_date != null">
|
248
|
+
<p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
|
249
|
+
<b>预约时间:</b></p>
|
250
|
+
<p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{
|
251
|
+
row.f_prearranged_date }}</p>
|
252
|
+
</div>
|
253
|
+
<div class="col-xs-6">
|
254
|
+
<p class="panel-title col-xs-5 text-left font"><b>安检类型:</b></p>
|
255
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_safecheck_type }}</p>
|
256
|
+
</div>
|
257
|
+
<div class="col-xs-12">
|
258
|
+
<p class="panel-title col-xs-5 text-left font"><b>到访不遇次数:</b></p>
|
259
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_check_version }}</p>
|
260
|
+
</div>
|
261
|
+
<div class="col-xs-12">
|
262
|
+
<button type="button" name="button" class="btn btn-primary"
|
263
|
+
style="background-color:#499edf;float: right"
|
264
|
+
@click="$parent.$parent.$parent.inspectRepair (row)">处理</button>
|
265
|
+
</div>
|
266
|
+
</div>
|
267
|
+
</div>
|
268
|
+
</div>
|
269
|
+
</div>
|
270
|
+
</list>
|
271
|
+
</criteria-paged>
|
272
|
+
</div>
|
273
|
+
</template>
|
274
|
+
|
275
|
+
<script>
|
276
|
+
import LocalPagedList from '../../plugins/LocalPagedList'
|
277
|
+
import Vue from 'vue'
|
278
|
+
import { PagedList, HttpResetClass } from 'vue-client'
|
279
|
+
import * as Util from '../Util'
|
280
|
+
import co from 'co'
|
281
|
+
let select = function* (self) {
|
282
|
+
let http = new HttpResetClass()
|
283
|
+
http.load('POST', `${self.$androidUtil.getProxyUrl()}/rs/search`, {
|
284
|
+
source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
|
285
|
+
userid: Vue.user.id
|
286
|
+
}, { resolveMsg: null, rejectMsg: null }).then((res) => {
|
287
|
+
self.checkers.push({ label: '全部', value: '' })
|
288
|
+
res.data.forEach((checker) => {
|
289
|
+
self.checkers.push({ label: checker.name, value: checker.id })
|
290
|
+
})
|
291
|
+
})
|
292
|
+
}
|
293
|
+
export default {
|
294
|
+
title: 'userinfo-select',
|
295
|
+
props: ['row'],
|
296
|
+
data() {
|
297
|
+
return {
|
298
|
+
f_filialeids: '(' + Vue.user.orgid + ')',
|
299
|
+
planparam: [],
|
300
|
+
check: '',
|
301
|
+
plan: '',
|
302
|
+
planid: '',
|
303
|
+
model: Vue.android ? new LocalPagedList('androidGetuserinfo', 20, { condition: 'this.condition' }) : new PagedList('AndroidRest/rs/sql/androidGetuserinfo', 20, { condition: 'this.condition' }),
|
304
|
+
showModal: false,
|
305
|
+
showModal2: false,
|
306
|
+
showModal3: false,
|
307
|
+
needid: '',
|
308
|
+
criteriaShow: false,
|
309
|
+
planoption: [],
|
310
|
+
condition: '',
|
311
|
+
checkers: [],
|
312
|
+
param: null,
|
313
|
+
f_preset_dt: Util.to3339TimeString(),
|
314
|
+
flow_direction: [
|
315
|
+
{ label: '请选择挂表方式', value: '' },
|
316
|
+
{ label: '左表', value: '左表' },
|
317
|
+
{ label: '右表', value: '右表' }
|
318
|
+
],
|
319
|
+
check_states: [
|
320
|
+
{ label: '请选择安检状态', value: '' },
|
321
|
+
{ label: '未检', value: '未检' },
|
322
|
+
{ label: '临时保存', value: '已检' },
|
323
|
+
],
|
324
|
+
last_check_states: [
|
325
|
+
{ label: '请选择上次安检状态', value: '' },
|
326
|
+
{ label: '入户', value: '入户' },
|
327
|
+
{ label: '拒检', value: '拒检' },
|
328
|
+
{ label: '到访不遇', value: '到访不遇' },
|
329
|
+
{ label: '未使用天然气', value: '未使用天然气' }
|
330
|
+
],
|
331
|
+
upload_states: [
|
332
|
+
{ label: '请选择上传状态', value: '' },
|
333
|
+
{ label: '未传', value: '未传' },
|
334
|
+
{ label: '已传', value: '已传' }
|
335
|
+
],
|
336
|
+
user_types: [
|
337
|
+
{ label: '请选择用户类型', value: '' },
|
338
|
+
{ label: '民用', value: '民用' },
|
339
|
+
{ label: '非民用', value: '非民用' },
|
340
|
+
],
|
341
|
+
verify_state: [
|
342
|
+
{ label: '请选择审核状态', value: '' },
|
343
|
+
{ label: '未审核', value: '未审核' },
|
344
|
+
{ label: '打回', value: '打回' }
|
345
|
+
],
|
346
|
+
residentialAreaOptions: [],
|
347
|
+
buildOptions: [],
|
348
|
+
unitOptions: [],
|
349
|
+
planNameOptions: [],
|
350
|
+
upcomingCount: 0,
|
351
|
+
doneCount: 0,
|
352
|
+
tempSaveCount: 0,
|
353
|
+
allPlanCount: 0
|
354
|
+
}
|
355
|
+
},
|
356
|
+
ready() {
|
357
|
+
this.selfSearch()
|
358
|
+
let gen = select(this)
|
359
|
+
co(gen)
|
360
|
+
},
|
361
|
+
mounted() {
|
362
|
+
if (window.history && window.history.pushState) {
|
363
|
+
history.pushState(null, null, document.URL);
|
364
|
+
window.addEventListener('popstate', this.fun, false)
|
365
|
+
}
|
366
|
+
},
|
367
|
+
destroyed() {
|
368
|
+
window.removeEventListener('popstate', this.fun, false)
|
369
|
+
},
|
370
|
+
methods: {
|
371
|
+
inspectRepair(row){
|
372
|
+
var _this = this
|
373
|
+
let http = new HttpResetClass()
|
374
|
+
http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/sql/AndroidDealWith`, {data: {condition: `tcp.f_userinfo_code = '${row.f_userinfo_code}'`,f_filialeids:Vue.user.orgid}},
|
375
|
+
{resolveMsg: null, rejectMsg: null}).then(resp=>{
|
376
|
+
if (resp.data.length>0){
|
377
|
+
this.$showMessage('该用户有隐患未处理,是否先处理隐患?', ['cancel', 'confirm']).then(
|
378
|
+
(response) => {
|
379
|
+
if (response === 'confirm') {
|
380
|
+
var pardate = {
|
381
|
+
_this:_this,
|
382
|
+
title:'隐患处理',
|
383
|
+
safe:true
|
384
|
+
}
|
385
|
+
_this.$dispatch('gotoson',pardate)
|
386
|
+
_this.$goto('android-defect-deal-before-safe', {row: row}, 'self', function () {
|
387
|
+
_this.inspect(row)
|
388
|
+
})
|
389
|
+
}else {
|
390
|
+
this.inspect(row)
|
391
|
+
}
|
392
|
+
}
|
393
|
+
)
|
394
|
+
}else {
|
395
|
+
this.inspect(row)
|
396
|
+
}
|
397
|
+
}).catch(()=>{
|
398
|
+
this.inspect(row)
|
399
|
+
})
|
400
|
+
},
|
401
|
+
scan() {
|
402
|
+
HostApp.__this__ = this,
|
403
|
+
HostApp.scanCode({ callback: "javascript:HostApp.__this__.getCode();" })
|
404
|
+
},
|
405
|
+
getCode() {
|
406
|
+
const datapa = HostApp.getCode().data;
|
407
|
+
this.$refs.paged.$refs.cri.model.f_meter_no = datapa
|
408
|
+
|
409
|
+
},
|
410
|
+
fun() {
|
411
|
+
|
412
|
+
},
|
413
|
+
iscancel() {
|
414
|
+
this.showModal2 = false
|
415
|
+
this.showModal3 = false
|
416
|
+
this.planoption = []
|
417
|
+
},
|
418
|
+
timeSet(val) {
|
419
|
+
return val
|
420
|
+
},
|
421
|
+
async isok() {
|
422
|
+
if (this.planoption.length == 0) {
|
423
|
+
this.$showMessage("请选择计划")
|
424
|
+
return false
|
425
|
+
}
|
426
|
+
for (let i = 0; i < this.planoption.length; i++) {
|
427
|
+
if (this.planoption[i]["selected"] == true) {
|
428
|
+
this.planid = this.planoption[i].value
|
429
|
+
break
|
430
|
+
}
|
431
|
+
}
|
432
|
+
if (this.planid == '') {
|
433
|
+
this.$showMessage("请选择计划")
|
434
|
+
return false
|
435
|
+
}
|
436
|
+
await this.okput()
|
437
|
+
},
|
438
|
+
async manyisok() {
|
439
|
+
if (this.planoption.length == 0) {
|
440
|
+
this.$showMessage("请选择计划")
|
441
|
+
return false
|
442
|
+
}
|
443
|
+
for (let i = 0; i < this.planoption.length; i++) {
|
444
|
+
if (this.planoption[i]["selected"] == true) {
|
445
|
+
this.planid = this.planoption[i].value
|
446
|
+
break
|
447
|
+
}
|
448
|
+
}
|
449
|
+
if (this.planid == '') {
|
450
|
+
this.$showMessage("请选择计划")
|
451
|
+
return false
|
452
|
+
}
|
453
|
+
await this.manyokput()
|
454
|
+
},
|
455
|
+
changenull() {
|
456
|
+
this.showModal2 = false
|
457
|
+
this.showModal3 = false
|
458
|
+
this.planoption = []
|
459
|
+
this.plan = ''
|
460
|
+
this.check = ''
|
461
|
+
},
|
462
|
+
async okput() {
|
463
|
+
let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/UpCheckPlanItem`, {
|
464
|
+
data: {
|
465
|
+
condition: `i.id='` + this.needid + `'`,
|
466
|
+
f_plan_id: this.planid,
|
467
|
+
switchCheckAll: false,
|
468
|
+
checkAll: false,
|
469
|
+
f_operator: Vue.user.name
|
470
|
+
}
|
471
|
+
})
|
472
|
+
this.$showMessage("上传成功,请等待审核")
|
473
|
+
await this.changenull()
|
474
|
+
await this.getNewOrder()
|
475
|
+
},
|
476
|
+
async manyokput() {
|
477
|
+
let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/UpCheckPlanItem`, {
|
478
|
+
data: {
|
479
|
+
columnName: "i.id",
|
480
|
+
condition: "1=1",
|
481
|
+
f_plan_id: this.planid,
|
482
|
+
switchCheckAll: true,
|
483
|
+
param: this.planparam,
|
484
|
+
checkAll: false,
|
485
|
+
f_operator: Vue.user.name
|
486
|
+
}
|
487
|
+
})
|
488
|
+
await this.changenull()
|
489
|
+
await this.getNewOrder()
|
490
|
+
},
|
491
|
+
async plansearch() {
|
492
|
+
this.planoption = []
|
493
|
+
let condition = ` f_plan_year=${new Date().getFullYear()}`
|
494
|
+
if (this.check) {
|
495
|
+
condition += ` and f_checker_id= '${this.check}'`
|
496
|
+
}
|
497
|
+
if (this.plan) {
|
498
|
+
condition += ` and f_plan_name like '%${this.plan}%'`
|
499
|
+
}
|
500
|
+
let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/预约计划下发`, {
|
501
|
+
data: {
|
502
|
+
condition: condition,
|
503
|
+
f_filialeids: this.f_filialeids,
|
504
|
+
groupitem: '',
|
505
|
+
orderitem: 'id'
|
506
|
+
}
|
507
|
+
})
|
508
|
+
let resoult = res.data
|
509
|
+
for (let i = 0; i < resoult.length; i++) {
|
510
|
+
this.planoption.push({ label: resoult[i].f_plan_name, selected: false, value: resoult[i].id })
|
511
|
+
}
|
512
|
+
},
|
513
|
+
|
514
|
+
select(row, idx) {
|
515
|
+
this.$set('planoption[' + idx + '].selected', true)
|
516
|
+
for (let i = 0; i < this.planoption.length; i++) {
|
517
|
+
if (i != idx) {
|
518
|
+
this.planoption[i]["selected"] = false
|
519
|
+
}
|
520
|
+
}
|
521
|
+
},
|
522
|
+
planclose() {
|
523
|
+
this.showModal2 = false
|
524
|
+
this.showModal3 = false
|
525
|
+
},
|
526
|
+
queryplan(val) {
|
527
|
+
this.needid = val
|
528
|
+
this.showModal2 = true
|
529
|
+
},
|
530
|
+
queryplanmany() {
|
531
|
+
|
532
|
+
this.showModal3 = true
|
533
|
+
},
|
534
|
+
reload() {
|
535
|
+
this.selfSearch()
|
536
|
+
},
|
537
|
+
cancelReserve(idx, id) {
|
538
|
+
if (Vue.android) {
|
539
|
+
let res = this.$androidUtil.bzLogic('BookingCheck', { dt: '', id: id })
|
540
|
+
this.$set('model.rows[' + idx + '].f_prearranged_date', null)
|
541
|
+
if (res.code == 200) {
|
542
|
+
this.$showMessage("取消预约成功")
|
543
|
+
}
|
544
|
+
} else {
|
545
|
+
this.$androidUtil.bzLogic('PCbookingCheck', { dt: '', id: id }).then((repanse) => {
|
546
|
+
this.$set('model.rows[' + idx + '].f_prearranged_date', null)
|
547
|
+
if (repanse.data.code == 200) {
|
548
|
+
alert("取消预约成功!")
|
549
|
+
}
|
550
|
+
})
|
551
|
+
}
|
552
|
+
},
|
553
|
+
genuineReserve() {
|
554
|
+
if (Vue.android) {
|
555
|
+
if (!this.f_preset_dt) {
|
556
|
+
this.$showMessage('请选择一个日期')
|
557
|
+
return
|
558
|
+
}
|
559
|
+
let pdt = this.f_preset_dt.replace('T', ' ')
|
560
|
+
let respanse = this.$androidUtil.bzLogic('BookingCheck', { id: this.model.rows[this.param].id, dt: pdt })
|
561
|
+
this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
|
562
|
+
if (respanse.code == 200) {
|
563
|
+
this.$showMessage("预约成功!")
|
564
|
+
}
|
565
|
+
this.showModal = false
|
566
|
+
} else {
|
567
|
+
if (!this.f_preset_dt) {
|
568
|
+
alert('请选择一个日期')
|
569
|
+
return
|
570
|
+
}
|
571
|
+
let pdt = this.f_preset_dt.replace('T', ' ')
|
572
|
+
this.$androidUtil.bzLogic('PCbookingCheck', { id: this.model.rows[this.param].id, dt: pdt }).then((res) => {
|
573
|
+
this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
|
574
|
+
if (res.data.code == 200) {
|
575
|
+
alert("预约成功!")
|
576
|
+
}
|
577
|
+
this.showModal = false
|
578
|
+
})
|
579
|
+
}
|
580
|
+
},
|
581
|
+
inspect(row) {
|
582
|
+
var _this = this
|
583
|
+
let http = new HttpResetClass()
|
584
|
+
http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {
|
585
|
+
data: {
|
586
|
+
items: 'id',
|
587
|
+
tablename: 't_check_plan_item',
|
588
|
+
condition: `id = '${row.id}'`,
|
589
|
+
orderitem: ' id '
|
590
|
+
}
|
591
|
+
}, { resolveMsg: null, rejectMsg: null }).then((getcheckplan) => {
|
592
|
+
console.log('getcheckplan=', JSON.stringify(getcheckplan))
|
593
|
+
this.getcheckplandata = getcheckplan.data[0]
|
594
|
+
if (this.getcheckplandata) {
|
595
|
+
if (row.f_upload_state == '未传' || (row.f_upload_state == '已传' && row.f_state == '未检' && row.f_no_checkplan != '无计划安检')) {
|
596
|
+
_this.$resetpost(`${_this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`, { data: { f_userid: row.f_userinfoid } }, { resolveMsg: null, rejectMsg: null }).then((response) => {
|
597
|
+
row['f_plan_meters'] = response.data
|
598
|
+
var pardate = {
|
599
|
+
_this: _this,
|
600
|
+
title: '安全检查',
|
601
|
+
safe: true
|
602
|
+
}
|
603
|
+
_this.$dispatch('gotoson', pardate)
|
604
|
+
_this.$goto('safecheck-order-v', { f_plan_id: row.f_plan_id, item: row, role: 'inspect', parentPage: 'CurrentCreate' }, 'self', _this.reload)
|
605
|
+
}).catch((msg) => {
|
606
|
+
this.$showMessage("网络异常,请检查网络后再试!")
|
607
|
+
})
|
608
|
+
} else {
|
609
|
+
this.$showMessage("该安检单已被上传!")
|
610
|
+
}
|
611
|
+
} else {
|
612
|
+
this.$showMessage("该用户安检单已被移除,请联系管理员确认!")
|
613
|
+
}
|
614
|
+
})
|
615
|
+
},
|
616
|
+
makeAPhoneCall(phoneNumber) {
|
617
|
+
this.$androidUtil.makeAPhoneCall(phoneNumber)
|
618
|
+
},
|
619
|
+
reserve(idx) {
|
620
|
+
this.param = idx
|
621
|
+
this.showModal = true
|
622
|
+
},
|
623
|
+
search(args) {
|
624
|
+
this.model.rows = []
|
625
|
+
this.model.search(args.condition, args.model)
|
626
|
+
},
|
627
|
+
selfSearch() {
|
628
|
+
let condition = ""
|
629
|
+
if (Array.isArray(this.$refs.paged.$refs.cri.model.f_residential_area) && this.$refs.paged.$refs.cri.model.f_residential_area.length > 0) {
|
630
|
+
condition += " and ti.f_residential_area = '" + this.$refs.paged.$refs.cri.model.f_residential_area[0] + "'"
|
631
|
+
} else if (this.$refs.paged.$refs.cri.model.f_residential_area instanceof String && this.$refs.paged.$refs.cri.model.f_residential_area) {
|
632
|
+
condition += " and ti.f_residential_area = '" + this.$refs.paged.$refs.cri.model.f_residential_area + "'"
|
633
|
+
}
|
634
|
+
if (this.$refs.paged.$refs.cri.model.f_building)
|
635
|
+
condition += ` and ti.f_building = '${this.$refs.paged.$refs.cri.model.f_building}'`
|
636
|
+
if (this.$refs.paged.$refs.cri.model.f_unit)
|
637
|
+
condition += ` and ti.f_unit = '${this.$refs.paged.$refs.cri.model.f_unit}'`
|
638
|
+
if (this.planName) {
|
639
|
+
condition += " and f_plan_name like '%" + this.planName + "%'"
|
640
|
+
} else {
|
641
|
+
if (this.$refs.paged.$refs.cri.model.f_plan_name)
|
642
|
+
condition += " and f_plan_name like '%" + this.$refs.paged.$refs.cri.model.f_plan_name + "%'"
|
643
|
+
}
|
644
|
+
condition += " and ti.f_userinfo_code like '%" + this.$refs.paged.$refs.cri.model.f_userinfo_code + "%'"
|
645
|
+
if (this.$refs.paged.$refs.cri.model.f_keyword)
|
646
|
+
condition += " and ti.f_address like '%" + this.$refs.paged.$refs.cri.model.f_keyword + "%'"
|
647
|
+
if (this.$refs.paged.$refs.cri.model.f_user_name)
|
648
|
+
condition += " and ti.f_user_name like '%" + this.$refs.paged.$refs.cri.model.f_user_name + "%'"
|
649
|
+
if (this.$refs.paged.$refs.cri.model.f_state[0])
|
650
|
+
condition += " and ti.f_state='" + this.$refs.paged.$refs.cri.model.f_state[0] + "'"
|
651
|
+
if (this.$refs.paged.$refs.cri.model.f_user_type[0])
|
652
|
+
condition += " and ti.f_user_type='" + this.$refs.paged.$refs.cri.model.f_user_type[0] + "'"
|
653
|
+
if (this.$refs.paged.$refs.cri.model.f_meter_no)
|
654
|
+
condition += " and tm.f_meter_no like '%" + this.$refs.paged.$refs.cri.model.f_meter_no + "%'"
|
655
|
+
if (this.$refs.paged.$refs.cri.model.f_user_phone) {
|
656
|
+
condition += `and ti.f_user_phone like '%${this.$refs.paged.$refs.cri.model.f_user_phone}%'`
|
657
|
+
}
|
658
|
+
if (this.$refs.paged.$refs.cri.model.f_enter_number)
|
659
|
+
condition += " and ti.f_enter_number like '%" + this.$refs.paged.$refs.cri.model.f_enter_number + "%'"
|
660
|
+
if (this.$refs.paged.$refs.cri.model.f_check_version)
|
661
|
+
condition += " and ti.f_check_version <= " + this.$refs.paged.$refs.cri.model.f_check_version
|
662
|
+
if (this.row.f_plan_id){
|
663
|
+
condition += ` and ti.f_plan_id = '${this.row.f_plan_id}'`
|
664
|
+
}
|
665
|
+
if(this.row.f_residential_area){
|
666
|
+
condition += ` and ti.f_residential_area = '${this.row.f_residential_area}'`
|
667
|
+
}else {
|
668
|
+
condition += ` and ti.f_residential_area is null`
|
669
|
+
}
|
670
|
+
if (this.row.f_building){
|
671
|
+
condition += ` and ti.f_building = '${this.row.f_building}'`
|
672
|
+
}else {
|
673
|
+
condition += ` and ti.f_building is null`
|
674
|
+
}
|
675
|
+
this.model.search("((f_complete = '' or f_complete = null or f_complete = '未完成') or (f_state = '未检')) and ti.f_no_checkplan = '有计划安检'" + condition)
|
676
|
+
},
|
677
|
+
getNewOrder() {
|
678
|
+
HostApp.__this__ = this
|
679
|
+
HostApp.logicWithHint({
|
680
|
+
'logic': 'SafeCheckServiceTimeOut',
|
681
|
+
'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
|
682
|
+
'data': { params: '' },
|
683
|
+
'backresult': 1
|
684
|
+
})
|
685
|
+
HostApp.logicWithHint({
|
686
|
+
'logic': 'FreshPlanItem',
|
687
|
+
'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
|
688
|
+
'data': { params: '' },
|
689
|
+
'backresult': 1
|
690
|
+
})
|
691
|
+
},
|
692
|
+
getNewOrderCallBack() {
|
693
|
+
this.selfSearch()
|
694
|
+
},
|
695
|
+
hidden() {
|
696
|
+
this.criteriaShow = !this.criteriaShow
|
697
|
+
},
|
698
|
+
setPlanParam(detailsType, event) {
|
699
|
+
if (event.srcElement.checked) {
|
700
|
+
this.planparam.push(detailsType)
|
701
|
+
} else {
|
702
|
+
if (this.planparam.length > 0) {
|
703
|
+
let planid = this.planparam.findIndex((value) => {
|
704
|
+
return value === detailsType
|
705
|
+
})
|
706
|
+
this.planparam.splice(planid, 1)
|
707
|
+
|
708
|
+
}
|
709
|
+
|
710
|
+
}
|
711
|
+
}
|
712
|
+
}
|
713
|
+
}
|
714
|
+
</script>
|