manage-client 4.1.83 → 4.1.85-tcls

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.
Files changed (27) hide show
  1. package/build/dev-server.js +227 -145
  2. package/package.json +111 -111
  3. package/src/components/SellReport/shimen/SMSummary.vue +175 -0
  4. package/src/filiale/shanxian/OtherChargeQuery.vue +0 -4
  5. package/src/filiale/tongchuan/CancellationQuery.vue +455 -0
  6. package/src/filiale/tongchuan/ChangeMeterQuery.vue +730 -702
  7. package/src/filiale/tongchuan/ChargeQuery.vue +1514 -1487
  8. package/src/filiale/tongchuan/DisableQuery.vue +550 -523
  9. package/src/filiale/tongchuan/EnableQuery.vue +489 -0
  10. package/src/filiale/tongchuan/FillCardQuery.vue +598 -573
  11. package/src/filiale/tongchuan/FillGasQuery.vue +560 -533
  12. package/src/filiale/tongchuan/HandplanQuery.vue +1358 -1332
  13. package/src/filiale/tongchuan/OtherChargeDetailQuery.vue +74 -0
  14. package/src/filiale/tongchuan/OtherChargeQuery.vue +751 -0
  15. package/src/filiale/tongchuan/PrivilegeQuery.vue +420 -0
  16. package/src/filiale/tongchuan/RecordInfoQuery.vue +1493 -1493
  17. package/src/filiale/tongchuan/ResSelectUserGroup.vue +384 -0
  18. package/src/filiale/tongchuan/ReverseQuery.vue +477 -450
  19. package/src/filiale/tongchuan/TransferQuery.vue +528 -0
  20. package/src/filiale/tongchuan/TransferRecordQuery.vue +202 -0
  21. package/src/filiale/tongchuan/config/exportConfig.js +1102 -918
  22. package/src/filiale/tongchuan/overDueQuery.vue +497 -0
  23. package/src/filiale/tongchuan/priceadjustQuery.vue +560 -0
  24. package/src/filiale/tongchuan/sale.js +36 -0
  25. package/src/filiale/tongchuan/sellingChargePrice.vue +754 -714
  26. package/src/main.js +3 -3
  27. package/src/reportManage.js +4 -0
