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