manage-client 3.3.189 → 3.3.191

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manage-client",
3
- "version": "3.3.189",
3
+ "version": "3.3.191",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -293,6 +293,10 @@
293
293
  }
294
294
  this.footer.push(footerData);
295
295
  this.other.push(otherInData);
296
+ let date = []
297
+ date.push(`起始时间:${this.$refs.paged.$refs.cri.model.startDate}`)
298
+ date.push(`终止时间:${this.$refs.paged.$refs.cri.model.endDate}`)
299
+ this.other.push(date)
296
300
  },
297
301
  search(){
298
302
  this.$refs.paged.$refs.cri.search()
@@ -394,9 +394,6 @@
394
394
  <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
395
395
  补气金额合计:&emsp;{{sumsmodel.f_remanent_money}}
396
396
  </td>
397
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
398
- 户数合计:&emsp;{{sumsmodel.hushu}}
399
- </td>
400
397
  </tr>
401
398
  </table>
402
399
  <!--<colligate-details :showinfo="showinfo" :businesstype="businesstype" :data="data" @close-info="showinfo=false"></colligate-details>-->
@@ -463,7 +460,7 @@
463
460
  footer:[],
464
461
  meterbrands: [],
465
462
  pricenames: [],
466
- model: new PagedList('api/af-revenue/sql/changeMeterQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_operate_date desc'`}, {f_balance_amount: 0,f_changemeter_fee: 0,f_remanent_money:0,f_remanent_gas:0,hushu:0}),
463
+ model: new PagedList('api/af-revenue/sql/changeMeterQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_operate_date desc'`}, {f_balance_amount: 0,f_changemeter_fee: 0,f_remanent_money:0,f_remanent_gas:0}),
467
464
  criteriaShow: false,
468
465
  orgCondtionStr: '',
469
466
  modelval: [],
@@ -536,6 +533,10 @@
536
533
  }
537
534
  this.footer.push(footerData);
538
535
  this.other.push(otherInData);
536
+ let date = []
537
+ date.push(`起始时间:${this.$refs.paged.$refs.cri.model.startDate}`)
538
+ date.push(`终止时间:${this.$refs.paged.$refs.cri.model.endDate}`)
539
+ this.other.push(date)
539
540
  },
540
541
  async initParams() {
541
542
  // 初始化气表品牌
@@ -372,6 +372,10 @@
372
372
  }
373
373
  this.footer.push(footerData);
374
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)
375
379
  },
376
380
  search(){
377
381
  this.$refs.paged.$refs.cri.search()
@@ -326,6 +326,10 @@
326
326
  }
327
327
  this.footer.push(footerData);
328
328
  this.other.push(otherInData);
329
+ let date = []
330
+ date.push(`起始时间:${this.$refs.paged.$refs.cri.model.startDate}`)
331
+ date.push(`终止时间:${this.$refs.paged.$refs.cri.model.endDate}`)
332
+ this.other.push(date)
329
333
  },
330
334
  search() {
331
335
  this.$refs.paged.$refs.cri.search()
@@ -383,6 +383,10 @@
383
383
  }
384
384
  this.footer.push(footerData);
385
385
  this.other.push(otherInData);
386
+ let date = []
387
+ date.push(`起始时间:${this.$refs.paged.$refs.cri.model.startDate}`)
388
+ date.push(`终止时间:${this.$refs.paged.$refs.cri.model.endDate}`)
389
+ this.other.push(date)
386
390
  },
387
391
  search(){
388
392
  this.$refs.paged.$refs.cri.search()
@@ -396,6 +396,10 @@
396
396
  }
397
397
  this.footer.push(footerData);
398
398
  this.other.push(otherInData);
399
+ let date = []
400
+ date.push(`起始时间:${this.$refs.paged.$refs.cri.model.startDate}`)
401
+ date.push(`终止时间:${this.$refs.paged.$refs.cri.model.endDate}`)
402
+ this.other.push(date)
399
403
  },
