sale-client 3.5.203 → 3.5.205

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 (31) hide show
  1. package/package.json +1 -1
  2. package/src/components/FilesManage/FileUserFiles.vue +1 -1
  3. package/src/components/FilesManage/MeterinfoTest.vue +2 -2
  4. package/src/components/FilesManage/UserFireInfo.vue +1 -1
  5. package/src/components/FilesManageNew/MeterinfoTest.vue +1 -1
  6. package/src/components/UserFiles/Meterinfo.vue +1 -1
  7. package/src/components/UserFiles/UserGeneralInfo.vue +3 -2
  8. package/src/components/UserFiles/UserPriceChangeManage.vue +1 -1
  9. package/src/components/charge/ChargeList.vue +1 -1
  10. package/src/components/charge/business/refund_copy/IOTRefund.vue +237 -0
  11. package/src/components/charge/business/refund_copy/RefundManage.vue +28 -0
  12. package/src/components/charge/business/refund_copy/machineRefund.vue +193 -0
  13. package/src/components/chargeBatch/ChargeBatchList.vue +1 -1
  14. package/src/components/priceadjustment/adjustUser.vue +1 -1
  15. package/src/components/revenue/HandManager/HandManager.vue +1 -1
  16. package/src/components/revenue/comprehen/gasbrand/AddGasBrand.vue +1 -2
  17. package/src/components/revenue/machineHandManage/machineHand.vue +1 -1
  18. package/src/filiale/fugu/MeterinfoTest.vue +2 -2
  19. package/src/filiale/fugu/components/BlackListList.vue +1 -1
  20. package/src/filiale/fugu/components/revenue/machineHandManage/machineHand.vue +1 -1
  21. package/src/filiale/qianneng/FilesManage/FileUserFiles.vue +1 -1
  22. package/src/filiale/qianneng/FilesManage/MeterinfoTest.vue +2 -2
  23. package/src/filiale/wuan/FileUserFiles.vue +1 -1
  24. package/src/filiale/wuan/TransferManage.vue +401 -0
  25. package/src/filiale/wuan/charge/MeterinfoTest.vue +2 -2
  26. package/src/filiale/wuan/sale.js +3 -1
  27. package/src/filiale/xiangyun/cardChargeQuery.vue +46 -2
  28. package/src/filiale/xiangyun/cardChargeQuery1.vue +28 -2
  29. package/src/filiale/xiangyun/machineChargeQuery.vue +48 -4
  30. package/src/filiale/xiangyun/machineChargeQuery1.vue +30 -4
  31. package/src/sale.js +2 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.5.203",
3
+ "version": "3.5.205",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -281,7 +281,7 @@
281
281
  class="form-group">
282
282
  <label class="font_normal_body">表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</label>
283
283
  <input class="input_search" condition="f_meternumber ='{}'" placeholder='表号' style="width:60%"
284
- type="text" v-model="model.f_meternumber">
284
+ type="text" v-model.trim="model.f_meternumber">
285
285
  </div>
286
286
  </div>
287
287
  </div>
@@ -24,13 +24,13 @@
24
24
 
25
25
  <div class="col-sm-4 form-group" v-if="isiot" :class="[$m.f_meternumber.required ? 'has-error' : '']">
26
26
  <label for="f_meternumber" class="font_normal_body">&ensp;表&emsp;&emsp;号</label>
27
- <input type="text" class="input_search" style="width:60%" v-model="row.f_meternumber"
27
+ <input type="text" class="input_search" style="width:60%" v-model.trim="row.f_meternumber"
28
28
  @blur="meternumberValidate()" placeholder='表号' v-validate:f_meternumber='{required: true }'
29
29
  v-next-el="{id: 'metertitles'}">
30
30
  </div>
31
31
  <div class="col-sm-4 form-group" v-else>
32
32
  <label for="f_meternumber" class="font_normal_body">&ensp;表&emsp;&emsp;号</label>
33
- <input type="text" class="input_search" style="width:60%" v-model="row.f_meternumber"
33
+ <input type="text" class="input_search" style="width:60%" v-model.trim="row.f_meternumber"
34
34
  @blur="meternumberValidate()" placeholder='表号'
