manage-client 3.2.263 → 3.2.265

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 (33) hide show
  1. package/build/dev-server.js +180 -180
  2. package/package.json +111 -111
  3. package/src/filiale/kelai/ChargeQuery.vue +1341 -0
  4. package/src/filiale/kelai/sale.js +2 -1
  5. package/src/filiale/ningjin/CallReport/CallReportMainPage.vue +146 -0
  6. package/src/filiale/ningjin/CallReport/DropDownBox.vue +64 -0
  7. package/src/filiale/ningjin/CallReport/IncomingTelegram.vue +187 -0
  8. package/src/filiale/ningjin/CallReport/PercentageComplete.vue +413 -0
  9. package/src/filiale/ningjin/CallReport/PercentageCompleteEchart.vue +150 -0
  10. package/src/filiale/ningjin/CallReport/RateBottom.vue +143 -0
  11. package/src/filiale/ningjin/CallReport/RateTop.vue +144 -0
  12. package/src/filiale/ningjin/CallReport/ScrollContent.vue +143 -0
  13. package/src/filiale/ningjin/CallReport/ServiceStatus.vue +371 -0
  14. package/src/filiale/ningjin/CallReport/SwiperTools.vue +145 -0
  15. package/src/filiale/ningjin/CallReport/SwiperTools2.vue +176 -0
  16. package/src/filiale/ningjin/CallReport/Time.vue +100 -0
  17. package/src/filiale/ningjin/CallReport/Userinfo.vue +69 -0
  18. package/src/filiale/ningjin/CallReport/WeatherData.vue +108 -0
  19. package/src/filiale/ningjin/CallReport/WorkOrderPage.vue +260 -0
  20. package/src/filiale/ningjin/FillCardQuery.vue +581 -0
  21. package/src/filiale/ningjin/GasStatistics.vue +39 -20
  22. package/src/filiale/ningjin/LostContactAnalysisList.vue +676 -0
  23. package/src/filiale/ningjin/ManageBusSummaryPeng.vue +241 -0
  24. package/src/filiale/ningjin/ManageHandSellMoney.vue +247 -0
  25. package/src/filiale/ningjin/ManageSellType.vue +284 -0
  26. package/src/filiale/ningjin/MeterExceptionList.vue +54 -9
  27. package/src/filiale/ningjin/UserLostContactAnalysis.vue +592 -0
  28. package/src/filiale/ningjin/config/exportConfig.js +35 -34
  29. package/src/filiale/ningjin/reportManage.js +6 -1
  30. package/src/filiale/ningjin/sale.js +26 -0
  31. package/src/filiale/ningjin/webmeterManage.js +5 -1
  32. package/src/filiale/wenxi/GasDeviceQuery.vue +975 -0
  33. package/src/filiale/wenxi/sale.js +2 -0
