manage-client 3.2.198 → 3.2.200

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manage-client",
3
- "version": "3.2.198",
3
+ "version": "3.2.200",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -0,0 +1,237 @@
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
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
6
+ <div class="row">
7
+ <div class="col-sm-2 form-group" >
8
+ <label class="font_normal_body" for="startDate">开始日期:</label>
9
+ <datepicker id="startDate" placeholder="开始日期" style="width: 60%"
10
+ v-model="model.startDate"
11
+ :value.sync="model.startDate"
12
+ :disabled-days-of-Week="[]"
13
+ :format="'yyyy-MM-dd HH:mm:ss'"
14
+ :show-reset-button="reset">
15
+ </datepicker>
16
+ </div>
17
+ <div class="col-sm-2 form-group" >
18
+ <label class="font_normal_body" for="endDate">结束日期:</label>
19
+ <datepicker id="endDate" placeholder="结束日期" style="width: 60%"
20
+ v-model="model.endDate"
21
+ :value.sync="model.endDate"
22
+ :disabled-days-of-Week="[]"
23
+ :format="'yyyy-MM-dd HH:mm:ss'"
24
+ :show-reset-button="reset">
25
+ </datepicker>
26
+ </div><!--
27
+ <div class="col-sm-2 form-group">
28
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;公司&nbsp;&nbsp;&nbsp; </label>
29
+ <right-tree @re-res="$parent.$parent.getRes" style="width: 60%"></right-tree>
30
+ </div>
31
+ <div class="col-sm-2 form-group">
32
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;部门&nbsp;&nbsp;&nbsp; </label>
33
+ <res-select restype='department'
34
+ is-mul="false"
35
+ @res-select="$parent.$parent.getdep"
36
+ :parentresid="$parent.$parent.depresid"
37
+ :initresid='$parent.$parent.depid'>
38
+ </res-select>
39
+
40
+ </div>
41
+ <div class="col-sm-2 form-group">
42
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;人员&nbsp;&nbsp;&nbsp; </label>
43
+ <res-select restype='user'
44
+ is-mul="false"
45
+ @res-select="$parent.$parent.getuser"
46
+ :parentresid="$parent.$parent.userresid"
47
+ :initresid='$parent.$parent.operatorid'>
48
+ </res-select>
49
+ </div>
50
+ -->
51
+ <res-select-group :show-component="$parent.$parent.resshow" :selectin="true" :initres="$parent.$parent.initres" :cascade =true @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
52
+ </div>
53
+ <div class="span" style = "float:right;">
54
+ <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
55
+ <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
56
+ <report-excel id='gasprice'></report-excel>
57
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,
58
+ 'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
59
+ </div>
60
+ <div class="row" v-show="$parent.$parent.criteriaShow">
61
+ <div class="col-sm-2 form-group">
62
+ <label class="font_normal_body">用户类型</label>
63
+ <v-select :value.sync="$parent.$parent.f_user_type"
64
+ v-model="$parent.$parent.f_user_type"
65
+ :options='$parent.$parent.user_type' placeholder='请选择'
66
+ condition="f_user_type = '{}'"
67
+ close-on-select></v-select>
68
+ </div>
69
+ <!--<div class="col-sm-2 form-group">-->
70
+ <!--<label class="font_normal_body">收费状态</label>-->
71
+ <!--<v-select :value.sync="$parent.$parent.f_state" multiple-->
72
+ <!--v-model="$parent.$parent.f_state"-->
73
+ <!--:options='$parent.$parent.charge_state' placeholder='请选择'-->
74
+ <!--condition="f_state in {}"-->
75
+ <!--close-on-select></v-select>-->
76
+ <!--</div>-->
77
+ </div>
78
+ </div>
79
+ </criteria>
80
+ <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
81
+ <table class='tableprint' style="margin: 0px auto">
82
+ <thead>
83
+ <tr>
84
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: left;">
85
+ <h3 style="text-align: center">(机表)收费结账报表</h3>
86
+ </th>
87
+ </tr>
88
+ <tr>
89
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
90
+ 开始时间:{{model.model.startDate}}&nbsp;&nbsp;&nbsp;
91
+ 结束时间:{{ model.model.endDate }}&nbsp;&nbsp;<br/>
92
+ <!--打印时间:{{{$parent.printTime}}}-->
93
+ 打印时间:{{$parent.printTime}}
94
+ <!--收费员:{{// $parent.operatorname}}-->
95
+ </th>
96
+ </tr>
97
+ <tr>
98
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
99
+ <div>
100
+ <span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.orgname">公司:{{$parent.orgname}}</span>
101
+ <span v-show="$parent.depname"> 部门:{{$parent.depname}}</span>
102
+ <span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.operatorname">人员:{{$parent.operatorname}}</span>
103
+ </div>
104
+ </th>
105
+ </tr>
106
+ </thead>
107
+ <tr>
108
+ <td :colspan='$parent.spans' class="noborder">
109
+ {{{ model.data.substring(26,model.data.length-8) }}}
110
+ </td>
111
+ </tr>
112
+ <tfoot>
113
+ <tr style="text-align: left">
114
+ <th :colspan='Math.floor($parent.spans/3)'>财务审核:</th>
115
+ <th :colspan='Math.floor($parent.spans/3)'>收款审核:</th>
116
+ <th :colspan='Math.floor($parent.spans/3)'>收款员:</th>
117
+ </tr>
118
+ </tfoot>
119
+ </table>
120
+ {{{ $parent.reportStr}}}
121
+ </div>
122
+ </criteria-paged>
123
+ </div>
124
+ </template>
125
+
126
+ <script>
127
+ import { DataModel } from 'vue-client'
128
+ import co from 'co'
129
+
130
+ export default {
131
+ title: '(机表)收费结账报表',
132
+ props: ['data'],
133
+ data () {
134
+ return {
135
+ printTime: this.$login.toStandardTimeString(),
136
+ depresid: [],
137
+ userresid: [],
138
+ f_orgid: this.$login.f.orgid,
139
+ f_depid: this.$login.f.depids,
140
+ // f_operatorid: this.$login.f.id,
141
+ operatorid: [],
142
+ depid: [],
143
+ orgname: '',
144
+ depname: '',
145
+ criteriaShow: false,
146
+ operatorname: '',
147
+ orgCondtionStr: '1=1',
148
+ f_user_type: '',
149
+ f_state:['有效'],
150
+ model: new DataModel('rs/report/jigetmoneyall', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
151
+ f_orgid: 'this.model.f_orgid'}),
152
+ reportStr: null,
153
+ resshow:['company','department','operator'],
154
+ spans: 0,
155
+ initres: {
156
+ org: [this.$login.f.orgid],
157
+ dep: [],
158
+ user: []
159
+ }
160
+ }
161
+ },
162
+ ready () {
163
+ this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
164
+ this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
165
+ console.log(this.$login.f)
166
+ },
167
+ methods: {
168
+ searchData () {
169
+ this.$refs.paged.$refs.criteria.search()
170
+ },
171
+ selfSearch (args) {
172
+ this.printTime = this.$login.toStandardTimeString()
173
+ let orgcondition = '1=1'
174
+ let orgstr = this.orgCondtionStr
175
+ orgcondition = orgcondition + orgstr
176
+ console.log('23231312321:',this.f_user_type)
177
+ if(this.f_user_type && this.f_user_type[0]) {
178
+ orgcondition += ` and f_user_type = '${ this.f_user_type} '`
179
+ }
180
+ /* if (this.f_orgid && this.f_orgid[0]) {
181
+ orgcondition += ' and f_orgid in (' + this.f_orgid + ')'
182
+ }
183
+ if (this.f_depid && this.f_depid[0]) {
184
+ orgcondition += ' and f_depid in (' + this.f_depid + ')'
185
+ }
186
+ if(this.f_operatorid && this.f_operatorid[0]) {
187
+ orgcondition += ' and f_operatorid in (' + this.f_operatorid + ')'
188
+ }*/
189
+ this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition
190
+ this.$refs.paged.search(args)
191
+ },
192
+
193
+ hidden() {
194
+ this.criteriaShow = !this.criteriaShow
195
+ },
196
+ getRes (condition, obj) {
197
+ this.orgCondtionStr = condition
198
+ this.orgname = obj.orgnames[0]
199
+ this.depname = obj.depnames[0]
200
+ },
201
+ getdep (obj, val) {
202
+ this.depname = val[0]
203
+ this.userresid = obj
204
+ this.f_depid = obj
205
+ },
206
+ getuser ( obj, val) {
207
+ this.operatorname = val[0]
208
+ this.f_operatorid = obj
209
+ }
210
+ },
211
+ watch: {
212
+ 'model.data' (val) {
213
+ let len=0
214
+ let a=val.split('</tr>')
215
+ for(let i=0;i<a.length;i++){
216
+ if(a[i].split('</td>').length-1>len){
217
+ len=a[i].split('</td>').length-1
218
+ }
219
+ }
220
+ this.spans = len
221
+ }
222
+ },
223
+ computed: {
224
+ charge_state() {
225
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
226
+ },
227
+ user_type () {
228
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
229
+ }
230
+ }
231
+ }
232
+ </script>
233
+ <style scoped>
234
+ .noborder{
235
+ border: none;
236
+ }
237
+ </style>
@@ -127,6 +127,9 @@
127
127
  <th>
128
128
  <nobr>公司</nobr>
129
129
  </th>
130
+ <th>
131
+ <nobr>操作</nobr>
132
+ </th>
130
133
  <th><nobr>附件</nobr></th>
131
134
  </tr>
132
135
  </template>
@@ -174,6 +177,11 @@
174
177
  <td style="text-align: center;">
175
178
  <nobr>{{row.f_orgname}}</nobr>
176
179
  </td>
180
+ <td style="text-align: center;" v-if="row.f_state === '销户'&& row.num== 1">
181
+ <nobr><a href="#" @click="$parent.$parent.$parent.enable(row)">启用</a></nobr>
182
+ </td>
183
+ <td style="text-align: center;" v-else>
184
+ </td>
177
185
  <td style="text-align: center;"><nobr>
178
186
  <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
179
187
  </nobr></td>
@@ -202,6 +210,33 @@
202
210
  <footer slot="modal-footer" class="modal-footer">
203
211
  </footer>
204
212
  </modal>
213
+ <modal :show.sync="enbaleShow" v-if="enbaleShow" width="50%" style="width:auto;">
214
+ <article slot="modal-body" class="modal-body">
215
+ <div class="auto">
216
+ <validator name='v'>
217
+ <form class="form-horizontal">
218
+ <p class="bg-info text-center" style="padding: 8px;">启用信息</p>
219
+ <div class="form-group" style="margin-top:10px;">
220
+ <label for="f_reason" class=" font_normal_body">销户原因:</label>
221
+ <input class="input_search" style="width:80%" v-model="enableData.f_comments" disabled="">
222
+ </div>
223
+ <div class="form-group" style="margin-top:10px;">
224
+ <div :class="[$v.f_reason.required ? 'has-error' : 'has-success']">
225
+ <label for="f_reason" class=" font_normal_body">启用原因:</label>
226
+ <input class="input_search" style="width:80%" v-model="enableData.f_reason" v-validate:f_reason='{required: true }' rows="3" placeholder="请填写原因">
227
+ </div>
228
+ </div>
229
+ </form>
230
+ <div style="text-align:right;height:auto;margin-top:30px;margin-right:50px;">
231
+ <button class="button_search" @click="confirmEnable()" :disabled='!$v.valid'>确认</button>
232
+ <button class="button_clear" @click="clean()">取消</button>
233
+ </div>
234
+ </validator>
235
+ </div>
236
+ </article>
237
+ <footer slot="modal-footer" class="modal-footer">
238
+ </footer>
239
+ </modal>
205
240
  </div>
206
241
  </template>
207
242
 
@@ -235,6 +270,10 @@
235
270
  orgCondtionStr: '',
236
271
  show:false,
237
272
  rowdata:{},
273
+ enableData: {
274
+ f_reason: ''
275
+ },
276
+ enbaleShow: false,
238
277
  modelval: [],
239
278
  printshow: false,
240
279
  all: false,
@@ -271,6 +310,31 @@
271
310
  })