35
35
  v-next-el="{id: 'metertitles'}">
36
36
  </div>
@@ -26,7 +26,7 @@
26
26
  </div>
27
27
  <div class="col-sm-3 form-group" >
28
28
  <label class="font_normal_body">&emsp;&emsp;&emsp;表&emsp;&emsp;号</label>
29
- <input type="text" class="input-underline" style="width:60%" v-model="meter.f_meternumber" readonly
29
+ <input type="text" class="input-underline" style="width:60%" v-model.trim="meter.f_meternumber" readonly
30
30
  placeholder='表号' >
31
31
  </div>
32
32
  <div class="col-sm-3 form-group" >
@@ -5,7 +5,7 @@
5
5
  <div class="row">
6
6
  <div class="col-sm-4 form-group" :class="[$m.meternumber.required ? 'has-error' : '']">
7
7
  <label for="f_meternumber" class="font_normal_body">&ensp;表&emsp;&emsp;号</label>
8
- <input type="text" class="input_search" style="width:60%" v-model="row.f_meternumber"
8
+ <input type="text" class="input_search" style="width:60%" v-model.trim="row.f_meternumber"
9
9
  @blur="meternumberValidate()" placeholder='表号'
10
10
  v-next-el="{id: 'metertitles'}">
11
11
  </div>
@@ -8,7 +8,7 @@
8
8
  <div class="row auto">
9
9
  <div class="col-sm-3" :class="[$m.meternumber.required ? 'has-error' : '']">
10
10
  <label for="f_meternumber" class="font_normal_body">&nbsp;&nbsp;&nbsp;表号&nbsp;&nbsp;&nbsp;</label>
11
- <input type="text" class="input_search" style="width:60%" v-model="row.f_meternumber"
11
+ <input type="text" class="input_search" style="width:60%" v-model.trim="row.f_meternumber"
12
12
  v-validate:meternumber='{required: true }' @blur="meternumberValidate()" placeholder='表号'
13
13
  v-next-el="{id: 'metertitles'}">
14
14
  </div>
@@ -68,7 +68,8 @@
68
68
  f_user_state: '',
69
69
  f_credentials: '',
70
70
  f_cost_type: '',
71
- f_paper_type: ''
71
+ f_paper_type: '',
72
+ f_contract_id: ''
72
73
  },
73
74
  bank: {
74
75
  f_bank_name: ''
@@ -249,7 +250,7 @@
249
250
  row.f_devices_type = row.f_devices_type ? [row.f_devices_type] : ''
250
251
  })
251
252
  },
