sale-client 3.5.81 → 3.5.82
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/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
- package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
- package/.gradle/5.2.1/gc.properties +0 -0
- package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/.gradle/vcs-1/gc.properties +0 -0
- package/build/dev-server.js +3 -6
- package/package.json +1 -1
- package/src/components/common/userinfo_detail/ic_detail/ChargeRecordQuery.vue +4 -2
- package/src/components/revenue/comprehen/ComprehenOperation/ChangeAccount/TransferRecords.vue +19 -1
- package/src/filiale/qianneng/chargeBatch/OweRecordQuery.vue +261 -0
- package/src/filiale/qianneng/sale.js +4 -1
- package/src/filiale/rizhao/ChargeRecordQuery.vue +8 -8
- package/src/filiale/shiquan/CardList.vue +551 -0
- package/src/filiale/shiquan/sale.js +4 -1
- package/src/filiale/tongchuan/FileUserFiles.vue +1 -1
- package/src/filiale/zhongyi/MeterReadAudit.vue +3 -6
- package/src/main.js +1 -1
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
File without changes
|
package/build/dev-server.js
CHANGED
|
@@ -12,7 +12,7 @@ var compiler = webpack(config)
|
|
|
12
12
|
// https://github.com/chimurai/http-proxy-middleware
|
|
13
13
|
var bendi = 'http://121.36.106.17:8400', bendi1 = 'http://121.36.106.17:8400/'
|
|
14
14
|
// 公司测试服务
|
|
15
|
-
var fuwu = 'http://
|
|
15
|
+
var fuwu = 'http://47.93.217.125:8400/'
|
|
16
16
|
// var fuwu = 'http://121.36.106.17:8400/'
|
|
17
17
|
// 铜川正式
|
|
18
18
|
// var fuwu = 'http://61.134.55.234:9999/'
|
|
@@ -36,9 +36,6 @@ var proxyTable = {
|
|
|
36
36
|
'/rs/logic/saleGetExportProgress': {
|
|
37
37
|
target: fuwu
|
|
38
38
|
},
|
|
39
|
-
'/rs/logic/getWarningMsg': {
|
|
40
|
-
target: 'http://localhost:8080/'
|
|
41
|
-
},
|
|
42
39
|
'/rs/file': {
|
|
43
40
|
target: fuwu
|
|
44
41
|
},
|
|
@@ -158,10 +155,10 @@ app.use(hotMiddleware)
|
|
|
158
155
|
// serve pure static assets
|
|
159
156
|
app.use('/static', express.static('./static'))
|
|
160
157
|
|
|
161
|
-
module.exports = app.listen(
|
|
158
|
+
module.exports = app.listen(8089, function (err) {
|
|
162
159
|
if (err) {
|
|
163
160
|
console.log(err)
|
|
164
161
|
return
|
|
165
162
|
}
|
|
166
|
-
console.log('Listening at http://localhost:
|
|
163
|
+
console.log('Listening at http://localhost:8085')
|
|
167
164
|
})
|
package/package.json
CHANGED
|
@@ -59,7 +59,8 @@
|
|
|
59
59
|
data () {
|
|
60
60
|
return {
|
|
61
61
|
model: {rows: []},
|
|
62
|
-
cardCental:false
|
|
62
|
+
cardCental:false,
|
|
63
|
+
hasCardCental: false
|
|
63
64
|
}
|
|
64
65
|
},
|
|
65
66
|
props: ['searchdata'],
|
|
@@ -79,7 +80,8 @@
|
|
|
79
80
|
resolveMsg: null
|
|
80
81
|
})
|
|
81
82
|
this.model.rows = record.data
|
|
82
|
-
|
|
83
|
+
this.hasCardCental = this.$appdata.getSingleValue('多收提示') ? this.$appdata.getSingleValue('多收提示') : true
|
|
84
|
+
if(this.hasCardCental && this.model.rows.length>0 && ( this.model.rows[0].type== '发卡售气' || this.model.rows[0].type== '卡表收费' ) ){
|
|
83
85
|
let checkdata = this.model.rows[0].operate_date.substr(0,10)
|
|
84
86
|
let nowdate = new Date();
|
|
85
87
|
let pdate = nowdate.getFullYear()+'-'+(nowdate.getMonth()<10? '0'+nowdate.getMonth()+1 : nowdate.getMonth()+1) +'-'+(nowdate.getDate()<10? '0'+nowdate.getDate() : nowdate.getDate());
|
package/src/components/revenue/comprehen/ComprehenOperation/ChangeAccount/TransferRecords.vue
CHANGED
|
@@ -57,6 +57,16 @@
|
|
|
57
57
|
placeholder="用户编号">
|
|
58
58
|
</div>
|
|
59
59
|
</div>
|
|
60
|
+
<!--<div class="row" v-if="row.f_meter_type== '物联网表'||row.f_meter_type== '机表' || row.f_meter_type == '金额卡表'">-->
|
|
61
|
+
<!--<div class="col-sm-6 col-sm-offset-3">-->
|
|
62
|
+
<!--<label for="f_auto_operate" id="f_auto_operate" class="font_normal_body">自动生成补费扣费</label>-->
|
|
63
|
+
<!--<v-select :value.sync="model.f_auto_operate" v-model='model.f_auto_operate'-->
|
|
64
|
+
<!--style="width:60%"-->
|
|
65
|
+
<!--:options='autoOperate' placeholder='是否自动生成补费扣费'-->
|
|
66
|
+
<!--close-on-select-->
|
|
67
|
+
<!--condition="f_state = '{}'"></v-select>-->
|
|
68
|
+
<!--</div>-->
|
|
69
|
+
<!--</div>-->
|
|
60
70
|
</article>
|
|
61
71
|
<footer slot="modal-footer" class="modal-footer">
|
|
62
72
|
<button class="button_search" @click="confirm()" :disabled='!notarize_userinfo_code'>
|
|
@@ -99,6 +109,11 @@ export default {
|
|
|
99
109
|
name: '划价记录',
|
|
100
110
|
checked: true,
|
|
101
111
|
disabled: true
|
|
112
|
+
}, {
|
|
113
|
+
table: 't_record',
|
|
114
|
+
name: '记录',
|
|
115
|
+
checked: true,
|
|
116
|
+
disabled: true
|
|
102
117
|
}]
|
|
103
118
|
},
|
|
104
119
|
model: {
|
|
@@ -110,6 +125,7 @@ export default {
|
|
|
110
125
|
out_userinfo_id: '',
|
|
111
126
|
out_userfiles_id: '',
|
|
112
127
|
out_user_id: '',
|
|
128
|
+
// f_auto_operate: '否',
|
|
113
129
|
out_userinfo_code: '',
|
|
114
130
|
in_user_name: '',
|
|
115
131
|
out_user_name: '',
|
|
@@ -120,7 +136,8 @@ export default {
|
|
|
120
136
|
f_operatorid: '',
|
|
121
137
|
f_operator: '',
|
|
122
138
|
f_comments: ''
|
|
123
|
-
}
|
|
139
|
+
},
|
|
140
|
+
autoOperate: [{ label: '是', value: '是' }, { label: '否', value: '否' }]
|
|
124
141
|
}
|
|
125
142
|
},
|
|
126
143
|
ready () {
|
|
@@ -159,6 +176,7 @@ export default {
|
|
|
159
176
|
this.model.in_user_name = undefined
|
|
160
177
|
} else {
|
|
161
178
|
this.model.table_name = this.config.tableNames.map(item => item.table)
|
|
179
|
+
// this.model.f_auto_operate = this.model.f_auto_operate[0]
|
|
162
180
|
new HttpResetClass().load('post', 'rs/logic/transferRecords',
|
|
163
181
|
{
|
|
164
182
|
model: this.model,
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="basic-main flex">
|
|
3
|
+
<partial-view v-ref:pv v-if="showchangeUserInformation">
|
|
4
|
+
<div class="panel panel-info auto" >
|
|
5
|
+
<div class="panel-heading" style="height: 35px">
|
|
6
|
+
<h4 style="display:inline-block;margin-top: auto">用户信息</h4>
|
|
7
|
+
</div>
|
|
8
|
+
</div>
|
|
9
|
+
<div class="auto info-content row">
|
|
10
|
+
<div class="col-sm-6 form-group">
|
|
11
|
+
<label class="font_normal_body">团体编号</label>
|
|
12
|
+
<label class = "font_normal_body">{{civill.f_customer}}</label>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="col-sm-6 form-group">
|
|
15
|
+
<label class="font_normal_body">客户姓名</label>
|
|
16
|
+
<label class = "font_normal_body">{{civill.f_user_name}}
|
|
17
|
+
<span @click.stop="changeUserInformation('用户姓名')" class="glyphicon glyphicon-pencil clickchange" title="修正客户姓名"></span>
|
|
18
|
+
</label>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="auto info-content row">
|
|
22
|
+
<div class="col-sm-6 form-group">
|
|
23
|
+
<label class="font_normal_body">详细地址</label>
|
|
24
|
+
<label class = "font_normal_body">{{civill.f_address}}
|
|
25
|
+
<span @click.stop="changeUserInformation('详细地址')" class="glyphicon glyphicon-pencil clickchange" title="修正客户电话"></span>
|
|
26
|
+
</label>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="col-sm-6 form-group">
|
|
29
|
+
<label class="font_normal_body">联系电话</label>
|
|
30
|
+
<label class = "font_normal_body">{{civill.f_user_phone}}
|
|
31
|
+
<span @click.stop="changeUserInformation('联系电话')" class="glyphicon glyphicon-pencil clickchange" title="修正客户电话"></span>
|
|
32
|
+
</label>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
<modal v-if="showselectncuserinfo" :show.sync="showselectncuserinfo" width="40%" :title="changeUserList.title" v-ref:modal large backdrop="false">
|
|
36
|
+
<article slot="modal-body" class="modal-body">
|
|
37
|
+
<div class="form-horizontal" >
|
|
38
|
+
<div class="row">
|
|
39
|
+
<div class="col-sm-12 form-group">
|
|
40
|
+
<label class="font_normal_body">{{changeUserList.oldInfoname}}</label>
|
|
41
|
+
<input disabled readonly type="text" style="width:80%" class="input_search" v-model="changeUserList.oldInfoval" :placeholder='changeUserList.oldInfoname'>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="row">
|
|
45
|
+
<div class="col-sm-12 form-group">
|
|
46
|
+
<label class="font_normal_body">{{changeUserList.newInfoname}}</label>
|
|
47
|
+
<input type="text" style="width:80%" class="input_search" v-model="changeUserList.newInfoval" :placeholder='changeUserList.newInfoname'>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
</article>
|
|
52
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
53
|
+
<button class="button_search" :disabled='!$m.valid ' @click="modifyUser">确定</button>
|
|
54
|
+
<button type="button" class="button_clear" @click='close'>取消</button>
|
|
55
|
+
</footer>
|
|
56
|
+
</modal>
|
|
57
|
+
</partial-view>
|
|
58
|
+
|
|
59
|
+
<div style="height: 400px;background:#E6E6FA; margin-top: 10px;">
|
|
60
|
+
<data-grid :model="owe" class="table_sy" partial='list' v-ref:grid >
|
|
61
|
+
<template partial='head' >
|
|
62
|
+
<tr>
|
|
63
|
+
<th><nobr>序号</nobr></th>
|
|
64
|
+
<th><nobr>客户编号</nobr></th>
|
|
65
|
+
<th><nobr>客户姓名</nobr></th>
|
|
66
|
+
<th><nobr>气表类型</nobr></th>
|
|
67
|
+
<th><nobr>欠费期数 </nobr></th>
|
|
68
|
+
<th><nobr>欠费区间 </nobr></th>
|
|
69
|
+
<th><nobr>上期底数</nobr></th>
|
|
70
|
+
<th><nobr>本期底数</nobr></th>
|
|
71
|
+
<th><nobr>用气量 </nobr></th>
|
|
72
|
+
<th><nobr>用气金额</nobr></th>
|
|
73
|
+
<th><nobr>已交金额</nobr></th>
|
|
74
|
+
<th><nobr>应交气费</nobr></th>
|
|
75
|
+
<th><nobr>滞纳金</nobr></th>
|
|
76
|
+
<th><nobr>合计欠费</nobr></th>
|
|
77
|
+
</tr>
|
|
78
|
+
</template>
|
|
79
|
+
<template partial='body' >
|
|
80
|
+
<tr >
|
|
81
|
+
<td style="text-align:center;white-space:nowrap;">{{$index+1}}</td>
|
|
82
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_userinfo_code}}</td>
|
|
83
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_user_name}}</td>
|
|
84
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_meter_classify}}</td>
|
|
85
|
+
<td style="text-align:center;white-space:nowrap;">{{row.c}}</td>
|
|
86
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_hand_date}}</td>
|
|
87
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_last_tablebase}}</td>
|
|
88
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_tablebase}}</td>
|
|
89
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_oughtamount}}</td>
|
|
90
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_oughtfee}}</td>
|
|
91
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_debt_money}}</td>
|
|
92
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_oughtfee_new}}</td>
|
|
93
|
+
<td style="text-align:center;white-space:nowrap;">{{row.overdue}}</td>
|
|
94
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_oughtfee_all}}</td>
|
|
95
|
+
</tr>
|
|
96
|
+
</template>
|
|
97
|
+
</data-grid>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
<div class="auto" style="margin-top: 1%;">
|
|
101
|
+
<div style="height: auto" class="select-overspread">
|
|
102
|
+
<div class="form-inline" style="height: auto">
|
|
103
|
+
<div class="form-group" v-for="btn in operBtns">
|
|
104
|
+
<button :id="btn.name" type="button" style="color:black" :class="[($index === 0) ? 'btn btn-click' : 'btn btn-un-click']" @click="business(btn)" >
|
|
105
|
+
<span style="color:black">{{btn.name}}</span>
|
|
106
|
+
</button>
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
<div v-show="chargeShow" style="height: auto" class="select-overspread">
|
|
110
|
+
<route v-ref:route></route>
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
</template>
|
|
115
|
+
|
|
116
|
+
<script>
|
|
117
|
+
import {HttpResetClass} from 'vue-client'
|
|
118
|
+
|
|
119
|
+
export default {
|
|
120
|
+
title: '批量欠费查询',
|
|
121
|
+
data () {
|
|
122
|
+
return {
|
|
123
|
+
owe: {rows: []},
|
|
124
|
+
model: {f_collection: 0},
|
|
125
|
+
civill: null,
|
|
126
|
+
chargeShow: false,
|
|
127
|
+
operBtns: [
|
|
128
|
+
{name: '团体缴费', value: {routeName: 'batch-charge'}},
|
|
129
|
+
{name: '余额退款', value: {routeName: 'group-refund'}},
|
|
130
|
+
{name: '制磁条卡', value: {routeName: 'show-citiao_card'}}
|
|
131
|
+
],
|
|
132
|
+
showchangeUserInformation: false,
|
|
133
|
+
showselectncuserinfo: false,
|
|
134
|
+
changeUserList: {
|
|
135
|
+
title: '',
|
|
136
|
+
oldInfoname: '',
|
|
137
|
+
oldInfoval: '',
|
|
138
|
+
newInfoname: '',
|
|
139
|
+
newInfoval: '',
|
|
140
|
+
fieldname: ''
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
props: ['searchdata', 'f_civill_id', 'row'],
|
|
145
|
+
ready () {
|
|
146
|
+
this.getsalerecord()
|
|
147
|
+
},
|
|
148
|
+
methods: {
|
|
149
|
+
changeUserInformation (val) {
|
|
150
|
+
if (val === '用户姓名') {
|
|
151
|
+
this.changeUserList = {
|
|
152
|
+
title: '修正客户姓名',
|
|
153
|
+
oldInfoname: '客户旧姓名',
|
|
154
|
+
oldInfoval: this.civill.f_user_name,
|
|
155
|
+
newInfoname: '客户新姓名',
|
|
156
|
+
newInfoval: '',
|
|
157
|
+
fieldname: 'f_user_name'
|
|
158
|
+
}
|
|
159
|
+
} else if (val === '详细地址'){
|
|
160
|
+
this.changeUserList = {
|
|
161
|
+
title: '修正客户地址',
|
|
162
|
+
oldInfoname: '客户旧地址',
|
|
163
|
+
oldInfoval: this.civill.f_address,
|
|
164
|
+
newInfoname: '客户新地址',
|
|
165
|
+
newInfoval: '',
|
|
166
|
+
fieldname: 'f_address'
|
|
167
|
+
}
|
|
168
|
+
} else if (val === '联系电话') {
|
|
169
|
+
this.changeUserList = {
|
|
170
|
+
title: '修正客户电话',
|
|
171
|
+
oldInfoname: '客户旧电话',
|
|
172
|
+
oldInfoval: this.civill.f_user_phone,
|
|
173
|
+
newInfoname: '客户新电话',
|
|
174
|
+
newInfoval: '',
|
|
175
|
+
fieldname: 'f_user_phone'
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
this.showselectncuserinfo = true
|
|
179
|
+
},
|
|
180
|
+
close () {
|
|
181
|
+
this.showselectncuserinfo = false
|
|
182
|
+
this.changeUserList = {
|
|
183
|
+
title: '',
|
|
184
|
+
oldInfoname: '',
|
|
185
|
+
oldInfoval: '',
|
|
186
|
+
newInfoname: '',
|
|
187
|
+
newInfoval: '',
|
|
188
|
+
fieldname: ''
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
async modifyUser () {
|
|
192
|
+
if (this.changeUserList.newInfoval === '') {
|
|
193
|
+
this.$showMessage('您还未填写需要修正的信息!')
|
|
194
|
+
return
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
let areamodel = {}
|
|
198
|
+
areamodel.id = this.f_civill_id
|
|
199
|
+
let key = this.changeUserList.fieldname
|
|
200
|
+
areamodel[key] = this.changeUserList.newInfoval
|
|
201
|
+
|
|
202
|
+
let param = {}
|
|
203
|
+
param.f_operator = this.$login.f.name
|
|
204
|
+
param.f_operatorid = this.$login.f.id
|
|
205
|
+
param.f_orgid = this.$login.f.orgid
|
|
206
|
+
param.f_filialeid = this.$login.f.orgid
|
|
207
|
+
param.f_orgname = this.$login.f.orgs
|
|
208
|
+
param.f_depid = this.$login.f.depids
|
|
209
|
+
param.f_depname = this.$login.f.deps
|
|
210
|
+
param.version = this.civill.version
|
|
211
|
+
param = Object.assign(param, areamodel)
|
|
212
|
+
await this.$resetpost('rs/logic/savencarchives', {param: param}, {resolveMsg: '保存成功', rejectMsg: '保存团缴用户失败!!!'})
|
|
213
|
+
this.civill[key] = this.changeUserList.newInfoval
|
|
214
|
+
this.showselectncuserinfo = false
|
|
215
|
+
this.close()
|
|
216
|
+
this.$dispatch('confirm')
|
|
217
|
+
},
|
|
218
|
+
async getsalerecord () {
|
|
219
|
+
let http = new HttpResetClass()
|
|
220
|
+
if (this.f_civill_id) {
|
|
221
|
+
this.condition = `p.f_civill_id = ${this.f_civill_id}`
|
|
222
|
+
} else {
|
|
223
|
+
let userfiles = Array.from(this.searchdata.keys())
|
|
224
|
+
this.condition = `p.f_userfiles_id in (${userfiles})`
|
|
225
|
+
}
|
|
226
|
+
let record = await http.load('POST', 'rs/logic/batchOwe', {data: {condition: this.condition, f_civill_id: this.f_civill_id}}, {rejectMsg: '欠费查询出错!!', resolveMsg: null})
|
|
227
|
+
this.owe.rows = record.data.owe
|
|
228
|
+
this.model = Object.assign(this.model, record.data.model)
|
|
229
|
+
this.civill = record.data.civill
|
|
230
|
+
this.business(this.operBtns[0])
|
|
231
|
+
},
|
|
232
|
+
business (btn) {
|
|
233
|
+
// 处理按钮样式
|
|
234
|
+
this.styleChange(btn.name)
|
|
235
|
+
this.chargeShow = true
|
|
236
|
+
this.$refs.route.init(btn.value.routeName, {row: this.row, data: this.model, owe: this.owe, civill: this.civill})
|
|
237
|
+
this.showchangeUserInformation = btn.name === '团体缴费'
|
|
238
|
+
},
|
|
239
|
+
styleChange (name) {
|
|
240
|
+
this.operBtns.forEach((res) => {
|
|
241
|
+
if (res.name === name) {
|
|
242
|
+
if (document.getElementById(res.name)) {
|
|
243
|
+
document.getElementById(res.name).style.backgroundColor = '#6aa6e2'
|
|
244
|
+
document.getElementById(res.name).style.color = 'white'
|
|
245
|
+
}
|
|
246
|
+
} else {
|
|
247
|
+
if (document.getElementById(res.name)) {
|
|
248
|
+
document.getElementById(res.name).style.backgroundColor = 'white'
|
|
249
|
+
document.getElementById(res.name).style.color = 'black'
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
})
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
watch: {
|
|
256
|
+
'searchdata' () {
|
|
257
|
+
this.getsalerecord()
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
</script>
|
|
@@ -75,6 +75,9 @@ let specialComp = {
|
|
|
75
75
|
'user-base-info-new': (resolve) => { require(['./components/common/userinfo_detail/UserBaseInfoNew'], resolve) },
|
|
76
76
|
|
|
77
77
|
// 团体缴费查询列表
|
|
78
|
-
'charge-group-list': (resolve) => { require(['./chargeBatch/ChargeGroupList'], resolve) }
|
|
78
|
+
'charge-group-list': (resolve) => { require(['./chargeBatch/ChargeGroupList'], resolve) },
|
|
79
|
+
|
|
80
|
+
// 选中用户的欠费信息
|
|
81
|
+
'owe-record-query': (resolve) => { require(['./chargeBatch/OweRecordQuery'], resolve) }
|
|
79
82
|
}
|
|
80
83
|
exports.specialComp = specialComp
|
|
@@ -81,14 +81,14 @@
|
|
|
81
81
|
resolveMsg: null
|
|
82
82
|
})
|
|
83
83
|
this.model.rows = record.data
|
|
84
|
-
if(this.model.rows.length>0 && ( this.model.rows[0].type== '发卡售气' || this.model.rows[0].type== '卡表收费' ) ){
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
84
|
+
// if(this.model.rows.length>0 && ( this.model.rows[0].type== '发卡售气' || this.model.rows[0].type== '卡表收费' ) ){
|
|
85
|
+
// let checkdata = this.model.rows[0].operate_date.substr(0,10)
|
|
86
|
+
// let nowdate = new Date();
|
|
87
|
+
// let pdate = nowdate.getFullYear()+'-'+(nowdate.getMonth()<10? '0'+nowdate.getMonth()+1 : nowdate.getMonth()+1) +'-'+(nowdate.getDate()<10? '0'+nowdate.getDate() : nowdate.getDate());
|
|
88
|
+
// if(new Date(checkdata).getTime() == new Date(pdate).getTime()){
|
|
89
|
+
// this.cardCental = true;
|
|
90
|
+
// }
|
|
91
|
+
// }
|
|
92
92
|
}
|
|
93
93
|
},
|
|
94
94
|
watch: {
|
|
@@ -0,0 +1,551 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div @keyup.enter="search">
|
|
3
|
+
<partial-view v-ref:pv>
|
|
4
|
+
<criteria-paged :model="model" :pager="false" v-ref:paged>
|
|
5
|
+
<criteria @condition-changed='$parent.$parent.selfSearch' partial='criteria' v-ref:cri>
|
|
6
|
+
<div class="form-horizontal" novalidate partial>
|
|
7
|
+
<div class="row">
|
|
8
|
+
<div class="form-group col-sm-4">
|
|
9
|
+
<!-- <label>用户编号:</label> -->
|
|
10
|
+
<input class="input_search" condition="f_userinfo_code = '{}'" placeholder='客户编号' style="width: 80%"
|
|
11
|
+
type="text"
|
|
12
|
+
v-model="model.f_userinfo_code">
|
|
13
|
+
</div>
|
|
14
|
+
<div class="form-group col-sm-4" style="flex: 1;width: max-content">
|
|
15
|
+
<!-- <label>操作类型:</label> -->
|
|
16
|
+
<v-select :options='$parent.$parent.$parent.operationtypes'
|
|
17
|
+
|
|
18
|
+
:value.sync="model.f_operat_type"
|
|
19
|
+
:width="'100%'"
|
|
20
|
+
close-on-select
|
|
21
|
+
condition="f_operat_type = '{}'"
|
|
22
|
+
id="f_paytype"
|
|
23
|
+
placeholder='操作类型'
|
|
24
|
+
style="width: 100%"
|
|
25
|
+
v-model="model.f_operat_type"></v-select>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="form-group col-sm-2 button-range" style="padding-right: 10px">
|
|
28
|
+
<button @click="search()" class="button_search">查询</button>
|
|
29
|
+
<div
|
|
30
|
+
:class="{'button_shrink_top':$parent.$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.$parent.criteriaShow}"
|
|
31
|
+
@click="$parent.$parent.$parent.criteriaShow=!$parent.$parent.$parent.criteriaShow" class="button_spacing" style="float: right"></div>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="form-group col-sm-5" v-show="$parent.$parent.$parent.criteriaShow">
|
|
34
|
+
<!-- <label>用户编号:</label> -->
|
|
35
|
+
<input class="input_search" condition="r.f_operator like '%{}%'" placeholder='操作员' style="width: 80%"
|
|
36
|
+
type="text"
|
|
37
|
+
v-model="model.f_operator">
|
|
38
|
+
</div>
|
|
39
|
+
<div class="form-group col-sm-7" v-show="$parent.$parent.$parent.criteriaShow">
|
|
40
|
+
<!-- <label>开始时间:</label> -->
|
|
41
|
+
<datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
|
|
42
|
+
class="datepicker"
|
|
43
|
+
condition="r.f_operate_date >= '{} 00:00:00' "
|
|
44
|
+
placeholder="开始时间"
|
|
45
|
+
style="width:60%"
|
|
46
|
+
v-model="model.f_start_date"
|
|
47
|
+
></datepicker>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="form-group col-sm-7" v-show="$parent.$parent.$parent.criteriaShow">
|
|
50
|
+
<!-- <label>结束时间:</label> -->
|
|
51
|
+
<datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date"
|
|
52
|
+
class="datepicker"
|
|
53
|
+
condition="r.f_operate_date <= '{} 00:00:00' "
|
|
54
|
+
placeholder="结束时间"
|
|
55
|
+
style="width:60%"
|
|
56
|
+
v-model="model.f_end_date"
|
|
57
|
+
></datepicker>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
<!-- <partial name="cardcriteria"></partial> -->
|
|
61
|
+
<!-- <div class="form-group">
|
|
62
|
+
<partial name="cardcriteria"></partial>
|
|
63
|
+
</div> -->
|
|
64
|
+
</div>
|
|
65
|
+
</criteria>
|
|
66
|
+
<div partial="list" style="overflow-y: scroll;height: 90%">
|
|
67
|
+
<accordion :one-at-atime="true" type="info" >
|
|
68
|
+
<panel :is-click="false" :is-open="true" type="info" v-for="row in model.rows" >
|
|
69
|
+
<span @click="$parent.$parent.$parent.selected(row)" class="panel-title row" slot="header"
|
|
70
|
+
style="cursor: pointer;">
|
|
71
|
+
<div class="col-sm-11">
|
|
72
|
+
<!-- <div class="row" v-if="row.f_state==='冲正' " style="color: red">-->
|
|
73
|
+
<!-- <strong :title="row.f_userinfo_code" class="col-sm-4" show-overflow-tooltip="true">{{row.f_userinfo_code.length>9?''+row.f_userinfo_code.substring(0,9)+'...':row.f_userinfo_code}}</strong>-->
|
|
74
|
+
<!-- <span class="col-sm-4">{{$parent.$parent.$parent.dateDes(row.f_operate_date)}}</span>-->
|
|
75
|
+
<!-- <span class="col-sm-4">{{row.type}}</span>-->
|
|
76
|
+
<!-- </div>-->
|
|
77
|
+
<div class="row">
|
|
78
|
+
<strong :title="row.f_userinfo_code" class="col-sm-4" show-overflow-tooltip="true">{{row.f_userinfo_code.length>9?''+row.f_userinfo_code.substring(0,9)+'...':row.f_userinfo_code}}</strong>
|
|
79
|
+
<span class="col-sm-4">{{$parent.$parent.$parent.dateDes(row.f_operate_date)}}</span>
|
|
80
|
+
<span class="col-sm-4">{{row.type}}</span>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
<div class="col-sm-1" v-if="$parent.$parent.$parent.isOperate" title="涉及权限:冲正权限">
|
|
84
|
+
<dropdown class="auto"
|
|
85
|
+
v-if="(row.type ==='机表收费撤销' || row.type ==='卡表收费撤销' || row.type ==='物联网收费撤销' || row.type ==='其他收费撤销'
|
|
86
|
+
|| row.type ==='气损收费撤销' || row.type ==='预存缴费' || row.type === '补卡' || row.type === '物联网收费' ||
|
|
87
|
+
row.type === '用户退费' || row.type === '机表收费' || row.type === '数码表收费' ||
|
|
88
|
+
row.type === '卡表收费' || row.type === '超用收费' || row.type === '发卡售气' || row.type === '其他收费' ||
|
|
89
|
+
row.type === '换表' || row.state === 1 || row.type==='调价补费' || row.type==='卡表赠气' ||
|
|
90
|
+
row.type==='物联网赠气'|| row.type==='物联网赠费'|| row.type==='卡表赠费'|| row.type==='卡表赠气'||
|
|
91
|
+
row.type==='卡表收费撤销'||row.type==='物联网补费' || row.type==='物联网扣费'||row.type==='机表补费'||
|
|
92
|
+
row.type==='机表扣费'||row.type==='物联网补气'||row.type==='物联网扣气'||row.type==='气损收费' ||
|
|
93
|
+
row.type === '气表清零' || row.type === '掉气补气' || row.type === '其他补气' || row.type === '清零补气' ||
|
|
94
|
+
row.type === '换表补气' || row.type === '过户') && row.type!=='新增户档案' && row.type!=='转气转出' && row.type!=='转气转入'">
|
|
95
|
+
<button data-toggle="dropdown" style="border: 0px;background: none;" type="button"
|
|
96
|
+
v-if="row.f_user_state==='正常'||row.f_user_state==='预备'||row.type==='气损收费' ">
|
|
97
|
+
<span class="glyphicon glyphicon-th-list"></span>
|
|
98
|
+
</button>
|
|
99
|
+
<ul class="dropdown-menu dropdown-menu-right" slot="dropdown-menu" style=" min-width: 60px;" v-if="row.f_user_state==='正常'||row.f_user_state==='预备'||row.type==='气损收费' ">
|
|
100
|
+
<!-- <li-->
|
|
101
|
+
<!-- v-if="row.type === '换新表' || row.type === '气表清零' || row.type === '掉气补气' || row.type === '其他补气' || row.type === '清零补气' || row.type === '换表补气'-->
|
|
102
|
+
<!-- || row.type === '补卡' || row.type === '物联网开户' || row.type === '物联网收费' || row.type === '用户退费' || row.type === '机表收费' || row.type === '数码表收费' || row.type === '卡表收费' || row.type === '超用收费' || row.type === '发卡售气' || row.type === '其他收费' || row.type === '换表' || row.type === '过户'|| row.type==='预存缴费'|| row.type==='退费'|| row.type==='调价补费' ||row.type==='卡表收费撤销'||row.type==='物联网补费' || row.type==='物联网扣费'||row.type==='机表补费'||row.type==='机表扣费'||row.type==='物联网补气'||row.type==='物联网扣气'||row.type==='气损收费' ">-->
|
|
103
|
+
<!-- <a @click.stop="$parent.$parent.$parent.operate('票据补打', row)" href="#">票据补打</a>-->
|
|
104
|
+
<!-- </li>-->
|
|
105
|
+
<!-- <li-->
|
|
106
|
+
<!-- v-if="row.state === 1 && (row.type === '其他收费欠费登记' || row.type === '迁表' || row.type === '调价预存' || row.type === '拆表' || row.type === '物联网开户' || row.type === '物联网收费'|| row.type === '卡表收费' || row.type === '其他收费'|| row.type === '气费减免'||row.type === '维修收费' || row.type === '过户' || row.type === '换新表' || row.type === '气表清零' || row.type === '机表收费' || row.type === '超用收费' || row.type === '其他收费' || row.type === '补卡'|| row.type === '调价补费'|| row.type=='预存缴费' || row.type==='卡表赠气'|| row.type==='物联网赠费'|| row.type==='卡表赠费'|| row.type==='物联网赠气')">-->
|
|
107
|
+
<!-- <a @click.stop="$parent.$parent.$parent.operate('撤销', row)" href="#">撤销</a>-->
|
|
108
|
+
<!-- </li>-->
|
|
109
|
+
<li>
|
|
110
|
+
<a @click.stop="$parent.$parent.$parent.operate('票据补打', row)" href="#">票据补打</a>
|
|
111
|
+
</li>
|
|
112
|
+
<li>
|
|
113
|
+
<a @click.stop="$parent.$parent.$parent.operate('撤销', row)" href="#">撤销</a>
|
|
114
|
+
</li>
|
|
115
|
+
</ul>
|
|
116
|
+
</dropdown>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
</span>
|
|
120
|
+
<div class="panel-body" v-if="$parent.$parent.$parent.isSelected(row)">
|
|
121
|
+
<salecardgas-detail :data="row" v-if="row.type === '发卡售气'"></salecardgas-detail>
|
|
122
|
+
<movemeter-detail :data="row" v-if="row.type === '迁表'"></movemeter-detail>
|
|
123
|
+
<salecardgas-detail :data="row" v-if="row.type === '换表发卡'"></salecardgas-detail>
|
|
124
|
+
<cardmetercenter-detail :data="row" v-if="row.type === '卡表收费'||row.type === '数码表收费' "></cardmetercenter-detail>
|
|
125
|
+
<movegas-detail :data="row" v-if="row.type === '转气转出'"></movegas-detail>
|
|
126
|
+
<movegas-detail :data="row" v-if="row.type === '转气转入'"></movegas-detail>
|
|
127
|
+
<machinemetercenter-detail :data="row" v-if="row.type === '机表收费'"></machinemetercenter-detail>
|
|
128
|
+
<autoaccounts-detail :data="row" v-if="row.type === '自动下账'"></autoaccounts-detail>
|
|
129
|
+
<bankdk-detail :data="row" v-if="row.type === '银行代扣'"></bankdk-detail>
|
|
130
|
+
<bank-pay :data="row" v-if="row.type === '银行支付'"></bank-pay>
|
|
131
|
+
<wechat-pay :data="row" v-if="row.type === '微信支付'"></wechat-pay>
|
|
132
|
+
<disablemanage-detail :data="row" v-if="row.type === '停用'"></disablemanage-detail>
|
|
133
|
+
<enablemanage-detail :data="row" v-if="row.type === '启用'"></enablemanage-detail>
|
|
134
|
+
<replacecardmanage-detail :data="row" v-if="row.type === '补卡'"></replacecardmanage-detail>
|
|
135
|
+
<machinecard-detail :data="row" v-if="row.type === '机表补卡'"></machinecard-detail>
|
|
136
|
+
<transfermanage-detail :data="row" v-if="row.type === '过户'"></transfermanage-detail>
|
|
137
|
+
<othercharge-detail :data="row" v-if="row.type === '其他收费欠费登记'||row.type === '其他收费'||row.type === '维修收费'"></othercharge-detail>
|
|
138
|
+
<inputtorchange-detail :data="row" v-if="row.type === '抄表员变更'"></inputtorchange-detail>
|
|
139
|
+
<offgasaddgas-detail :data="row" v-if=" row.type === '换表补气' ||row.type === '其他补气' || row.type === '清零补气' || row.type === '掉气补气'||row.type==='物联网补费'||row.type==='物联网扣费'||row.type==='机表补费'||row.type==='机表扣费'||row.type==='物联网补气'||row.type==='物联网扣气' " ></offgasaddgas-detail>
|
|
140
|
+
<iotopen-detail :data="row" v-if="row.type === '开通'"></iotopen-detail>
|
|
141
|
+
<iotmetercenter-detail :data="row" v-if="row.type === '物联网收费' || row.type === '物联网开户' || row.type === '调价退费' || row.type === '调价补费'||row.type === '退押金' "></iotmetercenter-detail>
|
|
142
|
+
<overuserchange-detail :data="row" v-if="row.type === '超用收费'"></overuserchange-detail>
|
|
143
|
+
<adduser-detail :data="row" v-if="row.type === '新增户档案'"></adduser-detail>
|
|
144
|
+
<gaspricechange-detail :data="row" v-if="row.type === '气价变更'"></gaspricechange-detail>
|
|
145
|
+
<userchange-detail :data="row" v-if="row.type === '档案变更'"></userchange-detail>
|
|
146
|
+
<changemeter-detail :data="row" v-if="row.type === '换新表' || row.type === '气表清零'"></changemeter-detail>
|
|
147
|
+
<changeflowmeter-detail :data="row" v-if="row.type === '换卡控流量计'"></changeflowmeter-detail>
|
|
148
|
+
<cardoveruser-detail :data="row" v-if="row.type === '卡表超用'||row.type === '超用'"></cardoveruser-detail>
|
|
149
|
+
<cancellation-detail :data="row" v-if="row.type === '销户'"></cancellation-detail>
|
|
150
|
+
<refund-detail :data="row" v-if="row.type === '退费' || row.type == '卡表退费'"></refund-detail>
|
|
151
|
+
|
|
152
|
+
<change-meter-cancel :data="row" v-if="row.type === '换表撤销'"></change-meter-cancel>
|
|
153
|
+
<autoaccounts-cancel-detail :data="row" v-if="row.type === '自动下账撤销'"></autoaccounts-cancel-detail>
|
|
154
|
+
<transfermanage-cancel-detail :data="row" v-if="row.type === '过户撤销'"></transfermanage-cancel-detail>
|
|
155
|
+
<cardmetercenter-cancel-detail :data="row" v-if="row.type === '卡表收费撤销'"></cardmetercenter-cancel-detail>
|
|
156
|
+
<machinemetercenter-cancel-detail :data="row" v-if="row.type === '机表收费撤销'"></machinemetercenter-cancel-detail>
|
|
157
|
+
<machinemetercenter-cancel-detail :data="row" v-if="row.type == '预存缴费撤销'"></machinemetercenter-cancel-detail>
|
|
158
|
+
<othercharge-cancel-detail :data="row" v-if="row.type === '其他收费撤销'"></othercharge-cancel-detail>
|
|
159
|
+
<replacecardmanage-cancel-detail :data="row" v-if="row.type === '补卡撤销'"></replacecardmanage-cancel-detail>
|
|
160
|
+
<iotmetercenter-cancel-detail :data="row" v-if="row.type === '物联网收费撤销'"></iotmetercenter-cancel-detail>
|
|
161
|
+
<feededuction-detail :data="row" v-if="row.type === '补费' ||row.type === '扣费' ||row.type === '补气' ||row.type === '扣气' "></feededuction-detail>
|
|
162
|
+
<with-gas :data="row" v-if="row.type==='物联网赠气' || row.type==='物联网赠费'||row.type==='卡表赠气'||row.type==='卡表赠费'"></with-gas>
|
|
163
|
+
<replace-card-manageDetail :data="row" v-if=" row.type==='物联网补费'||row.type==='物联网扣费'||row.type==='机表补费'||row.type==='机表扣费'||row.type==='物联网补气'||row.type==='物联网扣气' "></replace-card-manageDetail>
|
|
164
|
+
<blacklist-detail :data="row" v-if="row.type ==='拉黑' ||row.type === '取消拉黑' "></blacklist-detail>
|
|
165
|
+
<advance-delivery-detail :data="row" v-if="row.type ==='卡表预交' "></advance-delivery-detail>
|
|
166
|
+
<machinemetercenter-detail :data="row" v-if="row.type === '预存缴费'||row.type == '调价预存'"></machinemetercenter-detail>
|
|
167
|
+
<gasloss-detail :data="row" v-if="row.type === '气损收费' || row.type === '气损收费撤销'"></gasloss-detail>
|
|
168
|
+
<garbage-detail :data="row" v-if="row.type === '垃圾费收费'"></garbage-detail>
|
|
169
|
+
</div>
|
|
170
|
+
<div style="margin-top: 8px;background: #FFF;" v-if="!$parent.$parent.$parent.isSelected(row)">
|
|
171
|
+
<span>{{row.f_describe}}</span>
|
|
172
|
+
</div>
|
|
173
|
+
</panel>
|
|
174
|
+
</accordion>
|
|
175
|
+
</div>
|
|
176
|
+
|
|
177
|
+
</criteria-paged>
|
|
178
|
+
</partial-view>
|
|
179
|
+
<record-cancel :data="cancel_data" :show.sync="cancel_show" @cancel="cancelOper()" @cancel-success="cancelSucc()" v-if="cancel_show"></record-cancel>
|
|
180
|
+
<reissue-bill :data="reissue_data" :show.sync="reissue_show" @cancel="reissueOper()" @reissue-success="reissueSucc()" v-if="reissue_show"></reissue-bill>
|
|
181
|
+
</div>
|
|
182
|
+
</template>
|
|
183
|
+
<script>
|
|
184
|
+
/**
|
|
185
|
+
*操作记录信息
|
|
186
|
+
*/
|
|
187
|
+
import {PagedList} from 'vue-client'
|
|
188
|
+
import co from 'co'
|
|
189
|
+
|
|
190
|
+
let cancelGen = function *(self, data) {
|
|
191
|
+
let msgRet = yield self.$showMessage('撤销后数据不可恢复,确认撤销录入吗?', ['confirm', 'cancel'])
|
|
192
|
+
if (msgRet === 'cancel') return
|
|
193
|
+
// 撤销操作完成,刷新界面
|
|
194
|
+
self.search()
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* 发票补打
|
|
199
|
+
*/
|
|
200
|
+
let reprintGen = function *(self, row) {
|
|
201
|
+
try {
|
|
202
|
+
row.billUrl = self.getBillUrl(row)
|
|
203
|
+
if (!row.billUrl) {
|
|
204
|
+
self.$showMessage('当前操作类型暂时没有票据')
|
|
205
|
+
return
|
|
206
|
+
}
|
|
207
|
+
row.f_bill_type = row.type
|
|
208
|
+
row.f_bill_style = '普通收据'
|
|
209
|
+
row.f_operator = self.$login.f.name
|
|
210
|
+
row.f_operatorid = self.$login.f.id
|
|
211
|
+
row.f_orgid = self.$login.f.orgid
|
|
212
|
+
row.f_orgname = self.$login.f.orgs
|
|
213
|
+
row.f_depid = self.$login.f.depids
|
|
214
|
+
row.f_depname = self.$login.f.deps
|
|
215
|
+
self.reissue_data = row
|
|
216
|
+
self.reissue_show = true
|
|
217
|
+
} catch (error) {
|
|
218
|
+
if (error.status) {
|
|
219
|
+
self.$warn(`加载数据出错, ${JSON.stringify(error)}`, 'CardList')
|
|
220
|
+
}
|
|
221
|
+
throw error
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
let asyncCardList = async function (self) {
|
|
225
|
+
await self.$getConfig(self, 'CardList')
|
|
226
|
+
console.log('操作汇总config', self.config)
|
|
227
|
+
}
|
|
228
|
+
export default {
|
|
229
|
+
title: '操作汇总',
|
|
230
|
+
data () {
|
|
231
|
+
return {
|
|
232
|
+
config: {
|
|
233
|
+
cancleother: false, // 默认可以撤销别人的操作
|
|
234
|
+
cancletime: true // 默认可以冲正今天以前的操作
|
|
235
|
+
},
|
|
236
|
+
model: new PagedList(`${this.sqlurl}`, 9999,
|
|
237
|
+
{
|
|
238
|
+
items: '"' + this.items + '"',
|
|
239
|
+
tablename: '"' + this.tablename + '"',
|
|
240
|
+
orderitem: '"' + this.orderitem + '"'
|
|
241
|
+
}),
|
|
242
|
+
show: false,
|
|
243
|
+
asideTitle: '用户操作',
|
|
244
|
+
row: Object,
|
|
245
|
+
comp: null,
|
|
246
|
+
operationtypes: this.$appdata.getParam('操作类型') ? [{
|
|
247
|
+
label: '全部',
|
|
248
|
+
value: ''
|
|
249
|
+
}, ...this.$appdata.getParam('操作类型')] : [],
|
|
250
|
+
|
|
251
|
+
cancel_show: false,
|
|
252
|
+
cancel_data: null,
|
|
253
|
+
criteriaShow: false,
|
|
254
|
+
reissue_show: false,
|
|
255
|
+
reissue_data: null,
|
|
256
|
+
authArr: this.$login.r ? this.$login.r : []
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
props: {
|
|
260
|
+
sqlurl: {
|
|
261
|
+
type: String,
|
|
262
|
+
default: 'rs/sql/getRecord'
|
|
263
|
+
},
|
|
264
|
+
items: {
|
|
265
|
+
type: String,
|
|
266
|
+
default: '*'
|
|
267
|
+
},
|
|
268
|
+
tablename: {
|
|
269
|
+
type: String,
|
|
270
|
+
default: 't_record'
|
|
271
|
+
},
|
|
272
|
+
orderitem: {
|
|
273
|
+
type: String,
|
|
274
|
+
default: 'f_operate_date desc'
|
|
275
|
+
},
|
|
276
|
+
btns: {
|
|
277
|
+
type: Array
|
|
278
|
+
},
|
|
279
|
+
operationtype: {
|
|
280
|
+
type: String,
|
|
281
|
+
default: ''
|
|
282
|
+
},
|
|
283
|
+
userinfoid: {},
|
|
284
|
+
isOperate: {
|
|
285
|
+
type: Boolean,
|
|
286
|
+
default: true
|
|
287
|
+
},
|
|
288
|
+
f_orgid: ''
|
|
289
|
+
},
|
|
290
|
+
ready () {
|
|
291
|
+
this.$refs.paged.$refs.cri.model.f_operat_type = [this.operationtype]
|
|
292
|
+
asyncCardList(this)
|
|
293
|
+
// this.search()
|
|
294
|
+
},
|
|
295
|
+
methods: {
|
|
296
|
+
dateDes (date) {
|
|
297
|
+
return this.$login.dateDescripte(date)
|
|
298
|
+
},
|
|
299
|
+
selected (row) {
|
|
300
|
+
if (this.row === row) {
|
|
301
|
+
this.row = null
|
|
302
|
+
} else {
|
|
303
|
+
this.row = row
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
isSelected (row) {
|
|
307
|
+
return this.row === row
|
|
308
|
+
},
|
|
309
|
+
search () {
|
|
310
|
+
let condition = '1=1'
|
|
311
|
+
if (this.f_orgid) {
|
|
312
|
+
condition += `and (u.f_filialeid in ${this.f_orgid} or g.f_orgid in ${this.f_orgid}) `
|
|
313
|
+
} else {
|
|
314
|
+
condition += `and (u.f_filialeid = '${this.$login.f.orgid}' or g.f_orgid ='${this.$login.f.orgid}')`
|
|
315
|
+
}
|
|
316
|
+
this.$refs.pv.load(this.sqlurl, {data: {condition: condition}}).then((a) => {
|
|
317
|
+
if (a.data.length === 0) {
|
|
318
|
+
this.model.rows = []
|
|
319
|
+
this.model.state = '错误'
|
|
320
|
+
this.model.error = '没有符合条件的记录'
|
|
321
|
+
return
|
|
322
|
+
}
|
|
323
|
+
this.model.state = '正确'
|
|
324
|
+
this.model.rows = a.data
|
|
325
|
+
})
|
|
326
|
+
},
|
|
327
|
+
disEvent (btn) {
|
|
328
|
+
this.$dispatch(`${btn.eventName}`)
|
|
329
|
+
},
|
|
330
|
+
async operate (title, row) {
|
|
331
|
+
console.log('撤销的这条数据的信息', row)
|
|
332
|
+
if (title === '撤销') {
|
|
333
|
+
// 验证是否能撤销
|
|
334
|
+
let res = await this.$resetpost('rs/logic/recordRepealJudge', {data: row}, {
|
|
335
|
+
resolveMsg: null,
|
|
336
|
+
rejectMsg: '验证权限错误!!'
|
|
337
|
+
})
|
|
338
|
+
if (!res.data.pass) {
|
|
339
|
+
this.$showMessage(res.data.msg)
|
|
340
|
+
return
|
|
341
|
+
}
|
|
342
|
+
if (row.type === '卡表收费') {
|
|
343
|
+
if (!this.authArr.includes('无卡收费撤销权限')) {
|
|
344
|
+
this.$showAlert('当前用户没有【无卡收费撤销权限】,请联系管理员获取此权限后再进行该操作!', 'warning', 3000)
|
|
345
|
+
return
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
if (row.type === '物联网收费' || row.type === '卡表赠气' || row.type === '物联网赠费' || row.type === '卡表赠费' || row.type === '物联网赠气') {
|
|
349
|
+
let getWebHand = await this.$SqlService.singleTable('t_handplan', `f_hand_state = '有效' and f_input_date > '${row.f_operate_date}' and f_userfiles_id = '${row.f_userfiles_id}'`)
|
|
350
|
+
console.log('长度', getWebHand)
|
|
351
|
+
if (getWebHand.data.length > 0) {
|
|
352
|
+
this.$showAlert('此次物联网收费之后有结算,不能撤销此纪录', 'warning', 1500)
|
|
353
|
+
return
|
|
354
|
+
}
|
|
355
|
+
} else if (row.type === '机表收费') {
|
|
356
|
+
let getWebHand = await this.$SqlService.singleTable('t_handplan', `f_hand_state = '有效' and f_input_date > '${row.f_operate_date}' and f_whether_pay = '是' and f_userfiles_id = '${row.f_userfiles_id}'`)
|
|
357
|
+
|
|
358
|
+
console.log('长度', getWebHand)
|
|
359
|
+
if (getWebHand.data.length > 0) {
|
|
360
|
+
this.$showAlert('此次机表收费之后有自动下账,不能撤销此纪录', 'warning', 1500)
|
|
361
|
+
return
|
|
362
|
+
}
|
|
363
|
+
let sql = `select th.*from t_handplan th
|
|
364
|
+
left join t_sellinghand tsh on th.id=tsh.f_hand_id
|
|
365
|
+
where th.f_hand_state = '有效' and th.f_input_date > '${row.f_operate_date}' and tsh.f_debt_money>0
|
|
366
|
+
and th.f_userfiles_id = '${row.f_userfiles_id}' and tsh.f_state='有效'`
|
|
367
|
+
let getwate = await this.$resetpost('rs/logic/sqlquery', {data: {sql: sql}}, {
|
|
368
|
+
resolveMsg: null,
|
|
369
|
+
rejectMsg: '获取记录详情出错!!'
|
|
370
|
+
})
|
|
371
|
+
if (getwate.data.length > 0) {
|
|
372
|
+
this.$showAlert('此次机表收费之后有自动下账,不能撤销此纪录', 'warning', 1500)
|
|
373
|
+
return
|
|
374
|
+
}
|
|
375
|
+
} else {
|
|
376
|
+
if (this.authArr.includes('冲正权限')) {
|
|
377
|
+
if (this.config.cancleother) {
|
|
378
|
+
if (row.f_operator != this.$login.f.name) {
|
|
379
|
+
this.$showAlert('不能撤销不是自己进行的操作', 'warning', 1500)
|
|
380
|
+
return
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
if (this.config.cancletime) {
|
|
384
|
+
let a = this.$login.toStandardYearMonth()
|
|
385
|
+
console.log('当前时间', a < row.f_operate_date)
|
|
386
|
+
if (!this.authArr.includes('跨月撤销')) {
|
|
387
|
+
if (row.f_operate_date < a) {
|
|
388
|
+
this.$showAlert('不能撤销非本月的记录,请联系管理员获取【跨月撤销】的权限。', 'warning', 1500)
|
|
389
|
+
return
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
} else {
|
|
394
|
+
this.$showAlert('当前用户没有【冲正权限】', 'warning', 1500)
|
|
395
|
+
return
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
if (title === '撤销') {
|
|
401
|
+
this.cancel_show = true
|
|
402
|
+
this.cancel_data = row
|
|
403
|
+
} else {
|
|
404
|
+
let reprint = reprintGen(this, row)
|
|
405
|
+
return co(reprint)
|
|
406
|
+
}
|
|
407
|
+
},
|
|
408
|
+
cancelOper () {
|
|
409
|
+
this.cancel_data = null
|
|
410
|
+
this.cancel_show = false
|
|
411
|
+
},
|
|
412
|
+
cancelSucc () {
|
|
413
|
+
console.log('-----------------------------撤销成功了,隐藏掉')
|
|
414
|
+
this.cancel_show = false
|
|
415
|
+
this.$dispatch('refresh')
|
|
416
|
+
},
|
|
417
|
+
reissueOper () {
|
|
418
|
+
this.reissue_data = null
|
|
419
|
+
this.reissue_show = false
|
|
420
|
+
},
|
|
421
|
+
reissueSucc () {
|
|
422
|
+
this.reissue_show = false
|
|
423
|
+
this.$dispatch('refresh')
|
|
424
|
+
},
|
|
425
|
+
|
|
426
|
+
getBillUrl (row) {
|
|
427
|
+
let type = row.type
|
|
428
|
+
let name = ''
|
|
429
|
+
// 根据type数据 选择调用的Logic
|
|
430
|
+
if (type === '过户') {
|
|
431
|
+
name = 'rs/report/transfer_bill'
|
|
432
|
+
} else if (type === '换新表' || type === '气表清零') {
|
|
433
|
+
name = 'rs/report/change_meter'
|
|
434
|
+
} else if (type === '机表收费' || type === '机表收费撤销') {
|
|
435
|
+
if (row.f_user_type === '非民用' && this.$login.r.includes('非民用纸质票据拆分')) {
|
|
436
|
+
name = 'rs/report/fmy_machine_bill'
|
|
437
|
+
} else {
|
|
438
|
+
name = 'rs/report/machine_bill'
|
|
439
|
+
}
|
|
440
|
+
} else if (type === '物联网收费' || type === '物联网收费撤销' || type === '物联网开户' || type === '物联网赠气') {
|
|
441
|
+
if (row.f_user_type === '非民用' && this.$login.r.includes('非民用纸质票据拆分')) {
|
|
442
|
+
name = 'rs/report/fmy_iot_bill'
|
|
443
|
+
} else {
|
|
444
|
+
name = 'rs/report/iot_bill'
|
|
445
|
+
}
|
|
446
|
+
} else if (type === '物联网补费' || type === '物联网扣费' || type === '物联网补气' || type === '物联网扣气' || type === '机表补费' || type === '机表扣费') {
|
|
447
|
+
name = 'rs/report/MakeUp'
|
|
448
|
+
} else if (type === '超用收费') {
|
|
449
|
+
name = 'rs/report/overuse_bill'
|
|
450
|
+
} else if (type === '其他收费' || type === '其他收费撤销') {
|
|
451
|
+
name = 'rs/report/otherCharge_bill'
|
|
452
|
+
} else if (type === '补卡') {
|
|
453
|
+
name = 'rs/report/replace_sell'
|
|
454
|
+
} else if (type === '发卡售气') {
|
|
455
|
+
if (row.f_user_type === '非民用' && this.$login.r.includes('非民用纸质票据拆分')) {
|
|
456
|
+
name = 'rs/report/fmy_sendCard_bill'
|
|
457
|
+
} else {
|
|
458
|
+
name = 'rs/report/sendCard_bill'
|
|
459
|
+
}
|
|
460
|
+
} else if (type === '卡表收费' || type === '卡表收费撤销' || type === '卡表赠气' || type === '卡表收费撤销') {
|
|
461
|
+
if (row.f_user_type === '非民用' && this.$login.r.includes('非民用纸质票据拆分')) {
|
|
462
|
+
name = 'rs/report/fmy_card_bill'
|
|
463
|
+
} else {
|
|
464
|
+
name = 'rs/report/card_bill'
|
|
465
|
+
}
|
|
466
|
+
} else if (type === '预存缴费') {
|
|
467
|
+
name = 'rs/report/pre_sell'
|
|
468
|
+
} else if (type === '退费') {
|
|
469
|
+
name = 'rs/report/refund_sell'
|
|
470
|
+
} else if (type === '调价补费') {
|
|
471
|
+
name = 'rs/report/compensation_bill'
|
|
472
|
+
} else if (type === '数码表收费') {
|
|
473
|
+
name = 'rs/report/digtial_bill'
|
|
474
|
+
} else if (type === '气损收费' || type === '气损收费撤销') {
|
|
475
|
+
name = 'rs/report/gasloss_bill'
|
|
476
|
+
} else if (type === '掉气补气') {
|
|
477
|
+
name = 'rs/report/acceptOffGasAddGas_bill'
|
|
478
|
+
} else if (type === '其他补气') {
|
|
479
|
+
name = 'rs/report/acceptOtherGas_bill'
|
|
480
|
+
} else if (type === '清零补气' || type === '换表补气') {
|
|
481
|
+
if (row.f_meter_classify.indexOf('卡表') > -1) {
|
|
482
|
+
name = 'rs/report/card_gas_bill'
|
|
483
|
+
} else {
|
|
484
|
+
name = 'rs/report/iot_sell'
|
|
485
|
+
}
|
|
486
|
+
} else if (type === '垃圾费收费') {
|
|
487
|
+
name = 'rs/report/garbageChargeReport'
|
|
488
|
+
}
|
|
489
|
+
return name
|
|
490
|
+
},
|
|
491
|
+
// 撤销为统一操作,所以写到基础组件中
|
|
492
|
+
operateCancel (row) {
|
|
493
|
+
let cancel = cancelGen(this, row)
|
|
494
|
+
co(cancel)
|
|
495
|
+
},
|
|
496
|
+
selfSearch (args) {
|
|
497
|
+
// if (!this.$login.f.parent.parent.name.includes('统一资源管理')) {
|
|
498
|
+
// args.condition += `and f_filialeids = '${this.$login.f.f_orgids}'`
|
|
499
|
+
// }
|
|
500
|
+
if (this.f_orgid) {
|
|
501
|
+
args.condition += `and r.f_orgid in ${this.f_orgid}`
|
|
502
|
+
} else {
|
|
503
|
+
args.condition += `and r.f_orgid = '${this.$login.f.orgid}'`
|
|
504
|
+
}
|
|
505
|
+
if (this.authArr.includes('操作记录查询限定')) {
|
|
506
|
+
args.condition += ` and r.f_operatorid = '${this.$login.f.id}'`
|
|
507
|
+
}
|
|
508
|
+
this.model.search(args.condition, args.model)
|
|
509
|
+
}
|
|
510
|
+
},
|
|
511
|
+
watch: {
|
|
512
|
+
// 'userinfoid' (newVal) {
|
|
513
|
+
// this.model.rows={}
|
|
514
|
+
// if (newVal && newVal !== '') {
|
|
515
|
+
// this.$nextTick(function () {
|
|
516
|
+
// this.$refs.paged.$refs.cri.model.f_userinfo_code = newVal
|
|
517
|
+
// }.bind(this))
|
|
518
|
+
// }else{
|
|
519
|
+
// this.$nextTick(function () {
|
|
520
|
+
// this.$refs.paged.$refs.cri.model.f_userinfo_code = ""
|
|
521
|
+
// }.bind(this))
|
|
522
|
+
// }
|
|
523
|
+
// this.$refs.paged.$refs.cri.model.f_operat_type = ''
|
|
524
|
+
// }
|
|
525
|
+
'userinfoid' (newVal) {
|
|
526
|
+
if (newVal && newVal !== '') {
|
|
527
|
+
this.$nextTick(function () {
|
|
528
|
+
this.$refs.paged.$refs.cri.model.f_userinfo_code = newVal
|
|
529
|
+
}.bind(this))
|
|
530
|
+
this.$refs.paged.$refs.cri.model.f_operat_type = ''
|
|
531
|
+
let condition = `f_userinfo_code = '${newVal}' and u.f_filialeid = '${this.$login.f.orgid}'`
|
|
532
|
+
this.$refs.pv.load(this.sqlurl, {data: {condition: condition}}).then((a) => {
|
|
533
|
+
if (a.data.length === 0) {
|
|
534
|
+
this.model.rows = []
|
|
535
|
+
this.model.state = '错误'
|
|
536
|
+
this.model.error = '没有符合条件的记录'
|
|
537
|
+
return
|
|
538
|
+
}
|
|
539
|
+
this.model.state = '正确'
|
|
540
|
+
this.model.rows = a.data
|
|
541
|
+
})
|
|
542
|
+
} else {
|
|
543
|
+
this.model.rows = {}
|
|
544
|
+
this.$nextTick(function () {
|
|
545
|
+
this.$refs.paged.$refs.cri.model.f_userinfo_code = ''
|
|
546
|
+
}.bind(this))
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
</script>
|
|
@@ -5,6 +5,9 @@ let specialComp = {
|
|
|
5
5
|
// 售气收费 --收费gas-move
|
|
6
6
|
'charge-manage': (resolve) => { require(['./ChargeManage'], resolve) },
|
|
7
7
|
// 表计管理
|
|
8
|
-
'web-meter-info': (resolve) => { require(['./WebMeterInfo'], resolve) }
|
|
8
|
+
'web-meter-info': (resolve) => { require(['./WebMeterInfo'], resolve) },
|
|
9
|
+
// 界面右边信息界面
|
|
10
|
+
// 操作记录列表,可以切换查询用户列表的操作区域
|
|
11
|
+
'card-list': (resolve) => { require(['./CardList'], resolve) }
|
|
9
12
|
}
|
|
10
13
|
exports.specialComp = specialComp
|
|
@@ -1143,7 +1143,7 @@ let loadParamGem = async function (self) {
|
|
|
1143
1143
|
let self = this
|
|
1144
1144
|
try {
|
|
1145
1145
|
self.progressShow = true;
|
|
1146
|
-
axios.post('rs/business/batchRunExcel/
|
|
1146
|
+
axios.post('rs/business/batchRunExcel/filemanage_fileSave_tongchuan/newSettleFileImport_tongchuan',
|
|
1147
1147
|
{data: param}, {timeout: 30000}).then((res) => {
|
|
1148
1148
|
})
|
|
1149
1149
|
self.percent=0;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
:value.sync="model.f_hand_state"
|
|
17
17
|
:options='$parent.$parent.states'
|
|
18
18
|
close-on-select
|
|
19
|
-
condition=" {}
|
|
19
|
+
condition="f_hand_state = {}"
|
|
20
20
|
@change="$parent.$parent.search">
|
|
21
21
|
</v-select>
|
|
22
22
|
</div>
|
|
@@ -201,16 +201,13 @@
|
|
|
201
201
|
pushdata: {openid: '', cause: ''},
|
|
202
202
|
row: null,
|
|
203
203
|
model: new PagedList('rs/sql/meterReadAudit', 20),
|
|
204
|
-
states: [{label: '待审核', value: `
|
|
205
|
-
label: '未通过',
|
|
206
|
-
value: ` f_hand_state = '无效'`
|
|
207
|
-
}, {label: '已通过', value: `f_meter_state = '已抄表' and f_hand_state ='有效'`}],
|
|
204
|
+
states: [{label: '待审核', value: `'待审核'`}, {label: '未通过', value: `'无效'`}, {label: '已通过', value: `'有效'`}],
|
|
208
205
|
meterbooks: [{label: '全部', value: ''}]
|
|
209
206
|
}
|
|
210
207
|
},
|
|
211
208
|
ready () {
|
|
212
209
|
readyGen(this)
|
|
213
|
-
this.$refs.paged.$refs.cri.model.f_hand_state[0]
|
|
210
|
+
this.$refs.paged.$refs.cri.model.f_hand_state[0] =`'待审核'`
|
|
214
211
|
},
|
|
215
212
|
methods: {
|
|
216
213
|
loadMeterBooks () {
|