sale-client 4.2.133 → 4.2.135

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.
Files changed (51) hide show
  1. package/build/dev-server.js +51 -29
  2. package/index.html +7 -2
  3. package/package.json +1 -1
  4. package/src/App.vue +1 -1
  5. package/src/components/common/userinfo_detail/ic_detail/WebHandQueryUser.vue +2 -2
  6. package/src/components/revenue/HandManager/MeterBookUser.vue +726 -726
  7. package/src/components/revenue/changeInsurance/InsuranceChargesDetails.vue +19 -1
  8. package/src/components/revenue/comprehen/ComprehenOperation/QrPay/QrPaymentDetailed.vue +423 -423
  9. package/src/components/revenue/comprehen/Maintenance/hand/handOperate.vue +469 -469
  10. package/src/components/revenue/machineHandManage/ArrearsQuery.vue +938 -938
  11. package/src/filiale/alashan/eticket/EticketRecordList.vue +428 -428
  12. package/src/filiale/bayan/ChargeList.vue +1010 -1010
  13. package/src/filiale/bayan/StockListmain.vue +543 -543
  14. package/src/filiale/bazhong/UserInfoDetailManageNew.vue +245 -245
  15. package/src/filiale/bazhong/ic_detail/ChangeMeterQueryUser.vue +370 -370
  16. package/src/filiale/bazhong/sale.js +8 -8
  17. package/src/filiale/beifangshiye/OtherChargeNew.vue +625 -625
  18. package/src/filiale/dexin/UserInfoDetailManageNew.vue +535 -0
  19. package/src/filiale/dexin/WebHandQueryUser.vue +411 -0
  20. package/src/filiale/dexin/sale.js +1 -0
  21. package/src/filiale/lixianV3/ArrearsQuery.vue +938 -938
  22. package/src/filiale/lixianV3/InsuranceChargesDetails.vue +425 -425
  23. package/src/filiale/meihekou/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +281 -281
  24. package/src/filiale/ronghao/ArrearsQuery.vue +974 -974
  25. package/src/filiale/ronghao/CardService.js +2144 -2144
  26. package/src/filiale/ronghao/InsuranceManage.vue +58 -58
  27. package/src/filiale/ronghao/MachineChargeService.js +149 -149
  28. package/src/filiale/ronghao/PaymentCode.vue +209 -174
  29. package/src/filiale/ronghao/PriceChangeCompensation/CompensationManage.vue +26 -26
  30. package/src/filiale/ronghao/PriceChangeCompensation/JbCompensation.vue +343 -343
  31. package/src/filiale/ronghao/PriceChangeCompensation/SurplusRecordDetail.vue +74 -74
  32. package/src/filiale/ronghao/ReplaceCardManage.vue +415 -415
  33. package/src/filiale/ronghao/Upload.vue +654 -654
  34. package/src/filiale/ronghao/cardDown.vue +1141 -1141
  35. package/src/filiale/ronghao/changemeterOperate.vue +315 -315
  36. package/src/filiale/ronghao/fillgasSpecific.vue +313 -313
  37. package/src/filiale/ronghao/ic_detail/ChargeRecordQuery.vue +106 -106
  38. package/src/filiale/ronghao/ic_detail/WatchCollection.vue +115 -115
  39. package/src/filiale/ronghao/ic_detail/WebHandQueryUser.vue +411 -411
  40. package/src/filiale/ronghao/machineDown.vue +1176 -1176
  41. package/src/filiale/ronghao/replacementSingleInfoOperation.vue +315 -315
  42. package/src/filiale/ronghao/specificInformation.vue +537 -537
  43. package/src/filiale/yangchun/ChangeMeter.vue +1351 -1351
  44. package/src/filiale/yangchun/ChargeList.vue +954 -954
  45. package/src/filiale/yuncheng/ParamSet.vue +669 -0
  46. package/src/filiale/yuncheng/ParamSetForm.vue +406 -0
  47. package/src/filiale/yuncheng/changemeterListMaintain.vue +504 -504
  48. package/src/filiale/yuncheng/sale.js +2 -0
  49. package/src/filiale/zhongsheng/BlackListList.vue +293 -293
  50. package/src/filiale/zhongyi/HandQueryUser.vue +389 -389
  51. package/src/main.js +3 -3
