manage-client 3.2.216 → 3.2.218

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.
@@ -0,0 +1,270 @@
1
+ <template lang="html">
2
+ <div :class="classname" :style="{width:width,height:height}">
3
+ <div style="height: 97%;">
4
+ <div class="col-sm-3" style="height: 97%">
5
+ <div class="row form-group" style="height: 5%">
6
+ <label class="font_normal_body" >使用公司:</label>
7
+ <res-select :initresid='model.orgid'
8
+ @res-select="getorg"
9
+ :is-mul="false"
10
+ class="select select_list"
11
+ restype='organization'
12
+ style="width: 60%">
13
+ </res-select>
14
+ </div>
15
+ <div class="row" style="margin-left: 5%;margin-right: 5%;height: 15%;text-align:center;" >
16
+ <h4 style="font-size: 18px;">用户数量</h4>
17
+ <table class="col-sm-12 table table-bordered table-striped" style="font-size: 16px;">
18
+ <tr class="text-center">
19
+ <th style="text-align:center;"><nobr>现有户数</nobr></th>
20
+ <th style="text-align:center;"><nobr>年度新增</nobr></th>
21
+ <th style="text-align:center;"><nobr>本月新增</nobr></th>
22
+ <th style="text-align:center;"><nobr>未开户数</nobr></th>
23
+ </tr>
24
+ <tr>
25
+ <td style="text-align:center;"><nobr>{{num}}</nobr></td>
26
+ <td style="text-align:center;"><nobr>{{year}}</nobr></td>
27
+ <td style="text-align:center;"><nobr>{{month}}</nobr></td>
28
+ <td style="text-align:center;"><nobr>{{noopen}}</nobr></td>
29
+ </tr>
30
+ </table>
31
+ </div>
32
+ <div style="width: 100%;height: 40%;margin-top: 10%;text-align:center;">
33
+ <h4 style="font-size: 18px;">民用分类实有户数</h4>
34
+ <ring-chart :sdata="sdata2" ></ring-chart>
35
+ </div>
36
+ <div style="width: 100%;height: 40%;text-align:center;">
37
+ <h4 style="font-size: 18px;">工商业分类实有户数</h4>
38
+ <ring-chart :sdata="sdata1" ></ring-chart>
39
+ </div>
40
+ </div>
41
+ <div class="col-sm-6" style="height: 97%;text-align:center;">
42
+ <h3>营收系统数据统计信息</h3>
43
+ <div style="width: 100%;height: 50%">
44
+ <div>
45
+ <bar-chart :xdata="xdata" :sdata="sdata" :legend="legendData" :xname="xname" :yname="yname"> </bar-chart>
46
+ </div>
47
+ </div>
48
+ <div style="width: 100%;height: 50%">
49
+ <div>
50
+ <!-- <bussiness-type :orgid='model.orgid[0]' v-ref:pay ></bussiness-type>-->
51
+ <bar-chart :xdata="xdata3" :sdata="sdata3" :legend="legendData1" :xname="xname" :yname="yname"> </bar-chart>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ <div class="col-sm-3" style="height: 97%">
56
+ <div style="width: 100%;height: 95%;margin-top: 10%;margin-right: 5%;" align="center">
57
+ <h4 style="font-size: 18px;">各类表具在用用户数量</h4>
58
+ <data-grid :model=mood class="table_sy" partial='list' >
59
+ <template partial='head' >
60
+ <tr>
61
+ <th><nobr>气表品牌</nobr></th>
62
+ <th><nobr>使用户数</nobr></th>
63
+ <th><nobr>异常户数</nobr></th>
64
+ </tr>
65
+ </template>
66
+ <template partial='body' >
67
+ <tr>
68
+ <td><nobr>{{row.f_meter_brand}}</nobr></td>
69
+ <td><nobr>{{row.num}}</nobr></td>
70
+ <td><nobr>{{row.c}}</nobr></td>
71
+ </tr>
72
+ </template>
73
+ </data-grid>
74
+ <table class="table-hover">
75
+ <tr style="position: relative" class="table-bordered">
76
+ <td
77
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;color: #5CB95C;font-weight: bold">
78
+ 汇总信息
79
+ </td>
80
+ <td
81
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;font-weight: bold; margin-left: 25px;">
82
+ 总户数:&emsp;{{ totalUser }}
83
+ </td>
84
+ </tr>
85
+ </table>
86
+
87
+ </div>
88
+ </div>
89
+ </div>
90
+ </div>
91
+
92
+ </template>
93
+
94
+ <script>
95
+ import * as Util from '../../Util'
96
+ import { HttpResetClass } from 'vue-client'
97
+
98
+ export default {
99
+ title: '分析统计',
100
+ props: {
101
+ classname: {
102
+ type: String,
103
+ default: 'basic-main'
104
+ },
105
+ width: {
106
+ type: String,
107
+ default: '98.5%'
108
+ },
109
+ height: {
110
+ type: String,
111
+ default: '98%'
112
+ }
113
+ },
114
+ watch:{
115
+ 'f_orgid'(val) {
116
+ // if (val) {
117
+ this.ks()
118
+ // }
119
+ }
120
+ },
121
+ data() {
122
+ return {
123
+ jurisdiction: this.$login.r,
124
+ model: {
125
+ orgid: [this.$login.f.orgid],
126
+ startDate: Util.toStandardDateString(),
127
+ endDate: Util.toStandardDateString()
128
+ },
129
+ f_orgid: '',
130
+ xdata:[],
131
+ totalUser: 0,
132
+ sdata: [],
133
+ legendData: ['民用'],
134
+ sdata1:[],
135
+ sdata2:[],
136
+ legendData1: ['非民用'],
137
+ xdata3: [],
138
+ sdata3: [],
139
+ xname:"年份",
140
+ yname:"户数",
141
+ num:'',
142
+ year:'',
143
+ month:'',
144
+ noopen:'',
145
+ arr:[],
146
+ arrs:[],
147
+ mood:'',
148
+ resoptions: []
149
+ }
150
+
151
+ },
152
+ ready() {
153
+
154
+ },
155
+ methods: {
156
+ ks(){
157
+ this.xdata = []
158
+ this.sdata = []
159
+ this.sdata1 = []
160
+ this.sdata2 = []
161
+ this.xdata3 = []
162
+ this.sdata3 = []
163
+ this.num = ''
164
+ this.year = ''
165
+ this.month = ''
166
+ this.noopen = ''
167
+ this.arr = []
168
+ this.arrs = []
169
+ this.mood = ''
170
+ this.getuser()
171
+ this.getType()
172
+ this.getType1()
173
+ this.getnumber()
174
+ this.getnumber1()
175
+ this.getmeterbrand()
176
+ console.log("7777777777777",this.sdata)
177
+ },
178
+ getorg (val) {
179
+ this.f_orgid = this.$login.convertToIn(val)
180
+ // this.$parent.f_orgid = this.f_orgid
181
+ },
182
+ async getuser (){
183
+ let load = new HttpResetClass()
184
+ // let id = this.model.orgid.toString()
185
+ await load.load('POST','rs/sql/getUser', {data: {f_orgid: this.f_orgid}}).then((res) => {
186
+ console.log("加载res",res)
187
+ for (var i = 0; i < res.data.length; i++) {
188
+ this.num = res.data[i].number
189
+ this.year = res.data[i].year
190
+ this.month = res.data[i].month
191
+ this.noopen = res.data[i].noopen
192
+ }
193
+ })
194
+ },
195
+ async getType (){
196
+ let load = new HttpResetClass()
197
+ // let id = this.model.orgid.toString()
198
+ await load.load('POST','rs/sql/getTypess', {data: {f_orgid: this.f_orgid}}).then((res) => {
199
+ const rdata = res.data
200
+ for (let i = 0; i < rdata.length; i++) {
201
+ const object={
202
+ value: rdata[i].f_type,
203
+ name: rdata[i].f_devices_type
204
+ }
205
+ this.sdata2.push(object)
206
+ }
207
+ })
208
+ },
209
+ async getType1 (){
210
+ let load = new HttpResetClass()
211
+ // let id = this.model.orgid.toString()
212
+ await load.load('POST','rs/sql/getTypek', {data: {f_orgid: this.f_orgid}}).then((res) => {
213
+ const rdata = res.data
214
+ for (let i = 0; i < rdata.length; i++) {
215
+ const object = {
216
+ value:rdata[i].f_type,
217
+ name:rdata[i].f_devices_type
218
+ }
219
+ this.sdata1.push(object)
220
+ }
221
+ })
222
+ },
223
+ async getnumber (){
224
+ let load = new HttpResetClass()
225
+ // let id = this.model.orgid.toString()
226
+ await load.load('POST','rs/sql/getNumberss', {data: {f_orgid: this.f_orgid}}).then((res) => {
227
+ const rdata=res.data
228
+ for (let i = 0; i < rdata.length; i++) {
229
+ this.arr.push(rdata[i].num)
230
+ this.xdata.push(rdata[i].f_gas_date)
231
+ }
232
+ this.sdata.push(this.arr)
233
+ })
234
+ },
235
+ async getnumber1 (){
236
+ let load = new HttpResetClass()
237
+ // let id = this.model.orgid.toString()
238
+ await load.load('POST','rs/sql/getNumbers', {data: {f_orgid: this.f_orgid}}).then((res) => {
239
+ console.log("加载res3",res)
240
+ const rdata=res.data
241
+ for (let i = 0; i < rdata.length; i++) {
242
+ console.log(rdata[i].f_gas_date)
243
+ console.log(rdata[i].num)
244
+ this.arrs.push(rdata[i].num)
245
+ this.xdata3.push(rdata[i].f_gas_date)
246
+ }
247
+ console.log("222222222222222222222222",this.xdata3)
248
+ this.sdata3.push(this.arrs)
249
+ })
250
+ },
251
+ async getmeterbrand (){
252
+ let load = new HttpResetClass()
253
+ // let id = this.model.orgid.toString()
254
+ await load.load('POST','rs/sql/getMeterbrand', {data: {f_orgid: this.f_orgid}}).then((res) => {
255
+ this.mood=res
256
+ })
257
+ this.mood.data.forEach(item => {
258
+ this.totalUser = item.num + this.totalUser
259
+ })
260
+ console.log(this.totalUser)
261
+ }
262
+ // searchdata () {
263
+ // this.$refs.pay.searchdata()
264
+ // },
265
+ }
266
+ }
267
+ </script>
268
+
269
+ <style lang="css">
270
+ </style>
@@ -44,6 +44,8 @@ let specialComp = {
44
44
  'user-address': (resolve) => { require(['./UserAddress.vue'], resolve) },
45
45
  //地址变更记录
46
46
  'user-address-change': (resolve) => { require(['./UserAddressChange.vue'], resolve) },
47
+ // 统计分析
48
+ 'statistical-analysis': (resolve) => { require(['./StatisticalAnalysis.vue'], resolve) },
47
49
  }
