sale-client 4.2.105 → 4.2.106

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": "sale-client",
3
- "version": "4.2.105",
3
+ "version": "4.2.106",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -0,0 +1,363 @@
1
+ <template >
2
+ <div class="flex" style="justify-content: space-between;">
3
+ <div @keyup.enter="search" style="">
4
+ <criteria-paged :model="model" v-ref:paged>
5
+ <criteria @condition-changed='$parent.search' partial='criteria' v-ref:criteria>
6
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
7
+ <div class="row">
8
+ <div class="col-sm-2 form-group">
9
+ <label class="font_normal_body" title="归属日期" >开始时间</label>
10
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
11
+ class="datepicker"
12
+ condition="f_hand_date >= '{} 00:00:00' "
13
+ placeholder="起始时间"
14
+ style="width:60%"
15
+ v-model="model.f_start_date"
16
+ ></datepicker>
17
+ </div>
18
+ <div class="col-sm-2 form-group" >
19
+ <label class="font_normal_body" title="归属日期">结束时间</label>
20
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date"
21
+ class="datepicker"
22
+ condition="f_hand_date <= '{} 23:59:59' "
23
+ placeholder="结束时间"
24
+ style="width:60%"
25
+ v-model="model.f_end_date"
26
+ ></datepicker>
27
+ </div>
28
+ <div class="col-sm-2 form-group">
29
+ <label class="font_normal_body" title="抄表状态">抄表状态</label>
30
+ <v-select :value.sync="model.f_meter_state" v-model='model.f_meter_state'
31
+ style="width:60%"
32
+ :options='$parent.$parent.meterstates' placeholder='抄表状态'
33
+ close-on-select
34
+ condition="f_meter_state = '{}'"></v-select>
35
+ </div>
36
+ <div class="col-sm-2 form-group">
37
+ <label class="font_normal_body" title="表单状态">表单状态</label>
38
+ <v-select :value.sync="model.f_hand_state" v-model='model.f_hand_state'
39
+ style="width:60%"
40
+ :options='$parent.$parent.handstates' placeholder='表单状态'
41
+ close-on-select
42
+ condition="f_hand_state = '{}'"></v-select>
43
+ </div>
44
+ <div class="col-sm-2 form-group">
45
+ <label class="font_normal_body">气表类型</label>
46
+ <v-select :value.sync="model.f_meter_classify" v-model='model.f_meter_classify'
47
+ style="width:60%"
48
+ :options='$parent.$parent.meterType' placeholder='气表类型'
49
+ close-on-select
50
+ condition="f_meter_classify = '{}'"></v-select>
51
+ </div>
52
+
53
+ <div style="float: right">
54
+ <button @click="search()" class="button_search" style="margin-right: 10px" v-el:cba>查询</button>
55
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
56
+ :field="$parent.$parent.fields" :header="$parent.$parent.other"
57
+ sqlurl="api/af-revenue/logic/saleExport" :sql-name="$parent.$parent.sqlname" template-name='抄表查询导出'
58
+ :choose-col="true" ref="salehandplanExport"></export-excel>
59
+
60
+ <print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :is-selected="true" :model="$parent.$parent.printModel"
61
+ @print-data="$parent.$parent.print()"
62
+ :starthead="$parent.$parent.starthead"
63
+ titletable="预存气费打印明细"
64
+ ></print-data>
65
+ </div>
66
+ </div>
67
+
68
+
69
+ </div>
70
+
71
+ </criteria>
72
+ <data-grid :model="model" class="list_area table_sy" class="list_area table_sy" partial='list' v-ref:grid>
73
+ <template partial='head'>
74
+ <tr>
75
+
76
+ <th v-show="false"><nobr>抄表月份</nobr></th>
77
+ <th v-show="false"><nobr>用气周期</nobr></th>
78
+ <th><nobr>抄表日期</nobr></th>
79
+ <th><nobr>录入日期</nobr></th>
80
+ <th><nobr>上期底数</nobr></th>
81
+ <th><nobr>本期底数</nobr></th>
82
+ <th><nobr>{{$parent.$parent.$parent.row.f_meter_type.includes('物联网表') ? $parent.$parent.$parent.row.f_collection_type == '按气量' ? '上期余量' :'上期余额' : '上期余额' }}</nobr></th>
83
+ <th><nobr>用气量</nobr></th>
84
+ <th><nobr>用气金额 </nobr></th>
85
+ <th><nobr>{{$parent.$parent.$parent.row.f_meter_type.includes('物联网表') ? $parent.$parent.$parent.row.f_collection_type == '按气量' ? '本期余量' :'本期余额' : '本期余额' }}</nobr></th>
86
+ <th><nobr>气表类型</nobr></th>
87
+ <th><nobr>抄表状态 </nobr></th>
88
+ <th><nobr>抄表结果状态 </nobr></th>
89
+ <th><nobr>表单状态 </nobr></th>
90
+ <th><nobr>抄表员</nobr></th>
91
+ <th><nobr>录入员</nobr></th>
92
+ </tr>
93
+ </template>
94
+ <template partial='body' partial='list' v-ref:grid>
95
+ <tr>
96
+ <td style="text-align:center" v-show="false">{{row.f_hand_date.substring(0,7)}}</td>
97
+ <th v-show="false"><nobr >{{row.datas}}</nobr></th>
98
+ <td style="text-align:center">{{row.f_hand_date}}</td>
99
+ <td style="text-align:center">{{row.f_input_date}}</td>
100
+ <td style="text-align:center">{{row.f_last_tablebase}}</td>
101
+ <td style="text-align:center">{{row.f_tablebase}}</td>
102
+ <td style="text-align:center">{{row.f_balance}}</td>
103
+ <td style="text-align:center">{{row.f_oughtamount}}</td>
104
+ <td style="text-align:center">{{row.f_oughtfee}}</td>
105
+ <td style="text-align:center">{{row.f_curbalance}}</td>
106
+ <td style="text-align:center">{{row.f_meter_classify}}</td>
107
+ <td style="text-align:center">{{row.f_meter_state}}</td>
108
+ <td style="text-align:center">{{row.f_result_state?row.f_result_state:''}}</td>
109
+ <td style="text-align:center">{{row.f_hand_state}}</td>
110
+ <td style="text-align:center">{{row.f_inputtor}}</td>
111
+ <td style="text-align:center">{{row.f_input_person}}</td>
112
+ </tr>
113
+ </template>
114
+ <template partial='foot'></template>
115
+ </data-grid>
116
+ </criteria-paged>
117
+
118
+ </div>
119
+ <table class="table-hover">
120
+ <tr class="table-bordered" style="position: relative">
121
+ <td
122
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
123
+ 汇总信息
124
+ </td>
125
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
126
+ 用气量合计:&emsp;{{model.sums.f_oughtamount}}
127
+ </td>
128
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
129
+ 用气金额合计:&emsp;{{model.sums.f_oughtfee}}
130
+ </td>
131
+ </tr>
132
+ </table>
133
+ </div>
134
+
135
+ </template>
136
+
137
+ <script>
138
+ import {HttpResetClass, PagedList} from 'vue-client'
139
+
140
+ export default {
141
+ title: '抄表',
142
+ data () {
143
+ return {
144
+ condition: '1=1',
145
+ model: new PagedList('api/af-revenue/sql/sale_HistoryHandplanQuery', 20, {f_user_id: this.row.f_user_id}, {
146
+ f_oughtfee: 0,
147
+ f_oughtamount: 0
148
+ }),
149
+ show: false,
150
+ f_calculation: '',
151
+ lists: [],
152
+ meterstates: this.$appdata.getParam('抄表状态') ? [{
153
+ label: '全部',
154
+ value: ''
155
+ }, ...this.$appdata.getParam('抄表状态')] : [],
156
+ handstates: this.$appdata.getParam('表单状态') ? [{
157
+ label: '全部',
158
+ value: ''
159
+ }, ...this.$appdata.getParam('表单状态')] : [],
160
+ meterType: this.$appdata.getParam('气表类型'),
161
+ // 控制单选
162
+ radio: [],
163
+ // 选中的页
164
+ all: [],
165
+ // row数据
166
+ rowsdata: [],
167
+ sqlname: 'sale_HistoryHandplanQuery',
168
+ searchValue: this.$appdata.getSingleValue('综合条件查询') ? this.$appdata.getSingleValue('综合条件查询') : 'f_userinfo_id',
169
+ starthead: '',
170
+ fields: {
171
+ 'f_userinfo_code': '用户编号',
172
+ 'f_user_name': '姓名',
173
+ 'f_last_tablebase': '上期底数',
174
+ 'f_tablebase': '本期底数',
175
+ 'f_balance': '上期余额',
176
+ 'f_curbalance': '本期余额',
177
+ 'f_oughtamount': '用气量',
178
+ 'f_oughtfee': '用气金额',
179
+ 'f_inputtor': '抄表员',
180
+ 'f_input_date': '抄表日期',
181
+ 'f_hand_date': '录入时间'},
182
+ defaultfield: [
183
+ 'f_last_tablebase', 'f_last_tablebase', 'f_oughtamount', 'f_oughtfee'
184
+ ],
185
+ fooinfo: [
186
+ '单位',
187
+ '收款人'
188
+ ],
189
+ printModel: {
190
+ rows: []
191
+ },
192
+ other: [],
193
+ footer: [],
194
+ // 合计数据
195
+ sumsmodel: {}
196
+ }
197
+ },
198
+ props: ['row'],
199
+ ready () {
200
+ this.$refs.paged.$refs.criteria.model.f_hand_state = ['有效']
201
+ this.f_calculation = this.row.f_calculation
202
+ this.$refs.paged.$refs.criteria.search()
203
+ this.sumsmodel= this.$refs.paged.$refs.grid.model.sums
204
+ for (let i in this.all) {
205
+ this.money += i.f_oughtamount
206
+ this.gas += i.f_oughtfee
207
+ }
208
+ },
209
+ methods: {
210
+ getotherfooter () {
211
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
212
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
213
+ this.other = []
214
+ this.footer = []
215
+ // let exportdata = this.getCondition;
216
+ let otherInData = []
217
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`)
218
+ let footerData = [], exportfield = this.fields
219
+ footerData.push('合计')
220
+ let self = this
221
+ for (var field in self.sumsmodel) {
222
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`)
223
+ }
224
+ this.footer.push(footerData)
225
+ this.other.push(otherInData)
226
+ },
227
+ // search() {
228
+ // this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
229
+ // this.model.search(this.condition, this.model)
230
+ // },
231
+ async search () {
232
+ this.condition = `${this.$refs.paged.$refs.criteria.condition} and ${this.searchValue} = '${this.row[this.searchValue]}'`
233
+ this.model.search(this.condition, this.model)
234
+ let http = new HttpResetClass()
235
+ let res = await http.load('POST', 'api/af-revenue/sql/sale_HistoryHandplanQuery', {
236
+ data: {
237
+ f_user_id: this.row.f_user_id,
238
+ condition: this.condition
239
+ }
240
+ }, {resolveMsg: null, rejectMsg: null})
241
+ this.printModel.rows = res.data
242
+
243
+ this.starthead = '用户编号:' + this.row.f_userinfo_code + '&emsp;&emsp;用户姓名:' + this.row.f_user_name + '&emsp;&emsp;用户地址:' + this.row.f_address
244
+ },
245
+ // 多选框初始化
246
+ selectInit () {
247
+ this.rowsdata = []
248
+ this.all = []
249
+ this.radio = []
250
+ },
251
+ print () {
252
+ console.log('====================================')
253
+ console.log('print')
254
+ console.log(this.printModel)
255
+ this.selectInit()
256
+ },
257
+ select () {
258
+ let index = this.model.pageIndex - 1
259
+ if (!this.radio[index]) {
260
+ this.radio.$set(index, [])
261
+ }
262
+ if (this.all[index]) {
263
+ // 数据
264
+ this.rowsdata[index] = Object.assign([], this.model.rows)
265
+ // 勾选
266
+ for (var i = 0; i < this.model.rows.length; i++) {
267
+ this.radio[index].$set(i, true)
268
+ }
269
+ } else {
270
+ // 数据
271
+ this.rowsdata[index] = []
272
+ // 不勾选
273
+ for (var i = 0; i < this.model.rows.length; i++) {
274
+ this.radio[index].$set(i, false)
275
+ }
276
+ }
277
+ let z = 0
278
+ for (let i = 0; i < this.all.length; i++) {
279
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
280
+ this.printModel.rows[z++] = this.rowsdata[i][j]
281
+ }
282
+ }
283
+ },
284
+ selectOne (event, row, i) {
285
+ let index = this.model.pageIndex - 1
286
+ if (!this.rowsdata[index]) {
287
+ this.rowsdata[index] = []
288
+ }
289
+ if (!this.radio[index]) {
290
+ this.radio.$set(index, [])
291
+ }
292
+ if (event.target.checked) {
293
+ // 数据
294
+ this.rowsdata[index][i] = row
295
+ // 勾选
296
+ this.radio[index].$set(i, true)
297
+ // 判断是否全部选中
298
+ var allState = true
299
+ if (this.model.rows.length != this.radio[index].length) {
300
+ allState = false
301
+ }
302
+ for (var state of this.radio[index]) {
303
+ if (!state) {
304
+ allState = false
305
+ }
306
+ }
307
+ if (allState) {
308
+ this.all.$set(index, true)
309
+ } else {
310
+ this.all.$set(index, false)
311
+ }
312
+ } else {
313
+ // 数据
314
+ this.rowsdata[index][i] = []
315
+ // 不勾选
316
+ this.radio[index].$set(i, false)
317
+ // 任意取消一个则全选状态设为false
318
+ this.all.$set(index, false)
319
+ }
320
+ let z = 0
321
+ this.printModel.rows = []
322
+ for (let i = 0; i < this.all.length; i++) {
323
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
324
+ if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
325
+ this.printModel.rows[z++] = this.rowsdata[i][j]
326
+ }
327
+ }
328
+ }
329
+ }
330
+ },
331
+ computed: {
332
+ whetherpaies () {
333
+ return [
334
+ {label: '全部', value: ''},
335
+ {label: '已缴费', value: '是'},
336
+ {label: '未缴费', value: '否'}
337
+ ]
338
+ },
339
+ ischecked () {
340
+ return function (index, i) {
341
+ if (!this.radio[index]) {
342
+ return false
343
+ }
344
+ return this.radio[index][i]
345
+ }
346
+ },
347
+ getCondition () {
348
+ return {
349
+ condition: this.condition
350
+ }
351
+ }
352
+ },
353
+ watch: {
354
+ sumsmodel: {
355
+ handler: function (val) {
356
+ this.getotherfooter()
357
+ },
358
+ deep: true
359
+ }
360
+ }
361
+ }
362
+ </script>
363
+
@@ -38,6 +38,9 @@
38
38
  <saletab header="抄表记录" v-if="newWebHand && !row.f_meter_type.includes('卡表')&&permission('抄表记录')">
