manage-client-xy 3.2.28 → 3.2.30

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 (31) hide show
  1. package/build/dev-server.js +2 -2
  2. package/package.json +1 -1
  3. package/src/components/SellReport/FinancialStatement.vue +30 -0
  4. package/src/components/SellReport/ManageBusSummary.vue +241 -241
  5. package/src/components/SellReport/SmartKitchenSummary.vue +275 -275
  6. package/src/components/SellReport/UserNumber.vue +30 -0
  7. package/src/components/SellReport/XianYangNewCharge.vue +355 -355
  8. package/src/components/sale/businessquery/AreaGeneralQuery.vue +715 -700
  9. package/src/components/sale/businessquery/CMHGasQuery.vue +441 -411
  10. package/src/components/sale/businessquery/ChangeMeterQuery.vue +659 -630
  11. package/src/components/sale/businessquery/ChangeUserQuery.vue +403 -373
  12. package/src/components/sale/businessquery/ChargeQuery.vue +1027 -997
  13. package/src/components/sale/businessquery/DisableQuery.vue +433 -403
  14. package/src/components/sale/businessquery/EnableQuery.vue +422 -392
  15. package/src/components/sale/businessquery/FMYGasQuery.vue +440 -410
  16. package/src/components/sale/businessquery/FillCardQuery.vue +522 -492
  17. package/src/components/sale/businessquery/FillGasQuery.vue +506 -476
  18. package/src/components/sale/businessquery/HandplanQuery.vue +728 -698
  19. package/src/components/sale/businessquery/LogQuery.vue +301 -269
  20. package/src/components/sale/businessquery/NewAccountQuery.vue +518 -488
  21. package/src/components/sale/businessquery/OtherChargeQuery.vue +432 -402
  22. package/src/components/sale/businessquery/RecordQuery.vue +399 -369
  23. package/src/components/sale/businessquery/ResidentialQuery.vue +417 -387
  24. package/src/components/sale/businessquery/ReverseQuery.vue +459 -429
  25. package/src/components/sale/businessquery/SellingHand.vue +408 -378
  26. package/src/components/sale/businessquery/TransferQuery.vue +589 -559
  27. package/src/components/sale/businessquery/cancelAccountQuery.vue +518 -488
  28. package/src/components/sale/filesquery/DeviceQuery.vue +30 -0
  29. package/src/components/sale/filesquery/MeterQuery.vue +30 -0
  30. package/src/components/sale/filesquery/UserQuery.vue +796 -764
  31. package/src/components/webmeter/DrillData/UserGasAll.vue +30 -1