400
404
  sort (field, rule) {
401
405
  // 将所有排序方式设为不排序,实现相互排斥
@@ -1446,6 +1446,28 @@ export default {
1446
1446
  'f_scgas': '实抄气量',
1447
1447
  'f_scfee': '实抄金额'
1448
1448
  },
1449
+ webhandplanMonthConfig: {
1450
+ 'f_userinfo_code': '客户编号',
1451
+ 'f_user_name': '客户名称',
1452
+ 'f_user_phone': '客户电话',
1453
+ 'f_user_state': '客户状态',
1454
+ 'f_meter_classify': '气表类型',
1455
+ 'f_meternumber': '表号',
1456
+ 'f_user_type': '客户类型',
1457
+ 'f_gasproperties': '用气性质',
1458
+ 'f_table_state': '气表状态',
1459
+ 'f_hand_date': '所属月份',
1460
+ 'f_start_date': '期初上报时间',
1461
+ 'f_end_date': '期末上报时间',
1462
+ 'f_balance': '期初余额',
1463
+ 'f_last_tablebase': '上期底数',
1464
+ 'f_tablebase': '本期底数',
1465
+ 'f_oughtamount': '用气量',
1466
+ 'f_oughtfee': '用气金额',
1467
+ 'f_collection': '期间实收金额',
1468
+ 'f_curbalance': '期末余额',
1469
+ 'f_orgname': '公司'
1470
+ },
1449
1471
  webmetermonthGasConfig: {
1450
1472
  'f_userinfo_code': '用户编号',
1451
1473
  'f_user_name': '用户姓名',
@@ -39,6 +39,9 @@
39
39
  <tabs header="物联网表结算分析" v-if="newWebHand &&permission('物联网表结算分析')">
40
40
  <new-webmeter-settlement-analysis v-if="show.includes('物联网表结算分析')"></new-webmeter-settlement-analysis>
41
41
  </tabs>
42
+ <tabs header="物联用户月度结算查询" v-if="permission('物联用户月度结算查询')">
43
+ <webhand-month-gas v-if="show.includes('物联用户月度结算查询')"></webhand-month-gas>
44
+ </tabs>
42
45
  </tab-button>
43
46
 
44
47
  </template>
@@ -0,0 +1,816 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search" v-if="!show">
4
+ <div class="flex">
5
+
6
+ <criteria-paged :model="model" @sort="sort" v-ref:paged>
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">
11
+ <label class="font_normal_body">组织机构</label>
12
+ <res-select :initresid="$parent.$parent.org"
13
+ style="width:60%"
14
+ @res-select="$parent.$parent.getorg"
15
+ :is-mul=false
16
+ restype='organization'>
17
+ </res-select>
18
+ </div>
19
+ <div class="col-sm-2 form-group">
20
+ <label class="font_normal_body">客户编号</label>
21
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
22
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
23
+ </div>
24
+ <div class="col-sm-2 form-group">
25
+ <label class="font_normal_body">客户名称</label>
26
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
27
+ condition="f_user_name = '{}'" placeholder="客户名称">
28
+ </div>
29
+ <div class="span" style="float:right;">
30
+ <button class="button_search button_spacing" @click="search()">查询</button>
31
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
32
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
33
+ :field="$parent.$parent.getfield" :header="$parent.$parent.other"
34
+ sqlurl="rs/easyExcel/exportExcel" sql-name="GetWebhandMonthGas" template-name='物联用户月度结算查询导出'
35
+ :choose-col="true"></export-excel>
36
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
37
+ :defaultfield="$parent.$parent.defaultfield" print-name="物联用户月度结算查询打印"
38
+ titletable="物联用户月度结算查询"
39
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
40
+
41
+ <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>
42
+ </div>
43
+ </div>
44
+ <div class="row" v-show="$parent.$parent.criteriaShow">
45
+ <!-- <res-select-group :initres="$parent.$parent.initres" :show-component="$parent.$parent.showComponent" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>-->
46
+
47
+ <div class="col-sm-2 form-group">
48
+ <label for="startDate" class="font_normal_body">抄表日期</label>
49
+ <datepicker id="handStartDate" placeholder="开始日期" style="width:60%"
50
+ v-model="model.handStartDate"
51
+ :value.sync="model.handStartDate"
52
+ :format="'yyyy-MM-dd 00:00:00'"
53
+ :show-reset-button="true"
54
+ >
55
+ </datepicker>
56
+ </div>
57
+ <div class="col-sm-2 form-group">
58
+ <label for="endDate" class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
59
+ <datepicker id="handEndDate" placeholder="结束日期" style="width:60%"
60
+ v-model="model.handEndDate"
61
+ :value.sync="model.handEndDate"
62
+ :format="'yyyy-MM-dd 23:59:59'"
63
+ :show-reset-button="true"
64
+ >
65
+ </datepicker>
66
+ </div>
67
+ <!-- <div class="col-sm-2 form-group">-->
68
+ <!-- <label class="font_normal_body">抄表状态</label>-->
69
+ <!-- <v-select :value.sync="model.f_meter_state"-->
70
+ <!-- v-model="model.f_meter_state"-->
71
+ <!-- :options='$parent.$parent.meterstate' placeholder='请选择'-->
72
+ <!-- condition="f_meter_state = '{}'"-->
73
+ <!-- close-on-select></v-select>-->
74
+ <!-- </div>-->
75
+ <!-- <div class="col-sm-2 form-group">-->
76
+ <!-- <label class="font_normal_body">表单状态</label>-->
77
+ <!-- <v-select :value.sync="model.f_hand_state"-->
78
+ <!-- v-model="model.f_hand_state"-->
79
+ <!-- :options='$parent.$parent.handstate' placeholder='请选择'-->
80
+ <!-- condition="f_hand_state = '{}'"-->
81
+ <!-- close-on-select></v-select>-->
82
+ <!-- </div>-->
83
+ <!-- <div class="col-sm-2 form-group">-->
84
+ <!-- <label for="startDate" class="font_normal_body">录入日期</label>-->
85
+ <!-- <datepicker id="startDate" placeholder="开始日期" style="width:60%"-->
86
+ <!-- v-model="model.startDate"-->
87
+ <!-- :value.sync="model.startDate"-->
88
+ <!-- :format="'yyyy-MM-dd HH:mm:ss'"-->
89
+ <!-- :show-reset-button="true"-->
90
+ <!-- condition="f_input_date >= '{}'">-->
91
+ <!-- </datepicker>-->
92
+ <!-- </div>-->
93
+ <!-- <div class="col-sm-2 form-group">-->
94
+ <!-- <label for="endDate" class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;&ensp;</label>-->
95
+ <!-- <datepicker id="endDate" placeholder="结束日期" style="width:60%"-->
96
+ <!-- v-model="model.endDate"-->
97
+ <!-- :value.sync="model.endDate"-->
98
+ <!-- :format="'yyyy-MM-dd HH:mm:ss'"-->
99
+ <!-- :show-reset-button="true"-->
100
+ <!-- condition="f_input_date <= '{}'">-->
101
+ <!-- </datepicker>-->
102
+ <!-- </div>-->
103
+
104
+
105
+ <!-- <div class="col-sm-2 form-group">-->
106
+ <!-- <label class="font_normal_body">小区名称</label>-->
107
+ <!-- <v-select :value.sync="model.f_residential_area"-->
108
+ <!-- class="select_list select"-->
109
+ <!-- enter-push-->
110
+ <!-- multiple = "true"-->
111
+ <!-- v-model="model.f_residential_area"-->
112
+ <!-- style="width: 60%"-->
113
+ <!-- :options='$parent.$parent.residentialArea' placeholder='选择小区'-->
114
+ <!-- close-on-select>-->
115
+
116
+ <!-- </v-select>-->
117
+ <!-- </div>-->
118
+ <!-- <div class="col-sm-2 form-group">-->
119
+ <!-- <label class="font_normal_body">客户地址</label>-->
120
+ <!-- <input type="text" style="width:60%" class="input_search" v-model="model.f_address"-->
121
+ <!-- condition="f_address like '%{}%'" placeholder='客户地址'>-->
122
+ <!-- </div>-->
123
+ <!-- <div class="col-sm-2 form-group">-->
124
+ <!-- <label class="font_normal_body">录入人员</label>-->
125
+ <!-- <input type="text" style="width:60%" class="input_search" v-model="model.f_input_person"-->
126
+ <!-- condition="f_input_person like '%{}%'" placeholder='录入人员'>-->
127
+ <!-- </div>-->
128
+
129
+ <div class="col-sm-2 form-group">
130
+ <label class="font_normal_body">客户类型</label>
131
+ <v-select :value.sync="model.f_user_type"
132
+ @change="$parent.$parent.userTypeChange()"
133
+ :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
134
+ condition="f_user_type = '{}'"
135
+ close-on-select></v-select>
136
+ </div>
137
+ <div class="col-sm-2 form-group">
138
+ <label class="font_normal_body">用气性质</label>
139
+ <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
140
+ :options='$parent.$parent.gasproperties' placeholder='请选择'
141
+ condition="f_gasproperties = '{}'"
142
+ close-on-select></v-select>
143
+ </div>
144
+ <!-- <div class="col-sm-2 form-group">-->
145
+ <!-- <label class="font_normal_body">气价类型</label>-->
146
+ <!-- <v-select :value.sync="model.pricetype" v-model="model.pricetype"-->
147
+ <!-- placeholder='气价类型' :options="$parent.$parent.pricetypes"-->
148
+ <!-- close-on-select v-ref:type>-->
149
+ <!-- </v-select>-->
150
+ <!-- </div>-->
151
+ <!-- <div class="col-sm-2 form-group">-->
152
+ <!-- <label class="font_normal_body">气价名称</label>-->
153
+ <!-- <v-select :value.sync="model.f_price_name"-->
154
+ <!-- v-model="model.f_price_name"-->
155
+ <!-- :options="$parent.$parent.getPricenames"-->
156
+ <!-- condition="f_price_name = '{}'"-->
157
+ <!-- close-on-select></v-select>-->
158
+ <!-- </div>-->
159
+ <div class="col-sm-2 form-group">
160
+ <label class="font_normal_body">用&ensp;气&ensp;量</label>
161
+ <input type="text" style="width:30%" class="input_search" title="大于等于"
162
+ v-model="model.f_oughtamount_big" condition="f_oughtamount >= {}" placeholder='大于等于'>
163
+ <input type="text" style="width:30%" class="input_search" title="小于等于"
164
+ v-model="model.f_oughtamount_small" condition="f_oughtamount <= {}" placeholder='小于等于'>
165
+ </div>
166
+ <div class="col-sm-2 form-group">
167
+ <label class="font_normal_body">&ensp;表&ensp;号&ensp;&ensp;</label>
168
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
169
+ condition="f_meternumber = '{}' " placeholder="表号">
170
+ </div>
171
+ <!-- <div class="col-sm-2 form-group">-->
172
+ <!-- <label class="font_normal_body">气表品牌</label>-->
173
+ <!-- <v-select :value.sync="model.f_meter_brand" multiple-->
174
+ <!-- v-model="model.f_meter_brand"-->
175
+ <!-- :options='$parent.$parent.meterbrands' placeholder='请选择'-->
176
+ <!-- condition="f_meter_brand in {}"-->
177
+ <!-- close-on-select></v-select>-->
178
+ <!-- </div>-->
179
+
180
+
181
+ </div>
182
+ </div>
183
+ </criteria>
184
+
185
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
186
+ <template partial='head'>
187
+ <tr>
188
+ <th><nobr>客户编号</nobr></th>
189
+ <th><nobr>客户名称</nobr></th>
190
+ <th><nobr>客户电话</nobr></th>
191
+ <th><nobr>客户状态</nobr></th>
192
+ <th><nobr>气表类型</nobr></th>
193
+ <th><nobr>表号</nobr></th>
194
+ <th><nobr>客户类型</nobr></th>
195
+ <th><nobr>用气性质</nobr></th>
196
+ <th><nobr>气表状态</nobr></th>
197
+ <th><nobr>所属月份</nobr></th>
198
+ <th><nobr>期初上报时间</nobr></th>
199
+ <th><nobr>期末上报时间</nobr></th>
200
+ <th><nobr>期初余额</nobr></th>
201
+ <th><nobr>上期底数</nobr></th>
202
+ <th><nobr>本期底数</nobr></th>
203
+ <th><nobr>用气量</nobr></th>
204
+ <th><nobr>用气金额</nobr></th>
205
+ <th><nobr>期间实收金额</nobr></th>
206
+ <th><nobr>期末余额</nobr></th>
207
+ <th><nobr>公司</nobr></th>
208
+ </tr>
209
+ </template>
210
+ <template partial='body'>
211
+ <td style="text-align: center;">
212
+ <nobr>
213
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
214
+ </td>
215
+ <td style="text-align: center;"><nobr>{{row.f_user_name}}</nobr></td>
216
+ <td style="text-align: center;"><nobr>{{row.f_user_phone}}</nobr></td>
217
+ <td style="text-align: center;"><nobr>{{row.f_user_state}}</nobr></td>
218
+ <td style="text-align: center;">
219
+ <nobr>{{row.f_meter_classify}}</nobr>
220
+ </td>
221
+ <td style="text-align: center;">
222
+ <nobr>{{row.f_meternumber}}</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_gasproperties}}</nobr>
229
+ </td>
230
+ <td style="text-align: center;">
231
+ <nobr>{{row.f_table_state}}</nobr>
232
+ </td>
233
+ <td style="text-align: center;">
234
+ <nobr>{{row.f_hand_date}}</nobr>
235
+ </td>
236
+ <td style="text-align: center;">
237
+ <nobr>{{row.f_start_date}}</nobr>
238
+ </td>
239
+ <td style="text-align: center;">
240
+ <nobr>{{row.f_end_date}}</nobr>
241
+ </td>
242
+ <td style="text-align: center;">
243
+ <nobr>{{row.f_balance}}</nobr>
244
+ </td>
245
+ <td style="text-align: center;">
246
+ <nobr>{{row.f_last_tablebase}}</nobr>
247
+ </td>
248
+ <td style="text-align: center;">
249
+ <nobr>{{row.f_tablebase}}</nobr>
250
+ </td>
251
+ <td style="text-align: center;">
252
+ <nobr>{{row.f_oughtamount}}</nobr>
253
+ </td>
254
+ <td style="text-align: center;">
255
+ <nobr>{{row.f_oughtfee}}</nobr>
256
+ </td>
257
+ <td style="text-align: center;">
258
+ <nobr>{{row.f_collection}}</nobr>
259
+ </td>
260
+ <td>
261
+ <nobr>{{row.f_curbalance}}</nobr>
262
+ </td>
263
+ <td style="text-align: center;">
264
+ <nobr>{{row.f_orgname}}</nobr>
265
+ </td>
266
+ </template>
267
+ <template partial='foot'></template>
268
+ </data-grid>
269
+ </criteria-paged>
270
+
271
+ <table class="table-hover">
272
+ <tr style="position: relative;margin-top: -16px;" class="table-bordered">
273
+ <td
274
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
275
+ 汇总信息
276
+ </td>
277
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
278
+ 用气量合计:&emsp;{{sumsmodel.f_oughtamount}}
279
+ </td>
280
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
281
+ 气费合计:&emsp;{{sumsmodel.f_oughtfee}}
282
+ </td>
283
+ </tr>
284
+ </table>
285
+ </div>
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
+
291
+ <work-busy :is-busy="iswork" v-show="iswork"></work-busy>
292
+ </div>
293
+ </template>
294
+
295
+ <script>
296
+ import {PagedList, HttpResetClass} from 'vue-client'
297
+ import defaultPrint from '../../sale/config/DefaultPrint'
298
+ import exportConfig from '../../sale/config/exportConfig'
299
+ import axios from 'axios'
300
+ import plugins from '../../../plugins/GetLoginInfoService'
301
+
302
+ let readySomething = async function (self) {
303
+ //加载抄表册
304
+ // self.$MagGetSaleParam.initinputtor();
305
+ // self.getinputtores();
306
+ // self.initmeterbook();
307
+ self.$refs.paged.$refs.cri.model.handStartDate = self.$login.toStandardDateString() + ' 00:00:00'
308
+ self.$refs.paged.$refs.cri.model.handEndDate = self.$login.toStandardDateString() + ' 23:59:59'
309
+
310
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
311
+ await self.$MagLoadParams.loadParam()
312
+ await self.initParams()
313
+ await self.$getConfig(self, 'WebHandplanMonthQuery')
314
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
315
+ }
316
+ export default {
317
+ props:['data'],
318
+ title: '物联用户月度结算查询',
319
+ data() {
320
+ return {
321
+ iswork:false,
322
+ other:[],
323
+ footer:[],
324
+ data: {},
325
+ orderitem:'f_userinfo_code desc',
326
+ model: new PagedList('api/af-revenue/sql/GetWebhandMonthGas', 20, {
327
+ startDate: 'this.model.handStartDate',
328
+ endDate: 'this.model.handEndDate',
329
+ orderitem: 'f_userinfo_code desc'
330
+ }, {
331
+ f_oughtamount: 0,
332
+ f_oughtfee: 0
333
+ }),
334
+ org:[this.$login.f.orgid],
335
+ orgcondition: ' and f_orgid = ' + this.$login.f.orgid,
336
+ // initres: {
337
+ // org:[this.$login.f.orgid],
338
+ // dep:[],
339
+ // user:[]
340
+ // },
341
+ orderFields: {
342
+ f_input_date: 'no'
343
+ },
344
+ show:false,
345
+ showComponent: ['company'],
346
+ rowdata:{},
347
+ criteriaShow: false,
348
+ residentialArea: [],
349
+ modelval: [],
350
+ gasproperties:[],
351
+ inputtouPerson: [],
352
+ meterbrands: [],
353
+ printshow: false,
354
+ f_filialeid: this.$login.f.f_orgid,
355
+ all: false,
356
+ fields: {},
357
+ thead: '',
358
+ tfoot: '',
359
+ selected:{},
360
+
361
+ // 下拉框
362
+
363
+ //合计数据
364
+ sumsmodel: {},
365
+ defaultfield: [],
366
+ config: {
367
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_meternumber', 'f_hand_date', 'f_oughtamount', 'f_oughtfee']
368
+ },
369
+ prices: [],
370
+ bgl:[{label: '全部', value: ''},{label: '有', value: '1'},{label: '无', value: '0'}],
371
+ meterbooks:[{label: '全部',value: ''}], //抄表册
372
+ tempfalg :false,
373
+ lastorgstr:'',
374
+ allorgid:[],
375
+ inputtores:[{label: '全部',value: ''}], //抄表员
376
+ //表册片区
377
+ bookSlice:[{label: '全部',value: ''}],
378
+ imgfilename:'',
379
+ percent:0,
380
+ uuida:'',
381
+ timer:'',
382
+ }
383
+ },
384
+ ready() {
385
+ // this.$refs.paged.$refs.cri.model.f_meter_state=['已抄表']
386
+ // this.getaddress()
387
+ readySomething(this).then(() => {
388
+ this.$emit('ready')
389
+ }).catch((error) => {
390
+ this.$emit('error', error)
391
+ })
392
+ },
393
+ methods: {
394
+ sort (field, rule) {
395
+ // 将所有排序方式设为不排序,实现相互排斥
396
+ for (let key in this.orderFields) {
397
+ if (key === field) {
398
+ this.orderFields[key] = rule
399
+ } else {
400
+ this.orderFields[key] = 'no'
401
+ }
402
+ }
403
+ // 如果新规则不排序,还原为默认排序
404
+ if (rule === 'no') {
405
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
406
+ } else {
407
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
408
+ }
409
+ this.search()
410
+ },
411
+ getorg(obj) {
412
+ if(plugins.convertToIn(obj)!==null&&plugins.convertToIn(obj)!==''){
413
+ this.orgcondition = " and f_orgid in " + plugins.convertToIn(obj)
414
+ }else{
415
+ this.orgcondition = " and f_orgid = " + this.$login.f.orgid
416
+ }
417
+ },
418
+ // //初始化片区
419
+ // async initSlice (val) {
420
+ // if (val) {
421
+ // let getAllArea = await this.$resetpost('/rs/search', {
422
+ // source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
423
+ // userid: this.$login.f.id
424
+ // }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
425
+ // let arr = getAllArea.data.filter((res) => {
426
+ // return res.parentid == val
427
+ // })
428
+ // this.bookSlice = []
429
+ // arr.forEach((res) => {
430
+ // this.bookSlice.push({label: res.name, value: res.name})
431
+ // })
432
+ // }
433
+ // },
434
+ //表册片区和抄表册关联
435
+ // async inputtorchange(){
436
+ // this.$set('$refs.paged.$refs.cri.model.f_meter_book',[]);
437
+ // /*let val1=this.$refs.paged.$refs.cri.model.f_meter_book*/
438
+ // let val2=this.$refs.paged.$refs.cri.model.f_book_slice_area
439
+ // if((val2.length>0)){
440
+ // let condition = ` 1=1 and f_orgid ='${this.f_filialeid}' and f_book_state='有效' `
441
+ // let aaa = '('
442
+ // val2.forEach((item) => {
443
+ // aaa = aaa + `'${item}',`
444
+ // })
445
+ // aaa = aaa + `'')`
446
+ // condition = condition + ` and f_book_slice_area in ${aaa} `
447
+ // let param={
448
+ // items:'*',
449
+ // tablename:'t_meter_book',
450
+ // condition:condition,
451
+ // orderitem:'id'
452
+ // }
453
+ // let getMeterBooks = await this.$resetpost('rs/sql/singleTable_OrderBy', {data: param}, {resolveMsg: null, rejectMsg: '获取营收参数出错!!!'})
454
+ // if (getMeterBooks.data) {
455
+ // if(getMeterBooks.data.length >0){
456
+ // let rs = [];
457
+ // getMeterBooks.data.forEach((item)=>{
458
+ // let temp = {
459
+ // label:item.f_book_name,
460
+ // value:item.id
461
+ // };
462
+ // rs.push(temp);
463
+ //
464
+ // })
465
+ // this.meterbooks = [{label: '全部',value: ''}, ...rs];
466
+ // }else{
467
+ // this.meterbooks = [{label: '全部',value: ''}];
468
+ // }
469
+ // }
470
+ // }else{
471
+ // this.meterbooks = [{label: '全部',value: ''}];
472
+ // this.initmeterbook();
473
+ // }
474
+ // },
475
+ // async initmeterbook(orgstr){
476
+ // if(orgstr == null ){
477
+ // orgstr = this.f_filialeid;
478
+ // }
479
+ // //获取新的抄表册,先去清理所有的抄表册
480
+ // this.$GetSaleParam.meterbooks = [];
481
+ // //开始加载新的抄表册
482
+ // await this.$LoadParams.loadMeterBook(orgstr)
483
+ // this.meterbooks = [{label: '全部', value: ''}, ...this.$GetSaleParam.getMeterBooks()]
484
+ // },
485
+
486
+ // async getinputtores () {
487
+ // // 获取抄表员
488
+ // let rs = []
489
+ // if (this.$login.f.f_gasman.length > 0) {
490
+ // for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
491
+ // let temp = {
492
+ // label: this.$login.f.f_gasman[i].name,
493
+ // value: this.$login.f.f_gasman[i].name
494
+ // }
495
+ // rs.push(temp)
496
+ // }
497
+ // }
498
+ // this.inputtores = [{label: '全部', value: ''}, ...rs]
499
+ // this.inputtores.push({label: "微信公众号", value: "微信公众号"})
500
+ // },
501
+ async updateParams() {
502
+ await this.$MagLoadParams.loadParam(this.f_filialeid)
503
+ this.inputtores = [];
504
+ this.inputtores.push({label: "全部", value: ""})
505
+ this.initSlice(this.f_filialeid)
506
+ if(this.allorgid!=null){
507
+ this.allorgid.forEach((res)=>{
508
+ this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
509
+ })
510
+ }
511
+ this.initParams()
512
+ },
513
+
514
+ async initParams() {
515
+ // 初始化气表品牌
516
+ let brandArr = []
517
+ await this.$MagGetSaleParam.getGasbrand().forEach((item) => {
518
+ if (item.value.f_meter_type === '物联网表'){
519
+ let temp = {}
520
+ temp.label = item.label
521
+ temp.value = item.value.f_meter_brand
522
+ brandArr.push(temp)
523
+ }
524
+ })
525
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
526
+ //初始化气价
527
+ let result = []
528
+ await this.$MagGetSaleParam.prices.forEach((item) => {
529
+ if (item.f_state === '有效' && this.$login.f.orgid == item.f_filialeid) {
530
+ let value = {
531
+ label: item.f_price_name,
532
+ value: item.f_price_name
533
+ }
534
+ result.push(value)
535
+ }
536
+ })
537
+ let hash = {}
538
+ result = result.reduce((item, next) => {
539
+ hash[next.label] ? '' : hash[next.label] = true && item.push(next)
540
+ return item
541
+ }, [])
542
+ this.prices = Array.from(new Set(result))
543
+ },
544
+ getotherfooter(){
545
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
546
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
547
+ this.other=[];
548
+ this.footer=[];
549
+ let exportdata = this.getCondition;
550
+ let otherInData=[];
551
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
552
+ let footerData=[],exportfield=this.getfield;
553
+ footerData.push("合计");
554
+ let self = this;
555
+ for(var field in self.sumsmodel){
556
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
557
+ }
558
+ this.footer.push(footerData);
559
+ this.other.push(otherInData);
560
+ },
561
+ // async getaddress(){
562
+ // let HttpReset = new HttpResetClass()
563
+ // var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_getarealist', {
564
+ // data: {
565
+ // condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
566
+ // }
567
+ // }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
568
+ // console.log('小区',data)
569
+ // let house = [{label: '全部', value: ''}]
570
+ // for (let row of data.data){
571
+ // house.push({label: row.f_residential_area, value: row.f_residential_area})
572
+ // }
573
+ // this.residentialArea = house
574
+ // },
575
+ search(){
576
+ this.$refs.paged.$refs.cri.search()
577
+ },
578
+ cancel() {
579
+ this.show = false
580
+ },
581
+ selfSearch(args) {
582
+
583
+ if (this.$refs.paged.$refs.cri.model.handStartDate == '' || this.$refs.paged.$refs.cri.model.handEndDate == '') {
584
+ this.$showMessage('请选择【抄表时间】!')
585
+ return
586
+ }
587
+ // this.area = this.$refs.paged.$refs.cri.model.f_residential_area
588
+ // if(this.area.length !== 0){
589
+ // let str = JSON.stringify(this.area)
590
+ // str = str.replace(/"/g,`'`)
591
+ // str = str.replace(/\[/g,``)
592
+ // str = str.replace(/\]/g,``)
593
+ // //查询多个小区时条件
594
+ // args.condition += ` and f_residential_area in ( ${str} )`
595
+ // }
596
+ //抄表员查询条件
597
+ // this.inputtouPerson = this.$refs.paged.$refs.cri.model.f_inputtor
598
+ // if(this.inputtouPerson.length !== 0){
599
+ // let str = JSON.stringify(this.inputtouPerson)
600
+ // str = str.replace(/"/g,`'`)
601
+ // str = str.replace(/\[/g,``)
602
+ // str = str.replace(/\]/g,``)
603
+ // //查询多个抄表员时条件
604
+ // args.condition += ` and f_inputtor in ( ${str} )`
605
+ // }
606
+
607
+ args.condition = `${args.condition} ` + this.orgcondition
608
+ this.model.search(args.condition, args.model)
609
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
610
+ },
611
+ clear() {
612
+ //清空部门和人员
613
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
614
+ //部门和人员变为全选
615
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
616
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
617
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
618
+ this.$refs.paged.$refs.cri.model[key] = []
619
+ })
620
+ },
621
+ show() {
622
+ this.criteriaShow = true
623
+ },
624
+ hidden() {
625
+ this.criteriaShow = !this.criteriaShow
626
+ },
627
+ async getRes(condition,obj) {
628
+ this.orgCondtionStr = condition
629
+
630
+ },
631
+ stamp() {
632
+ this.all = false
633
+ //默认选择要打印的列
634
+ this.modelval = defaultPrint.config
635
+ this.fields = this.getfield
636
+ this.printshow = true
637
+ this.put()
638
+ },
639
+ put() {
640
+ // 对Modelval进行排序
641
+ this.sortModelval()
642
+ this.thead = `<tr><th colspan=${this.modelval.length}>抄表查询统计报表</th></tr><tr>`
643
+ for (let key of this.modelval) {
644
+ this.thead += '<th>' + this.fields[key] + '</th>'
645
+ }
646
+ this.thead += '</tr>'
647
+ },
648
+ print() {
649
+ this.$refs.print.PrintAsFile()
650
+ this.printshow = false
651
+ },
652
+ dealmsg(val) {
653
+ this.rowdata=val
654
+ this.show=true
655
+ val.model = this.model.model
656
+ this.$dispatch('deal-msg', val)
657
+ },
658
+ close() {
659
+ this.printshow = false
660
+ this.all = false
661
+ },
662
+
663
+ userTypeChange () {
664
+ this.gasproperties=[]
665
+ if(this.$refs.paged.$refs.cri.model !==null) {
666
+ this.$refs.paged.$refs.cri.model.f_gasproperties=''
667
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
668
+ }
669
+ else{
670
+ this.gasproperties =[{label: '全部', value: ''}]
671
+ }
672
+ },
673
+ // 对选择的列进行排序
674
+ sortModelval() {
675
+ let sortModel = []
676
+ Object.keys(this.fields).forEach((key) => {
677
+ if (this.modelval.includes(key)) {
678
+ sortModel.push(key)
679
+ }
680
+ })
681
+ this.modelval = sortModel
682
+ }
683
+ },
684
+ watch: {
685
+ 'model.rows'(val) {
686
+ if(val.length === 0){
687
+ this.sumsmodel = {}
688
+ }
689
+ },
690
+ // async 'orgCondtionStr'(val) {
691
+ // this.$refs.paged.$refs.cri.model.f_inputtor=[]
692
+ // this.$refs.paged.$refs.cri.model.f_book_slice_area=[]
693
+ // this.$refs.paged.$refs.cri.model.f_meter_book = []
694
+ // this.meterbooks = [{label: '全部',value: ''}];
695
+ // if(this.lastorgstr != val){
696
+ // this.tempfalg = true;
697
+ // this.lastorgstr = val;
698
+ // }
699
+ // if(this.tempfalg && val != null && val!='' && val.indexOf("(")>-1){
700
+ // this.tempfalg = false;
701
+ // let a = val.substring(val.indexOf("(")+2)
702
+ // await this.initmeterbook(a.substring(0,a.indexOf(")")-1));
703
+ // }
704
+ // let res = val.match(/'(.*?)'/)
705
+ // console.log('正则提取:',res && res[1])
706
+ // if (res) {
707
+ // this.f_filialeid = res[1]
708
+ // if(res.input !=null){
709
+ // let resorgid = res.input.substring(res.input.indexOf("'"));
710
+ // if(resorgid!= null && resorgid!=''){
711
+ // resorgid = resorgid.substring(0,resorgid.lastIndexOf("'")+1);
712
+ // // resorgid = resorgid.replaceAll("'","");
713
+ // resorgid = resorgid.replace(/'/g,"");
714
+ // this.allorgid = resorgid.split(",")
715
+ // }
716
+ // }
717
+ // this.updateParams()
718
+ // }
719
+ // },
720
+ 'all'(val) {
721
+ if (val) {
722
+ this.modelval = this.bodyData
723
+ } else {
724
+ this.modelval = defaultPrint.config
725
+ this.put()
726
+ }
727
+ },
728
+ 'modelval.length'() {
729
+ this.put()
730
+ },
731
+ sumsmodel:{
732
+ handler: function(val) {
733
+ this.getotherfooter();
734
+ },
735
+ deep: true
736
+ }
737
+ },
738
+ computed: {
739
+
740
+ getCondition() {
741
+ return {
742
+ startDate: this.$refs.paged.$refs.cri.model.startDate,
743
+ endDate: this.$refs.paged.$refs.cri.model.endDate,
744
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgcondition,
745
+ orderitem: this.orderitem ? `${this.orderitem}` : " f_userinfo_code desc"
746
+ }
747
+ },
748
+ getfield() {
749
+ return exportConfig.webhandplanMonthConfig
750
+ },
751
+ // getBankfield(){
752
+ // return exportConfig.batchBankConfig2
753
+ // },
754
+ usertypes() {
755
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
756
+ },
757
+ // meterstate() {
758
+ // return [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表状态')]
759
+ // },
760
+ // handstate() {
761
+ // return [{label: '全部', value: ''}, ...this.$appdata.getParam('表单状态')]
762
+ // },
763
+ // pricetypes() {
764
+ // return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
765
+ // },
766
+ getPricenames() {
767
+ let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
768
+ let f_gasproperties = this.$refs.paged.$refs.cri.model.f_gasproperties;
769
+ let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
770
+ console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.f_filialeid,this.prices)
771
+ if(this.$refs.paged.$refs.cri.model !==null) {
772
+ let rs = []
773
+ let priceArr = []
774
+ if ( pricetype.length >0) {
775
+ let params = {
776
+ f_price_type: pricetype[0],
777
+ filter: this.f_filialeid,
778
+ prices: this.prices
779
+ }
780
+ this.$MagGetSaleParam.getPrice(params).forEach((item) => {
781
+ let temp = {}
782
+ temp.label = item.label
783
+ temp.value = item.value.f_price_name
784
+ priceArr.push(temp)
785
+ })
786
+ rs = [{label: '全部', value: ''}, ...priceArr]
787
+ }
788
+ if (rs.length === 0) {
789
+ console.log('rs读出来是空')
790
+ this.$refs.paged.$refs.cri.model.f_price_name = ''
791
+ }
792
+ return rs
793
+ }
794
+ },
795
+ // inputtor () {
796
+ // // 获取抄表员
797
+ // console.log('获取抄表员', this.$login.f)
798
+ // let rs = []
799
+ // if (this.$login.f.f_gasman.length > 0) {
800
+ // for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
801
+ // let temp = {
802
+ // label: this.$login.f.f_gasman[i].name,
803
+ // value: this.$login.f.f_gasman[i].name
804
+ // }
805
+ // rs.push(temp)
806
+ // }
807
+ // }
808
+ //
809
+ // return [{label: '全部', value: ''}, ...rs]
810
+ // },
811
+
812
+ },
813
+ events:{
814
+ }
815
+ }
816
+ </script>
@@ -33,6 +33,9 @@
33
33
  <tabs header="物联网表结算分析" v-if="permission('物联网表结算分析')">
34
34
  <webmeter-settlement-analysis v-if="show.includes('物联网表结算分析')"></webmeter-settlement-analysis>
35
35
  </tabs>
36
+ <tabs header="物联用户月度结算查询" v-if="permission('物联用户月度结算查询')">
37
+ <webhand-month-gas v-if="show.includes('物联用户月度结算查询')"></webhand-month-gas>
38
+ </tabs>
36
39
  </tab-button>
37
40
 
38
41
  </template>
@@ -123,5 +123,8 @@ export default function () {
123
123
 
124
124
  // 石泉异常分析单页面
125
125
  Vue.component('total-exception-by-meter-sq', (resolve) => { require(['./components/webmeter/newwebmeter/NewException/TotalExceptionByMeterShiQuan'], resolve) })
126
+
127
+ // 物联用户月度结算查询
128
+ Vue.component('webhand-month-gas', (resolve) => { require(['./components/webmeter/newwebmeter/WebhandMonthGas.vue'], resolve) })
126
129
  }
127
130