telephone-clients 4.0.0-1-3 → 4.0.0-1-5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1041 +1,1041 @@
1
- <template>
2
- <work-busy :is-busy="excessive"></work-busy>
3
- <div style="height: 100%">
4
- <div class="panel auto">
5
- <div class="panel-heading" @click="selectVal('基本信息')" style="background-color: #ffffff">
6
- <span class="spanboder">
7
- <img src="../../assets/person.png" style="width: 22px;margin-right: 8px;">基本信息
8
- <img class="butt3" :src="imgback('基本信息')">
9
- </span>
10
- </div>
11
- <div class="panel-body " id="upuserinfo_sel" v-show="headername=='基本信息'">
12
- <div class="row auto" style="margin: 5px 0">
13
- <labe class="righttxt">用户编号:</labe>
14
- <input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_userinfo_code" readonly/>
15
- </div>
16
- <div class="row auto" style="margin: 5px 0">
17
- <labe class="righttxt">用户名称:</labe>
18
- <input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_user_name" />
19
- </div>
20
- <div class="row auto" style="margin: 5px 0">
21
- <labe class="righttxt">用户状态:</labe>
22
- <input type="text" class="form-control rightipt" readonly v-model="userinfo.baseinfo.base.f_user_state"/>
23
- </div>
24
- <div class="row auto" style="margin: 5px 0">
25
- <labe class="righttxt">用户电话:</labe>
26
- <input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_user_phone"/>
27
- </div>
28
- <div class="row auto" style="margin: 5px 0">
29
- <labe class="righttxt">租户姓名:</labe>
30
- <input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_rent_name"/>
31
- </div>
32
- <div class="row auto" style="margin: 5px 0">
33
- <labe class="righttxt">租户电话:</labe>
34
- <input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_zuhu_phone"/>
35
- </div>
36
- <div class="row auto" style="margin: 5px 0">
37
- <labe class="righttxt">地址类型:</labe>
38
- <div class="rightipt" style="display: flex;justify-content: space-around;margin-top: 5px">
39
- <div><input type="radio" v-model="addressType" name="addressType" @change="changeAddressType"
40
- id="phone_addressType1" value="普通地址"/><label style="font-weight: normal;padding-left: 2px"
41
- for="phone_addressType1">普通地址</label></div>
42
- <div><input type="radio" v-model="addressType" name="addressType" @change="changeAddressType"
43
- id="phone_addressType2" value="特殊地址"/><label style="font-weight: normal;padding-left: 2px"
44
- for="phone_addressType2">特殊地址</label></div>
45
- </div>
46
- <!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
47
- <!--<input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_pcd" />-->
48
- <!--<v-select :value.sync="userinfo.addressinfo.f_iscity" class="input-font" style="margin-left: 5%;"
49
- :width="'60%'"
50
- v-model="userinfo.addressinfo.f_iscity"
51
- :options='cityTypes' placeholder='地区类型' close-on-select clear-button value-single @change="area_change()"></v-select>-->
52
- </div>
53
- <div class="row auto" style="margin: 5px 0">
54
- <labe class="righttxt">地区类型:</labe>
55
- <!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
56
- <input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_iscity"/>
57
- <!--<v-select :value.sync="userinfo.addressinfo.f_iscity" class="input-font" style="margin-left: 5%;"
58
- :width="'60%'"
59
- :disabled="true"
60
- v-model="userinfo.addressinfo.f_iscity"
61
- :options='cityTypes' placeholder='地区类型' close-on-select clear-button value-single ></v-select>-->
62
- </div>
63
- <div class="row auto" style="margin: 5px 0">
64
- <labe class="righttxt">省&ensp;市&ensp;区:</labe>
65
- <!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
66
- <!--<input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_pcd" />-->
67
- <v-select :value.sync="selectPcd" class="input-font" style="margin-left: 5%;"
68
- :width="'60%'"
69
- v-model="selectPcd"
70
- :options='pcds' placeholder='请选择省市区' close-on-select clear-button value-single
71
- @change="pcd_change()"></v-select>
72
- </div>
73
- <div class="row auto" style="margin: 5px 0">
74
- <labe class="righttxt">街道名称:</labe>
75
- <!--<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_street" />-->
76
- <v-select :value.sync="selectStreet" class="input-font" style="margin-left: 5%;"
77
- :width="'60%'"
78
- v-model="selectStreet"
79
- :options='streets' placeholder='请选择街道' close-on-select clear-button value-single
80
- @change="street_change()"></v-select>
81
- </div>
82
- <div class="row auto" style="margin: 5px 0">
83
- <labe class="righttxt">集收单位:</labe>
84
- <!--<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_residential_area" />-->
85
- <v-select :value.sync="selectArea" class="input-font" style="margin-left: 5%;"
86
- :width="'60%'"
87
- v-model="selectArea"
88
- :timeout="500"
89
- @select-search="select_search"
90
- :options='area' placeholder='请选择集收单位' close-on-select clear-button value-single
91
- @change="area_change()"></v-select>
92
- </div>
93
- <!--<div class="row auto" style="margin: 5px 0" v-show="addressType=='特殊地址'">
94
- <labe class="righttxt">集收单位:</labe>
95
- &lt;!&ndash;<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_residential_area" />&ndash;&gt;
96
- <v-select :value.sync="selectArea" class="input-font" style="margin-left: 5%;"
97
- :width="'60%'"
98
- v-model="selectArea"
99
- @select-search="select_search"
100
- :options='area' placeholder='请选择集收单位' close-on-select clear-button value-single @change="area_changeTC()"></v-select>
101
- </div>-->
102
- <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
103
- <labe class="righttxt">楼&ensp;&ensp;&ensp;&ensp;号:</labe>
104
- <input type="text" @change="changeNewAddress" class="form-control rightipt"
105
- v-model="userinfo.addressinfo.f_building"/>
106
- </div>
107
- <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
108
- <labe class="righttxt">单&ensp;&ensp;&ensp;&ensp;元:</labe>
109
- <input type="text" @change="changeNewAddress" class="form-control rightipt"
110
- v-model="userinfo.addressinfo.f_unit"/>
111
- </div>
112
- <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
113
- <labe class="righttxt">楼&ensp;&ensp;&ensp;&ensp;层:</labe>
114
- <input type="text" @change="changeNewAddress" class="form-control rightipt"
115
- v-model="userinfo.addressinfo.f_floor"/>
116
- </div>
117
- <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
118
- <labe class="righttxt">门&ensp;牌&ensp;号:</labe>
119
- <input type="text" @change="changeNewAddress" class="form-control rightipt"
120
- v-model="userinfo.addressinfo.f_room"/>
121
- </div>
122
- <div class="row auto" style="margin: 5px 0">
123
- <labe class="righttxt">详细地址:</labe>
124
- <input type="text" class="form-control rightipt" readonly v-model="userinfo_old.addressinfo.f_address"/>
125
- </div>
126
- <div class="row auto" style="margin: 5px 0">
127
- <labe class="righttxt">新&ensp;地&ensp;址:</labe>
128
- <!--<input type="text" class="form-control rightipt" readonly v-model="getaddress()" />-->
129
- <textarea :readonly="addressType=='普通地址'" class="form-control rightipt" : style="height: 80px"
130
- v-model="userinfo.addressinfo.f_address"></textarea>
131
- </div>
132
-
133
- <!--<div class="row auto" style="margin: 5px 0" v-show="addressType=='特殊地址'">
134
- <labe class="righttxt">新&ensp;地&ensp;址:</labe>&lt;!&ndash;<input type="text" class="form-control rightipt" v-model="userinfo.addressinfo.f_address" />&ndash;&gt;
135
- <textarea class="form-control rightipt" style="height: 80px" v-model="getAddressTS"></textarea>
136
- </div>-->
137
-
138
- <div class="row auto" style="margin: 5px 0">
139
- <labe class="righttxt">备&ensp;&ensp;&ensp;&ensp;注:</labe>
140
- <textarea class="form-control rightipt" style="height: 150px"
141
- v-model="userinfo.baseinfo.base.f_remark"></textarea>
142
- <!--<input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_remark" />-->
143
- </div>
144
- </div>
145
- </div>
146
- <div class="panel auto">
147
- <div class="panel-heading" @click="selectVal('表具信息')" style="background-color: #ffffff">
148
- <span class="spanboder">
149
- <img src="../../assets/person.png" style="width: 22px;margin-right: 8px;">表具信息
150
- <img class="butt3" :src="imgback('表具信息')">
151
- </span>
152
- </div>
153
- <div class="panel-body " v-show="headername=='表具信息'">
154
- <div class="row auto" style="margin: 5px 0">
155
- <labe class="righttxt">表&ensp;&ensp;&ensp;&ensp;号:</labe>
156
- <input type="text" :readonly="userinfo.meterinfo[0].f_meter_classify!='机表'" class="form-control rightipt"
157
- style="width: 45%" v-model="userinfo.meterinfo[0].f_meternumber"/>
158
- <button type="button" :disabled="userinfo.meterinfo[0].f_meter_classify!='机表'" name="button"
159
- class="btn btn-primary" style="width: 15%" @click="scan">扫码
160
- </button>
161
- </div>
162
-
163
- <!--<div class="row auto" style="margin: 5px 0" v-if="userinfo.meterinfo[0].f_meter_classify=='机表'">
164
- <div class="auto">
165
- <div class="panel" style="padding: 0px 15px 5px 10px;">
166
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
167
- <div class="row" style="height: 240px;">
168
- <div class="col-sm-4">
169
- <img-self :src="f_meterno_path" alt="表号照片" width="150" height="200"></img-self>
170
- </div>
171
- </div>
172
- <div class="row text-right div-photo" :class="style__">
173
- <button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_meterno_path', '表号照片')">拍照</button>
174
- <img src="../../assets/remove.png" :class="style__" @click="delfile('f_meterno_path', this.f_meterno_path)" style="width: 25%;"></img>
175
- </div>
176
- </div>
177
- </div>
178
- </div>
179
- </div>-->
180
- <div class="row auto" style="margin: 5px 0">
181
- <labe class="righttxt">表&ensp;封&ensp;号:</labe>
182
- <input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_metertitles"/>
183
- </div>
184
- <div class="row auto" style="margin: 5px 0">
185
- <labe class="righttxt">表&ensp;位&ensp;置:</labe>
186
- <!--<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_position" readonly/>-->
187
- <v-select class="rightipt" :value.sync="userinfo.meterinfo[0].f_position"
188
- v-model="userinfo.meterinfo[0].f_position"
189
- placeholder='请选择'
190
- :width='wid'
191
- readonly
192
- :options="wz_types"
193
- close-on-select value-single></v-select>
194
- </div>
195
- <div class="row auto" style="margin: 5px 0">
196
- <labe class="righttxt">气表类型:</labe>
197
- <input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_meter_classify" readonly/>
198
- </div>
199
- <div class="row auto" style="margin: 5px 0">
200
- <div style="display: flex;justify-content: center;">
201
- <button v-if="userinfo.meterinfo[0].f_meter_classify=='机表'" class="col-sm-3 btn btn-primary"
202
- @click="upUserState()">机表关阀停用
203
- </button>
204
- </div>
205
- </div>
206
- </div>
207
- </div>
208
- <div class="panel auto">
209
- <div class="panel-heading" @click="selectVal('设备信息')" style="background-color: #ffffff">
210
-
211
- <span class="spanboder"><img src="../../assets/list.png" style="width: 22px;margin-right: 8px;">设备信息<img
212
- class="butt3" :src="imgback('设备信息')"></span>
213
- </div>
214
- <div class="panel-body" v-show="headername=='设备信息'">
215
- <div class="row" v-for="row in model"
216
- style="border:2px solid #A2C2EB; border-top:10px solid #A2C2EB; box-shadow: #00b3ee;margin-bottom: 10px">
217
- <div class="row auto" style="margin: 5px 0">
218
- <labe class="righttxt">设备类型:</labe>
219
- <!--<input type="text" class="form-control rightipt" readonly v-model="row.f_devices_type" />-->
220
- <v-select class="rightipt" :value.sync="row.f_devices_type"
221
- v-model="row.f_devices_type"
222
- placeholder='请选择'
223
- :width='wid'
224
- readonly
225
- :options="devices_types"
226
- close-on-select value-single></v-select>
227
- </div>
228
- <div class="row auto" style="margin: 5px 0">
229
- <labe class="righttxt">设备品牌:</labe>
230
- <input type="text" class="form-control rightipt" v-model="row.f_brand"/>
231
- </div>
232
- <div class="row auto" style="margin: 5px 0">
233
- <labe class="righttxt">设备型号:</labe>
234
- <input type="text" class="form-control rightipt" v-model="row.f_devices_model"/>
235
- </div>
236
- <div class="row auto" style="margin: 5px 0">
237
- <labe class="righttxt">生产日期:</labe>
238
- <!--<input type="text" class="form-control rightipt" v-model="row.f_make_date" />-->
239
- <datepicker class="rightipt"
240
- :value.sync="row.f_make_date"
241
- v-model="row.f_make_date"
242
- :disabled-days-of-Week="[]"
243
- :format="'yyyy-MM-dd'"
244
- :show-reset-button="reset" readonly="readonly">
245
- </datepicker>
246
- </div>
247
- <div class="row auto" style="margin: 5px 0">
248
- <labe class="righttxt">使用年限:</labe>
249
- <input type="number" class="form-control rightipt" v-model="row.f_service_life"/>
250
- </div>
251
- <div class="row auto" style="margin: 5px 0">
252
- <labe class="righttxt">到期日期:</labe>
253
- <!--<input type="text" class="form-control rightipt" v-model="row.f_expire_date" />-->
254
- <datepicker class="rightipt"
255
- :value.sync="row.f_expire_date"
256
- v-model="row.f_expire_date"
257
- :disabled-days-of-Week="[]"
258
- :format="'yyyy-MM-dd'"
259
- :show-reset-button="reset" readonly="readonly">
260
- </datepicker>
261
- </div>
262
- <div class="row auto" style="margin: 5px 0">
263
- <labe class="righttxt">安&ensp;装&ensp;人:</labe>
264
- <input type="text" class="form-control rightipt" v-model="row.f_input_person"/>
265
- </div>
266
- <div class="row auto" style="margin: 5px 0">
267
- <labe class="righttxt">安装日期:</labe>
268
- <!--<input type="text" class="form-control rightipt" v-model="row.f_input_date" />-->
269
- <datepicker class="rightipt"
270
- :value.sync="row.f_input_date"
271
- v-model="row.f_input_date"
272
- :disabled-days-of-Week="[]"
273
- :format="'yyyy-MM-dd'"
274
- :show-reset-button="reset" readonly="readonly">
275
- </datepicker>
276
- </div>
277
- <div class="row auto" style="margin: 5px 0">
278
- <labe class="righttxt">设备数量:</labe>
279
- <input type="number" class="form-control rightipt" v-model="row.f_devices_num"/>
280
- </div>
281
- <!--<div class="row auto" style="margin: 5px 0">
282
- <labe class="righttxt">管道类型:</labe><input type="text" class="form-control rightipt" readonly v-model="row.f_pipe_type" />
283
- </div>-->
284
- <!--<div class="row auto" style="margin: 5px 0">
285
- <labe class="righttxt">设备状态:</labe><input type="text" class="form-control rightipt" readonly v-model="row.f_userinfodevices_state" />
286
- </div>-->
287
- <!--<div class="row auto" style="margin: 5px 0">
288
- <labe class="righttxt">购买方式:</labe><input type="text" class="form-control rightipt" readonly v-model="row.watchpurchase" />
289
- </div>-->
290
- <div style="display: flex;justify-content: center;margin-bottom: 3px"
291
- v-if="$index>this.userinfo_old.devicesinfo.length-1 || this.userinfo_old.devicesinfo.length==0">
292
- <button class="btn btn-warning" @click="delDevices($index)">删除设备</button>
293
- </div>
294
- </div>
295
- <div style="display: flex;justify-content: space-around;">
296
- <button class="col-sm-3 btn btn-primary" @click="addDevices($index)">新增设备</button>
297
- </div>
298
- </div>
299
- </div>
300
- <div class="panel auto">
301
- <div class="panel-body">
302
- <div style="display: flex;justify-content: center;">
303
- <button class="col-sm-3 btn btn-primary" :disabled="enable" @click="editUserInfo()">上传审核</button>
304
- </div>
305
- </div>
306
- </div>
307
- </div>
308
- </template>
309
-
310
- <script>
311
- import {HttpResetClass} from 'vue-client'
312
- import * as Util from "../Util";
313
- import Vue from 'vue'
314
-
315
- export default {
316
- title: '设备查看',
317
- data() {
318
- return {
319
- model: [],
320
- show: false,
321
- row: Object,
322
- userinfo: Object,
323
- userinfo_old: Object,
324
- wid: "60%",
325
- devices_types: [],
326
- pipe_types: [{label: '橡胶管', value: '橡胶管'}, {label: '波纹管', value: '波纹管'}, {label: '钢管', value: '钢管'}],
327
- wz_types: [],
328
- cityTypes: [{label: '市区', value: '市区'}, {label: '城镇', value: '城镇'}],
329
- pcds: [],
330
- streets: [],
331
- update: false,
332
- headername: '基本信息',
333
- excessive: false,
334
- area: [],
335
- enable: false,
336
- f_meterno_path: Vue.nopic,
337
- selectArea: {id: ''},
338
- selectPcd: {id: ''},
339
- selectStreet: {id: ''},
340
- changemeterno: false,//是否修改了机表表号
341
- approveChange: false,//是否需要进行信息变更审核
342
- newAddress: '',
343
- addressType: '',
344
- //需要审核的字段
345
- checkField: {
346
- checkUserinfoField: [
347
- 'f_user_name'
348
- ],
349
- checkUserFilesField: [
350
- 'f_meternumber'
351
- ],
352
- checkAddressField: [
353
- 'f_pcd_id',
354
- 'f_street_id',
355
- 'f_residential_area_id',
356
- 'f_building',
357
- 'f_unit',
358
- 'f_floor',
359
- 'f_room',
360
- 'f_slice_area',
361
- 'f_special',
362
- 'f_address'
363
- ],
364
- }
365
- }
366
- },
367
- props: {
368
- user: {
369
- type: Object
370
- },
371
- f_userinfo_id: '',
372
- f_source: ''
373
- },
374
- methods: {
375
- scan() {
376
- HostApp.__this__ = this,
377
- HostApp.scanCode({callback: "javascript:HostApp.__this__.getCode();"})
378
- },
379
- getCode() {
380
- var datapa = HostApp.getCode().data;
381
- //tag
382
- this.userinfo.meterinfo[0].f_meternumber = datapa
383
- },
384
- //数据检查
385
- checkVal() {
386
- //检查一些必要信息是否未填
387
- this.approveChange = false
388
- this.changemeterno = false
389
- let checked = {ischeck: true, msg: ''}
390
- //tag
391
- //tag
392
- //tag
393
- if (!this.userinfo.baseinfo.base.f_user_name) {
394
- checked = {ischeck: false, msg: '请输入用户名称!'}
395
- }
396
- if (!this.selectPcd.id) {
397
- checked = {ischeck: false, msg: '请选择省市区!'}
398
- }
399
- if (!this.selectStreet.id) {
400
- checked = {ischeck: false, msg: '请选择街道!'}
401
- }
402
- if (!this.userinfo.addressinfo.f_address) {
403
- checked = {ischeck: false, msg: '新地址不能为空!'}
404
- }
405
- if (this.addressType == '普通地址') {
406
- if (!this.selectArea.id) {
407
- checked = {ischeck: false, msg: '请选择集收单位!'}
408
- }
409
- if (!this.userinfo.addressinfo.f_room) {
410
- checked = {ischeck: false, msg: '新输入门牌号!'}
411
- }
412
- }
413
- if (this.userinfo.meterinfo[0].f_meter_classify == '机表' && this.userinfo_old.meterinfo[0].f_meternumber) {
414
-
415
- //tag
416
- //tag
417
- if (this.userinfo.meterinfo[0].f_meternumber) {
418
- if (this.userinfo.meterinfo[0].f_meternumber != this.userinfo_old.meterinfo[0].f_meternumber) {
419
- if (!this.f_meterno_path || this.f_meterno_path == Vue.nopic) {
420
- checked = {ischeck: false, msg: '请拍摄表号照片!'}
421
- } else {
422
- //用来标识当前有修改机表表号,后台需要进行照片上传
423
- this.changemeterno = true
424
- }
425
- }
426
- } else {
427
- checked = {ischeck: false, msg: '请输入表号!'}
428
- }
429
- }
430
- //检查本次修改信息中是否包含需要审核的内容
431
- for (let check in this.checkField) {
432
- //tag
433
- if (typeof check != 'function') {
434
- for (let i = 0; i < this.checkField[check].length; i++) {
435
- //tag
436
- if (check == 'checkUserinfoField') {
437
- //tag
438
- //tag
439
- if (this.userinfo.baseinfo.base[this.checkField[check][i]] != this.userinfo_old.baseinfo.base[this.checkField[check][i]]) {
440
- //tag
441
- this.approveChange = true
442
- }
443
- } else if (check == 'checkUserFilesField') {
444
- //tag
445
- //tag
446
- if (this.userinfo.meterinfo[0][this.checkField[check][i]] != this.userinfo_old.meterinfo[0][this.checkField[check][i]]) {
447
- //tag
448
- this.approveChange = true
449
- }
450
- } else if (check == 'checkAddressField') {
451
- //tag
452
- //tag
453
- if (this.userinfo.addressinfo[this.checkField[check][i]] != this.userinfo_old.addressinfo[this.checkField[check][i]]) {
454
- //tag
455
- this.approveChange = true
456
- }
457
- }
458
- }
459
- }
460
- }
461
- //tag
462
- return checked
463
- },
464
- select_search(text) {
465
- //tag
466
- if (this.selectStreet.id) {
467
- let pcdText = text ? `and f_street_id=${this.selectStreet.id} and f_residential_area like '%${text}%'` : `and f_street_id=${this.selectStreet.id}`
468
- new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/safe_singleTable_OrderBy`, {
469
- data: {
470
- items: "*",
471
- tablename: "t_area",
472
- orderitem: "id",
473
- condition: `f_orgid = '${Vue.user.orgid}' ${pcdText} `
474
- }
475
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
476
- //tag)
477
- if (res.data.length > 0) {
478
- this.area = []
479
- res.data.forEach((result) => {
480
- this.area.push({label: result.f_residential_area, value: result})
481
- })
482
- }
483
- })
484
- } else {
485
- this.area = []
486
- }
487
- },
488
- cameraCallBack(prop, fileName) {
489
- HostApp.__this__.$set(prop, fileName + '?' + Math.random())
490
- //tag
491
- HostApp.__callback__ = null
492
- HostApp.__this__ = null
493
- },
494
- takePic(prop, title) {
495
- HostApp.__callback__ = this.cameraCallBack
496
- HostApp.__this__ = this
497
- //tag
498
- let fileName
499
- if (!this[prop] || this[prop].includes("nopic.png")) {
500
- fileName = Util.guid() + '-' + prop + '.jpg'
501
- } else {
502
- fileName = Util.getFileName(this[prop])
503
- }
504
- HostApp._open_a_page({
505
- type: 'boomerang',
506
- page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
507
- param: {
508
- file: fileName,
509
- requestCode: 111,
510
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
511
- watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
512
- }
513
- })
514
- },
515
- delfile(prop, fileName) {
516
- if (fileName == Vue.nopic)
517
- return
518
- else {
519
- HostApp.delfile(fileName)
520
- this[prop] = Vue.nopic
521
- }
522
- },
523
- editUserInfo() {
524
- let checked = this.checkVal()
525
- if (!checked.ischeck) {
526
- this.$showMessage(checked.msg)
527
- return
528
- }
529
- this.$showMessage('确定是否修改上传审核用户信息?', ['confirm', 'cancel']).then((res) => {
530
- if (res === 'confirm') {
531
- this.excessive = true
532
- let userinfoms = Object.assign({}, this.userinfo_old.baseinfo.base)
533
- //userinfoms.f_user_name=row.f_user_name
534
- userinfoms.f_user_phone = this.userinfo.baseinfo.base.f_user_phone
535
- userinfoms.f_rent_name = this.userinfo.baseinfo.base.f_rent_name
536
- userinfoms.f_zuhu_phone = this.userinfo.baseinfo.base.f_zuhu_phone
537
- userinfoms.f_operator_record = Vue.user.name
538
- userinfoms.f_operatorid_record = Vue.user.id
539
- userinfoms.f_remark = this.userinfo.baseinfo.base.f_remark
540
- userinfoms.f_orgid_record = Vue.user.orgid
541
- userinfoms.f_orgname_record = Vue.user.orgs
542
- userinfoms.f_depid_record = Vue.user.depids
543
- userinfoms.f_depname_record = Vue.user.deps
544
- this.userinfo_old.meterinfo[0].f_metertitles = this.userinfo.meterinfo[0].f_metertitles
545
- this.userinfo_old.meterinfo[0].f_position = this.userinfo.meterinfo[0].f_position
546
- userinfoms.userfiles = []
547
- this.userinfo_old.meterinfo[0].devicesinfo = this.model
548
- userinfoms.userfiles.push(this.userinfo_old.meterinfo[0])
549
- //tag)
550
- new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-revenue/logic/filemanage_fileSave`, {
551
- data: {
552
- userinfo: userinfoms,
553
- modifyReason: this.f_source ? `${this.f_source}维护档案信息` : '',
554
- address: {
555
- id: this.userinfo_old.addressinfo.id,
556
- oldid: this.userinfo_old.addressinfo.id,
557
- f_address: this.userinfo_old.addressinfo.f_address ? this.userinfo_old.addressinfo.f_address : this.userinfo.addressinfo.f_address
558
- }
559
- }
560
- }, {resolveMsg: null, rejectMsg: null}).then((res1) => {
561
- //tag+res1.data.status)
562
- if (res1.data.status == 200) {
563
- //本次修改信息包含需要审核信息
564
- if (this.approveChange) {
565
- //tag
566
- let res2 = this.$androidUtil.bzLogic('safe_upUserinfoApprove', {
567
- row: {
568
- f_time: Util.toStandardTimeString(),
569
- f_modifier: Vue.user.name,//Vue.user.name
570
- f_modifier_id: Vue.user.id,//Vue.user.id
571
- f_modify_type: '用户档案',
572
- f_userinfoid: this.userinfo.baseinfo.base.f_userinfo_id,
573
- f_userinfo_code: this.userinfo.baseinfo.base.f_userinfo_code,
574
- f_approved: '未审核',
575
- filialestr: Vue.user.orgid,//Vue.user.orgid
576
- version: 1,
577
- f_user_name: this.userinfo.baseinfo.base.f_user_name,
578
- f_user_phone: this.userinfo.baseinfo.base.f_user_phone,
579
- f_street: this.userinfo.addressinfo.f_street,
580
- f_building: this.userinfo.addressinfo.f_building,
581
- f_unit: this.userinfo.addressinfo.f_unit,
582
- f_floor: this.userinfo.addressinfo.f_floor,
583
- f_room: this.userinfo.addressinfo.f_room,
584
- f_building_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_building_suffix,
585
- f_unit_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_unit_suffix,
586
- f_floor_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_floor_suffix,
587
- f_room_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_room_suffix,
588
- f_residential_area: this.userinfo.addressinfo.f_residential_area,
589
- f_address: this.userinfo.addressinfo.f_address,
590
- f_pcd: this.userinfo.addressinfo.f_pcd,
591
- f_pcd_id: this.userinfo.addressinfo.f_pcd_id,
592
- f_street_id: this.userinfo.addressinfo.f_street_id,
593
- f_residential_area_id: this.userinfo.addressinfo.f_residential_area_id,
594
- f_used_name: this.userinfo.baseinfo.base.f_used_name,
595
- f_rent_phone: this.userinfo.baseinfo.base.f_rent_phone,
596
- f_slice_area: this.userinfo.addressinfo.f_slice_area,
597
- f_remark: this.userinfo.baseinfo.base.f_remark,
598
- f_source: this.f_source,
599
- f_meterno_path: this.f_meterno_path,
600
- f_iscity: this.userinfo.addressinfo.f_iscity,
601
- f_special: this.userinfo.addressinfo.f_special,
602
- f_meternumber: this.userinfo.meterinfo[0].f_meternumber,
603
- changemeterno: this.changemeterno
604
- },
605
- tablename: 't_modify_userinfo'
606
- })
607
- //tag)
608
- if (res2.code == 200) {
609
- this.$showMessage("变更用户信息成功,需要审核的信息已提交审核,等待管理员处理!")
610
- this.enable = true
611
- this.excessive = false
612
- } else {
613
- this.$showMessage("上传审核信息失败,请检查图片和网络状况是否正常!")
614
- this.excessive = false
615
- }
616
- } else {
617
- this.$showMessage("修改用户信息成功!")
618
- this.enable = true
619
- this.excessive = false
620
- }
621
-
622
- }
623
- }).catch((msg) => {
624
- this.$showMessage("修改用户信息失败,请检查手机网络状况!")
625
- this.excessive = false
626
- })
627
-
628
- }
629
- })
630
- },
631
- imgback(header) {
632
- if (this.headername == header) {
633
- return require('../../assets/xiangxia1.png')
634
- } else {
635
- return require('../../assets/xiangyou1.png')
636
- }
637
- this.headername = header
638
- },
639
- selectVal(header) {
640
- if (this.headername == header) {
641
- this.headername = ''
642
- } else {
643
- this.headername = header
644
- }
645
-
646
- },
647
- changeNewAddress() {
648
- this.userinfo.addressinfo.f_address = this.addressType == '普通地址' ? this.getAddress : this.getAddressTS
649
- },
650
- area_change() {
651
- //tag
652
- this.userinfo.addressinfo.f_residential_area = this.selectArea.f_residential_area
653
- this.userinfo.addressinfo.f_residential_area_id = this.selectArea.id
654
- this.userinfo.addressinfo.f_slice_area = this.selectArea.f_slice_area
655
- this.changeNewAddress()
656
- //this.userinfo.addressinfo.f_residential_area=this.f_residential_area.f_residential_area
657
- },
658
- async street_change() {
659
- //tag
660
- if (this.selectStreet.id) {
661
- //如果街道改变--给街道赋值!
662
- this.userinfo.addressinfo.f_street = this.selectStreet.f_street
663
- this.userinfo.addressinfo.f_street_id = this.selectStreet.id
664
- this.userinfo.addressinfo.f_iscity = this.selectStreet.f_iscity
665
- //清空当前选中小区的值
666
- this.userinfo.addressinfo.f_residential_area = ''
667
- this.userinfo.addressinfo.f_residential_area_id = ''
668
- this.userinfo.addressinfo.f_slice_area = ''
669
- this.selectArea = {id: ''}
670
- this.area = []
671
- let pcdText = ` and f_street_id=${this.selectStreet.id}`
672
- let res = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/safe_singleTable_OrderBy`, {
673
- data: {
674
- items: "*",
675
- tablename: "t_area",
676
- orderitem: "id",
677
- condition: `f_orgid = '${Vue.user.orgid}' ${pcdText} `
678
- }
679
- }, {resolveMsg: null, rejectMsg: null})
680
- ////tag)
681
- res.data.forEach((result) => {
682
- this.area.push({label: result.f_residential_area, value: result})
683
- })
684
- } else {
685
- this.area = []
686
- }
687
-
688
- this.changeNewAddress()
689
- },
690
- async pcd_change() {
691
- //tag
692
- if (this.selectPcd.id) {
693
- //tag
694
- //如果省市区改变-重新赋值
695
- this.userinfo.addressinfo.f_pcd = this.selectPcd.f_pcd
696
- this.userinfo.addressinfo.f_pcd_id = this.selectPcd.id
697
- //清空 选中的街道和集收单位
698
- this.selectStreet = {id: ''}
699
- this.userinfo.addressinfo.f_street = ''
700
- this.userinfo.addressinfo.f_street_id = ''
701
- this.userinfo.addressinfo.f_iscity = ''
702
- this.selectArea = {id: ''}
703
- this.userinfo.addressinfo.f_residential_area = ''
704
- this.userinfo.addressinfo.f_residential_area_id = ''
705
- this.userinfo.addressinfo.f_slice_area = ''
706
- this.streets = []
707
- let pcdText = `and f_pcd_id=${this.selectPcd.id}`
708
- let streetlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/safe_singleTable_OrderBy`, {
709
- data: {
710
- items: "*",
711
- tablename: "t_street",
712
- orderitem: "id",
713
- condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
714
- }
715
- }, {resolveMsg: null, rejectMsg: null})
716
- streetlist.data.forEach((result) => {
717
- this.streets.push({label: result.f_street, value: result})
718
- })
719
- } else {
720
- this.streets = []
721
- }
722
- this.changeNewAddress()
723
- },
724
- upUserState() {
725
- //tag)
726
- if (this.userinfo.meterinfo[0].f_table_state == '正常') {
727
- let data = {
728
- f_userfiles_id: {
729
- f_userfiles_id: this.userinfo.meterinfo[0].f_userfiles_id,
730
- f_table_state: '停用',
731
- version: this.userinfo.meterinfo[0].version
732
- },
733
- f_userfile_id: this.userinfo.meterinfo[0].f_userfiles_id,
734
- f_user_id: this.userinfo.meterinfo[0].f_user_id,
735
- f_userinfo_id: this.userinfo.meterinfo[0].f_userinfo_id,
736
- f_user_name: this.userinfo.baseinfo.base.f_user_name,
737
- f_comments: '安检时发现问题关闭阀门',
738
- f_othereason: '',
739
- f_operat_type: '停用',
740
- f_describe: `${Vue.user.name}对客户${this.userinfo.baseinfo.base.f_user_name}进行表具停用操作`,
741
- f_state: '有效',
742
- f_operator: Vue.user.name,//${Vue.$login.f.name}
743
- f_operatorid: Vue.user.id,
744
- f_orgid: Vue.user.orgid,
745
- f_orgname: Vue.user.orgs,
746
- f_depid: Vue.user.depids,
747
- f_depname: Vue.user.deps,
748
- f_zoneid: Vue.user.zoneid,
749
- f_zones: Vue.user.zones
750
- }
751
- new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/entity/t_disable`,
752
- data, {resolveMsg: null, rejectMsg: null}).then((row) => {
753
- this.$showMessage('已成功关阀停气!')
754
- this.userinfo.meterinfo[0].f_table_state = '停用'
755
- })
756
- } else {
757
- this.$showMessage('该用户已被关阀停用,请勿重复操作!')
758
- }
759
-
760
- },
761
- addDevices() {
762
- //Vue.user.name
763
- let obj = {
764
- "f_operator": Vue.user.name,
765
- "f_picture": null,
766
- "f_pipe_type": null,
767
- "f_pipeinstall_date": null,
768
- "f_pipe_connection": null,
769
- "f_expire_date": null,
770
- "f_pipeexpire_date": null,
771
- "f_comments": null,
772
- "f_operate_date": Util.toStandardTimeString(),
773
- "f_operatorid": Vue.user.id,
774
- "f_devices_num": null,
775
- "f_process_id": null,
776
- "f_devices_type": null,
777
- "f_make_date": null,
778
- "f_input_date": null,
779
- "f_state": "有效",
780
- "f_brand": null,
781
- "f_devices_model": null,
782
- "f_devices_no": null,
783
- "img": {"content": null, "filename": null}
784
- }
785
- this.model.push(obj)
786
- },
787
- delDevices(idx) {
788
- //tag
789
- this.$showMessage('删除后不可恢复,确认删除吗?', ['confirm', 'cancel']).then((res) => {
790
- if (res === 'confirm') {
791
- this.model.splice(idx, 1)
792
- }
793
- })
794
- },
795
- async getAreaList(text) {
796
- if (this.selectStreet.id) {
797
- this.area = []
798
- let pcdText = text ? `and f_street_id=${this.selectStreet.id} and f_residential_area like '%${text}%'` : `and f_street_id=${this.selectStreet.id}`
799
- let res = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/safe_singleTable_OrderBy`, {
800
- data: {
801
- items: "*",
802
- tablename: "t_area",
803
- orderitem: "id",
804
- condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
805
- }
806
- }, {resolveMsg: null, rejectMsg: null})
807
- ////tag)
808
- res.data.forEach((result) => {
809
- this.area.push({label: result.f_residential_area, value: result})
810
- })
811
- //tag
812
- this.area.push({
813
- label: this.userinfo.addressinfo.f_residential_area,
814
- value: {
815
- id: this.userinfo.addressinfo.f_residential_area_id,
816
- f_residential_area: this.userinfo.addressinfo.f_residential_area
817
- }
818
- })
819
- } else {
820
- this.area = []
821
- }
822
-
823
- },
824
- async getStreetList() {
825
- if (this.selectPcd.id) {
826
- //tag
827
- this.streets = []
828
- let pcdText = `and f_pcd_id=${this.selectPcd.id}`
829
- let streetlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/safe_singleTable_OrderBy`, {
830
- data: {
831
- items: "*",
832
- tablename: "t_street",
833
- orderitem: "id",
834
- condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
835
- }
836
- }, {resolveMsg: null, rejectMsg: null})
837
- streetlist.data.forEach((result) => {
838
- //如果第一次进来有地址id 就拿下地址区域
839
- if (this.selectStreet.id && this.selectStreet.id == result.id) {
840
- //tag)
841
- this.userinfo.addressinfo.f_iscity = result.f_iscity
842
- }
843
- this.streets.push({label: result.f_street, value: result})
844
- })
845
- } else {
846
- this.streets = []
847
- }
848
- },
849
- changeAddressType(val) {
850
- //tag
851
- if (this.addressType == '普通地址') {
852
- this.userinfo.addressinfo.f_special = null
853
- } else if (this.addressType == '特殊地址') {
854
- this.userinfo.addressinfo.f_special = 1
855
- this.userinfo.addressinfo.f_building = null
856
- this.userinfo.addressinfo.f_unit = null
857
- this.userinfo.addressinfo.f_floor = null
858
- this.userinfo.addressinfo.f_room = null
859
- }
860
- this.changeNewAddress()
861
- }
862
-
863
- },
864
- computed: {
865
- getAddress() {
866
- return (this.userinfo.addressinfo.f_pcd ? this.userinfo.addressinfo.f_pcd : '') +
867
- (this.userinfo.addressinfo.f_street ? this.userinfo.addressinfo.f_street : '') +
868
- (this.userinfo.addressinfo.f_residential_area ? this.userinfo.addressinfo.f_residential_area : '') +
869
- (this.userinfo.addressinfo.f_building ? this.userinfo.addressinfo.f_building + (this.userinfo.addressinfo.f_building_suffix ? this.userinfo.addressinfo.f_building_suffix : '') : '') +
870
- (this.userinfo.addressinfo.f_unit ? this.userinfo.addressinfo.f_unit + (this.userinfo.addressinfo.f_unit_suffix ? this.userinfo.addressinfo.f_unit_suffix : '') : '') +
871
- (this.userinfo.addressinfo.f_floor ? this.userinfo.addressinfo.f_floor + (this.userinfo.addressinfo.f_floor_suffix ? this.userinfo.addressinfo.f_floor_suffix : '') : '') +
872
- (this.userinfo.addressinfo.f_room ? this.userinfo.addressinfo.f_room + (this.userinfo.addressinfo.f_room_suffix ? this.userinfo.addressinfo.f_room_suffix : '') : '')
873
- },
874
- getAddressTS() {
875
- return (this.userinfo.addressinfo.f_pcd ? this.userinfo.addressinfo.f_pcd : '') +
876
- (this.userinfo.addressinfo.f_street ? this.userinfo.addressinfo.f_street : '') +
877
- (this.userinfo.addressinfo.f_residential_area ? this.userinfo.addressinfo.f_residential_area : '')
878
- }
879
- },
880
- watch: {
881
-
882
- /*'selectPcd.id' (val) {
883
- //tag
884
- if(this.selectPcd.id){
885
- this.getStreetList()
886
- }
887
- },
888
- 'selectStreet.id' (val) {
889
- //tag
890
- if(this.selectStreet.id){
891
- this.getAreaList()
892
- }
893
- }*/
894
- },
895
- async ready() {
896
- /*//tag)
897
-
898
- //tag)
899
- //tag)*/
900
- //this.f_userinfo_id=1102260
901
- //this.f_userinfo_id=1997541
902
- if (!this.f_userinfo_id) {
903
- this.$showMessage("未检测到用户!")
904
- this.enable = true
905
- return
906
- }
907
- try {
908
-
909
- this.devices_types = Vue.$appdata.getParam('设备类型')
910
- this.wz_types = Vue.$appdata.getParam('安装位置')
911
- ////tag)
912
- this.excessive = true
913
- //Vue.user.orgid ${this.f_userinfo_id} 10101 ${Vue.user.orgid}
914
-
915
- let pcdlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/safe_singleTable_OrderBy`, {
916
- data: {
917
- items: "*",
918
- tablename: "t_pcd",
919
- orderitem: "id",
920
- condition: `f_orgid = '${Vue.user.orgid}'`
921
- }
922
- }, {resolveMsg: null, rejectMsg: null})
923
- //tag)
924
- pcdlist.data.forEach((result) => {
925
- this.pcds.push({label: result.f_pcd, value: result})
926
- })
927
- ////tag)
928
- let res = await new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/api/af-revenue/logic/filemanage_getFilesDetail`, {
929
- //f_userinfo_code:'12381344',
930
- f_userinfo_id: this.f_userinfo_id
931
- }, {resolveMsg: null, rejectMsg: null})
932
- //tag
933
- //tag
934
- this.userinfo = res.data
935
- this.userinfo_old = JSON.parse(JSON.stringify(res.data))
936
- this.model = this.userinfo.meterinfo[0].devicesinfo
937
- this.selectArea.id = this.userinfo.addressinfo.f_residential_area_id
938
- this.selectPcd.id = this.userinfo.addressinfo.f_pcd_id
939
- this.selectPcd.f_pcd = this.userinfo.addressinfo.f_pcd
940
- this.selectStreet.id = this.userinfo.addressinfo.f_street_id
941
- this.selectStreet.f_street = this.userinfo.addressinfo.f_street
942
- await this.getStreetList()
943
- await this.getAreaList()
944
- this.excessive = false
945
- this.addressType = this.userinfo.addressinfo.f_special == 1 ? '特殊地址' : '普通地址'
946
- //this.userinfo.addressinfo.f_special=1
947
- //tag
948
- } catch (e) {
949
- this.excessive = false
950
- this.enable = true
951
- this.$showMessage('获取用户信息出错,请检查网络状况!')
952
- }
953
- new HttpResetClass().load('get', `${this.$androidUtil.getProxyUrl()}/rs/vue/UserAddress.json`, {data: {}}, {
954
- resolveMsg: null,
955
- rejectMsg: null
956
- }).then((addressUnit) => {
957
- //tag
958
- //tag
959
- //tag
960
- //tag
961
- this.userinfo.addressinfo.f_building_suffix = addressUnit.data.f_building_suffix
962
- this.userinfo.addressinfo.f_unit_suffix = addressUnit.data.f_unit_suffix
963
- this.userinfo.addressinfo.f_floor_suffix = addressUnit.data.f_floor_suffix
964
- this.userinfo.addressinfo.f_room_suffix = addressUnit.data.f_room_suffix
965
- }).catch((msg) => {
966
- //tag)
967
- })
968
- }
969
- }
970
- </script>
971
- <style lang="less" scoped>
972
- .butt3 {
973
- float: right;
974
- width: 12px;
975
- margin: 1% 2% 0 0;
976
- }
977
-
978
- .rightipt {
979
- width: 60%;
980
- float: left;
981
- margin-left: 5%;
982
- }
983
-
984
- .righttxt {
985
- border: none;
986
- margin-left: 5px;
987
- /*border-left: 5px solid #A2C2EB;*/
988
- float: left;
989
- width: 25%;
990
- margin-bottom: 3px;
991
- text-align: left;
992
- word-wrap: break-word;
993
- white-space: normal;
994
- }
995
-
996
- .tit1 {
997
- /*background: #ffffff url('../../assets/用户姓名.png') no-repeat fixed center;*/
998
- background-image: url('../../assets/用户姓名.png');
999
- background-repeat: no-repeat;
1000
- background-position: center;
1001
- }
1002
-
1003
- .spanboder {
1004
- border-bottom: 2px solid #499edf;
1005
- padding-bottom: 8px
1006
- }
1007
-
1008
- #upuserinfo_sel /deep/ ul {
1009
- width: 100% !important;
1010
- left: 0 !important;
1011
- }
1012
-
1013
- .btn-photo {
1014
- border: 0;
1015
- border-radius: 7px;
1016
- background-color: #7dc1f4;
1017
- font: 15px PingFang-SC-Bold;
1018
- height: 20%;
1019
- }
1020
-
1021
- .panel-self {
1022
- border-radius: 10px;
1023
- border: 1px solid #499EDF;
1024
- background-color: #F8F8F8;
1025
- }
1026
-
1027
- .div-photo {
1028
- width: auto;
1029
- height: auto;
1030
- /* margin-top: 10px; */
1031
- position: absolute;
1032
- bottom: 10px;
1033
- right: 10px;
1034
- }
1035
- </style>
1036
- <style lang="less">
1037
- #upuserinfo_sel ul {
1038
- width: 100% !important;
1039
- left: 0 !important;
1040
- }
1041
- </style>
1
+ <template>
2
+ <work-busy :is-busy="excessive"></work-busy>
3
+ <div style="height: 100%">
4
+ <div class="panel auto">
5
+ <div class="panel-heading" @click="selectVal('基本信息')" style="background-color: #ffffff">
6
+ <span class="spanboder">
7
+ <img src="../../assets/person.png" style="width: 22px;margin-right: 8px;">基本信息
8
+ <img class="butt3" :src="imgback('基本信息')">
9
+ </span>
10
+ </div>
11
+ <div class="panel-body " id="upuserinfo_sel" v-show="headername=='基本信息'">
12
+ <div class="row auto" style="margin: 5px 0">
13
+ <labe class="righttxt">用户编号:</labe>
14
+ <input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_userinfo_code" readonly/>
15
+ </div>
16
+ <div class="row auto" style="margin: 5px 0">
17
+ <labe class="righttxt">用户名称:</labe>
18
+ <input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_user_name" />
19
+ </div>
20
+ <div class="row auto" style="margin: 5px 0">
21
+ <labe class="righttxt">用户状态:</labe>
22
+ <input type="text" class="form-control rightipt" readonly v-model="userinfo.baseinfo.base.f_user_state"/>
23
+ </div>
24
+ <div class="row auto" style="margin: 5px 0">
25
+ <labe class="righttxt">用户电话:</labe>
26
+ <input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_user_phone"/>
27
+ </div>
28
+ <div class="row auto" style="margin: 5px 0">
29
+ <labe class="righttxt">租户姓名:</labe>
30
+ <input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_rent_name"/>
31
+ </div>
32
+ <div class="row auto" style="margin: 5px 0">
33
+ <labe class="righttxt">租户电话:</labe>
34
+ <input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_zuhu_phone"/>
35
+ </div>
36
+ <div class="row auto" style="margin: 5px 0">
37
+ <labe class="righttxt">地址类型:</labe>
38
+ <div class="rightipt" style="display: flex;justify-content: space-around;margin-top: 5px">
39
+ <div><input type="radio" v-model="addressType" name="addressType" @change="changeAddressType"
40
+ id="phone_addressType1" value="普通地址"/><label style="font-weight: normal;padding-left: 2px"
41
+ for="phone_addressType1">普通地址</label></div>
42
+ <div><input type="radio" v-model="addressType" name="addressType" @change="changeAddressType"
43
+ id="phone_addressType2" value="特殊地址"/><label style="font-weight: normal;padding-left: 2px"
44
+ for="phone_addressType2">特殊地址</label></div>
45
+ </div>
46
+ <!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
47
+ <!--<input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_pcd" />-->
48
+ <!--<v-select :value.sync="userinfo.addressinfo.f_iscity" class="input-font" style="margin-left: 5%;"
49
+ :width="'60%'"
50
+ v-model="userinfo.addressinfo.f_iscity"
51
+ :options='cityTypes' placeholder='地区类型' close-on-select clear-button value-single @change="area_change()"></v-select>-->
52
+ </div>
53
+ <div class="row auto" style="margin: 5px 0">
54
+ <labe class="righttxt">地区类型:</labe>
55
+ <!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
56
+ <input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_iscity"/>
57
+ <!--<v-select :value.sync="userinfo.addressinfo.f_iscity" class="input-font" style="margin-left: 5%;"
58
+ :width="'60%'"
59
+ :disabled="true"
60
+ v-model="userinfo.addressinfo.f_iscity"
61
+ :options='cityTypes' placeholder='地区类型' close-on-select clear-button value-single ></v-select>-->
62
+ </div>
63
+ <div class="row auto" style="margin: 5px 0">
64
+ <labe class="righttxt">省&ensp;市&ensp;区:</labe>
65
+ <!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
66
+ <!--<input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_pcd" />-->
67
+ <v-select :value.sync="selectPcd" class="input-font" style="margin-left: 5%;"
68
+ :width="'60%'"
69
+ v-model="selectPcd"
70
+ :options='pcds' placeholder='请选择省市区' close-on-select clear-button value-single
71
+ @change="pcd_change()"></v-select>
72
+ </div>
73
+ <div class="row auto" style="margin: 5px 0">
74
+ <labe class="righttxt">街道名称:</labe>
75
+ <!--<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_street" />-->
76
+ <v-select :value.sync="selectStreet" class="input-font" style="margin-left: 5%;"
77
+ :width="'60%'"
78
+ v-model="selectStreet"
79
+ :options='streets' placeholder='请选择街道' close-on-select clear-button value-single
80
+ @change="street_change()"></v-select>
81
+ </div>
82
+ <div class="row auto" style="margin: 5px 0">
83
+ <labe class="righttxt">集收单位:</labe>
84
+ <!--<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_residential_area" />-->
85
+ <v-select :value.sync="selectArea" class="input-font" style="margin-left: 5%;"
86
+ :width="'60%'"
87
+ v-model="selectArea"
88
+ :timeout="500"
89
+ @select-search="select_search"
90
+ :options='area' placeholder='请选择集收单位' close-on-select clear-button value-single
91
+ @change="area_change()"></v-select>
92
+ </div>
93
+ <!--<div class="row auto" style="margin: 5px 0" v-show="addressType=='特殊地址'">
94
+ <labe class="righttxt">集收单位:</labe>
95
+ &lt;!&ndash;<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_residential_area" />&ndash;&gt;
96
+ <v-select :value.sync="selectArea" class="input-font" style="margin-left: 5%;"
97
+ :width="'60%'"
98
+ v-model="selectArea"
99
+ @select-search="select_search"
100
+ :options='area' placeholder='请选择集收单位' close-on-select clear-button value-single @change="area_changeTC()"></v-select>
101
+ </div>-->
102
+ <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
103
+ <labe class="righttxt">楼&ensp;&ensp;&ensp;&ensp;号:</labe>
104
+ <input type="text" @change="changeNewAddress" class="form-control rightipt"
105
+ v-model="userinfo.addressinfo.f_building"/>
106
+ </div>
107
+ <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
108
+ <labe class="righttxt">单&ensp;&ensp;&ensp;&ensp;元:</labe>
109
+ <input type="text" @change="changeNewAddress" class="form-control rightipt"
110
+ v-model="userinfo.addressinfo.f_unit"/>
111
+ </div>
112
+ <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
113
+ <labe class="righttxt">楼&ensp;&ensp;&ensp;&ensp;层:</labe>
114
+ <input type="text" @change="changeNewAddress" class="form-control rightipt"
115
+ v-model="userinfo.addressinfo.f_floor"/>
116
+ </div>
117
+ <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
118
+ <labe class="righttxt">门&ensp;牌&ensp;号:</labe>
119
+ <input type="text" @change="changeNewAddress" class="form-control rightipt"
120
+ v-model="userinfo.addressinfo.f_room"/>
121
+ </div>
122
+ <div class="row auto" style="margin: 5px 0">
123
+ <labe class="righttxt">详细地址:</labe>
124
+ <input type="text" class="form-control rightipt" readonly v-model="userinfo_old.addressinfo.f_address"/>
125
+ </div>
126
+ <div class="row auto" style="margin: 5px 0">
127
+ <labe class="righttxt">新&ensp;地&ensp;址:</labe>
128
+ <!--<input type="text" class="form-control rightipt" readonly v-model="getaddress()" />-->
129
+ <textarea :readonly="addressType=='普通地址'" class="form-control rightipt" : style="height: 80px"
130
+ v-model="userinfo.addressinfo.f_address"></textarea>
131
+ </div>
132
+
133
+ <!--<div class="row auto" style="margin: 5px 0" v-show="addressType=='特殊地址'">
134
+ <labe class="righttxt">新&ensp;地&ensp;址:</labe>&lt;!&ndash;<input type="text" class="form-control rightipt" v-model="userinfo.addressinfo.f_address" />&ndash;&gt;
135
+ <textarea class="form-control rightipt" style="height: 80px" v-model="getAddressTS"></textarea>
136
+ </div>-->
137
+
138
+ <div class="row auto" style="margin: 5px 0">
139
+ <labe class="righttxt">备&ensp;&ensp;&ensp;&ensp;注:</labe>
140
+ <textarea class="form-control rightipt" style="height: 150px"
141
+ v-model="userinfo.baseinfo.base.f_remark"></textarea>
142
+ <!--<input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_remark" />-->
143
+ </div>
144
+ </div>
145
+ </div>
146
+ <div class="panel auto">
147
+ <div class="panel-heading" @click="selectVal('表具信息')" style="background-color: #ffffff">
148
+ <span class="spanboder">
149
+ <img src="../../assets/person.png" style="width: 22px;margin-right: 8px;">表具信息
150
+ <img class="butt3" :src="imgback('表具信息')">
151
+ </span>
152
+ </div>
153
+ <div class="panel-body " v-show="headername=='表具信息'">
154
+ <div class="row auto" style="margin: 5px 0">
155
+ <labe class="righttxt">表&ensp;&ensp;&ensp;&ensp;号:</labe>
156
+ <input type="text" :readonly="userinfo.meterinfo[0].f_meter_classify!='机表'" class="form-control rightipt"
157
+ style="width: 45%" v-model="userinfo.meterinfo[0].f_meternumber"/>
158
+ <button type="button" :disabled="userinfo.meterinfo[0].f_meter_classify!='机表'" name="button"
159
+ class="btn btn-primary" style="width: 15%" @click="scan">扫码
160
+ </button>
161
+ </div>
162
+
163
+ <!--<div class="row auto" style="margin: 5px 0" v-if="userinfo.meterinfo[0].f_meter_classify=='机表'">
164
+ <div class="auto">
165
+ <div class="panel" style="padding: 0px 15px 5px 10px;">
166
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
167
+ <div class="row" style="height: 240px;">
168
+ <div class="col-sm-4">
169
+ <img-self :src="f_meterno_path" alt="表号照片" width="150" height="200"></img-self>
170
+ </div>
171
+ </div>
172
+ <div class="row text-right div-photo" :class="style__">
173
+ <button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_meterno_path', '表号照片')">拍照</button>
174
+ <img src="../../assets/remove.png" :class="style__" @click="delfile('f_meterno_path', this.f_meterno_path)" style="width: 25%;"></img>
175
+ </div>
176
+ </div>
177
+ </div>
178
+ </div>
179
+ </div>-->
180
+ <div class="row auto" style="margin: 5px 0">
181
+ <labe class="righttxt">表&ensp;封&ensp;号:</labe>
182
+ <input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_metertitles"/>
183
+ </div>
184
+ <div class="row auto" style="margin: 5px 0">
185
+ <labe class="righttxt">表&ensp;位&ensp;置:</labe>
186
+ <!--<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_position" readonly/>-->
187
+ <v-select class="rightipt" :value.sync="userinfo.meterinfo[0].f_position"
188
+ v-model="userinfo.meterinfo[0].f_position"
189
+ placeholder='请选择'
190
+ :width='wid'
191
+ readonly
192
+ :options="wz_types"
193
+ close-on-select value-single></v-select>
194
+ </div>
195
+ <div class="row auto" style="margin: 5px 0">
196
+ <labe class="righttxt">气表类型:</labe>
197
+ <input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_meter_classify" readonly/>
198
+ </div>
199
+ <div class="row auto" style="margin: 5px 0">
200
+ <div style="display: flex;justify-content: center;">
201
+ <button v-if="userinfo.meterinfo[0].f_meter_classify=='机表'" class="col-sm-3 btn btn-primary"
202
+ @click="upUserState()">机表关阀停用
203
+ </button>
204
+ </div>
205
+ </div>
206
+ </div>
207
+ </div>
208
+ <div class="panel auto">
209
+ <div class="panel-heading" @click="selectVal('设备信息')" style="background-color: #ffffff">
210
+
211
+ <span class="spanboder"><img src="../../assets/list.png" style="width: 22px;margin-right: 8px;">设备信息<img
212
+ class="butt3" :src="imgback('设备信息')"></span>
213
+ </div>
214
+ <div class="panel-body" v-show="headername=='设备信息'">
215
+ <div class="row" v-for="row in model"
216
+ style="border:2px solid #A2C2EB; border-top:10px solid #A2C2EB; box-shadow: #00b3ee;margin-bottom: 10px">
217
+ <div class="row auto" style="margin: 5px 0">
218
+ <labe class="righttxt">设备类型:</labe>
219
+ <!--<input type="text" class="form-control rightipt" readonly v-model="row.f_devices_type" />-->
220
+ <v-select class="rightipt" :value.sync="row.f_devices_type"
221
+ v-model="row.f_devices_type"
222
+ placeholder='请选择'
223
+ :width='wid'
224
+ readonly
225
+ :options="devices_types"
226
+ close-on-select value-single></v-select>
227
+ </div>
228
+ <div class="row auto" style="margin: 5px 0">
229
+ <labe class="righttxt">设备品牌:</labe>
230
+ <input type="text" class="form-control rightipt" v-model="row.f_brand"/>
231
+ </div>
232
+ <div class="row auto" style="margin: 5px 0">
233
+ <labe class="righttxt">设备型号:</labe>
234
+ <input type="text" class="form-control rightipt" v-model="row.f_devices_model"/>
235
+ </div>
236
+ <div class="row auto" style="margin: 5px 0">
237
+ <labe class="righttxt">生产日期:</labe>
238
+ <!--<input type="text" class="form-control rightipt" v-model="row.f_make_date" />-->
239
+ <datepicker class="rightipt"
240
+ :value.sync="row.f_make_date"
241
+ v-model="row.f_make_date"
242
+ :disabled-days-of-Week="[]"
243
+ :format="'yyyy-MM-dd'"
244
+ :show-reset-button="reset" readonly="readonly">
245
+ </datepicker>
246
+ </div>
247
+ <div class="row auto" style="margin: 5px 0">
248
+ <labe class="righttxt">使用年限:</labe>
249
+ <input type="number" class="form-control rightipt" v-model="row.f_service_life"/>
250
+ </div>
251
+ <div class="row auto" style="margin: 5px 0">
252
+ <labe class="righttxt">到期日期:</labe>
253
+ <!--<input type="text" class="form-control rightipt" v-model="row.f_expire_date" />-->
254
+ <datepicker class="rightipt"
255
+ :value.sync="row.f_expire_date"
256
+ v-model="row.f_expire_date"
257
+ :disabled-days-of-Week="[]"
258
+ :format="'yyyy-MM-dd'"
259
+ :show-reset-button="reset" readonly="readonly">
260
+ </datepicker>
261
+ </div>
262
+ <div class="row auto" style="margin: 5px 0">
263
+ <labe class="righttxt">安&ensp;装&ensp;人:</labe>
264
+ <input type="text" class="form-control rightipt" v-model="row.f_input_person"/>
265
+ </div>
266
+ <div class="row auto" style="margin: 5px 0">
267
+ <labe class="righttxt">安装日期:</labe>
268
+ <!--<input type="text" class="form-control rightipt" v-model="row.f_input_date" />-->
269
+ <datepicker class="rightipt"
270
+ :value.sync="row.f_input_date"
271
+ v-model="row.f_input_date"
272
+ :disabled-days-of-Week="[]"
273
+ :format="'yyyy-MM-dd'"
274
+ :show-reset-button="reset" readonly="readonly">
275
+ </datepicker>
276
+ </div>
277
+ <div class="row auto" style="margin: 5px 0">
278
+ <labe class="righttxt">设备数量:</labe>
279
+ <input type="number" class="form-control rightipt" v-model="row.f_devices_num"/>
280
+ </div>
281
+ <!--<div class="row auto" style="margin: 5px 0">
282
+ <labe class="righttxt">管道类型:</labe><input type="text" class="form-control rightipt" readonly v-model="row.f_pipe_type" />
283
+ </div>-->
284
+ <!--<div class="row auto" style="margin: 5px 0">
285
+ <labe class="righttxt">设备状态:</labe><input type="text" class="form-control rightipt" readonly v-model="row.f_userinfodevices_state" />
286
+ </div>-->
287
+ <!--<div class="row auto" style="margin: 5px 0">
288
+ <labe class="righttxt">购买方式:</labe><input type="text" class="form-control rightipt" readonly v-model="row.watchpurchase" />
289
+ </div>-->
290
+ <div style="display: flex;justify-content: center;margin-bottom: 3px"
291
+ v-if="$index>this.userinfo_old.devicesinfo.length-1 || this.userinfo_old.devicesinfo.length==0">
292
+ <button class="btn btn-warning" @click="delDevices($index)">删除设备</button>
293
+ </div>
294
+ </div>
295
+ <div style="display: flex;justify-content: space-around;">
296
+ <button class="col-sm-3 btn btn-primary" @click="addDevices($index)">新增设备</button>
297
+ </div>
298
+ </div>
299
+ </div>
300
+ <div class="panel auto">
301
+ <div class="panel-body">
302
+ <div style="display: flex;justify-content: center;">
303
+ <button class="col-sm-3 btn btn-primary" :disabled="enable" @click="editUserInfo()">上传审核</button>
304
+ </div>
305
+ </div>
306
+ </div>
307
+ </div>
308
+ </template>
309
+
310
+ <script>
311
+ import {HttpResetClass} from 'vue-client'
312
+ import * as Util from "../Util";
313
+ import Vue from 'vue'
314
+
315
+ export default {
316
+ title: '设备查看',
317
+ data() {
318
+ return {
319
+ model: [],
320
+ show: false,
321
+ row: Object,
322
+ userinfo: Object,
323
+ userinfo_old: Object,
324
+ wid: "60%",
325
+ devices_types: [],
326
+ pipe_types: [{label: '橡胶管', value: '橡胶管'}, {label: '波纹管', value: '波纹管'}, {label: '钢管', value: '钢管'}],
327
+ wz_types: [],
328
+ cityTypes: [{label: '市区', value: '市区'}, {label: '城镇', value: '城镇'}],
329
+ pcds: [],
330
+ streets: [],
331
+ update: false,
332
+ headername: '基本信息',
333
+ excessive: false,
334
+ area: [],
335
+ enable: false,
336
+ f_meterno_path: Vue.nopic,
337
+ selectArea: {id: ''},
338
+ selectPcd: {id: ''},
339
+ selectStreet: {id: ''},
340
+ changemeterno: false,//是否修改了机表表号
341
+ approveChange: false,//是否需要进行信息变更审核
342
+ newAddress: '',
343
+ addressType: '',
344
+ //需要审核的字段
345
+ checkField: {
346
+ checkUserinfoField: [
347
+ 'f_user_name'
348
+ ],
349
+ checkUserFilesField: [
350
+ 'f_meternumber'
351
+ ],
352
+ checkAddressField: [
353
+ 'f_pcd_id',
354
+ 'f_street_id',
355
+ 'f_residential_area_id',
356
+ 'f_building',
357
+ 'f_unit',
358
+ 'f_floor',
359
+ 'f_room',
360
+ 'f_slice_area',
361
+ 'f_special',
362
+ 'f_address'
363
+ ],
364
+ }
365
+ }
366
+ },
367
+ props: {
368
+ user: {
369
+ type: Object
370
+ },
371
+ f_userinfo_id: '',
372
+ f_source: ''
373
+ },
374
+ methods: {
375
+ scan() {
376
+ HostApp.__this__ = this,
377
+ HostApp.scanCode({callback: "javascript:HostApp.__this__.getCode();"})
378
+ },
379
+ getCode() {
380
+ var datapa = HostApp.getCode().data;
381
+ //tag
382
+ this.userinfo.meterinfo[0].f_meternumber = datapa
383
+ },
384
+ //数据检查
385
+ checkVal() {
386
+ //检查一些必要信息是否未填
387
+ this.approveChange = false
388
+ this.changemeterno = false
389
+ let checked = {ischeck: true, msg: ''}
390
+ //tag
391
+ //tag
392
+ //tag
393
+ if (!this.userinfo.baseinfo.base.f_user_name) {
394
+ checked = {ischeck: false, msg: '请输入用户名称!'}
395
+ }
396
+ if (!this.selectPcd.id) {
397
+ checked = {ischeck: false, msg: '请选择省市区!'}
398
+ }
399
+ if (!this.selectStreet.id) {
400
+ checked = {ischeck: false, msg: '请选择街道!'}
401
+ }
402
+ if (!this.userinfo.addressinfo.f_address) {
403
+ checked = {ischeck: false, msg: '新地址不能为空!'}
404
+ }
405
+ if (this.addressType == '普通地址') {
406
+ if (!this.selectArea.id) {
407
+ checked = {ischeck: false, msg: '请选择集收单位!'}
408
+ }
409
+ if (!this.userinfo.addressinfo.f_room) {
410
+ checked = {ischeck: false, msg: '新输入门牌号!'}
411
+ }
412
+ }
413
+ if (this.userinfo.meterinfo[0].f_meter_classify == '机表' && this.userinfo_old.meterinfo[0].f_meternumber) {
414
+
415
+ //tag
416
+ //tag
417
+ if (this.userinfo.meterinfo[0].f_meternumber) {
418
+ if (this.userinfo.meterinfo[0].f_meternumber != this.userinfo_old.meterinfo[0].f_meternumber) {
419
+ if (!this.f_meterno_path || this.f_meterno_path == Vue.nopic) {
420
+ checked = {ischeck: false, msg: '请拍摄表号照片!'}
421
+ } else {
422
+ //用来标识当前有修改机表表号,后台需要进行照片上传
423
+ this.changemeterno = true
424
+ }
425
+ }
426
+ } else {
427
+ checked = {ischeck: false, msg: '请输入表号!'}
428
+ }
429
+ }
430
+ //检查本次修改信息中是否包含需要审核的内容
431
+ for (let check in this.checkField) {
432
+ //tag
433
+ if (typeof check != 'function') {
434
+ for (let i = 0; i < this.checkField[check].length; i++) {
435
+ //tag
436
+ if (check == 'checkUserinfoField') {
437
+ //tag
438
+ //tag
439
+ if (this.userinfo.baseinfo.base[this.checkField[check][i]] != this.userinfo_old.baseinfo.base[this.checkField[check][i]]) {
440
+ //tag
441
+ this.approveChange = true
442
+ }
443
+ } else if (check == 'checkUserFilesField') {
444
+ //tag
445
+ //tag
446
+ if (this.userinfo.meterinfo[0][this.checkField[check][i]] != this.userinfo_old.meterinfo[0][this.checkField[check][i]]) {
447
+ //tag
448
+ this.approveChange = true
449
+ }
450
+ } else if (check == 'checkAddressField') {
451
+ //tag
452
+ //tag
453
+ if (this.userinfo.addressinfo[this.checkField[check][i]] != this.userinfo_old.addressinfo[this.checkField[check][i]]) {
454
+ //tag
455
+ this.approveChange = true
456
+ }
457
+ }
458
+ }
459
+ }
460
+ }
461
+ //tag
462
+ return checked
463
+ },
464
+ select_search(text) {
465
+ //tag
466
+ if (this.selectStreet.id) {
467
+ let pcdText = text ? `and f_street_id=${this.selectStreet.id} and f_residential_area like '%${text}%'` : `and f_street_id=${this.selectStreet.id}`
468
+ new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/safe_singleTable_OrderBy`, {
469
+ data: {
470
+ items: "*",
471
+ tablename: "t_area",
472
+ orderitem: "id",
473
+ condition: `f_orgid = '${Vue.user.orgid}' ${pcdText} `
474
+ }
475
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
476
+ //tag)
477
+ if (res.data.length > 0) {
478
+ this.area = []
479
+ res.data.forEach((result) => {
480
+ this.area.push({label: result.f_residential_area, value: result})
481
+ })
482
+ }
483
+ })
484
+ } else {
485
+ this.area = []
486
+ }
487
+ },
488
+ cameraCallBack(prop, fileName) {
489
+ HostApp.__this__.$set(prop, fileName + '?' + Math.random())
490
+ //tag
491
+ HostApp.__callback__ = null
492
+ HostApp.__this__ = null
493
+ },
494
+ takePic(prop, title) {
495
+ HostApp.__callback__ = this.cameraCallBack
496
+ HostApp.__this__ = this
497
+ //tag
498
+ let fileName
499
+ if (!this[prop] || this[prop].includes("nopic.png")) {
500
+ fileName = Util.guid() + '-' + prop + '.jpg'
501
+ } else {
502
+ fileName = Util.getFileName(this[prop])
503
+ }
504
+ HostApp._open_a_page({
505
+ type: 'boomerang',
506
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
507
+ param: {
508
+ file: fileName,
509
+ requestCode: 111,
510
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
511
+ watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
512
+ }
513
+ })
514
+ },
515
+ delfile(prop, fileName) {
516
+ if (fileName == Vue.nopic)
517
+ return
518
+ else {
519
+ HostApp.delfile(fileName)
520
+ this[prop] = Vue.nopic
521
+ }
522
+ },
523
+ editUserInfo() {
524
+ let checked = this.checkVal()
525
+ if (!checked.ischeck) {
526
+ this.$showMessage(checked.msg)
527
+ return
528
+ }
529
+ this.$showMessage('确定是否修改上传审核用户信息?', ['confirm', 'cancel']).then((res) => {
530
+ if (res === 'confirm') {
531
+ this.excessive = true
532
+ let userinfoms = Object.assign({}, this.userinfo_old.baseinfo.base)
533
+ //userinfoms.f_user_name=row.f_user_name
534
+ userinfoms.f_user_phone = this.userinfo.baseinfo.base.f_user_phone
535
+ userinfoms.f_rent_name = this.userinfo.baseinfo.base.f_rent_name
536
+ userinfoms.f_zuhu_phone = this.userinfo.baseinfo.base.f_zuhu_phone
537
+ userinfoms.f_operator_record = Vue.user.name
538
+ userinfoms.f_operatorid_record = Vue.user.id
539
+ userinfoms.f_remark = this.userinfo.baseinfo.base.f_remark
540
+ userinfoms.f_orgid_record = Vue.user.orgid
541
+ userinfoms.f_orgname_record = Vue.user.orgs
542
+ userinfoms.f_depid_record = Vue.user.depids
543
+ userinfoms.f_depname_record = Vue.user.deps
544
+ this.userinfo_old.meterinfo[0].f_metertitles = this.userinfo.meterinfo[0].f_metertitles
545
+ this.userinfo_old.meterinfo[0].f_position = this.userinfo.meterinfo[0].f_position
546
+ userinfoms.userfiles = []
547
+ this.userinfo_old.meterinfo[0].devicesinfo = this.model
548
+ userinfoms.userfiles.push(this.userinfo_old.meterinfo[0])
549
+ //tag)
550
+ new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-revenue/logic/filemanage_fileSave`, {
551
+ data: {
552
+ userinfo: userinfoms,
553
+ modifyReason: this.f_source ? `${this.f_source}维护档案信息` : '',
554
+ address: {
555
+ id: this.userinfo_old.addressinfo.id,
556
+ oldid: this.userinfo_old.addressinfo.id,
557
+ f_address: this.userinfo_old.addressinfo.f_address ? this.userinfo_old.addressinfo.f_address : this.userinfo.addressinfo.f_address
558
+ }
559
+ }
560
+ }, {resolveMsg: null, rejectMsg: null}).then((res1) => {
561
+ //tag+res1.data.status)
562
+ if (res1.data.status == 200) {
563
+ //本次修改信息包含需要审核信息
564
+ if (this.approveChange) {
565
+ //tag
566
+ let res2 = this.$androidUtil.bzLogic('safe_upUserinfoApprove', {
567
+ row: {
568
+ f_time: Util.toStandardTimeString(),
569
+ f_modifier: Vue.user.name,//Vue.user.name
570
+ f_modifier_id: Vue.user.id,//Vue.user.id
571
+ f_modify_type: '用户档案',
572
+ f_userinfoid: this.userinfo.baseinfo.base.f_userinfo_id,
573
+ f_userinfo_code: this.userinfo.baseinfo.base.f_userinfo_code,
574
+ f_approved: '未审核',
575
+ filialestr: Vue.user.orgid,//Vue.user.orgid
576
+ version: 1,
577
+ f_user_name: this.userinfo.baseinfo.base.f_user_name,
578
+ f_user_phone: this.userinfo.baseinfo.base.f_user_phone,
579
+ f_street: this.userinfo.addressinfo.f_street,
580
+ f_building: this.userinfo.addressinfo.f_building,
581
+ f_unit: this.userinfo.addressinfo.f_unit,
582
+ f_floor: this.userinfo.addressinfo.f_floor,
583
+ f_room: this.userinfo.addressinfo.f_room,
584
+ f_building_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_building_suffix,
585
+ f_unit_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_unit_suffix,
586
+ f_floor_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_floor_suffix,
587
+ f_room_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_room_suffix,
588
+ f_residential_area: this.userinfo.addressinfo.f_residential_area,
589
+ f_address: this.userinfo.addressinfo.f_address,
590
+ f_pcd: this.userinfo.addressinfo.f_pcd,
591
+ f_pcd_id: this.userinfo.addressinfo.f_pcd_id,
592
+ f_street_id: this.userinfo.addressinfo.f_street_id,
593
+ f_residential_area_id: this.userinfo.addressinfo.f_residential_area_id,
594
+ f_used_name: this.userinfo.baseinfo.base.f_used_name,
595
+ f_rent_phone: this.userinfo.baseinfo.base.f_rent_phone,
596
+ f_slice_area: this.userinfo.addressinfo.f_slice_area,
597
+ f_remark: this.userinfo.baseinfo.base.f_remark,
598
+ f_source: this.f_source,
599
+ f_meterno_path: this.f_meterno_path,
600
+ f_iscity: this.userinfo.addressinfo.f_iscity,
601
+ f_special: this.userinfo.addressinfo.f_special,
602
+ f_meternumber: this.userinfo.meterinfo[0].f_meternumber,
603
+ changemeterno: this.changemeterno
604
+ },
605
+ tablename: 't_modify_userinfo'
606
+ })
607
+ //tag)
608
+ if (res2.code == 200) {
609
+ this.$showMessage("变更用户信息成功,需要审核的信息已提交审核,等待管理员处理!")
610
+ this.enable = true
611
+ this.excessive = false
612
+ } else {
613
+ this.$showMessage("上传审核信息失败,请检查图片和网络状况是否正常!")
614
+ this.excessive = false
615
+ }
616
+ } else {
617
+ this.$showMessage("修改用户信息成功!")
618
+ this.enable = true
619
+ this.excessive = false
620
+ }
621
+
622
+ }
623
+ }).catch((msg) => {
624
+ this.$showMessage("修改用户信息失败,请检查手机网络状况!")
625
+ this.excessive = false
626
+ })
627
+
628
+ }
629
+ })
630
+ },
631
+ imgback(header) {
632
+ if (this.headername == header) {
633
+ return require('../../assets/xiangxia1.png')
634
+ } else {
635
+ return require('../../assets/xiangyou1.png')
636
+ }
637
+ this.headername = header
638
+ },
639
+ selectVal(header) {
640
+ if (this.headername == header) {
641
+ this.headername = ''
642
+ } else {
643
+ this.headername = header
644
+ }
645
+
646
+ },
647
+ changeNewAddress() {
648
+ this.userinfo.addressinfo.f_address = this.addressType == '普通地址' ? this.getAddress : this.getAddressTS
649
+ },
650
+ area_change() {
651
+ //tag
652
+ this.userinfo.addressinfo.f_residential_area = this.selectArea.f_residential_area
653
+ this.userinfo.addressinfo.f_residential_area_id = this.selectArea.id
654
+ this.userinfo.addressinfo.f_slice_area = this.selectArea.f_slice_area
655
+ this.changeNewAddress()
656
+ //this.userinfo.addressinfo.f_residential_area=this.f_residential_area.f_residential_area
657
+ },
658
+ async street_change() {
659
+ //tag
660
+ if (this.selectStreet.id) {
661
+ //如果街道改变--给街道赋值!
662
+ this.userinfo.addressinfo.f_street = this.selectStreet.f_street
663
+ this.userinfo.addressinfo.f_street_id = this.selectStreet.id
664
+ this.userinfo.addressinfo.f_iscity = this.selectStreet.f_iscity
665
+ //清空当前选中小区的值
666
+ this.userinfo.addressinfo.f_residential_area = ''
667
+ this.userinfo.addressinfo.f_residential_area_id = ''
668
+ this.userinfo.addressinfo.f_slice_area = ''
669
+ this.selectArea = {id: ''}
670
+ this.area = []
671
+ let pcdText = ` and f_street_id=${this.selectStreet.id}`
672
+ let res = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/safe_singleTable_OrderBy`, {
673
+ data: {
674
+ items: "*",
675
+ tablename: "t_area",
676
+ orderitem: "id",
677
+ condition: `f_orgid = '${Vue.user.orgid}' ${pcdText} `
678
+ }
679
+ }, {resolveMsg: null, rejectMsg: null})
680
+ ////tag)
681
+ res.data.forEach((result) => {
682
+ this.area.push({label: result.f_residential_area, value: result})
683
+ })
684
+ } else {
685
+ this.area = []
686
+ }
687
+
688
+ this.changeNewAddress()
689
+ },
690
+ async pcd_change() {
691
+ //tag
692
+ if (this.selectPcd.id) {
693
+ //tag
694
+ //如果省市区改变-重新赋值
695
+ this.userinfo.addressinfo.f_pcd = this.selectPcd.f_pcd
696
+ this.userinfo.addressinfo.f_pcd_id = this.selectPcd.id
697
+ //清空 选中的街道和集收单位
698
+ this.selectStreet = {id: ''}
699
+ this.userinfo.addressinfo.f_street = ''
700
+ this.userinfo.addressinfo.f_street_id = ''
701
+ this.userinfo.addressinfo.f_iscity = ''
702
+ this.selectArea = {id: ''}
703
+ this.userinfo.addressinfo.f_residential_area = ''
704
+ this.userinfo.addressinfo.f_residential_area_id = ''
705
+ this.userinfo.addressinfo.f_slice_area = ''
706
+ this.streets = []
707
+ let pcdText = `and f_pcd_id=${this.selectPcd.id}`
708
+ let streetlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/safe_singleTable_OrderBy`, {
709
+ data: {
710
+ items: "*",
711
+ tablename: "t_street",
712
+ orderitem: "id",
713
+ condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
714
+ }
715
+ }, {resolveMsg: null, rejectMsg: null})
716
+ streetlist.data.forEach((result) => {
717
+ this.streets.push({label: result.f_street, value: result})
718
+ })
719
+ } else {
720
+ this.streets = []
721
+ }
722
+ this.changeNewAddress()
723
+ },
724
+ upUserState() {
725
+ //tag)
726
+ if (this.userinfo.meterinfo[0].f_table_state == '正常') {
727
+ let data = {
728
+ f_userfiles_id: {
729
+ f_userfiles_id: this.userinfo.meterinfo[0].f_userfiles_id,
730
+ f_table_state: '停用',
731
+ version: this.userinfo.meterinfo[0].version
732
+ },
733
+ f_userfile_id: this.userinfo.meterinfo[0].f_userfiles_id,
734
+ f_user_id: this.userinfo.meterinfo[0].f_user_id,
735
+ f_userinfo_id: this.userinfo.meterinfo[0].f_userinfo_id,
736
+ f_user_name: this.userinfo.baseinfo.base.f_user_name,
737
+ f_comments: '安检时发现问题关闭阀门',
738
+ f_othereason: '',
739
+ f_operat_type: '停用',
740
+ f_describe: `${Vue.user.name}对客户${this.userinfo.baseinfo.base.f_user_name}进行表具停用操作`,
741
+ f_state: '有效',
742
+ f_operator: Vue.user.name,//${Vue.$login.f.name}
743
+ f_operatorid: Vue.user.id,
744
+ f_orgid: Vue.user.orgid,
745
+ f_orgname: Vue.user.orgs,
746
+ f_depid: Vue.user.depids,
747
+ f_depname: Vue.user.deps,
748
+ f_zoneid: Vue.user.zoneid,
749
+ f_zones: Vue.user.zones
750
+ }
751
+ new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/entity/t_disable`,
752
+ data, {resolveMsg: null, rejectMsg: null}).then((row) => {
753
+ this.$showMessage('已成功关阀停气!')
754
+ this.userinfo.meterinfo[0].f_table_state = '停用'
755
+ })
756
+ } else {
757
+ this.$showMessage('该用户已被关阀停用,请勿重复操作!')
758
+ }
759
+
760
+ },
761
+ addDevices() {
762
+ //Vue.user.name
763
+ let obj = {
764
+ "f_operator": Vue.user.name,
765
+ "f_picture": null,
766
+ "f_pipe_type": null,
767
+ "f_pipeinstall_date": null,
768
+ "f_pipe_connection": null,
769
+ "f_expire_date": null,
770
+ "f_pipeexpire_date": null,
771
+ "f_comments": null,
772
+ "f_operate_date": Util.toStandardTimeString(),
773
+ "f_operatorid": Vue.user.id,
774
+ "f_devices_num": null,
775
+ "f_process_id": null,
776
+ "f_devices_type": null,
777
+ "f_make_date": null,
778
+ "f_input_date": null,
779
+ "f_state": "有效",
780
+ "f_brand": null,
781
+ "f_devices_model": null,
782
+ "f_devices_no": null,
783
+ "img": {"content": null, "filename": null}
784
+ }
785
+ this.model.push(obj)
786
+ },
787
+ delDevices(idx) {
788
+ //tag
789
+ this.$showMessage('删除后不可恢复,确认删除吗?', ['confirm', 'cancel']).then((res) => {
790
+ if (res === 'confirm') {
791
+ this.model.splice(idx, 1)
792
+ }
793
+ })
794
+ },
795
+ async getAreaList(text) {
796
+ if (this.selectStreet.id) {
797
+ this.area = []
798
+ let pcdText = text ? `and f_street_id=${this.selectStreet.id} and f_residential_area like '%${text}%'` : `and f_street_id=${this.selectStreet.id}`
799
+ let res = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/safe_singleTable_OrderBy`, {
800
+ data: {
801
+ items: "*",
802
+ tablename: "t_area",
803
+ orderitem: "id",
804
+ condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
805
+ }
806
+ }, {resolveMsg: null, rejectMsg: null})
807
+ ////tag)
808
+ res.data.forEach((result) => {
809
+ this.area.push({label: result.f_residential_area, value: result})
810
+ })
811
+ //tag
812
+ this.area.push({
813
+ label: this.userinfo.addressinfo.f_residential_area,
814
+ value: {
815
+ id: this.userinfo.addressinfo.f_residential_area_id,
816
+ f_residential_area: this.userinfo.addressinfo.f_residential_area
817
+ }
818
+ })
819
+ } else {
820
+ this.area = []
821
+ }
822
+
823
+ },
824
+ async getStreetList() {
825
+ if (this.selectPcd.id) {
826
+ //tag
827
+ this.streets = []
828
+ let pcdText = `and f_pcd_id=${this.selectPcd.id}`
829
+ let streetlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/safe_singleTable_OrderBy`, {
830
+ data: {
831
+ items: "*",
832
+ tablename: "t_street",
833
+ orderitem: "id",
834
+ condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
835
+ }
836
+ }, {resolveMsg: null, rejectMsg: null})
837
+ streetlist.data.forEach((result) => {
838
+ //如果第一次进来有地址id 就拿下地址区域
839
+ if (this.selectStreet.id && this.selectStreet.id == result.id) {
840
+ //tag)
841
+ this.userinfo.addressinfo.f_iscity = result.f_iscity
842
+ }
843
+ this.streets.push({label: result.f_street, value: result})
844
+ })
845
+ } else {
846
+ this.streets = []
847
+ }
848
+ },
849
+ changeAddressType(val) {
850
+ //tag
851
+ if (this.addressType == '普通地址') {
852
+ this.userinfo.addressinfo.f_special = null
853
+ } else if (this.addressType == '特殊地址') {
854
+ this.userinfo.addressinfo.f_special = 1
855
+ this.userinfo.addressinfo.f_building = null
856
+ this.userinfo.addressinfo.f_unit = null
857
+ this.userinfo.addressinfo.f_floor = null
858
+ this.userinfo.addressinfo.f_room = null
859
+ }
860
+ this.changeNewAddress()
861
+ }
862
+
863
+ },
864
+ computed: {
865
+ getAddress() {
866
+ return (this.userinfo.addressinfo.f_pcd ? this.userinfo.addressinfo.f_pcd : '') +
867
+ (this.userinfo.addressinfo.f_street ? this.userinfo.addressinfo.f_street : '') +
868
+ (this.userinfo.addressinfo.f_residential_area ? this.userinfo.addressinfo.f_residential_area : '') +
869
+ (this.userinfo.addressinfo.f_building ? this.userinfo.addressinfo.f_building + (this.userinfo.addressinfo.f_building_suffix ? this.userinfo.addressinfo.f_building_suffix : '') : '') +
870
+ (this.userinfo.addressinfo.f_unit ? this.userinfo.addressinfo.f_unit + (this.userinfo.addressinfo.f_unit_suffix ? this.userinfo.addressinfo.f_unit_suffix : '') : '') +
871
+ (this.userinfo.addressinfo.f_floor ? this.userinfo.addressinfo.f_floor + (this.userinfo.addressinfo.f_floor_suffix ? this.userinfo.addressinfo.f_floor_suffix : '') : '') +
872
+ (this.userinfo.addressinfo.f_room ? this.userinfo.addressinfo.f_room + (this.userinfo.addressinfo.f_room_suffix ? this.userinfo.addressinfo.f_room_suffix : '') : '')
873
+ },
874
+ getAddressTS() {
875
+ return (this.userinfo.addressinfo.f_pcd ? this.userinfo.addressinfo.f_pcd : '') +
876
+ (this.userinfo.addressinfo.f_street ? this.userinfo.addressinfo.f_street : '') +
877
+ (this.userinfo.addressinfo.f_residential_area ? this.userinfo.addressinfo.f_residential_area : '')
878
+ }
879
+ },
880
+ watch: {
881
+
882
+ /*'selectPcd.id' (val) {
883
+ //tag
884
+ if(this.selectPcd.id){
885
+ this.getStreetList()
886
+ }
887
+ },
888
+ 'selectStreet.id' (val) {
889
+ //tag
890
+ if(this.selectStreet.id){
891
+ this.getAreaList()
892
+ }
893
+ }*/
894
+ },
895
+ async ready() {
896
+ /*//tag)
897
+
898
+ //tag)
899
+ //tag)*/
900
+ //this.f_userinfo_id=1102260
901
+ //this.f_userinfo_id=1997541
902
+ if (!this.f_userinfo_id) {
903
+ this.$showMessage("未检测到用户!")
904
+ this.enable = true
905
+ return
906
+ }
907
+ try {
908
+
909
+ this.devices_types = Vue.$appdata.getParam('设备类型')
910
+ this.wz_types = Vue.$appdata.getParam('安装位置')
911
+ ////tag)
912
+ this.excessive = true
913
+ //Vue.user.orgid ${this.f_userinfo_id} 10101 ${Vue.user.orgid}
914
+
915
+ let pcdlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/safe_singleTable_OrderBy`, {
916
+ data: {
917
+ items: "*",
918
+ tablename: "t_pcd",
919
+ orderitem: "id",
920
+ condition: `f_orgid = '${Vue.user.orgid}'`
921
+ }
922
+ }, {resolveMsg: null, rejectMsg: null})
923
+ //tag)
924
+ pcdlist.data.forEach((result) => {
925
+ this.pcds.push({label: result.f_pcd, value: result})
926
+ })
927
+ ////tag)
928
+ let res = await new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/api/af-revenue/logic/filemanage_getFilesDetail`, {
929
+ //f_userinfo_code:'12381344',
930
+ f_userinfo_id: this.f_userinfo_id
931
+ }, {resolveMsg: null, rejectMsg: null})
932
+ //tag
933
+ //tag
934
+ this.userinfo = res.data
935
+ this.userinfo_old = JSON.parse(JSON.stringify(res.data))
936
+ this.model = this.userinfo.meterinfo[0].devicesinfo
937
+ this.selectArea.id = this.userinfo.addressinfo.f_residential_area_id
938
+ this.selectPcd.id = this.userinfo.addressinfo.f_pcd_id
939
+ this.selectPcd.f_pcd = this.userinfo.addressinfo.f_pcd
940
+ this.selectStreet.id = this.userinfo.addressinfo.f_street_id
941
+ this.selectStreet.f_street = this.userinfo.addressinfo.f_street
942
+ await this.getStreetList()
943
+ await this.getAreaList()
944
+ this.excessive = false
945
+ this.addressType = this.userinfo.addressinfo.f_special == 1 ? '特殊地址' : '普通地址'
946
+ //this.userinfo.addressinfo.f_special=1
947
+ //tag
948
+ } catch (e) {
949
+ this.excessive = false
950
+ this.enable = true
951
+ this.$showMessage('获取用户信息出错,请检查网络状况!')
952
+ }
953
+ new HttpResetClass().load('get', `${this.$androidUtil.getProxyUrl()}/rs/vue/UserAddress.json`, {data: {}}, {
954
+ resolveMsg: null,
955
+ rejectMsg: null
956
+ }).then((addressUnit) => {
957
+ //tag
958
+ //tag
959
+ //tag
960
+ //tag
961
+ this.userinfo.addressinfo.f_building_suffix = addressUnit.data.f_building_suffix
962
+ this.userinfo.addressinfo.f_unit_suffix = addressUnit.data.f_unit_suffix
963
+ this.userinfo.addressinfo.f_floor_suffix = addressUnit.data.f_floor_suffix
964
+ this.userinfo.addressinfo.f_room_suffix = addressUnit.data.f_room_suffix
965
+ }).catch((msg) => {
966
+ //tag)
967
+ })
968
+ }
969
+ }
970
+ </script>
971
+ <style lang="less" scoped>
972
+ .butt3 {
973
+ float: right;
974
+ width: 12px;
975
+ margin: 1% 2% 0 0;
976
+ }
977
+
978
+ .rightipt {
979
+ width: 60%;
980
+ float: left;
981
+ margin-left: 5%;
982
+ }
983
+
984
+ .righttxt {
985
+ border: none;
986
+ margin-left: 5px;
987
+ /*border-left: 5px solid #A2C2EB;*/
988
+ float: left;
989
+ width: 25%;
990
+ margin-bottom: 3px;
991
+ text-align: left;
992
+ word-wrap: break-word;
993
+ white-space: normal;
994
+ }
995
+
996
+ .tit1 {
997
+ /*background: #ffffff url('../../assets/用户姓名.png') no-repeat fixed center;*/
998
+ background-image: url('../../assets/用户姓名.png');
999
+ background-repeat: no-repeat;
1000
+ background-position: center;
1001
+ }
1002
+
1003
+ .spanboder {
1004
+ border-bottom: 2px solid #499edf;
1005
+ padding-bottom: 8px
1006
+ }
1007
+
1008
+ #upuserinfo_sel /deep/ ul {
1009
+ width: 100% !important;
1010
+ left: 0 !important;
1011
+ }
1012
+
1013
+ .btn-photo {
1014
+ border: 0;
1015
+ border-radius: 7px;
1016
+ background-color: #7dc1f4;
1017
+ font: 15px PingFang-SC-Bold;
1018
+ height: 20%;
1019
+ }
1020
+
1021
+ .panel-self {
1022
+ border-radius: 10px;
1023
+ border: 1px solid #499EDF;
1024
+ background-color: #F8F8F8;
1025
+ }
1026
+
1027
+ .div-photo {
1028
+ width: auto;
1029
+ height: auto;
1030
+ /* margin-top: 10px; */
1031
+ position: absolute;
1032
+ bottom: 10px;
1033
+ right: 10px;
1034
+ }
1035
+ </style>
1036
+ <style lang="less">
1037
+ #upuserinfo_sel ul {
1038
+ width: 100% !important;
1039
+ left: 0 !important;
1040
+ }
1041
+ </style>