@@ -0,0 +1,406 @@
1
+ <template>
2
+ <div class="binary-left" style="width:48%">
3
+ <div class="row auto">
4
+ <div class="col-sm-4">
5
+ <label class="font_normal_body" style="text-align:left">参数类型</label>
6
+ </div>
7
+ <div class="col-sm-8">
8
+ <v-select
9
+ placeholder="请选择参数类型"
10
+ :value.sync="paramtype"
11
+ style="width:40%"
12
+ width="40%"
13
+ :value-single="true"
14
+ v-model="paramtype"
15
+ :options='paramtypes'
16
+ close-on-select
17
+ ></v-select>
18
+ </div>
19
+ <!--<div class="col-sm-8" >
20
+ -&#45;&#45;&#45;&#45;{{row.overdueMessageValue}}
21
+ <input :type="text" v-model="row.overdueMessageValue" :value.sync="row.overdueMessageValue" style="width:70%" placeholder="" class="input_search">
22
+ </div>-->
23
+ <div v-for="data in newmeterinfo" style="height: auto">
24
+ <div class="col-sm-12" style="height: auto" v-if="data.name===paramtype" v-for="param in data.params">
25
+ <div class="col-sm-4">
26
+ <label class="font_normal_body" style="text-align:left">{{param.name}}:</label>
27
+ <p class="glyphicon glyphicon-info-sign" style="margin-top:7%;color:#4a7cae" :title="param.remark"></p>
28
+ </div>
29
+ <div class="col-sm-8" v-if="param.type!=='option'">
30
+ <input :type="param.type" v-model="row[param.title]" :value.sync="row[param.title]" style="width:70%" placeholder="" class="input_search">
31
+ </div>
32
+ <div class="col-sm-8" v-if="param.type==='option'">
33
+ <v-select
34
+ :placeholder='param.name'
35
+ :value.sync="row[param.title]"
36
+ style="width:70%"
37
+ width="70%"
38
+ :multiple="param.multiple ? param.multiple : false"
39
+ :value-single="param.multiple ? param.multiple == true ? false : true : true"
40
+ :close-on-select="param.multiple ? param.multiple == true ? false : true :true"
41
+ v-model="row[param.title]"
42
+ :options='param.params'
43
+ >
44
+ </v-select>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ <div class="form-group col-sm-4" style="float:right;white-space: nowrap;width: auto">
49
+ <button class="button_search" @click="setParam()" v-if="paramtype && user ">提交</button>
50
+ <button class="button_search" @click="setParamDefault()" v-if="paramtype && !user">提交</button>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ <div class="binary-right" style="width:48%;overflow-y: auto;max-height:1000px;" v-if="user">
55
+ <div class="row list_area table_sy">
56
+ <h4 style="display:inline-block;"><font style="font-weight: bold">已选中客户数:</font>{{user.length}}</h4>
57
+ <div v-if="condition" class="row auto">
58
+ <h4 style="display:inline-block;"><font style="font-weight: bold">查询条件:</font>{{condition}}</h4>
59
+ </div>
60
+ <table class="table table-bordered table-striped table-hover" style="margin-top: 15px" id="table1" >
61
+ <thead>
62
+ <th style="text-align:center"><nobr>客户编号</nobr></th>
63
+ <th style="text-align:center"><nobr>客户姓名</nobr></th>
64
+ <th style="text-align:center"><nobr>客户类型</nobr></th>
65
+ <th style="text-align:center"><nobr>气表品牌</nobr></th>
66
+ </thead>
67
+ <tbody>
68
+ <tr v-for="row in user">
69
+ <td><nobr>{{row.f_userinfo_code}}</nobr></td>
70
+ <td><nobr>{{row.f_user_name}}</nobr></td>
71
+ <td><nobr>{{row.f_user_type}}</nobr></td>
72
+ <td><nobr>{{row.f_meter_brand}}</nobr></td>
73
+ </tr>
74
+ </tbody>
75
+ </table>
76
+ </div>
77
+ </div>
78
+ <div class="binary-right flex-row" style="width:80%;overflow-y: auto;max-height:1000px;" v-if="!user">
79
+ <div class="binary-left" style="width:24% ;text-align:center;align-content: center;">
80
+ <div class="row">
81
+ <div v-for="data in newmeterinfo" style="height: auto">
82
+ <ul class="nav nav-tabs col-sm-12" >
83
+ <li class="active"><a>{{data.name}}</a></li>
84
+ </ul>
85
+ <div class="col-sm-12" style="height: auto" v-for="p in data.params">
86
+ {{p.name}}:{{param[p.title]}}
87
+ </div>
88
+ </div>
89
+ </div>
90
+ </div>
91
+ <div class="binary-right" style="width:74%;overflow-y: auto;max-height:1000px;">
92
+ <div class="row list_area table_sy">
93
+ <table class="table table-bordered table-striped table-hover" id="table1" >
94
+ <thead>
95
+ <th style="text-align:center"><nobr>参数类型</nobr></th>
96
+ <th style="text-align:center"><nobr>参数名</nobr></th>
97
+ <th style="text-align:center"><nobr>旧参数值</nobr></th>
98
+ <th style="text-align:center"><nobr>新参数值</nobr></th>
99
+ <!-- <th style="text-align:center"><nobr>气表品牌</nobr></th>-->
100
+ </thead>
101
+ <tbody>
102
+ <tr v-for="row in history">
103
+ <td><nobr>{{row.f_param_group_name}}</nobr></td>
104
+ <td><nobr>{{row.f_param_name}}</nobr></td>
105
+ <td><nobr>{{row.oldvalue}}</nobr></td>
106
+ <td><nobr>{{row.f_param_value}}</nobr></td>
107
+
108
+ <!-- <td><nobr>{{row.f_user_type}}</nobr></td>-->
109
+ <!-- <td><nobr>{{row.f_meter_brand}}</nobr></td>-->
110
+ </tr>
111
+ </tbody>
112
+ </table>
113
+ </div>
114
+ </div>
115
+ </div>
116
+
117
+ </template>
118
+
119
+
120
+ <script>
121
+ import {HttpResetClass} from 'vue-client'
122
+ import axios from 'axios'
123
+
124
+ export default {
125
+ title: '参数设置',
126
+ props: ['user', 'checked1', 'gasbrandid', 'condition'],
127
+
128
+ data () {
129
+ return {
130
+ newmeterinfo: [{}],
131
+ row: {},
132
+ gasbrand: null,
133
+ paramtypes: [],
134
+ paramtype: '',
135
+ param: {},
136
+ history: []
137
+ }
138
+ },
139
+ ready () {
140
+
141
+ },
142
+ watch: {
143
+ param: {
144
+ handler: function (val) {
145
+ console.log('--------------param变了', val)
146
+ },
147
+ deep: true
148
+ },
149
+ 'gasbrandid' (val) {
150
+ if (val[0]) {
151
+ this.refreshParam(val[0])
152
+ }
153
+ },
154
+ 'paramtype' (val) {
155
+ console.log('改了paramtype!', val)
156
+ this.row = {}
157
+ if (val) {
158
+ for (let i = 0; i < this.newmeterinfo.length; i++) {
159
+ if (this.newmeterinfo[i].name == this.paramtype) {
160
+ const params = this.newmeterinfo[i].params
161
+ for (let j = 0; j < params.length; j++) {
162
+ const param = params[j]
163
+ if (param.data) {
164
+ if (Array.isArray(param.data)) {
165
+ this.$set(`row['${param.title}']`, [])
166
+ for (let u = 0; u < param.data.length; u++) {
167
+ for (let z = 0; z < param.params.length; z++) {
168
+ if (param.data[u] == param.params[z].value.code) {
169
+ this.row[param.title].push(param.params[z].value)
170
+ }
171
+ }
172
+ }
173
+ } else {
174
+ this.$set(`row['${param.title}']`, param.data)
175
+ }
176
+ }
177
+ }
178
+ }
179
+ }
180
+ console.log('this.row', this.row)
181
+ // if (this.user.length === 1) {
182
+ // this.$resetpost('api/af-revenue/sql/getIotParams', {data: {t_userfiles_id: this.user[0].f_userfiles_id}}, {resolveMsg: null, rejectMsg: null}).then((rat) => {
183
+ // this.row = {}
184
+ // if (rat.data.length > 0) {
185
+ // rat.data.forEach((item) => {
186
+ // console.log('=============>this.paramtype', val)
187
+ // console.log('=============>item', item.f_param_group_name)
188
+ // if (val === item.f_param_group_name) {
189
+ // this.$set('row.' + item.f_param_lname, item.f_param_value)
190
+ // }
191
+ // })
192
+ // // let param = JSON.parse(rat.data[0].f_data)
193
+ // // console.log(param)
194
+ // // this.row= param
195
+ // }
196
+ // })
197
+ // }
198
+ }
199
+ }
200
+ },
201
+ methods: {
202
+ close () {
203
+ this.row = {}
204
+ this.$dispatch('close')
205
+ },
206
+ async setParamDefault () {
207
+ let params = []
208
+ for (let i = 0; i < this.newmeterinfo.length; i++) {
209
+ for (let j = 0; j < this.newmeterinfo[i].params.length; j++) {
210
+ if (this.newmeterinfo[i].name === this.paramtype) {
211
+ for (let key in this.row) {
212
+ if (key === this.newmeterinfo[i].params[j].title) {
213
+ let data = {}
214
+ data.tag = this.newmeterinfo[i].tag
215
+ data.param_group = this.newmeterinfo[i].name
216
+ data.param_name = this.newmeterinfo[i].params[j].name
217
+ if (this.row[key]) {
218
+ if (Array.isArray(this.row[key])) {
219
+ let valueArr = []
220
+ let contentArr = []
221
+ this.row[key].forEach((item, index) => {
222
+ valueArr.push(item.code)
223
+ contentArr.push(item.content)
224
+ })
225
+ data.param_value = valueArr
226
+ data.param_content = contentArr
227
+ } else if (Object.prototype.toString.call(this.row[key]) === '[object Object]') {
228
+ data.param_value = this.row[key].code
229
+ data.param_content = this.row[key].content
230
+ } else {
231
+ data.param_value = this.row[key]
232
+ data.param_content = this.row[key]
233
+ }
234
+ } else {
235
+ data.param_value = null
236
+ data.param_content = null
237
+ }
238
+ data.param_lname = this.newmeterinfo[i].params[j].title
239
+ if (this.row[key]) {
240
+ params.push(data)
241
+ }
242
+ }
243
+ }
244
+ }
245
+ }
246
+ }
247
+ let param = {
248
+ condition: 'g.f_gasbrand_id = ' + this.gasbrandid[0],
249
+ switchCheckAll: this.checked1,
250
+ users: '',
251
+ params: params,
252
+ f_alias: this.gasbrand.f_alias,
253
+ columnName: '',
254
+ // inputter_name: this.$login.f.name,
255
+ f_operator: this.$login.f.name,
256
+ f_operatorid: this.$login.f.id,
257
+ f_orgid: this.$login.f.orgid,
258
+ f_orgname: this.$login.f.orgs,
259
+ f_depid: this.$login.f.depids,
260
+ f_depname: this.$login.f.deps,
261
+ f_gasbrand_id: this.gasbrandid[0]
262
+ }
263
+ console.log(param)
264
+ await this.$resetpost('/api/af-revenue/logic/alteration_batch', {data: param}, {rejectMsg: '批量保存失败', resolveMsg: '保存成功'})
265
+ this.row = null
266
+ this.$dispatch('clear')
267
+ },
268
+ async setParam () {
269
+ let user = []
270
+ let filesid = ''
271
+ this.user.forEach((item) => {
272
+ user.push(item.f_userfiles_id)
273
+ filesid += item.f_userfiles_id + ','
274
+ })
275
+ filesid = filesid.substr(0, filesid.length - 1)
276
+ let params = []
277
+ for (let i = 0; i < this.newmeterinfo.length; i++) {
278
+ for (let j = 0; j < this.newmeterinfo[i].params.length; j++) {
279
+ if (this.newmeterinfo[i].name === this.paramtype) {
280
+ for (let key in this.row) {
281
+ if (key === this.newmeterinfo[i].params[j].title) {
282
+ let data = {}
283
+ data.param_group = this.newmeterinfo[i].name
284
+ data.param_name = this.newmeterinfo[i].params[j].name
285
+ data.tag = this.newmeterinfo[i].tag
286
+ if (this.row[key]) {
287
+ if (Array.isArray(this.row[key])) {
288
+ let valueArr = []
289
+ let contentArr = []
290
+ this.row[key].forEach((item, index) => {
291
+ valueArr.push(item.code)
292
+ contentArr.push(item.content)
293
+ })
294
+ data.param_value = valueArr
295
+ data.param_content = contentArr
296
+ } else if (Object.prototype.toString.call(this.row[key]) === '[object Object]') {
297
+ data.param_value = this.row[key].code
298
+ data.param_content = this.row[key].content
299
+ } else {
300
+ data.param_value = this.row[key]
301
+ data.param_content = this.row[key]
302
+ }
303
+ } else {
304
+ data.param_value = null
305
+ data.param_content = null
306
+ }
307
+ data.param_lname = this.newmeterinfo[i].params[j].title
308
+ if (this.row[key]) {
309
+ params.push(data)
310
+ }
311
+ }
312
+ }
313
+ }
314
+ }
315
+ }
316
+ debugger
317
+ let param = {
318
+ condition: 'g.f_gasbrand_id = ' + this.gasbrandid[0] + ' and f.f_userfiles_id in (' + filesid + ')',
319
+ switchCheckAll: this.checked1,
320
+ users: user,
321
+ params: params,
322
+ f_alias: this.gasbrand.f_alias,
323
+ columnName: 'g.f_userfiles_id',
324
+ // inputter_name: this.$login.f.name,
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_gasbrand_id: this.gasbrandid[0]
332
+ }
333
+ console.log(param)
334
+ await this.$resetpost('/api/af-revenue/logic/alteration_batch', {data: param}, {rejectMsg: '批量保存失败', resolveMsg: '保存成功'})
335
+ this.row = null
336
+ this.$dispatch('clear')
337
+ },
338
+ async refreshParam (val) {
339
+ this.paramtypes = []
340
+ let temp = {
341
+ tablename: 't_gasbrand',
342
+ condition: `id=${val}`
343
+ }
344
+ await this.$resetpost('api/af-revenue/sql/saleSingleTable', {data: temp}, {resolveMsg: null, rejectMsg: null}).then((res) => {
345
+ this.gasbrand = res.data[0]
346
+ })
347
+ this.newmeterinfo = [{}]
348
+ // let res = await this.$resetpost('/webmeter/rs/logic/getParamsByGasBrand', {data: {gasBrandId: val}}, {timeout: 10 * 60 * 1000})
349
+ let res = await this.$resetpost('/api/af-revenue/logic/getParamsByGasBrandswitch', {data: {gasBrandId: val}}, {resolveMsg: '参数已加载', rejectMsg: null})
350
+ this.newmeterinfo = res.data
351
+ for (let i = 0; i < this.newmeterinfo.length; i++) {
352
+ this.paramtypes.push({label: this.newmeterinfo[i].name, value: this.newmeterinfo[i].name})
353
+ for (let j = 0; j < this.newmeterinfo[i].params.length; j++) {
354
+ if (this.newmeterinfo[i].params[j].params instanceof Array) {
355
+ for (let k = 0; k < this.newmeterinfo[i].params[j].params.length; k++) {
356
+ this.newmeterinfo[i].params[j].params[k].value = {
357
+ id: this.newmeterinfo[i].params[j].params[k].label,
358
+ code: this.newmeterinfo[i].params[j].params[k].value,
359
+ content: this.newmeterinfo[i].params[j].params[k].label
360
+ }
361
+ }
362
+ }
363
+ }
364
+ }
365
+ this.$dispatch('showparam', true)
366
+ },
367
+ async getBrandParamsHistory () {
368
+ let http = new HttpResetClass()
369
+ let res = await http.load('POST', 'api/af-revenue/sql/getBrandParamHistory', {
370
+ data: {
371
+ condition: `ga.f_gasbrand_id= ${this.gasbrandid}`
372
+ }
373
+ }, {resolveMsg: null, rejectMsg: '获取参数历史信息信息失败'})
374
+ this.history = res.data
375
+ let rat = await http.load('POST', 'api/af-revenue/sql/singleTable_OrderBy', {
376
+ data: {
377
+ items: '*',
378
+ tablename: 't_gasparammanage',
379
+ condition: `f_gasbrand_id= ${this.gasbrandid}`,
380
+ orderitem: 'id'
381
+ }
382
+ }, {resolveMsg: null, rejectMsg: '获取参数历史信息信息失败'})
383
+ if (rat.data.length > 0) {
384
+ rat.data.forEach((item) => {
385
+ if (item.f_param_value === '1') {
386
+ item.f_param_value = '开'
387
+ }
388
+ if (item.f_param_value === '0') {
389
+ item.f_param_value = '关'
390
+ }
391
+ console.log('参数取出来了---', item.f_param_lname)
392
+ this.$set(`param['${item.f_param_lname}']`, item.f_param_value)
393
+ // this.param[item.f_param_lname] = item.f_param_value
394
+ })
395
+ }
396
+ console.log('参数取出来了', this.param)
397
+ }
398
+ }
399
+ }
400
+ </script>
401
+ <style>
402
+ .btn-border {
403
+ border: none;
404
+ border-radius: 6px;
405
+ }
406
+ </style>