@@ -0,0 +1,284 @@
1
+ <template>
2
+ <div class="basic-main" style="height: 100%">
3
+ <criteria-paged :model="model" :pager='false' v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
+ <p class="bg-info text-center" style="padding: 8px;">营业厅分项汇总表</p>
6
+ <div class="form-group" v-if="!$parent.$parent.data.f_files_path"></div>
7
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
8
+ <div class="row">
9
+ <div class="col-sm-4 form-group" >
10
+ <label class="font_normal_body" for="startDate">开始日期:</label>
11
+ <datepicker id="startDate" placeholder="开始日期" style="width: 60%"
12
+ v-model="model.startDate"
13
+ :value.sync="model.startDate"
14
+ :disabled-days-of-Week="[]"
15
+ :format="'yyyy-MM-dd HH:mm:ss'"
16
+ :show-reset-button="reset">
17
+ </datepicker>
18
+ </div>
19
+ <div class="col-sm-4 form-group" >
20
+ <label class="font_normal_body" for="endDate">结束日期:</label>
21
+ <datepicker id="endDate" placeholder="结束日期" style="width: 60%"
22
+ v-model="model.endDate"
23
+ :value.sync="model.endDate"
24
+ :disabled-days-of-Week="[]"
25
+ :format="'yyyy-MM-dd HH:mm:ss'"
26
+ :show-reset-button="reset">
27
+ </datepicker>
28
+ </div>
29
+ <div class="col-sm-4 form-group" >
30
+ <label class="font_normal_body" for="org">公&emsp;&emsp;司:</label>
31
+ <right-tree id="org" @re-res="$parent.$parent.getRes"></right-tree>
32
+ </div>
33
+ <div class="col-sm-4 form-group">
34
+ <label class="font_normal_body" for="dep" >部&emsp;&emsp;门:</label>
35
+ <res-select id="dep" restype='department'
36
+ @res-select="$parent.$parent.getdep"
37
+ :parentresid="$parent.$parent.depresid"
38
+ :initresid='$parent.$parent.depid' >
39
+ </res-select>
40
+
41
+ </div>
42
+ <div class="col-sm-4 form-group">
43
+ <label class="font_normal_body" for="oper">人&emsp;&emsp;员:</label>
44
+ <res-select id="oper" restype='user'
45
+ is-mul="false"
46
+ @res-select="$parent.$parent.getuser"
47
+ :parentresid="$parent.$parent.userresid"
48
+ :initresid='$parent.$parent.operatorid'>
49
+ </res-select>
50
+ </div>
51
+ <div class="col-sm-4 form-group">
52
+ <label class="font_normal_body">收费状态:</label>
53
+ <v-select :value.sync="$parent.$parent.f_state" multiple
54
+ v-model="$parent.$parent.f_state"
55
+ :options='$parent.$parent.charge_state' placeholder='请选择'
56
+ condition="f_state in {}"
57
+ close-on-select></v-select>
58
+ </div>
59
+ <div style = "float:right;">
60
+ <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
61
+ <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
62
+ <report-excel id='gasprice'></report-excel>
63
+ </div>
64
+ </div>
65
+ <!--<div class="span" style = "float:right;">-->
66
+
67
+ <!--</div>-->
68
+ </div>
69
+ </criteria>
70
+ <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
71
+ <table class='tableprint' style="margin: 0px auto">
72
+ <thead>
73
+ <tr>
74
+ <th :colspan='$parent.spans' style="font-weight: bold; text-align: left;">
75
+ <h3 style="text-align: center">营业厅分项汇总表</h3>
76
+ </th>
77
+ </tr>
78
+ <tr>
79
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
80
+ 开始时间:{{model.model.startDate}}&nbsp;&nbsp;&nbsp;
81
+ 结束时间:{{ model.model.endDate }}&nbsp;&nbsp;
82
+ </th>
83
+ </tr>
84
+ <tr>
85
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
86
+ 打印时间:{{{$parent.printTime}}}
87
+ </th>
88
+ </tr>
89
+ <tr>
90
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
91
+ <div>
92
+ <span v-show="$parent.orgname.trim()!=''">公司:{{$parent.orgname}}</span>
93
+ <span v-show="$parent.depname.trim()!=''"> 部门:{{$parent.depname}}</span>
94
+ <span v-show="$parent.operatorname.trim()!=''">人员:{{$parent.operatorname}}</span>
95
+ </div>
96
+ </th>
97
+ </tr>
98
+ </thead>
99
+ <tr>
100
+ <td :colspan='$parent.spans' class="noborder">
101
+ {{{ model.data.substring(26,model.data.length-8) }}}
102
+ </td>
103
+ </tr>
104
+ <tfoot>
105
+ <tr style="text-align: left">
106
+ <th :colspan='$parent.spans/3' style="font-weight: normal; text-align: left;">
107
+ 收款人:
108
+ </th>
109
+ <th :colspan='$parent.spans/3' style="font-weight: normal; text-align: left;">
110
+ 审核人:
111
+ </th>
112
+ <th :colspan='$parent.spans/3' style="font-weight: normal; text-align: left;">
113
+ 经手人:
114
+ </th>
115
+ </tr>
116
+ </tfoot>
117
+ </table>
118
+ {{{ $parent.reportStr}}}
119
+ </div>
120
+ </criteria-paged>
121
+ <modal :show.sync="show" v-ref:modal small backdrop="false">
122
+ <header slot="modal-header" class="modal-header">
123
+ <h4 class="modal-title">输入文件名称</h4>
124
+ </header>
125
+ <article slot="modal-body" class="modal-body">
126
+ <div class="form-group">
127
+ <input type="text" class="form-control" v-model="filename" placeholder='保存的文件名'>
128
+ </div>
129
+ </article>
130
+ <footer slot="modal-footer" class="modal-footer">
131
+ <button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
132
+ <button v-show="show" type="button" class="btn btn-success" @click='confirm(filename)'>确认</button>
133
+ </footer>
134
+ </modal>
135
+ </div>
136
+ </template>
137
+
138
+ <script>
139
+ import { DataModel } from 'vue-client'
140
+ import co from 'co'
141
+ let saveFile = function * (self) {
142
+ // 线验证文件是否重名
143
+ let count = yield self.$resetpost('rs/sql/manageSingleTable',
144
+ {data: {tablename: 't_report_record', condition: `f_files_name = '${self.filename}'`}},
145
+ {resolveMsg: null, rejectMsg: null})
146
+ if (count.data.length > 0) {
147
+ self.$showAlert('无法保存,文件名重名', 'warning', 3000)
148
+ return
149
+ }
150
+ let saveBack = yield self.$resetpost('rs/logic/saveReport', {f_files_content: self.$refs.paged.$els.handcollect.innerHTML,
151
+ f_files_name: self.filename, f_files_type: self.data.f_report_type, f_component_name: 'manage-bus-summary',
152
+ f_operator: this.$login.f.name, f_query_month: `${self.model.model.startDate}-${self.model.model.endDate}`,
153
+ f_outlets: this.$login.f.depname})
154
+ if (saveBack.data.status === 'succeed') {
155
+ self.show = false
156
+ self.filename = ''
157
+ // 后台保存完成,通知刷新
158
+ self.$dispatch('save-success', self.filename)
159
+ }
160
+ }
161
+ export default {
162
+ title: '营业厅分项汇总表',
163
+ props: ['data'],
164
+ data () {
165
+ return {
166
+ printTime: this.$login.toStandardTimeString(),
167
+ depresid: [],
168
+ userresid: [],
169
+ initres: {
170
+ org:[this.$login.f.orgid],
171
+ dep:[],
172
+ user:[]
173
+ },
174
+ f_orgid: this.$login.f.orgid,
175
+ f_depid: this.$login.f.depids,
176
+ f_operatorid: this.$login.f.id,
177
+ operatorid: [],
178
+ depid: [],
179
+ f_state:['有效'],
180
+ orgname: '',
181
+ depname: '',
182
+ operatorname: '',
183
+ orgCondtionStr: '1=1',
184
+ model: new DataModel('rs/report/fenxiangsell', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
185
+ f_orgid: 'this.model.f_orgid'}),
186
+ reportStr: null,
187
+ show: false,
188
+ spans: ''
189
+ }
190
+ },
191
+ ready () {
192
+ this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
193
+ this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
194
+ // this.$refs.paged.$refs.criteria.search()
195
+ },
196
+ methods: {
197
+ searchData () {
198
+ this.$refs.paged.$refs.criteria.search()
199
+ },
200
+ selfSearch (args) {
201
+ this.printTime = this.$login.toStandardTimeString()
202
+ this.orgCondtionStr='1=1'
203
+ if (this.f_orgid[0]) {
204
+ this.orgCondtionStr += ' and f_orgid in (' + this.f_orgid + ")"
205
+ }
206
+ if (this.f_depid[0]) {
207
+ this.orgCondtionStr += " and f_depid in (" + this.f_depid.toString() + ")"
208
+ }
209
+ if(this.f_operatorid[0]) {
210
+ this.orgCondtionStr += ' and f_operatorid in (' + this.f_operatorid + ")"
211
+ }
212
+ this.$refs.paged.$refs.criteria.model.f_orgid = this.orgCondtionStr.replace('1=1','') + (this.f_state && this.f_state != '' ? " and f_state='" + this.f_state + "' " : '')
213
+ this.$refs.paged.search(args)
214
+ },
215
+ getRes (obj) {
216
+ this.orgname = obj.res[0]
217
+ this.depresid = obj.resids
218
+ this.userresid = obj.resids
219
+ this.f_orgid = obj.resids
220
+ },
221
+ getdep (obj, val) {
222
+ this.depname = val[0]
223
+ // this.userresid = obj
224
+ this.f_depid = obj
225
+ },
226
+ getuser ( obj, val) {
227
+ this.operatorname = val[0]
228
+ this.f_operatorid = obj
229
+ },
230
+ // 根据文件路径获取储存的报表内容
231
+ getFileContent (path) {
232
+ this.$resetpost('rs/logic/getReportFileContent', {f_files_path: path}, {resolveMsg: null, rejectMsg: null}).then((res) => {
233
+ this.reportStr = res.data.filecontent
234
+ this.model.state = '正确'
235
+ })
236
+ },
237
+ confirm () {
238
+ if (!this.filename || this.filename === '') {
239
+ this.$showAlert('无法保存,文件名不能为空', 'warning', 3000)
240
+ }
241
+ let saveGen = saveFile(this)
242
+ co(saveGen)
243
+ },
244
+ close () {
245
+ this.show = false
246
+ },
247
+ // 将报表保存成文件
248
+ confirmReport () {
249
+ this.show = true
250
+ this.filename = this.data.f_report_name + this.$login.toStandardDateString()
251
+ }
252
+ },
253
+ watch: {
254
+ 'data' (val) {
255
+ if (val.f_files_path) {
256
+ this.getFileContent(val.f_files_path)
257
+ } else {
258
+ this.reportStr = null
259
+ }
260
+ },
261
+ 'model.data' (val) {
262
+ let len=0
263
+ let a=val.split('</tr>')
264
+ for(let i=0;i<a.length;i++){
265
+ if(a[i].split('</td>').length-1>len){
266
+ len=a[i].split('</td>').length-1
267
+ }
268
+ continue
269
+ }
270
+ this.spans = len
271
+ }
272
+ },
273
+ computed: {
274
+ charge_state() {
275
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
276
+ }
277
+ }
278
+ }
279
+ </script>
280
+ <style scoped>
281
+ .noborder{
282
+ border: none;
283
+ }
284
+ </style>
@@ -47,7 +47,7 @@
47
47
  <button class="button_clear button_spacing" @click="$parent.$parent.clearmsg">清空</button>