48
50
  exports.specialComp = specialComp
49
51
 
@@ -294,6 +294,16 @@
294
294
  condition="f_operator in {}"
295
295
  close-on-select></v-select>
296
296
  </div>
297
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
298
+ <label class="font_normal_body">金额</label>
299
+ <div class="row">
300
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_collection_small"
301
+ condition="f_collection >= {} " placeholder="">
302
+ <label class="font_normal_body"> ≤ x ≤ </label>
303
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_collection_big"
304
+ condition="f_collection <= {} " placeholder="">
305
+ </div>
306
+ </div>
297
307
  </div>
298
308
  </div>
299
309
  </criteria>
@@ -758,7 +758,7 @@
758
758
 
759
759
  <script>
760
760
  import {HttpResetClass, PagedList} from 'vue-client'
761
- import exportConfig from '../../components/sale/config/exportConfig'
761
+ import exportConfig from './config/exportConfig'
762
762
  let cardBtnGen = async function (self, val) {
763
763
  self.cardInfo = val.data
764
764
 
@@ -811,7 +811,7 @@
811
811
 
812
812
  footer:[],
813
813
  config: {
814
- defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_pregas', 'f_collection', 'f_stairamount1', 'f_stair2amount', 'f_stair3amount','f_operate_date','f_address','f_pregas','fee','f_payment','f_depname']
814
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_pregas', 'f_collection', 'f_stairamount1', 'f_stair2amount', 'f_stair3amount','f_operate_date','f_address','fee','f_payment','f_depname']
815
815
  },
816
816
  //排序
817
817
  orderitem:'f_operate_date desc',
@@ -46,7 +46,7 @@
46
46
  <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
47
47
  :field="$parent.$parent.getfield" :header="$parent.$parent.other"
48
48
  sqlurl="rs/logic/exportfile" sql-name="otherChargeQuery" template-name='其他收费查询导出'
49
- :choose-col="true"></export-excel>
49
+ :choose-col="true" :defaultselect="$parent.$parent.defaultexport"></export-excel>
50
50
  <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
51
51
  :defaultfield="$parent.$parent.defaultfield"
52
52
  titletable="其他收费记录"
@@ -405,7 +405,7 @@
405
405
  <script>
406
406
  import {PagedList} from 'vue-client'
407
407
  import defaultPrint from '../../components/sale/config/DefaultPrint'
408
- import exportConfig from '../../components/sale/config/exportConfig'
408
+ import exportConfig from './config/exportConfig'
409
409
  import OtherChargeDetailQuery from "../../components/sale/businessquery/OtherChargeDetailQuery";
410
410
 
411
411
  let readySomething = async function (self) {
@@ -659,6 +659,9 @@
659
659
  service_person() {
660
660
  return [{label: '全部', value: ''}, ...this.$appdata.getParam('服务人员')]
661
661
  },
662
+ defaultexport(){
663
+ return exportConfig.otherchargeexportConfig
664
+ },
662
665
  getfield() {
663
666
  return exportConfig.otherchargeConfig
664
667
  },
@@ -285,7 +285,7 @@
285
285
  orgid:[this.$login.f.orgid],
286
286
  criteriaShow:false,
287
287
  orgCondtionStr: '',
288
- model: new PagedList('rs/sql/manage_getReportList', 50,{},{f_meterbalanceamt: 0,f_tablebase: 0,f_meterdebitamt: 0,f_total_fee}),
288
+ model: new PagedList('rs/sql/manage_getReportList', 50,{},{f_meterbalanceamt: 0,f_tablebase: 0,f_meterdebitamt: 0,f_total_fee: 0}),
289
289
  areaList:[],
290
290
  isShow:false,
291
291
  }
@@ -0,0 +1,6 @@
1
+ export default{
2
+ //把打印需要默认选中的字段名放在config数组中
3
+ config: [
4
+ "f_userinfo_code","f_user_name","f_user_phone","f_pregas","f_preamount","f_collection","f_balance","f_curbalance","f_idnumber"
5
+ ]
6
+ }