sale-client 3.6.68 → 3.6.70
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/build/dev-server.js +1 -1
- package/package.json +1 -1
- package/src/components/chargeNew/BookBill.vue +1 -1
- package/src/components/common/userinfo_detail/ic_detail/UserDeviceQuery.vue +1 -1
- package/src/components/revenue/Common/batchDisable.vue +456 -0
- package/src/filiale/haile/handplanReplicationRate.vue +10 -10
- package/src/filiale/haile/sale.js +0 -2
- package/src/filiale/tongchuan/UserPaperInfoTest.vue +76 -75
- package/src/filiale/yuansheng/icTable.vue +318 -0
- package/src/filiale/yuansheng/sale.js +2 -0
- package/src/plugins/FileManageService.js +1 -1
- package/src/sale.js +2 -0
- package/src/filiale/haile/BookBill.vue +0 -121
package/build/dev-server.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var path = require('path')
|
|
2
|
-
const [localUrl, serverRul] = ['http://
|
|
2
|
+
const [localUrl, serverRul] = ['http://127.0.0.1:8080/', 'http://192.168.50.4:8400/']
|
|
3
3
|
var merge = require('webpack-merge')
|
|
4
4
|
var baseConfig = require('./webpack.dev.conf')
|
|
5
5
|
var devConfig = {
|
package/package.json
CHANGED
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
await this.$resetpost('rs/logic/editBook', {
|
|
86
86
|
f_book_no: this.data.f_book_no,
|
|
87
87
|
f_userinfo_id: this.data.f_userinfo_id,
|
|
88
|
-
f_zzhh: this.data.f_zzhh == -1 ? 13 : this.data.f_zzhh == 24 ? 1 : this.data.f_zzhh + 1
|
|
88
|
+
f_zzhh: this.data.f_zzhh == -1 ? 13 : this.data.f_zzhh == 24 ? 1 : (parseInt(this.data.f_zzhh) + 1)
|
|
89
89
|
}, {
|
|
90
90
|
resolveMsg: null,
|
|
91
91
|
rejectMsg: '折子打印出错!!'
|
|
@@ -140,7 +140,7 @@ export default {
|
|
|
140
140
|
},
|
|
141
141
|
methods: {
|
|
142
142
|
async search () {
|
|
143
|
-
this.condition = `${this.$refs.paged.$refs.criteria.condition} and
|
|
143
|
+
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_userfiles_id = '${this.row.f_userfiles_id}'`
|
|
144
144
|
this.model.search(this.condition, this.model)
|
|
145
145
|
let http = new HttpResetClass()
|
|
146
146
|
let res = await http.load('POST', 'rs/sql/singleTable_OrderBy', {
|
|
@@ -0,0 +1,456 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="unit" class="flex-row">
|
|
3
|
+
<div class="basic-main" @keyup.enter="search">
|
|
4
|
+
<div class="flex">
|
|
5
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
6
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
7
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
8
|
+
<div class="row">
|
|
9
|
+
<div class="col-sm-2 form-group">
|
|
10
|
+
|
|
11
|
+
<label for="startDate" class="font_normal_body" title="开始日期">开始日期</label>
|
|
12
|
+
<datepicker id="startDate" placeholder="开始日期" style="width:60%"
|
|
13
|
+
v-model="model.startDate"
|
|
14
|
+
:value.sync="model.startDate"
|
|
15
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
16
|
+
condition="da.f_operate_date >= '{}' "
|
|
17
|
+
:show-reset-button="true"
|
|
18
|
+
>
|
|
19
|
+
</datepicker>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="col-sm-2 form-group">
|
|
22
|
+
<label for="endDate" class="font_normal_body" title="结束日期"> 至 </label>
|
|
23
|
+
<datepicker id="endDate" placeholder="结束日期" style="width:60%"
|
|
24
|
+
v-model="model.endDate"
|
|
25
|
+
:value.sync="model.endDate"
|
|
26
|
+
condition="da.f_operate_date <= '{}' "
|
|
27
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
28
|
+
:show-reset-button="true"
|
|
29
|
+
>
|
|
30
|
+
</datepicker>
|
|
31
|
+
</div>
|
|
32
|
+
<div class="col-sm-2 form-group">
|
|
33
|
+
<label class="font_normal_body">客户编号</label>
|
|
34
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
|
|
35
|
+
condition="f_userinfo_code = '{}' " placeholder="客户编号">
|
|
36
|
+
</div>
|
|
37
|
+
<div class="col-sm-2 form-group">
|
|
38
|
+
<label class="font_normal_body">客户名称</label>
|
|
39
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
|
|
40
|
+
condition="f_user_name = '{}'" placeholder="客户名称">
|
|
41
|
+
</div>
|
|
42
|
+
<div class="span" style="float:right;">
|
|
43
|
+
<button v-if="this.$login.r.includes('批量停用')" class="button_search button_spacing" @click="$parent.$parent.batch_audit()">批量修改</button>
|
|
44
|
+
<button class="button_search button_spacing" @click="search()">查询</button>
|
|
45
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
46
|
+
<div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,
|
|
47
|
+
'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
|
|
48
|
+
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
53
|
+
<res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"
|
|
54
|
+
v-ref:sel></res-select-group>
|
|
55
|
+
|
|
56
|
+
<div class="col-sm-2 form-group">
|
|
57
|
+
<label class="font_normal_body">客户电话</label>
|
|
58
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
|
|
59
|
+
condition="f_user_phone like '%{}%'" placeholder="客户电话">
|
|
60
|
+
</div>
|
|
61
|
+
<div class="col-sm-2 form-group">
|
|
62
|
+
<label class="font_normal_body">客户地址</label>
|
|
63
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_address"
|
|
64
|
+
condition="f_address like '%{}%'" placeholder='客户地址'>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<div class="col-sm-2 form-group">
|
|
68
|
+
<label class="font_normal_body">客户类型</label>
|
|
69
|
+
<v-select :value.sync="model.f_user_type"
|
|
70
|
+
@change="$parent.$parent.userTypeChange()"
|
|
71
|
+
:options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
|
|
72
|
+
condition="f_user_type = '{}'"
|
|
73
|
+
:value-single="true"
|
|
74
|
+
close-on-select></v-select>
|
|
75
|
+
</div>
|
|
76
|
+
<div class="col-sm-2 form-group">
|
|
77
|
+
<label class="font_normal_body">用气性质</label>
|
|
78
|
+
<v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
|
|
79
|
+
:options='$parent.$parent.gasproperties' placeholder='请选择'
|
|
80
|
+
condition="f_gasproperties = '{}'"
|
|
81
|
+
close-on-select></v-select>
|
|
82
|
+
</div>
|
|
83
|
+
<div class="col-sm-2 form-group">
|
|
84
|
+
<label class="font_normal_body">停用原因</label>
|
|
85
|
+
<v-select :value.sync="model.f_comments" v-model="model.f_comments"
|
|
86
|
+
:options='$parent.$parent.comments' placeholder='请选择'
|
|
87
|
+
condition="da.f_comments = '{}'"
|
|
88
|
+
close-on-select></v-select>
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
</criteria>
|
|
93
|
+
|
|
94
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
|
|
95
|
+
<template partial='head'>
|
|
96
|
+
<tr>
|
|
97
|
+
<th>
|
|
98
|
+
<nobr>序号</nobr>
|
|
99
|
+
</th>
|
|
100
|
+
<th>
|
|
101
|
+
<nobr>客户编号</nobr>
|
|
102
|
+
</th>
|
|
103
|
+
<th>
|
|
104
|
+
<nobr>客户姓名</nobr>
|
|
105
|
+
</th>
|
|
106
|
+
<th>
|
|
107
|
+
<nobr>客户电话</nobr>
|
|
108
|
+
</th>
|
|
109
|
+
<th>
|
|
110
|
+
<nobr>客户地址</nobr>
|
|
111
|
+
</th>
|
|
112
|
+
<th>
|
|
113
|
+
<nobr>客户类型</nobr>
|
|
114
|
+
</th>
|
|
115
|
+
<th>
|
|
116
|
+
<nobr>用气性质</nobr>
|
|
117
|
+
</th>
|
|
118
|
+
<th>
|
|
119
|
+
<nobr>停用原因</nobr>
|
|
120
|
+
</th>
|
|
121
|
+
<th>
|
|
122
|
+
<nobr>所属公司</nobr>
|
|
123
|
+
</th>
|
|
124
|
+
<th>
|
|
125
|
+
<nobr>所属部门</nobr>
|
|
126
|
+
</th>
|
|
127
|
+
<th>
|
|
128
|
+
<nobr>操作人</nobr>
|
|
129
|
+
</th>
|
|
130
|
+
</tr>
|
|
131
|
+
</template>
|
|
132
|
+
<template partial='body'>
|
|
133
|
+
<td style="text-align:center">
|
|
134
|
+
<nobr>{{$index+1}}</nobr>
|
|
135
|
+
</td>
|
|
136
|
+
<td style="text-align: center;">
|
|
137
|
+
<nobr>{{row.f_userinfo_code}}</nobr>
|
|
138
|
+
</td>
|
|
139
|
+
<td style="text-align: center;">
|
|
140
|
+
<nobr>{{row.f_user_name}}</nobr>
|
|
141
|
+
</td>
|
|
142
|
+
<td style="text-align: center;">
|
|
143
|
+
<nobr>{{row.f_user_phone}}</nobr>
|
|
144
|
+
</td>
|
|
145
|
+
<td style="text-align: center;">
|
|
146
|
+
<nobr>{{row.f_address}}</nobr>
|
|
147
|
+
</td>
|
|
148
|
+
<td style="text-align: center;">
|
|
149
|
+
<nobr>{{row.f_user_type}}</nobr>
|
|
150
|
+
</td>
|
|
151
|
+
<td style="text-align: center;">
|
|
152
|
+
<nobr>{{row.f_gasproperties}}</nobr>
|
|
153
|
+
</td>
|
|
154
|
+
<td style="text-align: center;">
|
|
155
|
+
<nobr>{{row.f_comments}}</nobr>
|
|
156
|
+
</td>
|
|
157
|
+
<td style="text-align: center;">
|
|
158
|
+
<nobr>{{row.f_orgname}}</nobr>
|
|
159
|
+
</td>
|
|
160
|
+
<td style="text-align: center;">
|
|
161
|
+
<nobr>{{row.f_depname}}</nobr>
|
|
162
|
+
</td>
|
|
163
|
+
<td style="text-align: center;">
|
|
164
|
+
<nobr>{{row.f_operator}}</nobr>
|
|
165
|
+
</td>
|
|
166
|
+
</template>
|
|
167
|
+
<template partial='foot'></template>
|
|
168
|
+
</data-grid>
|
|
169
|
+
</criteria-paged>
|
|
170
|
+
|
|
171
|
+
<modal v-if="tempfalg" :show.sync="tempfalg" v-ref:modal backdrop="false">
|
|
172
|
+
<header slot="modal-header" class="modal-header">
|
|
173
|
+
<h4 class="modal-title">批量停用</h4>
|
|
174
|
+
</header>
|
|
175
|
+
<article slot="modal-body" class="modal-body">
|
|
176
|
+
<validator name='v'>
|
|
177
|
+
<form class="form-horizontal select-overspread">
|
|
178
|
+
<div class="form-group">
|
|
179
|
+
<label class=" col-sm-3 control-label">停用类型:</label>
|
|
180
|
+
<div class="col-sm-4">
|
|
181
|
+
<v-select v-model="f_disable_type"
|
|
182
|
+
placeholder='请选择'
|
|
183
|
+
:value.sync="disableModel.f_disable_type"
|
|
184
|
+
:options='disableTypes'
|
|
185
|
+
:value-single="true"
|
|
186
|
+
close-on-select clear-button>
|
|
187
|
+
</v-select>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
|
|
191
|
+
<div class="form-group">
|
|
192
|
+
<label class="col-sm-3 control-label">时间周期:</label>
|
|
193
|
+
<div class="form-group col-sm-3">
|
|
194
|
+
<datepicker
|
|
195
|
+
id="startDate1" placeholder="开始日期" style="width:100%"
|
|
196
|
+
v-model="disableModel.startDate"
|
|
197
|
+
:value.sync="disableModel.startDate"
|
|
198
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
199
|
+
:show-reset-button="true"
|
|
200
|
+
>
|
|
201
|
+
</datepicker>
|
|
202
|
+
</div>
|
|
203
|
+
<label class="col-sm-1 control-label"> 至 </label>
|
|
204
|
+
<div class="form-group col-sm-3">
|
|
205
|
+
|
|
206
|
+
<datepicker
|
|
207
|
+
id="endDate1" placeholder="结束日期" style="width:100%"
|
|
208
|
+
v-model="disableModel.endDate"
|
|
209
|
+
:value.sync="disableModel.endDate"
|
|
210
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
211
|
+
:show-reset-button="true"
|
|
212
|
+
>
|
|
213
|
+
</datepicker>
|
|
214
|
+
</div>
|
|
215
|
+
</div>
|
|
216
|
+
|
|
217
|
+
<div v-if="disableModel.f_disable_type === '欠费'" class="form-group">
|
|
218
|
+
<label class=" col-sm-3 control-label">总金额:</label>
|
|
219
|
+
<div class="col-sm-4">
|
|
220
|
+
<input class="form-control" v-model="disableModel.f_totalcost" rows="3"
|
|
221
|
+
disabled
|
|
222
|
+
placeholder="总金额" />
|
|
223
|
+
</div>
|
|
224
|
+
</div>
|
|
225
|
+
<div class="form-group">
|
|
226
|
+
<label class=" col-sm-3 control-label">备注:</label>
|
|
227
|
+
<div class="col-sm-8">
|
|
228
|
+
<textarea class="form-control" v-model="disableModel.f_comments" rows="3"
|
|
229
|
+
placeholder="备注" ></textarea>
|
|
230
|
+
</div>
|
|
231
|
+
</div>
|
|
232
|
+
</form>
|
|
233
|
+
</validator>
|
|
234
|
+
</article>
|
|
235
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
236
|
+
<button v-show="tempfalg" type="button" class="button_search" @click='confirm()'>确认</button>
|
|
237
|
+
<button v-show="tempfalg" type="button" class="button_clear" @click='close'>取消</button>
|
|
238
|
+
</footer>
|
|
239
|
+
</modal>
|
|
240
|
+
</div>
|
|
241
|
+
</div>
|
|
242
|
+
</div>
|
|
243
|
+
</template>
|
|
244
|
+
|
|
245
|
+
<script>
|
|
246
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
247
|
+
|
|
248
|
+
let readySomething = async function (self) {
|
|
249
|
+
self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
|
|
250
|
+
self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
|
|
251
|
+
await self.$LoadParams.loadParam()
|
|
252
|
+
self.initParams()
|
|
253
|
+
}
|
|
254
|
+
export default {
|
|
255
|
+
title: '批量停用',
|
|
256
|
+
data() {
|
|
257
|
+
return {
|
|
258
|
+
gasproperties: [],
|
|
259
|
+
showinfo: false,
|
|
260
|
+
data: {},
|
|
261
|
+
show: false,
|
|
262
|
+
rowdata: {},
|
|
263
|
+
initres: {
|
|
264
|
+
org: [this.$login.f.orgid],
|
|
265
|
+
dep: [],
|
|
266
|
+
user: []
|
|
267
|
+
},
|
|
268
|
+
model: new PagedList('rs/sql/batchDisableQuery', 20, {
|
|
269
|
+
startDate: 'this.model.startDate',
|
|
270
|
+
endDate: 'this.model.endDate'
|
|
271
|
+
}),
|
|
272
|
+
resdata: {
|
|
273
|
+
depresid: [],
|
|
274
|
+
userresid: [],
|
|
275
|
+
f_orgid: this.$login.f.orgid,
|
|
276
|
+
f_depid: '',
|
|
277
|
+
f_operatorid: '',
|
|
278
|
+
operatorid: '',
|
|
279
|
+
depid: '',
|
|
280
|
+
orgname: '',
|
|
281
|
+
depname: '',
|
|
282
|
+
operatorname: ''
|
|
283
|
+
},
|
|
284
|
+
criteriaShow: false,
|
|
285
|
+
orgCondtionStr: '',
|
|
286
|
+
// 下拉框
|
|
287
|
+
meterbrands: [],
|
|
288
|
+
prices: [],
|
|
289
|
+
disableModel: {
|
|
290
|
+
f_disable_type: '欠费',
|
|
291
|
+
startDate: '',
|
|
292
|
+
endDate: '',
|
|
293
|
+
f_totalcost: '',
|
|
294
|
+
f_comments: ''
|
|
295
|
+
},
|
|
296
|
+
tempfalg: false,
|
|
297
|
+
flag: false
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
ready() {
|
|
301
|
+
readySomething(this).then(() => {
|
|
302
|
+
this.$emit('ready')
|
|
303
|
+
}).catch((error) => {
|
|
304
|
+
this.$emit('error', error)
|
|
305
|
+
})
|
|
306
|
+
},
|
|
307
|
+
methods: {
|
|
308
|
+
search() {
|
|
309
|
+
this.$refs.paged.$refs.cri.search()
|
|
310
|
+
},
|
|
311
|
+
batch_audit () {
|
|
312
|
+
this.tempfalg = true
|
|
313
|
+
this.disableModel.startDate = this.$login.toStandardYearMonth() + '-01 00:00:00'
|
|
314
|
+
this.disableModel.endDate = this.$login.toStandardDateString() + ' 23:59:59'
|
|
315
|
+
},
|
|
316
|
+
close () {
|
|
317
|
+
this.tempfalg = false
|
|
318
|
+
},
|
|
319
|
+
confirm () {
|
|
320
|
+
this.tempfalg = false
|
|
321
|
+
let param = {
|
|
322
|
+
f_disable_type: this.disableModel.f_disable_type,
|
|
323
|
+
startDate: this.disableModel.startDate,
|
|
324
|
+
endDate: this.disableModel.endDate,
|
|
325
|
+
f_totalcost: this.disableModel.f_totalcost,
|
|
326
|
+
f_comments: this.disableModel.f_comments,
|
|
327
|
+
f_operator: this.$login.f.name,
|
|
328
|
+
f_operatorid: this.$login.f.id,
|
|
329
|
+
f_orgid: this.$login.f.orgid,
|
|
330
|
+
f_orgname: this.$login.f.orgs,
|
|
331
|
+
f_depid: this.$login.f.depids,
|
|
332
|
+
f_depname: this.$login.f.deps
|
|
333
|
+
}
|
|
334
|
+
this.$resetpost('rs/logic/owe_disable', {data: param}, {
|
|
335
|
+
rejectMsg: '同步失败',
|
|
336
|
+
resolveMsg: '同步成功'
|
|
337
|
+
})
|
|
338
|
+
},
|
|
339
|
+
cancel() {
|
|
340
|
+
this.flag = false
|
|
341
|
+
},
|
|
342
|
+
showmsg(obj) {
|
|
343
|
+
this.rowdata = obj
|
|
344
|
+
this.show = true
|
|
345
|
+
},
|
|
346
|
+
userTypeChange() {
|
|
347
|
+
this.gasproperties = []
|
|
348
|
+
if (this.$refs.paged.$refs.cri.model !== null) {
|
|
349
|
+
this.$refs.paged.$refs.cri.model.f_gasproperties = ''
|
|
350
|
+
this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type)
|
|
351
|
+
} else {
|
|
352
|
+
this.gasproperties = [{label: '全部', value: ''}]
|
|
353
|
+
}
|
|
354
|
+
},
|
|
355
|
+
async arrearsQuery () {
|
|
356
|
+
let param = {
|
|
357
|
+
startDate: this.disableModel.startDate,
|
|
358
|
+
endDate: this.disableModel.endDate,
|
|
359
|
+
f_orgid: this.$login.f.orgid
|
|
360
|
+
}
|
|
361
|
+
await this.$resetpost('rs/sql/sale_owefees', {data: param}, {
|
|
362
|
+
resolveMsg: null,
|
|
363
|
+
rejectMsg: null
|
|
364
|
+
}).then((res) => {
|
|
365
|
+
if (res && res.data) {
|
|
366
|
+
this.disableModel.f_totalcost = res.data[0].f_oughtfee
|
|
367
|
+
}
|
|
368
|
+
})
|
|
369
|
+
},
|
|
370
|
+
initParams() {
|
|
371
|
+
// 初始化气表品牌
|
|
372
|
+
let brandArr = []
|
|
373
|
+
this.$GetSaleParam.getGasbrand().forEach((item) => {
|
|
374
|
+
let temp = {}
|
|
375
|
+
temp.label = item.label
|
|
376
|
+
temp.value = item.value.id
|
|
377
|
+
brandArr.push(temp)
|
|
378
|
+
})
|
|
379
|
+
this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
|
|
380
|
+
// 初始化气表价格
|
|
381
|
+
this.prices = this.$GetSaleParam.getPrice(this.$login.f.orgid)
|
|
382
|
+
},
|
|
383
|
+
selfSearch(args) {
|
|
384
|
+
args.condition = args.condition + this.orgCondtionStr
|
|
385
|
+
this.model.search(args.condition, args.model)
|
|
386
|
+
},
|
|
387
|
+
clear() {
|
|
388
|
+
// 清空部门和人员
|
|
389
|
+
this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
|
|
390
|
+
// 部门和人员变为全选
|
|
391
|
+
this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
|
|
392
|
+
this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
|
|
393
|
+
Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
|
|
394
|
+
this.$refs.paged.$refs.cri.model[key] = []
|
|
395
|
+
})
|
|
396
|
+
},
|
|
397
|
+
hidden() {
|
|
398
|
+
this.criteriaShow = !this.criteriaShow
|
|
399
|
+
},
|
|
400
|
+
async getRes (condition, obj) {
|
|
401
|
+
this.orgCondtionStr = condition
|
|
402
|
+
this.orgname = obj.orgnames[0]
|
|
403
|
+
this.depname = obj.depnames[0]
|
|
404
|
+
},
|
|
405
|
+
getRes1 (obj) {
|
|
406
|
+
this.resdata.orgname = obj.res[0]
|
|
407
|
+
this.resdata.depresid = obj.resids
|
|
408
|
+
this.resdata.f_orgid = obj.resids
|
|
409
|
+
this.resdata.userresid = obj.resids
|
|
410
|
+
},
|
|
411
|
+
getdep (obj, val) {
|
|
412
|
+
this.resdata.depname = val
|
|
413
|
+
this.resdata.f_depid = obj
|
|
414
|
+
},
|
|
415
|
+
getuser (obj, val) {
|
|
416
|
+
this.resdata.operatorname = val
|
|
417
|
+
this.resdata.f_operatorid = obj
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
events: {},
|
|
421
|
+
watch: {
|
|
422
|
+
'disableModel.startDate' (val) {
|
|
423
|
+
if (this.disableModel.f_disable_type === '欠费') {
|
|
424
|
+
this.arrearsQuery()
|
|
425
|
+
}
|
|
426
|
+
},
|
|
427
|
+
'disableModel.endDate' (val) {
|
|
428
|
+
if (this.disableModel.f_disable_type === '欠费') {
|
|
429
|
+
this.arrearsQuery()
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
},
|
|
433
|
+
computed: {
|
|
434
|
+
getCondition() {
|
|
435
|
+
return {
|
|
436
|
+
startDate: this.$refs.paged.$refs.cri.model.startDate,
|
|
437
|
+
endDate: this.$refs.paged.$refs.cri.model.endDate,
|
|
438
|
+
condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
|
|
439
|
+
condValue: `${this.model.condValue}`
|
|
440
|
+
}
|
|
441
|
+
},
|
|
442
|
+
usertypes() {
|
|
443
|
+
return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
|
|
444
|
+
},
|
|
445
|
+
disableTypes () {
|
|
446
|
+
return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('停用类型')]
|
|
447
|
+
},
|
|
448
|
+
comments () {
|
|
449
|
+
return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('停用原因')]
|
|
450
|
+
},
|
|
451
|
+
metertypes() {
|
|
452
|
+
return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
</script>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
8
8
|
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
9
9
|
<div class="row">
|
|
10
|
-
|
|
10
|
+
<res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
|
|
11
11
|
<div class="col-sm-2 form-group">
|
|
12
12
|
<label for="startDate" class="font_normal_body">抄表日期</label>
|
|
13
13
|
<datepicker id="startDate" placeholder="开始日期" style="width:60%"
|
|
@@ -101,9 +101,9 @@
|
|
|
101
101
|
<td style="text-align: center;">
|
|
102
102
|
<nobr>{{row.f_no_hand}}</nobr>
|
|
103
103
|
</td>
|
|
104
|
-
<td style="text-align: center;"
|
|
105
|
-
<nobr>{{row.f_no_hand}}</nobr
|
|
106
|
-
</td
|
|
104
|
+
<!-- <td style="text-align: center;">-->
|
|
105
|
+
<!-- <nobr>{{row.f_no_hand}}</nobr>-->
|
|
106
|
+
<!-- </td>-->
|
|
107
107
|
<td style="text-align: center;">
|
|
108
108
|
<nobr>{{row.f_out_hand}}</nobr>
|
|
109
109
|
</td>
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
<nobr>{{row.f_oughtfee}}</nobr>
|
|
118
118
|
</td>
|
|
119
119
|
<td style="text-align: center;">
|
|
120
|
-
<nobr>{{row.
|
|
120
|
+
<nobr>{{row.f_hand_lv}}</nobr>
|
|
121
121
|
</td>
|
|
122
122
|
</template>
|
|
123
123
|
<template partial='foot'></template>
|
|
@@ -210,6 +210,11 @@ export default {
|
|
|
210
210
|
})
|
|
211
211
|
},
|
|
212
212
|
methods: {
|
|
213
|
+
async getRes (condition, obj) {
|
|
214
|
+
console.log('condition:----------', condition)
|
|
215
|
+
console.log('obj:----------', obj)
|
|
216
|
+
this.orgCondtionStr = condition
|
|
217
|
+
},
|
|
213
218
|
getotherfooter () {
|
|
214
219
|
this.other = []
|
|
215
220
|
this.footer = []
|
|
@@ -280,11 +285,6 @@ export default {
|
|
|
280
285
|
show () {
|
|
281
286
|
this.criteriaShow = true
|
|
282
287
|
},
|
|
283
|
-
async getRes (condition, obj) {
|
|
284
|
-
console.log('condition:----------', condition)
|
|
285
|
-
console.log('obj:----------', obj)
|
|
286
|
-
this.orgCondtionStr = condition
|
|
287
|
-
}
|
|
288
288
|
},
|
|
289
289
|
watch: {
|
|
290
290
|
'model.rows' (val) {
|
|
@@ -19,6 +19,4 @@ export default function () {
|
|
|
19
19
|
Vue.component('file-user-files', (resolve) => { require(['./FilesManage/FileUserFiles'], resolve) })
|
|
20
20
|
// 当前选择用户的用户基本信息
|
|
21
21
|
Vue.component('sale-userinfo', (resolve) => { require(['./leftview/Userinfo'], resolve) })
|
|
22
|
-
// 打印折子
|
|
23
|
-
Vue.component('book-bill', (resolve) => { require(['./BookBill'], resolve) })
|
|
24
22
|
}
|
|
@@ -2,97 +2,98 @@
|
|
|
2
2
|
<div class="auto">
|
|
3
3
|
<form class="form-horizontal select-overspread ">
|
|
4
4
|
<div v-if="!usertype">
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
</div>
|
|
17
|
-
<div class="row">
|
|
18
|
-
<div class="col-sm-8 form-group">
|
|
19
|
-
<label class="font_normal_body" for="f_address_phone">地址电话  </label>
|
|
20
|
-
<input class="input_search" placeholder="地址-电话" style="width:70%" type="text" v-el:addressphone
|
|
21
|
-
v-model="baseinfo.base.f_address_phone" v-next-el="papername">
|
|
5
|
+
<div class="row">
|
|
6
|
+
<div class="col-sm-8 form-group">
|
|
7
|
+
<label class="font_normal_body" for="f_taxpayer_id">纳税人识别号</label>
|
|
8
|
+
<input class="input_search" placeholder="纳税人识别号" style="width:70%" type="text"
|
|
9
|
+
v-model="baseinfo.base.f_taxpayer_id" v-next-el="addressphone">
|
|
10
|
+
</div>
|
|
11
|
+
<div class="col-sm-4 form-group">
|
|
12
|
+
<label class="font_normal_body" for="f_paper_name">名  称</label>
|
|
13
|
+
<input class="input_search" placeholder="名称" style="width:60%" type="text" v-el:papername
|
|
14
|
+
v-model="baseinfo.base.f_paper_name" v-next-el="paperaccount">
|
|
15
|
+
</div>
|
|
22
16
|
</div>
|
|
23
|
-
<div class="
|
|
24
|
-
<
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
<div class="row">
|
|
18
|
+
<div class="col-sm-8 form-group">
|
|
19
|
+
<label class="font_normal_body" for="f_address_phone">地址电话  </label>
|
|
20
|
+
<input class="input_search" placeholder="地址-电话" style="width:70%" type="text" v-el:addressphone
|
|
21
|
+
v-model="baseinfo.base.f_address_phone" v-next-el="papername">
|
|
22
|
+
</div>
|
|
23
|
+
<div class="col-sm-4 form-group">
|
|
24
|
+
<label class="font_normal_body" for="f_paper_type">票据类型</label>
|
|
25
|
+
<v-select :options='papertype'
|
|
26
|
+
:value-single="true"
|
|
27
|
+
:value.sync="baseinfo.base.f_paper_type" close-on-select
|
|
28
|
+
placeholder='票据类型'></v-select>
|
|
29
|
+
</div>
|
|
29
30
|
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
<div class="row">
|
|
32
|
+
<div class="col-sm-8 form-group">
|
|
33
|
+
<label class="font_normal_body " for="f_paper_account">开户行及账号</label>
|
|
34
|
+
<input class="input_search" placeholder="银行名称" style="width:70%" type="text" v-el:paperaccount
|
|
35
|
+
v-model="baseinfo.base.f_paper_account">
|
|
36
|
+
</div>
|
|
36
37
|
</div>
|
|
37
38
|
</div>
|
|
38
|
-
<div class="row">
|
|
39
|
-
<div class="col-sm-8 form-group">
|
|
40
|
-
<label class="font_normal_body " for="f_paper_account"> 邮  箱 </label>
|
|
41
|
-
<input class="input_search" placeholder="邮箱" style="width:70%" type="text"
|
|
42
|
-
v-model="baseinfo.base.f_email">
|
|
43
|
-
</div>
|
|
44
|
-
</div>
|
|
45
|
-
</div>
|
|
46
39
|
<div v-if="usertype">
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
40
|
+
<div class="row">
|
|
41
|
+
<div class="col-sm-8 form-group">
|
|
42
|
+
<label class="font_normal_body" for="f_paper_name">企业名称</label>
|
|
43
|
+
<input class="input_search" placeholder="名称" style="width:60%" type="text" v-el:papername
|
|
44
|
+
v-model="baseinfo.base.f_paper_name" v-next-el="contactuser">
|
|
45
|
+
</div>
|
|
46
|
+
<div class="col-sm-4 form-group">
|
|
47
|
+
<label class="font_normal_body" for="f_contact_user">企业联系人</label>
|
|
48
|
+
<input class="input_search" placeholder="企业联系人" style="width:60%" type="text" v-el:contactuser
|
|
49
|
+
v-model="baseinfo.base.f_contact_user" v-next-el="addressphone">
|
|
50
|
+
</div>
|
|
51
|
+
|
|
57
52
|
</div>
|
|
53
|
+
<div class="row">
|
|
58
54
|
|
|
59
|
-
|
|
60
|
-
|
|
55
|
+
<div class="col-sm-8 form-group">
|
|
56
|
+
<label class="font_normal_body" for="f_address_phone">联系方式</label>
|
|
57
|
+
<input class="input_search" placeholder="联系方式" style="width:70%" type="text" v-el:addressphone
|
|
58
|
+
v-model="baseinfo.base.f_address_phone" v-next-el="f_address_str">
|
|
59
|
+
</div>
|
|
61
60
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
61
|
+
<div class="col-sm-8 form-group">
|
|
62
|
+
<label class="font_normal_body" for="f_address_str">详细地址</label>
|
|
63
|
+
<input class="input_search" placeholder="详细地址" style="width:70%" type="text" v-el:f_address_str
|
|
64
|
+
v-model="baseinfo.base.f_address_str" v-next-el="taxpayerid">
|
|
65
|
+
</div>
|
|
67
66
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
<div class="col-sm-8 form-group">
|
|
68
|
+
<label class="font_normal_body" for="f_taxpayer_id">纳税人识别号</label>
|
|
69
|
+
<input class="input_search" placeholder="纳税人识别号" style="width:70%" type="text" v-el:taxpayerid
|
|
70
|
+
v-model="baseinfo.base.f_taxpayer_id" v-next-el="addressphone">
|
|
71
|
+
</div>
|
|
73
72
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
<div class="col-sm-4 form-group">
|
|
74
|
+
<label class="font_normal_body" for="f_paper_type">票据类型</label>
|
|
75
|
+
<v-select :options='papertype'
|
|
76
|
+
:value-single="true"
|
|
77
|
+
:value.sync="baseinfo.base.f_paper_type" close-on-select
|
|
78
|
+
placeholder='票据类型'></v-select>
|
|
79
|
+
</div>
|
|
78
80
|
</div>
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
placeholder='票据类型'></v-select>
|
|
81
|
+
<div class="row">
|
|
82
|
+
<div class="col-sm-8 form-group">
|
|
83
|
+
<label class="font_normal_body " for="f_paper_account">开户行及账号</label>
|
|
84
|
+
<input class="input_search" placeholder="银行名称" style="width:70%" type="text" v-el:paperaccount
|
|
85
|
+
v-model="baseinfo.base.f_paper_account">
|
|
86
|
+
</div>
|
|
86
87
|
</div>
|
|
87
|
-
|
|
88
|
+
</div>
|
|
89
|
+
|
|
88
90
|
<div class="row">
|
|
89
91
|
<div class="col-sm-8 form-group">
|
|
90
|
-
<label class="font_normal_body " for="f_paper_account"
|
|
91
|
-
<input class="input_search" placeholder="
|
|
92
|
-
v-model="baseinfo.base.
|
|
92
|
+
<label class="font_normal_body " for="f_paper_account"> 邮  箱 </label>
|
|
93
|
+
<input class="input_search" placeholder="邮箱" style="width:70%" type="text"
|
|
94
|
+
v-model="baseinfo.base.f_email">
|
|
93
95
|
</div>
|
|
94
96
|
</div>
|
|
95
|
-
</div>
|
|
96
97
|
</form>
|
|
97
98
|
</div>
|
|
98
99
|
</template>
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="flex-row">
|
|
3
|
+
<div class="span">
|
|
4
|
+
<validator name='v'>
|
|
5
|
+
<form novalidate class="form-horizontal">
|
|
6
|
+
<div class="row">
|
|
7
|
+
<div class="col-sm-4 form-group">
|
|
8
|
+
<label class="font_normal_body"> 操作 </label>
|
|
9
|
+
<v-select v-if="this.row.f_collection_type==='按金额'" :value.sync="model.f_operat_type"
|
|
10
|
+
:options='operator_type' placeholder='请选择'
|
|
11
|
+
selected="赠费"
|
|
12
|
+
style="width:60%"
|
|
13
|
+
close-on-select></v-select>
|
|
14
|
+
<v-select v-if="this.row.f_collection_type==='按气量'" :value.sync="model.f_operat_type"
|
|
15
|
+
:options='operator_type2' placeholder='请选择'
|
|
16
|
+
selected="赠气"
|
|
17
|
+
style="width:60%"
|
|
18
|
+
close-on-select></v-select>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="col-sm-4" :class="[$v.f_pregas.dctest ? 'has-error' : 'has-success']">
|
|
21
|
+
<label class="font_normal_body">赠气</label>
|
|
22
|
+
<input class="input_search" style="width:60%" type="number" @blur="pregas"
|
|
23
|
+
v-validate:f_pregas='{ dctest: [0, ">" ]}' v-model="model.f_pregas" placeholder="赠气量" v-ref:f_pregas>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="col-sm-4" :class="[$v.f_preamount.dctest ? 'has-error' : 'has-success']">
|
|
26
|
+
<label for="f_preamount" class=" font_normal_body">金额:</label>
|
|
27
|
+
<input class="input_search" style="width:60%" type="number" v-model="model.f_preamount" placeholder="金额"
|
|
28
|
+
@blur="preamount()"
|
|
29
|
+
v-validate:f_preamount='{ dctest: [0, ">" ]}'>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
<div class="row" style="margin-top:10px;">
|
|
33
|
+
<label for="f_reason" class=" font_normal_body">备  注</label>
|
|
34
|
+
<input class="input_search" style="width:55%" rows="1" v-model="model.f_reason" placeholder="备注">
|
|
35
|
+
</div>
|
|
36
|
+
</form>
|
|
37
|
+
<div style="text-align:right;margin-top: 2%">
|
|
38
|
+
|
|
39
|
+
<button class="button_search" @click="confirm()" :disabled='!$v.valid' >确认</button>
|
|
40
|
+
<button class="button_clear" @click="clean()" >取消</button>
|
|
41
|
+
</div>
|
|
42
|
+
</validator>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
<upload :blodid="row.f_userinfo_id" isremark="true" fusetype="赠气"></upload>
|
|
46
|
+
</template>
|
|
47
|
+
<script>
|
|
48
|
+
let preamountGen = async function (self) {
|
|
49
|
+
let calFee = self.model.f_preamount
|
|
50
|
+
let getGas = await self.$CommonService.feeCalculate(self.model, calFee)
|
|
51
|
+
if (getGas.data.gas) {
|
|
52
|
+
if (self.row.f_isdecimal === '是') {
|
|
53
|
+
if (self.row.f_alias === 'QiaoSong') {
|
|
54
|
+
self.model.f_pregas = (getGas.data.gas - 0).toFixed(1)
|
|
55
|
+
} else {
|
|
56
|
+
self.model.f_pregas = (getGas.data.gas - 0).toFixed(4)
|
|
57
|
+
}
|
|
58
|
+
self.dymoney = 0
|
|
59
|
+
} else {
|
|
60
|
+
// 如果不支持小数,将划价出的多余非整数气量进行划价为金额
|
|
61
|
+
let tempnum = Math.floor(getGas.data.gas - 0)
|
|
62
|
+
if (getGas.data.gas > tempnum) { // getGas.data.gas-tempnum-0
|
|
63
|
+
let dymoney1 = await self.$CommonService.gasCalculate(self.model, (tempnum).toFixed(4))
|
|
64
|
+
if (dymoney1.data.money) {
|
|
65
|
+
self.dymoney = (getGas.data.money - 0).toFixed(2) - (dymoney1.data.money - 0).toFixed(2)
|
|
66
|
+
}
|
|
67
|
+
} else {
|
|
68
|
+
self.dymoney = 0
|
|
69
|
+
}
|
|
70
|
+
self.model.f_pregas = Math.floor(getGas.data.gas - 0)
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// 不划气量,归零
|
|
74
|
+
if (self.config.priceCalculation) {
|
|
75
|
+
self.model.f_pregas = 0
|
|
76
|
+
}
|
|
77
|
+
self.model.f_totalcost = ((self.row.f_balance - 0) > (self.model.f_preamount - 0) ? 0 : ((self.model.f_preamount - 0) - (self.row.f_balance - 0)).toFixed(4))
|
|
78
|
+
|
|
79
|
+
self.model.chargeprice = getGas.data.chargeprice
|
|
80
|
+
Object.assign(self.model, self.model, getGas.data)
|
|
81
|
+
self.model.f_totalcost = ((self.model.f_totalcost - 0) - (self.dymoney - 0)).toFixed(2)
|
|
82
|
+
if (self.config.floor) {
|
|
83
|
+
self.model.f_totalcost = Math.ceil(self.model.f_totalcost)
|
|
84
|
+
}
|
|
85
|
+
self.model.f_collection = self.model.f_totalcost
|
|
86
|
+
self.model.f_preamount = ((getGas.data.chargenum - 0) - (self.dymoney - 0))
|
|
87
|
+
if (self.model.f_payment == '赠气') {
|
|
88
|
+
self.model.f_totalcost = self.model.f_preamount
|
|
89
|
+
self.model.f_collection = 0
|
|
90
|
+
}
|
|
91
|
+
self.calText(getGas.data.chargeprice)
|
|
92
|
+
}
|
|
93
|
+
// 输入气量,换算金额
|
|
94
|
+
let pregasGen = async function (self) {
|
|
95
|
+
if (self.row.f_isdecimal === '是') {
|
|
96
|
+
self.model.f_pregas = (self.model.f_pregas - 0).toFixed(4)
|
|
97
|
+
} else {
|
|
98
|
+
self.model.f_pregas = (self.model.f_pregas - 0).toFixed(0)
|
|
99
|
+
}
|
|
100
|
+
self.model.f_meter_type = self.row.f_meter_type
|
|
101
|
+
let getAmount = await self.$CommonService.gasCalculate(self.model, self.model.f_pregas)
|
|
102
|
+
self.model.f_preamount = getAmount.data.chargenum
|
|
103
|
+
self.model.f_totalcost = (self.row.f_balance - 0) > (getAmount.data.chargenum - 0) ? 0 : ((getAmount.data.chargenum - 0) - (self.row.f_balance - 0)).toFixed(4)
|
|
104
|
+
Object.assign(self.model, self.model, getAmount.data)
|
|
105
|
+
self.model.chargeprice = getAmount.data.chargeprice
|
|
106
|
+
if (self.config.floor) {
|
|
107
|
+
self.model.f_totalcost = Math.ceil(self.model.f_totalcost)
|
|
108
|
+
}
|
|
109
|
+
self.model.f_collection = self.model.f_totalcost
|
|
110
|
+
if (self.model.f_payment == '赠气') {
|
|
111
|
+
self.model.f_totalcost = getAmount.data.chargenum
|
|
112
|
+
self.model.f_collection = 0
|
|
113
|
+
}
|
|
114
|
+
self.calText(getAmount.data.chargeprice)
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
let otherGasGen = async function (self) {
|
|
118
|
+
let data = self.getSell()
|
|
119
|
+
data.f_total_gas = data.f_add_gas === '计入' ? (self.row.f_total_gas - 0) + (self.model.f_pregas - 0) : (self.row.f_total_gas - 0)
|
|
120
|
+
data.f_total_fee = data.f_add_gas === '计入' ? (self.row.f_total_fee - 0) + (self.model.f_preamount - 0) : (self.row.f_total_fee - 0)
|
|
121
|
+
if (self.isGas) {
|
|
122
|
+
data.f_pregas = self.model.f_pregas
|
|
123
|
+
} else {
|
|
124
|
+
data.f_preamount = self.model.f_preamount
|
|
125
|
+
}
|
|
126
|
+
data.f_userfiles_id = {
|
|
127
|
+
f_userfiles_id: self.row.f_userfiles_id,
|
|
128
|
+
f_user_id: self.row.f_user_id,
|
|
129
|
+
version: self.row.version,
|
|
130
|
+
f_times: self.row.cardInfo.Times + 1,
|
|
131
|
+
f_total_gas: data.f_add_gas === '计入' ? (self.row.f_total_gas - 0) + (self.model.f_pregas - 0) : (self.row.f_total_gas - 0),
|
|
132
|
+
f_total_fee: data.f_add_gas === '计入' ? (self.row.f_total_fee - 0) + (self.model.f_preamount - 0) : (self.row.f_total_fee - 0),
|
|
133
|
+
f_balance_gas: 0,
|
|
134
|
+
f_balance_amount: 0
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
let cardId = self.row.f_card_id
|
|
138
|
+
if (self.row.f_tag && self.row.f_tag !== 'null') {
|
|
139
|
+
// 截取用户编号后四位
|
|
140
|
+
data.f_userfiles_id.f_card_id = cardId = self.row.f_tag + self.row.f_card_id
|
|
141
|
+
data.f_userfiles_id.f_tag = null
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// 保存表类型
|
|
145
|
+
data.f_meter_type = self.row.f_meter_type
|
|
146
|
+
data.f_times = self.row.cardInfo.Times + 1
|
|
147
|
+
|
|
148
|
+
let result = await self.$resetpost('rs/logic/fedWithgaIc', data, {resolveMsg: null, rejectMsg: '补气报错!!!'})
|
|
149
|
+
try {
|
|
150
|
+
// 写卡操作
|
|
151
|
+
let cardParams = await self.$resetpost('rs/logic/stairCard', {data: {f_card_id: cardId + '', f_alias: self.row.f_alias, f_user_id: self.row.f_user_id}}, {resolveMsg: null, rejectMsg: '获取写卡参数失败'})
|
|
152
|
+
// 获取写卡参数
|
|
153
|
+
let params = self.getWriteCard(cardParams, self.row, data)
|
|
154
|
+
params.kh = cardId
|
|
155
|
+
console.log('获取其他补气写卡参数,,', params)
|
|
156
|
+
let url = 'http://127.0.0.1:8003/WriteGasCard'
|
|
157
|
+
let cardRes = await self.$resetpost(url, params, {resolveMsg: null, rejectMsg: '补气卡服务错误'})
|
|
158
|
+
|
|
159
|
+
// 卡服务写卡异常,业务逻辑回滚
|
|
160
|
+
if (!cardParams || !result || cardRes.data.Err || cardRes.data.Exception) {
|
|
161
|
+
throw new Error(`卡服务错误:${cardRes.data.Err}${cardRes.data.Exception},请联系开发人员处理!!`)
|
|
162
|
+
} else {
|
|
163
|
+
await self.$CommonService.updatePassword(self.row, cardRes)
|
|
164
|
+
self.$showAlert('赠气成功', 'success', 2000)
|
|
165
|
+
return result.data.id
|
|
166
|
+
}
|
|
167
|
+
} catch (error) {
|
|
168
|
+
self.$showAlert(error, 'danger', 0)
|
|
169
|
+
let rollback = {
|
|
170
|
+
id: result.data.id,
|
|
171
|
+
f_card_id: self.row.f_card_id
|
|
172
|
+
}
|
|
173
|
+
if (self.row.f_tag) {
|
|
174
|
+
rollback.f_tag = self.row.f_tag
|
|
175
|
+
}
|
|
176
|
+
await self.$resetpost('rs/logic/otherGasRollback', {data: rollback}, {rejectMsg: '赠气回滚出错', resolveMsg: null})
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
export default {
|
|
181
|
+
title: '卡表赠气赠费',
|
|
182
|
+
data () {
|
|
183
|
+
return {
|
|
184
|
+
operator_type: [{label: '赠费', value: '卡表赠费'}, {label: '政府补贴', value: '政府补贴'}],
|
|
185
|
+
operator_type2: [{label: '赠气', value: '卡表赠气'}, {label: '政府补贴', value: '政府补贴'}],
|
|
186
|
+
isGas: false,
|
|
187
|
+
acceptprint: false,
|
|
188
|
+
acceptUrl: '',
|
|
189
|
+
printData: {
|
|
190
|
+
reason: '',
|
|
191
|
+
fillgas: '',
|
|
192
|
+
fillamount: ''
|
|
193
|
+
},
|
|
194
|
+
config: {
|
|
195
|
+
floor: false
|
|
196
|
+
},
|
|
197
|
+
model: {
|
|
198
|
+
f_pregas: 0,
|
|
199
|
+
f_preamount: 0,
|
|
200
|
+
f_reason: '',
|
|
201
|
+
f_operat_type: ''
|
|
202
|
+
// f_add_gas: '不计入'
|
|
203
|
+
},
|
|
204
|
+
print: false
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
props: ['row', 'cardData'],
|
|
208
|
+
ready () {
|
|
209
|
+
this.isGas = this.row.f_meter_type === '气量卡表' || this.row.f_collection_type == '按气量' || (this.row.f_calculation === '预付费' && this.row.f_billing === '按气量')
|
|
210
|
+
this.model.f_operat_type = this.isGas ? '卡表赠气' : '卡表赠费'
|
|
211
|
+
this.row.cardInfo = this.cardData
|
|
212
|
+
this.model.f_price_id = this.row.f_price_id
|
|
213
|
+
this.model.f_user_id = this.row.f_user_id
|
|
214
|
+
this.model.f_userfiles_id = this.row.f_userfiles_id
|
|
215
|
+
this.model.f_userinfo_id = this.row.f_userinfo_id
|
|
216
|
+
this.model.f_balance = this.row.f_alias === 'QiaoSong' ? Math.trunc(this.row.f_balance) : this.row.f_balance
|
|
217
|
+
console.log('卡信息', this.row.cardInfo)
|
|
218
|
+
},
|
|
219
|
+
methods: {
|
|
220
|
+
confirm () {
|
|
221
|
+
otherGasGen(this).then((res) => {
|
|
222
|
+
this.$dispatch('success')
|
|
223
|
+
})
|
|
224
|
+
},
|
|
225
|
+
pregas () {
|
|
226
|
+
// 对气量进行验证
|
|
227
|
+
if ((this.row.f_topup_ceil - 0) > 0 && (this.model.f_pregas - 0) > (this.row.f_topup_ceil - 0)) {
|
|
228
|
+
this.$showAlert(`您输入的气量不能大于该表的充值上限: ${this.row.f_topup_ceil}`, 'warning', 5000)
|
|
229
|
+
this.model.f_pregas = null
|
|
230
|
+
} else {
|
|
231
|
+
try {
|
|
232
|
+
pregasGen(this)
|
|
233
|
+
} catch (error) {
|
|
234
|
+
this.$showAlert(`赠气划价错误,错误类型:${error}`, 'danger', 0)
|
|
235
|
+
this.$dispatch('error', '发卡售气', this.model, error)
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
preamount () {
|
|
240
|
+
if (this.model.f_preamount && this.model.f_preamount > 0) {
|
|
241
|
+
try {
|
|
242
|
+
preamountGen(this)
|
|
243
|
+
} catch (error) {
|
|
244
|
+
this.$showAlert(`赠气划价错误,错误类型:${error}`, 'danger', 0)
|
|
245
|
+
this.$dispatch('error', '赠气', this.model, error)
|
|
246
|
+
}
|
|
247
|
+
} else {
|
|
248
|
+
this.model.f_preamount = null
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
getSell () {
|
|
252
|
+
return {
|
|
253
|
+
f_balance: this.row.f_balance,
|
|
254
|
+
f_curbalance: this.row.f_balance,
|
|
255
|
+
f_card_id: this.row.f_card_id,
|
|
256
|
+
f_comments: this.model.f_reason,
|
|
257
|
+
f_add_gas: '计入',
|
|
258
|
+
f_type: this.model.f_operat_type,
|
|
259
|
+
f_user_id: this.row.f_user_id,
|
|
260
|
+
f_userfiles_id: this.row.f_userfiles_id,
|
|
261
|
+
f_userinfo_id: this.row.f_userinfo_id,
|
|
262
|
+
f_user_name: this.row.f_user_name,
|
|
263
|
+
f_user_type: this.row.f_user_type,
|
|
264
|
+
f_gasproperties: this.row.f_gasproperties,
|
|
265
|
+
f_address: this.row.f_address,
|
|
266
|
+
f_meter_brand: this.row.f_meter_brand,
|
|
267
|
+
f_operat_type: '其他补气',
|
|
268
|
+
f_describe: `${this.$login.f.name}对客户${this.row.f_user_name}进行${this.model.f_operat_type}操作`,
|
|
269
|
+
f_state: '有效',
|
|
270
|
+
f_operator: this.$login.f.name,
|
|
271
|
+
f_operatorid: this.$login.f.id,
|
|
272
|
+
f_orgid: this.$login.f.orgid,
|
|
273
|
+
f_orgname: this.$login.f.orgs,
|
|
274
|
+
f_depid: this.$login.f.depids,
|
|
275
|
+
f_depname: this.$login.f.deps,
|
|
276
|
+
f_zoneid: this.$login.f.zoneid,
|
|
277
|
+
f_zones: this.$login.f.zones
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
getWriteCard (cardParams, row, data) {
|
|
281
|
+
let params = {
|
|
282
|
+
factory: row.f_alias, // 气表厂家
|
|
283
|
+
kh: row.f_card_id, // 卡号
|
|
284
|
+
kmm: row.f_card_password, // 卡密码,写卡后返回新密码, 不论补卡还是先开户都没有密码
|
|
285
|
+
bjql: row.f_police_gas, // 报警气量,t_gasbrand表中
|
|
286
|
+
czsx: row.f_topup_ceil, // 充值上线,t_gasbrand表中
|
|
287
|
+
tzed: row.f_overdr_lines, // 透支额度,t_gasbrand表中
|
|
288
|
+
bkcs: row.f_fillcard_times, // 补卡次数,从补卡表里通过表编号获得
|
|
289
|
+
ql: data.f_pregas, // 预购气量
|
|
290
|
+
cs: row.cardInfo.Times + 1, // 求购气次数,先开户为1
|
|
291
|
+
money: data.f_preamount, // 购气金额
|
|
292
|
+
klx: row.f_coding,
|
|
293
|
+
kzt: '1',
|
|
294
|
+
dqdm: row.f_area_code,
|
|
295
|
+
meterid: row.f_meternumber ? row.f_meternumber : 0 // 表号
|
|
296
|
+
// meternumber: row.f_meternumber ? row.f_meternumber : 0
|
|
297
|
+
}
|
|
298
|
+
return Object.assign({}, this.$CommonService.writeCardParams(cardParams), params)
|
|
299
|
+
},
|
|
300
|
+
close () {
|
|
301
|
+
this.print = false
|
|
302
|
+
this.clean()
|
|
303
|
+
},
|
|
304
|
+
clean () {
|
|
305
|
+
this.$info('取消操作')
|
|
306
|
+
this.$dispatch('cancelclean', this.row)
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
computed: {
|
|
310
|
+
addGas () {
|
|
311
|
+
return [{label: '计入', value: '计入'}, {label: '不计入', value: '不计入'}]
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
</script>
|
|
316
|
+
|
|
317
|
+
<style>
|
|
318
|
+
</style>
|
|
@@ -26,4 +26,6 @@ export default function () {
|
|
|
26
26
|
Vue.component('iot-refund', (resolve) => { require(['./IOTRefund'], resolve) })
|
|
27
27
|
// 物联网赠气
|
|
28
28
|
Vue.component('iotTable', (resolve) => { require(['./iotTable'], resolve) })
|
|
29
|
+
// 卡表赠气
|
|
30
|
+
Vue.component('icTable', (resolve) => { require(['./icTable'], resolve) })
|
|
29
31
|
}
|
|
@@ -116,7 +116,7 @@ let FileManageService = {
|
|
|
116
116
|
meter.f_show_way = meter.f_show_way ? meter.f_show_way[0] : null
|
|
117
117
|
meter.f_inputtor = meter.f_inputtor.length > 0 ? meter.f_inputtor[0] : null
|
|
118
118
|
meter.f_gongye_type = meter.f_gongye_type ? meter.f_gongye_type[0] : null
|
|
119
|
-
meter.f_userfiles_address = meter.f_userfiles_address ? meter.f_userfiles_address
|
|
119
|
+
meter.f_userfiles_address = meter.f_userfiles_address ? meter.f_userfiles_address : null
|
|
120
120
|
meter.f_install_person = meter.f_install_person.length > 0 ? meter.f_install_person[0] : null
|
|
121
121
|
meter.f_limit_sms = meter.f_limit_sms == '' ? meter.f_limit_sms = 30 : parseInt(meter.f_limit_sms)
|
|
122
122
|
meter.f_card_id = meter.f_card_id ? meter.f_card_id : null
|
package/src/sale.js
CHANGED
|
@@ -367,6 +367,8 @@ export default function () {
|
|
|
367
367
|
Vue.component('card-hand', (resolve) => { require(['./components/revenue/HandManager/CardHand'], resolve) })
|
|
368
368
|
// 机表抄表
|
|
369
369
|
Vue.component('hand-manager', (resolve) => { require(['./components/revenue/HandManager/HandManager'], resolve) })
|
|
370
|
+
// 批量停用
|
|
371
|
+
Vue.component('batch-disable', (resolve) => { require(['./components/revenue/Common/batchDisable'], resolve) })
|
|
370
372
|
|
|
371
373
|
// 抄表册新增
|
|
372
374
|
Vue.component('meter-book-add', (resolve) => { require(['./components/revenue/HandManager/MeterBookAdd'], resolve) })
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="auto form-horizontal" >
|
|
3
|
-
<modal :show.sync="show" v-ref:modal large backdrop="false">
|
|
4
|
-
<header slot="modal-header" class="modal-header">
|
|
5
|
-
<h3 style="color:black" class="modal-title">折子打印</h3>
|
|
6
|
-
</header>
|
|
7
|
-
<article slot="modal-body" class="modal-body">
|
|
8
|
-
<validator name='v'>
|
|
9
|
-
<form class="form-horizontal select-overspread">
|
|
10
|
-
<div class="row" style="display: flex;justify-content: center;" id='normal-bill' v-if="bill.data">
|
|
11
|
-
{{{bill.data}}}
|
|
12
|
-
</div>
|
|
13
|
-
</form>
|
|
14
|
-
</validator>
|
|
15
|
-
</article>
|
|
16
|
-
<footer slot="modal-footer" class="modal-footer">
|
|
17
|
-
<p>将打印在第<input type="number" v-model="data.f_zzhh"/>行</p>
|
|
18
|
-
<button type="button" class="btn btn-success" @click='printmai()'>打印</button>
|
|
19
|
-
<report-print id='normal-bill' :top='top' left='0mm' width='90%' height='80%' :notrepeat="true" :showbtn="false" v-ref:print></report-print>
|
|
20
|
-
<button type="button" class="btn btn-default" @click='cancel()'>取消</button>
|
|
21
|
-
</footer>
|
|
22
|
-
</modal>
|
|
23
|
-
</div>
|
|
24
|
-
</template>
|
|
25
|
-
<script>
|
|
26
|
-
import { DataModel } from 'vue-client'
|
|
27
|
-
|
|
28
|
-
let getBillData = async function (self) {
|
|
29
|
-
console.log('asdfasf', self.data.f_zzhh)
|
|
30
|
-
self.data.content.f_zzhh = `'${self.data.f_zzhh}'`
|
|
31
|
-
self.bill = new DataModel(self.url, self.data.content)
|
|
32
|
-
console.log(self.bill.url)
|
|
33
|
-
let height = self.zzheight - 0.0
|
|
34
|
-
let spacing = self.zzspacing - 0.0
|
|
35
|
-
let pageRow = self.zzpageRow - 0
|
|
36
|
-
let marginTop = self.zzmarginTop - 0
|
|
37
|
-
var hh = self.data.f_zzhh
|
|
38
|
-
if (hh != -1) {
|
|
39
|
-
var top = marginTop + (hh - 1) * height
|
|
40
|
-
if (hh > pageRow) { top = top + spacing }
|
|
41
|
-
self.top = `${top}mm`
|
|
42
|
-
}
|
|
43
|
-
await self.bill.search()
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export default {
|
|
47
|
-
title: '收费发票',
|
|
48
|
-
data () {
|
|
49
|
-
return {
|
|
50
|
-
top: '5mm',
|
|
51
|
-
bill: {},
|
|
52
|
-
zzheight: this.$appdata.getSingleValue('折子行高') ? this.$appdata.getSingleValue('折子行高') : 4.5,
|
|
53
|
-
zzspacing: this.$appdata.getSingleValue('折子中间间距') ? this.$appdata.getSingleValue('折子中间间距') : 23,
|
|
54
|
-
zzpageRow: this.$appdata.getSingleValue('每页折子行数') ? this.$appdata.getSingleValue('每页折子行数') : 23,
|
|
55
|
-
zzmarginTop: this.$appdata.getSingleValue('折子上边距') ? this.$appdata.getSingleValue('折子上边距') : 11
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
props: ['show', 'url', 'data'],
|
|
59
|
-
methods: {
|
|
60
|
-
cancel () {
|
|
61
|
-
this.$dispatch('toggle')
|
|
62
|
-
},
|
|
63
|
-
async printmai () {
|
|
64
|
-
if (this.data.f_zzhh == 1) {
|
|
65
|
-
let msg = await this.$showMessage('请注意,当前折子需要翻页,请确认当前页是新的一页', ['confirm', 'cancel'])
|
|
66
|
-
if (msg == 'confirm') {
|
|
67
|
-
this.print()
|
|
68
|
-
}
|
|
69
|
-
} else {
|
|
70
|
-
this.print()
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
async print () {
|
|
74
|
-
try {
|
|
75
|
-
let height = this.zzheight - 0.0
|
|
76
|
-
let spacing = this.zzspacing - 0.0
|
|
77
|
-
let pageRow = this.zzpageRow - 0
|
|
78
|
-
let marginTop = this.zzmarginTop - 0
|
|
79
|
-
var hh = this.data.f_zzhh
|
|
80
|
-
if (hh != -1) {
|
|
81
|
-
var top = marginTop + (hh - 1) * height
|
|
82
|
-
if (hh > pageRow) { top = top + spacing }
|
|
83
|
-
this.top = `${top}mm`
|
|
84
|
-
}
|
|
85
|
-
await this.$resetpost('rs/logic/editBook', {
|
|
86
|
-
f_book_no: this.data.f_book_no,
|
|
87
|
-
f_userinfo_id: this.data.f_userinfo_id,
|
|
88
|
-
f_zzhh: this.data.f_zzhh == -1 ? 1 : this.data.f_zzhh == 12 ? 1 : this.data.f_zzhh + 1
|
|
89
|
-
}, {
|
|
90
|
-
resolveMsg: null,
|
|
91
|
-
rejectMsg: '折子打印出错!!'
|
|
92
|
-
})
|
|
93
|
-
this.$refs.print.isPrint = true
|
|
94
|
-
this.$refs.print.print()
|
|
95
|
-
} catch (error) {
|
|
96
|
-
this.$dispatch('refresh')
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
watch: {
|
|
101
|
-
'show' (val) {
|
|
102
|
-
if (val) {
|
|
103
|
-
getBillData(this).then(() => {
|
|
104
|
-
this.$emit('ready')
|
|
105
|
-
}).catch((error) => {
|
|
106
|
-
this.$emit('error', error)
|
|
107
|
-
})
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
},
|
|
111
|
-
events: {
|
|
112
|
-
'print' () {
|
|
113
|
-
// 对票据明细进行更新或插入操作
|
|
114
|
-
this.$dispatch('printok', '发票打印', this.data)
|
|
115
|
-
},
|
|
116
|
-
'print-error' () {
|
|
117
|
-
this.$dispatch('error', '发票打印', this.data, null)
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
</script>
|