apply-clients 4.1.7-weinan → 4.1.8-weinan
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/package.json +1 -1
- package/src/applyAndroid.js +2 -0
- package/src/components/app_apply/AppChargeManagement.vue +58 -24
- package/src/components/app_apply/ApplyToDoList.vue +3 -7
- package/src/components/app_apply/PlaceControler.vue +4 -7
- package/src/components/app_apply/ServiceControl.vue +2 -5
- package/src/components/app_apply/ServiceView.vue +7 -5
- package/src/components/app_apply/materialshoufei.vue +184 -0
- package/src/components/product/ApplyCharge/ApplyChargeList.vue +251 -251
package/package.json
CHANGED
package/src/applyAndroid.js
CHANGED
|
@@ -33,6 +33,8 @@ export default function () {
|
|
|
33
33
|
Vue.component('back-page', (resolve) => { require(['./components/app_apply/ToolsPage'], resolve) })
|
|
34
34
|
// 收费记录
|
|
35
35
|
Vue.component('app-charge-management', (resolve) => { require(['./components/app_apply/AppChargeManagement'], resolve) })
|
|
36
|
+
// 材料收费信息
|
|
37
|
+
Vue.component('app-materialshoufei', (resolve) => { require(['./components/app_apply/materialshoufei'], resolve) })
|
|
36
38
|
|
|
37
39
|
// 业务tab(control层)页
|
|
38
40
|
Vue.component('service-control-app', (resolve) => { require(['./components/app_apply/ServiceControl'], resolve) })
|
|
@@ -90,6 +90,17 @@
|
|
|
90
90
|
<h4 class="modal-title">收费明细</h4>
|
|
91
91
|
</header>
|
|
92
92
|
<article slot="modal-body" class="modal-body clearfix">
|
|
93
|
+
<div class="form-group row vertical-center" :class="charge.f_payment_method ? '':'has-error'">
|
|
94
|
+
<label class="col-xs-4 control-label">付款方式:</label>
|
|
95
|
+
<div class="col-xs-8">
|
|
96
|
+
<input-select class="select select_list"
|
|
97
|
+
v-model="charge.f_payment_method"
|
|
98
|
+
:value.sync="charge.f_payment_method"
|
|
99
|
+
:options='paymentMethod'
|
|
100
|
+
:value-single="true"
|
|
101
|
+
close-on-select ></input-select>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
93
104
|
<div v-for="(index,payment) in charge.payment_terms">
|
|
94
105
|
<div class="form-group row vertical-center" :class="payment.f_payment_term ? '':'has-error'">
|
|
95
106
|
<label class="col-xs-4 control-label">收费项目:</label>
|
|
@@ -109,7 +120,7 @@
|
|
|
109
120
|
v-model="payment.f_charge_money"
|
|
110
121
|
@keyup="handleInput(index)"
|
|
111
122
|
@change="moneyChange(index)"
|
|
112
|
-
:readonly="
|
|
123
|
+
:readonly="true"/>
|
|
113
124
|
</div>
|
|
114
125
|
</div>
|
|
115
126
|
<div class="form-group row vertical-center">
|
|
@@ -117,12 +128,12 @@
|
|
|
117
128
|
<div class="col-xs-8">
|
|
118
129
|
<input class="form-control input_view" style=""
|
|
119
130
|
v-model="payment.f_amount_words"
|
|
120
|
-
:value="smalltoBIG(
|
|
131
|
+
:value="smalltoBIG(payment.f_charge_money)"
|
|
121
132
|
:readonly="true"/>
|
|
122
133
|
</div>
|
|
123
134
|
</div>
|
|
124
135
|
</div>
|
|
125
|
-
<div class="row" style="display: flex"> <button type="button" style="margin: 0 auto;" class="btn btn-primary" @click.prevent="addPaymentTerms()">增加收费项目</button> </div
|
|
136
|
+
<!-- <div class="row" style="display: flex"> <button type="button" style="margin: 0 auto;" class="btn btn-primary" @click.prevent="addPaymentTerms()">增加收费项目</button> </div>-->
|
|
126
137
|
</article>
|
|
127
138
|
<footer slot="modal-footer" class="modal-footer">
|
|
128
139
|
<button type="button" class="btn btn-primary" @click.prevent="openQrCode()">确认</button>
|
|
@@ -169,6 +180,7 @@ export default {
|
|
|
169
180
|
data () {
|
|
170
181
|
return {
|
|
171
182
|
showCharge: false, // 收费明细
|
|
183
|
+
showCharge1:false, // 付款方式
|
|
172
184
|
showQrCode : false, // 二维码
|
|
173
185
|
model: {
|
|
174
186
|
rows: null
|
|
@@ -178,9 +190,9 @@ export default {
|
|
|
178
190
|
|
|
179
191
|
},*/
|
|
180
192
|
charge: {
|
|
181
|
-
payment_terms:[{f_payment_term: '',f_charge_money: '',f_amount_words:'',f_payment_method : '
|
|
193
|
+
payment_terms:[{f_payment_term: '',f_charge_money: '',f_amount_words:'',f_payment_method : ''}]
|
|
182
194
|
},
|
|
183
|
-
order:
|
|
195
|
+
order: {},
|
|
184
196
|
timeLeft: 120,
|
|
185
197
|
paymentInterval: null,
|
|
186
198
|
orderInterval: null,
|
|
@@ -195,7 +207,7 @@ export default {
|
|
|
195
207
|
},
|
|
196
208
|
methods: {
|
|
197
209
|
addPaymentTerms(){
|
|
198
|
-
this.charge.payment_terms.push({f_payment_term: '',f_charge_money: '',f_payment_method :
|
|
210
|
+
this.charge.payment_terms.push({f_payment_term: '',f_charge_money: '',f_payment_method : this.charge.f_payment_method})
|
|
199
211
|
},
|
|
200
212
|
// 新增收费
|
|
201
213
|
async saveCharge() {
|
|
@@ -229,7 +241,7 @@ export default {
|
|
|
229
241
|
data: {
|
|
230
242
|
items: "id",
|
|
231
243
|
tablename: "t_weixinreturnxml",
|
|
232
|
-
condition: ` f_out_trade_no = '${this.order.f_out_trade_no}' and
|
|
244
|
+
condition: ` f_out_trade_no = '${this.order.f_out_trade_no}' and f_orde_state = '已支付' `,
|
|
233
245
|
orderitem: "id"
|
|
234
246
|
}
|
|
235
247
|
}, {
|
|
@@ -272,7 +284,7 @@ export default {
|
|
|
272
284
|
// 打开二维码
|
|
273
285
|
async openQrCode () {
|
|
274
286
|
console.log(this.charge.payment_terms)
|
|
275
|
-
|
|
287
|
+
let http = new HttpResetClass()
|
|
276
288
|
for(let row = 0;row<this.charge.payment_terms.length; row++){
|
|
277
289
|
console.log(this.charge.payment_terms[row])
|
|
278
290
|
if (isEmpty(this.charge.payment_terms[row].f_payment_term)) {
|
|
@@ -285,25 +297,51 @@ export default {
|
|
|
285
297
|
return
|
|
286
298
|
}
|
|
287
299
|
}
|
|
300
|
+
|
|
301
|
+
if (this.charge.f_payment_method !== '微信支付' && this.charge.f_payment_method !== '支付宝支付' ){
|
|
302
|
+
let info = {
|
|
303
|
+
apply: this.selectdata,
|
|
304
|
+
charge: this.charge,
|
|
305
|
+
user: Vue.user,
|
|
306
|
+
f_out_trade_no:""
|
|
307
|
+
}
|
|
308
|
+
http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/logic/beforeAddChargeRecord`,{data:info},{
|
|
309
|
+
resolveMsg: null,
|
|
310
|
+
rejectMsg: null
|
|
311
|
+
}).then(res=>{
|
|
312
|
+
console.log(res.data)
|
|
313
|
+
if (res.data.code == '200'){
|
|
314
|
+
this.$showMessage('缴费成功!')
|
|
315
|
+
this.showCharge=false
|
|
316
|
+
return
|
|
317
|
+
}else {
|
|
318
|
+
this.$showMessage('缴费失败')
|
|
319
|
+
this.showCharge=false
|
|
320
|
+
return
|
|
321
|
+
}
|
|
322
|
+
})
|
|
323
|
+
return
|
|
324
|
+
}
|
|
288
325
|
this.showCharge=false
|
|
289
326
|
//this.$dispatch('changeShowfei','待付款')
|
|
290
327
|
//this.saveCharge()
|
|
291
|
-
let http = new HttpResetClass()
|
|
292
328
|
// 接口金额 单位为:分
|
|
293
329
|
let data = {
|
|
294
|
-
money: this.accMul(this.getTotalAmount() ,
|
|
330
|
+
money: this.accMul(this.getTotalAmount() ,1),
|
|
295
331
|
attach: {
|
|
296
|
-
"
|
|
332
|
+
"f_apply_num": this.selectdata.f_apply_num,
|
|
297
333
|
"f_user": Vue.user.id
|
|
298
334
|
},
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
335
|
+
orderType:'报装收费',
|
|
336
|
+
userfilesid:'',
|
|
337
|
+
flag: 'JsApiWeiNan',
|
|
338
|
+
openid: '',
|
|
339
|
+
filiale: 'weinanchengtou'
|
|
302
340
|
}
|
|
303
341
|
console.log('下单信息')
|
|
304
342
|
console.log(JSON.stringify(data))
|
|
305
343
|
// 下订单
|
|
306
|
-
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/
|
|
344
|
+
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/wx/rs/pay/jsApiPay`, data, {
|
|
307
345
|
resolveMsg: null,
|
|
308
346
|
rejectMsg: '订单生成失败!!!'
|
|
309
347
|
})
|
|
@@ -370,7 +408,7 @@ export default {
|
|
|
370
408
|
},
|
|
371
409
|
qrcode () {
|
|
372
410
|
let qrcode = new QRCode('qrcode',{
|
|
373
|
-
text: this.order.
|
|
411
|
+
text: this.order.appId, // 设置二维码内容或跳转地址
|
|
374
412
|
width: 200, // 设置宽度,单位像素
|
|
375
413
|
height: 200, // 设置高度,单位像素
|
|
376
414
|
correctLevel: QRCode.CorrectLevel.L //容错率,L/M/Hs
|
|
@@ -458,10 +496,7 @@ export default {
|
|
|
458
496
|
resolveMsg: null,
|
|
459
497
|
rejectMsg: '用户获取失败!!!'
|
|
460
498
|
})
|
|
461
|
-
|
|
462
|
-
if (res.data.length <= 0) {
|
|
463
|
-
this.$showMessage('暂无需要缴费用户!!!', 'warning', 3000)
|
|
464
|
-
}
|
|
499
|
+
|
|
465
500
|
|
|
466
501
|
this.useraddresList = res.data.map(item => {
|
|
467
502
|
return {
|
|
@@ -474,9 +509,8 @@ export default {
|
|
|
474
509
|
},
|
|
475
510
|
async showChargeModal() {
|
|
476
511
|
this.getUserAddress()
|
|
477
|
-
|
|
478
|
-
this.charge.
|
|
479
|
-
|
|
512
|
+
console.log("材料费",this.selectdata.f_cost_sum)
|
|
513
|
+
this.charge.payment_terms[0].f_charge_money = this.selectdata.f_cost_sum
|
|
480
514
|
this.showCharge = true
|
|
481
515
|
},
|
|
482
516
|
async search () {
|
|
@@ -496,7 +530,7 @@ export default {
|
|
|
496
530
|
this.showInvalid = false
|
|
497
531
|
this.showPrint = false
|
|
498
532
|
this.charge = {
|
|
499
|
-
payment_terms:[{f_payment_term: '',f_charge_money: '',f_amount_words:'',f_payment_method :
|
|
533
|
+
payment_terms:[{f_payment_term: '',f_charge_money: '',f_amount_words:'',f_payment_method : this.charge.f_payment_method}]
|
|
500
534
|
}
|
|
501
535
|
this.search()
|
|
502
536
|
},
|
|
@@ -29,19 +29,15 @@
|
|
|
29
29
|
<div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
30
30
|
用户类型: {{row.f_user_type}}
|
|
31
31
|
</div>
|
|
32
|
-
<div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
33
|
-
用户地址: {{row.f_address}}
|
|
34
|
-
</div>
|
|
35
|
-
<div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
36
|
-
用户电话: {{row.f_phone}}
|
|
37
|
-
<img src="../../assets/telphonesend.png" style="width: 12px;" @click.stop.prevent='makeAPhoneCall(row.f_phone)'>
|
|
38
|
-
</div>
|
|
39
32
|
<div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
40
33
|
流程状态: {{row.f_sub_state}}
|
|
41
34
|
</div>
|
|
42
35
|
<div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
43
36
|
报建类型: {{row.f_apply_type}}
|
|
44
37
|
</div>
|
|
38
|
+
<div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
39
|
+
办理环节: {{row.defname}}
|
|
40
|
+
</div>
|
|
45
41
|
<div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
46
42
|
报建日期: {{row.f_apply_date}}
|
|
47
43
|
</div>
|
|
@@ -70,9 +70,6 @@
|
|
|
70
70
|
componentName: 'apply-user-info',
|
|
71
71
|
tabs: {
|
|
72
72
|
// 参数全部设置成空,在ready时,等model处理好了,再添加
|
|
73
|
-
'apply-user-info': {
|
|
74
|
-
header: '基本信息', class: 'apply-user-info-class', props: null
|
|
75
|
-
},
|
|
76
73
|
'apply-info': {
|
|
77
74
|
header: '流程信息', class: 'apply-info-class', props: null
|
|
78
75
|
},
|
|
@@ -115,7 +112,7 @@
|
|
|
115
112
|
}
|
|
116
113
|
this.componentName = name
|
|
117
114
|
console.log('name=>' + name)
|
|
118
|
-
if(
|
|
115
|
+
if( name == 'apply-info'){
|
|
119
116
|
this.tabs[name].props = {service: this.row, shutype: 'shu'}
|
|
120
117
|
}else{
|
|
121
118
|
this.row.defname = this.row.defname
|
|
@@ -129,11 +126,11 @@
|
|
|
129
126
|
},
|
|
130
127
|
setProps() {
|
|
131
128
|
// 给各自组件添加参数
|
|
132
|
-
this.tabs['apply-user-info'].props = {service: this.row, shutype: 'shu'}
|
|
129
|
+
// this.tabs['apply-user-info'].props = {service: this.row, shutype: 'shu'}
|
|
133
130
|
// this.tabs['apply-info'].props = {service: this.row, shutype: 'shu'}
|
|
134
131
|
// this.tabs['apply-defame-work'].props = {model: this.row, shutype: 'shu'}
|
|
135
132
|
|
|
136
|
-
this.$goto('apply-user-info', this.tabs[this.componentName].props, 'apply')
|
|
133
|
+
// this.$goto('apply-user-info', this.tabs[this.componentName].props, 'apply')
|
|
137
134
|
},
|
|
138
135
|
},
|
|
139
136
|
ready () {
|
|
@@ -151,7 +148,7 @@
|
|
|
151
148
|
},
|
|
152
149
|
components: {
|
|
153
150
|
'apply-info': ApplyInfo,
|
|
154
|
-
'apply-user-info':ApplyUserInfo,
|
|
151
|
+
// 'apply-user-info':ApplyUserInfo,
|
|
155
152
|
// 'fieldexploration': FieldExploration,
|
|
156
153
|
// 'acceptance': Acceptance,
|
|
157
154
|
// 'ventilation':Ventilation
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
this.data.fields[i].value = this.selectdata[this.data.fields[i].field]
|
|
109
109
|
}
|
|
110
110
|
// 如果配置类型为select,优先从参数列表获取options
|
|
111
|
-
if (this.data.fields[i].type === 'select'
|
|
111
|
+
if (this.data.fields[i].type === 'select') {
|
|
112
112
|
if (this.data.fields[i].param) {
|
|
113
113
|
let temp = this.$appdata.getParam(this.data.fields[i].label)
|
|
114
114
|
|
|
@@ -123,10 +123,7 @@
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
|
-
|
|
127
|
-
if (this.data.fields[i].ready) {
|
|
128
|
-
this.data.fields[i].options = await this[this.data.fields[i].ready]()
|
|
129
|
-
}
|
|
126
|
+
|
|
130
127
|
}
|
|
131
128
|
}
|
|
132
129
|
// 初始化 buttons_fields
|
|
@@ -24,10 +24,11 @@
|
|
|
24
24
|
</div>
|
|
25
25
|
</div>
|
|
26
26
|
<!--时间datepicker-->
|
|
27
|
-
<div v-if="item.type==='datepicker'" :class="[data.fields[index].required&&!(data.fields[index].value) ? 'has-error' : '',data.fields[index].bootstraped?data.fields[index].bootstraped+' form-group':'col-
|
|
28
|
-
<label style="margin-top: 0.7em" :class="item.label_bootstraped?item.label_bootstraped + '':'col-
|
|
29
|
-
<div :class="item.value_bootstraped?item.value_bootstraped:'col-
|
|
27
|
+
<div v-if="item.type==='datepicker'" :class="[data.fields[index].required&&!(data.fields[index].value) ? 'has-error' : '',data.fields[index].bootstraped?data.fields[index].bootstraped+' form-group':'col-sm-4 form-group']">
|
|
28
|
+
<label style="margin-top: 0.7em" :class="item.label_bootstraped?item.label_bootstraped + 'control-label':'control-label col-sm-6'">{{item.label}}:</label>
|
|
29
|
+
<div :class="item.value_bootstraped?item.value_bootstraped:'col-sm-6'">
|
|
30
30
|
<datepicker
|
|
31
|
+
class="form-control"
|
|
31
32
|
:placeholder="item.placeholder"
|
|
32
33
|
:value.sync="data.fields[index].value"
|
|
33
34
|
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
@@ -211,6 +212,7 @@
|
|
|
211
212
|
// 初始化数据
|
|
212
213
|
initializtion(){
|
|
213
214
|
console.log('进入serviceview的initializtion方法')
|
|
215
|
+
console.log('数据aaaa',this.data)
|
|
214
216
|
// let temp = this.data
|
|
215
217
|
// let temp = JSON.parse(JSON.stringify(this.data))
|
|
216
218
|
// this.data = temp
|
|
@@ -226,12 +228,12 @@
|
|
|
226
228
|
if(this.data.filiale){
|
|
227
229
|
this.model.f_filiale = this.data.filiale
|
|
228
230
|
}else{
|
|
229
|
-
this.model.f_filiale = Vue.user.
|
|
231
|
+
this.model.f_filiale = Vue.user.orgs
|
|
230
232
|
}
|
|
231
233
|
if(this.data.f_parentname){
|
|
232
234
|
this.model.f_parentname = this.data.f_parentname
|
|
233
235
|
}else{
|
|
234
|
-
this.model.f_parentname = Vue.user.
|
|
236
|
+
this.model.f_parentname = Vue.user.f_department_name
|
|
235
237
|
}
|
|
236
238
|
if(this.data.operate_date){
|
|
237
239
|
this.model.f_operate_date = this.data.operate_date
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="col-sm-12" style="margin: 20px 0px;">
|
|
3
|
+
<data-grid :model="model" v-ref:grid class="list_area table_sy" style="padding: 0px">
|
|
4
|
+
<template partial='head'>
|
|
5
|
+
<tr>
|
|
6
|
+
<th>序号</th>
|
|
7
|
+
<th>材料名称</th>
|
|
8
|
+
<th>单价(元)</th>
|
|
9
|
+
<th>数量</th>
|
|
10
|
+
<th>金额</th>
|
|
11
|
+
<th>备注</th>
|
|
12
|
+
<th v-if="$parent.$parent.mark === 0">
|
|
13
|
+
<button type="button" class="btn btn-info head-but" @click="$parent.$parent.addshoufei()" >新增收费
|
|
14
|
+
</button>
|
|
15
|
+
</th>
|
|
16
|
+
</tr>
|
|
17
|
+
</template>
|
|
18
|
+
<template partial='body'>
|
|
19
|
+
<td style="text-align: center">{{ $index + 1}}</td>
|
|
20
|
+
<td style="text-align: center">{{ row.f_material_name}}</td>
|
|
21
|
+
<td style="text-align: center">{{ row.f_material_price}}</td>
|
|
22
|
+
<td style="text-align: center">{{ row.f_material_number}}</td>
|
|
23
|
+
<td style="text-align: center">{{ row.f_fee}}</td>
|
|
24
|
+
<td style="text-align: center">{{ row.f_remarks}}</td>
|
|
25
|
+
<td class="flex-around" v-if="$parent.$parent.mark === 0">
|
|
26
|
+
<button type="button" name="button" class="btn btn-link"
|
|
27
|
+
@click.stop="$parent.$parent.modifyParam(row)">修改
|
|
28
|
+
</button>
|
|
29
|
+
<button type="button" name="button" class="btn btn-link"
|
|
30
|
+
@click.stop="$parent.$parent.deleteItem(row)">删除
|
|
31
|
+
</button>
|
|
32
|
+
</td>
|
|
33
|
+
</template>
|
|
34
|
+
</data-grid>
|
|
35
|
+
<span>合计:{{ f_cost_sum }}元</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<modal :show.sync="showpay" v-ref:modal backdrop="false">
|
|
39
|
+
<header slot="modal-header" class="modal-header">
|
|
40
|
+
<button type="button" class="close" @click="close"><span>×</span></button>
|
|
41
|
+
<h4 class="modal-title">新增材料收费</h4>
|
|
42
|
+
</header>
|
|
43
|
+
<article slot="modal-body" class="modal-body">
|
|
44
|
+
<div class="from-group">
|
|
45
|
+
<label>材料名称</label>
|
|
46
|
+
<input type="text" class="form-control" v-model="addItem.f_material_name">
|
|
47
|
+
</div>
|
|
48
|
+
<div class="from-group">
|
|
49
|
+
<label>单价(元)</label>
|
|
50
|
+
<input type="number" class="form-control" v-model="addItem.f_material_price">
|
|
51
|
+
</div>
|
|
52
|
+
<div class="from-group">
|
|
53
|
+
<label>数量</label>
|
|
54
|
+
<input type="number" class="form-control" v-model="addItem.f_material_number">
|
|
55
|
+
</div>
|
|
56
|
+
<div class="from-group">
|
|
57
|
+
<label>金额</label>
|
|
58
|
+
<input type="number" class="form-control" v-model="addItem.f_fee" :value="smalltoBIG()" readonly>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="from-group">
|
|
61
|
+
<label>备注</label>
|
|
62
|
+
<textarea type="text" rows="2" class="form-control" v-model="addItem.f_remarks"></textarea>
|
|
63
|
+
</div>
|
|
64
|
+
</article>
|
|
65
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
66
|
+
<button v-show="showpay" type="button" class="btn btn-default" @click='close'>取消</button>
|
|
67
|
+
<button v-show="showpay" type="button" class="btn btn-success" @click='addpaydipetail'>确认</button>
|
|
68
|
+
</footer>
|
|
69
|
+
</modal>
|
|
70
|
+
</template>
|
|
71
|
+
|
|
72
|
+
<script>
|
|
73
|
+
import {HttpResetClass} from 'vue-client'
|
|
74
|
+
import Vue from "vue";
|
|
75
|
+
import $ from 'jquery'
|
|
76
|
+
|
|
77
|
+
export default {
|
|
78
|
+
title: '材料收费',
|
|
79
|
+
data() {
|
|
80
|
+
return {
|
|
81
|
+
showpay: false, // 新增材料收费开关
|
|
82
|
+
model: {
|
|
83
|
+
rows: [] // 材料收费数据数组
|
|
84
|
+
},
|
|
85
|
+
addItem: {},
|
|
86
|
+
f_cost_sum: 0,
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
props: {
|
|
90
|
+
selectdata: {
|
|
91
|
+
type: Object
|
|
92
|
+
},
|
|
93
|
+
mark: {
|
|
94
|
+
type: Number,
|
|
95
|
+
default: 0
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
ready() {
|
|
99
|
+
this.load()
|
|
100
|
+
},
|
|
101
|
+
methods: {
|
|
102
|
+
async load() {
|
|
103
|
+
let http = new HttpResetClass()
|
|
104
|
+
let data = {
|
|
105
|
+
tablename: 't_material_charges',
|
|
106
|
+
condition: `f_process_id = '${this.selectdata.f_process_id}'`
|
|
107
|
+
}
|
|
108
|
+
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {resolveMsg: null, rejectMsg: '获取数据失败'})
|
|
109
|
+
.then((res) => {
|
|
110
|
+
this.model.rows = res.data
|
|
111
|
+
this.f_cost_sum = 0
|
|
112
|
+
for (var i = 0; i < this.model.rows.length; i++) {
|
|
113
|
+
this.f_cost_sum += Number(this.model.rows[i].f_fee)
|
|
114
|
+
}
|
|
115
|
+
this.$set('selectdata.f_cost_sum',this.f_cost_sum)
|
|
116
|
+
})
|
|
117
|
+
},
|
|
118
|
+
// 关闭模态框
|
|
119
|
+
close() {
|
|
120
|
+
this.showpay = false
|
|
121
|
+
this.addItem = null
|
|
122
|
+
},
|
|
123
|
+
// 模态框确定按钮保存数据
|
|
124
|
+
async addpaydipetail() {
|
|
125
|
+
let http = new HttpResetClass()
|
|
126
|
+
this.addItem.f_process_id = this.selectdata.f_process_id
|
|
127
|
+
this.addItem.f_apply_num = this.selectdata.f_apply_num
|
|
128
|
+
this.addItem.f_operator = Vue.user.name
|
|
129
|
+
this.addItem.f_department = Vue.user.f_department_name
|
|
130
|
+
this.addItem.f_filiale = Vue.user.orgs
|
|
131
|
+
await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/addmaterialshoufei`, this.addItem, {resolveMsg: '保存成功', rejectMsg: '保存失败'})
|
|
132
|
+
.then((res) => {
|
|
133
|
+
this.close()
|
|
134
|
+
this.load()
|
|
135
|
+
})
|
|
136
|
+
},
|
|
137
|
+
deleteItem(row) {
|
|
138
|
+
let http = new HttpResetClass()
|
|
139
|
+
http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/delectmaterialshoufei`, {data: row}, {resolveMsg: null, rejectMsg: '删除失败'})
|
|
140
|
+
.then((res) => {
|
|
141
|
+
this.load()
|
|
142
|
+
})
|
|
143
|
+
},
|
|
144
|
+
//新增收费 开启模态框
|
|
145
|
+
addshoufei() {
|
|
146
|
+
this.showpay = true
|
|
147
|
+
},
|
|
148
|
+
modifyParam(row) {
|
|
149
|
+
this.addItem = row
|
|
150
|
+
this.showpay = true
|
|
151
|
+
},
|
|
152
|
+
// 金额计算
|
|
153
|
+
smalltoBIG() {
|
|
154
|
+
let num = Number(this.addItem.f_material_price) * Number(this.addItem.f_material_number)
|
|
155
|
+
return num
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
watch: {}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
</script>
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
<style scoped>
|
|
165
|
+
table {
|
|
166
|
+
border-collapse: collapse;
|
|
167
|
+
border-spacing: 0;
|
|
168
|
+
width: 100%;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
table, td, th {
|
|
172
|
+
padding: 0;
|
|
173
|
+
border: 1px solid black
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
tr {
|
|
177
|
+
height: 34px;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
#DynamicForm input {
|
|
181
|
+
text-align: center;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
</style>
|
|
@@ -1,251 +1,251 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<criteria-paged :model="model" v-ref:cp>
|
|
3
|
-
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
|
4
|
-
<div class="form-horizontal select-overspread container-fluid auto" partial>
|
|
5
|
-
<div class="row">
|
|
6
|
-
<div class="form-group col-sm-3">
|
|
7
|
-
<label class="font_normal_body">项目名称:</label>
|
|
8
|
-
<input type="text" class="input_search" style="width: 60%" v-model="model.f_entry_name"
|
|
9
|
-
v-on:keyup.enter="$parent.$parent.search()" condition="a.f_entry_name like '%{}%'" placeholder='项目名'>
|
|
10
|
-
</div>
|
|
11
|
-
<div class="form-group col-sm-3">
|
|
12
|
-
<label for="startDate" class="font_normal_body">开始时间:</label>
|
|
13
|
-
<datepicker id="startDate" placeholder="开始日期"
|
|
14
|
-
style="width: 60%!important;"
|
|
15
|
-
v-model="model.startDate"
|
|
16
|
-
:value.sync="model.startDate"
|
|
17
|
-
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
18
|
-
:show-reset-button="true"
|
|
19
|
-
condition="cr.f_charge_date >= '{}'">
|
|
20
|
-
</datepicker>
|
|
21
|
-
</div>
|
|
22
|
-
<div class="form-group col-sm-3">
|
|
23
|
-
<label for="endDate" class="font_normal_body">结束时间:</label>
|
|
24
|
-
<datepicker id="endDate" placeholder="结束日期"
|
|
25
|
-
style="width: 60%!important;"
|
|
26
|
-
v-model="model.endDate"
|
|
27
|
-
:value.sync="model.endDate"
|
|
28
|
-
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
29
|
-
:show-reset-button="true"
|
|
30
|
-
condition="cr.f_charge_date <= '{}'">
|
|
31
|
-
</datepicker>
|
|
32
|
-
</div>
|
|
33
|
-
<div class="form-group col-sm-3 button-range">
|
|
34
|
-
<button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
|
|
35
|
-
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
36
|
-
<export-excel :data="$parent.$parent.getCondition"
|
|
37
|
-
:field="$parent.$parent.getfield"
|
|
38
|
-
sqlurl="rs/logic/applyExportfile"
|
|
39
|
-
sql-name="getApplyCharge"
|
|
40
|
-
template-name='收费记录信息导出'
|
|
41
|
-
:choose-col="true"></export-excel>
|
|
42
|
-
<div
|
|
43
|
-
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
44
|
-
@click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"
|
|
45
|
-
class="button_spacing"
|
|
46
|
-
style="float: right">
|
|
47
|
-
</div>
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
51
|
-
<div class="form-group col-sm-3">
|
|
52
|
-
<label class="font_normal_body">报建编号:</label>
|
|
53
|
-
<input type="text" style="width: 60%" class="input_search" placeholder='报建编号' v-model="model.f_apply_num"
|
|
54
|
-
v-on:keyup.enter="$parent.$parent.search()"
|
|
55
|
-
condition="a.f_apply_num = '{}'">
|
|
56
|
-
</div>
|
|
57
|
-
<div class="form-group col-sm-3">
|
|
58
|
-
<label class="font_normal_body">合同编号:</label>
|
|
59
|
-
<input type="text" style="width: 60%" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
|
|
60
|
-
v-on:keyup.enter="$parent.$parent.search()"
|
|
61
|
-
condition="a.f_contract_number = '{}'">
|
|
62
|
-
</div>
|
|
63
|
-
<div class="form-group col-sm-3">
|
|
64
|
-
<label class="font_normal_body">报建类型:</label>
|
|
65
|
-
<v-select
|
|
66
|
-
v-model="model.f_apply_type"
|
|
67
|
-
placeholder='请选择'
|
|
68
|
-
condition="a.f_apply_type = '{}'"
|
|
69
|
-
:value.sync="model.f_apply_type"
|
|
70
|
-
:options='$parent.$parent.applytype'
|
|
71
|
-
class="select select_list"
|
|
72
|
-
:value-single="true"
|
|
73
|
-
close-on-select ></v-select>
|
|
74
|
-
</div>
|
|
75
|
-
<div class="form-group col-sm-3">
|
|
76
|
-
<label class="font_normal_body">收费人员:</label>
|
|
77
|
-
<input type="text" class="input_search" style="width: 60%" placeholder='收费人员' v-model="model.f_charge_collectors"
|
|
78
|
-
v-on:keyup.enter="$parent.$parent.search()"
|
|
79
|
-
condition="cr.f_charge_collectors like '%{}%'">
|
|
80
|
-
</div>
|
|
81
|
-
<div class="form-group col-sm-3">
|
|
82
|
-
<label class="font_normal_body">付款方式:</label>
|
|
83
|
-
<v-select
|
|
84
|
-
v-model="model.f_payment_method"
|
|
85
|
-
placeholder='请选择'
|
|
86
|
-
condition="cr.f_payment_method = '{}'"
|
|
87
|
-
:value.sync="model.f_payment_method"
|
|
88
|
-
:options='$parent.$parent.paymentMethod'
|
|
89
|
-
class="select select_list"
|
|
90
|
-
:value-single="true"
|
|
91
|
-
close-on-select ></v-select>
|
|
92
|
-
</div>
|
|
93
|
-
<div class="form-group col-sm-3">
|
|
94
|
-
<label class="font_normal_body">缴费状态:</label>
|
|
95
|
-
<v-select
|
|
96
|
-
v-model="model.f_charge_status"
|
|
97
|
-
placeholder='请选择'
|
|
98
|
-
condition="cr.f_charge_status = '{}'"
|
|
99
|
-
:value.sync="model.f_charge_status"
|
|
100
|
-
:options='$parent.$parent.chargingStatus'
|
|
101
|
-
class="select select_list"
|
|
102
|
-
:value-single="true"
|
|
103
|
-
close-on-select ></v-select>
|
|
104
|
-
</div>
|
|
105
|
-
</div>
|
|
106
|
-
</div>
|
|
107
|
-
</criteria>
|
|
108
|
-
<data-grid :model="model" partial='list' v-ref:grid style="overflow: auto" class="list_area table_sy">
|
|
109
|
-
<template partial='head'>
|
|
110
|
-
<tr>
|
|
111
|
-
<th>序号</th>
|
|
112
|
-
<th>报建编号</th>
|
|
113
|
-
<th>项目名称</th>
|
|
114
|
-
<th>合同编号</th>
|
|
115
|
-
<th>报建类型</th>
|
|
116
|
-
<th>缴费编码</th>
|
|
117
|
-
<th>收费金额</th>
|
|
118
|
-
<th>付款方式</th>
|
|
119
|
-
<th>收费人员</th>
|
|
120
|
-
<th>收费日期</th>
|
|
121
|
-
<th>状态</th>
|
|
122
|
-
<th>地址</th>
|
|
123
|
-
</tr>
|
|
124
|
-
</template>
|
|
125
|
-
<template partial='body'>
|
|
126
|
-
<tr >
|
|
127
|
-
<td style="text-align: center;">
|
|
128
|
-
<nobr><font>{{$index+1}}</font></nobr>
|
|
129
|
-
</td>
|
|
130
|
-
<td style="text-align: center;">
|
|
131
|
-
<nobr><font>{{row.f_apply_num}}</font></nobr>
|
|
132
|
-
</td>
|
|
133
|
-
<td style="text-align: center;">
|
|
134
|
-
<nobr><font>{{row.
|
|
135
|
-
</td>
|
|
136
|
-
<td style="text-align: center;">
|
|
137
|
-
<nobr><font>{{row.f_contract_number}}</font></nobr>
|
|
138
|
-
</td>
|
|
139
|
-
<td style="text-align: center;">
|
|
140
|
-
<nobr><font>{{row.f_apply_type}}</font></nobr>
|
|
141
|
-
</td>
|
|
142
|
-
<td style="text-align: center;">
|
|
143
|
-
<nobr><font>{{row.f_charge_number}}</font></nobr>
|
|
144
|
-
</td>
|
|
145
|
-
<td style="text-align: center;">
|
|
146
|
-
<nobr><font>{{row.f_charge_money}}</font></nobr>
|
|
147
|
-
</td>
|
|
148
|
-
<td style="text-align: center;">
|
|
149
|
-
<nobr><font>{{row.f_payment_method}}</font></nobr>
|
|
150
|
-
</td>
|
|
151
|
-
<td style="text-align: center;">
|
|
152
|
-
<nobr><font>{{row.f_charge_collectors}}</font></nobr>
|
|
153
|
-
</td>
|
|
154
|
-
<td style="text-align: center;">
|
|
155
|
-
<nobr><font>{{row.f_charge_date}}</font></nobr>
|
|
156
|
-
</td>
|
|
157
|
-
<td style="text-align: center;">
|
|
158
|
-
<nobr><font>{{row.f_charge_status}}</font></nobr>
|
|
159
|
-
</td>
|
|
160
|
-
<td style="text-align: center;">
|
|
161
|
-
<nobr><font>{{row.f_address}}</font></nobr>
|
|
162
|
-
</td>
|
|
163
|
-
</tr>
|
|
164
|
-
</template>
|
|
165
|
-
</data-grid>
|
|
166
|
-
</criteria-paged>
|
|
167
|
-
</template>
|
|
168
|
-
|
|
169
|
-
<script>
|
|
170
|
-
import {PagedList} from 'vue-client'
|
|
171
|
-
import {HttpResetClass} from 'vue-client'
|
|
172
|
-
export default {
|
|
173
|
-
title: '报建收费列表',
|
|
174
|
-
data () {
|
|
175
|
-
return {
|
|
176
|
-
model: new PagedList('rs/sql/getApplyCharge', 30, {
|
|
177
|
-
data: {
|
|
178
|
-
orgid: this.$login.f.orgid
|
|
179
|
-
}
|
|
180
|
-
}, {
|
|
181
|
-
f_charge_money: 0
|
|
182
|
-
}),
|
|
183
|
-
applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')],
|
|
184
|
-
paymentMethod: [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式')],
|
|
185
|
-
chargingStatus: [
|
|
186
|
-
{label: '全部', value: ''},
|
|
187
|
-
{label: '有效', value: '有效'},
|
|
188
|
-
{label: '作废', value: '作废'}
|
|
189
|
-
],
|
|
190
|
-
criteriaShow: false,
|
|
191
|
-
chargeAll: {
|
|
192
|
-
count: 0,
|
|
193
|
-
sum: 0
|
|
194
|
-
},
|
|
195
|
-
getfield: {
|
|
196
|
-
'f_apply_num': '报建编号',
|
|
197
|
-
'f_entry_name': '项目名称',
|
|
198
|
-
'f_contract_number': '合同编号',
|
|
199
|
-
'f_apply_type': '报建类型',
|
|
200
|
-
'f_charge_money': '收费金额',
|
|
201
|
-
'f_payment_method': '付款方式',
|
|
202
|
-
'f_charge_collectors': '收费人员',
|
|
203
|
-
'f_charge_date': '收费日期',
|
|
204
|
-
'f_charge_status': '状态',
|
|
205
|
-
'f_address': '地址'
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
},
|
|
209
|
-
ready () {
|
|
210
|
-
// 调用查询
|
|
211
|
-
this.search()
|
|
212
|
-
},
|
|
213
|
-
methods: {
|
|
214
|
-
clear () {
|
|
215
|
-
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
216
|
-
this.$refs.cp.$refs.cri.model[key] = []
|
|
217
|
-
})
|
|
218
|
-
},
|
|
219
|
-
// 查询
|
|
220
|
-
search () {
|
|
221
|
-
this.$refs.cp.$refs.cri.search()
|
|
222
|
-
this.getChargeAll()
|
|
223
|
-
},
|
|
224
|
-
async getChargeAll () {
|
|
225
|
-
let http = new HttpResetClass()
|
|
226
|
-
let data = {
|
|
227
|
-
condition: this.model.condition,
|
|
228
|
-
data: {
|
|
229
|
-
orgid: this.$login.f.orgid
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
let res = await http.load('POST', 'rs/sql/getChargeAll', {data: data}, {resolveMsg: null, rejectMsg: null})
|
|
233
|
-
|
|
234
|
-
this.chargeAll = res.data[0]
|
|
235
|
-
}
|
|
236
|
-
},
|
|
237
|
-
computed: {
|
|
238
|
-
getCondition () {
|
|
239
|
-
return {
|
|
240
|
-
condition: this.$refs.cp.$refs.cri.condition,
|
|
241
|
-
data: {
|
|
242
|
-
orgid: this.$login.f.orgid
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
</script>
|
|
249
|
-
|
|
250
|
-
<style scoped>
|
|
251
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<criteria-paged :model="model" v-ref:cp>
|
|
3
|
+
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
|
4
|
+
<div class="form-horizontal select-overspread container-fluid auto" partial>
|
|
5
|
+
<div class="row">
|
|
6
|
+
<div class="form-group col-sm-3">
|
|
7
|
+
<label class="font_normal_body">项目名称:</label>
|
|
8
|
+
<input type="text" class="input_search" style="width: 60%" v-model="model.f_entry_name"
|
|
9
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="a.f_entry_name like '%{}%'" placeholder='项目名'>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="form-group col-sm-3">
|
|
12
|
+
<label for="startDate" class="font_normal_body">开始时间:</label>
|
|
13
|
+
<datepicker id="startDate" placeholder="开始日期"
|
|
14
|
+
style="width: 60%!important;"
|
|
15
|
+
v-model="model.startDate"
|
|
16
|
+
:value.sync="model.startDate"
|
|
17
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
18
|
+
:show-reset-button="true"
|
|
19
|
+
condition="cr.f_charge_date >= '{}'">
|
|
20
|
+
</datepicker>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="form-group col-sm-3">
|
|
23
|
+
<label for="endDate" class="font_normal_body">结束时间:</label>
|
|
24
|
+
<datepicker id="endDate" placeholder="结束日期"
|
|
25
|
+
style="width: 60%!important;"
|
|
26
|
+
v-model="model.endDate"
|
|
27
|
+
:value.sync="model.endDate"
|
|
28
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
29
|
+
:show-reset-button="true"
|
|
30
|
+
condition="cr.f_charge_date <= '{}'">
|
|
31
|
+
</datepicker>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="form-group col-sm-3 button-range">
|
|
34
|
+
<button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
|
|
35
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
36
|
+
<export-excel :data="$parent.$parent.getCondition"
|
|
37
|
+
:field="$parent.$parent.getfield"
|
|
38
|
+
sqlurl="rs/logic/applyExportfile"
|
|
39
|
+
sql-name="getApplyCharge"
|
|
40
|
+
template-name='收费记录信息导出'
|
|
41
|
+
:choose-col="true"></export-excel>
|
|
42
|
+
<div
|
|
43
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
44
|
+
@click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"
|
|
45
|
+
class="button_spacing"
|
|
46
|
+
style="float: right">
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
51
|
+
<div class="form-group col-sm-3">
|
|
52
|
+
<label class="font_normal_body">报建编号:</label>
|
|
53
|
+
<input type="text" style="width: 60%" class="input_search" placeholder='报建编号' v-model="model.f_apply_num"
|
|
54
|
+
v-on:keyup.enter="$parent.$parent.search()"
|
|
55
|
+
condition="a.f_apply_num = '{}'">
|
|
56
|
+
</div>
|
|
57
|
+
<div class="form-group col-sm-3">
|
|
58
|
+
<label class="font_normal_body">合同编号:</label>
|
|
59
|
+
<input type="text" style="width: 60%" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
|
|
60
|
+
v-on:keyup.enter="$parent.$parent.search()"
|
|
61
|
+
condition="a.f_contract_number = '{}'">
|
|
62
|
+
</div>
|
|
63
|
+
<div class="form-group col-sm-3">
|
|
64
|
+
<label class="font_normal_body">报建类型:</label>
|
|
65
|
+
<v-select
|
|
66
|
+
v-model="model.f_apply_type"
|
|
67
|
+
placeholder='请选择'
|
|
68
|
+
condition="a.f_apply_type = '{}'"
|
|
69
|
+
:value.sync="model.f_apply_type"
|
|
70
|
+
:options='$parent.$parent.applytype'
|
|
71
|
+
class="select select_list"
|
|
72
|
+
:value-single="true"
|
|
73
|
+
close-on-select ></v-select>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="form-group col-sm-3">
|
|
76
|
+
<label class="font_normal_body">收费人员:</label>
|
|
77
|
+
<input type="text" class="input_search" style="width: 60%" placeholder='收费人员' v-model="model.f_charge_collectors"
|
|
78
|
+
v-on:keyup.enter="$parent.$parent.search()"
|
|
79
|
+
condition="cr.f_charge_collectors like '%{}%'">
|
|
80
|
+
</div>
|
|
81
|
+
<div class="form-group col-sm-3">
|
|
82
|
+
<label class="font_normal_body">付款方式:</label>
|
|
83
|
+
<v-select
|
|
84
|
+
v-model="model.f_payment_method"
|
|
85
|
+
placeholder='请选择'
|
|
86
|
+
condition="cr.f_payment_method = '{}'"
|
|
87
|
+
:value.sync="model.f_payment_method"
|
|
88
|
+
:options='$parent.$parent.paymentMethod'
|
|
89
|
+
class="select select_list"
|
|
90
|
+
:value-single="true"
|
|
91
|
+
close-on-select ></v-select>
|
|
92
|
+
</div>
|
|
93
|
+
<div class="form-group col-sm-3">
|
|
94
|
+
<label class="font_normal_body">缴费状态:</label>
|
|
95
|
+
<v-select
|
|
96
|
+
v-model="model.f_charge_status"
|
|
97
|
+
placeholder='请选择'
|
|
98
|
+
condition="cr.f_charge_status = '{}'"
|
|
99
|
+
:value.sync="model.f_charge_status"
|
|
100
|
+
:options='$parent.$parent.chargingStatus'
|
|
101
|
+
class="select select_list"
|
|
102
|
+
:value-single="true"
|
|
103
|
+
close-on-select ></v-select>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
</criteria>
|
|
108
|
+
<data-grid :model="model" partial='list' v-ref:grid style="overflow: auto" class="list_area table_sy">
|
|
109
|
+
<template partial='head'>
|
|
110
|
+
<tr>
|
|
111
|
+
<th>序号</th>
|
|
112
|
+
<th>报建编号</th>
|
|
113
|
+
<th>项目名称</th>
|
|
114
|
+
<th>合同编号</th>
|
|
115
|
+
<th>报建类型</th>
|
|
116
|
+
<th>缴费编码</th>
|
|
117
|
+
<th>收费金额</th>
|
|
118
|
+
<th>付款方式</th>
|
|
119
|
+
<th>收费人员</th>
|
|
120
|
+
<th>收费日期</th>
|
|
121
|
+
<th>状态</th>
|
|
122
|
+
<th>地址</th>
|
|
123
|
+
</tr>
|
|
124
|
+
</template>
|
|
125
|
+
<template partial='body'>
|
|
126
|
+
<tr >
|
|
127
|
+
<td style="text-align: center;">
|
|
128
|
+
<nobr><font>{{$index+1}}</font></nobr>
|
|
129
|
+
</td>
|
|
130
|
+
<td style="text-align: center;">
|
|
131
|
+
<nobr><font>{{row.f_apply_num}}</font></nobr>
|
|
132
|
+
</td>
|
|
133
|
+
<td style="text-align: center;">
|
|
134
|
+
<nobr><font>{{row.f_entry_name}}</font></nobr>
|
|
135
|
+
</td>
|
|
136
|
+
<td style="text-align: center;">
|
|
137
|
+
<nobr><font>{{row.f_contract_number}}</font></nobr>
|
|
138
|
+
</td>
|
|
139
|
+
<td style="text-align: center;">
|
|
140
|
+
<nobr><font>{{row.f_apply_type}}</font></nobr>
|
|
141
|
+
</td>
|
|
142
|
+
<td style="text-align: center;">
|
|
143
|
+
<nobr><font>{{row.f_charge_number}}</font></nobr>
|
|
144
|
+
</td>
|
|
145
|
+
<td style="text-align: center;">
|
|
146
|
+
<nobr><font>{{row.f_charge_money}}</font></nobr>
|
|
147
|
+
</td>
|
|
148
|
+
<td style="text-align: center;">
|
|
149
|
+
<nobr><font>{{row.f_payment_method}}</font></nobr>
|
|
150
|
+
</td>
|
|
151
|
+
<td style="text-align: center;">
|
|
152
|
+
<nobr><font>{{row.f_charge_collectors}}</font></nobr>
|
|
153
|
+
</td>
|
|
154
|
+
<td style="text-align: center;">
|
|
155
|
+
<nobr><font>{{row.f_charge_date}}</font></nobr>
|
|
156
|
+
</td>
|
|
157
|
+
<td style="text-align: center;">
|
|
158
|
+
<nobr><font>{{row.f_charge_status}}</font></nobr>
|
|
159
|
+
</td>
|
|
160
|
+
<td style="text-align: center;">
|
|
161
|
+
<nobr><font>{{row.f_address}}</font></nobr>
|
|
162
|
+
</td>
|
|
163
|
+
</tr>
|
|
164
|
+
</template>
|
|
165
|
+
</data-grid>
|
|
166
|
+
</criteria-paged>
|
|
167
|
+
</template>
|
|
168
|
+
|
|
169
|
+
<script>
|
|
170
|
+
import {PagedList} from 'vue-client'
|
|
171
|
+
import {HttpResetClass} from 'vue-client'
|
|
172
|
+
export default {
|
|
173
|
+
title: '报建收费列表',
|
|
174
|
+
data () {
|
|
175
|
+
return {
|
|
176
|
+
model: new PagedList('rs/sql/getApplyCharge', 30, {
|
|
177
|
+
data: {
|
|
178
|
+
orgid: this.$login.f.orgid
|
|
179
|
+
}
|
|
180
|
+
}, {
|
|
181
|
+
f_charge_money: 0
|
|
182
|
+
}),
|
|
183
|
+
applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')],
|
|
184
|
+
paymentMethod: [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式')],
|
|
185
|
+
chargingStatus: [
|
|
186
|
+
{label: '全部', value: ''},
|
|
187
|
+
{label: '有效', value: '有效'},
|
|
188
|
+
{label: '作废', value: '作废'}
|
|
189
|
+
],
|
|
190
|
+
criteriaShow: false,
|
|
191
|
+
chargeAll: {
|
|
192
|
+
count: 0,
|
|
193
|
+
sum: 0
|
|
194
|
+
},
|
|
195
|
+
getfield: {
|
|
196
|
+
'f_apply_num': '报建编号',
|
|
197
|
+
'f_entry_name': '项目名称',
|
|
198
|
+
'f_contract_number': '合同编号',
|
|
199
|
+
'f_apply_type': '报建类型',
|
|
200
|
+
'f_charge_money': '收费金额',
|
|
201
|
+
'f_payment_method': '付款方式',
|
|
202
|
+
'f_charge_collectors': '收费人员',
|
|
203
|
+
'f_charge_date': '收费日期',
|
|
204
|
+
'f_charge_status': '状态',
|
|
205
|
+
'f_address': '地址'
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
ready () {
|
|
210
|
+
// 调用查询
|
|
211
|
+
this.search()
|
|
212
|
+
},
|
|
213
|
+
methods: {
|
|
214
|
+
clear () {
|
|
215
|
+
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
216
|
+
this.$refs.cp.$refs.cri.model[key] = []
|
|
217
|
+
})
|
|
218
|
+
},
|
|
219
|
+
// 查询
|
|
220
|
+
search () {
|
|
221
|
+
this.$refs.cp.$refs.cri.search()
|
|
222
|
+
this.getChargeAll()
|
|
223
|
+
},
|
|
224
|
+
async getChargeAll () {
|
|
225
|
+
let http = new HttpResetClass()
|
|
226
|
+
let data = {
|
|
227
|
+
condition: this.model.condition,
|
|
228
|
+
data: {
|
|
229
|
+
orgid: this.$login.f.orgid
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
let res = await http.load('POST', 'rs/sql/getChargeAll', {data: data}, {resolveMsg: null, rejectMsg: null})
|
|
233
|
+
|
|
234
|
+
this.chargeAll = res.data[0]
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
computed: {
|
|
238
|
+
getCondition () {
|
|
239
|
+
return {
|
|
240
|
+
condition: this.$refs.cp.$refs.cri.condition,
|
|
241
|
+
data: {
|
|
242
|
+
orgid: this.$login.f.orgid
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
</script>
|
|
249
|
+
|
|
250
|
+
<style scoped>
|
|
251
|
+
</style>
|