272
311
  },
273
312
  methods: {
313
+ enable(row) {
314
+ Object.assign(this.enableData, row)
315
+ this.enbaleShow = true
316
+ },
317
+ confirmEnable() {
318
+ let data = {
319
+ f_operat_type: '销户启用',
320
+ f_describe: `${this.$login.f.name}对客户${this.enableData.f_user_name}进行启用`,
321
+ f_user_id: this.enableData.f_user_id,
322
+ f_user_name: this.enableData.f_user_name,
323
+ f_state: '正常',
324
+ f_comments: this.enableData.f_reason,
325
+ f_operator: this.$login.f.name,
326
+ f_operatorid: this.$login.f.id,
327
+ f_orgid: this.$login.f.orgid,
328
+ f_orgname: this.$login.f.orgs,
329
+ f_depid: this.$login.f.depids,
330
+ f_depname: this.$login.f.deps,
331
+ f_userinfo_id : this.enableData.f_userinfo_id
332
+ }
333
+ this.$resetpost('rs/logic/saveSingleCancellation', data, {resolveMsg: '启用成功', rejectMsg: '启用失败'})
334
+ },
335
+ clean() {
336
+ this.enbaleShow = false
337
+ },
274
338
  view(row){
275
339
  this.showupload = true
276
340
  this.selected= row
@@ -51,7 +51,7 @@
51
51
  <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
52
52
  :field="$parent.$parent.getfield" :header="$parent.$parent.other"
53
53
  :defaultselect="$parent.$parent.defaultexport"
54
- sqlurl="rs/logic/exportfile" sql-name="chargeQuery" template-name='收费查询导出'
54
+ sqlurl="rs/easyExcel/exportExcel" sql-name="chargeQuery" template-name='收费查询导出'
55
55
  :choose-col="true">
56
56
  </export-excel>
57
57
 
@@ -0,0 +1,510 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main">
4
+ <div class="flex" :class="{showbottom:showbottomsum}" v-if="!show">
5
+ <criteria-paged :model="model" v-ref:paged>
6
+ <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
7
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
+ <div class="row" >
9
+ <div class="col-sm-2">
10
+ <label class="font_normal_body">组织机构</label>
11
+ <res-select :initresid="$parent.$parent.org"
12
+ style="width:60%"
13
+ @res-select="$parent.$parent.getorg"
14
+ :is-mul=false
15
+ restype='organization'>
16
+ </res-select>
17
+ </div>
18
+ <div class="col-sm-2">
19
+ <label class="font_normal_body">客户编号</label>
20
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_userinfo_code" placeholder='客户编号'
21
+ condition="ss.f_userinfo_code like '%{}%'" v-next-el='f_userinfo_code' v-el:meternumber
22
+ >
23
+ </div>
24
+ <div class="col-sm-2">
25
+ <label class="font_normal_body">客户名称</label>
26
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_username" placeholder='客户名称'
27
+ condition="ss.f_user_name like '%{}%'" v-next-el='userid' v-el:username>
28
+ </div>
29
+ <div class="col-sm-2">
30
+ <label class="font_normal_body">客户地址</label>
31
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_address" placeholder='客户地址'
32
+ condition="ss.f_address like '%{}%'" v-next-el='f_address' v-el:f_address>
33
+ </div>
34
+ <div class="span" style="float:right;margin-top:10px">
35
+ <button class="button_search button_spacing" @click="search()">查询</button>
36
+ <button class="button_clear button_spacing" @click="$parent.$parent.clearmsg">清空</button>
37
+ <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
38
+ :field="$parent.$parent.getfield"
39
+ sqlurl="rs/logic/exportfile" sql-name="gasStatisticsQuery" template-name='用气量统计表'
40
+ :choose-col="true"></export-excel>
41
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
42
+ :defaultfield="$parent.$parent.defaultfield"
43
+ titletable="缴费记录报表" :starthead="$parent.$parent.getstart"
44
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
45
+ <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>
46
+ </div>
47
+ </div>
48
+ <div class="row" v-show="$parent.$parent.criteriaShow">
49
+ <div class="col-sm-2">
50
+ <label class="font_normal_body">电&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;话</label>
51
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_user_phone" placeholder='电话'
52
+ condition="ss.f_user_phone like '%{}%'" v-next-el='f_user_phone' v-el:f_user_phone
53
+ >
54
+ </div>
55
+ <div class="col-sm-2">
56
+ <label class="font_normal_body">小&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;区</label>
57
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_residential_area" placeholder='小区'
58
+ condition="ss.f_residential_area like '%{}%'" v-next-el='f_residential_area' v-el:f_residential_area>
59
+ </div>
60
+ <div class="col-sm-2">
61
+ <label class="font_normal_body">表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</label>
62
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_meternumber" placeholder='表号'
63
+ condition="ss.f_meternumber like '%{}%'" v-next-el='meternumber' v-el:meternumber
64
+ >
65
+ </div>
66
+ <div class="col-sm-2">
67
+ <label class="font_normal_body">燃气证号</label>
68
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_gascode" placeholder='燃气证号'
69
+ condition="ss.f_gascode like '%{}%'" v-next-el='f_gascode' v-el:f_gascode
70
+ >
71
+ </div>
72
+ <div class="col-sm-2 form-group">
73
+ <label class="font_normal_body">气价类型</label>
74
+ <v-select :value.sync="model.pricetype" v-model="model.pricetype"
75
+ placeholder='气价类型' :options="$parent.$parent.pricetypes"
76
+ close-on-select>
77
+ </v-select>
78
+ </div>
79
+ <div class="col-sm-2 form-group">
80
+ <label class="font_normal_body">气价名称</label>
81
+ <v-select :value.sync="model.f_price_name"
82
+ v-model="model.f_price_name"
83
+ :options="$parent.$parent.getPricenames"
84
+ condition="ss.f_price_name = '{}'"
85
+ close-on-select></v-select>
86
+ </div>
87
+ <div class="col-sm-2 form-group">
88
+ <label class="font_normal_body">气表品牌</label>
89
+ <v-select :value.sync="model.f_meter_brand"
90
+ v-model="model.f_meter_brand"
91
+ :options="$parent.$parent.meterbrands"
92
+ condition="ss.f_meter_brand = '{}'"
93
+ close-on-select></v-select>
94
+ </div>
95
+ <div class="col-sm-2 form-group">
96
+ <label class="font_normal_body">是否换表</label>
97
+ <v-select :value.sync="model.f_changetable_state"
98
+ v-model="model.f_changetable_state"
99
+ :options="$parent.$parent.isChange"
100
+ condition="ss.f_changetable_state = '{}'"
101
+ close-on-select></v-select>
102
+ </div>
103
+ <div class="col-sm-2 form-group">
104
+ <label class="font_normal_body">用气状态</label>
105
+ <v-select :value.sync="model.f_gas_state"
106
+ v-model="model.f_gas_state"
107
+ :options="$parent.$parent.gasState"
108
+ condition="ss.f_gas_state = '{}'"
109
+ close-on-select></v-select>
110
+ </div>
111
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
112
+ <label class="font_normal_body">用气量区间</label>
113
+ <div class="row">
114
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_oughtamount1"
115
+ condition="ss.f_oughtamount >= {} " placeholder="">
116
+ <label class="font_normal_body"> ≤ x ≤ </label>
117
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_oughtamount2"
118
+ condition="ss.f_oughtamount <= {} " placeholder="">
119
+ </div>
120
+ </div>
121
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
122
+ <label class="font_normal_body">&nbsp;充值区间&nbsp;&nbsp;</label>
123
+ <div class="row">
124
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_collection1"
125
+ condition="ss.f_collection >= {} " placeholder="">
126
+ <label class="font_normal_body"> ≤ x ≤ </label>
127
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_collection2"
128
+ condition="ss.f_collection <= {} " placeholder="">
129
+ </div>
130
+ </div>
131
+ <div class="col-sm-2 form-group" >
132
+ <label class="font_normal_body" for="startDate">开始时间</label>
133
+ <datepicker id="startDate" placeholder="开始日期" style="width: 60%"
134
+ v-model="model.startDate"
135
+ :value.sync="model.startDate"
136
+ :disabled-days-of-Week="[]"
137
+ :format="'yyyy-MM-dd 00:00:00'"
138
+ :show-reset-button="reset">
139
+ </datepicker>
140
+ </div>
141
+ <div class="col-sm-2 form-group" >
142
+ <label class="font_normal_body" for="endDate">结束时间</label>
143
+ <datepicker id="endDate" placeholder="结束日期" style="width: 60%"
144
+ v-model="model.endDate"
145
+ :value.sync="model.endDate"
146
+ :disabled-days-of-Week="[]"
147
+ :format="'yyyy-MM-dd 23:59:59'"
148
+ :show-reset-button="reset">
149
+ </datepicker>
150
+ </div>
151
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
152
+ <label class="font_normal_body">余额区间</label>
153
+ <div class="row">
154
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_balance_amount_sta"
155
+ condition="ss.f_balance_amount >= {} " placeholder="">
156
+ <label class="font_normal_body"> ≤ x ≤ </label>
157
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_balance_amount_end"
158
+ condition="ss.f_balance_amount <= {} " placeholder="">
159
+ </div>
160
+ </div>
161
+ </div>
162
+ </div>
163
+ </criteria>
164
+ <data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy">
165
+ <template partial='head'>
166
+ <tr>
167
+ <th><nobr>客户编号</nobr></th>
168
+ <th><nobr>客户名称</nobr></th>
169
+ <th><nobr>小区</nobr></th>
170
+ <th><nobr>地址</nobr></th>
171
+ <th><nobr>电话</nobr></th>
172
+
173
+ <th><nobr>燃气证号</nobr></th>
174
+ <th><nobr>表号</nobr></th>
175
+ <th><nobr>表具类型</nobr></th>
176
+ <th><nobr>表描述</nobr></th>
177
+ <th><nobr>气价名称</nobr></th>
178
+
179
+ <th><nobr>一阶气价</nobr></th>
180
+ <th><nobr>二阶气价</nobr></th>
181
+ <th><nobr>三阶气价</nobr></th>
182
+
183
+ <th><nobr>用气性质</nobr></th>
184
+ <th><nobr>期初余额</nobr></th>
185
+ <th><nobr>起方</nobr></th>
186
+ <th><nobr>止方</nobr></th>
187
+ <th><nobr>期间用气量</nobr></th>
188
+
189
+ <th><nobr>期间用气金额</nobr></th>
190
+ <th><nobr>期间充值金额</nobr></th>
191
+ <th><nobr>期末余额</nobr></th>
192
+ <th><nobr>用气状态</nobr></th>
193
+ <th><nobr>是否换表</nobr></th>
194
+ <th><nobr>最后通讯日期</nobr></th>
195
+ </tr>
196
+ </template>
197
+ <template partial='body' partial='list'>
198
+ <tr >
199
+ <td style="text-align: left;"><nobr> <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr></td>
200
+ <td style="text-align: left;"><nobr>{{row.f_user_name}}</nobr></td>
201
+ <td style="text-align: left;"><nobr>{{row.f_residential_area}}</nobr></td>
202
+ <td style="text-align: left;"><nobr>{{row.f_address}}</nobr></td>
203
+ <td style="text-align: center;"><nobr>{{row.f_user_phone}}</nobr></td>
204
+
205
+ <td style="text-align:center"><nobr>{{row.f_gascode}}</nobr></td>
206
+ <th style="text-align:center"><nobr>{{row.f_meternumber}}</nobr></th>
207
+ <th style="text-align:center"><nobr>{{row.f_meter_classify}}</nobr></th>
208
+ <th style="text-align:center"><nobr>{{row.f_meter_title}}</nobr></th>
209
+ <th style="text-align:center"><nobr>{{row.f_price_name}}</nobr></th>
210
+
211
+ <th style="text-align:center"><nobr>{{row.f_stair1price}}</nobr></th>
212
+ <th style="text-align:center"><nobr>{{row.f_stair2price}}</nobr></th>
213
+ <th style="text-align:center"><nobr>{{row.f_stair3price}}</nobr></th>
214
+
215
+ <th style="text-align:center"><nobr>{{row.f_gasproperties}}</nobr></th>
216
+
217
+
218
+ <th style="text-align:center"><nobr>{{row.f_balance}}</nobr></th>
219
+ <th style="text-align:center"><nobr>{{row.f_last_tablebase}}</nobr></th>
220
+ <th style="text-align:center"><nobr>{{row.f_tablebase}}</nobr></th>
221
+ <th style="text-align:center"><nobr>{{row.f_oughtamount}}</nobr></th>
222
+ <th style="text-align:center"><nobr>{{row.f_oughtfee}}</nobr></th>
223
+
224
+ <th style="text-align:center"><nobr>{{row.f_collection}}</nobr></th>
225
+ <th style="text-align:center"><nobr>{{row.f_curbalance}}</nobr></th>
226
+ <th style="text-align:center"><nobr>{{row.f_gas_state}}</nobr></th>
227
+ <th style="text-align:center"><nobr>{{row.f_changetable_state}}</nobr></th>
228
+ <th style="text-align:center"><nobr>{{row.f_input_date}}</nobr></th>
229
+ </tr>
230
+ </template>
231
+ <template partial='foot'></template>
232
+ </data-grid>
233
+ </criteria-paged>
234
+ <table class="table-hover">
235
+ <tr style="position: relative" class="table-bordered">
236
+ <td
237
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
238
+ 汇总信息
239
+ </td>
240
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
241
+ 期间用气量:&emsp;{{sumsmodel.f_oughtamount}}
242
+ </td>
243
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
244
+ 期间用气金额:&emsp;{{sumsmodel.f_oughtfee}}
245
+ </td>
246
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
247
+ 期间充值金额:&emsp;{{sumsmodel.f_collection}}
248
+ </td>
249
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
250
+ 一阶气量合计:&emsp;{{sumsmodel.f_stairamount1}}
251
+ </td>
252
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
253
+ 一阶气费合计:&emsp;{{sumsmodel.f_stair1fee}}
254
+ </td>
255
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
256
+ 二阶气量合计:&emsp;{{sumsmodel.f_stairamount2}}
257
+ </td>
258
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
259
+ 二阶气费合计:&emsp;{{sumsmodel.f_stair2fee}}
260
+ </td>
261
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
262
+ 三阶气量合计:&emsp;{{sumsmodel.f_stairamount3}}
263
+ </td>
264
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
265
+ 三阶气费合计:&emsp;{{sumsmodel.f_stair3fee}}
266
+ </td>
267
+ </tr>
268
+ </table>
269
+ </div>
270
+ </div>
271
+ </div>
272
+ </template>
273
+
274
+ <script>
275
+ import {HttpResetClass, PagedList} from 'vue-client'
276
+ import exportConfig from '../../components/sale/config/exportConfig'
277
+ import * as Util from '../../Util'
278
+ import plugins from '../../plugins/GetLoginInfoService'
279
+
280
+ let readySomething = async function (self) {
281
+ await self.$MagLoadParams.loadParam()
282
+ self.initParams()
283
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
284
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums;
285
+ }
286
+ export default {
287
+ title: '用气量统计表',
288
+ data () {
289
+ return {
290
+ show:false,
291
+ org:[this.$login.f.orgid],
292
+ orgcondition: ' and ss.f_orgid = ' + this.$login.f.orgid,
293
+ //f_filialeid: this.$login.f.f_orgid,
294
+ detaillist: [],
295
+ meterbrands: [],
296
+ prices: [],
297
+ gasproperties:[],
298
+ condition:'',
299
+ rowdata:{},
300
+ getstart:'',
301
+ config: {
302
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_meternumber', 'f_gasproperties', 'f_balance', 'f_last_tablebase','f_tablebase',
303
+ 'f_oughtamount', 'f_oughtfee', 'f_collection', 'f_curbalance', 'f_gas_state', 'f_changetable_state', 'f_input_date']
304
+ },
305
+ sumsmodel: {},
306
+ orgid:[this.$login.f.orgid],
307
+ criteriaShow:false,
308
+ //默认打印列
309
+ defaultfield: [],
310
+ orgCondtionStr: '',
311
+ model: new PagedList('rs/sql/gasStatisticsQuery', 50,{
312
+ startDate: 'this.model.startDate',
313
+ endDate: 'this.model.endDate'
314
+ },{
315
+ f_oughtamount: 0,
316
+ f_oughtfee: 0,
317
+ f_collection:0,
318
+ f_stairamount1:0,
319
+ f_stair1fee:0,
320
+ f_stairamount2:0,
321
+ f_stair2fee:0,
322
+ f_stairamount3:0,
323
+ f_stair3fee:0
324
+ }),
325
+ showbottomsum:false //页面下方是否有合计: 默认为false, 在watch修改
326
+ }
327
+ },
328
+ ready () {
329
+ // this.$refs.paged.$refs.criteria.search()
330
+ readySomething(this).then(() => {
331
+ this.$emit('ready')
332
+ }).catch((error) => {
333
+ this.$emit('error', error)
334
+ })
335
+ this.$refs.paged.$refs.criteria.model.startDate = Util.addDate(new Date(),-1).substring(0,10) + ' 00:00:00'
336
+ this.$refs.paged.$refs.criteria.model.endDate = Util.addDate(new Date(),-1).substring(0,10) + ' 23:59:59'
337
+ this.$refs.paged.$refs.criteria.model.inputStartDate = Util.addDate(new Date(),-1).substring(0,10) + ' 00:00:00'
338
+ this.$refs.paged.$refs.criteria.model.inputEndDate = Util.addDate(new Date(),-1).substring(0,10) + ' 23:59:59'
339
+ this.$refs.paged.$refs.criteria.search()
340
+ },
341
+ methods: {
342
+ initParams() {
343
+ // 初始化气表品牌
344
+ let brandArr = []
345
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
346
+ if (item.value.f_meter_type==='物联网表'){
347
+ let temp = {}
348
+ temp.label = item.label
349
+ temp.value = item.value.f_meter_brand
350
+ brandArr.push(temp)
351
+ }
352
+ })
353
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
354
+ //初始化气表价格
355
+ this.prices = this.$MagGetSaleParam.getPrices();
356
+ },
357
+ async updateParams() {
358
+ await this.$MagLoadParams.loadParam(this.f_filialeid)
359
+ this.initParams()
360
+ },
361
+ getorg(obj) {
362
+ if(plugins.convertToIn(obj)!==null&&plugins.convertToIn(obj)!==''){
363
+ this.orgcondition = " and ss.f_orgid in " + plugins.convertToIn(obj)
364
+ }else{
365
+ this.orgcondition = " and ss.f_orgid = " + this.$login.f.orgid
366
+ }
367
+ },
368
+ userTypeChange () {
369
+ this.gasproperties=[]
370
+ if(this.$refs.paged.$refs.criteria.model !==null) {
371
+ this.$refs.paged.$refs.criteria.model.f_gasproperties=''
372
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.criteria.model.f_user_type[0])
373
+ }
374
+ else{
375
+ this.gasproperties =[{label: '全部', value: ''}]
376
+ }
377
+ },
378
+ hidden(){
379
+ this.criteriaShow = !this.criteriaShow
380
+ },
381
+ cancel() {
382
+ this.show = false
383
+ },
384
+ clearmsg () {
385
+ Object.keys(this.$refs.paged.$refs.criteria.model).forEach((key) => {
386
+ this.$refs.paged.$refs.criteria.model[key] = []
387
+ })
388
+ },
389
+ getRes (obj) {
390
+ this.orgCondtionStr = condition
391
+ this.orgname = obj.orgnames[0]
392
+ this.depname = obj.depnames[0]
393
+ },
394
+ showmsg(obj){
395
+ this.rowdata=obj
396
+ this.show=true
397
+ },
398
+
399
+ search (args) {
400
+ args.condition = `${args.condition}`+this.orgcondition
401
+ this.condition = args.condition
402
+ this.model.search(args.condition, args.model)
403
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
404
+ // args.condition = `${args.condition}`
405
+ // if (this.orgcondition)
406
+ // args.condition = `${args.condition}` + this.orgcondition
407
+ // else
408
+ // args.condition = `${args.condition}` + 'and m.f_orgid in ' + '(' + this.$login.f.orgid + ')'
409
+ // this.model.search(args.condition, args.model)
410
+ }
411
+ },
412
+ watch: {
413
+ 'model.rows'(val) {
414
+ //如果有合计 这里为true, 其他为false ,反正相反
415
+ this.showbottomsum=true;
416
+ if(val.length === 0){
417
+ this.sumsmodel = {}
418
+ this.showbottomsum=false;
419
+ }
420
+ },
421
+ 'orgCondtionStr'(val) {
422
+ let res = val.match(/'(.*?)'/)
423
+ console.log('正则提取:',res && res[1])
424
+ if (res) {
425
+ this.f_filialeid = res[1]
426
+ // this.updateParams()
427
+ }
428
+ }
429
+ },
430
+ computed: {
431
+ getstart(){
432
+ return `开始时间:${this.$refs.paged.$refs.criteria.model.startDate} 结束时间:${this.$refs.paged.$refs.criteria.model.endDate}`
433
+ },
434
+ getPricenames() {
435
+ let f_user_type = this.$refs.paged.$refs.criteria.model.f_user_type;
436
+ let f_gasproperties = this.$refs.paged.$refs.criteria.model.f_gasproperties;
437
+ let pricetype = this.$refs.paged.$refs.criteria.model.pricetype;
438
+ console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.f_filialeid,this.prices)
439
+ console.log("查看f_orgid:",this.$login.f.f_orgid)
440
+ if(this.$refs.paged.$refs.criteria.model !==null) {
441
+ let rs = []
442
+ let priceArr = []
443
+ if ( pricetype.length >0) {
444
+ let params = {
445
+ f_price_type: pricetype[0],
446
+ filter: this.org[0],
447
+ prices: this.prices
448
+ }
449
+ console.log("打印一下params:",params)
450
+ this.$MagGetSaleParam.getPrice(params).forEach((item) => {
451
+ console.log("====================================》")
452
+ let temp = {}
453
+ temp.label = item.label
454
+ temp.value = item.value.f_price_name
455
+ priceArr.push(temp)
456
+ console.log("打印一下temp:",temp)
457
+ })
458
+
459
+ rs = [{label: '全部', value: ''}, ...priceArr]
460
+ }
461
+ if (rs.length === 0) {
462
+ console.log('rs读出来是空')
463
+ this.$refs.paged.$refs.criteria.model.f_price_name = ''
464
+ }
465
+ return rs
466
+ }
467
+ },
468
+ getfield () {
469
+ return exportConfig.GasStatistics
470
+ },
471
+ usertypes() {
472
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
473
+ },
474
+ pricetypes() {
475
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
476
+ },
477
+ gasState() {
478
+ return [{label:'正常', value:'正常'},
479
+ {label:'异常', value:'异常'},
480
+ ]
481
+ },
482
+ isChange() {
483
+ return [{label:'是', value:'是'},
484
+ {label:'否', value:'否'},
485
+ ]
486
+ },
487
+ getCondition () {
488
+ // var con = ""
489
+ // if (this.orgCondtionStr) {
490
+ // con = `${this.$refs.paged.$refs.criteria.condition} and m.f_orgid in (${this.orgCondtionStr})`
491
+ // }
492
+ // else {
493
+ // con = `${this.$refs.paged.$refs.criteria.condition}and m.f_orgid in ('${this.$login.f.orgid}' )`
494
+ // }
495
+ return {
496
+ startDate: this.$refs.paged.$refs.criteria.model.startDate,
497
+ endDate: this.$refs.paged.$refs.criteria.model.endDate,
498
+ condition: this.condition
499
+ }
500
+ }
501
+ }
502
+ }
503
+ </script>
504
+
505
+ <style>
506
+ .showbottom{
507
+ height:95%
508
+ }
509
+ </style>
510
+
@@ -49,7 +49,7 @@
49
49
  :choose-col="true"></export-excel>