39
39
  <web-hand-query-user :row="row" v-if="show == '抄表记录'" @deal-msg="dealMsg"></web-hand-query-user>
40
40
  </saletab>
41
+ <saletab header="历史抄表记录" v-if="permission('抄表记录')">
42
+ <history-hand-query-user :row="row" v-if="show == '历史抄表记录'" @deal-msg="dealMsg"></history-hand-query-user>
43
+ </saletab>
41
44
  <saletab header="补卡查询" v-if="row.f_meter_type.includes('卡表')&&permission('补卡查询')">
42
45
  <fill-card-query-user :row="row" v-if="show == '补卡查询'" @deal-msg="dealMsg"></fill-card-query-user>
43
46
  </saletab>
@@ -127,6 +130,7 @@
127
130
  import RecordQueryUser from '../../components/common/userinfo_detail/ic_detail/RecordQueryUser'
128
131
  import TransferQueryUser from '../../components/common/userinfo_detail/ic_detail/TransferQueryUser'
129
132
  import CardHandRecord from '../../components/common/userinfo_detail/ic_detail/CardHandRecord'
133
+ import HistoryHandQueryUser from './HistoryHandQueryUser'
130
134
  import AutomaticPurse from '../../components/common/userinfo_detail/ic_detail/AutomaticPurse'
