manage-client 3.2.294 → 3.2.296

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,240 @@
1
+ <template lang="html">
2
+ <div class="basic-main" style="height: 100%;">
3
+ <div class="row" style="height: 15%;width: 100%;" v-show="echarts">
4
+ <div class="col-sm-2" style="display: inline-block;">
5
+ <button @click="$parent.notShowEcharts()" class="button_clear button_spacing">隐藏图表</button>
6
+ </div>
7
+ <!--图显示模板-->
8
+ <div class="row col-sm-3 mystyle" style="display: inline-block;">
9
+ <label class="font_normal_body">图表统计项</label>
10
+ <v-select :options='$parent.getgroupname' :value.sync="groupname"
11
+ close-on-select
12
+ id="groupname"
13
+ placeholder='分组项'
14
+ v-model="groupname"
15
+ value-single="true"></v-select>
16
+ </div>
17
+ </div>
18
+ <div style="height: 80%;width: 98%;">
19
+ <div id="info"></div>
20
+ </div>
21
+ </div>
22
+ </template>
23
+
24
+ <script>
25
+ import * as Util from '../../Util'
26
+ import co from 'co'
27
+ import { HttpResetClass } from 'vue-client'
28
+
29
+ let getData = function * (self, condition) {
30
+ let load = new HttpResetClass()
31
+ load.load('POST', 'rs/sql/webmeter_getUserGasGroup',
32
+ {data: {condition: condition, groupname: self.groupname[0], startDate: self.startdate,
33
+ endDate: self.enddate}},
34
+ {resolveMsg: null, rejectMsg: null})
35
+ .then((res) => {
36
+ let arrparams = []
37
+ let gasdata1 = []
38
+ let gasdata2 = []
39
+ let gasdata3 = []
40
+ for (var i = 0; i < res.data.length; i++) {
41
+ arrparams[i] = res.data[i].f_type
42
+ gasdata1[i] = res.data[i].f_oughtamount1
43
+ gasdata2[i] = res.data[i].f_oughtamount2
44
+ gasdata3[i] = res.data[i].f_oughtamount3
45
+ }
46
+ self.set(arrparams, gasdata1, gasdata2, gasdata3)
47
+ })
48
+ }
49
+ export default {
50
+ props: {
51
+ echarts:{
52
+ type:Boolean,
53
+ default:false
54
+ },
55
+ startdate: {
56
+ type: String,
57
+ default: Util.toStandardDateString()
58
+ },
59
+ enddate: {
60
+ type: String,
61
+ default: Util.toStandardDateString()
62
+ },
63
+ condition: {
64
+ type: String,
65
+ default: '1=1'
66
+ },
67
+ groupname: {
68
+ type: String,
69
+ default: 'year'
70
+ }
71
+ },
72
+ data () {
73
+ title: '业务类型'
74
+ return {
75
+ xc: ''
76
+ }
77
+ },
78
+ ready(){
79
+ console.log(this.echarts)
80
+ },
81
+ methods: {
82
+ set (arrparams, gasdata1, gasdata2, gasdata3) {
83
+ console.log('--------->>>>>>>>>>>>',arrparams,gasdata1,gasdata3)
84
+ console.log("ec:"+this.echarts)
85
+ let name = ''
86
+ if (this.groupname === 'year')
87
+ {
88
+ name = '年'
89
+ } else if (this.groupname === 'month'){
90
+ name = '月'
91
+ } else if (this.groupname === 'week'){
92
+ name = '周'
93
+ } else {
94
+ name = '日'
95
+ }
96
+ const statInfo = document.getElementById('info') // 获取图表元素
97
+ statInfo.style.width = window.innerWidth - 200 + "px"; //初始化echarts图表宽度
98
+ statInfo.style.height = window.innerHeight - 200 + "px"; //初始化echarts图表宽度
99
+ this.xc = this.$echarts.init(statInfo)
100
+ // 设置宽度自适应
101
+ window.addEventListener('resize', () => {
102
+ statInfo.style.width = window.innerWidth - 200 + "px";
103
+ statInfo.style.height = window.innerHeight - 200 + "px";
104
+ this.xc.resize();
105
+ })
106
+ // this.xc.resize({height: '100%',width: '100%'})
107
+ this.xc.setOption({
108
+ title: {
109
+ text: '用气' + name + '分析图',
110
+ left: 'center',
111
+ y: '10',
112
+ textStyle: {
113
+ color: '#000',
114
+ fontSize: 20
115
+ }
116
+ },
117
+ color: ['#0070c0', '#00b050','#e1a822'],
118
+ tooltip: {
119
+ trigger: 'axis',
120
+ extraCssText: 'width: auto;height: auto;'
121
+ },
122
+ grid:{
123
+ top:'20%',
124
+ },
125
+ legend: {
126
+ y: '50',
127
+ data: ['用气量(民用)(m³)', '用气量(商业)(m³)', '用气量(工业)(m³)']
128
+ },
129
+ toolbox: {
130
+ y: '50',
131
+ show: true,
132
+ right:'2%',
133
+ feature: {
134
+ mark: {show: true},
135
+ dataView: {show: true, readOnly: false},
136
+ magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']},
137
+ restore: {show: true},
138
+ saveAsImage: {show: true}
139
+ }
140
+ },
141
+ calculable: true,
142
+ xAxis: [
143
+ { name: '日期',
144
+ nameTextStyle: {
145
+ fontSize: 15
146
+ },
147
+ type: 'category',
148
+ data: arrparams
149
+ }
150
+ ],
151
+ yAxis : [
152
+ {
153
+ type : 'value',
154
+ name: '用气量(m³)',
155
+ nameTextStyle: {
156
+ fontSize: 15
157
+ },
158
+ axisLabel: {
159
+ show: true,
160
+ textStyle: {
161
+ fontSize: 15,
162
+ 'color': '#7d8000'
163
+ }
164
+ }
165
+ }
166
+ ],
167
+ series : [
168
+ {
169
+ name: '用气量(民用)(m³)',
170
+ type: 'bar',
171
+ smooth: true,
172
+ itemStyle: {normal: {areaStyle: {type: 'default'}}},
173
+ data: gasdata1,
174
+ markPoint: {
175
+ data: [
176
+ {type: 'max', name: '最大值'},
177
+ {type: 'min', name: '最小值'}
178
+ ]
179
+ },
180
+ markLine: {
181
+ data: [
182
+ {type: 'average', name: '平均值'}
183
+ ]
184
+ }
185
+ },
186
+ {
187
+ name: '用气量(商业)(m³)',
188
+ type: 'bar',
189
+ smooth: true,
190
+ itemStyle: {normal: {areaStyle: {type: 'default'}}},
191
+ data: gasdata2,
192
+ markPoint: {
193
+ data: [
194
+ {type: 'max', name: '最大值'},
195
+ {type: 'min', name: '最小值'}
196
+ ]
197
+ },
198
+ markLine: {
199
+ data: [
200
+ {type: 'average', name: '平均值'}
201
+ ]
202
+ }
203
+ },
204
+ {
205
+ name: '用气量(工业)(m³)',
206
+ type: 'bar',
207
+ smooth: true,
208
+ itemStyle: {normal: {areaStyle: {type: 'default'}}},
209
+ data: gasdata3,
210
+ markPoint: {
211
+ data: [
212
+ {type: 'max', name: '最大值'},
213
+ {type: 'min', name: '最小值'}
214
+ ]
215
+ },
216
+ markLine: {
217
+ data: [
218
+ {type: 'average', name: '平均值'}
219
+ ]
220
+ }
221
+ }
222
+ ]
223
+ })
224
+ },
225
+ searchdata (condition) {
226
+ console.log("ec:"+this.echarts)
227
+ let getGen = getData(this, condition)
228
+ co(getGen)
229
+ }
230
+ },
231
+ watch: {
232
+ 'echarts' (val) {
233
+ this.searchdata(this.condition)
234
+ },
235
+ 'groupname' (val) {
236
+ this.searchdata(this.condition)
237
+ }
238
+ }
239
+ }
240
+ </script>
@@ -2,6 +2,7 @@
2
2
  import Vue from 'vue'