48
48
  <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
49
49
  :field="$parent.$parent.getfield"
50
- sqlurl="rs/logic/exportfile" sql-name="getExceptionList" template-name='异常查询'
50
+ sqlurl="rs/logic/exportfile" sql-name="DrillErrorByUserinfo" template-name='异常分析'
51
51
  :choose-col="true"></export-excel>
52
52
  <!--<button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showTotalForm()">显示汇总</button>-->
53
53
  <!-- <button class="button_search button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>-->
@@ -80,7 +80,7 @@
80
80
  </div>
81
81
  <div class="col-sm-2 form-group">
82
82
  <label style="width:35%" class="font_normal_body">气表品牌</label>
83
- <v-select :value.sync="model.f_meter_brand"
83
+ <v-select :value.sync="model.f_balance_amount"
84
84
  v-model="model.f_meter_brand"
85
85
  :options='$parent.$parent.meterbrands' placeholder='请选择'
86
86
  condition="f_meter_brand = '{}'"
@@ -176,6 +176,24 @@
176
176
  close-on-select>
177
177
  </v-select>
178
178
  </div>
179
+ <div class="col-sm-2 form-group">
180
+ <label style="width:35%" class="font_normal_body">是否欠费</label>
181
+ <v-select style="width:60%"
182
+ v-model="model.isowefee"
183
+ placeholder='是否欠费'
184
+ :value.sync="model.isowefee"
185
+ :options='$parent.$parent.owefee'
186
+ condition="isowefee = '{}'"
187
+ close-on-select>
188
+ </v-select>
189
+ </div>
190
+ <div class="col-sm-2 form-group">
191
+ <label class="font_normal_body">小区</label>
192
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_residential_area"
193
+ placeholder='请输入小区'
194
+ condition="f_residential_area like '%{}%'"
195
+ >
196
+ </div>
179
197
  <div class="col-sm-2 form-group">