131
135
  import Repurchase from '../../components/common/userinfo_detail/ic_detail/Repurchase'
132
136
  import MachineRecordQuery from '../../components/common/userinfo_detail/ic_detail/MachineRecordQuery'
@@ -164,6 +168,7 @@ export default {
164
168
  WebAutomaticPurse,
165
169
  WebChargeQueryUser,
166
170
  WebHandQueryUser,
171
+ HistoryHandQueryUser,
167
172
  Repurchase,
168
173
  ChangeMeterQueryUser,
169
174
  ChargeQueryUser,
@@ -9,7 +9,7 @@
9
9
  <div style="margin-top:10px;" v-for="(index, row) in model.otherdetail">
10
10
  <div class="row">
11
11
  <div class="col-sm-4" :class="[$v.brandspec.required ? 'select-error' : '']">
12
- <label for="f_brand_spec" class="font_normal_body " title="参数名称:品名及规格">{{brandType}}</label>
12
+ <label for="f_brand_spec" class="font_normal_body " title="参数名称:电脑端其他收费录入">{{brandType}}</label>
13
13
  <input type="text" class="input_search" style="width: 60%" v-show="false"
14
14
  v-model="$refs.brandspec.selectedItems" v-validate:brandspec='{required: true }'>
15
15
  <v-select id="f_brand_spec"
@@ -349,7 +349,7 @@ export default {
349
349
  f_typenumber: '',
350
350
  typeNameList: [],
351
351
  typenumberList: [],
352
- brandspec: this.$appdata.getParam('品名及规格'),
352
+ brandspec: this.$appdata.getParam('电脑端其他收费录入'),
353
353
  brandType: this.$appdata.getSingleValue('其他收费类型') ? this.$appdata.getSingleValue('其他收费类型') : '收费类型',
354
354
  printInvoiceType: this.$appdata.getSingleValue('电子票打印类型') ? this.$appdata.getSingleValue('电子票打印类型') : '电子发票',
355
355
  printstyle: this.$appdata.getParam('打印格式'),