telephone-clients 3.0.104-28 → 3.0.104-29
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.
- package/package.json +1 -1
- package/src/filiale/shanxian/pc/TelFindUser.vue +310 -0
- package/src/filiale/shanxian/telephone.js +14 -13
- package/src/filiale/tongchuan/android/RepairDetails.vue +623 -623
- package/src/filiale/tongchuan/telephoneAndroid.js +23 -24
- package/src/main.js +22 -22
- package/src/filiale/tongchuan/android/FaultAll.vue +0 -826
package/package.json
CHANGED
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
<template >
|
|
2
|
+
<div id="pc-finduser-page1" class="aaa4" style="background-color: #f8f8f8">
|
|
3
|
+
<criteria-paged :model="model" v-ref:paged :simple="true">
|
|
4
|
+
<criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
|
|
5
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
6
|
+
<div class="row" style="margin:10px 10px 0 10px">
|
|
7
|
+
<div class="form-group col-sm-4" >
|
|
8
|
+
<label class="font_normal_body" style="width:55%">电话号码:</label>
|
|
9
|
+
<input type="text" class="input_search" v-model="model.f_user_phone" placeholder='电话号码'
|
|
10
|
+
condition="ti.f_user_phone like '%{}%'"
|
|
11
|
+
:size="model.f_user_phone ? model.f_user_phone.length : 8" style="height: 95%;width: 90%"/>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="form-group col-sm-4" >
|
|
14
|
+
<label class="font_normal_body" style="width:55%">用户编号:</label>
|
|
15
|
+
<input type="text" class="input_search" v-model="model.f_userinfo_code" placeholder='用户编号'
|
|
16
|
+
condition="ti.f_userinfo_code like '%{}%'"
|
|
17
|
+
:size="model.f_userinfo_code ? model.f_userinfo_code.length : 8" style="height: 95%;width: 90%"/>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="form-group col-sm-4">
|
|
20
|
+
<button type="button" name="button" class="button_spacing button_search" style="float: right" @click="search()">查询</button>
|
|
21
|
+
<button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;" class="button_spacing button_search" @click="$parent.$parent.clear()">清空</button>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="form-group col-sm-4">
|
|
24
|
+
<label class="font_normal_body" style="width:55%">表号:</label>
|
|
25
|
+
<input type="text" class="input_search" v-model="model.f_meternumber" placeholder='表号'
|
|
26
|
+
condition="tu.f_meternumber like '%{}%'"
|
|
27
|
+
:size="model.f_meternumber ? model.f_meternumber.length : 8" style="height: 95%;width: 90%"/>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="form-group col-sm-4" >
|
|
30
|
+
<label class="font_normal_body" style="width:55%">用户名称:</label>
|
|
31
|
+
<input type="text" class="input_search" v-model="model.f_user_name" placeholder='姓名'
|
|
32
|
+
condition="ti.f_user_name like '%{}%'"
|
|
33
|
+
:size="model.f_user_name ? model.f_user_name.length * 2 : 4" style="height: 95%;width: 90%"/>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="form-group col-sm-4" >
|
|
36
|
+
<label class="font_normal_body" style="width:55%">用户地址:</label>
|
|
37
|
+
<input type="text" class="input_search" v-model="model.f_address" placeholder='地址'
|
|
38
|
+
condition="ta.f_address like '%{}%'"
|
|
39
|
+
:size="model.f_address ? model.f_address.length * 2 : 4" style="height: 95%;width: 90%"/>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="form-group col-sm-4" v-if="$parent.$parent.enter_number_show">
|
|
42
|
+
<label class="font_normal_body" style="width:55%">入户证号:</label>
|
|
43
|
+
<input type="text" class="input_search" v-model="model.f_enter_number" placeholder='入户证号'
|
|
44
|
+
condition="ta.f_enter_number like '%{}%'"
|
|
45
|
+
style="height: 95%;width: 90%"/>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="form-group col-sm-4" v-if="$parent.$parent.residential_area_show">
|
|
48
|
+
<label class="font_normal_body" style="width:55%">小区:</label>
|
|
49
|
+
<input type="text" class="input_search" v-model="model.f_residential_area" placeholder='小区'
|
|
50
|
+
condition="ta.f_residential_area like '%{}%'"
|
|
51
|
+
style="height: 95%;width: 90%"/>
|
|
52
|
+
</div>
|
|
53
|
+
<div class="form-group col-sm-4" v-if="$parent.$parent.building_show">
|
|
54
|
+
<label class="font_normal_body" style="width:55%">楼栋:</label>
|
|
55
|
+
<input type="text" class="input_search" v-model="model.f_building" placeholder='楼栋'
|
|
56
|
+
condition="ta.f_building = '{}'"
|
|
57
|
+
style="height: 95%;width: 90%"/>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="form-group col-sm-4" v-if="$parent.$parent.unit_show">
|
|
60
|
+
<label class="font_normal_body" style="width:55%">单元:</label>
|
|
61
|
+
<input type="text" class="input_search" v-model="model.f_unit" placeholder='单元'
|
|
62
|
+
condition="ta.f_unit = '{}'"
|
|
63
|
+
style="height: 95%;width: 90%"/>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="form-group col-sm-4" v-if="$parent.$parent.floor_show">
|
|
66
|
+
<label class="font_normal_body" style="width:55%">楼层:</label>
|
|
67
|
+
<input type="text" class="input_search" v-model="model.f_floor" placeholder='楼层'
|
|
68
|
+
condition="ta.f_floor = '{}'"
|
|
69
|
+
style="height: 95%;width: 90%"/>
|
|
70
|
+
</div>
|
|
71
|
+
<div class="form-group col-sm-4" v-if="$parent.$parent.room_show">
|
|
72
|
+
<label class="font_normal_body" style="width:55%">房间号:</label>
|
|
73
|
+
<input type="text" class="input_search" v-model="model.f_room" placeholder='房间号'
|
|
74
|
+
condition="ta.f_room = '{}'"
|
|
75
|
+
style="height: 95%;width: 90%"/>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="form-group col-sm-4" v-if="false" >
|
|
78
|
+
<label class="font_normal_body" style="width:55%">是否预备:</label>
|
|
79
|
+
<v-select :value.sync="model.is_prepare" :options='$parent.$parent.is_prepares' placeholder='是否预备' close-on-select width="60%"
|
|
80
|
+
class="select select_list form-group" v-model='model.is_prepare' :search='true'></v-select>
|
|
81
|
+
</div>
|
|
82
|
+
<!-- <div class="form-group col-sm-2" >-->
|
|
83
|
+
<!-- <v-select :value.sync="model.f_residential_area" :options='$parent.$parent.areaselected' placeholder='小区' close-on-select width="90%"-->
|
|
84
|
+
<!-- :size="model.f_residential_area?model.f_residential_area.length * 2 : 4" class="select select_list form-group" v-model='model.f_residential_area' condition="ta.f_residential_area like '%{}%'" :search='true'></v-select>-->
|
|
85
|
+
<!-- </div>-->
|
|
86
|
+
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
</criteria>
|
|
90
|
+
<list :model='model' partial='list' style="background-color: #f8f8f8;overflow: auto;">
|
|
91
|
+
<div partial class="panel panel-default well" style="margin: 15px 10px 0 10px;background-color: #ffffff;border-radius: 8px;border: solid 1px #dddddd;">
|
|
92
|
+
<div class="panel-body inbg" :class="{aaa: $parent.$parent.$parent.tempnumber === row.f_userinfo_code}">
|
|
93
|
+
<div class="row">
|
|
94
|
+
<div class="col-sm-4">
|
|
95
|
+
<label style="color: #666666"> 用户编号:</label> {{row.f_userinfo_code}}
|
|
96
|
+
</div>
|
|
97
|
+
<div class="col-sm-4">
|
|
98
|
+
<label style="color: #666666">用户姓名:</label> {{row.f_user_name}}
|
|
99
|
+
</div>
|
|
100
|
+
<div class="col-sm-4">
|
|
101
|
+
<label style="color: #666666">用户状态: </label>{{row.f_user_state}}
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
</div>
|
|
105
|
+
<div class="row">
|
|
106
|
+
<div class="col-sm-4">
|
|
107
|
+
<label style="color: #666666">用户电话:</label> {{row.f_user_phone}}
|
|
108
|
+
</div>
|
|
109
|
+
<div class="col-sm-4">
|
|
110
|
+
<label style="color: #666666">用户类别: </label>{{row.f_user_type}}
|
|
111
|
+
</div>
|
|
112
|
+
<div class="col-sm-4">
|
|
113
|
+
<label style="color: #666666">账户结余: </label>{{row.f_balance}}
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
<div class="row">
|
|
117
|
+
<div class="col-sm-6" v-if="$parent.$parent.$parent.enter_number_show">
|
|
118
|
+
<label style="color: #666666">入户证号: </label>{{row.f_enter_number}}
|
|
119
|
+
</div>
|
|
120
|
+
<div class="col-sm-6">
|
|
121
|
+
<label style="color: #666666">详细地址: </label>{{row.f_address}}
|
|
122
|
+
</div>
|
|
123
|
+
<div class="col-sm-6">
|
|
124
|
+
<label style="color: #666666">区域信息: </label>{{row.f_slice_area}}
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
<div class="row">
|
|
128
|
+
<div class="col-sm-6" v-if="$parent.$parent.$parent.isText">
|
|
129
|
+
<button type="button" name="button" class="btn btn-link"
|
|
130
|
+
@click.stop="$parent.$parent.$parent.bind(row)">绑定</button>
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
</list>
|
|
136
|
+
</criteria-paged>
|
|
137
|
+
</div>
|
|
138
|
+
</template>
|
|
139
|
+
|
|
140
|
+
<script>
|
|
141
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
142
|
+
export default {
|
|
143
|
+
title: '查询用户',
|
|
144
|
+
data () {
|
|
145
|
+
return {
|
|
146
|
+
model: new PagedList('rs/sql/tel_getUserInfoAdress', 10),
|
|
147
|
+
show: false,
|
|
148
|
+
row: Object,
|
|
149
|
+
is_prepares:[{label: '全部', value: ''},{label: '是', value: '是'},{label: '否', value: '否'}],
|
|
150
|
+
tempnumber: '',
|
|
151
|
+
rows:[],
|
|
152
|
+
enter_number_show:true,
|
|
153
|
+
residential_area_show:true,
|
|
154
|
+
building_show:true,
|
|
155
|
+
unit_show:true,
|
|
156
|
+
room_show:true,
|
|
157
|
+
floor_show:true
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
props: {
|
|
161
|
+
isText: {
|
|
162
|
+
type: Boolean,
|
|
163
|
+
default: false
|
|
164
|
+
},
|
|
165
|
+
user: {},
|
|
166
|
+
callObj:{
|
|
167
|
+
type: Object
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
methods: {
|
|
171
|
+
clear(){
|
|
172
|
+
//清空查询条件
|
|
173
|
+
this.$refs.paged.$refs.criteria.model={}
|
|
174
|
+
},
|
|
175
|
+
// 获取该组件配置文件
|
|
176
|
+
getTelFindUserConfig(){
|
|
177
|
+
let http = new HttpResetClass()
|
|
178
|
+
http.load('GET', `/phone/rs/vue`, {}, {resolveMsg: null, rejectMsg: null}).then(res=>{
|
|
179
|
+
if(res.data.telephone){
|
|
180
|
+
if (res.data.telephone.TelFindUser){
|
|
181
|
+
let telconfig = res.data.telephone.TelFindUser.data
|
|
182
|
+
if(telconfig.criteria){
|
|
183
|
+
telconfig.criteria.forEach((item)=>{
|
|
184
|
+
if(item.name =='入户证号'){
|
|
185
|
+
this.enter_number_show = item.ifshow
|
|
186
|
+
}
|
|
187
|
+
if(item.name =='小区'){
|
|
188
|
+
this.residential_area_show = item.ifshow
|
|
189
|
+
}
|
|
190
|
+
if(item.name =='楼栋'){
|
|
191
|
+
this.building_show = item.ifshow
|
|
192
|
+
}
|
|
193
|
+
if(item.name =='单元'){
|
|
194
|
+
this.unit_show = item.ifshow
|
|
195
|
+
}
|
|
196
|
+
if(item.name =='房间号'){
|
|
197
|
+
this.room_show = item.ifshow
|
|
198
|
+
}
|
|
199
|
+
if(item.name =='楼层'){
|
|
200
|
+
this.floor_show = item.ifshow
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
})
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
})
|
|
208
|
+
},
|
|
209
|
+
search (args) {
|
|
210
|
+
if(args.model.is_prepare && args.model.is_prepare.length>0 && args.model.is_prepare[0]=='是'){
|
|
211
|
+
args.condition += ` and 1=1 and ti.f_user_state = '预备' and tu.f_table_state = '待开通'`
|
|
212
|
+
}else if(args.model.is_prepare && args.model.is_prepare.length>0 && args.model.is_prepare[0]=='否'){
|
|
213
|
+
args.condition += ` and 1=1 and ti.f_user_state != '预备' and tu.f_table_state != '待开通'`
|
|
214
|
+
}else {
|
|
215
|
+
args.condition += ` and ti.f_filialeid = '${this.$login.f.orgid}' and ti.f_user_state in('正常','停用','预备')`
|
|
216
|
+
}
|
|
217
|
+
this.model.search(args.condition, args.model)
|
|
218
|
+
},
|
|
219
|
+
bind (row) {
|
|
220
|
+
//tag
|
|
221
|
+
},
|
|
222
|
+
teleNoQuery (teleNo) {
|
|
223
|
+
this.$refs.paged.$refs.criteria.model.f_user_phone = teleNo
|
|
224
|
+
this.$refs.paged.$refs.criteria.search()
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
ready(){
|
|
228
|
+
this.getTelFindUserConfig()
|
|
229
|
+
this.$refs.paged.$refs.criteria.search()
|
|
230
|
+
|
|
231
|
+
},
|
|
232
|
+
watch: {
|
|
233
|
+
'callObj.callNum' () {
|
|
234
|
+
// 查找用户的 业务逻辑
|
|
235
|
+
let http = new HttpResetClass()
|
|
236
|
+
http.load('POST', 'rs/sql/tel_getUserInfoAdress', {data: {
|
|
237
|
+
condition: `(f_user_phone = '${this.callObj.callNum}' or f_zuhu_phone = '${this.callObj.callNum}' or f_rent_phone = '${this.callObj.callNum}') and ti.f_user_state = '正常' `,
|
|
238
|
+
}},{resolveMsg: null, rejectMsg: null}).then((req) => {
|
|
239
|
+
this.model.rows = req.data
|
|
240
|
+
this.model.state = '正确'
|
|
241
|
+
})
|
|
242
|
+
},
|
|
243
|
+
'user' (val) {
|
|
244
|
+
// this.$resetpost('rs/sql/singleTable', {data: { tablename: 't_userinfo', condition: "f_user_name='" + this.user.name + "' and f_userinfo_id=" + this.user.userId }}).then((req) => {
|
|
245
|
+
// this.row = req.data
|
|
246
|
+
// })
|
|
247
|
+
if (val.name === '' && val.userId === '') { // 用户未绑定
|
|
248
|
+
// 清空查询条件
|
|
249
|
+
Object.keys(this.$refs.paged.$refs.criteria.model).forEach((key) => {
|
|
250
|
+
this.$refs.paged.$refs.criteria.model[key] = ''
|
|
251
|
+
})
|
|
252
|
+
this.model.rows = []
|
|
253
|
+
this.model.state = '错误'
|
|
254
|
+
this.model.error = '未找到用户或用户未绑定'
|
|
255
|
+
this.$emit('find-error', '未找到用户或用户未绑定')
|
|
256
|
+
return
|
|
257
|
+
}
|
|
258
|
+
this.$refs.paged.$refs.criteria.model.f_user_name = this.user.name
|
|
259
|
+
this.$refs.paged.$refs.criteria.model.f_userinfo_id = this.user.userId
|
|
260
|
+
this.$refs.paged.$refs.criteria.search()
|
|
261
|
+
// this.model.search(`f_user_name = '${this.user.name}' and f_userinfo_id = ${this.user.userId}`, this.model)
|
|
262
|
+
},
|
|
263
|
+
'model.state' (val) {
|
|
264
|
+
if (val === '正确' && this.model.rows.length === 1) {
|
|
265
|
+
this.$emit('find-one', this.model.rows[0])
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
events: {
|
|
270
|
+
//点击用户信息后变色
|
|
271
|
+
'select-changed' :function (val) {
|
|
272
|
+
this.tempnumber = val.val.f_userinfo_code
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
</script>
|
|
277
|
+
<style scoped>
|
|
278
|
+
label {
|
|
279
|
+
width: 80px;
|
|
280
|
+
}
|
|
281
|
+
#pc-finduser-page .form-input-group {
|
|
282
|
+
margin: 5px 0px;
|
|
283
|
+
height: auto;
|
|
284
|
+
}
|
|
285
|
+
.themeOne .span{
|
|
286
|
+
overflow-y: scroll;
|
|
287
|
+
}
|
|
288
|
+
.pager{
|
|
289
|
+
margin: 5px 0px !important;
|
|
290
|
+
background-color: #f8f8f8;
|
|
291
|
+
}
|
|
292
|
+
.inbg{
|
|
293
|
+
font-family: PingFang-SC-Medium;
|
|
294
|
+
font-size: 14px;
|
|
295
|
+
font-weight: normal;
|
|
296
|
+
font-stretch: normal;
|
|
297
|
+
line-height: 18px;
|
|
298
|
+
letter-spacing: 0px;
|
|
299
|
+
color: #333333;
|
|
300
|
+
}
|
|
301
|
+
.aaa{
|
|
302
|
+
background-color: #d8eafb;
|
|
303
|
+
}
|
|
304
|
+
</style>
|
|
305
|
+
<style>
|
|
306
|
+
#pc-finduser-page1 ul{
|
|
307
|
+
margin: 5px 0px !important;
|
|
308
|
+
background-color: #f8f8f8 !important;
|
|
309
|
+
}
|
|
310
|
+
</style>
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
// 分公司特殊组件页面注册
|
|
2
|
-
import Vue from "vue";
|
|
3
|
-
|
|
4
|
-
//pc和手机分别注册到两个文件中
|
|
5
|
-
let specialComp = {
|
|
6
|
-
'work-list': (resolve) => { require(['./pc/WorkList'], resolve) },
|
|
7
|
-
'
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
// 分公司特殊组件页面注册
|
|
2
|
+
import Vue from "vue";
|
|
3
|
+
|
|
4
|
+
//pc和手机分别注册到两个文件中
|
|
5
|
+
let specialComp = {
|
|
6
|
+
'work-list': (resolve) => { require(['./pc/WorkList'], resolve) },
|
|
7
|
+
'tel-find-user':(resolve) => { require(['./pc/TelFindUser'], resolve) },
|
|
8
|
+
'repairs-work': (resolve) => { require(['./pc/RepairsWork'], resolve) }
|
|
9
|
+
}
|
|
10
|
+
exports.specialComp = specialComp
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|