@@ -1,387 +1,417 @@
1
- <template>
2
- <div id="unit" class="flex-row">
3
- <div class="basic-main">
4
- <div class="flex">
5
-
6
- <criteria-paged :model="model" 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
- <res-select-group style="col-sm-2 form-group" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
11
- <div class="span" style="float:right;">
12
- <button class="button_search button_spacing" @click="search">查询</button>
13
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
14
-
15
- <export-excel :data="$parent.$parent.getCondition"
16
- :field="$parent.$parent.getfield"
17
- :footer="$parent.$parent.footer"
18
- :header="$parent.$parent.other"
19
- sqlurl="rs/logic/exportfile"
20
- sql-name="residentialquery"
21
- template-name='通气统计导出'
22
- v-if ="$parent.$parent.jurisdiction.includes('excel导出')"
23
- :choose-col="true"></export-excel>
24
- <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>
25
-
26
- </div>
27
- </div>
28
- <div class="row" v-show="$parent.$parent.criteriaShow">
29
-
30
- <div class="col-sm-2 form-group">
31
- <label for="startDate" class="font_normal_body">开始日期</label>
32
- <datepicker id="startDate" placeholder="通气开始日期" style="width:60%"
33
- v-model="model.startDate"
34
- condition="f_input_date>=to_date('{} 00:00:00','yyyy-mm-dd hh24:mi:ss')"
35
- :value.sync="model.startDate"
36
- :format="'yyyy-MM-dd'"
37
- :show-reset-button="true"
38
- >
39
- </datepicker>
40
- </div>
41
- <div class="col-sm-2 form-group">
42
- <label for="endDate" class="font_normal_body">结束日期</label>
43
- <datepicker id="endDate" placeholder="通气结束日期" style="width:60%"
44
- v-model="model.endDate"
45
- :value.sync="model.endDate"
46
- :format="'yyyy-MM-dd'"
47
- :show-reset-button="true"
48
- condition="f_input_date<=to_date('{} 23:59:59','yyyy-mm-dd hh24:mi:ss')"
49
- >
50
- </datepicker>
51
- </div>
52
- <div class="col-sm-2 form-group">
53
- <label for="f_area_id" class="font_normal_body">小区编码</label>
54
- <input id="f_area_id" type="text" style="width:60%" class="input_search" v-model="model.f_residential_area_id"
55
- condition="f_residential_area_id = '{}'" placeholder='小区编码'>
56
- </div>
57
- <div class="col-sm-2 form-group">
58
- <label for="f_contract_id" class="font_normal_body">合同编号</label>
59
- <input id="f_contract_id" type="text" style="width:60%" class="input_search" v-model="model.f_contract_id"
60
- condition="f_contract_id = '{}'" placeholder='合同编号'>
61
- </div>
62
- <div class="form-group col-sm-2">
63
- <label class="font_normal_body">选择小区</label>
64
- <v-select :value.sync="model.f_residential_area" :value-single="true"
65
- class="select_list select"
66
- style="width: 60%"
67
- v-model="model.f_residential_area"
68
- :options='$parent.$parent.residentialArea' placeholder='选择小区'
69
- condition="f_residential_area = '{}'"
70
- close-on-select search="true">
71
- </v-select>
72
- </div>
73
-
74
- <div class="col-sm-2 form-group">
75
- <label class="font_normal_body" >抄&nbsp;&nbsp;表&nbsp;员</label>
76
- <v-select :value.sync="model.f_inputtor"
77
- v-model="model.f_inputtor"
78
- :options='$parent.$parent.inputtores' placeholder='请选择'
79
- condition="f_inputtor = '{}'"
80
- close-on-select :value-single="true" :search="false">
81
- </v-select>
82
- </div>
83
- <div class="col-sm-2 form-group">
84
- <label class="font_normal_body">抄&ensp;表&ensp;册</label>
85
- <v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
86
- :options='$parent.$parent.meterbooks' placeholder='抄表册'
87
- style="width:60%"
88
- close-on-select
89
- condition="f_meter_book_num = '{}'"></v-select>
90
- </div>
91
- </div>
92
-
93
- </div>
94
- </criteria>
95
-
96
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
97
- <template partial='head'>
98
- <tr>
99
- <th>
100
- <nobr>序号</nobr>
101
- </th>
102
- <th>
103
- <nobr>小区编号</nobr>
104
- </th>
105
- <th>
106
- <nobr>小区名称</nobr>
107
- </th>
108
- <th>
109
- <nobr>详细地址</nobr>
110
- </th>
111
- <th>
112
- <nobr>合同编号</nobr>
113
- </th>
114
- <th>
115
- <nobr>通气户数</nobr>
116
- </th>
117
- <th>
118
- <nobr>通气日期</nobr>
119
- </th>
120
- <th>
121
- <nobr>操作人</nobr>
122
- </th>
123
- <th>
124
- <nobr>操作部门</nobr>
125
- </th>
126
- </tr>
127
- </template>
128
- <template partial='body'>
129
- <td style="text-align:center">
130
- <nobr>{{$index+1}}</nobr>
131
- </td>
132
- <td style="text-align: center;">
133
- <nobr>{{row.f_residential_area_id}}</nobr>
134
- </td>
135
- <td style="text-align: center;">
136
- <nobr>{{row.f_residential_area}}</nobr>
137
- </td>
138
- <td style="text-align: center;">
139
- <nobr>{{row.f_address}}</nobr>
140
- </td>
141
- <td style="text-align: center;">
142
- <nobr>{{row.f_contract_id}}</nobr>
143
- </td>
144
- <td style="text-align: center;">
145
- <nobr>{{row.c}}</nobr>
146
- </td>
147
- <td style="text-align: center;">
148
- <nobr>{{row.f_input_date}}</nobr>
149
- </td>
150
- <td style="text-align: center;">
151
- <nobr>{{row.f_operator}}</nobr>
152
- </td>
153
- <td style="text-align: center;">
154
- <nobr>{{row.f_depname}}</nobr>
155
- </td>
156
- </template>
157
- <template partial='foot'></template>
158
- </data-grid>
159
- </criteria-paged>
160
- <table class="table-hover">
161
- <tr style="position: relative" class="table-bordered">
162
- <td
163
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
164
- 汇总信息
165
- </td>
166
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
167
- 户数合计:&emsp;{{sumsmodel.c}}
168
- </td>
169
- </tr>
170
- </table>
171
- </div>
172
- </div>
173
- </div>
174
- </template>
175
-
176
- <script>
177
- import {PagedList, HttpResetClass} from 'vue-client'
178
- import defaultPrint from '../config/DefaultPrint'
179
- import exportConfig from "../config/exportConfig";
180
- import plugins from "../../../plugins/GetLoginInfoService";
181
-
182
- let readySomething = async function (self) {
183
- self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
184
- self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
185
- //加载抄表册
186
- self.$MagGetSaleParam.initinputtor();
187
- self.getinputtores();
188
- self.initmeterbook();
189
- // await self.$refs.paged.$refs.cri.search()
190
- await self.$MagLoadParams.loadParam()
191
- self.initParams()
192
- self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
193
- }
194
-
195
- export default {
196
- title: '抄表失败查询',
197
- data() {
198
- let model = new PagedList('rs/sql/residentialquery', 20, {},{
199
- c:0
200
- })
201
- model.f_filialeid = this.$login.f.orgid
202
- return {
203
- data: {},
204
- other: [],
205
- footer: [],
206
- initres: {
207
- org:[this.$login.f.orgid],
208
- dep:[],
209
- user:[]
210
- },
211
- model: model,
212
- criteriaShow: false,
213
- jurisdiction:this.$login.r,
214
- f_filialeid: this.$login.f.orgid,
215
- orgid: [this.$login.f.orgid],
216
- //小区
217
- residentialArea: [],
218
- orgCondtionStr: '',
219
- //合计数据
220
- sumsmodel:{},
221
- meterbooks:[{label: '全部',value: ''}], //抄表册
222
- inputtores:[{label: '全部',value: ''}],
223
- allorgid:[],
224
- tempfalg :false,
225
- lastorgstr:'',
226
- }
227
- },
228
- ready() {
229
- this.getaddress()
230
- readySomething(this).then(() => {
231
- this.$emit('ready')
232
- }).catch((error) => {
233
- this.$emit('error', error)
234
- })
235
- },
236
- methods: {
237
- async initmeterbook(orgstr){
238
- if(orgstr == null ){
239
- orgstr = this.f_filialeid;
240
- }
241
- //获取新的抄表册,先去清理所有的抄表册
242
- this.$GetSaleParam.meterbooks = [];
243
- //开始加载新的抄表册
244
- await this.$LoadParams.loadMeterBook(orgstr)
245
- this.meterbooks = [...this.meterbooks, ...this.$GetSaleParam.getMeterBooks()]
246
- },
247
- async updateParams() {
248
- await this.$MagLoadParams.loadParam(this.f_filialeid)
249
- this.inputtores = [];
250
- this.inputtores.push({label: "全部", value: ""})
251
- if(this.allorgid!=null){
252
- this.allorgid.forEach((res)=>{
253
- this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
254
- })
255
- }
256
- },
257
- getinputtores() {
258
- // 获取抄表员
259
- let rs = []
260
- if (this.$login.f.f_gasman.length > 0) {
261
- for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
262
- let temp = {
263
- label: this.$login.f.f_gasman[i].name,
264
- value: this.$login.f.f_gasman[i].name
265
- }
266
- rs.push(temp)
267
- }
268
- }
269
-
270
- return [{label: '全部', value: ''}, ...rs]
271
- },
272
- //加载抄表册
273
- loadMeterBooks(){
274
- this.meterbooks = [...this.meterbooks, ...this.$GetSaleParam.getMeterBooks()]
275
- },
276
- getotherfooter() {
277
- // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
278
- // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
279
- this.other = [];
280
- this.footer = [];
281
- let exportdata = this.getCondition;
282
- let otherInData = [];
283
- otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
284
- let footerData = [], exportfield = this.getfield;
285
- footerData.push("合计");
286
- let self = this;
287
- for (var field in self.sumsmodel) {
288
- footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
289
- }
290
- this.footer.push(footerData);
291
- this.other.push(otherInData);
292
- },
293
- async getaddress() {
294
- console.log('开始获取小区')
295
- let HttpReset = new HttpResetClass()
296
- var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
297
- data: {
298
- condition: `1=1 and s.f_filialeid = '${this.$login.f.orgid}'`
299
- }
300
- }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
301
- console.log('小区', data)
302
- let house = [{label: '全部', value: ''}]
303
- for (let row of data.data) {
304
- console.log('开始保存小区')
305
- house.push({label: row.f_residential_area, value: row.f_residential_area})
306
- }
307
- this.residentialArea = house
308
- },
309
- selfSearch(args) {
310
- // if (this.orgCondtionStr)
311
- // args.condition = `${args.condition}` + 'and f_filialeid in ' + this.orgCondtionStr
312
- // else
313
- // args.condition = `${args.condition}` + 'and f_filialeid in ' + '(' + this.$login.f.orgid + ')'
314
-
315
- args.condition = `${args.condition}` + this.orgCondtionStr
316
- this.model.search(args.condition, args.model)
317
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
318
- },
319
- async getRes(condition,obj) {
320
- console.log(condition,"========")
321
- this.orgCondtionStr = condition
322
- this.meterbooks = [{label: '全部',value: ''}];
323
- if(this.lastorgstr != condition){
324
- this.tempfalg = true;
325
- this.lastorgstr = condition;
326
- }
327
- if(this.tempfalg && condition != null && condition!='' && condition.indexOf("(")>-1){
328
- this.tempfalg = false;
329
- let a = condition.substring(condition.indexOf("(")+2)
330
- await this.initmeterbook(a.substring(0,a.indexOf(")")-1));
331
- }
332
- },
333
- clear() {
334
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
335
- this.$refs.paged.$refs.cri.model[key] = ''
336
- })
337
- },
338
- hidden() {
339
- this.criteriaShow = !this.criteriaShow
340
- }
341
- },
342
- watch: {
343
- sumsmodel: {
344
- handler: function (val) {
345
- this.getotherfooter();
346
- },
347
- deep: true
348
- },
349
- 'orgCondtionStr'(val) {
350
- let res = val.match(/'(.*?)'/)
351
- if (res) {
352
- this.f_filialeid = res[1]
353
- if(res.input !=null){
354
- let resorgid = res.input.substring(res.input.indexOf("'"));
355
- if(resorgid!= null && resorgid!=''){
356
- resorgid = resorgid.substring(0,resorgid.lastIndexOf("'")+1);
357
- // resorgid = resorgid.replaceAll("'","");
358
- resorgid = resorgid.replace(/'/g,"");
359
- this.allorgid = resorgid.split(",")
360
- }
361
- }
362
- this.updateParams()
363
- }
364
- }
365
- },
366
- computed: {
367
-
368
- getCondition() {
369
- var con = ""
370
- if (this.orgCondtionStr) {
371
- con = `${this.$refs.paged.$refs.cri.condition} ` + this.orgCondtionStr
372
- } else {
373
- con = `${this.$refs.paged.$refs.cri.condition}`
374
- }
375
- return {
376
- startdate: this.$refs.paged.$refs.cri.model.startDate,
377
- enddate: this.$refs.paged.$refs.cri.model.endDate,
378
- condition: con
379
- }
380
- },
381
- getfield() {
382
- return exportConfig.ResidentialQueryConfig
383
- }
384
- }
385
-
386
- }
387
- </script>
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main">
4
+ <div class="flex">
5
+
6
+ <criteria-paged :model="model" 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
+ <res-select-group style="col-sm-2 form-group" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
11
+ <div class="span" style="float:right;">
12
+ <button class="button_search button_spacing" @click="search">查询</button>
13
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
14
+
15
+ <export-excel :data="$parent.$parent.getCondition"
16
+ :field="$parent.$parent.getfield"
17
+ :footer="$parent.$parent.footer"
18
+ :header="$parent.$parent.other"
19
+ sqlurl="rs/logic/exportfile"
20
+ sql-name="residentialquery"
21
+ template-name='通气统计导出'
22
+ v-if ="$parent.$parent.jurisdiction.includes('excel导出')"
23
+ :choose-col="true"></export-excel>
24
+ <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>
25
+
26
+ </div>
27
+ </div>
28
+ <div class="row" v-show="$parent.$parent.criteriaShow">
29
+
30
+ <div class="col-sm-2 form-group">
31
+ <label for="startDate" class="font_normal_body">开始日期</label>
32
+ <datepicker id="startDate" placeholder="通气开始日期" style="width:60%"
33
+ v-model="model.startDate"
34
+ condition="f_input_date>=to_date('{} 00:00:00','yyyy-mm-dd hh24:mi:ss')"
35
+ :value.sync="model.startDate"
36
+ :format="'yyyy-MM-dd'"
37
+ :show-reset-button="true"
38
+ >
39
+ </datepicker>
40
+ </div>
41
+ <div class="col-sm-2 form-group">
42
+ <label for="endDate" class="font_normal_body">结束日期</label>
43
+ <datepicker id="endDate" placeholder="通气结束日期" style="width:60%"
44
+ v-model="model.endDate"
45
+ :value.sync="model.endDate"
46
+ :format="'yyyy-MM-dd'"
47
+ :show-reset-button="true"
48
+ condition="f_input_date<=to_date('{} 23:59:59','yyyy-mm-dd hh24:mi:ss')"
49
+ >
50
+ </datepicker>
51
+ </div>
52
+ <div class="col-sm-2 form-group">
53
+ <label for="f_area_id" class="font_normal_body">小区编码</label>
54
+ <input id="f_area_id" type="text" style="width:60%" class="input_search" v-model="model.f_residential_area_id"
55
+ condition="f_residential_area_id = '{}'" placeholder='小区编码'>
56
+ </div>
57
+ <div class="col-sm-2 form-group">
58
+ <label for="f_contract_id" class="font_normal_body">合同编号</label>
59
+ <input id="f_contract_id" type="text" style="width:60%" class="input_search" v-model="model.f_contract_id"
60
+ condition="f_contract_id = '{}'" placeholder='合同编号'>
61
+ </div>
62
+ <div class="form-group col-sm-2">
63
+ <label class="font_normal_body">选择小区</label>
64
+ <v-select :value.sync="model.f_residential_area" :value-single="true"
65
+ class="select_list select"
66
+ style="width: 60%"
67
+ v-model="model.f_residential_area"
68
+ :options='$parent.$parent.residentialArea' placeholder='选择小区'
69
+ condition="f_residential_area = '{}'"
70
+ close-on-select search="true">
71
+ </v-select>
72
+ </div>
73
+
74
+ <div class="col-sm-2 form-group">
75
+ <label class="font_normal_body" >抄&nbsp;&nbsp;表&nbsp;员</label>
76
+ <v-select :value.sync="model.f_inputtor"
77
+ v-model="model.f_inputtor"
78
+ :options='$parent.$parent.inputtores' placeholder='请选择'
79
+ condition="f_inputtor = '{}'"
80
+ close-on-select :value-single="true" :search="false">
81
+ </v-select>
82
+ </div>
83
+ <div class="col-sm-2 form-group">
84
+ <label class="font_normal_body">抄&ensp;表&ensp;册</label>
85
+ <v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
86
+ :options='$parent.$parent.meterbooks' placeholder='抄表册'
87
+ style="width:60%"
88
+ close-on-select
89
+ condition="f_meter_book_num = '{}'"></v-select>
90
+ </div>
91
+ <div class="col-sm-2 form-group">
92
+ <label class="font_normal_body">房产地址</label>
93
+ <input class="input_search" condition="f_house_address = '{}'"
94
+ placeholder='房产地址'
95
+ style="width:60%" type="text" v-model="model.f_house_address">
96
+ </div>
97
+ <div class="col-sm-2 form-group">
98
+ <label class="font_normal_body">用途</label>
99
+ <input class="input_search" condition="f_property_usage = '{}'"
100
+ placeholder='用途'
101
+ style="width:60%" type="text" v-model="model.f_property_usage">
102
+ </div>
103
+ <div class="col-sm-2 form-group">
104
+ <label class="font_normal_body">房型</label>
105
+ <input class="input_search" condition="f_house_type = '{}'"
106
+ placeholder='房型'
107
+ style="width:60%" type="text" v-model="model.f_house_type">
108
+ </div>
109
+ <div class="col-sm-2 form-group">
110
+ <label class="font_normal_body">是否一户多表</label>
111
+ <input class="input_search" condition="f_is_multi_meter = '{}'"
112
+ placeholder='是否一户多表'
113
+ style="width:60%" type="text" v-model="model.f_is_multi_meter">
114
+ </div>
115
+ <div class="col-sm-2 form-group">
116
+ <label class="font_normal_body">关联ID</label>
117
+ <input class="input_search" condition="f_house_id = '{}'"
118
+ placeholder='关联ID'
119
+ style="width:60%" type="text" v-model="model.f_house_id">
120
+ </div>
121
+ </div>
122
+
123
+ </div>
124
+ </criteria>
125
+
126
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
127
+ <template partial='head'>
128
+ <tr>
129
+ <th>
130
+ <nobr>序号</nobr>
131
+ </th>
132
+ <th>
133
+ <nobr>小区编号</nobr>
134
+ </th>
135
+ <th>
136
+ <nobr>小区名称</nobr>
137
+ </th>
138
+ <th>
139
+ <nobr>详细地址</nobr>
140
+ </th>
141
+ <th>
142
+ <nobr>合同编号</nobr>
143
+ </th>
144
+ <th>
145
+ <nobr>通气户数</nobr>
146
+ </th>
147
+ <th>
148
+ <nobr>通气日期</nobr>
149
+ </th>
150
+ <th>
151
+ <nobr>操作人</nobr>
152
+ </th>
153
+ <th>
154
+ <nobr>操作部门</nobr>
155
+ </th>
156
+ </tr>
157
+ </template>
158
+ <template partial='body'>
159
+ <td style="text-align:center">
160
+ <nobr>{{$index+1}}</nobr>
161
+ </td>
162
+ <td style="text-align: center;">
163
+ <nobr>{{row.f_residential_area_id}}</nobr>
164
+ </td>
165
+ <td style="text-align: center;">
166
+ <nobr>{{row.f_residential_area}}</nobr>
167
+ </td>
168
+ <td style="text-align: center;">
169
+ <nobr>{{row.f_address}}</nobr>
170
+ </td>
171
+ <td style="text-align: center;">
172
+ <nobr>{{row.f_contract_id}}</nobr>
173
+ </td>
174
+ <td style="text-align: center;">
175
+ <nobr>{{row.c}}</nobr>
176
+ </td>
177
+ <td style="text-align: center;">
178
+ <nobr>{{row.f_input_date}}</nobr>
179
+ </td>
180
+ <td style="text-align: center;">
181
+ <nobr>{{row.f_operator}}</nobr>
182
+ </td>
183
+ <td style="text-align: center;">
184
+ <nobr>{{row.f_depname}}</nobr>
185
+ </td>
186
+ </template>
187
+ <template partial='foot'></template>
188
+ </data-grid>
189
+ </criteria-paged>
190
+ <table class="table-hover">
191
+ <tr style="position: relative" class="table-bordered">
192
+ <td
193
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
194
+ 汇总信息
195
+ </td>
196
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
197
+ 户数合计:&emsp;{{sumsmodel.c}}
198
+ </td>
199
+ </tr>
200
+ </table>
201
+ </div>
202
+ </div>
203
+ </div>
204
+ </template>
205
+
206
+ <script>
207
+ import {PagedList, HttpResetClass} from 'vue-client'
208
+ import defaultPrint from '../config/DefaultPrint'
209
+ import exportConfig from "../config/exportConfig";
210
+ import plugins from "../../../plugins/GetLoginInfoService";
211
+
212
+ let readySomething = async function (self) {
213
+ self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
214
+ self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
215
+ //加载抄表册
216
+ self.$MagGetSaleParam.initinputtor();
217
+ self.getinputtores();
218
+ self.initmeterbook();
219
+ // await self.$refs.paged.$refs.cri.search()
220
+ await self.$MagLoadParams.loadParam()
221
+ self.initParams()
222
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
223
+ }
224
+
225
+ export default {
226
+ title: '抄表失败查询',
227
+ data() {
228
+ let model = new PagedList('rs/sql/residentialquery', 20, {},{
229
+ c:0
230
+ })
231
+ model.f_filialeid = this.$login.f.orgid
232
+ return {
233
+ data: {},
234
+ other: [],
235
+ footer: [],
236
+ initres: {
237
+ org:[this.$login.f.orgid],
238
+ dep:[],
239
+ user:[]
240
+ },
241
+ model: model,
242
+ criteriaShow: false,
243
+ jurisdiction:this.$login.r,
244
+ f_filialeid: this.$login.f.orgid,
245
+ orgid: [this.$login.f.orgid],
246
+ //小区
247
+ residentialArea: [],
248
+ orgCondtionStr: '',
249
+ //合计数据
250
+ sumsmodel:{},
251
+ meterbooks:[{label: '全部',value: ''}], //抄表册
252
+ inputtores:[{label: '全部',value: ''}],
253
+ allorgid:[],
254
+ tempfalg :false,
255
+ lastorgstr:'',
256
+ }
257
+ },
258
+ ready() {
259
+ this.getaddress()
260
+ readySomething(this).then(() => {
261
+ this.$emit('ready')
262
+ }).catch((error) => {
263
+ this.$emit('error', error)
264
+ })
265
+ },
266
+ methods: {
267
+ async initmeterbook(orgstr){
268
+ if(orgstr == null ){
269
+ orgstr = this.f_filialeid;
270
+ }
271
+ //获取新的抄表册,先去清理所有的抄表册
272
+ this.$GetSaleParam.meterbooks = [];
273
+ //开始加载新的抄表册
274
+ await this.$LoadParams.loadMeterBook(orgstr)
275
+ this.meterbooks = [...this.meterbooks, ...this.$GetSaleParam.getMeterBooks()]
276
+ },
277
+ async updateParams() {
278
+ await this.$MagLoadParams.loadParam(this.f_filialeid)
279
+ this.inputtores = [];
280
+ this.inputtores.push({label: "全部", value: ""})
281
+ if(this.allorgid!=null){
282
+ this.allorgid.forEach((res)=>{
283
+ this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
284
+ })
285
+ }
286
+ },
287
+ getinputtores() {
288
+ // 获取抄表员
289
+ let rs = []
290
+ if (this.$login.f.f_gasman.length > 0) {
291
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
292
+ let temp = {
293
+ label: this.$login.f.f_gasman[i].name,
294
+ value: this.$login.f.f_gasman[i].name
295
+ }
296
+ rs.push(temp)
297
+ }
298
+ }
299
+
300
+ return [{label: '全部', value: ''}, ...rs]
301
+ },
302
+ //加载抄表册
303
+ loadMeterBooks(){
304
+ this.meterbooks = [...this.meterbooks, ...this.$GetSaleParam.getMeterBooks()]
305
+ },
306
+ getotherfooter() {
307
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
308
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
309
+ this.other = [];
310
+ this.footer = [];
311
+ let exportdata = this.getCondition;
312
+ let otherInData = [];
313
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
314
+ let footerData = [], exportfield = this.getfield;
315
+ footerData.push("合计");
316
+ let self = this;
317
+ for (var field in self.sumsmodel) {
318
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
319
+ }
320
+ this.footer.push(footerData);
321
+ this.other.push(otherInData);
322
+ },
323
+ async getaddress() {
324
+ console.log('开始获取小区')
325
+ let HttpReset = new HttpResetClass()
326
+ var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
327
+ data: {
328
+ condition: `1=1 and s.f_filialeid = '${this.$login.f.orgid}'`
329
+ }
330
+ }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
331
+ console.log('小区', data)
332
+ let house = [{label: '全部', value: ''}]
333
+ for (let row of data.data) {
334
+ console.log('开始保存小区')
335
+ house.push({label: row.f_residential_area, value: row.f_residential_area})
336
+ }
337
+ this.residentialArea = house
338
+ },
339
+ selfSearch(args) {
340
+ // if (this.orgCondtionStr)
341
+ // args.condition = `${args.condition}` + 'and f_filialeid in ' + this.orgCondtionStr
342
+ // else
343
+ // args.condition = `${args.condition}` + 'and f_filialeid in ' + '(' + this.$login.f.orgid + ')'
344
+
345
+ args.condition = `${args.condition}` + this.orgCondtionStr
346
+ this.model.search(args.condition, args.model)
347
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
348
+ },
349
+ async getRes(condition,obj) {
350
+ console.log(condition,"========")
351
+ this.orgCondtionStr = condition
352
+ this.meterbooks = [{label: '全部',value: ''}];
353
+ if(this.lastorgstr != condition){
354
+ this.tempfalg = true;
355
+ this.lastorgstr = condition;
356
+ }
357
+ if(this.tempfalg && condition != null && condition!='' && condition.indexOf("(")>-1){
358
+ this.tempfalg = false;
359
+ let a = condition.substring(condition.indexOf("(")+2)
360
+ await this.initmeterbook(a.substring(0,a.indexOf(")")-1));
361
+ }
362
+ },
363
+ clear() {
364
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
365
+ this.$refs.paged.$refs.cri.model[key] = ''
366
+ })
367
+ },
368
+ hidden() {
369
+ this.criteriaShow = !this.criteriaShow
370
+ }
371
+ },
372
+ watch: {
373
+ sumsmodel: {
374
+ handler: function (val) {
375
+ this.getotherfooter();
376
+ },
377
+ deep: true
378
+ },
379
+ 'orgCondtionStr'(val) {
380
+ let res = val.match(/'(.*?)'/)
381
+ if (res) {
382
+ this.f_filialeid = res[1]
383
+ if(res.input !=null){
384
+ let resorgid = res.input.substring(res.input.indexOf("'"));
385
+ if(resorgid!= null && resorgid!=''){
386
+ resorgid = resorgid.substring(0,resorgid.lastIndexOf("'")+1);
387
+ // resorgid = resorgid.replaceAll("'","");
388
+ resorgid = resorgid.replace(/'/g,"");
389
+ this.allorgid = resorgid.split(",")
390
+ }
391
+ }
392
+ this.updateParams()
393
+ }
394
+ }
395
+ },
396
+ computed: {
397
+
398
+ getCondition() {
399
+ var con = ""
400
+ if (this.orgCondtionStr) {
401
+ con = `${this.$refs.paged.$refs.cri.condition} ` + this.orgCondtionStr
402
+ } else {
403
+ con = `${this.$refs.paged.$refs.cri.condition}`
404
+ }
405
+ return {
406
+ startdate: this.$refs.paged.$refs.cri.model.startDate,
407
+ enddate: this.$refs.paged.$refs.cri.model.endDate,
408
+ condition: con
409
+ }
410
+ },
411
+ getfield() {
412
+ return exportConfig.ResidentialQueryConfig
413
+ }
414
+ }
415
+
416
+ }
417
+ </script>