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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apply-clients",
3
- "version": "4.1.7-weinan",
3
+ "version": "4.1.8-weinan",
4
4
  "description": "报建前端模块",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -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="false"/>
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(0)"
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 : '手机APP'}]
193
+ payment_terms:[{f_payment_term: '',f_charge_money: '',f_amount_words:'',f_payment_method : ''}]
182
194
  },
183
- order: null,
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 f_bill_state = 1 `,
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() ,100),
330
+ money: this.accMul(this.getTotalAmount() ,1),
295
331
  attach: {
296
- "f_type": '报建收费',
332
+ "f_apply_num": this.selectdata.f_apply_num,
297
333
  "f_user": Vue.user.id
298
334
  },
299
- str: this.getPaymentTerm(),
300
- config: this.filiale,
301
- f_revenue: "productV3"
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/logic/ICBCGetCode`, data, {
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.url, // 设置二维码内容或跳转地址
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
- console.log("服务数据",res.data)
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.f_payment_method = '掌上营业厅'
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(name == 'apply-user-info' || name == 'apply-info'){
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' || this.data.fields[i].type === 'checkbox') {
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
- console.log("item.ready"+this.data.fields[i].ready)
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-xs-12 form-group']">
28
- <label style="margin-top: 0.7em" :class="item.label_bootstraped?item.label_bootstraped + '':'col-xs-12'">{{item.label}}:</label>
29
- <div :class="item.value_bootstraped?item.value_bootstraped:'col-xs-12'">
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.f_parentname
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.f_parentname
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>&times;</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.f_apply_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>
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>