sale-client 3.7.25 → 3.7.26

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.
File without changes
File without changes
@@ -0,0 +1,2 @@
1
+ #Tue Dec 30 10:04:44 CST 2025
2
+ gradle.version=5.2.1
Binary file
File without changes
@@ -1,7 +1,7 @@
1
1
  var path = require('path')
2
2
  var checkVersion = require('./versionCheck.js')
3
3
  checkVersion()
4
- const [ serverRul, localUrl, v4Url ] = ['http://218.77.35.25:30785/', 'http://218.77.35.25:30785/', 'http://218.77.35.25:30785/']
4
+ const [ serverRul, localUrl, v4Url ] = ['http://192.168.50.67:30785/', 'http://localhost:8080/', 'http://192.168.50.67:30785']
5
5
  var merge = require('webpack-merge')
6
6
  var baseConfig = require('./webpack.dev.conf')
7
7
  var devConfig = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.7.25",
3
+ "version": "3.7.26",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -0,0 +1,402 @@
1
+ <template>
2
+ <div class="binary">
3
+ <div class="basic-main" >
4
+ <div class="flex" style="flex: 1;">
5
+ <div style="flex: 1.2">
6
+ <criteria-paged :model="model" v-ref:paged>
7
+ <criteria partial='criteria' @condition-changed='$parent.search' v-ref:cri>
8
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
9
+ <div class="row">
10
+ <div class="form-group col-sm-3">
11
+ <label class="font_normal_body">用户编号</label>
12
+ <input type="text" class="form-control" v-model="model.f_userinfo_code" placeholder='用户编号' v-filter v-figure_filter
13
+ condition="f_userinfo_code = '{}'" v-next-el='username' style="width: 60%"
14
+ :size="model.f_userinfo_code ? model.f_userfiles_id.length : 4">
15
+ </div>
16
+ <div class="form-group col-sm-3">
17
+ <label class="font_normal_body">用户姓名</label>
18
+ <input type="text" class="form-control" v-model="model.f_user_name" placeholder='用户姓名'
19
+ condition="f_user_name like '%{}%'" v-next-el='area' style="width: 60%"
20
+ :size="model.f_user_name ? model.f_user_name.length * 2 : 4">
21
+ </div>
22
+ <div class="form-group col-sm-3">
23
+ <label class="font_normal_body">收费状态</label>
24
+ <v-select :options='$parent.$parent.sellState'
25
+ :value.sync="model.f_sell_state"
26
+ close-on-select
27
+ :value-single="true"
28
+ condition="f_sell_id {}"
29
+ placeholder='收费状态'
30
+ v-model="model.f_sell_state">
31
+ </v-select>
32
+ </div>
33
+ <div class="span" style="float:right;">
34
+ <button class="button_search button_spacing width-60" @click="search()" v-el:cx>查询</button>
35
+ <button class="button_clear button_spacing width-60" @click="$parent.$parent.arrcreate()">附件上传</button>
36
+ <export-excel
37
+ :data="{condition: $parent.$parent.condition}"
38
+ :field="$parent.$parent.getfield"
39
+ sqlurl="rs/logic/saleExport" progress="saleGetExportProgress" sql-name="getGovernmentList" template-name='数据导出'
40
+ :choose-col="true">
41
+ </export-excel>
42
+ <button class="button_clear button_spacing width-60" v-if="model.f_sell_state ==='is null'" @click="$parent.$parent.batchGovernmentSell()">批量缴费</button>
43
+ <button v-show="$parent.$parent.rollback" class="button_clear button_spacing width-60" @click="$parent.$parent.retrun()" v-el:cba>返回</button>
44
+ <div
45
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
46
+ @click="$parent.$parent.hidden()" class="button_spacing" style="float: right">
47
+ </div>
48
+ </div>
49
+ </div>
50
+ <div class="row" v-show="$parent.$parent.criteriaShow">
51
+ <div class="col-sm-3 form-group">
52
+ <label class="font_normal_body">身份证号</label>
53
+ <input type="text" class="form-control" v-model="model.f_idnumber" placeholder='请输入'
54
+ condition="f_idnumber = '{}'" v-next-el='area' style="width: 60%"
55
+ :size="model.f_idnumber ? model.f_idnumber.length * 2 : 4">
56
+ </div>
57
+ <div class="col-sm-3 form-group">
58
+ <label class="font_normal_body">地&nbsp;&nbsp;&nbsp;&nbsp;址</label>
59
+ <input type="text" class="form-control" v-model="model.f_address" placeholder='请输入'
60
+ condition="f_address like '%{}%'" v-next-el='area' style="width: 60%"
61
+ :size="model.f_idnumber ? model.f_idnumber.length * 2 : 4">
62
+ </div>
63
+ <div class="col-sm-3 form-group">
64
+ <label class="font_normal_body">用户表号</label>
65
+ <input type="text" class="form-control" v-model="model.f_meternumber" placeholder='请输入'
66
+ condition="f_meternumber = '{}'" v-next-el='area' style="width: 60%"
67
+ :size="model.f_meternumber ? model.f_meternumber.length * 2 : 4">
68
+ </div>
69
+ <div class="col-sm-3 form-group">
70
+ <label class="font_normal_body">批次号</label>
71
+ <input type="text" class="form-control" v-model="model.f_batchno" placeholder='请输入'
72
+ condition="f_batchno = '{}'" v-next-el='area' style="width: 60%"
73
+ :size="model.f_batchno ? model.f_batchno.length * 2 : 4">
74
+ </div>
75
+ <div class="col-sm-3 form-group">
76
+ <label class="font_normal_body">充值时间</label>
77
+ <datepicker placeholder="充值开始时间"
78
+ style="width:60%"
79
+ class="datepicker"
80
+ v-model="model.f_sell_date"
81
+ condition="f_sell_date>='{}'"
82
+ :value.sync="model.f_sell_date"
83
+ :format="'yyyy-MM-dd HH:mm:ss'"
84
+ ></datepicker>
85
+ </div>
86
+ <div class="col-sm-3 form-group">
87
+ <label class="font_normal_body">结束时间</label>
88
+ <datepicker placeholder="充值开始时间"
89
+ style="width:60%"
90
+ class="datepicker"
91
+ condition="f_sell_date<='{}'"
92
+ v-model="model.f_sell_date_end"
93
+ :value.sync="model.f_sell_date_end"
94
+ :format="'yyyy-MM-dd HH:mm:ss'"
95
+ ></datepicker>
96
+ </div>
97
+ <div class="col-sm-3 form-group">
98
+ <label class="font_normal_body">导入时间</label>
99
+ <datepicker placeholder="导入开始时间"
100
+ style="width:60%"
101
+ v-model="model.f_operate_date"
102
+ condition="f_operate_date>='{}'"
103
+ :value.sync="model.f_operate_date"
104
+ :format="'yyyy-MM-dd HH:mm:ss'"
105
+ ></datepicker>
106
+ </div>
107
+ <div class="col-sm-3 form-group">
108
+ <label class="font_normal_body">结束时间</label>
109
+ <datepicker placeholder="导入结束时间"
110
+ style="width:60%"
111
+ condition ="f_operate_date<='{}'"
112
+ v-model="model.f_operate_date_end"
113
+ :value.sync="model.f_operate_date_end"
114
+ :format="'yyyy-MM-dd HH:mm:ss'"
115
+ ></datepicker>
116
+ </div>
117
+ </div>
118
+ </div>
119
+ </criteria>
120
+ <data-grid :model="model" partial='list' class="table_sy" v-ref:grid>
121
+ <template partial='head'>
122
+ <tr>
123
+ <th>
124
+ <input type="checkbox" @click="$parent.$parent.$parent.isAll(model.pageIndex)">
125
+ </th>
126
+ <th>序号</th>
127
+ <th>批次号</th>
128
+ <th>用户编号</th>
129
+ <th>用户姓名</th>
130
+ <th>身份证号</th>
131
+ <th>地址</th>
132
+ <th>表号</th>
133
+ <th>补贴金额</th>
134
+ <th>付款方式</th>
135
+ <th>备注</th>
136
+ <th>表具类型</th>
137
+ <th>导入时间</th>
138
+ <th>充值时间</th>
139
+ <th>补气编号</th>
140
+ </tr>
141
+ </template>
142
+ <template partial='body'>
143
+ <td style="text-align:center">
144
+ <input type="checkbox" v-model="$parent.$parent.$parent.ids"
145
+ :value="row.f_userfiles_id">
146
+ </td>
147
+ <td>{{$index+1}}</td>
148
+ <td style="text-align:center">{{row.f_batchno}}</td>
149
+ <td style="text-align:center">{{row.f_userinfo_code}}</td>
150
+ <td style="text-align:center">{{row.f_user_name}}</td>
151
+ <td style="text-align:center">{{row.f_idnumber}}</td>
152
+ <td style="text-align:center">{{row.f_address}}</td>
153
+ <td style="text-align:center">{{row.f_meternumber}}</td>
154
+ <td style="text-align:center">{{row.f_preamount}}</td>
155
+ <td style="text-align:center">{{row.f_payment}}</td>
156
+ <td style="text-align:center">{{row.f_comments}}</td>
157
+ <td style="text-align:center">{{row.f_meter_brand}}</td>
158
+ <td style="text-align:center">{{row.f_operate_date}}</td>
159
+ <td style="text-align:center">{{row.f_sell_date}}</td>
160
+ <td style="text-align:center">{{row.f_sell_id}}</td>
161
+ </template>
162
+ </data-grid>
163
+ </criteria-paged>
164
+ </div>
165
+ </div>
166
+ </div>
167
+ </div>
168
+ <modal :show.sync="arrshow" width="570px" title="文件导入" v-ref:modal large backdrop="false">
169
+ <article slot="modal-body" class="modal-body">
170
+ <file-upload class="my-file-uploader col-sm-9" name="useraddressUploadFile" action="rs/file/uploadFile"
171
+ tagname="确定" multiple v-ref:file></file-upload>
172
+ <button class="button_clear btn-gn" style="margin-top: 10px;background-color: #6aa6e2;"
173
+ @click="downloadFiles()">模板下载
174
+ </button>
175
+ </article>
176
+ <footer slot="modal-footer" class="modal-footer">
177
+ </footer>
178
+ </modal>
179
+ </template>
180
+
181
+ <script>
182
+ /**
183
+ *阶梯水价查询列表
184
+ */
185
+ // eslint-disable-next-line standard/object-curly-even-spacing
186
+
187
+ import {HttpResetClass, PagedList} from 'vue-client'
188
+ import Vue from 'vue'
189
+ import axios from 'axios'
190
+ export default {
191
+ data () {
192
+ return {
193
+ HttpReset: new HttpResetClass(),
194
+ allSelect: false,
195
+ arrshow: false,
196
+ condition: '',
197
+ ids: [],
198
+ sellState: [{label: '已交', value: 'is not null'}, {label: '未交', value: 'is null'}],
199
+ pages: [],
200
+ model: new PagedList('rs/sql/getGovernmentList', 50, {}),
201
+ batchMeterShow: false,
202
+ criteriaShow: false,
203
+ range2: [],
204
+ getfield: {
205
+ 'f_batchno': '批次号',
206
+ 'f_userinfo_code': '用户编号',
207
+ 'f_user_name': '用户姓名',
208
+ 'f_idnumber': '身份证号',
209
+ 'f_address': '地址',
210
+ 'f_meternumber': '表号',
211
+ 'f_preamount': '补贴金额',
212
+ 'f_comments': '备注',
213
+ 'f_meter_brand': '表具类型',
214
+ 'f_operate_date': '导入时间',
215
+ 'f_sell_date': '充值时间',
216
+ 'f_sell_id': '充值编号'
217
+ },
218
+ }
219
+ },
220
+ title: '政府补贴',
221
+ ready () {
222
+ this.$refs.paged.$refs.cri.model.f_operate_date = this.$login.toStandardDateString() + ' 00:00:00'
223
+ this.$refs.paged.$refs.cri.model.f_operate_date_end = this.$login.toStandardDateString() + ' 23:59:59'
224
+ // this.search({condition: `1=1 `, model: this.$refs.paged.$refs.cri.model})
225
+ },
226
+ methods: {
227
+ batchGovernmentSell() {
228
+ if (this.ids.length === 0 && !this.allSelect) {
229
+ return this.$showMessage('请选择缴费的用户')
230
+ }
231
+ if (this.ids.length !== 0 && !this.allSelect) {
232
+ this.$refs.paged.$refs.cri.condition = this.$refs.paged.$refs.cri.condition?this.$refs.paged.$refs.cri.condition:'1=1'
233
+ this.condition = this.$refs.paged.$refs.cri.condition + ' and f_userfiles_id in (' + this.ids + ')'
234
+ }
235
+ if (this.allSelect){
236
+ this.$refs.paged.$refs.cri.condition = this.$refs.paged.$refs.cri.condition?this.$refs.paged.$refs.cri.condition:'1=1'
237
+ this.condition = this.$refs.paged.$refs.cri.condition
238
+ }
239
+ let userinfo = {
240
+ f_operator: this.$login.f.name,
241
+ f_operatorid: this.$login.f.id,
242
+ f_orgid: this.$login.f.orgid,
243
+ f_orgname: this.$login.f.orgs,
244
+ f_depid: this.$login.f.depids,
245
+ f_depname: this.$login.f.deps
246
+ }
247
+ let uuid = this.$login.guid()
248
+ let data = {
249
+ uuid: uuid,
250
+ condition: this.condition,
251
+ userinfo: userinfo
252
+ }
253
+ try {
254
+ this.$resetpost('rs/govsell/all',{data: data},{resolveMsg: null, rejectMsg: null}, 500)
255
+ } catch (e) {}
256
+ this.$showMessage(`正在批量处理中, 请耐心等待...`, [])
257
+ // 启动定时器定时查询处理结果
258
+ this.timer = setInterval(async () => {
259
+ let res = await this.HttpReset.load('POST', 'rs/logic/getBatchOperaPro', {data: {uuid: uuid}}, {resolveMsg: null, rejectMsg: null})
260
+ console.log(typeof (res))
261
+ console.log(res)
262
+ this.$showMessage(`正在批量处理中, 正在处理第>>>${res.data.n}户`, [])
263
+ if (res.data.msg || res.data.error) {
264
+ clearInterval(this.timer)
265
+ this.$closeMessage()
266
+ if (res.data.error) {
267
+ this.$showAlert(`${res.data.error}`, 'danger')
268
+ return
269
+ }
270
+ await this.$showMessage(`审核总条数: ${res.data.sum}, 成功${res.data.success}条, 失败${res.data.fail}条`)
271
+ this.search(this.$refs.paged.$refs.cri)
272
+ }
273
+ }, 5000)
274
+ },
275
+ downloadFiles() {
276
+ let downurl = 'rs/downloadfile/file?filename=政府补贴导入Excel模板'
277
+ this.$downFile(downurl, '政府补贴导入Excel模板.xlsx')
278
+ },
279
+ hidden () {
280
+ this.criteriaShow = !this.criteriaShow
281
+ },
282
+ search (args) {
283
+ this.condition = null
284
+ args.condition = `${args.condition} and f_orgid = ` + `'${Vue.$login.f.orgid}'`
285
+ this.condition = args.condition
286
+ console.log('查看条件', args.condition)
287
+ this.model.search(args.condition, args.model)
288
+ },
289
+ arrcreate () {
290
+ this.arrshow = true
291
+ },
292
+ isAll (page) {
293
+ this.allSelect = !this.allSelect
294
+ if (this.pages.includes(page)) { // 已添加,取消动作
295
+ // 从ids中删除本页所有数据的ids
296
+ this.addOrRemove(false)
297
+ this.pages = this.pages.filter((item) => {
298
+ return item !== page
299
+ })
300
+ } else { // 未添加
301
+ this.pages.push(page) // 添加id,添加动作
302
+ this.addOrRemove(true)
303
+ }
304
+ },
305
+
306
+ addOrRemove (is) {
307
+ let that = this
308
+ if (is) { // 添加本页所有数据到ids中
309
+ this.model.rows.forEach((row) => {
310
+ if (!that.ids.includes(row.f_userfiles_id)) {
311
+ that.ids.push(row.f_userfiles_id)
312
+ }
313
+ })
314
+ } else { // 从ids中取消所有的数据
315
+ this.model.rows.forEach((row) => {
316
+ that.ids = that.ids.filter((item) => {
317
+ return item !== row.f_userfiles_id
318
+ })
319
+ })
320
+ }
321
+ }
322
+ },
323
+ computed: {
324
+
325
+ },
326
+ events:{
327
+ 'onFileUpload': async function (file, res) {
328
+ if (this.batchMeterShow) {
329
+ this.iswork = true
330
+ // 当前上传的是批量导入的档案
331
+ let param = {
332
+ filepath: res.f_downloadpath,
333
+ f_operator: this.$login.f.name,
334
+ f_operatorid: this.$login.f.id,
335
+ f_orgid: this.$login.f.orgid,
336
+ f_orgname: this.$login.f.orgs,
337
+ f_depid: this.$login.f.depids,
338
+ f_depname: this.$login.f.deps
339
+ }
340
+ let self = this
341
+ try {
342
+ await axios.post('rs/logic/newSettleFileImport',
343
+ {data: param}, {timeout: 10 * 60 * 1000}).then((res) => {
344
+ if (res.data) {
345
+ self.$showMessage(`本次上传共上传${res.data.totalsum}条数据, 成功${res.data.successnum}条,失败${res.data.errorsum}条,具体失败数据请在稽查查询错误查询中查看!!`)
346
+ self.iswork = false
347
+ // this.$showAlert('导入成功','success',2000)
348
+ }
349
+ })
350
+ } catch (error) {
351
+ if (error.response) {
352
+ if (error.response.status == 500) {
353
+ this.$showAlert('服务繁忙,请重试!!!', 'danger', 3000)
354
+ } else if (error.response.status == 404) {
355
+ this.$showAlert('服务运行中,请耐心等待后进行重试!!', 'danger', 3000)
356
+ } else {
357
+ this.$showAlert(error.response.data, 'danger', 2000)
358
+ }
359
+ console.log(error.response.data)
360
+ console.log(error.response.status)
361
+ console.log(error.response.headers)
362
+ } else if (error.request) {
363
+ console.log(error.request)
364
+ this.$showAlert(error.request, 'danger', 2000)
365
+ } else {
366
+ console.log('Error', error.message)
367
+ this.$showAlert(error.message, 'danger', 2000)
368
+ }
369
+ this.iswork = false
370
+ }
371
+ this.batchMeterShow = false
372
+ // this.$showAlert(`一共上传${res.data.total}条数据, 成功${res.data.successnum}条`, 'success', 2000)
373
+ this.$refs.paged.$refs.cri.model.search()
374
+ } else {
375
+ let data = {
376
+ tablename: 't_government_charge',
377
+ filepath: res.f_downloadpath,
378
+ f_operator: this.$login.f.name,
379
+ f_operatorid: this.$login.f.id,
380
+ f_orgid: this.$login.f.orgid,
381
+ f_orgname: this.$login.f.orgs,
382
+ f_depid: this.$login.f.depids,
383
+ f_depname: this.$login.f.deps
384
+ }
385
+ this.$resetpost('rs/logic/governmentSellImport', {data: data}, {
386
+ resolveMsg: null,
387
+ rejectMsg: '上传失败'
388
+ }).then((res) => {
389
+ this.arrshow = false
390
+ this.$showAlert(`一共上传${res.data.totalsum}条数据, 成功${res.data.successnum}条`, 'success', 2000)
391
+ this.search(this.$refs.paged.$refs.cri)
392
+ })
393
+ }
394
+ },
395
+ }
396
+ }
397
+ </script>
398
+ <style>
399
+ .form-group{
400
+ height: 30px;
401
+ }
402
+ </style>
@@ -335,7 +335,11 @@ var data
335
335
  if (this.model.f_bill_date !== '' || this.model.f_bill_date === undefined) {
336
336
  this.model.f_bill_operator = this.$login.f.name
337
337
  }
338
- this.$resetpost('rs/logic/saveing', {data: {recordlist: this.recordList, newData: this.model}}).then((res) => {
338
+ // 过滤掉 f_sendsuccess 字段
339
+ const filteredNewData = { ...this.model }
340
+ delete filteredNewData.f_sendsuccess
341
+
342
+ this.$resetpost('rs/logic/saveing', {data: {recordlist: this.recordList, newData: filteredNewData}}).then((res) => {
339
343
  console.log('this.model:', this.model)
340
344
  this.recordList = []
341
345
  console.log('this.recordList:', this.recordList)