sale-client 4.3.21 → 4.3.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.
@@ -0,0 +1,308 @@
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
+
9
+ <div class="col-sm-2 form-group">
10
+ <label class="font_normal_body">开始时间</label>
11
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
12
+ class="datepicker"
13
+ condition="f_hand_date >= '{} 00:00:00' "
14
+ placeholder="起始时间"
15
+ style="width:60%"
16
+ v-model="model.f_start_date"
17
+ ></datepicker>
18
+ </div>
19
+ <div class="col-sm-2 form-group" >
20
+ <label class="font_normal_body" >结束时间</label>
21
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date"
22
+ class="datepicker"
23
+ condition="f_hand_date <= '{} 23:59:59' "
24
+ placeholder="结束时间"
25
+ style="width:60%"
26
+ v-model="model.f_end_date"
27
+ ></datepicker>
28
+ </div>
29
+
30
+ <div style="float: right">
31
+ <button @click="search()" class="button_search" style="margin-right: 10px" v-el:cba>查询</button>
32
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
33
+ :field="$parent.$parent.fields" :header="$parent.$parent.other"
34
+ sqlurl="api/af-revenue/logic/saleExport" sql-name="sale_cardhandplanQuery" template-name='抄表查询导出'
35
+ :choose-col="true" ref="salehandplanExport"></export-excel>
36
+
37
+ <print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :is-selected="true" :model="$parent.$parent.printModel"
38
+ @print-data="$parent.$parent.print()" print-name="其他收费流水"></print-data>
39
+ </div>
40
+ </div>
41
+
42
+ </div>
43
+ </criteria>
44
+ <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
45
+ <template partial='head'>
46
+ <tr>
47
+ <th>
48
+ <nobr>表号</nobr>
49
+ </th>
50
+ <th>
51
+ <nobr>上期底数</nobr>
52
+ </th>
53
+ <th>
54
+ <nobr>本期底数</nobr>
55
+ </th>
56
+ <th>
57
+ <nobr>用气量</nobr>
58
+ </th>
59
+ <th>
60
+ <nobr>补差气量</nobr>
61
+ </th>
62
+ <th>
63
+ <nobr>补差单价</nobr>
64
+ </th>
65
+ <th>
66
+ <nobr>补差金额</nobr>
67
+ </th>
68
+ <th>
69
+ <nobr>录入日期</nobr>
70
+ </th>
71
+ <th>
72
+ <nobr>抄表员</nobr>
73
+ </th>
74
+
75
+ <th>
76
+ <nobr>抄表状态</nobr>
77
+ </th>
78
+ <th>
79
+ <nobr>操作人</nobr>
80
+ </th>
81
+ </tr>
82
+ </template>
83
+ <template partial='body' partial='list' v-ref:grid>
84
+ <tr >
85
+ <td style="text-align: center;">
86
+ <nobr>{{row.f_meternumber}}</nobr>
87
+ </td>
88
+ <td style="text-align: center;">
89
+ <nobr>{{row.f_last_tablebase}}</nobr>
90
+ </td>
91
+ <td style="text-align: center;">
92
+ <nobr>{{row.f_tablebase}}</nobr>
93
+ </td>
94
+
95
+ <td style="text-align: center;">
96
+ <nobr>{{row.f_real_amount}}</nobr>
97
+ </td>
98
+ <td style="text-align: center;">
99
+ <nobr>{{row.f_bc_real_amount}}</nobr>
100
+ </td>
101
+ <td style="text-align: center;">
102
+ <nobr>{{row.f_bc_change_price}}</nobr>
103
+ </td>
104
+ <td style="text-align: center;">
105
+ <nobr>{{row.f_bc_real_fee}}</nobr>
106
+ </td>
107
+ <td style="text-align: center;">
108
+ <nobr>{{row.f_hand_date}}</nobr>
109
+ </td>
110
+ <td style="text-align: center;">
111
+ <nobr>{{row.f_inputtor}}</nobr>
112
+ </td>
113
+
114
+ <td style="text-align: center;">
115
+ <nobr>{{row.f_meter_state}}</nobr>
116
+ </td>
117
+ <td style="text-align: center;">
118
+ <nobr>{{row.f_operator}}</nobr>
119
+ </td>
120
+ </tr>
121
+ </template>
122
+ <template partial='foot'></template>
123
+ </data-grid>
124
+ </criteria-paged>
125
+
126
+ </div>
127
+
128
+ </div>
129
+ </template>
130
+
131
+ <script>
132
+ import {HttpResetClass, PagedList} from 'vue-client'
133
+
134
+ export default {
135
+ title: '抄表',
136
+
137
+ data () {
138
+ return {
139
+ condition: '1=1',
140
+ getfields: {},
141
+ model: new PagedList('api/af-revenue/sql/sale_cardhandplanQuery', 20, {}),
142
+ // 控制单选
143
+ radio: [],
144
+ showdetail: false,
145
+ otherchargeid: '',
146
+ // 选中的页
147
+ all: [],
148
+ // row数据
149
+ rowsdata: [],
150
+ searchValue: this.$appdata.getSingleValue('综合条件查询') ? this.$appdata.getSingleValue('综合条件查询') : 'f_userfiles_id',
151
+ fields: {'f_userinfo_code': '客户编号', 'f_user_name': '客户姓名', 'f_meternumber': '表号', 'f_last_tablebase': '上期底数', 'f_tablebase': '本期底数', 'f_real_amount': '用气量', 'f_bc_real_amount': '补差气量', 'f_bc_change_price': '补差单价', 'f_bc_real_fee': '补差金额', 'f_hand_date': '录入日期', 'f_inputtor': '抄表员', 'f_meter_state': '抄表状态', 'f_operator': '操作人'},
152
+ defaultfield: [
153
+ 'f_userinfo_code', 'f_user_name', 'f_meternumber', 'f_last_tablebase', 'f_tablebase', 'f_real_amount', 'f_real_amount', 'f_change_price', 'f_change_price', 'f_real_fee', 'f_hand_date', 'f_inputtor', 'f_meter_state', 'f_inputtor', 'f_operator'
154
+ ],
155
+ printModel: {
156
+ rows: []
157
+ },
158
+ other: [],
159
+ footer: [],
160
+ // 合计数据
161
+ sumsmodel: {}
162
+ }
163
+ },
164
+ props: ['row'],
165
+ ready () {
166
+ this.$refs.paged.$refs.criteria.search()
167
+ },
168
+ methods: {
169
+ getotherfooter () {
170
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
171
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
172
+ this.other = []
173
+ this.footer = []
174
+ // let exportdata = this.getCondition;
175
+ let otherInData = []
176
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`)
177
+ let footerData = [], exportfield = this.getfields
178
+ footerData.push('合计')
179
+ let self = this
180
+ for (var field in self.sumsmodel) {
181
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`)
182
+ }
183
+ this.footer.push(footerData)
184
+ this.other.push(otherInData)
185
+ },
186
+ async search () {
187
+ this.condition = `${this.$refs.paged.$refs.criteria.condition} and ${this.searchValue} = '${this.row[this.searchValue]}' `
188
+ this.model.search(this.condition, this.model)
189
+ let http = new HttpResetClass()
190
+ let res = await http.load('POST', 'api/af-revenue/sql/sale_cardhandplanQuery', {
191
+ data: {
192
+ condition: this.condition
193
+ }
194
+ }, {resolveMsg: null, rejectMsg: null})
195
+ this.printModel.rows = res.data
196
+ },
197
+ // 多选框初始化
198
+ selectInit () {
199
+ this.rowsdata = []
200
+ this.all = []
201
+ this.radio = []
202
+ },
203
+ print () {
204
+ this.selectInit()
205
+ },
206
+ select () {
207
+ let index = this.model.pageIndex - 1
208
+ if (!this.radio[index]) {
209
+ this.radio.$set(index, [])
210
+ }
211
+ if (this.all[index]) {
212
+ // 数据
213
+ this.rowsdata[index] = Object.assign([], this.model.rows)
214
+ // 勾选
215
+ for (var i = 0; i < this.model.rows.length; i++) {
216
+ this.radio[index].$set(i, true)
217
+ }
218
+ } else {
219
+ // 数据
220
+ this.rowsdata[index] = []
221
+ // 不勾选
222
+ for (var i = 0; i < this.model.rows.length; i++) {
223
+ this.radio[index].$set(i, false)
224
+ }
225
+ }
226
+ let z = 0
227
+ for (let i = 0; i < this.all.length; i++) {
228
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
229
+ this.printModel.rows[z++] = this.rowsdata[i][j]
230
+ }
231
+ }
232
+ },
233
+ selectOne (event, row, i) {
234
+ let index = this.model.pageIndex - 1
235
+ if (!this.rowsdata[index]) {
236
+ this.rowsdata[index] = []
237
+ }
238
+ if (!this.radio[index]) {
239
+ this.radio.$set(index, [])
240
+ }
241
+ if (event.target.checked) {
242
+ // 数据
243
+ this.rowsdata[index][i] = row
244
+ // 勾选
245
+ this.radio[index].$set(i, true)
246
+ // 判断是否全部选中
247
+ var allState = true
248
+ if (this.model.rows.length != this.radio[index].length) {
249
+ allState = false
250
+ }
251
+ for (var state of this.radio[index]) {
252
+ if (!state) {
253
+ allState = false
254
+ }
255
+ }
256
+ if (allState) {
257
+ this.all.$set(index, true)
258
+ } else {
259
+ this.all.$set(index, false)
260
+ }
261
+ } else {
262
+ // 数据
263
+ this.rowsdata[index][i] = []
264
+ // 不勾选
265
+ this.radio[index].$set(i, false)
266
+ // 任意取消一个则全选状态设为false
267
+ this.all.$set(index, false)
268
+ }
269
+ let z = 0
270
+ this.printModel.rows = []
271
+ for (let i = 0; i < this.all.length; i++) {
272
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
273
+ if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
274
+ this.printModel.rows[z++] = this.rowsdata[i][j]
275
+ }
276
+ }
277
+ }
278
+ },
279
+ showchargedetail (row) {
280
+ this.showdetail = true
281
+ this.otherchargeid = row.id
282
+ }
283
+ },
284
+ computed: {
285
+ ischecked () {
286
+ return function (index, i) {
287
+ if (!this.radio[index]) {
288
+ return false
289
+ }
290
+ return this.radio[index][i]
291
+ }
292
+ },
293
+ getCondition () {
294
+ return {
295
+ condition: this.condition
296
+ }
297
+ }
298
+ },
299
+ watch: {
300
+ sumsmodel: {
301
+ handler: function (val) {
302
+ this.getotherfooter()
303
+ },
304
+ deep: true
305
+ }
306
+ }
307
+ }
308
+ </script>