apply-clients 3.5.5-64 → 3.5.5-66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/dev-server.js +11 -8
- package/package.json +1 -1
- package/src/App.vue +25 -25
- package/src/components/android/AppCheckTakePic.vue +168 -168
- package/src/components/android/Process/AppChargeList.vue +391 -391
- package/src/components/android/Process/AppExplorationUser.vue +508 -508
- package/src/components/android/Process/AppServiceControl.vue +1755 -1755
- package/src/components/product/PcZhihuanManagement.vue +160 -160
- package/src/components/product/Print/BuildOrder/buildOrderList.vue +339 -339
- package/src/components/product/Process/Processes/selectApply.vue +251 -251
- package/src/components/product/Process/Processes/selectBcakApply.vue +250 -250
- package/src/components/product/Supervisory/SupervisoryControl.vue +141 -141
- package/src/filiale/fugou/android/AppAddMaterialScience.vue +444 -444
- package/src/filiale/fugou/android/AppAddReplacement.vue +341 -341
- package/src/filiale/fugou/android/AppChargeManagement.vue +739 -739
- package/src/filiale/fugou/android/AppExplorationUser.vue +508 -508
- package/src/filiale/fugou/android/AppInstallationDetails.vue +542 -542
- package/src/filiale/fugou/android/AppServiceControl.vue +1840 -1840
- package/src/filiale/fugou/pc/AddReplacement.vue +340 -340
- package/src/filiale/fugou/pc/ExplorationSelect.vue +524 -524
- package/src/filiale/fugou/pc/ServiceControl.vue +1714 -1712
- package/src/filiale/fugou/pc/StopApplyList.vue +291 -291
- package/src/filiale/fugou/pc/addMaterialScience.vue +481 -481
- package/src/filiale/fugou/pc/addressAndUserinfoManagement.vue +216 -216
- package/src/filiale/fugou/pc/chargeReport.vue +215 -215
- package/src/filiale/fugou/pc.js +18 -18
- package/src/filiale/jinhuang/pc/ServiceControl.vue +1932 -1932
- package/src/filiale/yangchunboneng/android/AppExplorationUser.vue +585 -585
- package/src/filiale/yangchunboneng/android/AppInstallationMaterial.vue +1116 -1116
- package/src/filiale/yangchunboneng/android/AppProcessSupervisory.vue +331 -331
- package/src/filiale/yangchunboneng/android/AppSuperServiceControl.vue +1524 -1524
- package/src/filiale/yangchunboneng/android/AppUpload.vue +205 -205
- package/src/filiale/yangchunboneng/pc/ApplyUpload.vue +392 -392
- package/src/filiale/yangchunboneng/pc/ExplorationUser.vue +191 -191
- package/src/filiale/yangchunboneng/pc/InstallInfoSelect.vue +365 -365
- package/src/filiale/yangchunboneng/pc/StopApplyList.vue +294 -294
- package/src/filiale/yangchunboneng/pc/SupervisoryControlNew.vue +142 -142
- package/src/filiale/yangchunboneng/pc/SupervisoryServiceControl.vue +902 -902
- package/src/filiale/yangchunboneng/pc/SupervisoryServiceControlNew.vue +901 -901
- package/src/filiale/yangchunboneng/pc/buildOrderList.vue +337 -337
- package/src/filiale/yangchunboneng/pc/printBuildOrder.vue +173 -172
- package/src/filiale/yangchunboneng/pc.js +27 -27
- package/src/main.js +1 -2
- package/src/test/SessionTestServlet.java +69 -0
- package/webapp/WEB-INF/web.xml +52 -0
- package/webapp/session-test.jsp +59 -0
|
@@ -1,391 +1,391 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="auto">
|
|
3
|
-
<criteria-paged :model="model" v-ref:paged>
|
|
4
|
-
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
5
|
-
<div partial>
|
|
6
|
-
<form>
|
|
7
|
-
<div class="row app-row">
|
|
8
|
-
<div class="col-xs-4">
|
|
9
|
-
<label for="f_plan_name" class="font text-left">客户名称:</label>
|
|
10
|
-
</div>
|
|
11
|
-
<div class="col-xs-8">
|
|
12
|
-
<input type="text" class="search_input input-font" v-model="model.f_user_name"
|
|
13
|
-
condition="f_user_name like '%{}%'">
|
|
14
|
-
</div>
|
|
15
|
-
</div>
|
|
16
|
-
<div class="row app-row">
|
|
17
|
-
<div class="col-xs-4">
|
|
18
|
-
<label for="f_plan_name" class="font text-left">联系电话:</label>
|
|
19
|
-
</div>
|
|
20
|
-
<div class="col-xs-8">
|
|
21
|
-
<input type="text" class="search_input input-font"
|
|
22
|
-
v-model=model.f_phone
|
|
23
|
-
condition="a.f_phone like '%{}%'">
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
<div class="row app-row">
|
|
27
|
-
<div class="col-xs-4">
|
|
28
|
-
<label for="f_plan_name" class="font text-left">用户地址:</label>
|
|
29
|
-
</div>
|
|
30
|
-
<div class="col-xs-8">
|
|
31
|
-
<input type="text" class="search_input input-font"
|
|
32
|
-
v-model=model.f_address
|
|
33
|
-
condition="a.f_address like '%{}%'">
|
|
34
|
-
</div>
|
|
35
|
-
</div>
|
|
36
|
-
<div class="row app-row">
|
|
37
|
-
<div class="col-xs-4">
|
|
38
|
-
<label for="f_plan_name" class="font text-left">开始时间:</label>
|
|
39
|
-
</div>
|
|
40
|
-
<div class="col-xs-8">
|
|
41
|
-
<datepicker
|
|
42
|
-
:value.sync="model.startDate"
|
|
43
|
-
:format="'yyyy-MM-dd'"
|
|
44
|
-
v-model="model.startDate"
|
|
45
|
-
:isUp="true"
|
|
46
|
-
condition="cr.f_charge_date >= '{} 00:00:00'"
|
|
47
|
-
:show-reset-button="reset" placeholder="开始时间">
|
|
48
|
-
</datepicker>
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
<div class="row app-row">
|
|
52
|
-
<div class="col-xs-4">
|
|
53
|
-
<label for="f_plan_name" class="font text-left">结束时间:</label>
|
|
54
|
-
</div>
|
|
55
|
-
<div class="col-xs-8">
|
|
56
|
-
<datepicker
|
|
57
|
-
:value.sync="model.endDate"
|
|
58
|
-
:format="'yyyy-MM-dd'"
|
|
59
|
-
v-model="model.endDate"
|
|
60
|
-
:isUp="true"
|
|
61
|
-
condition="cr.f_charge_date <= '{} 23:59:59'"
|
|
62
|
-
:show-reset-button="reset" placeholder="结束时间">
|
|
63
|
-
</datepicker>
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
<div class="row app-row">
|
|
67
|
-
<div class="col-xs-4">
|
|
68
|
-
<label for="f_actual_date" class="font text-left">实际时间:</label>
|
|
69
|
-
</div>
|
|
70
|
-
<div class="col-xs-8">
|
|
71
|
-
<datepicker
|
|
72
|
-
:value.sync="model.startDate1"
|
|
73
|
-
:format="'yyyy-MM-dd'"
|
|
74
|
-
v-model="model.startDate1"
|
|
75
|
-
:isUp="true"
|
|
76
|
-
condition="cr.f_actual_date >= '{} 00:00:00'"
|
|
77
|
-
:show-reset-button="reset" placeholder="实际开始时间">
|
|
78
|
-
</datepicker>
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
81
|
-
<div class="row app-row">
|
|
82
|
-
<div class="col-xs-4">
|
|
83
|
-
<label for="f_actual_date" class="font text-left">实际时间:</label>
|
|
84
|
-
</div>
|
|
85
|
-
<div class="col-xs-8">
|
|
86
|
-
<datepicker
|
|
87
|
-
:value.sync="model.endDate1"
|
|
88
|
-
:format="'yyyy-MM-dd'"
|
|
89
|
-
v-model="model.endDate1"
|
|
90
|
-
:isUp="true"
|
|
91
|
-
condition="cr.f_actual_date <= '{} 23:59:59'"
|
|
92
|
-
:show-reset-button="reset" placeholder="实际结束时间">
|
|
93
|
-
</datepicker>
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
<div class="row app-row" >
|
|
97
|
-
<div class="col-xs-4">
|
|
98
|
-
<label for="f_plan_name" class="font text-left">工程编号:</label>
|
|
99
|
-
</div>
|
|
100
|
-
<div class="col-xs-8">
|
|
101
|
-
<input type="text" class="search_input input-font"
|
|
102
|
-
v-model=model.f_apply_num condition="a.f_apply_num like '%{}%'" >
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
<div class="row app-row" >
|
|
106
|
-
<div class="col-xs-4">
|
|
107
|
-
<label for="f_plan_name" class="font text-left">合同编号:</label>
|
|
108
|
-
</div>
|
|
109
|
-
<div class="col-xs-8">
|
|
110
|
-
<input type="text" class="search_input input-font"
|
|
111
|
-
v-model=model.f_contract_number condition="a.f_contract_number like '%{}%'" >
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
<div class="row text-center app-row" >
|
|
115
|
-
<button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search()">查询</button>
|
|
116
|
-
</div>
|
|
117
|
-
</form>
|
|
118
|
-
</div>
|
|
119
|
-
|
|
120
|
-
</criteria>
|
|
121
|
-
<list :model="model" partial='list'>
|
|
122
|
-
<div partial>
|
|
123
|
-
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
|
124
|
-
<div class="panel-body panel-self">
|
|
125
|
-
<div class="row">
|
|
126
|
-
<p class="panel-title col-xs-3 text-left font">工程编号:</p>
|
|
127
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_apply_num }}</p>
|
|
128
|
-
</div>
|
|
129
|
-
<div class="row">
|
|
130
|
-
<p class="panel-title col-xs-3 text-left font">合同编号:</p>
|
|
131
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_contract_number }}</p>
|
|
132
|
-
</div>
|
|
133
|
-
<div class="row">
|
|
134
|
-
<p class="panel-title col-xs-3 text-left font">报建类型:</p>
|
|
135
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_apply_type }}</p>
|
|
136
|
-
</div>
|
|
137
|
-
<div class="row">
|
|
138
|
-
<p class="panel-title col-xs-3 text-left font">报建性质:</p>
|
|
139
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_apply_nature }}</p>
|
|
140
|
-
</div>
|
|
141
|
-
<div class="row">
|
|
142
|
-
<p class="panel-title col-xs-3 text-left font">客户名称:</p>
|
|
143
|
-
<p class="panel-title col-xs-9 text-left input-font">{{row.f_user_name}}</p>
|
|
144
|
-
</div>
|
|
145
|
-
<div class="row">
|
|
146
|
-
<p class="panel-title col-xs-3 text-left font">客户编号:</p>
|
|
147
|
-
<p class="panel-title col-xs-9 text-left input-font">{{row.f_userinfo_code}}</p>
|
|
148
|
-
</div>
|
|
149
|
-
<div class="row">
|
|
150
|
-
<p class="panel-title col-xs-3 text-left font">客户地址:</p>
|
|
151
|
-
<p class="panel-title col-xs-9 text-left input-font">{{row.f_address}}</p>
|
|
152
|
-
</div>
|
|
153
|
-
<div class="row">
|
|
154
|
-
<p class="panel-title col-xs-3 text-left font">合同金额</p>
|
|
155
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_contract_money }}</p>
|
|
156
|
-
</div>
|
|
157
|
-
<div class="row">
|
|
158
|
-
<p class="panel-title col-xs-3 text-left font">收费金额</p>
|
|
159
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_charge_money }}</p>
|
|
160
|
-
</div>
|
|
161
|
-
<div class="row">
|
|
162
|
-
<p class="panel-title col-xs-3 text-left font">收费项目</p>
|
|
163
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_payment_term }}</p>
|
|
164
|
-
</div>
|
|
165
|
-
<div class="row">
|
|
166
|
-
<p class="panel-title col-xs-3 text-left font">付款方式</p>
|
|
167
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_payment_method }}</p>
|
|
168
|
-
</div>
|
|
169
|
-
<div class="row">
|
|
170
|
-
<p class="panel-title col-xs-3 text-left font">收费人员</p>
|
|
171
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_charge_collectors }}</p>
|
|
172
|
-
</div>
|
|
173
|
-
<div class="row">
|
|
174
|
-
<p class="panel-title col-xs-3 text-left font">收费日期</p>
|
|
175
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_charge_date }}</p>
|
|
176
|
-
</div>
|
|
177
|
-
<div class="row">
|
|
178
|
-
<p class="panel-title col-xs-3 text-left font">实际收款日期</p>
|
|
179
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_actual_date }}</p>
|
|
180
|
-
</div>
|
|
181
|
-
<div class="row">
|
|
182
|
-
<p class="panel-title col-xs-3 text-left font">收费状态</p>
|
|
183
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_charge_status }}</p>
|
|
184
|
-
</div>
|
|
185
|
-
<div class="row">
|
|
186
|
-
<p class="panel-title col-xs-3 text-left font">确认人</p>
|
|
187
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_confirm_person }}</p>
|
|
188
|
-
</div>
|
|
189
|
-
<div class="row">
|
|
190
|
-
<p class="panel-title col-xs-3 text-left font">确认时间</p>
|
|
191
|
-
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_confirm_date }}</p>
|
|
192
|
-
</div>
|
|
193
|
-
<div class="row">
|
|
194
|
-
<button v-if="$parent.$parent.$parent.isEmpty(row.f_confirm_person)" style="background-color:#499edf;float: right" class="btn btn-info" @click="$parent.$parent.$parent.confirmModal(row)">确认收款</button>
|
|
195
|
-
</div>
|
|
196
|
-
</div>
|
|
197
|
-
</div>
|
|
198
|
-
</div>
|
|
199
|
-
</list>
|
|
200
|
-
</criteria-paged>
|
|
201
|
-
<validator name="v">
|
|
202
|
-
<modal v-if="showmodel" :show.sync="showmodel" v-ref:modal title="确认收款">
|
|
203
|
-
<header slot="modal-header" class="modal-header">
|
|
204
|
-
<button type="button" class="close" @click="closemodel"><span>×</span></button>
|
|
205
|
-
<h4 class="modal-title">确认收款</h4>
|
|
206
|
-
</header>
|
|
207
|
-
|
|
208
|
-
<article slot="modal-body" class="modal-body clearfix">
|
|
209
|
-
<div class="form-group col-sm-12">
|
|
210
|
-
<label class="col-sm-2 control-label">收费金额:</label>
|
|
211
|
-
<div class="col-sm-10">
|
|
212
|
-
<input type="text"
|
|
213
|
-
class="form-control input_view"
|
|
214
|
-
style="width: 100%"
|
|
215
|
-
readonly
|
|
216
|
-
v-model="charge.f_charge_money" />
|
|
217
|
-
</div>
|
|
218
|
-
</div>
|
|
219
|
-
<div class="form-group col-sm-12">
|
|
220
|
-
<label class="col-sm-2 control-label">付款方式:</label>
|
|
221
|
-
<div class="col-sm-10">
|
|
222
|
-
<input type="text"
|
|
223
|
-
class="form-control input_view"
|
|
224
|
-
style="width: 100%"
|
|
225
|
-
readonly
|
|
226
|
-
v-model="charge.f_payment_method" />
|
|
227
|
-
</div>
|
|
228
|
-
</div>
|
|
229
|
-
<div class="form-group col-sm-12">
|
|
230
|
-
<label class="col-sm-2 control-label">金额大写:</label>
|
|
231
|
-
<div class="col-sm-10">
|
|
232
|
-
<input type="text"
|
|
233
|
-
class="form-control input_view"
|
|
234
|
-
style="width: 100%"
|
|
235
|
-
readonly
|
|
236
|
-
v-model="charge.f_amount_words" />
|
|
237
|
-
</div>
|
|
238
|
-
</div>
|
|
239
|
-
<div class="form-group col-sm-12">
|
|
240
|
-
<label class="col-sm-2 control-label">收费人员:</label>
|
|
241
|
-
<div class="col-sm-10">
|
|
242
|
-
<input type="text"
|
|
243
|
-
class="form-control input_view"
|
|
244
|
-
style="width: 100%"
|
|
245
|
-
readonly
|
|
246
|
-
v-model="charge.f_charge_collectors" />
|
|
247
|
-
</div>
|
|
248
|
-
</div>
|
|
249
|
-
<div class="form-group col-sm-12">
|
|
250
|
-
<label class="col-sm-2 control-label">确认人:</label>
|
|
251
|
-
<div class="col-sm-10">
|
|
252
|
-
<input type="text"
|
|
253
|
-
class="form-control input_view"
|
|
254
|
-
style="width: 100%"
|
|
255
|
-
v-model="charge.f_confirm_person" />
|
|
256
|
-
</div>
|
|
257
|
-
</div>
|
|
258
|
-
<div class="form-group col-sm-12">
|
|
259
|
-
<label class="col-sm-2 control-label">确认时间:</label>
|
|
260
|
-
<div class="col-sm-10">
|
|
261
|
-
<datepicker id="startDate" placeholder="确认时间"
|
|
262
|
-
style="width: 60%!important;"
|
|
263
|
-
v-model="charge.f_confirm_date"
|
|
264
|
-
:value.sync="charge.f_confirm_date"
|
|
265
|
-
:default="true"
|
|
266
|
-
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
267
|
-
:show-reset-button="true"
|
|
268
|
-
>
|
|
269
|
-
</datepicker>
|
|
270
|
-
</div>
|
|
271
|
-
</div>
|
|
272
|
-
<div class="form-group col-sm-12">
|
|
273
|
-
<label class="col-sm-2 control-label">备注:</label>
|
|
274
|
-
<div class="col-sm-10">
|
|
275
|
-
<input type="text"
|
|
276
|
-
class="form-control input_view"
|
|
277
|
-
style="width: 100%"
|
|
278
|
-
v-model="charge.f_charge_remarks" />
|
|
279
|
-
</div>
|
|
280
|
-
</div>
|
|
281
|
-
</article>
|
|
282
|
-
|
|
283
|
-
<footer slot="modal-footer" class="modal-footer">
|
|
284
|
-
<button type="button" class="btn btn-primary" :disabled='!$v.valid' @click="ConfirmPayment()">确认收款</button>
|
|
285
|
-
</footer>
|
|
286
|
-
</modal>
|
|
287
|
-
</validator>
|
|
288
|
-
</div>
|
|
289
|
-
</template>
|
|
290
|
-
|
|
291
|
-
<script>
|
|
292
|
-
|
|
293
|
-
import {HttpResetClass, PagedList} from 'vue-client'
|
|
294
|
-
import Vue from 'vue'
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
export default {
|
|
298
|
-
title: '报建收费明细',
|
|
299
|
-
data () {
|
|
300
|
-
return {
|
|
301
|
-
model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/getApplyCharge`,
|
|
302
|
-
5, {}
|
|
303
|
-
),
|
|
304
|
-
showmodel:false,
|
|
305
|
-
charge:{}
|
|
306
|
-
}
|
|
307
|
-
},
|
|
308
|
-
ready () {
|
|
309
|
-
//this.$refs.paged.$refs.cri.model.startDate=`${Util.toStandardYearMonth()}-01`
|
|
310
|
-
//this.$refs.paged.$refs.cri.model.endDate=Util.toStartAndEndDateString()[1]
|
|
311
|
-
this.search()
|
|
312
|
-
},
|
|
313
|
-
methods: {
|
|
314
|
-
isEmpty (str) {
|
|
315
|
-
return str === undefined || str === null || str.toString().trim() === ''
|
|
316
|
-
},
|
|
317
|
-
search () {
|
|
318
|
-
this.$refs.paged.$refs.cri.search()
|
|
319
|
-
},
|
|
320
|
-
async selfSearch (args) {
|
|
321
|
-
args.condition = args.condition + ` and cr.f_orgid in (${Vue.user.orgid})`
|
|
322
|
-
this.model.search(args.condition, args.model)
|
|
323
|
-
},
|
|
324
|
-
confirmModal(row){
|
|
325
|
-
this.charge = row
|
|
326
|
-
this.charge.f_confirm_person = Vue.user.name
|
|
327
|
-
this.showmodel = true
|
|
328
|
-
},
|
|
329
|
-
closemodel(){
|
|
330
|
-
this.charge = {}
|
|
331
|
-
this.showmodel = false
|
|
332
|
-
this.search()
|
|
333
|
-
},
|
|
334
|
-
async ConfirmPayment() {
|
|
335
|
-
let http = new HttpResetClass()
|
|
336
|
-
let data = {
|
|
337
|
-
charge: this.charge
|
|
338
|
-
}
|
|
339
|
-
let res = await http.load('POST', this.$androidUtil.getProxyUrl() +'/rs/logic/confirmCharge', {data: data}, {
|
|
340
|
-
resolveMsg: null,
|
|
341
|
-
rejectMsg: '提交失败!!!'
|
|
342
|
-
})
|
|
343
|
-
if(res.data==200){
|
|
344
|
-
this.$showAlert('提交成功!!!', 'success', 3000)
|
|
345
|
-
//延时1s
|
|
346
|
-
setTimeout(() => {
|
|
347
|
-
this.charge = {}
|
|
348
|
-
this.showmodel = false
|
|
349
|
-
}, 1000)
|
|
350
|
-
}
|
|
351
|
-
//重新查询
|
|
352
|
-
this.search()
|
|
353
|
-
},
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
}
|
|
357
|
-
</script>
|
|
358
|
-
<style>
|
|
359
|
-
.app-row {
|
|
360
|
-
background-color: white;
|
|
361
|
-
padding: 10px 10px 0 10px;
|
|
362
|
-
border-bottom: 1px solid rgba(235, 235, 235, 0.5);
|
|
363
|
-
}
|
|
364
|
-
.search_input {
|
|
365
|
-
border: 0;
|
|
366
|
-
outline: none;
|
|
367
|
-
}
|
|
368
|
-
.font{
|
|
369
|
-
font: 15px PingFang-SC-Medium;
|
|
370
|
-
color: #666666;
|
|
371
|
-
}
|
|
372
|
-
.input-font{
|
|
373
|
-
font: 15px PingFang-SC-Medium;
|
|
374
|
-
color: #333333;
|
|
375
|
-
}
|
|
376
|
-
.btn-font{
|
|
377
|
-
font:600 16px PingFang-SC-Bold;
|
|
378
|
-
color: #499EDF;
|
|
379
|
-
}
|
|
380
|
-
.btn-color{
|
|
381
|
-
background-color: #FFFFFF;
|
|
382
|
-
border-radius: 10px ;
|
|
383
|
-
border: 1px solid #499EDF;
|
|
384
|
-
}
|
|
385
|
-
.panel-self{
|
|
386
|
-
border-radius: 10px;
|
|
387
|
-
border:1px solid #499EDF;
|
|
388
|
-
background-color: #F8F8F8;
|
|
389
|
-
}
|
|
390
|
-
</style>
|
|
391
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto">
|
|
3
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
5
|
+
<div partial>
|
|
6
|
+
<form>
|
|
7
|
+
<div class="row app-row">
|
|
8
|
+
<div class="col-xs-4">
|
|
9
|
+
<label for="f_plan_name" class="font text-left">客户名称:</label>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="col-xs-8">
|
|
12
|
+
<input type="text" class="search_input input-font" v-model="model.f_user_name"
|
|
13
|
+
condition="f_user_name like '%{}%'">
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="row app-row">
|
|
17
|
+
<div class="col-xs-4">
|
|
18
|
+
<label for="f_plan_name" class="font text-left">联系电话:</label>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="col-xs-8">
|
|
21
|
+
<input type="text" class="search_input input-font"
|
|
22
|
+
v-model=model.f_phone
|
|
23
|
+
condition="a.f_phone like '%{}%'">
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="row app-row">
|
|
27
|
+
<div class="col-xs-4">
|
|
28
|
+
<label for="f_plan_name" class="font text-left">用户地址:</label>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="col-xs-8">
|
|
31
|
+
<input type="text" class="search_input input-font"
|
|
32
|
+
v-model=model.f_address
|
|
33
|
+
condition="a.f_address like '%{}%'">
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="row app-row">
|
|
37
|
+
<div class="col-xs-4">
|
|
38
|
+
<label for="f_plan_name" class="font text-left">开始时间:</label>
|
|
39
|
+
</div>
|
|
40
|
+
<div class="col-xs-8">
|
|
41
|
+
<datepicker
|
|
42
|
+
:value.sync="model.startDate"
|
|
43
|
+
:format="'yyyy-MM-dd'"
|
|
44
|
+
v-model="model.startDate"
|
|
45
|
+
:isUp="true"
|
|
46
|
+
condition="cr.f_charge_date >= '{} 00:00:00'"
|
|
47
|
+
:show-reset-button="reset" placeholder="开始时间">
|
|
48
|
+
</datepicker>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="row app-row">
|
|
52
|
+
<div class="col-xs-4">
|
|
53
|
+
<label for="f_plan_name" class="font text-left">结束时间:</label>
|
|
54
|
+
</div>
|
|
55
|
+
<div class="col-xs-8">
|
|
56
|
+
<datepicker
|
|
57
|
+
:value.sync="model.endDate"
|
|
58
|
+
:format="'yyyy-MM-dd'"
|
|
59
|
+
v-model="model.endDate"
|
|
60
|
+
:isUp="true"
|
|
61
|
+
condition="cr.f_charge_date <= '{} 23:59:59'"
|
|
62
|
+
:show-reset-button="reset" placeholder="结束时间">
|
|
63
|
+
</datepicker>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="row app-row">
|
|
67
|
+
<div class="col-xs-4">
|
|
68
|
+
<label for="f_actual_date" class="font text-left">实际时间:</label>
|
|
69
|
+
</div>
|
|
70
|
+
<div class="col-xs-8">
|
|
71
|
+
<datepicker
|
|
72
|
+
:value.sync="model.startDate1"
|
|
73
|
+
:format="'yyyy-MM-dd'"
|
|
74
|
+
v-model="model.startDate1"
|
|
75
|
+
:isUp="true"
|
|
76
|
+
condition="cr.f_actual_date >= '{} 00:00:00'"
|
|
77
|
+
:show-reset-button="reset" placeholder="实际开始时间">
|
|
78
|
+
</datepicker>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
<div class="row app-row">
|
|
82
|
+
<div class="col-xs-4">
|
|
83
|
+
<label for="f_actual_date" class="font text-left">实际时间:</label>
|
|
84
|
+
</div>
|
|
85
|
+
<div class="col-xs-8">
|
|
86
|
+
<datepicker
|
|
87
|
+
:value.sync="model.endDate1"
|
|
88
|
+
:format="'yyyy-MM-dd'"
|
|
89
|
+
v-model="model.endDate1"
|
|
90
|
+
:isUp="true"
|
|
91
|
+
condition="cr.f_actual_date <= '{} 23:59:59'"
|
|
92
|
+
:show-reset-button="reset" placeholder="实际结束时间">
|
|
93
|
+
</datepicker>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
<div class="row app-row" >
|
|
97
|
+
<div class="col-xs-4">
|
|
98
|
+
<label for="f_plan_name" class="font text-left">工程编号:</label>
|
|
99
|
+
</div>
|
|
100
|
+
<div class="col-xs-8">
|
|
101
|
+
<input type="text" class="search_input input-font"
|
|
102
|
+
v-model=model.f_apply_num condition="a.f_apply_num like '%{}%'" >
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
<div class="row app-row" >
|
|
106
|
+
<div class="col-xs-4">
|
|
107
|
+
<label for="f_plan_name" class="font text-left">合同编号:</label>
|
|
108
|
+
</div>
|
|
109
|
+
<div class="col-xs-8">
|
|
110
|
+
<input type="text" class="search_input input-font"
|
|
111
|
+
v-model=model.f_contract_number condition="a.f_contract_number like '%{}%'" >
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
<div class="row text-center app-row" >
|
|
115
|
+
<button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search()">查询</button>
|
|
116
|
+
</div>
|
|
117
|
+
</form>
|
|
118
|
+
</div>
|
|
119
|
+
|
|
120
|
+
</criteria>
|
|
121
|
+
<list :model="model" partial='list'>
|
|
122
|
+
<div partial>
|
|
123
|
+
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
|
124
|
+
<div class="panel-body panel-self">
|
|
125
|
+
<div class="row">
|
|
126
|
+
<p class="panel-title col-xs-3 text-left font">工程编号:</p>
|
|
127
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_apply_num }}</p>
|
|
128
|
+
</div>
|
|
129
|
+
<div class="row">
|
|
130
|
+
<p class="panel-title col-xs-3 text-left font">合同编号:</p>
|
|
131
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_contract_number }}</p>
|
|
132
|
+
</div>
|
|
133
|
+
<div class="row">
|
|
134
|
+
<p class="panel-title col-xs-3 text-left font">报建类型:</p>
|
|
135
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_apply_type }}</p>
|
|
136
|
+
</div>
|
|
137
|
+
<div class="row">
|
|
138
|
+
<p class="panel-title col-xs-3 text-left font">报建性质:</p>
|
|
139
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_apply_nature }}</p>
|
|
140
|
+
</div>
|
|
141
|
+
<div class="row">
|
|
142
|
+
<p class="panel-title col-xs-3 text-left font">客户名称:</p>
|
|
143
|
+
<p class="panel-title col-xs-9 text-left input-font">{{row.f_user_name}}</p>
|
|
144
|
+
</div>
|
|
145
|
+
<div class="row">
|
|
146
|
+
<p class="panel-title col-xs-3 text-left font">客户编号:</p>
|
|
147
|
+
<p class="panel-title col-xs-9 text-left input-font">{{row.f_userinfo_code}}</p>
|
|
148
|
+
</div>
|
|
149
|
+
<div class="row">
|
|
150
|
+
<p class="panel-title col-xs-3 text-left font">客户地址:</p>
|
|
151
|
+
<p class="panel-title col-xs-9 text-left input-font">{{row.f_address}}</p>
|
|
152
|
+
</div>
|
|
153
|
+
<div class="row">
|
|
154
|
+
<p class="panel-title col-xs-3 text-left font">合同金额</p>
|
|
155
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_contract_money }}</p>
|
|
156
|
+
</div>
|
|
157
|
+
<div class="row">
|
|
158
|
+
<p class="panel-title col-xs-3 text-left font">收费金额</p>
|
|
159
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_charge_money }}</p>
|
|
160
|
+
</div>
|
|
161
|
+
<div class="row">
|
|
162
|
+
<p class="panel-title col-xs-3 text-left font">收费项目</p>
|
|
163
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_payment_term }}</p>
|
|
164
|
+
</div>
|
|
165
|
+
<div class="row">
|
|
166
|
+
<p class="panel-title col-xs-3 text-left font">付款方式</p>
|
|
167
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_payment_method }}</p>
|
|
168
|
+
</div>
|
|
169
|
+
<div class="row">
|
|
170
|
+
<p class="panel-title col-xs-3 text-left font">收费人员</p>
|
|
171
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_charge_collectors }}</p>
|
|
172
|
+
</div>
|
|
173
|
+
<div class="row">
|
|
174
|
+
<p class="panel-title col-xs-3 text-left font">收费日期</p>
|
|
175
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_charge_date }}</p>
|
|
176
|
+
</div>
|
|
177
|
+
<div class="row">
|
|
178
|
+
<p class="panel-title col-xs-3 text-left font">实际收款日期</p>
|
|
179
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_actual_date }}</p>
|
|
180
|
+
</div>
|
|
181
|
+
<div class="row">
|
|
182
|
+
<p class="panel-title col-xs-3 text-left font">收费状态</p>
|
|
183
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_charge_status }}</p>
|
|
184
|
+
</div>
|
|
185
|
+
<div class="row">
|
|
186
|
+
<p class="panel-title col-xs-3 text-left font">确认人</p>
|
|
187
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_confirm_person }}</p>
|
|
188
|
+
</div>
|
|
189
|
+
<div class="row">
|
|
190
|
+
<p class="panel-title col-xs-3 text-left font">确认时间</p>
|
|
191
|
+
<p class="panel-title col-xs-9 text-left input-font">{{ row.f_confirm_date }}</p>
|
|
192
|
+
</div>
|
|
193
|
+
<div class="row">
|
|
194
|
+
<button v-if="$parent.$parent.$parent.isEmpty(row.f_confirm_person)" style="background-color:#499edf;float: right" class="btn btn-info" @click="$parent.$parent.$parent.confirmModal(row)">确认收款</button>
|
|
195
|
+
</div>
|
|
196
|
+
</div>
|
|
197
|
+
</div>
|
|
198
|
+
</div>
|
|
199
|
+
</list>
|
|
200
|
+
</criteria-paged>
|
|
201
|
+
<validator name="v">
|
|
202
|
+
<modal v-if="showmodel" :show.sync="showmodel" v-ref:modal title="确认收款">
|
|
203
|
+
<header slot="modal-header" class="modal-header">
|
|
204
|
+
<button type="button" class="close" @click="closemodel"><span>×</span></button>
|
|
205
|
+
<h4 class="modal-title">确认收款</h4>
|
|
206
|
+
</header>
|
|
207
|
+
|
|
208
|
+
<article slot="modal-body" class="modal-body clearfix">
|
|
209
|
+
<div class="form-group col-sm-12">
|
|
210
|
+
<label class="col-sm-2 control-label">收费金额:</label>
|
|
211
|
+
<div class="col-sm-10">
|
|
212
|
+
<input type="text"
|
|
213
|
+
class="form-control input_view"
|
|
214
|
+
style="width: 100%"
|
|
215
|
+
readonly
|
|
216
|
+
v-model="charge.f_charge_money" />
|
|
217
|
+
</div>
|
|
218
|
+
</div>
|
|
219
|
+
<div class="form-group col-sm-12">
|
|
220
|
+
<label class="col-sm-2 control-label">付款方式:</label>
|
|
221
|
+
<div class="col-sm-10">
|
|
222
|
+
<input type="text"
|
|
223
|
+
class="form-control input_view"
|
|
224
|
+
style="width: 100%"
|
|
225
|
+
readonly
|
|
226
|
+
v-model="charge.f_payment_method" />
|
|
227
|
+
</div>
|
|
228
|
+
</div>
|
|
229
|
+
<div class="form-group col-sm-12">
|
|
230
|
+
<label class="col-sm-2 control-label">金额大写:</label>
|
|
231
|
+
<div class="col-sm-10">
|
|
232
|
+
<input type="text"
|
|
233
|
+
class="form-control input_view"
|
|
234
|
+
style="width: 100%"
|
|
235
|
+
readonly
|
|
236
|
+
v-model="charge.f_amount_words" />
|
|
237
|
+
</div>
|
|
238
|
+
</div>
|
|
239
|
+
<div class="form-group col-sm-12">
|
|
240
|
+
<label class="col-sm-2 control-label">收费人员:</label>
|
|
241
|
+
<div class="col-sm-10">
|
|
242
|
+
<input type="text"
|
|
243
|
+
class="form-control input_view"
|
|
244
|
+
style="width: 100%"
|
|
245
|
+
readonly
|
|
246
|
+
v-model="charge.f_charge_collectors" />
|
|
247
|
+
</div>
|
|
248
|
+
</div>
|
|
249
|
+
<div class="form-group col-sm-12">
|
|
250
|
+
<label class="col-sm-2 control-label">确认人:</label>
|
|
251
|
+
<div class="col-sm-10">
|
|
252
|
+
<input type="text"
|
|
253
|
+
class="form-control input_view"
|
|
254
|
+
style="width: 100%"
|
|
255
|
+
v-model="charge.f_confirm_person" />
|
|
256
|
+
</div>
|
|
257
|
+
</div>
|
|
258
|
+
<div class="form-group col-sm-12">
|
|
259
|
+
<label class="col-sm-2 control-label">确认时间:</label>
|
|
260
|
+
<div class="col-sm-10">
|
|
261
|
+
<datepicker id="startDate" placeholder="确认时间"
|
|
262
|
+
style="width: 60%!important;"
|
|
263
|
+
v-model="charge.f_confirm_date"
|
|
264
|
+
:value.sync="charge.f_confirm_date"
|
|
265
|
+
:default="true"
|
|
266
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
267
|
+
:show-reset-button="true"
|
|
268
|
+
>
|
|
269
|
+
</datepicker>
|
|
270
|
+
</div>
|
|
271
|
+
</div>
|
|
272
|
+
<div class="form-group col-sm-12">
|
|
273
|
+
<label class="col-sm-2 control-label">备注:</label>
|
|
274
|
+
<div class="col-sm-10">
|
|
275
|
+
<input type="text"
|
|
276
|
+
class="form-control input_view"
|
|
277
|
+
style="width: 100%"
|
|
278
|
+
v-model="charge.f_charge_remarks" />
|
|
279
|
+
</div>
|
|
280
|
+
</div>
|
|
281
|
+
</article>
|
|
282
|
+
|
|
283
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
284
|
+
<button type="button" class="btn btn-primary" :disabled='!$v.valid' @click="ConfirmPayment()">确认收款</button>
|
|
285
|
+
</footer>
|
|
286
|
+
</modal>
|
|
287
|
+
</validator>
|
|
288
|
+
</div>
|
|
289
|
+
</template>
|
|
290
|
+
|
|
291
|
+
<script>
|
|
292
|
+
|
|
293
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
294
|
+
import Vue from 'vue'
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
export default {
|
|
298
|
+
title: '报建收费明细',
|
|
299
|
+
data () {
|
|
300
|
+
return {
|
|
301
|
+
model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/getApplyCharge`,
|
|
302
|
+
5, {}
|
|
303
|
+
),
|
|
304
|
+
showmodel:false,
|
|
305
|
+
charge:{}
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
ready () {
|
|
309
|
+
//this.$refs.paged.$refs.cri.model.startDate=`${Util.toStandardYearMonth()}-01`
|
|
310
|
+
//this.$refs.paged.$refs.cri.model.endDate=Util.toStartAndEndDateString()[1]
|
|
311
|
+
this.search()
|
|
312
|
+
},
|
|
313
|
+
methods: {
|
|
314
|
+
isEmpty (str) {
|
|
315
|
+
return str === undefined || str === null || str.toString().trim() === ''
|
|
316
|
+
},
|
|
317
|
+
search () {
|
|
318
|
+
this.$refs.paged.$refs.cri.search()
|
|
319
|
+
},
|
|
320
|
+
async selfSearch (args) {
|
|
321
|
+
args.condition = args.condition + ` and cr.f_orgid in (${Vue.user.orgid})`
|
|
322
|
+
this.model.search(args.condition, args.model)
|
|
323
|
+
},
|
|
324
|
+
confirmModal(row){
|
|
325
|
+
this.charge = row
|
|
326
|
+
this.charge.f_confirm_person = Vue.user.name
|
|
327
|
+
this.showmodel = true
|
|
328
|
+
},
|
|
329
|
+
closemodel(){
|
|
330
|
+
this.charge = {}
|
|
331
|
+
this.showmodel = false
|
|
332
|
+
this.search()
|
|
333
|
+
},
|
|
334
|
+
async ConfirmPayment() {
|
|
335
|
+
let http = new HttpResetClass()
|
|
336
|
+
let data = {
|
|
337
|
+
charge: this.charge
|
|
338
|
+
}
|
|
339
|
+
let res = await http.load('POST', this.$androidUtil.getProxyUrl() +'/rs/logic/confirmCharge', {data: data}, {
|
|
340
|
+
resolveMsg: null,
|
|
341
|
+
rejectMsg: '提交失败!!!'
|
|
342
|
+
})
|
|
343
|
+
if(res.data==200){
|
|
344
|
+
this.$showAlert('提交成功!!!', 'success', 3000)
|
|
345
|
+
//延时1s
|
|
346
|
+
setTimeout(() => {
|
|
347
|
+
this.charge = {}
|
|
348
|
+
this.showmodel = false
|
|
349
|
+
}, 1000)
|
|
350
|
+
}
|
|
351
|
+
//重新查询
|
|
352
|
+
this.search()
|
|
353
|
+
},
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
}
|
|
357
|
+
</script>
|
|
358
|
+
<style>
|
|
359
|
+
.app-row {
|
|
360
|
+
background-color: white;
|
|
361
|
+
padding: 10px 10px 0 10px;
|
|
362
|
+
border-bottom: 1px solid rgba(235, 235, 235, 0.5);
|
|
363
|
+
}
|
|
364
|
+
.search_input {
|
|
365
|
+
border: 0;
|
|
366
|
+
outline: none;
|
|
367
|
+
}
|
|
368
|
+
.font{
|
|
369
|
+
font: 15px PingFang-SC-Medium;
|
|
370
|
+
color: #666666;
|
|
371
|
+
}
|
|
372
|
+
.input-font{
|
|
373
|
+
font: 15px PingFang-SC-Medium;
|
|
374
|
+
color: #333333;
|
|
375
|
+
}
|
|
376
|
+
.btn-font{
|
|
377
|
+
font:600 16px PingFang-SC-Bold;
|
|
378
|
+
color: #499EDF;
|
|
379
|
+
}
|
|
380
|
+
.btn-color{
|
|
381
|
+
background-color: #FFFFFF;
|
|
382
|
+
border-radius: 10px ;
|
|
383
|
+
border: 1px solid #499EDF;
|
|
384
|
+
}
|
|
385
|
+
.panel-self{
|
|
386
|
+
border-radius: 10px;
|
|
387
|
+
border:1px solid #499EDF;
|
|
388
|
+
background-color: #F8F8F8;
|
|
389
|
+
}
|
|
390
|
+
</style>
|
|
391
|
+
|