manage-client 3.2.18 → 3.2.22

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.
@@ -1,249 +1,325 @@
1
- <template>
2
- <div id="unit" class="flex-row">
3
- <div class="basic-main" @keyup.enter="search">
4
- <div class="flex">
5
- <criteria-paged :model="model" v-ref:paged>
6
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
7
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
- <div class="row">
9
- <div class="col-sm-2 form-group">
10
- <label class="font_normal_body">客户编号</label>
11
- <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
12
- condition="f_userinfo_code = '{}' " placeholder="客户编号">
13
- </div>
14
- <div class="col-sm-2 form-group">
15
- <label class="font_normal_body">客户名称</label>
16
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
17
- condition=" f_user_name like '%{}%'" placeholder='客户名称'>
18
- </div>
19
- <!-- <div class="col-sm-2">-->
20
- <!-- <label class="font_normal_body">组织机构</label>-->
21
- <!-- <res-select :initresid="$parent.$parent.org"-->
22
- <!-- style="width:60%"-->
23
- <!-- @res-select="$parent.$parent.getorg"-->
24
- <!-- restype='organization'>-->
25
- <!-- </res-select>-->
26
-
27
- <!-- </div>-->
28
- <div class="col-sm-2">
29
- <label class="font_normal_body">&emsp;公司&emsp;</label>
30
- <right-tree @re-res="$parent.$parent.getorg"
31
- :initresid='$parent.$parent.org'></right-tree>
32
- </div>
33
- <div class="span" style="float:right;">
34
- <button class="button_search button_spacing" @click="search()">查询</button>
35
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
36
- <div style="float: right" class="button_spacing"
37
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
38
- @click="$parent.$parent.hidden()"></div>
39
- </div>
40
-
41
- </div>
42
-
43
- <div class="row" v-show="$parent.$parent.criteriaShow">
44
- <div class="col-sm-2 form-group">
45
- <label class="font_normal_body">表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</label>
46
- <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
47
- condition="f_meternumber like '%{}%'" placeholder='表号'>
48
- </div>
49
- <div class="col-sm-2 form-group">
50
- <label class="font_normal_body">气表品牌</label>
51
- <v-select
52
- placeholder='气表品牌'
53
- :value.sync="model.f_meter_brand"
54
- v-model="model.f_meter_brand"
55
- :options='$parent.$parent.meterbrands'
56
- close-on-select
57
- condition="f_meter_brand='{}'">
58
- </v-select>
59
- </div>
60
- <div class="col-sm-2 form-group" >
61
- <label class="font_normal_body">气表类型</label>
62
- <v-select
63
- placeholder='气表类型'
64
- :value.sync="model.f_meter_classify"
65
- v-model="model.f_meter_classify"
66
- :options='$parent.$parent.metertypes'
67
- close-on-select
68
- condition="f_meter_classify='{}'">
69
- </v-select>
70
- </div>
71
- <div class="col-sm-2 form-group">
72
- <label for="startDate" class="font_normal_body">回传时间</label>
73
- <datepicker id="startDate" placeholder="回传时间" style="width:60%"
74
- v-model="model.startDate"
75
- :value.sync="model.startDate"
76
- :format="'yyyy-MM-dd 00:00:00'"
77
- :show-reset-button="true"
78
- condition="f_insert_date >= '{}'">
79
- </datepicker>
80
- </div>
81
- <div class="col-sm-2 form-group">
82
- <label for="endDate" class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;</label>
83
- <datepicker id="endDate" placeholder="回传时间" style="width:60%"
84
- v-model="model.endDate"
85
- :value.sync="model.endDate"
86
- :format="'yyyy-MM-dd 23:59:59'"
87
- :show-reset-button="true"
88
- condition="f_insert_date <= '{}'">
89
- </datepicker>
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 v-for="row in $parent.$parent.$parent.headData">
100
- <nobr>{{row}}</nobr>
101
- </th>
102
- </tr>
103
- </template>
104
- <template partial='body'>
105
- <tr v-for="row in $parent.$parent.$parent.model.rows">
106
- <td style="text-align: center;" v-for="item in $parent.$parent.$parent.config.fieldMapping">
107
- <nobr>{{row[item]}}</nobr>
108
- </td>
109
- </tr>
110
- </template>
111
- <template partial='foot'></template>
112
- </data-grid>
113
- </criteria-paged>
114
- </div>
115
- </div>
116
- </div>
117
- </template>
118
-
119
- <script>
120
- import {HttpResetClass, PagedList} from 'vue-client'
121
- import tableConfig from './config/tableConfig'
122
- import plugins from '../../plugins/GetLoginInfoService'
123
- import plugin from 'system-clients/src/plugins/GetLoginInfoService'
124
-
125
- let readySomething = async function (self) {
126
- await self.$MagLoadParams.loadParam()
127
- self.initParams()
128
- // self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
129
- }
130
- export default {
131
- title: '上报数据查询',
132
- data() {
133
- return {
134
- model: new PagedList('rs/sql/manage_getReportDataQuery', 20, {}),
135
- criteriaShow: false,
136
- config: {
137
- fieldMapping: {
138
- f_userinfo_code: '客户编号',
139
- f_user_name: '客户名称'
140
- }
141
- },
142
- WarningType: [
143
- {label: '全部', value: ''}
144
- ],
145
- Warningstyles: [
146
- {label: '全部', value: ''}
147
- ],
148
- styles:false,
149
- headData: [],
150
- bodyData: [],
151
- orgCondtionStr: " and f_filialeid in (" + this.$login.f.orgid+")",
152
- resshow:['company'],
153
- org:[this.$login.f.orgid],
154
- meterbrands:[]
155
- }
156
- },
157
- created () {
158
- this.config.fieldMapping=tableConfig.ReportDataQuery
159
- console.log("========================")
160
- console.log(this.config.fieldMapping)
161
- var item="用户编号"
162
- console.log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
163
- console.log(this.config.fieldMapping[item])
164
- this.headData=Object.keys(this.config.fieldMapping)
165
- // for(var i=0;i<this.config.fieldMapping;i++){
166
- // this.headData.push(this.config.fieldMapping[i])
167
- // }
168
-
169
- },
170
- ready() {
171
- this.$refs.paged.$refs.cri.search()
172
- readySomething(this).then(() => {
173
- this.$emit('ready')
174
- }).catch((error) => {
175
- this.$emit('error', error)
176
- })
177
- },
178
- methods: {
179
- initParams() {
180
- // 初始化气表品牌
181
- let brandArr = []
182
- this.$MagGetSaleParam.getGasbrand().forEach((item) => {
183
- let temp = {}
184
- temp.label = item.label
185
- temp.value = item.value.f_meter_brand
186
- brandArr.push(temp)
187
- })
188
- this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
189
- //初始化气表价格
190
- this.prices = this.$MagGetSaleParam.getPrices();
191
- },
192
- showMeterStyle() {
193
- this.styles = true
194
- },
195
- search() {
196
- this.$refs.paged.$refs.cri.search()
197
- },
198
- async selfSearch(args) {
199
- args.condition = `${args.condition}` + this.orgCondtionStr
200
- await this.model.search(args.condition, args.model)
201
- // 查询到数据进行处理
202
- // if (this.model.rows.length > 0) {
203
- // this.bodyData = Object.keys(this.model.rows[0])
204
- // }
205
- },
206
- getorg(obj) {
207
- if (obj.resids.length>0) {
208
- this.orgCondtionStr = " and f_filialeid in " + plugin.convertToIn(obj.resids)
209
- }else
210
- {
211
- this.orgCondtionStr = " and f_filialeid = " + this.$login.f.orgid
212
- }
213
- },
214
- // getorg(obj) {
215
- // // if(plugins.convertToIn(obj)!==null&&plugins.convertToIn(obj)!==''){
216
- // // this.orgCondtionStr = " and f_filialeid in " + plugins.convertToIn(obj)
217
- // // }else{
218
- // // this.orgCondtionStr = " and f_filialeid = " + this.$login.f.orgid
219
- // // }
220
- // // this.orgname = obj.res
221
- // },
222
- clear() {
223
- //清空部门和人员
224
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
225
- this.$refs.paged.$refs.cri.$refs.sel.$children[2].selectres = []
226
- //部门和人员变为全选
227
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
228
- this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
229
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
230
- this.$refs.paged.$refs.cri.model[key] = []
231
- })
232
- },
233
- hidden() {
234
- this.criteriaShow = !this.criteriaShow
235
- },
236
-
237
- // getRes(obj) {
238
- // this.orgCondtionStr = obj
239
- // }
240
- },
241
- watch: {
242
- },
243
- computed: {
244
- metertypes() {
245
- return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
246
- },
247
- }
248
- }
249
- </script>
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex">
5
+ <criteria-paged :model="model" v-ref:paged>
6
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
7
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
+ <div class="row">
9
+ <div class="col-sm-2 form-group">
10
+ <label class="font_normal_body">客户编号</label>
11
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
12
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
13
+ </div>
14
+ <div class="col-sm-2 form-group">
15
+ <label class="font_normal_body">客户名称</label>
16
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
17
+ condition=" f_user_name like '%{}%'" placeholder='客户名称'>
18
+ </div>
19
+ <!-- <div class="col-sm-2">-->
20
+ <!-- <label class="font_normal_body">组织机构</label>-->
21
+ <!-- <res-select :initresid="$parent.$parent.org"-->
22
+ <!-- style="width:60%"-->
23
+ <!-- @res-select="$parent.$parent.getorg"-->
24
+ <!-- restype='organization'>-->
25
+ <!-- </res-select>-->
26
+
27
+ <!-- </div>-->
28
+ <div class="col-sm-2">
29
+ <label class="font_normal_body">&emsp;公司&emsp;</label>
30
+ <right-tree @re-res="$parent.$parent.getorg"
31
+ :initresid='$parent.$parent.org'></right-tree>
32
+ </div>
33
+ <div class="span" style="float:right;">
34
+ <button class="button_search button_spacing" @click="search()">查询</button>
35
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
36
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
37
+ :field="$parent.$parent.getfield" :header="$parent.$parent.other"
38
+ sqlurl="rs/logic/exportfile" sql-name="manage_getReportDataQuery" template-name='上报数据导出'
39
+ :choose-col="true">
40
+ </export-excel>
41
+
42
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
43
+ :defaultfield="$parent.$parent.defaultfield"
44
+ titletable="上报数据打印"
45
+ ></print-data>
46
+ <div style="float: right" class="button_spacing"
47
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
48
+ @click="$parent.$parent.hidden()"></div>
49
+ </div>
50
+
51
+ </div>
52
+
53
+ <div class="row" v-show="$parent.$parent.criteriaShow">
54
+ <div class="col-sm-2 form-group">
55
+ <label class="font_normal_body">表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</label>
56
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
57
+ condition="f_meternumber like '%{}%'" placeholder='表号'>
58
+ </div>
59
+ <div class="col-sm-2 form-group">
60
+ <label class="font_normal_body">气表品牌</label>
61
+ <v-select
62
+ placeholder='气表品牌'
63
+ :value.sync="model.f_meter_brand"
64
+ v-model="model.f_meter_brand"
65
+ :options='$parent.$parent.meterbrands'
66
+ close-on-select
67
+ condition="f_meter_brand='{}'">
68
+ </v-select>
69
+ </div>
70
+ <div class="col-sm-2 form-group" >
71
+ <label class="font_normal_body">气表类型</label>
72
+ <v-select
73
+ placeholder='气表类型'
74
+ :value.sync="model.f_meter_classify"
75
+ v-model="model.f_meter_classify"
76
+ :options='$parent.$parent.metertypes'
77
+ close-on-select
78
+ condition="f_meter_classify='{}'">
79
+ </v-select>
80
+ </div>
81
+ <div class="col-sm-2 form-group">
82
+ <label for="startDate" class="font_normal_body">回传时间</label>
83
+ <datepicker id="startDate" placeholder="回传时间" style="width:60%"
84
+ v-model="model.startDate"
85
+ :value.sync="model.startDate"
86
+ :format="'yyyy-MM-dd 00:00:00'"
87
+ :show-reset-button="true"
88
+ condition="f_insert_date >= '{}'">
89
+ </datepicker>
90
+ </div>
91
+ <div class="col-sm-2 form-group">
92
+ <label for="endDate" class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;</label>
93
+ <datepicker id="endDate" placeholder="回传时间" style="width:60%"
94
+ v-model="model.endDate"
95
+ :value.sync="model.endDate"
96
+ :format="'yyyy-MM-dd 23:59:59'"
97
+ :show-reset-button="true"
98
+ condition="f_insert_date <= '{}'">
99
+ </datepicker>
100
+ </div>
101
+ </div>
102
+
103
+ </div>
104
+ </criteria>
105
+
106
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
107
+ <template partial='head'>
108
+ <tr>
109
+ <th v-for="row in $parent.$parent.$parent.headData">
110
+ <nobr>{{row}}</nobr>
111
+ </th>
112
+ </tr>
113
+ </template>
114
+ <template partial='body'>
115
+ <tr v-for="row in $parent.$parent.$parent.model.rows">
116
+ <td style="text-align: center;" v-for="item in $parent.$parent.$parent.config.fieldMapping">
117
+ <nobr>{{row[item]}}</nobr>
118
+ </td>
119
+ </tr>
120
+ </template>
121
+ <template partial='foot'></template>
122
+ </data-grid>
123
+ </criteria-paged>
124
+ <table class="table-hover">
125
+ <tr style="position: relative" class="table-bordered">
126
+ <td
127
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
128
+ 汇总信息
129
+ </td>
130
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
131
+ 用气量合计:&emsp;{{sumsmodel.f_oughtamount.toFixed(0)}}
132
+ </td>
133
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
134
+ 用气金额合计:&emsp;{{sumsmodel.f_oughtfee.toFixed(0)}}
135
+ </td>
136
+ </tr>
137
+ </table>
138
+ </div>
139
+ </div>
140
+ </div>
141
+ </template>
142
+
143
+ <script>
144
+ import {HttpResetClass, PagedList} from 'vue-client'
145
+ import tableConfig from './config/tableConfig'
146
+ import plugins from '../../plugins/GetLoginInfoService'
147
+ import plugin from 'system-clients/src/plugins/GetLoginInfoService'
148
+ import exportConfig from './config/exportConfig'
149
+
150
+ let readySomething = async function (self) {
151
+ self.defaultfield = [...self.defaultfield, ...self.defaultConfig.defaultPrint]
152
+ await self.$MagLoadParams.loadParam()
153
+ self.initParams()
154
+ // self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
155
+ }
156
+ export default {
157
+ title: '上报数据查询',
158
+ data() {
159
+ return {
160
+ model: new PagedList('rs/sql/manage_getReportDataQuery', 20, {},{
161
+ f_oughtamount: 0,
162
+ f_oughtfee: 0
163
+ }),
164
+ criteriaShow: false,
165
+ defaultConfig: {
166
+ defaultPrint: []
167
+ },
168
+ other:[],
169
+ footer:[],
170
+ config: {
171
+ fieldMapping: {
172
+ f_userinfo_code: '客户编号',
173
+ f_user_name: '客户名称'
174
+ }
175
+ },
176
+ WarningType: [
177
+ {label: '全部', value: ''}
178
+ ],
179
+ Warningstyles: [
180
+ {label: '全部', value: ''}
181
+ ],
182
+ styles:false,
183
+ sumsmodel: {},
184
+ headData: [],
185
+ bodyData: [],
186
+ //默认打印列
187
+ defaultfield: [],
188
+ orgCondtionStr: " and f_filialeid in (" + this.$login.f.orgid+")",
189
+ resshow:['company'],
190
+ org:[this.$login.f.orgid],
191
+ meterbrands:[]
192
+ }
193
+ },
194
+ created () {
195
+ this.config.fieldMapping=tableConfig.ReportDataQuery
196
+ console.log("========================")
197
+ console.log(this.config.fieldMapping)
198
+ var item="用户编号"
199
+ console.log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
200
+ console.log(this.config.fieldMapping[item])
201
+ this.headData=Object.keys(this.config.fieldMapping)
202
+ // for(var i=0;i<this.config.fieldMapping;i++){
203
+ // this.headData.push(this.config.fieldMapping[i])
204
+ // }
205
+
206
+ },
207
+ ready() {
208
+ this.$refs.paged.$refs.cri.search()
209
+ readySomething(this).then(() => {
210
+ this.$emit('ready')
211
+ }).catch((error) => {
212
+ this.$emit('error', error)
213
+ })
214
+ },
215
+ methods: {
216
+ initParams() {
217
+ // 初始化气表品牌
218
+ let brandArr = []
219
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
220
+ let temp = {}
221
+ temp.label = item.label
222
+ temp.value = item.value.f_meter_brand
223
+ brandArr.push(temp)
224
+ })
225
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
226
+ //初始化气表价格
227
+ this.prices = this.$MagGetSaleParam.getPrices();
228
+ },
229
+ getotherfooter () {
230
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
231
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
232
+ this.other = [];
233
+ this.footer = [];
234
+ let exportdata = this.getCondition;
235
+ let otherInData = [];
236
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
237
+ let footerData = [], exportfield = this.getfield;
238
+ footerData.push("合计");
239
+ let self = this;
240
+ for (var field in self.sumsmodel) {
241
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
242
+ }
243
+ this.footer.push(footerData);
244
+ this.other.push(otherInData);
245
+ },
246
+ showMeterStyle() {
247
+ this.styles = true
248
+ },
249
+ search() {
250
+ this.$refs.paged.$refs.cri.search()
251
+ },
252
+ async selfSearch(args) {
253
+ args.condition = `${args.condition}` + this.orgCondtionStr
254
+ await this.model.search(args.condition, args.model)
255
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
256
+ // 查询到数据进行处理
257
+ // if (this.model.rows.length > 0) {
258
+ // this.bodyData = Object.keys(this.model.rows[0])
259
+ // }
260
+ },
261
+ getorg(obj) {
262
+ if (obj.resids.length>0) {
263
+ this.orgCondtionStr = " and f_filialeid in " + plugin.convertToIn(obj.resids)
264
+ }else
265
+ {
266
+ this.orgCondtionStr = " and f_filialeid = " + this.$login.f.orgid
267
+ }
268
+ },
269
+ // getorg(obj) {
270
+ // // if(plugins.convertToIn(obj)!==null&&plugins.convertToIn(obj)!==''){
271
+ // // this.orgCondtionStr = " and f_filialeid in " + plugins.convertToIn(obj)
272
+ // // }else{
273
+ // // this.orgCondtionStr = " and f_filialeid = " + this.$login.f.orgid
274
+ // // }
275
+ // // this.orgname = obj.res
276
+ // },
277
+ clear() {
278
+ //清空部门和人员
279
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
280
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].selectres = []
281
+ //部门和人员变为全选
282
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
283
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
284
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
285
+ this.$refs.paged.$refs.cri.model[key] = []
286
+ })
287
+ },
288
+ hidden() {
289
+ this.criteriaShow = !this.criteriaShow
290
+ },
291
+
292
+ // getRes(obj) {
293
+ // this.orgCondtionStr = obj
294
+ // }
295
+ },
296
+ watch: {
297
+ 'model.rows'(val) {
298
+ if(val.length === 0){
299
+ this.sumsmodel = {}
300
+ }
301
+ },
302
+ sumsmodel:{
303
+ handler: function(val) {
304
+ this.getotherfooter();
305
+ },
306
+ deep: true
307
+ }
308
+ },
309
+ computed: {
310
+ metertypes() {
311
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
312
+ },
313
+ getCondition() {
314
+ return {
315
+ startDate: this.$refs.paged.$refs.cri.model.startDate,
316
+ endDate: this.$refs.paged.$refs.cri.model.endDate,
317
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr
318
+ }
319
+ },
320
+ getfield() {
321
+ return exportConfig.ReportDataConfig
322
+ },
323
+ }
324
+ }
325
+ </script>