@@ -1,523 +1,550 @@
1
- <template>
2
- <div id="unit" class="flex-row">
3
- <div class="basic-main" @keyup.enter="search">
4
- <div class="flex" v-if="!show">
5
-
6
- <criteria-paged :model="model" v-ref:paged @sort="sort">
7
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
- <div class="row">
10
- <div class="col-sm-2 form-group">
11
- <label for="startDate" class="font_normal_body" title="停用时间">开始日期</label>
12
- <datepicker id="startDate" placeholder="开始日期" style="width:60%"
13
- v-model="model.startDate"
14
- :value.sync="model.startDate"
15
- :format="'yyyy-MM-dd HH:mm:ss'"
16
- :show-reset-button="true"
17
- condition="f_operate_date >= '{}'">
18
- </datepicker>
19
- </div>
20
- <div class="col-sm-2 form-group">
21
- <label for="endDate" class="font_normal_body" title="停用时间">结束日期</label>
22
- <datepicker id="endDate" placeholder="结束日期" style="width:60%"
23
- v-model="model.endDate"
24
- :value.sync="model.endDate"
25
- :format="'yyyy-MM-dd HH:mm:ss'"
26
- :show-reset-button="true"
27
- condition="f_operate_date <= '{}'">
28
- </datepicker>
29
- </div>
30
- <div class="col-sm-2 form-group">
31
- <label class="font_normal_body">客户编号</label>
32
- <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
33
- condition="f_userinfo_code = '{}' " placeholder="客户编号">
34
- </div>
35
- <div class="col-sm-2 form-group">
36
- <label class="font_normal_body" title="旧客户编号">档案编号</label>
37
- <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
38
- condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
39
- </div>
40
-
41
- <div class="span" style="float:right;">
42
- <button class="button_search button_spacing" @click="search()">查询</button>
43
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
44
- <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
45
-
46
- <export-excel :data="$parent.$parent.getCondition"
47
- :field="$parent.$parent.getfield"
48
- :header="$parent.$parent.other"
49
- sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="disableQuery" template-name='停用查询导出'
50
- :choose-col="true"></export-excel>
51
- <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
52
- :defaultfield="$parent.$parent.defaultfield"
53
- titletable="停用记录"
54
- :sumsmodel="$parent.$parent.sumsmodel"></print-data>
55
- <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
56
- </div>
57
- </div>
58
-
59
- <div class="row" v-show="$parent.$parent.criteriaShow">
60
- <div class="col-sm-2 form-group">
61
- <label class="font_normal_body">客户名称</label>
62
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
63
- condition=" f_user_name like '%{}%'" placeholder='客户名称'>
64
- </div>
65
- <div class="col-sm-2 form-group">
66
- <label class="font_normal_body">客户电话</label>
67
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
68
- condition=" f_user_phone like '%{}%'" placeholder='客户电话'>
69
- </div>
70
- <div class="col-sm-2 form-group">
71
- <label class="font_normal_body">客户地址</label>
72
- <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
73
- condition="f_address like '%{}%'" placeholder='客户地址'>
74
- </div>
75
- <!--<div class="col-sm-2 form-group">-->
76
- <!--<label class="font_normal_body">操作类型</label>-->
77
- <!--<v-select :value.sync="model.f_operat_type"-->
78
- <!--v-model="model.f_operat_type" multiple-->
79
- <!--:options='$parent.$parent.operattype' placeholder='请选择'-->
80
- <!--condition="f_operat_type = '{}'"-->
81
- <!--close-on-select></v-select>-->
82
- <!--</div>-->
83
- <div class="col-sm-2 form-group">
84
- <label class="font_normal_body">表&emsp;&emsp;号</label>
85
- <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
86
- condition="f_meternumber = '{}'" placeholder='表号'>
87
- </div>
88
- <div class="col-sm-2 form-group">
89
- <label class="font_normal_body">卡&emsp;&emsp;号</label>
90
- <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
91
- condition="f_card_id = '{}'" placeholder='卡号'>
92
- </div>
93
- <div class="col-sm-2 form-group">
94
- <label class="font_normal_body">停用原因</label>
95
- <v-select :value.sync="model.f_disable_reason"
96
- v-model="model.f_disable_reason" multiple
97
- :options='$parent.$parent.disablereason' placeholder='请选择'
98
- condition="f_disable_reason in {}"
99
- close-on-select></v-select>
100
- </div>
101
- <div class="col-sm-2 form-group">
102
- <label class="font_normal_body">其他原因</label>
103
- <input type="text" style="width:60%" class="input_search" v-model="model.f_othereason"
104
- condition="f_othereason like '%{}%'" placeholder='其他原因'>
105
- </div>
106
- <div class="col-sm-2 form-group">
107
- <label class="font_normal_body">小&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;区</label>
108
- <v-select class="select_list select"
109
- v-model="model.f_residential_area"
110
- :value.sync="model.f_residential_area"
111
- :options='$parent.$parent.residentialarea'
112
- style="width: 60%"
113
- placeholder='选择小区'
114
- condition="f_residential_area = '{}'"
115
- close-on-select>
116
-
117
- </v-select>
118
- </div>
119
- <div class="col-sm-2 form-group">
120
- <label class="font_normal_body">具体地址</label>
121
- <div class="btn-group select_list select" style="width: 60%;">
122
- <input type="text" style="width: 27%;" placeholder="楼号" class="input_search" v-model="model.f_building" condition="f_building = '{}'"/>&nbsp;-&nbsp;
123
- <input type="text" style="width: 20%;" placeholder="单元" class="input_search" v-model="model.f_unit" condition="f_unit = '{}'"/>&nbsp;-&nbsp;
124
- <input type="text" style="width: 36%;" placeholder="室号" class="input_search" v-model="model.f_room" condition="f_room = '{}'" />
125
- </div>
126
- </div>
127
- <div class="col-sm-2 form-group">
128
- <label class="font_normal_body">气表品牌</label>
129
- <v-select :value.sync="model.f_meter_brand" multiple
130
- v-model="model.f_meter_brand"
131
- :options='$parent.$parent.meterbrands' placeholder='请选择'
132
- condition="f_meter_brand in {}"
133
- close-on-select></v-select>
134
- </div>
135
- <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" :cascade =true v-ref:sel></res-select-group>
136
- </div>
137
- </div>
138
- </criteria>
139
-
140
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
141
- <template partial='head'>
142
- <tr>
143
- <th>
144
- <!-- <nobr>客户编号</nobr>-->
145
- <data-order field="f_userinfo_code" name="客户编号"
146
- :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
147
- </th>
148
- <th>
149
- <nobr>客户名称</nobr>
150
- </th>
151
- <th>
152
- <nobr>档案编号</nobr>
153
- </th>
154
- <th>
155
- <nobr>客户类型</nobr>
156
- </th>
157
- <th>
158
- <nobr>联系电话</nobr>
159
- </th>
160
- <th>
161
- <nobr>用气点名称</nobr>
162
- </th>
163
- <th>
164
- <!-- <nobr>客户地址</nobr>-->
165
- <data-order field="f_address" name="客户地址"
166
- :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
167
- </th>
168
- <th>
169
- <nobr>表号</nobr>
170
- </th>
171
- <th>
172
- <nobr>气表品牌</nobr>
173
- </th>
174
- <th>
175
- <nobr>停用原因</nobr>
176
- </th>
177
- <th>
178
- <nobr>其他原因</nobr>
179
- </th>
180
- <th>
181
- <nobr>状态</nobr>
182
- </th>
183
- <th>
184
- <!-- <nobr>停用日期</nobr>-->
185
- <data-order field="f_operate_date" name="停用日期"
186
- :order.sync="$parent.$parent.$parent.orderFields.f_operate_date"></data-order>
187
- </th>
188
- <th>
189
- <nobr>操作类型</nobr>
190
- </th>
191
- <th>
192
- <nobr>人员</nobr>
193
- </th>
194
- <th>
195
- <nobr>部门</nobr>
196
- </th>
197
- <th>
198
- <nobr>公司</nobr>
199
- </th>
200
- <th><nobr>附件</nobr></th>
201
- </tr>
202
- </template>
203
- <template partial='body'>
204
- <td style="text-align: center;">
205
- <nobr>
206
- <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
207
- </td>
208
- <td style="text-align: center;">
209
- <nobr>{{row.f_user_name}}</nobr>
210
- </td>
211
- <td style="text-align: center;">
212
- <nobr>{{row.f_olduserinfo_code}}</nobr>
213
- </td>
214
- <td style="text-align: center;">
215
- <nobr>{{row.f_user_type}}</nobr>
216
- </td>
217
- <td style="text-align: center;">
218
- <nobr>{{row.f_user_phone}}</nobr>
219
- </td>
220
- <td style="text-align: center;">
221
- <nobr>{{row.f_userfiles_address}}</nobr>
222
- </td>
223
- <td style="text-align: center;">
224
- <nobr>{{row.f_address}}</nobr>
225
- </td>
226
- <td style="text-align: center;">
227
- <nobr>{{row.f_meternumber}}</nobr>
228
- </td>
229
- <td style="text-align: center;">
230
- <nobr>{{row.f_meter_brand}}</nobr>
231
- </td>
232
- <td style="text-align: center;">
233
- <nobr>{{row.f_disable_reason}}</nobr>
234
- </td>
235
- <td style="text-align: center;">
236
- <nobr>{{row.f_othereason}}</nobr>
237
- </td>
238
- <td style="text-align: center;">
239
- <nobr>{{row.f_state}}</nobr>
240
- </td>
241
- <td style="text-align: center;">
242
- <nobr>{{row.f_operate_date}}</nobr>
243
- </td>
244
- <td style="text-align: center;">
245
- <nobr>{{row.f_operat_type}}</nobr>
246
- </td>
247
- <td style="text-align: center;">
248
- <nobr>{{row.f_operator}}</nobr>
249
- </td>
250
- <td style="text-align: center;">
251
- <nobr>{{row.f_depname}}</nobr>
252
- </td>
253
- <td style="text-align: center;">
254
- <nobr>{{row.f_orgname}}</nobr>
255
- </td>
256
- <td style="text-align: center;"><nobr>
257
- <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
258
- </nobr></td>
259
- </template>
260
- <template partial='foot'></template>
261
- </data-grid>
262
- </criteria-paged>
263
-
264
- <!-- <table class="table-hover">-->
265
- <!-- <tr style="position: relative" class="table-bordered">-->
266
- <!-- <td-->
267
- <!-- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">-->
268
- <!-- 汇总信息-->
269
- <!-- </td>-->
270
- <!-- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">合计:&emsp;{{sumsmodel.f_pregas}}</td>-->
271
- <!-- </tr>-->
272
- <!-- </table>-->
273
- </div>
274
- <div class="flex" v-if="show">
275
- <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
276
- </div>
277
- </div>
278
- <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
279
- <article slot="modal-body">
280
- <upload :blodid="selected.f_userinfo_id" v-ref:upload isupload="false" takeimg="false" fusetype="停用" :isremark="false" style="width:auto" ></upload>
281
- </article>
282
- <footer slot="modal-footer" class="modal-footer">
283
- </footer>
284
- </modal>
285
- </div>
286
- </template>
287
-
288
- <script>
289
- import {PagedList} from 'vue-client'
290
- import defaultPrint from '../../components/sale/config/DefaultPrint'
291
- import exportConfig from '../../components/sale/config/exportConfig'
292
-
293
- let readySomething = async function (self) {
294
- self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
295
- self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
296
- self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
297
- // await self.$refs.paged.$refs.cri.search()
298
- //self.$refs.paged.$refs.cri.model.f_sendsuccess = ['有效']
299
- await self.$MagLoadParams.loadParam()
300
- self.initParams()
301
- self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
302
- }
303
- export default {
304
- props:['data','residentialarea'],
305
- title: '停用查询',
306
- data() {
307
- return {
308
- data: {},
309
- other: [],
310
- footer: [],
311
- model: new PagedList('api/af-revenue/sql/disableQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_operate_date desc'`}),
312
- criteriaShow: false,
313
- headData: ["客户编号", "客户名称", "操作人", "操作日期", "停用状态", "停用原因", "其他停用原因", "同步状态"],
314
- bodyData: ["f_userinfo_id", "f_user_name", "f_operator", "f_operate_date", "f_state", "f_comments", "f_othereason", "f_sendsuccess"],
315
- orgCondtionStr: '',
316
- show:false,
317
- rowdata:{},
318
- modelval: [],
319
- printshow: false,
320
- all: false,
321
- fields: {},
322
- config: {
323
- defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_user_phone', 'f_othereason', 'f_state', 'f_operate_date', 'f_operat_type', 'f_operator']
324
- },
325
- //排序
326
- orderitem:'f_operate_date desc',
327
- orderFields: {
328
- f_operate_date: 'no'
329
- },
330
- thead: '',
331
- showupload:false,
332
- selected:{},
333
- //默认打印列
334
- defaultfield: [],
335
- tfoot: '',
336
- initres: {
337
- org:[this.$login.f.orgid],
338
- dep:[],
339
- user:[],
340
- },
341
- //合计数据
342
- sumsmodel: {},
343
- operattype:[{label: '全部', value: ''},{label: '停用', value: '停用'},{label: '拆表', value: '拆表'}],
344
- meterbrands: []
345
- }
346
- },
347
- ready() {
348
- readySomething(this).then(() => {
349
- this.$emit('ready')
350
- }).catch((error) => {
351
- this.$emit('error', error)
352
- })
353
- },
354
- methods: {
355
- view(row){
356
- this.showupload = true
357
- this.selected= row
358
- },
359
- getotherfooter() {
360
- // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
361
- // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
362
- this.other = [];
363
- this.footer = [];
364
- let exportdata = this.getCondition;
365
- let otherInData = [];
366
- otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
367
- let footerData = [], exportfield = this.getfield;
368
- footerData.push("合计");
369
- let self = this;
370
- for (var field in self.sumsmodel) {
371
- footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
372
- }
373
- this.footer.push(footerData);
374
- this.other.push(otherInData);
375
- let date = []
376
- date.push(`起始时间:${this.$refs.paged.$refs.cri.model.startDate}`)
377
- date.push(`终止时间:${this.$refs.paged.$refs.cri.model.endDate}`)
378
- this.other.push(date)
379
- },
380
- search(){
381
- this.$refs.paged.$refs.cri.search()
382
- },
383
- selfSearch(args) {
384
- if (this.data) {
385
- this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
386
- this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
387
- }
388
- args.condition = `${args.condition}` + this.orgCondtionStr
389
- args.condition = args.condition.replace(/f_zones/, "f_slice_area")
390
- this.model.search(args.condition, args.model)
391
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
392
- },
393
- clear() {
394
- //清空部门和人员
395
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
396
- //部门和人员变为全选
397
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
398
- this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
399
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
400
- this.$refs.paged.$refs.cri.model[key] = []
401
- })
402
- },
403
- show() {
404
- this.criteriaShow = true
405
- },
406
- hidden() {
407
- this.criteriaShow = !this.criteriaShow
408
- },
409
- getRes(obj) {
410
- this.orgCondtionStr = obj
411
- },
412
- stamp() {
413
- this.all = false
414
- //默认选择要打印的列
415
- this.modelval = defaultPrint.config
416
- this.fields = this.getfield
417
- console.log('所有打印字段', this.fields)
418
- this.printshow = true
419
- this.put()
420
- },
421
- put() {
422
- // 对Modelval进行排序
423
- this.sortModelval()
424
- this.thead = `<tr><th colspan=${this.modelval.length}>停用查询报表</th></tr><tr>`
425
- for (let key of this.modelval) {
426
- this.thead += '<th>' + this.fields[key] + '</th>'
427
- }
428
- this.thead += '</tr>'
429
- },
430
- cancel() {
431
- this.show = false
432
- },
433
- dealmsg(val) {
434
- console.log('---------------dealmsg')
435
- this.rowdata=val
436
- this.show=true
437
- val.model = this.model.model
438
- this.$dispatch('deal-msg', val)
439
- },
440
- print() {
441
- this.$refs.print.PrintAsFile()
442
- this.printshow = false
443
- },
444
- close() {
445
- this.printshow = false
446
- this.all = false
447
- },
448
- // 对选择的列进行排序
449
- sortModelval() {
450
- let sortModel = []
451
- Object.keys(this.fields).forEach((key) => {
452
- if (this.modelval.includes(key)) {
453
- sortModel.push(key)
454
- }
455
- })
456
- this.modelval = sortModel
457
- console.log('选择的打印的字段', this.modelval)
458
- },
459
- sort (field, rule) {
460
- // 将所有排序方式设为不排序,实现相互排斥
461
- for (let key in this.orderFields) {
462
- if (key === field) {
463
- this.orderFields[key] = rule
464
- } else {
465
- this.orderFields[key] = 'no'
466
- }
467
- }
468
- // 如果新规则不排序,还原为默认排序
469
- if (rule === 'no') {
470
- this.model.paramSource.orderitem = `'${this.orderitem}'`
471
- } else {
472
- this.model.paramSource.orderitem = `'${field} ${rule}'`
473
- }
474
-
475
- this.search()
476
- },
477
- initParams() {
478
- // 初始化气表品牌
479
- let brandArr = []
480
- this.$MagGetSaleParam.getGasbrand().forEach((item) => {
481
- let temp = {}
482
- temp.label = item.label
483
- temp.value = item.value.f_meter_brand
484
- brandArr.push(temp)
485
- })
486
- this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
487
- }
488
- },
489
- watch: {
490
- 'all'(val) {
491
- if (val) {
492
- this.modelval = this.bodyData
493
- } else {
494
- this.modelval = defaultPrint.config
495
- this.put()
496
- }
497
- },
498
- sumsmodel: {
499
- handler: function (val) {
500
- this.getotherfooter();
501
- },
502
- deep: true
503
- },
504
- 'modelval.length'() {
505
- this.put()
506
- },
507
- },
508
- computed: {
509
- getCondition() {
510
- return {
511
- condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
512
- orderitem: this.orderitem?`${this.orderitem}`: " f_operate_date desc"
513
- }
514
- },
515
- getfield() {
516
- return exportConfig.disableConfig
517
- },
518
- disablereason () {
519
- return this.$appdata.getParam('停用原因')
520
- }
521
- }
522
- }
523
- </script>
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex" v-if="!show">
5
+
6
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
7
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
+ <div class="row">
10
+ <div class="col-sm-2 form-group">
11
+ <label for="startDate" class="font_normal_body" title="停用时间">开始日期</label>
12
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
13
+ v-model="model.startDate"
14
+ :value.sync="model.startDate"
15
+ :format="'yyyy-MM-dd HH:mm:ss'"
16
+ :show-reset-button="true"
17
+ condition="f_operate_date >= '{}'">
18
+ </datepicker>
19
+ </div>
20
+ <div class="col-sm-2 form-group">
21
+ <label for="endDate" class="font_normal_body" title="停用时间">结束日期</label>
22
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
23
+ v-model="model.endDate"
24
+ :value.sync="model.endDate"
25
+ :format="'yyyy-MM-dd HH:mm:ss'"
26
+ :show-reset-button="true"
27
+ condition="f_operate_date <= '{}'">
28
+ </datepicker>
29
+ </div>
30
+ <div class="col-sm-2 form-group">
31
+ <label class="font_normal_body">客户编号</label>
32
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
33
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
34
+ </div>
35
+ <div class="col-sm-2 form-group">
36
+ <label class="font_normal_body" title="旧客户编号">档案编号</label>
37
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
38
+ condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
39
+ </div>
40
+
41
+ <div class="span" style="float:right;">
42
+ <button class="button_search button_spacing" @click="search()">查询</button>
43
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
44
+ <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
45
+
46
+ <export-excel :data="$parent.$parent.getCondition"
47
+ :field="$parent.$parent.getfield"
48
+ :header="$parent.$parent.other"
49
+ sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="disableQuery" template-name='停用查询导出'
50
+ :choose-col="true"></export-excel>
51
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
52
+ :defaultfield="$parent.$parent.defaultfield"
53
+ titletable="停用记录"
54
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
55
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
56
+ </div>
57
+ </div>
58
+
59
+ <div class="row" v-show="$parent.$parent.criteriaShow">
60
+ <div class="col-sm-2 form-group">
61
+ <label class="font_normal_body">客户名称</label>
62
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
63
+ condition=" f_user_name like '%{}%'" placeholder='客户名称'>
64
+ </div>
65
+ <div class="col-sm-2 form-group">
66
+ <label class="font_normal_body">客户电话</label>
67
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
68
+ condition=" f_user_phone like '%{}%'" placeholder='客户电话'>
69
+ </div>
70
+ <div class="col-sm-2 form-group">
71
+ <label class="font_normal_body">客户地址</label>
72
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
73
+ condition="f_address like '%{}%'" placeholder='客户地址'>
74
+ </div>
75
+ <!--<div class="col-sm-2 form-group">-->
76
+ <!--<label class="font_normal_body">操作类型</label>-->
77
+ <!--<v-select :value.sync="model.f_operat_type"-->
78
+ <!--v-model="model.f_operat_type" multiple-->
79
+ <!--:options='$parent.$parent.operattype' placeholder='请选择'-->
80
+ <!--condition="f_operat_type = '{}'"-->
81
+ <!--close-on-select></v-select>-->
82
+ <!--</div>-->
83
+ <div class="col-sm-2 form-group">
84
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
85
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
86
+ condition="f_meternumber = '{}'" placeholder='表号'>
87
+ </div>
88
+ <div class="col-sm-2 form-group">
89
+ <label class="font_normal_body">卡&emsp;&emsp;号</label>
90
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
91
+ condition="f_card_id = '{}'" placeholder='卡号'>
92
+ </div>
93
+ <div class="col-sm-2 form-group">
94
+ <label class="font_normal_body">停用原因</label>
95
+ <v-select :value.sync="model.f_disable_reason"
96
+ v-model="model.f_disable_reason" multiple
97
+ :options='$parent.$parent.disablereason' placeholder='请选择'
98
+ condition="f_disable_reason in {}"
99
+ close-on-select></v-select>
100
+ </div>
101
+ <div class="col-sm-2 form-group">
102
+ <label class="font_normal_body">其他原因</label>
103
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_othereason"
104
+ condition="f_othereason like '%{}%'" placeholder='其他原因'>
105
+ </div>
106
+ <div class="col-sm-2 form-group">
107
+ <label class="font_normal_body">小&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;区</label>
108
+ <v-select class="select_list select"
109
+ v-model="model.f_residential_area"
110
+ :value.sync="model.f_residential_area"
111
+ :options='$parent.$parent.residentialarea'
112
+ style="width: 60%"
113
+ placeholder='选择小区'
114
+ condition="f_residential_area = '{}'"
115
+ close-on-select>
116
+
117
+ </v-select>
118
+ </div>
119
+ <div class="col-sm-2 form-group">
120
+ <label class="font_normal_body">具体地址</label>
121
+ <div class="btn-group select_list select" style="width: 60%;">
122
+ <input type="text" style="width: 27%;" placeholder="楼号" class="input_search" v-model="model.f_building" condition="f_building = '{}'"/>&nbsp;-&nbsp;
123
+ <input type="text" style="width: 20%;" placeholder="单元" class="input_search" v-model="model.f_unit" condition="f_unit = '{}'"/>&nbsp;-&nbsp;
124
+ <input type="text" style="width: 36%;" placeholder="室号" class="input_search" v-model="model.f_room" condition="f_room = '{}'" />
125
+ </div>
126
+ </div>
127
+ <div class="col-sm-2 form-group">
128
+ <label class="font_normal_body">气表品牌</label>
129
+ <v-select :value.sync="model.f_meter_brand"
130
+ v-model="model.f_meter_brand"
131
+ :options='$parent.$parent.meterbrands' placeholder='请选择'
132
+ condition="f_meter_brand = '{}'"
133
+ close-on-select></v-select>
134
+ </div>
135
+ <res-select-user-group
136
+ :operator-initres="$parent.$parent.initres"
137
+ :user-initres="$parent.$parent.userInitres"
138
+ :show-component="['company','department','operator','slicearea','user_company']"
139
+ @re-res="$parent.$parent.getRes"
140
+ @re-us-res="$parent.$parent.getUserRes"
141
+ v-ref:usersel>
142
+ </res-select-user-group>
143
+ </div>
144
+ </div>
145
+ </criteria>
146
+
147
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
148
+ <template partial='head'>
149
+ <tr>
150
+ <th>
151
+ <!-- <nobr>客户编号</nobr>-->
152
+ <data-order field="f_userinfo_code" name="客户编号"
153
+ :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
154
+ </th>
155
+ <th>
156
+ <nobr>客户名称</nobr>
157
+ </th>
158
+ <th>
159
+ <nobr>档案编号</nobr>
160
+ </th>
161
+ <th>
162
+ <nobr>客户类型</nobr>
163
+ </th>
164
+ <th>
165
+ <nobr>联系电话</nobr>
166
+ </th>
167
+ <th>
168
+ <nobr>用气点名称</nobr>
169
+ </th>
170
+ <th>
171
+ <!-- <nobr>客户地址</nobr>-->
172
+ <data-order field="f_address" name="客户地址"
173
+ :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
174
+ </th>
175
+ <th>
176
+ <nobr>表号</nobr>
177
+ </th>
178
+ <th>
179
+ <nobr>气表品牌</nobr>
180
+ </th>
181
+ <th>
182
+ <nobr>停用原因</nobr>
183
+ </th>
184
+ <th>
185
+ <nobr>其他原因</nobr>
186
+ </th>
187
+ <th>
188
+ <nobr>状态</nobr>
189
+ </th>
190
+ <th>
191
+ <!-- <nobr>停用日期</nobr>-->
192
+ <data-order field="f_operate_date" name="停用日期"
193
+ :order.sync="$parent.$parent.$parent.orderFields.f_operate_date"></data-order>
194
+ </th>
195
+ <th>
196
+ <nobr>操作类型</nobr>
197
+ </th>
198
+ <th>
199
+ <nobr>操作员人员</nobr>
200
+ </th>
201
+ <th>
202
+ <nobr>操作员部门</nobr>
203
+ </th>
204
+ <th>
205
+ <nobr>操作员公司</nobr>
206
+ </th>
207
+ <th>
208
+ <nobr>用户公司</nobr>
209
+ </th>
210
+ <th><nobr>附件</nobr></th>
211
+ </tr>
212
+ </template>
213
+ <template partial='body'>
214
+ <td style="text-align: center;">
215
+ <nobr>
216
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
217
+ </td>
218
+ <td style="text-align: center;">
219
+ <nobr>{{row.f_user_name}}</nobr>
220
+ </td>
221
+ <td style="text-align: center;">
222
+ <nobr>{{row.f_olduserinfo_code}}</nobr>
223
+ </td>
224
+ <td style="text-align: center;">
225
+ <nobr>{{row.f_user_type}}</nobr>
226
+ </td>
227
+ <td style="text-align: center;">
228
+ <nobr>{{row.f_user_phone}}</nobr>
229
+ </td>
230
+ <td style="text-align: center;">
231
+ <nobr>{{row.f_userfiles_address}}</nobr>
232
+ </td>
233
+ <td style="text-align: center;">
234
+ <nobr>{{row.f_address}}</nobr>
235
+ </td>
236
+ <td style="text-align: center;">
237
+ <nobr>{{row.f_meternumber}}</nobr>
238
+ </td>
239
+ <td style="text-align: center;">
240
+ <nobr>{{row.f_meter_brand}}</nobr>
241
+ </td>
242
+ <td style="text-align: center;">
243
+ <nobr>{{row.f_disable_reason}}</nobr>
244
+ </td>
245
+ <td style="text-align: center;">
246
+ <nobr>{{row.f_othereason}}</nobr>
247
+ </td>
248
+ <td style="text-align: center;">
249
+ <nobr>{{row.f_state}}</nobr>
250
+ </td>
251
+ <td style="text-align: center;">
252
+ <nobr>{{row.f_operate_date}}</nobr>
253
+ </td>
254
+ <td style="text-align: center;">
255
+ <nobr>{{row.f_operat_type}}</nobr>
256
+ </td>
257
+ <td style="text-align: center;">
258
+ <nobr>{{row.f_operator}}</nobr>
259
+ </td>
260
+ <td style="text-align: center;">
261
+ <nobr>{{row.f_depname}}</nobr>
262
+ </td>
263
+ <td style="text-align: center;">
264
+ <nobr>{{row.f_orgname}}</nobr>
265
+ </td>
266
+ <td style="text-align: center;">
267
+ <nobr>{{row.f_us_orgname}}</nobr>
268
+ </td>
269
+ <td style="text-align: center;"><nobr>
270
+ <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
271
+ </nobr></td>
272
+ </template>
273
+ <template partial='foot'></template>
274
+ </data-grid>
275
+ </criteria-paged>
276
+
277
+ <!-- <table class="table-hover">-->
278
+ <!-- <tr style="position: relative" class="table-bordered">-->
279
+ <!-- <td-->
280
+ <!-- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">-->
281
+ <!-- 汇总信息-->
282
+ <!-- </td>-->
283
+ <!-- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">合计:&emsp;{{sumsmodel.f_pregas}}</td>-->
284
+ <!-- </tr>-->
285
+ <!-- </table>-->
286
+ </div>
287
+ <div class="flex" v-if="show">
288
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
289
+ </div>
290
+ </div>
291
+ <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
292
+ <article slot="modal-body">
293
+ <upload :blodid="selected.f_userinfo_id" v-ref:upload isupload="false" takeimg="false" fusetype="停用" :isremark="false" style="width:auto" ></upload>
294
+ </article>
295
+ <footer slot="modal-footer" class="modal-footer">
296
+ </footer>
297
+ </modal>
298
+ </div>
299
+ </template>
300
+
301
+ <script>
302
+ import {PagedList} from 'vue-client'
303
+ import defaultPrint from './config/DefaultPrint'
304
+ import exportConfig from './config/exportConfig'
305
+ import ResSelectUserGroup from './ResSelectUserGroup.vue'
306
+
307
+ let readySomething = async function (self) {
308
+ self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
309
+ self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
310
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
311
+ // await self.$refs.paged.$refs.cri.search()
312
+ //self.$refs.paged.$refs.cri.model.f_sendsuccess = ['有效']
313
+ await self.$MagLoadParams.loadParam()
314
+ self.initParams()
315
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
316
+ }
317
+ export default {
318
+ components: {
319
+ 'res-select-user-group': ResSelectUserGroup
320
+ },
321
+ props:['data','residentialarea'],
322
+ title: '停用查询',
323
+ data() {
324
+ return {
325
+ data: {},
326
+ other: [],
327
+ footer: [],
328
+ model: new PagedList('api/af-revenue/sql/disableQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_operate_date desc'`}),
329
+ criteriaShow: false,
330
+ headData: ["客户编号", "客户名称", "操作人", "操作日期", "停用状态", "停用原因", "其他停用原因", "同步状态"],
331
+ bodyData: ["f_userinfo_id", "f_user_name", "f_operator", "f_operate_date", "f_state", "f_comments", "f_othereason", "f_sendsuccess"],
332
+ orgCondtionStr: '',
333
+ show:false,
334
+ rowdata:{},
335
+ modelval: [],
336
+ printshow: false,
337
+ all: false,
338
+ fields: {},
339
+ config: {
340
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_user_phone', 'f_othereason', 'f_state', 'f_operate_date', 'f_operat_type', 'f_operator']
341
+ },
342
+ //排序
343
+ orderitem:'f_operate_date desc',
344
+ orderFields: {
345
+ f_operate_date: 'no'
346
+ },
347
+ thead: '',
348
+ showupload:false,
349
+ selected:{},
350
+ //默认打印列
351
+ defaultfield: [],
352
+ tfoot: '',
353
+ userOrgConditionStr: '',
354
+ initres: {
355
+ org:[this.$login.f.orgid],
356
+ dep:[],
357
+ user:[],
358
+ },
359
+ userInitres: {
360
+ org: [],
361
+ dep: [],
362
+ user: []
363
+ },
364
+ //合计数据
365
+ sumsmodel: {},
366
+ operattype:[{label: '全部', value: ''},{label: '停用', value: '停用'},{label: '拆表', value: '拆表'}],
367
+ meterbrands: []
368
+ }
369
+ },
370
+ ready() {
371
+ readySomething(this).then(() => {
372
+ this.$emit('ready')
373
+ }).catch((error) => {
374
+ this.$emit('error', error)
375
+ })
376
+ },
377
+ methods: {
378
+ view(row){
379
+ this.showupload = true
380
+ this.selected= row
381
+ },
382
+ getotherfooter() {
383
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
384
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
385
+ this.other = [];
386
+ this.footer = [];
387
+ let exportdata = this.getCondition;
388
+ let otherInData = [];
389
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
390
+ let footerData = [], exportfield = this.getfield;
391
+ footerData.push("合计");
392
+ let self = this;
393
+ for (var field in self.sumsmodel) {
394
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
395
+ }
396
+ this.footer.push(footerData);
397
+ this.other.push(otherInData);
398
+ let date = []
399
+ date.push(`起始时间:${this.$refs.paged.$refs.cri.model.startDate}`)
400
+ date.push(`终止时间:${this.$refs.paged.$refs.cri.model.endDate}`)
401
+ this.other.push(date)
402
+ },
403
+ search(){
404
+ this.$refs.paged.$refs.cri.search()
405
+ },
406
+ selfSearch(args) {
407
+ if (this.data) {
408
+ this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
409
+ this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
410
+ }
411
+ args.condition = `${args.condition}` + this.orgCondtionStr + this.userOrgConditionStr
412
+ args.condition = args.condition.replace(/f_zones/, "f_slice_area")
413
+ this.model.search(args.condition, args.model)
414
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
415
+ },
416
+ clear() {
417
+ // 清空组织、片区、人员
418
+ if (this.$refs.paged.$refs.cri.$refs.usersel && this.$refs.paged.$refs.cri.$refs.usersel.resetAll) {
419
+ this.$refs.paged.$refs.cri.$refs.usersel.resetAll()
420
+ }
421
+ this.orgCondtionStr = ''
422
+ this.userOrgConditionStr = ''
423
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
424
+ this.$refs.paged.$refs.cri.model[key] = []
425
+ })
426
+ },
427
+ show() {
428
+ this.criteriaShow = true
429
+ },
430
+ hidden() {
431
+ this.criteriaShow = !this.criteriaShow
432
+ },
433
+ getRes(obj) {
434
+ this.orgCondtionStr = obj
435
+ },
436
+ getUserRes (condition) {
437
+ this.userOrgConditionStr = condition
438
+ },
439
+ stamp() {
440
+ this.all = false
441
+ //默认选择要打印的列
442
+ this.modelval = defaultPrint.config
443
+ this.fields = this.getfield
444
+ console.log('所有打印字段', this.fields)
445
+ this.printshow = true
446
+ this.put()
447
+ },
448
+ put() {
449
+ // 对Modelval进行排序
450
+ this.sortModelval()
451
+ this.thead = `<tr><th colspan=${this.modelval.length}>停用查询报表</th></tr><tr>`
452
+ for (let key of this.modelval) {
453
+ this.thead += '<th>' + this.fields[key] + '</th>'
454
+ }
455
+ this.thead += '</tr>'
456
+ },
457
+ cancel() {
458
+ this.show = false
459
+ },
460
+ dealmsg(val) {
461
+ console.log('---------------dealmsg')
462
+ this.rowdata=val
463
+ this.show=true
464
+ val.model = this.model.model
465
+ this.$dispatch('deal-msg', val)
466
+ },
467
+ print() {
468
+ this.$refs.print.PrintAsFile()
469
+ this.printshow = false
470
+ },
471
+ close() {
472
+ this.printshow = false
473
+ this.all = false
474
+ },
475
+ // 对选择的列进行排序
476
+ sortModelval() {
477
+ let sortModel = []
478
+ Object.keys(this.fields).forEach((key) => {
479
+ if (this.modelval.includes(key)) {
480
+ sortModel.push(key)
481
+ }
482
+ })
483
+ this.modelval = sortModel
484
+ console.log('选择的打印的字段', this.modelval)
485
+ },
486
+ sort (field, rule) {
487
+ // 将所有排序方式设为不排序,实现相互排斥
488
+ for (let key in this.orderFields) {
489
+ if (key === field) {
490
+ this.orderFields[key] = rule
491
+ } else {
492
+ this.orderFields[key] = 'no'
493
+ }
494
+ }
495
+ // 如果新规则不排序,还原为默认排序
496
+ if (rule === 'no') {
497
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
498
+ } else {
499
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
500
+ }
501
+
502
+ this.search()
503
+ },
504
+ initParams() {
505
+ // 初始化气表品牌
506
+ let brandArr = []
507
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
508
+ let temp = {}
509
+ temp.label = item.label
510
+ temp.value = item.value.f_meter_brand
511
+ brandArr.push(temp)
512
+ })
513
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
514
+ }
515
+ },
516
+ watch: {
517
+ 'all'(val) {
518
+ if (val) {
519
+ this.modelval = this.bodyData
520
+ } else {
521
+ this.modelval = defaultPrint.config
522
+ this.put()
523
+ }
524
+ },
525
+ sumsmodel: {
526
+ handler: function (val) {
527
+ this.getotherfooter();
528
+ },
529
+ deep: true
530
+ },
531
+ 'modelval.length'() {
532
+ this.put()
533
+ },
534
+ },
535
+ computed: {
536
+ getCondition() {
537
+ return {
538
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr + this.userOrgConditionStr,
539
+ orderitem: this.orderitem?`${this.orderitem}`: " f_operate_date desc"
540
+ }
541
+ },
542
+ getfield() {
543
+ return exportConfig.disableConfig
544
+ },
545
+ disablereason () {
546
+ return this.$appdata.getParam('停用原因')
547
+ }
548
+ }
549
+ }
550
+ </script>