apply-clients 4.1.6-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.6-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,36 +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>
126
- <div class="form-group row vertical-center">
127
- <label class="col-xs-4 control-label">应交总金额:</label>
128
- <div class="col-xs-8">
129
- <input class="form-control input_view" style=""
130
- v-model="selectdata.f_due_money"
131
- :readonly="true"/>
132
- </div>
133
- </div>
134
- <div class="form-group row vertical-center">
135
- <label class="col-xs-4 control-label">缴费总金额:</label>
136
- <div class="col-xs-8">
137
- <input class="form-control input_view" style=""
138
- v-model="selectdata.f_cumulative_payment_money"
139
- :readonly="true"/>
140
- </div>
141
- </div>
142
- <div class="form-group row vertical-center">
143
- <label class="col-xs-4 control-label">未结总金额:</label>
144
- <div class="col-xs-8">
145
- <input class="form-control input_view" style=""
146
- v-model="selectdata.f_surplus_money"
147
- :readonly="true"/>
148
- </div>
149
- </div>
136
+ <!-- <div class="row" style="display: flex"> <button type="button" style="margin: 0 auto;" class="btn btn-primary" @click.prevent="addPaymentTerms()">增加收费项目</button> </div>-->
150
137
  </article>
151
138
  <footer slot="modal-footer" class="modal-footer">
152
139
  <button type="button" class="btn btn-primary" @click.prevent="openQrCode()">确认</button>