50
50
  <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
51
51
  :field="$parent.$parent.getfield" :header="$parent.$parent.other"
52
- sqlurl="rs/logic/exportfile" sql-name="handplanQuery" template-name='抄表查询导出'
52
+ sqlurl="rs/easyExcel/exportExcel" sql-name="handplanQuery" template-name='抄表查询导出'
53
53
  :choose-col="true"></export-excel>
54
54
  <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
55
55
  :defaultfield="$parent.$parent.defaultfield" print-name="抄表查询打印"
@@ -0,0 +1,9 @@
1
+ // 分公司特殊组件页面注册
2
+ let specialComp = {
3
+ 'use-gas-statistics': (resolve) => { require(['./GasStatistics'], resolve) }
4
+ }
5
+ exports.specialComp = specialComp
6
+
7
+
8
+
9
+
@@ -151,6 +151,10 @@ export default function (filiale) {
151
151
  Vue.component('manage-bus-summary', (resolve) => {
152
152
  require(['./components/SellReport/ManageBusSummary'], resolve)
153
153
  })
154
+ // 报表展示组件((机表)收费结账报表)
155
+ Vue.component('jimanage-bus-summary', (resolve) => {
156
+ require(['./components/SellReport/JiManageBusSummary'], resolve)
157
+ })
154
158
  // 报表展示组件(收费汇总报表-无付款方式用户类型与用气性质分组)
155
159
  Vue.component('manage-bus-summarynopay', (resolve) => {
156
160
  require(['./components/SellReport/ManageBusSummarynopay'], resolve)