180
198
  <label style="width:35%" class="font_normal_body">客户类型</label>
181
199
  <v-select style="width:60%"
@@ -199,6 +217,9 @@
199
217
  <th style="text-align:center">
200
218
  <nobr>客户编号</nobr>
201
219
  </th>
220
+ <th style="text-align:center">
221
+ <nobr>档案编号</nobr>
222
+ </th>
202
223
  <th style="text-align:center">
203
224
  <nobr>客户名称</nobr>
204
225
  </th>
@@ -208,6 +229,9 @@
208
229
  <th style="text-align:center">
209
230
  <nobr>客户地址</nobr>
210
231
  </th>
232
+ <th style="text-align:center">
233
+ <nobr>建档日期</nobr>
234
+ </th>
211
235
  <th style="text-align:center">
212
236
  <nobr>账户余额</nobr>
213
237
  </th>
@@ -223,6 +247,9 @@
223
247
  <th style="text-align:center">
224
248
  <nobr>抄表日期</nobr>
225
249
  </th>
250
+ <th style="text-align:center">
251
+ <nobr>是否欠费</nobr>
252
+ </th>
226
253
  <th style="text-align:center">
227
254
  <nobr>最后一次通讯时间</nobr>
228
255
  </th>
@@ -241,6 +268,9 @@
241
268
  <th style="text-align:center">
242
269
  <nobr>阀门状态</nobr>
243
270
  </th>
271
+ <th style="text-align:center">
272
+ <nobr>表底数</nobr>
273
+ </th>
244
274
  <th style="text-align:center">
245
275
  <nobr>异常类型</nobr>
246
276
  </th>
@@ -261,11 +291,13 @@
261
291
  <td style="text-align: center;"><nobr>