@@ -193,6 +180,7 @@ export default {
193
180
  data () {
194
181
  return {
195
182
  showCharge: false, // 收费明细
183
+ showCharge1:false, // 付款方式
196
184
  showQrCode : false, // 二维码
197
185
  model: {
198
186
  rows: null
@@ -202,9 +190,9 @@ export default {
202
190
 
203
191
  },*/
204
192
  charge: {
205
- 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 : ''}]
206
194
  },
207
- order: null,
195
+ order: {},
208
196
  timeLeft: 120,
209
197
  paymentInterval: null,
210
198
  orderInterval: null,
@@ -219,7 +207,7 @@ export default {
219
207
  },
220
208
  methods: {
221
209
  addPaymentTerms(){
222
- 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})
223
211
  },
224
212
  // 新增收费
225
213
  async saveCharge() {
@@ -253,7 +241,7 @@ export default {
253
241
  data: {
254
242
  items: "id",
255
243
  tablename: "t_weixinreturnxml",
256
- 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 = '已支付' `,
257
245
  orderitem: "id"
258
246
  }
259
247
  }, {
@@ -278,21 +266,15 @@ export default {
278
266
  },
279
267
  checkApplyModel(){
280
268
  console.log(this.charge.payment_terms)
281
- if (Number(this.getTotalAmount()) != Number(this.selectdata.f_surplus_money)) {
282
- this.$showAlert('本次收费金额必须和未交总金额一致!!!', 'warning', 3000)
283
- //this.charge.f_charge_money = null
284
- return
285
- }
286
-
287
269
  for(let row = 0;row<this.charge.payment_terms.length; row++){
288
270
  console.log(this.charge.payment_terms[row])
289
271
  if (isEmpty(this.charge.payment_terms[row].f_payment_term)) {
290
272
  console.log(1111)
291
- this.$showAlert('请选择收费项目!!!', 'warning', 3000)
273
+ this.$showMessage('请选择收费项目!!!', 'warning', 3000)
292
274
  return
293
275
  }else if (isEmpty(this.charge.payment_terms[row].f_charge_money)) {
294
276
  console.log(2222)
295
- this.$showAlert('请输入收费金额!!!', 'warning', 3000)
277
+ this.$showMessage('请输入收费金额!!!', 'warning', 3000)
296
278
  return
297
279
  }
298
280
  }
@@ -302,43 +284,64 @@ export default {
302
284
  // 打开二维码
303
285
  async openQrCode () {
304
286
  console.log(this.charge.payment_terms)
305
- if (Number(this.getTotalAmount()) != Number(this.selectdata.f_surplus_money)) {
306
- this.$showAlert('本次收费金额必须和未交总金额一致!!!', 'warning', 3000)
307
- //this.charge.f_charge_money = null
308
- return
309
- }
310
-
287
+ let http = new HttpResetClass()
311
288
  for(let row = 0;row<this.charge.payment_terms.length; row++){
312
289
  console.log(this.charge.payment_terms[row])
313
290
  if (isEmpty(this.charge.payment_terms[row].f_payment_term)) {
314
291
  console.log(1111)
315
- this.$showAlert('请选择收费项目!!!', 'warning', 3000)
292
+ this.$showMessage('请选择收费项目!!!', 'warning', 3000)
316
293
  return
317
294
  }else if (isEmpty(this.charge.payment_terms[row].f_charge_money)) {
318
295
  console.log(2222)
319
- this.$showAlert('请输入收费金额!!!', 'warning', 3000)
296
+ this.$showMessage('请输入收费金额!!!', 'warning', 3000)
320
297
  return
321
298
  }
322
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
+ }
323
325
  this.showCharge=false
324
326
  //this.$dispatch('changeShowfei','待付款')
325
327
  //this.saveCharge()
326
- let http = new HttpResetClass()
327
328
  // 接口金额 单位为:分
328
329
  let data = {
329
- money: this.accMul(this.getTotalAmount() ,100),
330
+ money: this.accMul(this.getTotalAmount() ,1),
330
331
  attach: {
331
- "f_type": '报建收费',
332
+ "f_apply_num": this.selectdata.f_apply_num,
332
333
  "f_user": Vue.user.id
333
334
  },
334
- str: this.getPaymentTerm(),
335
- config: this.filiale,
336
- f_revenue: "productV3"
335
+ orderType:'报装收费',
336
+ userfilesid:'',
337
+ flag: 'JsApiWeiNan',
338
+ openid: '',
339
+ filiale: 'weinanchengtou'
337
340
  }
338
341
  console.log('下单信息')
339
342
  console.log(JSON.stringify(data))
340
343
  // 下订单
341
- 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, {
342
345
  resolveMsg: null,
343
346
  rejectMsg: '订单生成失败!!!'
344
347
  })
@@ -405,7 +408,7 @@ export default {
405
408
  },
406
409
  qrcode () {
407
410
  let qrcode = new QRCode('qrcode',{
408
- text: this.order.url, // 设置二维码内容或跳转地址
411
+ text: this.order.appId, // 设置二维码内容或跳转地址
409
412
  width: 200, // 设置宽度,单位像素
410
413
  height: 200, // 设置高度,单位像素
411
414
  correctLevel: QRCode.CorrectLevel.L //容错率,L/M/Hs
@@ -417,7 +420,7 @@ export default {
417
420
  moneyChange (index) {
418
421
  console.log(`当前下标----${index}`)
419
422
  if (isEmpty(this.charge.payment_terms[index].f_charge_money) || Number(this.charge.payment_terms[index].f_charge_money) === 0) {
420
- this.$showAlert('单笔收费不能为0元!!!', 'warning', 3000)
423
+ this.$showMessage('单笔收费不能为0元!!!', 'warning', 3000)
421
424
  this.charge.payment_terms[index].f_charge_money = null
422
425
  return
423
426
  }
@@ -494,9 +497,6 @@ export default {
494
497
  rejectMsg: '用户获取失败!!!'
495
498
  })
496
499
 
497
- if (res.data.length <= 0) {
498
- this.$showAlert('暂无需要缴费用户!!!', 'warning', 3000)
499
- }
500
500
 
501
501
  this.useraddresList = res.data.map(item => {
502
502
  return {
@@ -509,9 +509,8 @@ export default {
509
509
  },
510
510
  async showChargeModal() {
511
511
  this.getUserAddress()
512
-
513
- this.charge.f_payment_method = '掌上营业厅'
514
-
512
+ console.log("材料费",this.selectdata.f_cost_sum)
513
+ this.charge.payment_terms[0].f_charge_money = this.selectdata.f_cost_sum
515
514
  this.showCharge = true
516
515
  },
517
516
  async search () {
@@ -531,7 +530,7 @@ export default {
531
530
  this.showInvalid = false
532
531
  this.showPrint = false
533
532
  this.charge = {
534
- 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}]
535
534
  }
536
535
  this.search()
537
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
@@ -41,7 +41,7 @@
41
41
  data: Vue.user,
42
42
  workname: this.selectdata.processname
43
43
  }
44
- let res = await http.load('POST', this.$androidUtil.getProxyUrl() +'rs/logic/ApplyGetConfigs', {data: xmldata}, {resolveMsg: null, rejectMsg: null})
44
+ let res = await http.load('POST', this.$androidUtil.getProxyUrl() +'/rs/logic/ApplyGetConfigs', {data: xmldata}, {resolveMsg: null, rejectMsg: null})
45
45
  if (res.data.code && res.data.code === 200) {
46
46
  Vue.prototype.$workflow_vue = res.data.workflow_vue
47
47
  } else {
@@ -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'"
@@ -88,9 +89,6 @@
88
89
  </div>
89
90
  <div class="col-sm-12 col-xs-12" id="test11">
90
91
  <accordion one-at-a-time="true">
91
- <panel v-for="(i,item) in data.onetomany" :header="item.title" :is-open="false" type="primary">
92
- <app-onetomany :onetomany="item" :index="i" :selectdata="data"></app-onetomany>
93
- </panel>
94
92
  <panel v-for="(i,item) in data.components" :header="item.title" :is-open="true" type="primary" v-if="item.device === 'app' || !item.device">
95
93
  <component :is="item.name" :selectdata="data" :mark="item.mark"></component>
96
94
  </panel>
@@ -214,6 +212,7 @@
214
212
  // 初始化数据
215
213
  initializtion(){
216
214
  console.log('进入serviceview的initializtion方法')
215
+ console.log('数据aaaa',this.data)
217
216
  // let temp = this.data
218
217
  // let temp = JSON.parse(JSON.stringify(this.data))
219
218
  // this.data = temp
@@ -229,12 +228,12 @@
229
228
  if(this.data.filiale){
230
229
  this.model.f_filiale = this.data.filiale
231
230
  }else{
232
- this.model.f_filiale = Vue.user.f_parentname
231
+ this.model.f_filiale = Vue.user.orgs
233
232
  }
234
233
  if(this.data.f_parentname){
235
234
  this.model.f_parentname = this.data.f_parentname
236
235
  }else{
237
- this.model.f_parentname = Vue.user.f_parentname
236
+ this.model.f_parentname = Vue.user.f_department_name
238
237
  }
239
238
  if(this.data.operate_date){
240
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>