3
3
 
4
4
  export default function () {
5
+ Vue.component('echarts-box', (resolve) => { require(['./EchartsBox'], resolve) })
5
6
  // 收费查询
6
7
  Vue.component('site-manager', (resolve) => { require(['./SiteManager'], resolve) })
7
8
  // 新增用户散列图
@@ -5,4 +5,8 @@ export default function () {
5
5
  Vue.component('user-lost-contact-analysis', (resolve) => { require(['./UserLostContactAnalysis'], resolve) })
6
6
  // 失联查询
7
7
  Vue.component('lost-contact-analysis-list', (resolve) => { require(['./LostContactAnalysisList'], resolve) })
8
+ // 失联查询
9
+ Vue.component('new-webmeter-user-gas-all', (resolve) => { require(['./UserGasAll.vue'], resolve) })
10
+ // 失联查询
11
+ Vue.component('user-gas-echarts', (resolve) => { require(['./UserGasEcharts.vue'], resolve) })
8
12
  }
@@ -401,7 +401,8 @@
401
401
  return {
402
402
  condition: this.condition,
403
403
  startDate:`${this.$refs.paged.$refs.criteria.model.startDate}`,
404
- endDate:`${this.$refs.paged.$refs.criteria.model.endDate}`
404
+ endDate:`${this.$refs.paged.$refs.criteria.model.endDate}`,
405
+ f_userinfo_code:`${this.$refs.paged.$refs.criteria.model.f_userinfo_code}`
405
406
  }
406
407
  },