262
292
  <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
263
293
  </nobr> </td>
294
+ <td style="text-align:center"><nobr>{{row.f_olduserinfo_code}}</nobr></td>
264
295
  <td style="text-align:center"><nobr>{{row.username}}</nobr></td>
265
296
  <td style="text-align:center"><nobr>{{row.f_residential_area}}</nobr></td>
266
297
  <td>
267
298
  <nobr>{{row.address}}</nobr>
268
299
  </td>
300
+ <td style="text-align:center">{{row.f_createfile_date}}</td>
269
301
  <td style="text-align:center">{{row.f_balance_amount}}</td>
270
302
  <td style="text-align:center">{{row.f_user_phone}}</td>
271
303
  <td style="text-align:center"><nobr>{{row.f_meternumber}}</nobr></td>
@@ -275,6 +307,9 @@
275
307
  <td style="text-align:center">
276
308
  <nobr>{{row.f_hand_date}}</nobr>
277
309
  </td>
310
+ <td style="text-align:center">
311
+ <nobr>{{row.isowefee}}</nobr>
312
+ </td>
278
313
  <td style="text-align:center">
279
314
  <nobr>{{row.f_insert_date}}</nobr>
280
315
  </td>
@@ -293,6 +328,9 @@
293
328
  <td style="text-align:center">
294
329
  <nobr>{{row.f_valvestate == 0 ? '开阀' : '关阀'}}</nobr>
295
330
  </td>
331
+ <td style="text-align:center">
332
+ <nobr>{{row.f_meter_base}}</nobr>
333
+ </td>
296
334
  <td style="text-align:center">
297
335
  <nobr>{{row.f_error_type}}</nobr>
298
336
  </td>
@@ -338,8 +376,8 @@
338
376
 
339
377
  <script>
340
378
  import {HttpResetClass, PagedList} from 'vue-client'
341
- import * as Util from './../../Util'
342
- import getLodop from './../../plugins/LodopFuncs'
379
+ import * as Util from '../../Util'
380
+ import getLodop from '../../plugins/LodopFuncs'
343
381
  import plugin from 'system-clients/src/plugins/GetLoginInfoService'
344
382
 
345
383
  let readySomething = async function (self) {
@@ -366,9 +404,9 @@
366
404
  {label: '日', value: 'day'}
367
405
  ],
368
406
  getfield:{
369
- "f_userinfo_code":"客户编号", "f_user_name":"客户名称","f_residential_area":"小区", "address":"客户地址","f_balance_amount":"账户余额","f_user_phone":"联系电话",
370
- "f_meternumber":"表号","f_meter_brand":"气表品牌","f_hand_date":"抄表日期","f_insert_date":"最后一次通讯时间","f_electricity":"电池电量","f_batterylevel":"电池电压",
371
- "f_signal":"信号强度","f_magneticInterference":"磁干扰异常","f_valvestate":"阀门状态","f_error_type":"异常类型","f_error_level":"异常级别","f_orgname":"分公司"
407
+ "f_userinfo_code":"客户编号","f_olduserinfo_code":"档案编号", "f_user_name":"客户名称", "f_address":"客户地址","f_user_type":"客户类型","f_gasproperties":"用气性质",
408
+ "f_meternumber":"表号","f_meter_brand":"气表品牌","isowefee":"是否欠费","f_insert_date":"上报时间","f_error_level":"异常级别","f_error_type":"异常类型",
409
+ "f_error_msg":"异常描述","f_orgname":"组织机构","f_createfile_date":"建档日期","f_meter_base":"表底数"
372
410
  },
373
411
  outlets: [],
374
412
  operator: [],
@@ -531,10 +569,15 @@
531
569
  }
532
570
  },
533
571
  computed: {
572
+ // usertypes () {
573
+ // return this.$appdate.getParams("客户类型")
574
+ // },
534
575
  getCondition() {
535
576
  let condition=this.$refs.paged.$refs.cri.condition + this.orgCondtionStr
536
577
  return {
537
- condition: condition
578
+ condition: condition ,
579
+ startDate:`${this.$refs.paged.$refs.cri.model.startDate}`,
580
+ endDate:`${this.$refs.paged.$refs.cri.model.endDate}`
538
581
  }
539
582
  },
540
583
  usertypes() {
@@ -545,8 +588,10 @@
545
588
  },
546
589
  abnormalstatus(){
547
590
  return this.$getParams('异常状态', [{label: '全部', value: ''}])
591
+ },
592
+ owefee(){
593
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('是否')]
548
594
  }
549
-
550
595
  }
551
596
  }
552
597
  </script>