252
- getPricenames (f_user_type, f_gasproperties, f_price_type) {
253
+ getPricenames(f_user_type, f_gasproperties, f_price_type){
253
254
  let rs = []
254
255
  if (f_user_type.length === 1 && f_gasproperties.length === 1 && f_price_type.length === 1) {
255
256
  rs = this.$GetSaleParam.getPrice({
@@ -42,7 +42,7 @@
42
42
  </div>
43
43
  <div class="form-group col-sm-2">
44
44
  <label class="font_normal_body">表&emsp;&emsp;号</label>
45
- <input type="text" class="input_search" style="width:60%" v-model="model.f_meternumber" placeholder='表号'
45
+ <input type="text" class="input_search" style="width:60%" v-model.trim="model.f_meternumber" placeholder='表号'
46
46
  condition="f_meternumber = '{}'">
47
47
  </div>
48
48
  <div class="form-group col-sm-2">
@@ -44,7 +44,7 @@
44
44
  </div>
45
45
  <div class="form-group col-sm-3">
46
46
  <label class="font_normal_body">表&emsp;&emsp;号</label>
47
- <input type="text" class="input_search" style="width:60%" style="width:60%" v-model="model.f_meternumber" placeholder='表号'
47
+ <input type="text" class="input_search" style="width:60%" style="width:60%" v-model.trim="model.f_meternumber" placeholder='表号'
48
48
  condition="u.f_meternumber like '%{}%'">
49
49
  </div>
50
50
 
@@ -0,0 +1,237 @@
1
+ <template>
2
+ <div class="auto">
3
+ <validator name='v'>
4
+ <form novalidate class="form-horizontal">
5
+ <div class="row">
6
+ <div class="col-sm-4 form-group" :class="[$v.payment.required ? 'select-error' : '']">
7
+ <label class="font_normal_body" title="参数名称:付款方式">收款方式</label>
8
+ <input type="text" v-show="false" v-model="$refs.payment.selectedItems" v-validate:payment='{required: true }'>
9
+ <v-select v-model="f_payment"
10
+ placeholder='请选择'
11
+ style="width:60%"
12
+ :value.sync="model.f_payment"
13
+ :options='paytype'
14
+ v-ref:payment
15
+ close-on-select clear-button></v-select>
16
+
17
+ </div>
18
+ <div class="col-sm-4 form-group">
19
+ <label for="f_print" class="font_normal_body">打印格式</label>
20
+
21
+ <v-select id="print"
22
+ v-model="f_print"
23
+ style="width:60%"
24
+ placeholder='请选择'
25
+ :value.sync="model.f_print"
26
+ :options='printstyle'
27
+ close-on-select clear-button>
28
+ </v-select>
29
+ </div>
30
+ <div class="col-sm-4 form-group" v-if="data.f_collection_type === '按气量'">
31
+ <label class="font_normal_body">剩余气量</label>
32
+ <input class="input_search" style="width:60%" type="number" v-model="data.f_balance_gas" readonly>
33
+ </div>
34
+ <div class="col-sm-4 form-group" v-if="data.f_collection_type === '按气量'">
35
+ <label class="font_normal_body">核算单价</label>
36
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_price" >
37
+ </div>
38
+ <div class="col-sm-4 form-group" v-if="data.f_collection_type === '按金额'">
39
+ <label class="font_normal_body">剩余金额</label>
40
+ <input class="input_search" style="width:60%" type="number" v-model="data.f_balance_amount" readonly>
41
+ </div>
42
+ <div class="col-sm-4 form-group" v-if="config.overBalance && data.f_collection_type === '按气量'"
43
+ :class="[$v.f_refund_gas.required || $v.f_refund_gas.dctest ? 'has-error' : 'has-success']">
44
+ <label class="font_normal_body">冲减气量</label>
45
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_refund_gas"
46
+ v-validate:f_refund_gas='{required: true, dctest: [0, ">=" ]}' placeholder="冲减气量" >
47
+ </div>
48
+ <div class="col-sm-4 form-group" v-if="!config.overBalance && data.f_collection_type === '按气量'"
49
+ :class="[$v.f_refund_gas.required || $v.f_refund_gas.dctest ? 'has-error' : 'has-success']">
50
+ <label class="font_normal_body">冲减气量</label>
51
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_refund_gas"
52
+ v-validate:f_refund_gas='{required: true, dctest: [data.f_balance_gas, "<=" ]}' placeholder="冲减气量" >
53
+ </div>
54
+ </div>
55
+
56
+ <div class="row">
57
+
58
+ <div class="col-sm-8">
59
+ <label for="f_paper_account" class="font_normal_body ">&nbsp;&nbsp;&nbsp;备注&nbsp;&nbsp;&nbsp;</label>
60
+ <input class="input_search" style="width:80%" v-model="model.f_comments">
61
+ </div>
62
+ <div class="col-sm-4 form-group" v-if="data.f_collection_type === '按气量'">
63
+ <label class="font_normal_body">退费金额</label>
64
+ <input class="input_search" style="width:60%"
65
+ type="number" v-model="model.f_refund_fee"
66
+ placeholder="退费金额">
67
+ </div>
68
+ <div class="col-sm-4 form-group" v-if="!config.overBalance && data.f_collection_type === '按金额'"
69
+ :class="[$v.f_refund_fee.required || $v.f_refund_fee.dctest ? 'has-error' : 'has-success']">
70
+ <label class="font_normal_body">退费金额</label>
71
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_refund_fee"
72
+ v-validate:f_refund_fee='{required: true, dctest: [data.f_balance_amount, "<=" ]}' placeholder="退费金额">
73
+ </div>
74
+ <div class="col-sm-4 form-group" v-if="config.overBalance && data.f_collection_type === '按金额'"
75
+ :class="[$v.f_refund_fee.required || $v.f_refund_fee.dctest ? 'has-error' : 'has-success']">
76
+ <label class="font_normal_body">退费金额</label>
77
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_refund_fee"
78
+ v-validate:f_refund_fee='{required: true, dctest: [0, ">=" ]}' placeholder="退费金额">
79
+ </div>
80
+ </div>
81
+ </form>
82
+ <div style="text-align:right;">
83
+ <button class="button_search btn-gn" @click="confirm()" :disabled='!$v.valid'>确认</button>
84
+ <button class="button_clear btn-gn" @click="clean()">取消</button>
85
+ </div>
86
+ </validator>
87
+ <validate-bill v-if="hasValidateBill" :data="model" @validate-bill="validateBill"></validate-bill>
88
+ <!--<print-bill :show="print" :bill-manager='config.hasBillManage' v-ref:printbill :bill-url='billUrl' v-on:toggle="clean" @printok="printok" :data='printModel'></print-bill>-->
89
+ <print-bill :show="print" :bill-config='config' :bill-data='billData' v-on:toggle="clean" @printok="printok" :data='printModel' v-ref:printbill></print-bill>
90
+ </div>
91
+
92
+ <upload :blodid="data.f_userinfo_id" isremark="true" fusetype="退费管理"></upload>
93
+ </template>
94
+
95
+
96
+ <script>
97
+ let readyGen = async function (self) {
98
+ await self.$getConfig(self, 'IOTRefund')
99
+ // 默认打印格式
100
+ self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
101
+ self.model.f_payment = [self.config.payment]
102
+
103
+ self.model.f_use_type = self.config.billType
104
+ self.model.f_bill_type = self.model.f_print
105
+ self.hasValidateBill = self.config.hasBillManage
106
+ }
107
+
108
+ export default {
109
+ title: '物联网表退费',
110
+ data () {
111
+ return {
112
+ config: {
113
+ showupload: false, // 默认不上传附件
114
+ hasPrint: false, // 默认打票
115
+ hasBillManage: false, // 默认不启用发票管理
116
+ overBalance: false, //为true时退费金额可以大于余额
117
+ printType: '普通收据', // 收据/电子票/专用发票/国税发票
118
+ payment: '现金缴费',
119
+ billType: '燃气费'
120
+ },
121
+ model: {
122
+ f_refund_fee: '',
123
+ f_refund_gas: '',
124
+ f_comments: '',
125
+ f_payment: '',
126
+ f_print: '',
127
+ f_price: 0
128
+ },
129
+
130
+ blodid: '',
131
+ hasValidateBill: false,
132
+ validateOk: false,
133
+
134
+ printModel: {},
135
+ print: false,
136
+ billUrl: '',
137
+ billData: {
138
+ url: 'rs/report/refund_sell',
139
+ bill: ''
140
+ },
141
+
142
+ // 下拉框值
143
+ paytype: this.$appdata.getParam('付款方式'),
144
+ printstyle: this.$appdata.getParam('打印格式')
145
+ }
146
+ },
147
+ props: ['data'],
148
+ ready () {
149
+ readyGen(this)
150
+ if (this.data.f_collection_type === '按气量') {
151
+ // this.$showAlert('按气量缴费的物联网表退费功能尚未开放!!', 'warning', 3000)
152
+ this.model.f_price = this.data.f_price
153
+
154
+ // this.$dispatch('refresh')
155
+ }
156
+ },
157
+ methods: {
158
+ async confirm () {
159
+ let param = {
160
+ f_user_id: this.data.f_user_id,
161
+ f_userfiles_id: this.data.f_userfiles_id,
162
+ version: this.data.version,
163
+ f_price: this.model.f_price,
164
+ f_refund_gas: this.model.f_refund_gas,
165
+ f_refund_fee: this.model.f_refund_fee,
166
+ f_comments: this.model.f_comments,
167
+ f_collection_type: this.data.f_collection_type,
168
+ f_payment: this.model.f_payment[0],
169
+ f_print: this.model.f_print[0],
170
+ f_price_id: this.data.f_price_id,
171
+ f_total_gas: parseFloat(this.data.f_total_gas) - parseFloat(this.model.f_refund_gas),
172
+ f_total_fee: parseFloat(this.data.f_total_fee) - parseFloat(this.model.f_refund_fee),
173
+ f_stairprice_id: this.data.f_stairprice_id,
174
+ operInfo: {
175
+ f_operator: this.$login.f.name,
176
+ f_operatorid: this.$login.f.id,
177
+ f_orgid: this.$login.f.orgid,
178
+ f_orgname: this.$login.f.orgs,
179
+ f_depid: this.$login.f.depids,
180
+ f_depname: this.$login.f.deps
181
+ }
182
+ }
183
+ console.log('退费传参', param)
184
+ let res = await this.$resetpost('rs/logic/iotRefund_Copy', {data: param}, {warnMsg: `确定要对用户${this.data.f_user_name}进行退费吗?`, resolveMsg: '退费成功!!', rejectMsg: '退费失败!!请重试!!'})
185
+ console.log('退费', res)
186
+ console.log('退费this.config', this.config)
187
+ console.log('退费this.model', this.model)
188
+ if (this.config.hasPrint) {
189
+ if (this.model.f_print.indexOf('电子发票') == -1) {
190
+ console.log('this.config.hasBillManage', this.config.hasBillManage)
191
+ if (this.config.hasBillManage) {
192
+ // 启用发票管理,获取票据管理中的票号并存储记录
193
+ this.printModel.id = res.data.id
194
+ this.printModel.f_bill_type = '退费'
195
+ this.printModel.f_bill_style = this.model.f_print[0]
196
+ // this.billUrl = 'rs/report/refund_sell'
197
+ this.print = true
198
+ } else {
199
+ this.printModel.id = res.data.id
200
+ // this.billUrl = 'rs/report/refund_sell'
201
+ this.print = true
202
+ }
203
+ } else if (this.config.printType === '国税发票') {
204
+ // TODO
205
+ this.$dispatch('success')
206
+ } else if (this.config.printType === '电子发票') {
207
+ // TODO
208
+ this.$dispatch('success')
209
+ }
210
+ }else{
211
+ this.$dispatch('success')
212
+ }
213
+ },
214
+ refundChange () {
215
+ this.model.f_refund_fee = (this.model.f_refund_gas - 0) * (this.model.f_price - 0)
216
+ },
217
+ clean () {
218
+ this.$dispatch('refresh')
219
+ },
220
+ printok () {
221
+ this.$dispatch('success')
222
+ },
223
+ validateBill (val) {
224
+ this.validateOk = !val.isOk
225
+ this.billData.bill = val.bill
226
+ }
227
+ },
228
+ watch:{
229
+ 'model.f_price'(){
230
+ this.model.f_refund_fee = (this.model.f_refund_gas - 0) * (this.model.f_price - 0)
231
+ },
232
+ 'model.f_refund_gas'(){
233
+ this.model.f_refund_fee = (this.model.f_refund_gas - 0) * (this.model.f_price - 0)
234
+ }
235
+ }
236
+ }
237
+ </script>
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <div class="auto">
3
+ <iot-refund v-if="row.f_meter_type === '物联网表'" :data="row"></iot-refund>
4
+ <machine-Refund v-if="row.f_meter_type !== '物联网表'" :data="row"></machine-Refund>
5
+ </div>
6
+
7
+ </template>
8
+ <script>
9
+ import IotRefund from './IOTRefund'
10
+ import machineRefund from './machineRefund'
11
+
12
+ export default {
13
+ title: '退费管理',
14
+ components: {
15
+ IotRefund,
16
+ machineRefund
17
+ },
18
+ data () {
19
+ return {
20
+
21
+ }
22
+ },
23
+ ready () {
24
+
25
+ },
26
+ props: ['row']
27
+ }
28
+ </script>
@@ -0,0 +1,193 @@
1
+ <template>
2
+ <div class="auto">
3
+ <validator name='v'>
4
+ <form novalidate class="form-horizontal">
5
+ <div class="row">
6
+ <div class="col-sm-4 form-group">
7
+ <label class="font_normal_body" title="参数名称:付款方式">收款方式</label>
8
+
9
+ <v-select v-model="f_payment"
10
+ placeholder='请选择'
11
+ style="width:60%"
12
+ :value.sync="model.f_payment"
13
+ :options='paytype'
14
+ close-on-select clear-button></v-select>
15
+
16
+ </div>
17
+ <div class="col-sm-4 form-group">
18
+ <label for="f_print" class="font_normal_body">打印格式</label>
19
+
20
+ <v-select id="print"
21
+ v-model="f_print"
22
+ style="width:60%"
23
+ placeholder='请选择'
24
+ :value.sync="model.f_print"
25
+ :options='printstyle'
26
+ close-on-select clear-button>
27
+ </v-select>
28
+ </div>
29
+
30
+ <div class="col-sm-4 form-group">
31
+ <label class="font_normal_body">剩余金额</label>
32
+ <input class="input_search" style="width:60%" type="number" v-model="data.f_balance" readonly>
33
+ </div>
34
+ </div>
35
+
36
+ <div class="row">
37
+
38
+
39
+ <div class="col-sm-8">
40
+ <label for="f_paper_account" class="font_normal_body ">&nbsp;&nbsp;&nbsp;备注&nbsp;&nbsp;&nbsp;</label>
41
+ <input class="input_search" style="width:80%" v-model="model.f_comments">
42
+ </div>
43
+ <div class="col-sm-4 form-group" v-if="!config.overBalance"
44
+ :class="[$v.f_refund_fee.required || $v.f_refund_fee.dctest ? 'has-error' : 'has-success']">
45
+ <label class="font_normal_body">退费金额</label>
46
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_refund_fee"
47
+ v-validate:f_refund_fee='{required: true, dctest: [data.f_balance, "<=" ]}' placeholder="退费金额">
48
+ </div>
49
+ <div class="col-sm-4 form-group" v-if="config.overBalance"
50
+ :class="[$v.f_refund_fee.required || $v.f_refund_fee.dctest ? 'has-error' : 'has-success']">
51
+ <label class="font_normal_body">退费金额</label>
52
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_refund_fee"
53
+ v-validate:f_refund_fee='{required: true, dctest: [0, ">=" ]}' placeholder="退费金额">
54
+ </div>
55
+ </div>
56
+ </form>
57
+ <div style="text-align:right;">
58
+ <button class="button_search btn-gn" @click="confirm()" :disabled='!$v.valid'>确认</button>
59
+ <button class="button_clear btn-gn" @click="clean()">取消</button>
60
+ </div>
61
+ </validator>
62
+ <validate-bill v-if="hasValidateBill" :data="model" @validate-bill="validateBill"></validate-bill>
63
+ <!--<print-bill :show="print" :bill-manager='config.hasBillManage' v-ref:printbill :bill-url='billUrl' v-on:toggle="clean" @printok="printok" :data='printModel'></print-bill>-->
64
+ <print-bill :show="print" :bill-config='config' :bill-data='billData' v-on:toggle="clean" @printok="printok" :data='printModel' v-ref:printbill></print-bill>
65
+ </div>
66
+
67
+ <upload :blodid="data.f_userinfo_id" isremark="true" fusetype="退费管理"></upload>
68
+ </template>
69
+
70
+
71
+ <script>
72
+ let readyGen = async function (self) {
73
+ await self.$getConfig(self, 'MachineTRefund')
74
+ console.log('机表退费config', self.config)
75
+ // 默认打印格式
76
+ self.blodid = self.data.f_userinfo_id
77
+ self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
78
+ self.model.f_payment = [self.config.payment]
79
+
80
+ self.model.f_use_type = self.config.billType
81
+ self.model.f_bill_type = self.model.f_print
82
+ self.hasValidateBill = self.config.hasBillManage
83
+ }
84
+
85
+ export default {
86
+ title: '机表退费',
87
+ data () {
88
+ return {
89
+ config: {
90
+ showupload: false, // 默认不上传附件
91
+ hasPrint: false, // 默认打票
92
+ hasBillManage: false, // 默认不启用发票管理
93
+ overBalance: false, //为true时退费金额可以大于余额
94
+ printType: '普通收据', // 收据/电子票/专用发票/国税发票
95
+ payment: '现金缴费',
96
+ billType: '燃气费'
97
+ },
98
+ model: {
99
+ f_refund_fee: '',
100
+ f_comments: '',
101
+ f_payment: '',
102
+ f_print: ''
103
+ },
104
+
105
+ blodid: '',
106
+ hasValidateBill: false,
107
+ validateOk: false,
108
+
109
+ printModel: {},
110
+ print: false,
111
+ billUrl: '',
112
+ billData: {
113
+ url: 'rs/report/refund_sell',
114
+ bill: ''
115
+ },
116
+
117
+ // 下拉框值
118
+ paytype: this.$appdata.getParam('付款方式'),
119
+ printstyle: this.$appdata.getParam('打印格式')
120
+ }
121
+ },
122
+ props: ['data'],
123
+ ready () {
124
+ /* if (this.data.f_billing === '按气量') {
125
+ this.$showAlert('按气量缴费的机表退费功能尚未开放!!', 'warning', 3000)
126
+ this.$dispatch('refresh')
127
+ } else { */
128
+ readyGen(this)
129
+ /* } */
130
+ },
131
+ methods: {
132
+ async confirm () {
133
+ let param = {
134
+ f_user_id: this.data.f_user_id,
135
+ f_userfiles_id: this.data.f_userfiles_id,
136
+ version: this.data.version,
137
+ f_refund_fee: this.model.f_refund_fee,
138
+ f_comments: this.model.f_comments,
139
+ f_payment: this.model.f_payment[0],
140
+ f_print: this.model.f_print[0],
141
+ f_price_id: this.data.f_price_id,
142
+
143
+ f_total_fee: parseFloat(this.data.f_total_fee) - parseFloat(this.model.f_refund_fee),
144
+ f_stairprice_id: this.data.f_stairprice_id,
145
+ operInfo: {
146
+ f_operator: this.$login.f.name,
147
+ f_operatorid: this.$login.f.id,
148
+ f_orgid: this.$login.f.orgid,
149
+ f_orgname: this.$login.f.orgs,
150
+ f_depid: this.$login.f.depids,
151
+ f_depname: this.$login.f.deps
152
+ }
153
+ }
154
+
155
+ let res = await this.$resetpost('rs/logic/machineRefund_Copy', {data: param}, {warnMsg: `确定要对用户${this.data.f_user_name}进行退费吗?`, resolveMsg: '退费成功!!', rejectMsg: '退费失败!!请重试!!'})
156
+
157
+ if (this.model.f_print.indexOf('电子发票') == -1 && this.config.hasPrint && !this.$login.r.includes('不打印发票')) {
158
+ console.log('this.config.hasBillManage', this.config.hasBillManage)
159
+ if (this.config.hasBillManage) {
160
+ // 启用发票管理,获取票据管理中的票号并存储记录
161
+ this.printModel.id = res.data.id
162
+ this.printModel.f_bill_type = '退费'
163
+ this.printModel.f_bill_style = this.model.f_print[0]
164
+ // this.billUrl = 'rs/report/refund_sell'
165
+ this.print = true
166
+ } else {
167
+ this.printModel.id = res.data.id
168
+ // this.billUrl = 'rs/report/refund_sell'
169
+ this.print = true
170
+ }
171
+ } else if (this.config.printType === '国税发票') {
172
+ // TODO
173
+ this.$dispatch('success')
174
+ } else if (this.config.printType === '电子发票') {
175
+ // TODO
176
+ this.$dispatch('success')
177
+ } else {
178
+ this.$dispatch('success')
179
+ }
180
+ },
181
+ clean () {
182
+ this.$dispatch('refresh')
183
+ },
184
+ printok () {
185
+ this.$dispatch('success')
186
+ },
187
+ validateBill (val) {
188
+ this.validateOk = !val.isOk
189
+ this.billData.bill = val.bill
190
+ }
191
+ }
192
+ }
193
+ </script>
@@ -43,7 +43,7 @@
43
43
  <div class="form-group col-sm-4">
44
44
  <label class="font_normal_body">表&emsp;&emsp;号</label>
45
45
  <input type="text" class="input_search" style="width:60%" style="width:60%"
46
- v-model="model.f_meternumber" placeholder='表号'
46
+ v-model.trim="model.f_meternumber" placeholder='表号'
47
47
  condition="f_meternumber like '%{}%'">
48
48
  </div>
49
49
 
@@ -36,7 +36,7 @@
36
36
  </div>
37
37
  <div class="form-group col-sm-3">
38
38
  <label class="font_normal_body">表&emsp;&emsp;号</label>
39
- <input type="text" class="input_search" style="width:60%" style="width:60%" v-model="model.f_meternumber" placeholder='表号'
39
+ <input type="text" class="input_search" style="width:60%" style="width:60%" v-model.trim="model.f_meternumber" placeholder='表号'
40
40
  condition="f_meternumber like '%{}%'">
41
41
  </div>
42
42
  <div class="form-group col-sm-3">
@@ -79,7 +79,7 @@
79
79
  </div>
80
80
  <div class="col-sm-2 form-group">
81
81
  <label class="font_normal_body">表&emsp;&emsp;号</label>
82
- <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
82
+ <input type="text" style="width:60%" class="input_search" v-model.trim="model.f_meternumber"
83
83
  condition="f_meternumber like '%{}%'" placeholder='表号'>
84
84
  </div>
85
85
  <div class="col-sm-2 form-group">
@@ -85,14 +85,13 @@
85
85
  close-on-select style="width: 60%"></v-select>
86
86
 
87
87
  </div>
88
- <div class="col-sm-4 form-group" v-if="gasmessage.f_meter_type[0].includes('卡表')">
88
+ <div class="col-sm-4 form-group" v-if="gasmessage.f_meter_type[0].includes('卡表')||gasmessage.f_meter_type[0].includes('物联网表')">
89
89
  <label for="hasCard" class="font_normal_body">支持累购</label>
90
90
  <v-select :value.sync="gasmessage.f_support_purchase"
91
91
  :value-single="true"
92
92
  v-model="gasmessage.f_support_purchase"
93
93
  :options='isdecimal' placeholder='是否支持累购'
94
94
  close-on-select style="width: 60%"></v-select>
95
-
96
95
  </div>
97
96
  <div v-if="gasmessage.f_meter_type[0].includes('卡表') || gasmessage.f_hascard[0]==='是'" class="row">
98
97
  <div class="col-sm-4 form-group" :class="[$v.f_cardnumber.required ? 'has-error' : 'has-success']">
@@ -89,7 +89,7 @@
89
89
  </div>
90
90
  <div class="col-sm-2 form-group">
91
91
  <label class="font_normal_body">表&emsp;&emsp;号</label>
92
- <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
92
+ <input type="text" style="width:60%" class="input_search" v-model.trim="model.f_meternumber"
93
93
  condition="f_meternumber like '%{}%'" placeholder='表号'>
94
94
  </div>
95
95
  <div class="col-sm-2 form-group">
@@ -8,13 +8,13 @@
8
8
  <div class="row">
9
9
  <div class="col-sm-4 form-group" v-if="isiot" :class="[$m.f_meternumber.required ? 'has-error' : '']">
10
10
  <label for="f_meternumber" class="font_normal_body">&ensp;表&emsp;&emsp;号</label>
11
- <input type="text" class="input_search" style="width:60%" v-model="row.f_meternumber"
11
+ <input type="text" class="input_search" style="width:60%" v-model.trim="row.f_meternumber"
12
12
  @blur="meternumberValidate()" placeholder='表号' v-validate:f_meternumber='{required: true }'
13
13
  v-next-el="{id: 'metertitles'}">
14
14
  </div>
15
15
  <div class="col-sm-4 form-group" v-else>
16
16
  <label for="f_meternumber" class="font_normal_body">&ensp;表&emsp;&emsp;号</label>
17
- <input type="text" class="input_search" style="width:60%" v-model="row.f_meternumber"
17
+ <input type="text" class="input_search" style="width:60%" v-model.trim="row.f_meternumber"
18
18
  @blur="meternumberValidate()" placeholder='表号'
19
19
  v-next-el="{id: 'metertitles'}">
20
20
  </div>