sale-client 3.6.412 → 3.6.413

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.
File without changes
File without changes
@@ -0,0 +1,2 @@
1
+ #Mon Jul 08 09:48:59 CST 2024
2
+ gradle.version=5.2.1
Binary file
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.6.412",
3
+ "version": "3.6.413",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -227,7 +227,7 @@ export default {
227
227
  cancelreason: '',
228
228
  cancelid: '',
229
229
  f_userfiles_id: '',
230
- model: new PagedList('rs/sql/insturctDetailQuery', 30),
230
+ model: new PagedList('rs/sql/insturctDetailQuery', 30, {f_userfiles_id: this.row.f_userfiles_id}),
231
231
  row: null,
232
232
  searchshow: false,
233
233
  show: false,
@@ -498,7 +498,7 @@
498
498
  name = 'rs/report/iotGiftGas'
499
499
  } else if (type === '卡表赠费') {
500
500
  name = 'rs/report/icGiftFee'
501
- } else if (type === '卡表赠费') {
501
+ } else if (type === '卡表赠气') {
502
502
  name = 'rs/report/icGiftGas'
503
503
  }
504
504
  return name
@@ -0,0 +1,849 @@
1
+ <template>
2
+ <div id="file-user-files" class="binary">
3
+ <div :class="{'basic-main': !createFile,'binary-left': createFile}" >
4
+ <div class="flex" style="flex: 1;">
5
+ <div style="flex: 1.2">
6
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
7
+ <criteria @condition-changed="$parent.selfSearch" partial='criteria' v-ref:criteria>
8
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
9
+ <div class="row">
10
+ <div
11
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
12
+ class="form-group" v-if="!$parent.$parent.createFile">
13
+ <label class="font_normal_body">组织机构</label>
14
+ <res-select
15
+ :initresid='$parent.$parent.curorgid'
16
+ @res-select="$parent.$parent.getorg"
17
+ is-mul="false"
18
+ restype='organization'
19
+ >
20
+ </res-select>
21
+ </div>
22
+ <div
23
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
24
+ class="form-group"
25
+ v-if="$parent.$parent.clientWidth>1600">
26
+ <label class="font_normal_body">客户编号</label>
27
+ <input class="input_search" condition="f_userinfo_code = '{}'"
28
+ placeholder='客户编号'
29
+ style="width:60%" type="text" v-model="model.f_userinfo_code">
30
+ </div>
31
+ <div
32
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
33
+ class="form-group" v-if="!$parent.$parent.createFile">
34
+ <label class="font_normal_body">客户名称</label>
35
+ <input class="input_search" condition="f_user_name like '%{}%'"
36
+ placeholder='客户姓名'
37
+ style="width:60%" type="text" v-model="model.f_user_name">
38
+ </div>
39
+ <div
40
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
41
+ class="form-group button-range">
42
+ <!--<button class="button_search button_spacing" style="width: 90px" @click="$parent.$parent.showFileInfo()">查看批量状态-->
43
+ <!--</button>-->
44
+ <button @click="search(), $parent.$parent.clean()" class="button_search button_spacing"
45
+ style="float: right">查询
46
+ </button>
47
+ <button @click="$parent.$parent.clear()" class="button_clear button_spacing"
48
+ style="float: right">清空
49
+ </button>
50
+ <button @click="$parent.$parent.createnewfile()" class="button_search button_spacing"
51
+ style="float: right">单户建档
52
+ </button>
53
+ <button class="button_search button_spacing" @click="$parent.$parent.createInfoForFile()">批量建档
54
+ </button>
55
+ <button class="button_search button_spacing" @click="$parent.$parent.downloadFiles()">模板下载
56
+ </button>
57
+ <button @click="$parent.$parent.importFile" class="button_export button_spacing"
58
+ style="float: right" v-if="false">导入
59
+ </button>
60
+ <!-- <button class="button_search" style="width: 90px" @click=" $parent.$parent.selectaddress()">选择地址</button>-->
61
+ <button @click="$parent.$parent.bulkOperations('批量销户', 'batch-cancellation')"
62
+ class="button_delete button_spacing"
63
+ style="float: right"
64
+ v-if="$parent.$parent.rows && $parent.$parent.rows.length === 1 && $parent.$parent.rows[0].f_user_state !== '正常'">
65
+ 销户
66
+ </button>
67
+ <button @click="$parent.$parent.bulkOperations('批量启用', 'batch-enable')"
68
+ class="button_search button_spacing"
69
+ style="float: right"
70
+ v-if="$parent.$parent.rows && $parent.$parent.rows.length === 1 && $parent.$parent.rows[0].f_user_state === '销户'">
71
+ 启用
72
+ </button>
73
+ <div
74
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
75
+ @click="$parent.$parent.hidden()"
76
+ class="button_spacing"
77
+ style="float: right"></div>
78
+ </div>
79
+ </div>
80
+ <div class="row" v-if="$parent.$parent.criteriaShow">
81
+ <div
82
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
83
+ class="form-group" v-if="$parent.$parent.createFile">
84
+ <label class="font_normal_body">组织机构</label>
85
+ <res-select
86
+ :initresid='$parent.$parent.curorgid'
87
+ @res-select="$parent.$parent.getorg"
88
+ is-mul="false"
89
+ restype='organization'
90
+ >
91
+ </res-select>
92
+ </div>
93
+ <div
94
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
95
+ class="form-group"
96
+ v-if="$parent.$parent.clientWidth<1600&&$parent.$parent.createFile">
97
+ <label class="font_normal_body">客户编号</label>
98
+ <input class="input_search" condition="f_userinfo_code = '{}'"
99
+ placeholder='客户编号'
100
+ style="width:60%" type="text" v-model="model.f_userinfo_code">
101
+ </div>
102
+ <div
103
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
104
+ class="form-group" v-if="$parent.$parent.createFile">
105
+ <label class="font_normal_body">客户名称</label>
106
+ <input class="input_search" condition="f_user_name like '%{}%'"
107
+ placeholder='客户姓名'
108
+ style="width:60%" type="text" v-model="model.f_user_name">
109
+ </div>
110
+ <div
111
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
112
+ class="form-group">
113
+ <label class="font_normal_body">旧客户号</label>
114
+ <input class="input_search" condition="f_olduserinfo_code = '{}'" placeholder='客户编号'
115
+ style="width:60%"
116
+ type="text"
117
+ v-model="model.f_olduserinfo_code">
118
+ </div>
119
+ <div
120
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
121
+ class="form-group">
122
+ <label class="font_normal_body">用气性质</label>
123
+ <v-select :options='$parent.$parent.gasproperties' :value.sync="model.f_gasproperties"
124
+ close-on-select condition="f_gasproperties='{}'"
125
+ placeholder='用气性质' v-model="model.f_gasproperties"></v-select>
126
+ </div>
127
+ <div
128
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
129
+ class="form-group">
130
+ <label class="font_normal_body">客户电话</label>
131
+ <input class="input_search" condition="f_user_phone = '{}'" placeholder='客户电话' style="width:60%"
132
+ type="text"
133
+ v-model="model.f_user_phone">
134
+ </div>
135
+ <div
136
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
137
+ class="form-group">
138
+ <label class="font_normal_body">客户地址</label>
139
+ <input class="input_search" condition="f_address like '%{}%'" placeholder='客户地址' style="width:60%"
140
+ type="text" v-model="model.f_address">
141
+ </div>
142
+ <div
143
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
144
+ class="form-group">
145
+ <label class="font_normal_body">客户状态</label>
146
+ <v-select :options='$parent.$parent.userstates' :value.sync="model.f_user_state"
147
+ close-on-select condition="f_user_state='{}'"
148
+ :value-single="true"
149
+ placeholder='客户状态' v-model="model.f_user_state"></v-select>
150
+ </div>
151
+ <div
152
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
153
+ class="form-group">
154
+ <label class="font_normal_body">调&ensp;压&ensp;箱</label>
155
+ <v-select :options='$parent.$parent.adjustables' :search='true'
156
+ :value.sync="model.f_adjustable_id"
157
+ close-on-select
158
+ condition="f_adjustable_id = '{}'" placeholder='调压箱'
159
+ v-model='model.f_adjustable_id'></v-select>
160
+ </div>
161
+ <div
162
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
163
+ class="form-group">
164
+ <label class="font_normal_body">建档时间</label>
165
+ <datepicker placeholder="开始日期" v-model="model.startDate" :value.sync="model.startDate" style="width:60%"
166
+ :format="'yyyy-MM-dd'" condition="f_createfile_date >= '{}'">
167
+ </datepicker>
168
+ </div>
169
+ <div
170
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
171
+ class="form-group">
172
+ <label class="font_normal_body">&emsp;&ensp;至&ensp;&emsp;</label>
173
+ <datepicker placeholder="结束日期" v-model="model.endDate" :value.sync="model.endDate" style="width:60%"
174
+ :format="'yyyy-MM-dd'" condition="f_createfile_date <= '{}'">
175
+ </datepicker>
176
+ </div>
177
+ <div
178
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
179
+ class="form-group">
180
+ <label class="font_normal_body">打印时间</label>
181
+ <datepicker placeholder="开始日期" v-model="model.startPrintDate" :value.sync="model.startPrintDate" style="width:60%"
182
+ :format="'yyyy-MM-dd'" condition="f_printdate >= '{}'">
183
+ </datepicker>
184
+ </div>
185
+ <div
186
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
187
+ class="form-group">
188
+ <label class="font_normal_body">打印时间</label>
189
+ <datepicker placeholder="结束日期" v-model="model.endPrintDate" :value.sync="model.endPrintDate" style="width:60%"
190
+ :format="'yyyy-MM-dd'" condition="f_printdate <= '{}'">
191
+ </datepicker>
192
+ </div>
193
+ <div
194
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
195
+ class="form-group">
196
+ <label class="font_normal_body">工业备注</label>
197
+ <v-select :options='$parent.$parent.industrycomments' :value.sync="model.f_industry_comments"
198
+ close-on-select condition="f_industry_comments='{}'"
199
+ placeholder='气表类型' v-model="model.f_industry_comments"></v-select>
200
+ </div>
201
+ <!--<div-->
202
+ <!--:class="{'col-sm-3':$parent.$parent.clientWidth>1600||!$parent.$parent.createFile,'col-sm-4':$parent.$parent.clientWidth<1600&&$parent.$parent.createFile}"-->
203
+ <!--class="form-group">-->
204
+ <!--<label class="font_normal_body">天然气使用证</label>-->
205
+ <!--<v-select :options='$parent.$parent.usegas' :value.sync="model.f_send_usegas_card"-->
206
+ <!--close-on-select condition="f_send_usegas_card='{}'"-->
207
+ <!--placeholder='天然气使用证' v-model="model.f_send_usegas_card"></v-select>-->
208
+ <!--</div>-->
209
+ </div>
210
+ </div>
211
+ </criteria>
212
+ <data-grid :model="model" class="list_area table_sy" @dblclick="$parent.modifyUser" v-ref:grid partial='list'>
213
+ <template partial='head'>
214
+ <tr>
215
+ <th>
216
+ <nobr>序号</nobr>
217
+ </th>
218
+ <th>
219
+ <nobr>客户编号</nobr>
220
+ </th>
221
+ <th>
222
+ <nobr>客户名称</nobr>
223
+ </th>
224
+ <th>
225
+ <nobr>客户电话</nobr>
226
+ </th>
227
+ <th v-if="!$parent.$parent.$parent.isOper">
228
+ <nobr>客户地址</nobr>
229
+ </th>
230
+ <th>
231
+ <nobr>状态</nobr>
232
+ </th>
233
+ <th>
234
+ <nobr>建档时间</nobr>
235
+ </th>
236
+ <th>
237
+ <nobr>打印时间</nobr>
238
+ </th>
239
+ <th>
240
+ <nobr>打印状态</nobr>
241
+ </th>
242
+ <th>
243
+ <nobr>操作</nobr>
244
+ </th>
245
+ </tr>
246
+ </template>
247
+ <template partial='body'>
248
+ <td style="text-align: center;">{{$index + 1}}</td>
249
+ <td style="text-align: center;">{{row.f_userinfo_code}}</td>
250
+ <td style="text-align: center;">{{row.f_user_name}}</td>
251
+ <td style="text-align: center;">{{row.f_user_phone}}</td>
252
+ <td style="text-align: center;" v-if="!$parent.$parent.$parent.isOper">{{row.f_address_detail ? row.f_address + row.f_address_detail :
253
+ row.f_address}}
254
+ </td>
255
+ <td style="text-align: center;">{{row.f_user_state}}</td>
256
+ <td style="text-align: center;">{{row.f_createfile_date}}</td>
257
+ <td style="text-align: center;">{{row.f_printdate}}</td>
258
+ <td style="text-align: center;">
259
+ <div>{{row.print_stats}}</div>
260
+ </td>
261
+ <td style="text-align: center;">
262
+ <button type="button" name="button" class="button_search-2 button_spacing width-60"
263
+ v-if="row.f_user_state === '正常' || row.f_user_state==='预备'"
264
+ @click.stop="$parent.$parent.$parent.modifyUser(row)">修正
265
+ </button>
266
+ </td>
267
+ </template>
268
+ </data-grid>
269
+ </criteria-paged>
270
+ </div>
271
+ <div v-if="batcan || batenable">
272
+ <batch-cancellation v-if="batcan" :useraccount="model.rows" @clean="batchClean"
273
+ @success="batchSuccess"></batch-cancellation>
274
+ <batch-enable v-if="batenable" :useraccount="model.rows" @clean="batchClean"
275
+ @success="batchSuccess"></batch-enable>
276
+ </div>
277
+ </div>
278
+ </div>
279
+ <div class="binary-right" :style="{width:'70%'}" v-if="createFile">
280
+ <div class="auto" style="height: 100%; margin-top: 1%" >
281
+ <file-user-general-info-new :f_filialeid="f_filialeid" :row="row" :areainfo="areainfo"
282
+ :haslimit="config.hasLimit" @success="renew" @clean="clean"
283
+ :isedit="isedit" :configs="configs"
284
+ @build-success="buildFileSuccess" v-ref:info></file-user-general-info-new>
285
+ </div>
286
+ </div>
287
+
288
+ <modal :show.sync="show" width="500px" title="文件导入" v-ref:modal large backdrop="false">
289
+ <article slot="modal-body" class="modal-body">
290
+ <file-upload class="my-file-uploader " name="UploadFile" class="btn btn-success" style="border-radius: 2px;"
291
+ action="rs/file/uploadFile" tagname="导入档案" v-ref:file :headers="headers"></file-upload>
292
+ </article>
293
+ <footer slot="modal-footer" class="modal-footer">
294
+ </footer>
295
+ </modal>
296
+ <modal :show.sync="batchMeterShow" width="500px" title="文件导入" v-ref:modal large backdrop="false">
297
+ <article slot="modal-body" class="modal-body">
298
+ <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
299
+ </article>
300
+ <footer slot="modal-footer" class="modal-footer">
301
+ </footer>
302
+ </modal>
303
+ <user-flow-sheet :show="printflag" :bill-config='configs' :bill-data='billData' :data='newdata' v-on:toggle="close" @printok="printok" v-ref:printbill></user-flow-sheet>
304
+
305
+ <modal :show.sync="progressShow" v-ref:modal width="50%" style="width:auto;" backdrop="false" >
306
+ <header slot="modal-header" class="modal-header">
307
+ 批量建档
308
+ </header>
309
+ <article slot="modal-body" class="modal-body">
310
+ <div class="progress" style="margin: 20px" >
311
+ <div class="progress-bar progress-bar-success progress-bar-striped active" :style="{width: percent+'%'}">
312
+ {{percent}}%
313
+ </div>
314
+ </div>
315
+ <div style="width:100%;display: flex">
316
+ <p style="text-align: center;width: 100%;" v-show="!downbutton">文件正在导入..</p>
317
+ <p style="text-align: center;width: 100%;" v-show="downbutton">导入成功:{{inputsuccessmage}}</p>
318
+ </div>
319
+ </article>
320
+ <footer slot="modal-footer" class="modal-footer">
321
+ <button type="button" class="btn btn-default" @click='closeRequeset'>关闭</button>
322
+ </footer>
323
+ </modal>
324
+ </div>
325
+ </template>
326
+
327
+ <script>
328
+ import {PagedList, HttpResetClass} from 'vue-client'
329
+ import Vue from 'vue'
330
+ import co from 'co'
331
+ import axios from 'axios'
332
+
333
+ let loadParamGem = async function (self) {
334
+ await self.$getConfig(self, 'UserFiles')
335
+ self.headers.username = Vue.$login.f.name
336
+ self.headers.username = Vue.$login.guid()
337
+ await self.$LoadParams.loadParam(self.f_filialeid)
338
+ // await self.$LoadParams.loadMeterBook(self.f_filialeid)
339
+ await self.search()
340
+ self.initAdjustables()
341
+ }
342
+
343
+ let addressInfoGen = async function (self, areainfo) {
344
+ areainfo.isEdit = false
345
+ if (areainfo.file_num > 0 && !areainfo.f_userinfo_id) {
346
+ // 完善
347
+ // 将表档案信息带入,完善客户信息
348
+ let getMetersInfo = await self.$resetpost('rs/logic/sale_getMeterByAddress', {
349
+ data: {
350
+ f_useraddress_id: areainfo.id
351
+ }
352
+ }, {resolveMsg: null, rejectMsg: '获取表信息出错'})
353
+ areainfo.meter = getMetersInfo.data[0]
354
+ }
355
+ if (areainfo.file_num > 0 && areainfo.f_userinfo_id) {
356
+ // 添加 将客户信息带入
357
+ let getUserinfo = await self.$resetpost('rs/sql/saleSingleTable', {
358
+ data: {
359
+ tablename: 't_userinfo',
360
+ condition: `f_userinfo_id = '${areainfo.f_userinfo_id}'`
361
+ }
362
+ }, {resolveMsg: null, rejectMsg: '获取档案出错'})
363
+
364
+ areainfo.user = getUserinfo.data[0]
365
+ }
366
+ self.bulidFiles(areainfo)
367
+ }
368
+
369
+ export default {
370
+ 'title': '预备户管理',
371
+ data () {
372
+ return {
373
+ config: {
374
+ createType: ['address', 'area'], // 建档方式: address-地址建档 area-小区建档
375
+ hasLimit: true
376
+ },
377
+ model: new PagedList('rs/sql/filemanage_getUserfies', 30, {orderitem: '"f_userinfo_id DESC"'}),
378
+ row: null, // 选择一条客户信息,对其进行修改
379
+ areainfo: null, // 小区批量建档使用的数据
380
+ rows: [], // 客户档案选择一条时,将只显示一条信息,rows用来存放整页的数据
381
+ headers: {'username': this.$login.f.name, 'blodid': this.$login.guid()},
382
+ contract: [{label: '全部', value: ' is null or f_contract_id is not null'}, {
383
+ label: '有',
384
+ value: ' is not null'
385
+ },
386
+ {label: '无', value: ' is null'}],
387
+ industrycomments: this.$appdata.getParam('工业备注') ? [{
388
+ label: '全部',
389
+ value: ''
390
+ }, ...this.$appdata.getParam('工业备注')] : [],
391
+ orderDefault: 'f_createfile_date desc',
392
+ orderFields: {
393
+ f_userinfo_id: 'no'
394
+ },
395
+
396
+ downbutton:false,
397
+ percent:0,
398
+ timer:'',
399
+ uuida:'',
400
+ progressShow:false,
401
+ inputsuccessmage:'',
402
+
403
+ createFile: false,
404
+
405
+ curorgid: [this.$login.f.orgid],
406
+ f_filialeid: this.$login.f.orgid,
407
+
408
+ // 销户启用
409
+ batcan: false,
410
+ batenable: false,
411
+ version: '',
412
+
413
+ inputtores: this.$appdata.getParam('抄表员'),
414
+ adjustables: [],
415
+
416
+ // 导入组件
417
+ show: false,
418
+
419
+ // 点击建档或修正时控制列表展示, 防止拥挤
420
+ isOper: false,
421
+
422
+ criteriaShow: false,
423
+
424
+ gasproperties: this.$appdata.getParam('用气性质') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')] : [],
425
+ f_user_state: '预备',
426
+ showselectaddress: false,
427
+ isedit: false,
428
+ clientWidth: document.body.clientWidth,
429
+ batchMeterShow: false,
430
+ billData: {
431
+ url: 'rs/report/userignition',
432
+ bill: ''
433
+ },
434
+ configs: {
435
+ hasPrint: false, // 默认打票
436
+ hasBillManage: false // 默认不启用发票管理
437
+ },
438
+ printflag: false,
439
+ newdata: {}
440
+ }
441
+ },
442
+ ready () {
443
+ this.$refs.paged.$refs.criteria.model.f_user_state = this.f_user_state
444
+ loadParamGem(this)
445
+ },
446
+ compiled () {
447
+ window.onresize = () => {
448
+ return (() => {
449
+ this.clientWidth = document.body.clientWidth
450
+ })()
451
+ }
452
+ },
453
+ methods: {
454
+ progressclose(){
455
+ if(this.timer != null){
456
+ clearInterval(this.timer);
457
+ }
458
+ this.progressShow = false;
459
+ this.percent=0;
460
+ },
461
+ closeRequeset() {
462
+ // 判断进度是否已完成
463
+ if (this.percent === 100) {
464
+ // 已完成导入,直接关闭并清理
465
+ if (this.timer != null) {
466
+ clearInterval(this.timer);
467
+ }
468
+ this.progressclose();
469
+ this.percent = 0;
470
+ this.uuida = '';
471
+ this.downbutton = false;
472
+ } else {
473
+ // 进度未完成,弹出确认关闭的提示
474
+ this.$showMessage("确定关闭吗?当前正在导入,关闭后将无法获取导入进度!", ['confirm', 'cancel']).then(res => {
475
+ if (res === 'confirm') {
476
+ if (this.timer != null) {
477
+ clearInterval(this.timer);
478
+ }
479
+ this.progressclose();
480
+ this.percent = 0;
481
+ this.uuida = '';
482
+ this.downbutton = false;
483
+ }
484
+ });
485
+ }
486
+ },
487
+ async getRequestReturn(){
488
+
489
+ let self = this;
490
+ let param = {
491
+ uuid:this.uuida
492
+ };
493
+ console.log(param)
494
+ console.log("=============")
495
+ this.timer = setInterval(function(){
496
+ self.$resetpost('/rs/logic/getBatchOperaPro',{data:param},{resolveMsg: null, rejectMsg: null}, 0).then((res)=>{
497
+ if(res.data && res.data.speed ){
498
+ if(res.data.speed==100 || res.data.speed>100 ){
499
+ clearInterval(self.timer);
500
+ self.percent = 99;
501
+ setTimeout(function(){
502
+ self.percent = 100
503
+ self.inputsuccessmage = `本次上传共上传${res.data.totalsum}条数据, 成功${res.data.successsum}条,失败${res.data.errorsum}条,具体失败数据请在稽查查询错误查询中查看!!`
504
+ self.downbutton = true;
505
+ },100);
506
+ }else{
507
+ self.percent = res.data.speed
508
+ }
509
+ }
510
+ });
511
+ },2000);
512
+ },
513
+ downloadFiles(){
514
+ let downurl='rs/downloadfile/file?filename=预备户批量建档导入Excel模板';
515
+ this.$downFile(downurl,'预备户批量建档导入Excel模板.xlsx')
516
+ },
517
+ close () {
518
+ this.printflag = false
519
+ this.clean()
520
+ },
521
+ async downFiles (index, row) {
522
+ let param = {
523
+ f_userinfo_id: row.f_userinfo_id,
524
+ version: row.version,
525
+ f_print_lc: '是',
526
+ f_printdate: this.$login.toStandardTimeString()
527
+ }
528
+ await await this.$resetpost('rs/logic/updateprint', {param}, {resolveMsg: null, rejectMsg: ''})
529
+ console.log('xxxxxxxxxxxxxxxxxxxxx')
530
+ // 下载不同文件
531
+ if (index == 0) {
532
+ let url = 'rs/report/userinstall'
533
+ this.billData.url = url
534
+ } else {
535
+ let url = 'rs/report/userignition'
536
+ this.billData.url = url
537
+ }
538
+ this.newdata = row
539
+ this.printflag = true
540
+ },
541
+ showFileInfo () {
542
+
543
+ },
544
+ closemodal () {
545
+ this.batchMeterShow = false
546
+ },
547
+ createInfoForFile () {
548
+ this.batchMeterShow = true
549
+ },
550
+ hidden () {
551
+ this.criteriaShow = !this.criteriaShow
552
+ },
553
+ search () {
554
+ this.$refs.paged.$refs.criteria.model.f_user_state = this.f_user_state
555
+ // this.$refs.paged.$refs.criteria.search()
556
+ },
557
+ modifyUser (row) {
558
+ this.isOper = true
559
+ this.createFile = true
560
+ this.isedit = true
561
+ this.row = row
562
+ this.areainfo = null
563
+ this.row.version = row.version
564
+ console.log('row.version====>', this.row.version)
565
+ },
566
+ clean () {
567
+ this.createFile = false
568
+ this.row = null
569
+ this.isOper = false
570
+ this.areainfo = null
571
+ // this.$refs.paged.$refs.grid.select(null)
572
+ this.$refs.paged.$refs.grid.model.rows = this.rows
573
+ this.search()
574
+ },
575
+ createnewfile () {
576
+ this.isOper = true
577
+ this.createFile = true
578
+ this.isedit = false
579
+ this.row = null
580
+ this.areainfo = null
581
+ this.$refs.info.clearinfo()
582
+ },
583
+ renew () {
584
+ this.row = null
585
+ this.areainfo = null
586
+ this.isOper = false
587
+ this.$refs.info.clearinfo()
588
+ this.clearCondition()
589
+ this.search()
590
+ // 建档或修正档案成功刷新地址列表
591
+ this.$refs.addressfiles.$refs.paged.$refs.cri.search()
592
+ },
593
+ clearCondition () {
594
+ Object.keys(this.$refs.paged.$refs.criteria.model).forEach((key) => {
595
+ this.$refs.paged.$refs.criteria.model[key] = ''
596
+ })
597
+ },
598
+
599
+ bulkOperations (name, type) {
600
+ if (name === '批量销户') {
601
+ this.batcan = true
602
+ this.batenable = false
603
+ this.newArea = false
604
+ } else if (name === '批量启用') {
605
+ this.batenable = true
606
+ this.batcan = false
607
+ this.newArea = false
608
+ }
609
+ },
610
+ batchSuccess () {
611
+ this.clearCondition()
612
+ this.batchClean()
613
+ },
614
+ batchClean () {
615
+ this.batcan = false
616
+ this.batenable = false
617
+ this.newArea = false
618
+ this.search()
619
+ },
620
+ buildFile (row) {
621
+ // console.log('我是建档。。。', row)
622
+ this.row = row
623
+ },
624
+ // 小区批量建档
625
+ bulidFiles (row) {
626
+ this.row = null
627
+ this.areainfo = row
628
+ // 将列表的数据清空
629
+ this.$refs.paged.$refs.grid.model.rows = []
630
+ },
631
+ // 小区批量建档成功
632
+ buildFileSuccess (data) {
633
+ // console.log('建档案成功', data)
634
+ this.model.rows.unshift(data)
635
+ },
636
+ selfSearch (args) {
637
+ console.log('开始查询档案', this.f_filialeid)
638
+ if (!this.f_filialeid) {
639
+ this.f_filialeid = this.$login.f.orgid
640
+ }
641
+ args.condition = `${args.condition} and f_filialeid = '${this.f_filialeid}'`
642
+ this.criteriaShow = false
643
+ this.$refs.paged.$refs.grid.$el.scrollTop = 0
644
+ this.model.search(args.condition, args.model)
645
+ this.clean()
646
+ },
647
+ printok () {
648
+ console.log('======================')
649
+ // this.$dispatch('success')
650
+ },
651
+ sort (field, rule) {
652
+ // 将所有排序方式设为不排序,实现相互排斥
653
+ for (let key in this.orderFields) {
654
+ if (key === field) {
655
+ this.orderFields[key] = rule
656
+ } else {
657
+ this.orderFields[key] = 'no'
658
+ }
659
+ }
660
+ // 如果新规则不排序,还原为默认排序
661
+ if (rule === 'no') {
662
+ this.model.paramSource.orderitem = `'${this.orderDefault}'`
663
+ } else {
664
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
665
+ }
666
+
667
+ this.search()
668
+ },
669
+
670
+ getLocation (row) {
671
+ // 可能会存在添加,完善,建档
672
+ console.log('进入', row)
673
+
674
+ addressInfoGen(this, row)
675
+ },
676
+ areaFiles (row) {
677
+ row.isEdit = true
678
+ row.f_residential_area_id = row.id
679
+ // row.id = null
680
+ delete row.id
681
+ this.bulidFiles(row)
682
+ },
683
+
684
+ initAdjustables () {
685
+ console.log('初始化调压箱', this.$GetSaleParam)
686
+ let arr = []
687
+ let filter = this.$login.f.orgid
688
+ this.$GetSaleParam.getAdjustable(filter).forEach((item) => {
689
+ let temp = {}
690
+ temp.label = `[${item.value.f_adjustable_id}]-${item.label}`
691
+ temp.value = `${item.value.id}`
692
+ arr.push(temp)
693
+ })
694
+ this.adjustables = [{label: '全部', value: ''}, ...arr]
695
+ },
696
+ importFile () {
697
+ this.show = true
698
+ },
699
+ clear () {
700
+ Object.keys(this.$refs.paged.$refs.criteria.model).forEach((key) => {
701
+ this.$refs.paged.$refs.criteria.model[key] = []
702
+ })
703
+ this.$refs.paged.$refs.criteria.model.f_user_state = this.f_user_state
704
+ },
705
+ getuuid(){
706
+ let uuidA = '';
707
+ var s = [];
708
+ var hexDigits = '0123456789abcdef';
709
+ for (var i = 0; i < 36; i++) {
710
+ s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
711
+ }
712
+ s[14] = '4';
713
+ s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
714
+ s[8] = s[13] = s[18] = s[23] = '-';
715
+ uuidA = s.join('');
716
+ this.uuida = uuidA;
717
+ },
718
+ getorg (val) {
719
+ this.f_filialeid = val[0]
720
+ }
721
+ },
722
+ computed: {
723
+ userstates () {
724
+ return [{label: '预备', value: '预备'}]
725
+ },
726
+ usegas () {
727
+ return [{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: '否'}]
728
+ },
729
+ areas () {
730
+ let rs = []
731
+ for (let i = 0; i < this.$login.f.f_allArea.length; i++) {
732
+ let temp = {
733
+ label: this.$login.f.f_allArea[i].label,
734
+ value: this.$login.f.f_allArea[i].label
735
+ }
736
+ rs.push(temp)
737
+ }
738
+ return [{label: '全部', value: ''}, ...rs]
739
+ },
740
+ firestates () {
741
+ return [
742
+ {label: '全部', value: ''},
743
+ {label: '点火', value: '1'},
744
+ {label: '未点火', value: '0'}
745
+ ]
746
+ },
747
+ jurisdiction () {
748
+ return this.$login.r
749
+ }
750
+ },
751
+ watch: {
752
+ // 每次查询将查询到的数据存储起来,供选择操作后的替换
753
+ 'model.state' (val) {
754
+ if (val === '正确') {
755
+ this.rows = this.model.rows
756
+ }
757
+ },
758
+ 'f_filialeid' (val) {
759
+ loadParamGem(this)
760
+ }
761
+ },
762
+ events: {
763
+ FileUpload: function (file, res) {
764
+ let data = {
765
+ tablename: 't_userinfo',
766
+ filepath: res.path
767
+ }
768
+ this.$resetpost('rs/logic/import', data, {resolveMsg: null, rejectMsg: '上传失败'}).then((res) => {
769
+ console.log('dddddddd', this)
770
+ this.close()
771
+ this.$showAlert(`一共上传${res.data.total}条数据, 成功${res.data.successnum}条`, 'success', 2000)
772
+ this.search()
773
+ })
774
+ },
775
+ 'onFileUpload': function (file, res) {
776
+ if (this.batchmoneyShow) {
777
+ let param = {
778
+ filepath: res.f_downloadpath,
779
+ f_operator: this.$login.f.name,
780
+ f_operatorid: this.$login.f.id,
781
+ f_orgid: this.$login.f.orgid,
782
+ f_orgname: this.$login.f.orgs,
783
+ f_depid: this.$login.f.depids,
784
+ f_depname: this.$login.f.deps
785
+ }
786
+ let http = new HttpResetClass()
787
+ http.load('POST', 'rs/logic/SumSettleFileImport', {data: param}, {
788
+ resolveMsg: null,
789
+ rejectMsg: '上传失败'
790
+ })
791
+ }
792
+
793
+ if (this.batchMeterShow) {
794
+ // this.iswork = true
795
+ this.getuuid();
796
+ console.log(this.uuida)
797
+ console.log("uuida=========")
798
+ if(this.uuida == '') return;
799
+ // 当前上传的是批量导入的档案
800
+ let param = {
801
+ filepath: res.f_downloadpath,
802
+ f_operator: this.$login.f.name,
803
+ f_operatorid: this.$login.f.id,
804
+ f_orgid: this.$login.f.orgid,
805
+ f_orgname: this.$login.f.orgs,
806
+ f_depid: this.$login.f.depids,
807
+ f_depname: this.$login.f.deps,
808
+ uuid: this.uuida
809
+ }
810
+ let self = this
811
+ try {
812
+ self.progressShow = true;
813
+ axios.post('rs/logic/newPrepareSettleFileImport',
814
+ {data: param}, {timeout: 1000}).then((res) => {
815
+ })
816
+ self.percent=0;
817
+ self.getRequestReturn();
818
+ } catch (error) {
819
+ if (error.response) {
820
+ if (error.response.status == 500) {
821
+ this.$showAlert('服务繁忙,请重试!!!', 'danger', 3000)
822
+ } else if (error.response.status == 404) {
823
+ this.$showAlert('服务运行中,请耐心等待后进行重试!!', 'danger', 3000)
824
+ } else {
825
+ this.$showAlert(error.response.data, 'danger', 2000)
826
+ }
827
+ } else if (error.request) {
828
+ this.$showAlert(error.request, 'danger', 2000)
829
+ } else {
830
+ this.$showAlert(error.message, 'danger', 2000)
831
+ }
832
+ this.iswork = false
833
+ }
834
+ this.$refs.file.$el.querySelector('input').value = ''
835
+ this.batchMeterShow = false
836
+ this.search()
837
+ }
838
+ },
839
+ 'confirmaddress' (res) {
840
+ console.log('选定地址', res)
841
+ }
842
+ }
843
+ }
844
+ </script>
845
+ <style>
846
+ .nav-tabss ul > li > a {
847
+ padding: 5px 10px;
848
+ }
849
+ </style>
@@ -45,4 +45,6 @@ export default function () {
45
45
  Vue.component('user-meterinfodetail', (resolve) => { require(['./meterinfodetail'], resolve) })
46
46
  // 收费页面的流水查询
47
47
  Vue.component('meter-charge-record-query', (resolve) => { require(['./ChargeRecordQuery'], resolve) })
48
+ // 档案管理新(预备户建档)
49
+ Vue.component('file-user-files-new', (resolve) => { require(['./FileUserFiles'], resolve) })
48
50
  }
@@ -363,8 +363,8 @@ let getPrice = async function (self) {
363
363
  let chargeData = {
364
364
  tablename: 't_chargeprice',
365
365
  items: 'f_gas,f_money,f_price',
366
- condition: `f_userfiles_id = '${self.row.f_userfiles_id}'`,
367
- orderitem: 'id desc'
366
+ condition: `f_userfiles_id = '${self.row.f_userfiles_id}' and f_state = '有效'`,
367
+ orderitem: 'f_operate_date desc'
368
368
  }
369
369
  let chargePrice = await http2.load('POST', 'rs/sql/singleTable_OrderBy', {
370
370
  data: chargeData