407
408
  getstart(){
@@ -0,0 +1,196 @@
1
+ <template>
2
+ <div class="basic-main" style="height: 100%">
3
+ <div class="form-group" >
4
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
5
+ <div class="row">
6
+ <div class="col-sm-3 form-group" >
7
+ <label class="font_normal_body" for="startDate">开始日期:</label>
8
+ <datepicker id="startDate" placeholder="开始日期" style="width: 60%"
9
+ v-model="model.startDate"
10
+ :value.sync="model.startDate"
11
+ :disabled-days-of-Week="[]"
12
+ :format="'yyyy-MM-dd HH:mm:ss'"
13
+ :show-reset-button="reset">
14
+ </datepicker>
15
+ </div>
16
+ <div class="col-sm-3 form-group" >
17
+ <label class="font_normal_body" for="endDate">结束日期:</label>
18
+ <datepicker id="endDate" placeholder="结束日期" style="width: 60%"
19
+ v-model="model.endDate"
20
+ :value.sync="model.endDate"
21
+ :disabled-days-of-Week="[]"
22
+ :format="'yyyy-MM-dd HH:mm:ss'"
23
+ :show-reset-button="reset">
24
+ </datepicker>
25
+ </div>
26
+ <div class="col-sm-3 form-group" >
27
+ <label class="font_normal_body" for="org">公&emsp;&emsp;司:</label>
28
+ <right-tree id="org" @re-res="getRes"></right-tree>
29
+ </div>
30
+ <div class="col-sm-3 form-group">
31
+ <label class="font_normal_body" for="dep" >部&emsp;&emsp;门:</label>
32
+ <res-select id="dep" restype='department'
33
+ @res-select="getdep"
34
+ :parentresid="depresid"
35
+ :initresid='queryData.depid' >
36
+ </res-select>
37
+
38
+ </div>
39
+ <div class="col-sm-3 form-group">
40
+ <label class="font_normal_body">气表品牌</label>
41
+ <v-select :value.sync="model.f_meter_brand"
42
+ v-model="model.f_meter_brand"
43
+ :options="meterbrands" value-single
44
+ close-on-select></v-select>
45
+ </div>
46
+ <div class="col-sm-3 form-group">
47
+ <label class="font_normal_body">换表类型</label>
48
+ <v-select :value.sync="queryData2.f_changetables_reason"
49
+ v-model="queryData2.f_changetables_reason"
50
+ :options="reasons" multiple>
51
+ </v-select>
52
+ </div>
53
+ <div class="col-sm-2 form-group" style="float:right;">
54
+ <button class="button_search" @click="searchData()">查询</button>
55
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':criteriaShow,
56
+ 'button_shrink_bottom':!criteriaShow}" @click="hidden()"></div>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ <div style="width:100%;height: 100%;margin-top: 2%" class="div-iframe">
61
+ <iframe class="iframe_style" style="width:100%;height:100% ;border: medium none;" :src="url" v-if="isShow"></iframe>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </template>
66
+
67
+ <script>
68
+ let readySomething = async function (self) {
69
+ await self.$MagLoadParams.loadParam()
70
+ self.initParams()
71
+ }
72
+ export default {
73
+ title: '客户类型分项汇总表',
74
+ data () {
75
+ return {
76
+ orgCondtionStr: '1=1',
77
+ model: {
78
+ startDate: '',
79
+ endDate: '',
80
+ f_meter_brand: ''
81
+ },
82
+ isShow: false,
83
+ url: '',
84
+ urlPrefix: 'http://139.9.204.64:8080/report/jmreport/shareView/825973291077713920',
85
+ queryData: {
86
+ f_orgid: [],
87
+ f_depid: [],
88
+ f_payment: []
89
+ },
90
+ queryData2: {
91
+ f_changetables_reason: []
92
+ },
93
+ orgname: '',
94
+ depresid: [],
95
+ userresid: [],
96
+ depname: '',
97
+ operatorname: '',
98
+ operatorid: [],
99
+ depid: [],
100
+ criteriaShow: false,
101
+ meterbrands: [],
102
+ reasons: this.$appdata.getParam('换表原由') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('换表原由')] : [],
103
+ }
104
+ },
105
+ ready () {
106
+ this.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
107
+ this.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
108
+ // this.$refs.paged.$refs.criteria.search()
109
+ readySomething(this).then(() => {
110
+ this.$emit('ready')
111
+ }).catch((error) => {
112
+ this.$emit('error', error)
113
+ })
114
+ this.searchData()
115
+ },
116
+ methods: {
117
+ initParams () {
118
+ // 初始化气表品牌
119
+ let brandArr = []
120
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
121
+ let temp = {}
122
+ temp.label = item.label
123
+ temp.value = item.value.f_meter_brand
124
+ brandArr.push(temp)
125
+ })
126
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
127
+ },
128
+ dataHand (obj) {
129
+ let queryData = ''
130
+ queryData = this.orgCondtionStr
131
+ for (let key in obj) {
132
+ if (obj[key] !== null && obj[key] !== '' && obj[key] !== undefined && obj[key].length > 0) {
133
+ if (Array.isArray(obj[key])) {
134
+ let stringValue = ''
135
+ for (var i = 0; i < obj[key].length; i++) {
136
+ if (i === obj[key].length - 1) {
137
+ stringValue = stringValue + "'" + obj[key][i] + "'"
138
+ } else {
139
+ stringValue = stringValue + "'" + obj[key][i] + "',"
140
+ }
141
+ }
142
+ queryData = queryData + ' and t.' + key + ' in (' + stringValue + ')'
143
+ } else {
144
+ queryData = queryData + ' and t.' + key + ' = ' + "'" + obj[key] + "'"
145
+ }
146
+ }
147
+ }
148
+ return queryData
149
+ },
150
+ searchData () {
151
+ let condition = this.dataHand(this.queryData)
152
+ let f_changetables_reason = this.dataHand(this.queryData2)
153
+ // 重置url
154
+ this.url = ''
155
+ // encodeURIComponent是将该参数中的特殊符号进行编码,后端会进行解码
156
+ this.url = this.urlPrefix + '?condition=' + encodeURIComponent(condition) +
157
+ '&startDate=' + encodeURIComponent(this.model.startDate) +
158
+ '&endDate=' + encodeURIComponent(this.model.endDate) +
159
+ '&f_meter_brand=' + encodeURIComponent(this.model.f_meter_brand) +
160
+ '&f_changetables_reason=' + encodeURIComponent(f_changetables_reason)
161
+ console.log('报表===>' + this.url)
162
+ this.isShow = true
163
+ },
164
+ load () {
165
+ this.isShow = true
166
+ },
167
+ getRes (obj) {
168
+ this.orgname = obj.res[0]
169
+ this.depresid = obj.resids
170
+ this.userresid = obj.resids
171
+ this.queryData.f_orgid = obj.resids
172
+ },
173
+ getdep (obj, val) {
174
+ this.depname = val[0]
175
+ this.userresid = obj
176
+ this.queryData.f_depid = obj
177
+ },
178
+ hidden () {
179
+ this.criteriaShow = !this.criteriaShow
180
+ }
181
+ },
182
+ computed: {
183
+ }
184
+ }
185
+ </script>
186
+ <style scoped>
187
+ .noborder{
188
+ border: none;
189
+ }
190
+ .span{
191
+ height: 0;
192
+ }
193
+ .iframe_style{
194
+ border: medium none;
195
+ }
196
+ </style>
@@ -10,5 +10,6 @@ export default function () {
10
10
  Vue.component('echarts-box', (resolve) => { require(['./EchartsBox'], resolve) })
11
11
  // 新增用户散列图
12
12
  Vue.component('bank-manager', (resolve) => { require(['./BankManager'], resolve) })
13
-
13
+ // 换表故障统计报表
14
+ Vue.component('change-meter-fault-summary', (resolve) => { require(['./meterFaultChangeSummary'], resolve) })
14
15
  }
package/src/main.js CHANGED
@@ -7,8 +7,9 @@ import { system } from 'system-clients'
7
7
  import { ldap } from 'ldap-clients'
8
8
  import saleManage from './saleManage'
9
9
  import webmeterManage from './webmeterManage'
10
+ import webmeterManageF from './filiale/shanxian/webmeterManage'
10
11
  import reportManage from './reportManage'
11
- import reportManageF from './filiale/xinkang/reportManage'
12
+ import reportManageF from './filiale/shanxian/reportManage'
12
13
  import newmanage from './newmanage'
13
14
  import ManageHome from './ManageHome'
14
15
  import echarts from 'echarts'
@@ -47,6 +48,7 @@ system(false)
47
48
 
48
49
  saleManage()
49
50
  webmeterManage()
51
+ webmeterManageF()
50
52
  ManageHome()
51
53
  newmanage()
52
54
  reportManage()