apply-clients 3.3.5 → 3.3.6
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/components/product/ApplyCharge/ApplyChargeList.vue +32 -14
- package/src/components/product/ApplyCharge/ApplyChargeSearch.vue +30 -30
- package/src/components/product/Order/OrderApplyList.vue +48 -37
- package/src/components/product/Order/OrderMessage.vue +20 -5
- package/src/components/product/Process/Processes/chargeManagement.vue +30 -9
- package/src/components/product/Process/Processes/printCharge.vue +130 -126
- package/src/components/product/Process/Service/ServiceControl.vue +57 -2
package/package.json
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<criteria-paged :model="model" v-ref:cp>
|
|
3
|
-
<criteria partial='criteria' @condition-changed='
|
|
3
|
+
<criteria partial='criteria' @condition-changed='$parent.searchCondition' v-ref:cri>
|
|
4
4
|
<div class="form-horizontal select-overspread container-fluid auto" partial>
|
|
5
5
|
<div class="row">
|
|
6
6
|
<div class="form-group col-sm-3">
|
|
7
|
-
<label class="font_normal_body"
|
|
8
|
-
<
|
|
9
|
-
|
|
7
|
+
<label class="font_normal_body">组织机构:</label>
|
|
8
|
+
<res-select
|
|
9
|
+
restype='organization'
|
|
10
|
+
:initresid='$parent.$parent.curorgid'
|
|
11
|
+
@res-select="$parent.$parent.getorg"
|
|
12
|
+
is-mul="false"
|
|
13
|
+
></res-select>
|
|
10
14
|
</div>
|
|
11
15
|
<div class="form-group col-sm-3">
|
|
12
16
|
<label for="startDate" class="font_normal_body">开始时间:</label>
|
|
@@ -54,6 +58,11 @@
|
|
|
54
58
|
v-on:keyup.enter="$parent.$parent.search()"
|
|
55
59
|
condition="a.f_apply_num = '{}'">
|
|
56
60
|
</div>
|
|
61
|
+
<div class="form-group col-sm-3">
|
|
62
|
+
<label class="font_normal_body">项目名称:</label>
|
|
63
|
+
<input type="text" class="input_search" style="width: 60%" v-model="model.f_entry_name"
|
|
64
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="a.f_entry_name like '%{}%'" placeholder='项目名'>
|
|
65
|
+
</div>
|
|
57
66
|
<div class="form-group col-sm-3">
|
|
58
67
|
<label class="font_normal_body">合同编号:</label>
|
|
59
68
|
<input type="text" style="width: 60%" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
|
|
@@ -114,10 +123,10 @@
|
|
|
114
123
|
<th>合同编号</th>
|
|
115
124
|
<th>报建类型</th>
|
|
116
125
|
<th>缴费编码</th>
|
|
117
|
-
<th
|
|
126
|
+
<th>收费金额(退款金额)</th>
|
|
118
127
|
<th>付款方式</th>
|
|
119
|
-
<th
|
|
120
|
-
<th
|
|
128
|
+
<th>收费人员(退款人员)</th>
|
|
129
|
+
<th>收费日期(退款日期)</th>
|
|
121
130
|
<th>状态</th>
|
|
122
131
|
</tr>
|
|
123
132
|
</template>
|
|
@@ -169,19 +178,17 @@ export default {
|
|
|
169
178
|
title: '报建收费列表',
|
|
170
179
|
data () {
|
|
171
180
|
return {
|
|
172
|
-
model: new PagedList('rs/sql/getApplyCharge', 30, {
|
|
173
|
-
data: {
|
|
174
|
-
orgid: this.$login.f.orgid
|
|
175
|
-
}
|
|
176
|
-
}, {
|
|
181
|
+
model: new PagedList('rs/sql/getApplyCharge', 30, null, {
|
|
177
182
|
f_charge_money: 0
|
|
178
183
|
}),
|
|
184
|
+
curorgid: [this.$login.f.orgid],
|
|
179
185
|
applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')],
|
|
180
186
|
paymentMethod: [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式')],
|
|
181
187
|
chargeStatus: [
|
|
182
188
|
{label: '全部', value: ''},
|
|
183
189
|
{label: '有效', value: '有效'},
|
|
184
|
-
{label: '作废', value: '作废'}
|
|
190
|
+
{label: '作废', value: '作废'},
|
|
191
|
+
{label: '退款', value: '退款'}
|
|
185
192
|
],
|
|
186
193
|
criteriaShow: false,
|
|
187
194
|
chargeAll: {
|
|
@@ -208,9 +215,13 @@ export default {
|
|
|
208
215
|
methods: {
|
|
209
216
|
clear () {
|
|
210
217
|
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
211
|
-
this.$refs.cp.$refs.cri.model[key] =
|
|
218
|
+
this.$refs.cp.$refs.cri.model[key] = ''
|
|
212
219
|
})
|
|
213
220
|
},
|
|
221
|
+
searchCondition (args) {
|
|
222
|
+
args.condition = args.condition + ` and cr.f_orgid = '${this.curorgid[0]}'`
|
|
223
|
+
this.model.search(args.condition, args.model)
|
|
224
|
+
},
|
|
214
225
|
// 查询
|
|
215
226
|
search () {
|
|
216
227
|
this.$refs.cp.$refs.cri.search()
|
|
@@ -227,6 +238,13 @@ export default {
|
|
|
227
238
|
let res = await http.load('POST', 'rs/sql/getChargeAll', {data: data}, {resolveMsg: null, rejectMsg: null})
|
|
228
239
|
|
|
229
240
|
this.chargeAll = res.data[0]
|
|
241
|
+
},
|
|
242
|
+
getorg (val) {
|
|
243
|
+
if (val.length <= 0) {
|
|
244
|
+
return
|
|
245
|
+
}
|
|
246
|
+
this.curorgid = val
|
|
247
|
+
this.search()
|
|
230
248
|
}
|
|
231
249
|
},
|
|
232
250
|
computed: {
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="flex-row">
|
|
3
|
-
<div class="basic-main">
|
|
4
|
-
<div style="height: 95%">
|
|
5
|
-
<apply-charge-list v-ref:query ></apply-charge-list>
|
|
6
|
-
</div>
|
|
7
|
-
<p class="bg-info text-center" style="font-size: 20px;height: 5%"
|
|
8
|
-
|
|
9
|
-
合计金额<span style="color: red"
|
|
10
|
-
</p>
|
|
11
|
-
</div>
|
|
12
|
-
</div>
|
|
13
|
-
</template>
|
|
14
|
-
|
|
15
|
-
<script>
|
|
16
|
-
export default {
|
|
17
|
-
title: '报建收费明细',
|
|
18
|
-
data () {
|
|
19
|
-
return {
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
ready () {
|
|
23
|
-
},
|
|
24
|
-
methods: {
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
<style scoped>
|
|
30
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="flex-row">
|
|
3
|
+
<div class="basic-main">
|
|
4
|
+
<div style="height: 95%">
|
|
5
|
+
<apply-charge-list v-ref:query ></apply-charge-list>
|
|
6
|
+
</div>
|
|
7
|
+
<p class="bg-info text-center" style="font-size: 20px;height: 5%">
|
|
8
|
+
合计记录共<span style="color: red"> {{$refs.query.chargeAll.count}} </span>笔,
|
|
9
|
+
合计金额<span style="color: red"> {{$refs.query.chargeAll.sum}} </span>元
|
|
10
|
+
</p>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script>
|
|
16
|
+
export default {
|
|
17
|
+
title: '报建收费明细',
|
|
18
|
+
data () {
|
|
19
|
+
return {
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
ready () {
|
|
23
|
+
},
|
|
24
|
+
methods: {
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<style scoped>
|
|
30
|
+
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="col-sm-12">
|
|
3
3
|
<criteria-paged :model="model" v-ref:cp>
|
|
4
|
-
<criteria partial='criteria' @condition-changed='
|
|
4
|
+
<criteria partial='criteria' @condition-changed='$parent.searchCondition' v-ref:cri>
|
|
5
5
|
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
6
6
|
<div class="row">
|
|
7
7
|
<div class="form-group col-sm-3">
|
|
@@ -13,12 +13,24 @@
|
|
|
13
13
|
is-mul="false"
|
|
14
14
|
></res-select>
|
|
15
15
|
</div>
|
|
16
|
+
<div class="form-group col-sm-3">
|
|
17
|
+
<label class="font_normal_body">预约类型:</label>
|
|
18
|
+
<v-select
|
|
19
|
+
v-model="model.f_ordertype"
|
|
20
|
+
placeholder='预约类型'
|
|
21
|
+
condition="o.f_ordertype = '{}'"
|
|
22
|
+
:value.sync="model.f_ordertype"
|
|
23
|
+
:options='$parent.$parent.orderType'
|
|
24
|
+
class="select select_list"
|
|
25
|
+
:value-single="true"
|
|
26
|
+
close-on-select ></v-select>
|
|
27
|
+
</div>
|
|
16
28
|
<div class="form-group col-sm-3">
|
|
17
29
|
<label class="font_normal_body">处理状态:</label>
|
|
18
30
|
<v-select
|
|
19
31
|
v-model="model.f_orderstate"
|
|
20
32
|
placeholder='处理状态'
|
|
21
|
-
condition="f_orderstate
|
|
33
|
+
condition="o.f_orderstate = '{}'"
|
|
22
34
|
:value.sync="model.f_orderstate"
|
|
23
35
|
:options='$parent.$parent.orderState'
|
|
24
36
|
class="select select_list"
|
|
@@ -38,63 +50,51 @@
|
|
|
38
50
|
</div>
|
|
39
51
|
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
40
52
|
<div class="form-group col-sm-3">
|
|
41
|
-
<label class="font_normal_body"
|
|
53
|
+
<label class="font_normal_body">预约来源:</label>
|
|
42
54
|
<v-select
|
|
43
|
-
placeholder='
|
|
44
|
-
v-model="model.
|
|
45
|
-
:value.sync="model.
|
|
46
|
-
condition="
|
|
47
|
-
:options='$parent.$parent.
|
|
55
|
+
placeholder='预约来源'
|
|
56
|
+
v-model="model.f_order_source"
|
|
57
|
+
:value.sync="model.f_order_source"
|
|
58
|
+
condition="o.f_order_source = '{}'"
|
|
59
|
+
:options='$parent.$parent.orderSource'
|
|
48
60
|
class="select select_list"
|
|
49
61
|
:value-single="true"
|
|
50
62
|
close-on-select ></v-select>
|
|
51
63
|
</div>
|
|
52
64
|
<div class="form-group col-sm-3">
|
|
53
|
-
<label class="font_normal_body"
|
|
54
|
-
<v-
|
|
55
|
-
|
|
56
|
-
v-model="model.f_user_nature"
|
|
57
|
-
:value.sync="model.f_user_nature"
|
|
58
|
-
condition="f_user_nature like '%{}%'"
|
|
59
|
-
:options='$parent.$parent.userNature'
|
|
60
|
-
class="select select_list"
|
|
61
|
-
:value-single="true"
|
|
62
|
-
close-on-select ></v-select>
|
|
65
|
+
<label class="font_normal_body">用户编号:</label>
|
|
66
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
|
|
67
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="o.f_userinfo_code like '%{}%'" placeholder='用户编号'>
|
|
63
68
|
</div>
|
|
64
69
|
<div class="form-group col-sm-3">
|
|
65
70
|
<label class="font_normal_body">用户姓名:</label>
|
|
66
71
|
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
|
|
67
|
-
v-on:keyup.enter="$parent.$parent.search()" condition="f_user_name like '%{}%'" placeholder='用户姓名'>
|
|
68
|
-
</div>
|
|
69
|
-
<div class="form-group col-sm-3">
|
|
70
|
-
<label class="font_normal_body">联 系 人:</label>
|
|
71
|
-
<input type="text" style="width:60%" class="input_search" v-model="model.f_contact"
|
|
72
|
-
v-on:keyup.enter="$parent.$parent.search()" condition="f_contact like '%{}%'" placeholder='联系人'>
|
|
72
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="o.f_user_name like '%{}%'" placeholder='用户姓名'>
|
|
73
73
|
</div>
|
|
74
74
|
<div class="form-group col-sm-3">
|
|
75
75
|
<label class="font_normal_body">联系电话:</label>
|
|
76
76
|
<input type="text" style="width:60%" class="input_search" v-model="model.f_phone"
|
|
77
|
-
v-on:keyup.enter="$parent.$parent.search()" condition="f_phone like '%{}%'" placeholder='联系电话'>
|
|
77
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="o.f_phone like '%{}%'" placeholder='联系电话'>
|
|
78
78
|
</div>
|
|
79
79
|
<div class="form-group col-sm-3">
|
|
80
80
|
<label class="font_normal_body">详细地址:</label>
|
|
81
81
|
<input type="text" style="width:60%" class="input_search" v-model="model.f_address"
|
|
82
|
-
v-on:keyup.enter="$parent.$parent.search()" condition="f_address like '%{}%'" placeholder='详细地址'>
|
|
82
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="o.f_address like '%{}%'" placeholder='详细地址'>
|
|
83
83
|
</div>
|
|
84
84
|
<div class="form-group col-sm-3">
|
|
85
85
|
<label class="font_normal_body">审 核 人:</label>
|
|
86
86
|
<input type="text" style="width:60%" class="input_search" v-model="model.f_check_user"
|
|
87
|
-
v-on:keyup.enter="$parent.$parent.search()" condition="f_check_user like '%{}%'" placeholder='审核人'>
|
|
87
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="o.f_check_user like '%{}%'" placeholder='审核人'>
|
|
88
88
|
</div>
|
|
89
89
|
<div class="form-group col-sm-3">
|
|
90
90
|
<label class="font_normal_body">处 理 人:</label>
|
|
91
91
|
<input type="text" style="width:60%" class="input_search" v-model="model.f_process_user"
|
|
92
|
-
v-on:keyup.enter="$parent.$parent.search()" condition="f_process_user like '%{}%'" placeholder='处理人'>
|
|
92
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="o.f_process_user like '%{}%'" placeholder='处理人'>
|
|
93
93
|
</div>
|
|
94
94
|
<div class="form-group col-sm-3">
|
|
95
95
|
<label class="font_normal_body">报建编号:</label>
|
|
96
96
|
<input type="text" style="width:60%" class="input_search" v-model="model.f_apply_num"
|
|
97
|
-
v-on:keyup.enter="$parent.$parent.search()" condition="f_apply_num like '%{}%'" placeholder='报建编号'>
|
|
97
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="u.f_apply_num like '%{}%'" placeholder='报建编号'>
|
|
98
98
|
</div>
|
|
99
99
|
<div class="form-group col-sm-3">
|
|
100
100
|
<label for="startDate" class="font_normal_body">开始时间:</label>
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
:value.sync="model.startDate"
|
|
105
105
|
:format="'yyyy-MM-dd 00:00:00'"
|
|
106
106
|
:show-reset-button="true"
|
|
107
|
-
condition="f_orderdate >= to_date('{}', 'yyyy-mm-dd hh24:mi:ss')">
|
|
107
|
+
condition="o.f_orderdate >= to_date('{}', 'yyyy-mm-dd hh24:mi:ss')">
|
|
108
108
|
</datepicker>
|
|
109
109
|
</div>
|
|
110
110
|
<div class="form-group col-sm-3">
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
:value.sync="model.endDate"
|
|
116
116
|
:format="'yyyy-MM-dd 23:59:59'"
|
|
117
117
|
:show-reset-button="true"
|
|
118
|
-
condition="f_orderdate <= to_date('{}', 'yyyy-mm-dd hh24:mi:ss')">
|
|
118
|
+
condition="o.f_orderdate <= to_date('{}', 'yyyy-mm-dd hh24:mi:ss')">
|
|
119
119
|
</datepicker>
|
|
120
120
|
</div>
|
|
121
121
|
</div>
|
|
@@ -195,19 +195,25 @@ export default {
|
|
|
195
195
|
title: '预约单',
|
|
196
196
|
data () {
|
|
197
197
|
return {
|
|
198
|
-
model: new PagedList('rs/sql/getOrderApply', 20,
|
|
199
|
-
data: {
|
|
200
|
-
orgid: this.$login.f.orgid
|
|
201
|
-
}
|
|
202
|
-
}),
|
|
198
|
+
model: new PagedList('rs/sql/getOrderApply', 20, null),
|
|
203
199
|
curorgid: [this.$login.f.orgid],
|
|
204
200
|
criteriaShow: false,
|
|
201
|
+
orderType: [
|
|
202
|
+
{'label': '预约报装', 'value': '预约报装'},
|
|
203
|
+
{'label': '预约改管', 'value': '预约改管'},
|
|
204
|
+
{'label': '预约增容', 'value': '预约增容'},
|
|
205
|
+
{'label': '预约点火', 'value': '预约点火'}
|
|
206
|
+
],
|
|
205
207
|
orderState: [
|
|
206
208
|
{'label': '待审核', 'value': '待审核'},
|
|
207
209
|
{'label': '待处理', 'value': '待处理'},
|
|
208
210
|
{'label': '预约成功', 'value': '预约成功'},
|
|
209
211
|
{'label': '预约失败', 'value': '预约失败'}
|
|
210
212
|
],
|
|
213
|
+
orderSource: [
|
|
214
|
+
{'label': '微客服', 'value': '微客服'},
|
|
215
|
+
{'label': '呼叫中心', 'value': '呼叫中心'}
|
|
216
|
+
],
|
|
211
217
|
userType: [
|
|
212
218
|
{'label': '个人', 'value': '个人'},
|
|
213
219
|
{'label': '整体小区', 'value': '整体小区'}
|
|
@@ -229,6 +235,10 @@ export default {
|
|
|
229
235
|
handleOrder (type, row) {
|
|
230
236
|
this.$dispatch('handleOrder', type, row)
|
|
231
237
|
},
|
|
238
|
+
searchCondition (args) {
|
|
239
|
+
args.condition = args.condition + ` and o.f_orgid = '${this.curorgid[0]}'`
|
|
240
|
+
this.model.search(args.condition, args.model)
|
|
241
|
+
},
|
|
232
242
|
search () {
|
|
233
243
|
this.$dispatch('search')
|
|
234
244
|
},
|
|
@@ -241,7 +251,8 @@ export default {
|
|
|
241
251
|
if (val.length <= 0) {
|
|
242
252
|
return
|
|
243
253
|
}
|
|
244
|
-
this.
|
|
254
|
+
this.curorgid = val
|
|
255
|
+
this.search()
|
|
245
256
|
}
|
|
246
257
|
},
|
|
247
258
|
computed: {
|
|
@@ -39,6 +39,17 @@
|
|
|
39
39
|
v-model="selectdata.f_orderremark"
|
|
40
40
|
></textarea>
|
|
41
41
|
</div>
|
|
42
|
+
<div class="col-sm-12" style="min-height: 200px;max-height: 300px;margin: 10px auto" v-if="selectdata.f_fileurl">
|
|
43
|
+
<!-- <a href="http://192.168.20.27:8400/zhoukou-oracle/files/2021/9/17/fd2bd8dbe150f1c99d897f3c1ac1db45.jpg" target="_blank">-->
|
|
44
|
+
<!-- <img style="min-height: 150px;max-height: 200px;" src="http://192.168.20.27:8400/zhoukou-oracle/files/2021/9/17/fd2bd8dbe150f1c99d897f3c1ac1db45.jpg">-->
|
|
45
|
+
<!-- </a>-->
|
|
46
|
+
<a :href="selectdata.f_fileurl" target="_blank">
|
|
47
|
+
<img style="min-height: 150px;max-height: 200px;" :src="selectdata.f_fileurl">
|
|
48
|
+
</a>
|
|
49
|
+
<!-- <div class="col-sm-12 form-group" style="height: 200px!important;">-->
|
|
50
|
+
<!-- <img style="margin: auto;height: 100%" :src="selectdata.f_fileurl">-->
|
|
51
|
+
<!-- {{selectdata.f_fileurl}}-->
|
|
52
|
+
</div>
|
|
42
53
|
</div>
|
|
43
54
|
<!-- 审核信息 -->
|
|
44
55
|
<div class="auto" v-if="type === 'check' || selectdata.f_orderstate !== '待审核'">
|
|
@@ -80,11 +91,7 @@
|
|
|
80
91
|
<label class="font_normal_body">工程名称</label>
|
|
81
92
|
<input type="text" class="input_search" style="width: 60%" v-model="apply.f_entry_name" v-validate:f_entry_name = "['required']" :readonly="selectdata.f_orderstate === '预约成功'" />
|
|
82
93
|
</div>
|
|
83
|
-
<div class="col-sm-6 form-group" v-if="selectdata.f_ordertype === '
|
|
84
|
-
<label class="font_normal_body">报建类型</label>
|
|
85
|
-
<input type="text" class="input_search" style="width: 60%" v-model="apply.f_apply_type" value="改管报建" readonly />
|
|
86
|
-
</div>
|
|
87
|
-
<div class="col-sm-6 form-group" v-else :class="[$v.f_apply_type.required ? 'has-error' : '']">
|
|
94
|
+
<div class="col-sm-6 form-group" v-if="selectdata.f_ordertype === '预约报装'" :class="[$v.f_apply_type.required ? 'has-error' : '']">
|
|
88
95
|
<label class="font_normal_body">报建类型</label>
|
|
89
96
|
<input type="text" v-show="false" v-validate:f_apply_type = "['required']" v-model="apply.f_apply_type">
|
|
90
97
|
<v-select
|
|
@@ -97,6 +104,14 @@
|
|
|
97
104
|
width="60%" :disabled="selectdata.f_orderstate === '预约成功'"
|
|
98
105
|
close-on-select ></v-select>
|
|
99
106
|
</div>
|
|
107
|
+
<div class="col-sm-6 form-group" v-if="selectdata.f_ordertype === '预约改管'">
|
|
108
|
+
<label class="font_normal_body">报建类型</label>
|
|
109
|
+
<input type="text" class="input_search" style="width: 60%" v-model="apply.f_apply_type" value="改管报建" readonly />
|
|
110
|
+
</div>
|
|
111
|
+
<div class="col-sm-6 form-group" v-if="selectdata.f_ordertype === '预约增容'">
|
|
112
|
+
<label class="font_normal_body">报建类型</label>
|
|
113
|
+
<input type="text" class="input_search" style="width: 60%" v-model="apply.f_apply_type" value="增容报建" readonly />
|
|
114
|
+
</div>
|
|
100
115
|
<div class="col-sm-6 form-group" v-if="selectdata.f_orderstate === '预约成功'">
|
|
101
116
|
<label class="font_normal_body">办 理 人</label>
|
|
102
117
|
<input type="text" class="input_search" style="width: 60%" v-model="selectdata.f_dispose_operator" readonly />
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<th class="textNoLineBreak">序号</th>
|
|
7
7
|
<th class="textNoLineBreak" v-if="selectdata.f_apply_type !== '开发商集体报建'">地址</th>
|
|
8
8
|
<th class="textNoLineBreak">缴费编号</th>
|
|
9
|
-
<th class="textNoLineBreak"
|
|
9
|
+
<th class="textNoLineBreak">收费金额(退款金额)</th>
|
|
10
10
|
<th class="textNoLineBreak">金额大写</th>
|
|
11
11
|
<th class="textNoLineBreak">收费项目</th>
|
|
12
12
|
<th class="textNoLineBreak">付款方式</th>
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
<nobr>{{row.f_charge_remarks}}</nobr>
|
|
73
73
|
</td>
|
|
74
74
|
<td style="text-align: center;">
|
|
75
|
-
<nobr>{{row.
|
|
75
|
+
<nobr>{{row.f_charge_status}}</nobr>
|
|
76
76
|
</td>
|
|
77
77
|
<td style="text-align: center;">
|
|
78
78
|
<nobr>{{row.f_void_staff}}</nobr>
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
<nobr>{{row.f_void_remarks}}</nobr>
|
|
85
85
|
</td>
|
|
86
86
|
<td style="text-align: center;">
|
|
87
|
-
<nobr>
|
|
87
|
+
<nobr v-if="row.f_charge_status !== '退款'">
|
|
88
88
|
<button
|
|
89
89
|
type="button"
|
|
90
90
|
name="button"
|
|
@@ -161,6 +161,7 @@
|
|
|
161
161
|
:options='paymentMethod'
|
|
162
162
|
class="select select_list"
|
|
163
163
|
:value-single="true"
|
|
164
|
+
@change="changePaymentMethod()"
|
|
164
165
|
close-on-select ></input-select>
|
|
165
166
|
</div>
|
|
166
167
|
</div>
|
|
@@ -171,17 +172,15 @@
|
|
|
171
172
|
class="form-control input_view"
|
|
172
173
|
style="width: 100%"
|
|
173
174
|
v-validate:f_payer_name = "['required']"
|
|
174
|
-
v-model="charge.f_payer_name" />
|
|
175
|
+
v-model="charge.f_payer_name" value="" />
|
|
175
176
|
</div>
|
|
176
177
|
</div>
|
|
177
178
|
<div class="form-group col-sm-12" v-if="charge.f_payment_method === '银行转账'" :class="[$v.f_payer_account.required ? 'has-error' : '']">
|
|
178
179
|
<label class="col-sm-2 control-label">付款方账号:</label>
|
|
179
180
|
<div class="col-sm-10">
|
|
180
|
-
<input type="text"
|
|
181
|
-
class="form-control input_view"
|
|
182
|
-
style="width: 100%"
|
|
181
|
+
<input type="text" style="width: 100%" class="form-control input_view"
|
|
183
182
|
v-validate:f_payer_account = "['required']"
|
|
184
|
-
v-model="charge.f_payer_account" />
|
|
183
|
+
v-model="charge.f_payer_account" value=""/>
|
|
185
184
|
</div>
|
|
186
185
|
</div>
|
|
187
186
|
<div class="form-group col-sm-12" v-if="charge.f_payment_method === '银行转账'" :class="[$v.f_payer_number.required ? 'has-error' : '']">
|
|
@@ -191,7 +190,7 @@
|
|
|
191
190
|
class="form-control input_view"
|
|
192
191
|
style="width: 100%" @change="payerNumberChange()"
|
|
193
192
|
v-validate:f_payer_number = "['required']"
|
|
194
|
-
v-model="charge.f_payer_number" />
|
|
193
|
+
v-model="charge.f_payer_number" value="" />
|
|
195
194
|
</div>
|
|
196
195
|
</div>
|
|
197
196
|
<div class="form-group col-sm-12">
|
|
@@ -378,6 +377,7 @@
|
|
|
378
377
|
import {getNowDate,isEmpty} from '../../../Util'
|
|
379
378
|
import {PagedList} from 'vue-client'
|
|
380
379
|
import {HttpResetClass} from 'vue-client'
|
|
380
|
+
import Vue from 'vue'
|
|
381
381
|
|
|
382
382
|
export default {
|
|
383
383
|
title: '收费管理',
|
|
@@ -531,6 +531,22 @@ export default {
|
|
|
531
531
|
}
|
|
532
532
|
return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
|
|
533
533
|
},
|
|
534
|
+
async changePaymentMethod () {
|
|
535
|
+
if (this.charge.f_payment_method === '银行转账' && this.selectdata.f_apply_type === '团购报建') {
|
|
536
|
+
let http = new HttpResetClass()
|
|
537
|
+
let data = {
|
|
538
|
+
tablename: 't_dev_info',
|
|
539
|
+
condition: `f_orgid = '${this.$login.f.orgid}' and id = '${this.selectdata.f_dev_id}'`
|
|
540
|
+
}
|
|
541
|
+
let res = await http.load('POST', 'rs/sql/singleTable', {data:data}, {
|
|
542
|
+
resolveMsg: null,
|
|
543
|
+
rejectMsg: '开发商档案查询失败!!!'
|
|
544
|
+
})
|
|
545
|
+
|
|
546
|
+
this.charge.f_payer_name = res.data[0].f_dev_name
|
|
547
|
+
this.charge.f_payer_account = res.data[0].f_bank_account
|
|
548
|
+
}
|
|
549
|
+
},
|
|
534
550
|
async getUserAddress() {
|
|
535
551
|
let http = new HttpResetClass()
|
|
536
552
|
let data = {}
|
|
@@ -568,11 +584,16 @@ export default {
|
|
|
568
584
|
async showChargeModal() {
|
|
569
585
|
this.getUserAddress()
|
|
570
586
|
|
|
587
|
+
if (this.selectdata.f_apply_type === '团购报建') {
|
|
588
|
+
this.charge.f_dev_info_id = this.selectdata.f_dev_id
|
|
589
|
+
}
|
|
590
|
+
|
|
571
591
|
this.showCharge = true
|
|
572
592
|
},
|
|
573
593
|
async search () {
|
|
574
594
|
let http = new HttpResetClass()
|
|
575
595
|
let data = {
|
|
596
|
+
// condition: `cr.f_charge_status != '退款'`,
|
|
576
597
|
f_process_id: this.selectdata.f_process_id
|
|
577
598
|
}
|
|
578
599
|
let res = await http.load('POST', 'rs/sql/getApplyChargeRecord', {data:data}, {
|
|
@@ -1,126 +1,130 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<style id="style">
|
|
3
|
-
td{
|
|
4
|
-
height: 50px;
|
|
5
|
-
width: 40px;
|
|
6
|
-
text-align: center;
|
|
7
|
-
}
|
|
8
|
-
table{
|
|
9
|
-
margin: auto;
|
|
10
|
-
width: 100%;
|
|
11
|
-
border-collapse:collapse;
|
|
12
|
-
border: 1px solid black;
|
|
13
|
-
}
|
|
14
|
-
h1,h2,h3,h4,h5,h6 {
|
|
15
|
-
text-align: center;
|
|
16
|
-
}
|
|
17
|
-
.date{
|
|
18
|
-
float: left;
|
|
19
|
-
padding-left: 30px;
|
|
20
|
-
}
|
|
21
|
-
.number{
|
|
22
|
-
float: right;
|
|
23
|
-
padding-right: 30px;
|
|
24
|
-
}
|
|
25
|
-
.rescue{
|
|
26
|
-
float: left;
|
|
27
|
-
padding: 0 30px 0 40px;
|
|
28
|
-
}
|
|
29
|
-
.service{
|
|
30
|
-
float: left;
|
|
31
|
-
}
|
|
32
|
-
.payee{
|
|
33
|
-
float: right;
|
|
34
|
-
padding-right: 30px;
|
|
35
|
-
}
|
|
36
|
-
</style>
|
|
37
|
-
<div id="print">
|
|
38
|
-
<h4
|
|
39
|
-
<
|
|
40
|
-
<
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<td
|
|
47
|
-
<td
|
|
48
|
-
<td
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
<td
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
<td
|
|
57
|
-
<td
|
|
58
|
-
<td
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
<td
|
|
63
|
-
<td
|
|
64
|
-
<td
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
<td
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
<p class="
|
|
74
|
-
<p class="
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
</
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
console.log()
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
</
|
|
1
|
+
<template>
|
|
2
|
+
<style id="style">
|
|
3
|
+
td{
|
|
4
|
+
height: 50px;
|
|
5
|
+
width: 40px;
|
|
6
|
+
text-align: center;
|
|
7
|
+
}
|
|
8
|
+
table{
|
|
9
|
+
margin: auto;
|
|
10
|
+
width: 100%;
|
|
11
|
+
border-collapse:collapse;
|
|
12
|
+
border: 1px solid black;
|
|
13
|
+
}
|
|
14
|
+
h1,h2,h3,h4,h5,h6 {
|
|
15
|
+
text-align: center;
|
|
16
|
+
}
|
|
17
|
+
.date{
|
|
18
|
+
float: left;
|
|
19
|
+
padding-left: 30px;
|
|
20
|
+
}
|
|
21
|
+
.number{
|
|
22
|
+
float: right;
|
|
23
|
+
padding-right: 30px;
|
|
24
|
+
}
|
|
25
|
+
.rescue{
|
|
26
|
+
float: left;
|
|
27
|
+
padding: 0 30px 0 40px;
|
|
28
|
+
}
|
|
29
|
+
.service{
|
|
30
|
+
float: left;
|
|
31
|
+
}
|
|
32
|
+
.payee{
|
|
33
|
+
float: right;
|
|
34
|
+
padding-right: 30px;
|
|
35
|
+
}
|
|
36
|
+
</style>
|
|
37
|
+
<div id="print">
|
|
38
|
+
<h4>{{orgs}}统一收据</h4>
|
|
39
|
+
<table border="1">
|
|
40
|
+
<tr>
|
|
41
|
+
<td colspan="6">
|
|
42
|
+
开票日期:{{new Date().Format('yyyy年MM月dd日')}}
|
|
43
|
+
</td>
|
|
44
|
+
</tr>
|
|
45
|
+
<tr>
|
|
46
|
+
<td>用户姓名</td>
|
|
47
|
+
<td colspan="2">{{ f_user_name }}</td>
|
|
48
|
+
<td>联系电话</td>
|
|
49
|
+
<td>{{ f_user_phone }}</td>
|
|
50
|
+
</tr>
|
|
51
|
+
<tr>
|
|
52
|
+
<td>地  址</td>
|
|
53
|
+
<td colspan="4">{{ f_useraddress }}</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr>
|
|
56
|
+
<td>收费项目</td>
|
|
57
|
+
<td colspan="2">庭院管网建设费</td>
|
|
58
|
+
<td>收费方式</td>
|
|
59
|
+
<td>{{ charge.f_payment_method }}</td>
|
|
60
|
+
</tr>
|
|
61
|
+
<tr>
|
|
62
|
+
<td>收费金额</td>
|
|
63
|
+
<td>{{ charge.f_charge_money }}</td>
|
|
64
|
+
<td>大  写</td>
|
|
65
|
+
<td colspan="2">{{ charge.f_amount_words }}</td>
|
|
66
|
+
</tr>
|
|
67
|
+
<tr>
|
|
68
|
+
<td>备  注</td>
|
|
69
|
+
<td colspan="4">{{ selectdata.f_entry_name }}</td>
|
|
70
|
+
</tr>
|
|
71
|
+
</table>
|
|
72
|
+
<span>
|
|
73
|
+
<p class="rescue">抢险电话:5835588</p>
|
|
74
|
+
<p class="service">服务电话:3718002</p>
|
|
75
|
+
<p class="payee">收款人:{{ charge.f_charge_collectors }}</p>
|
|
76
|
+
</span>
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
<print-element v-show="false" v-ref:print id='print' styleid='style'
|
|
80
|
+
top='40' left='60' width='100%' height='100%'>
|
|
81
|
+
</print-element>
|
|
82
|
+
</template>
|
|
83
|
+
|
|
84
|
+
<script>
|
|
85
|
+
import { isEmpty } from '../../../Util'
|
|
86
|
+
Date.prototype.Format = function (fmt) {
|
|
87
|
+
var o = {
|
|
88
|
+
"M+": this.getMonth() + 1, //月份
|
|
89
|
+
"d+": this.getDate(), //日
|
|
90
|
+
"H+": this.getHours(), //小时
|
|
91
|
+
"m+": this.getMinutes(), //分
|
|
92
|
+
"s+": this.getSeconds(), //秒
|
|
93
|
+
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
|
|
94
|
+
"S": this.getMilliseconds() //毫秒
|
|
95
|
+
};
|
|
96
|
+
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
|
|
97
|
+
for (var k in o)
|
|
98
|
+
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
|
|
99
|
+
return fmt;
|
|
100
|
+
}
|
|
101
|
+
export default {
|
|
102
|
+
title: '打印收费票据',
|
|
103
|
+
props: ['selectdata', 'charge'],
|
|
104
|
+
data () {
|
|
105
|
+
return {}
|
|
106
|
+
},
|
|
107
|
+
ready () {
|
|
108
|
+
console.log('------------------打印-------------------')
|
|
109
|
+
console.log()
|
|
110
|
+
},
|
|
111
|
+
computed: {
|
|
112
|
+
f_user_name () {
|
|
113
|
+
return isEmpty(this.charge.f_user_name) ? this.selectdata.f_contact : this.charge.f_user_name
|
|
114
|
+
},
|
|
115
|
+
f_user_phone () {
|
|
116
|
+
return isEmpty(this.charge.f_user_phone) ? this.selectdata.f_phone : this.charge.f_user_phone
|
|
117
|
+
},
|
|
118
|
+
f_useraddress () {
|
|
119
|
+
return isEmpty(this.charge.f_useraddress) ? `武安市${this.selectdata.f_street}${this.selectdata.f_residential_area}` : `武安市${this.charge.f_useraddress}`
|
|
120
|
+
},
|
|
121
|
+
orgs () {
|
|
122
|
+
return this.$login.f.orgs
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
</script>
|
|
127
|
+
|
|
128
|
+
<style scoped>
|
|
129
|
+
|
|
130
|
+
</style>
|
|
@@ -404,9 +404,45 @@ export default {
|
|
|
404
404
|
if (this.selectdata.f_process_dep === '运营部') {
|
|
405
405
|
return 'this.getParentByType($organization$).getChildByName($运营部报装$).getChildren()'
|
|
406
406
|
}
|
|
407
|
+
},
|
|
408
|
+
async getDevInfo () {
|
|
409
|
+
let data = {
|
|
410
|
+
tablename: 't_dev_info',
|
|
411
|
+
condition: `f_orgid = '${this.$login.f.orgid}'`
|
|
412
|
+
}
|
|
413
|
+
let res = await this.$resetpost(
|
|
414
|
+
`rs/sql/singleTable`,
|
|
415
|
+
{data: data},
|
|
416
|
+
{resolveMsg: null, rejectMsg: '公司查询失败!!!'}
|
|
417
|
+
)
|
|
418
|
+
|
|
419
|
+
return res.data.map(item => {
|
|
420
|
+
return {
|
|
421
|
+
label: item.f_dev_name,
|
|
422
|
+
value: item.f_dev_name
|
|
423
|
+
}
|
|
424
|
+
})
|
|
407
425
|
}
|
|
408
426
|
},
|
|
409
427
|
events: {
|
|
428
|
+
async 'devInfoChange' (index) {
|
|
429
|
+
if (isEmpty(this.show_data.f_company_name)) {
|
|
430
|
+
return
|
|
431
|
+
}
|
|
432
|
+
let data = {
|
|
433
|
+
tablename: 't_dev_info',
|
|
434
|
+
condition: `f_orgid = '${this.$login.f.orgid}' and f_dev_name = '${this.show_data.f_company_name}'`
|
|
435
|
+
}
|
|
436
|
+
let res = await this.$resetpost(
|
|
437
|
+
`rs/sql/singleTable`,
|
|
438
|
+
{data: data},
|
|
439
|
+
{resolveMsg: null, rejectMsg: '公司查询失败!!!'}
|
|
440
|
+
)
|
|
441
|
+
this.show_data.f_dev_id = res.data[0].id
|
|
442
|
+
this.setLabelValue('法人名称', res.data[0].f_legal_person)
|
|
443
|
+
this.setLabelValue('证件类型', res.data[0].f_credentials)
|
|
444
|
+
this.setLabelValue('证件号码', res.data[0].f_idnumber)
|
|
445
|
+
},
|
|
410
446
|
'refundMoneyChange' (index) {
|
|
411
447
|
let f_cumulative_payment_money = this.show_data.f_cumulative_payment_money
|
|
412
448
|
let f_refund_money = this.show_data.fields[index].value
|
|
@@ -431,7 +467,7 @@ export default {
|
|
|
431
467
|
this.setLabelValue('证件号码', row.f_idnumber)
|
|
432
468
|
this.setLabelValue('地址', row.f_address)
|
|
433
469
|
this.setLabelValue('累计缴费金额', row.f_cumulative_payment_money)
|
|
434
|
-
|
|
470
|
+
|
|
435
471
|
this.show_data.parentApply = JSON.parse(JSON.stringify(row))
|
|
436
472
|
|
|
437
473
|
delete row.id
|
|
@@ -445,10 +481,29 @@ export default {
|
|
|
445
481
|
delete row.f_process_id
|
|
446
482
|
|
|
447
483
|
this.show_data = Object.assign({}, this.show_data, row)
|
|
484
|
+
|
|
485
|
+
this.show_data.f_parent_process_id = this.show_data.parentApply.f_process_id
|
|
448
486
|
},
|
|
449
|
-
'stopApplyReadyEvent' () {
|
|
487
|
+
async 'stopApplyReadyEvent' () {
|
|
450
488
|
let f_depname = this.$login.f.f_department_name
|
|
451
489
|
this.setLabelValue('发起部门', f_depname)
|
|
490
|
+
|
|
491
|
+
if (isEmpty(this.show_data.f_parent_process_id)) {
|
|
492
|
+
return
|
|
493
|
+
}
|
|
494
|
+
let data = {
|
|
495
|
+
condition: `f_process_id = '${this.show_data.f_parent_process_id}'`,
|
|
496
|
+
data: {
|
|
497
|
+
id: this.$login.f.id,
|
|
498
|
+
orgid: this.$login.f.orgid
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
let res = await this.$resetpost(
|
|
502
|
+
`rs/sql/supervisory`,
|
|
503
|
+
{data: data},
|
|
504
|
+
{resolveMsg: null, rejectMsg: '项目查询失败!!!'}
|
|
505
|
+
)
|
|
506
|
+
this.show_data.parentApply = res.data[0]
|
|
452
507
|
},
|
|
453
508
|
// 选择用户档案信息
|
|
454
509
|
'selectUserinfo' (row) {
|