apply-clients 3.3.2-80-test → 3.3.2-81-test

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.
@@ -8,8 +8,6 @@
8
8
  <th class="textNoLineBreak">材料型号</th>
9
9
  <th class="textNoLineBreak">材料单位</th>
10
10
  <th class="textNoLineBreak">材料数量</th>
11
- <th class="textNoLineBreak">材料单价</th>
12
- <th class="textNoLineBreak">总金额</th>
13
11
  <th class="textNoLineBreak">
14
12
  <button class="button_new button_spacing" type="button" @click="$parent.$parent.openMaterialModal()">添加
15
13
  </button>
@@ -33,12 +31,6 @@
33
31
  <td style="text-align: center;">
34
32
  <nobr>{{row.f_material_number}}</nobr>
35
33
  </td>
36
- <td style="text-align: center;">
37
- <nobr>{{row.f_material_price}}</nobr>
38
- </td>
39
- <td style="text-align: center;">
40
- <nobr>{{row.f_material_price*row.f_material_number}}</nobr>
41
- </td>
42
34
  <td style="text-align: center;">
43
35
  <button type="button" class="button_search button_spacing"
44
36
  @click="$parent.$parent.updateMaterial($index,row)">修改
@@ -115,21 +107,39 @@
115
107
  <label class="col-sm-4 control-label">材料数量:</label>
116
108
  <div class="col-sm-8">
117
109
  <input class="form-control input_view" style="" type="number"
118
- placeholder="材料数量"
110
+ placeholder="设备数量"
119
111
  v-model="item.f_material_number"
120
112
  :value="item.f_material_number"
121
- @change="ChangeMoney()"
122
113
  />
123
114
  </div>
124
115
  </div>
125
116
  <div class="form-group col-sm-6">
126
- <label class="col-sm-4 control-label">材料单价:</label>
117
+ <label class="col-sm-4 control-label">材料编号:</label>
118
+ <div class="col-sm-8">
119
+ <input class="form-control input_view" style="" type="text"
120
+ placeholder="材料编号"
121
+ v-model="item.f_bjq_sid"
122
+ :value="item.f_bjq_sid"
123
+ />
124
+ </div>
125
+ </div>
126
+ <div class="form-group col-sm-6">
127
+ <label class="col-sm-4 control-label">材料标识:</label>
127
128
  <div class="col-sm-8">
128
129
  <input class="form-control input_view" style=""
129
- placeholder="材料单价"
130
- v-model="item.price"
131
- :value.sync="item.price"
132
- @change="ChangeMoney()"
130
+ placeholder="材料标识"
131
+ v-model="item.f_material_code"
132
+ :value.sync="item.f_material_code"
133
+ />
134
+ </div>
135
+ </div>
136
+ <div class="form-group col-sm-6">
137
+ <label class="col-sm-4 control-label">用户编号:</label>
138
+ <div class="col-sm-8">
139
+ <input class="form-control input_view" style=""
140
+ placeholder="用户编号"
141
+ v-model="item.f_userinfo_code"
142
+ :value.sync="item.f_userinfo_code"
133
143
  />
134
144
  </div>
135
145
  </div>
@@ -140,9 +150,8 @@
140
150
  </article>
141
151
  <footer slot="modal-footer" class="modal-footer">
142
152
  <template v-if="mark !== 1">
143
- <span class="modal-title me-3">累计金额:{{totalmoney}}</span>
144
153
  <button type="button" class="btn btn-primary" v-if="title==='新增'" @click="pushMaterial()">添加材料</button>
145
- <button type="button" class="btn btn-primary" v-if="title==='新增'" @click="addMaterialBefore()"
154
+ <button type="button" class="btn btn-primary" v-if="title==='新增'" @click="addMaterial()"
146
155
  :disabled="!$v.valid">确认添加
147
156
  </button>
148
157
  <button type="button" class="btn btn-primary" v-if="title==='修改'" @click="updateConfirm()"
@@ -151,37 +160,6 @@
151
160
  </template>
152
161
  </footer>
153
162
  </modal>
154
- <modal v-if="showCharge" :show.sync="showCharge" v-ref:modal :large="true" :backdrop="false" title="收费明细">
155
- <header slot="modal-header" class="modal-header">
156
- <button type="button" class="close" @click="closeModal"><span>&times;</span></button>
157
- <h4 class="modal-title">材料收费</h4>
158
- </header>
159
- <article slot="modal-body" class="modal-body clearfix">
160
- <div class="form-group row vertical-center">
161
- <label class="col-xs-4 control-label">付款方式:</label>
162
- <div class="col-xs-8">
163
- <input-select class="select select_list"
164
- v-model="f_payment_method"
165
- :value.sync="f_payment_method"
166
- :options='paymentMethod'
167
- @change="paymentMethodChange"
168
- :value-single="true"
169
- close-on-select ></input-select>
170
- </div>
171
- </div>
172
- <div class="text-center" v-if="f_payment_method=='二维码'">
173
- <p><b>收费金额:{{ totalmoney }}¥</b></p>
174
- <div id="qrcode" class="qrcode" v-ref:qrcode></div>
175
- <p>
176
- 等待支付,剩余&ensp;<span style="color: #ff791a">{{timeLeft}}</span>&ensp;秒
177
- </p>
178
- <button type="button" @click="closeQRCode">取消支付</button>
179
- </div>
180
- </article>
181
- <footer slot="modal-footer" class="modal-footer">
182
- <button v-if="f_payment_method!='二维码'" id="savebut" type="button" class="btn btn-primary" @click.prevent="addMaterial()">确认</button>
183
- </footer>
184
- </modal>
185
163
  </div>
186
164
  </template>
187
165
  <script>
@@ -199,15 +177,9 @@ export default {
199
177
  onetomany: {
200
178
  rows: []
201
179
  },
202
- timeLeft: 120,
203
- paymentInterval: null,
204
- orderInterval: null,
205
- order: null,
180
+ totalPrice:0,
206
181
  title: '新增',
207
- showCharge: false,
208
182
  showMaterialModal: false,
209
- totalmoney:0,
210
- f_payment_method:'',
211
183
  materials: [
212
184
  {
213
185
  material: '',
@@ -217,7 +189,6 @@ export default {
217
189
  f_material_number: '',
218
190
  f_bjq_sid: '',
219
191
  f_material_code: '',
220
- price:0,
221
192
  f_userinfo_code:''
222
193
  }
223
194
  ],
@@ -225,67 +196,13 @@ export default {
225
196
  row: {},
226
197
  bjqChecklag:[],
227
198
  fmaterialname:{},
228
- filiale:"",
229
- paymentMethod:[
230
- {
231
- value: '现金',
232
- label: '现金'
233
- },
234
- {
235
- value: '二维码',
236
- label: '二维码'
237
- }
238
- ],
239
199
  isShow:[false]
240
200
  }
241
201
  },
242
202
  ready() {
243
203
  this.getOnetoManyData()
244
- if (Vue.user.orgid == '10101') {
245
- console.log('zhoukou')
246
- this.filiale = 'zhoukou'
247
- }else if (Vue.user.orgid == '35520') {
248
- console.log('xiangcheng')
249
- this.filiale = 'xiangcheng'
250
- }else if (Vue.user.orgid == '35532') {
251
- console.log('luyi')
252
- this.filiale = 'luyi'
253
- }else if (Vue.user.orgid == '35538') {
254
- console.log('dancheng')
255
- this.filiale = 'dancheng'
256
- }else if (Vue.user.orgid == '35526') {
257
- console.log('xihua')
258
- this.filiale = 'xihua'
259
- }else {
260
- this.$showMessage('分公司异常,请联系管理员!')
261
- }
262
204
  },
263
205
  methods: {
264
- closeQRCode(){
265
- this.clearQrCode()
266
- this.f_payment_method=''
267
- this.showCharge =false
268
- clearInterval(this.paymentInterval)
269
- clearInterval(this.orderInterval)
270
-
271
- },
272
- closeModal(){
273
- this.showCharge= false
274
- this.f_payment_method=''
275
- clearInterval(this.paymentInterval)
276
- clearInterval(this.orderInterval)
277
- },
278
- ChangeMoney() {
279
- this.totalmoney = 0
280
- for (let i = 0; i < this.materials.length; i++) {
281
- const number = Number(this.materials[i].f_material_number) || 0
282
- const price = Number(this.materials[i].price) || 0
283
- this.totalmoney += this.accMul(number, price) // 复用高精度乘法
284
- this.materials[i].f_userinfo_code = this.selectdata.f_userinfo_code || ''
285
- }
286
- // 保留2位小数,避免金额显示异常
287
- this.totalmoney = Number(this.totalmoney.toFixed(2))
288
- },
289
206
  async getOnetoManyData () {
290
207
  let http = new HttpResetClass()
291
208
  let data = {
@@ -299,6 +216,10 @@ export default {
299
216
  {resolveMsg: null, rejectMsg: 'onetomany查询失败'}
300
217
  )
301
218
  this.onetomany.rows = res.data
219
+ this.totalPrice = 0
220
+ for (let i = 0; i < this.onetomany.rows.length; i++) {
221
+ this.totalPrice=this.totalPrice+(parseFloat(this.onetomany.rows[i].f_material_price)*parseFloat(this.onetomany.rows[i].f_material_number))
222
+ }
302
223
  },
303
224
  async openMaterialModal() {
304
225
  this.getMateralNames()
@@ -312,7 +233,6 @@ export default {
312
233
  f_material_number: '',
313
234
  f_bjq_sid: '',
314
235
  f_material_code: '',
315
- price:0,
316
236
  f_userinfo_code: ''
317
237
  }
318
238
  ],
@@ -332,7 +252,6 @@ export default {
332
252
  f_material_number: '',
333
253
  f_bjq_sid: '',
334
254
  f_material_code: '',
335
- price:0,
336
255
  f_userinfo_code: ''
337
256
  })
338
257
  this.isShow.push(false)
@@ -367,102 +286,19 @@ export default {
367
286
  this.materials[index].f_material_number = material.f_material_number
368
287
  this.materials[index].f_material_code = material.f_material_code
369
288
  this.materials[index].f_userinfo_code = material.f_userinfo_code
370
- this.materials[index].price = material.price
371
289
  if (material.f_material_name === "报警器-汉威") {
372
290
  this.isShow[index] = true
373
291
  } else {
374
292
  this.isShow[index] = false
375
293
  }
376
- },
377
- accMul(arg1,arg2) {
378
- let m = 0, s1 = arg1.toString(), s2 = arg2.toString();
379
- try {
380
- m += s1.split(".")[1].length
381
- } catch (e) {
382
- }
383
- try {
384
- m += s2.split(".")[1].length
385
- } catch (e) {
386
- }
387
- return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
294
+ this.isShow.splice(0, 1, this.isShow[0])
388
295
  },
389
296
  // 新增材料
390
- async paymentMethodChange() {
391
- if (this.f_payment_method == '二维码') {
392
- let http = new HttpResetClass()
393
- let data = {
394
- money: this.accMul(this.totalmoney, 100),
395
- attach: {
396
- "f_type": '报建材料收费',
397
- "f_user": Vue.user.id
398
- },
399
- str: "",
400
- config: this.filiale,
401
- f_revenue: "productV3"
402
- }
403
- let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/ICBCGetCode`, data, {
404
- resolveMsg: null,
405
- rejectMsg: '订单生成失败!!!'
406
- })
407
- console.log('=================================')
408
- console.log(JSON.stringify(res.data))
409
- this.order = res.data
410
- this.qrcode()
411
- this.paymentInterval = setInterval(() => {
412
- this.timeLeft = this.timeLeft - 1
413
- if (this.timeLeft <= 0) {
414
- this.$showMessage('支付超时,请重新发起支付')
415
- this.closeQRCode() // 调用已有的取消支付方法
416
- }
417
- }, 1000)
418
- this.orderInterval = setInterval(() => {
419
- this.getOrderInformation()
420
- },3000)
421
- }
422
- },
423
- async addMaterialBefore() {
424
- this.timeLeft= 120
425
- this.showCharge= true
426
- },
427
- // 获取订单信息
428
- async getOrderInformation () {
429
- let http = new HttpResetClass()
430
- let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {
431
- data: {
432
- items: "id",
433
- tablename: "t_weixinreturnxml",
434
- condition: ` f_out_trade_no = '${this.order.f_out_trade_no}' and f_bill_state = 1 `,
435
- orderitem: "id"
436
- }
437
- }, {
438
- resolveMsg: null,
439
- rejectMsg: '订单查询失败!!!'
440
- })
441
- if (res.data.length > 0) {
442
- this.$showMessage('支付成功!!!')
443
- clearTimeout(this.paymentInterval)
444
- clearTimeout(this.orderInterval)
445
- this.timeLeft = 10
446
- // 清除二维码
447
- this.clearQrCode()
448
- this.addMaterial()
449
- }
450
- },
451
- qrcode () {
452
- let qrcode = new QRCode('qrcode',{
453
- text: this.order.url, // 设置二维码内容或跳转地址
454
- width: 200, // 设置宽度,单位像素
455
- height: 200, // 设置高度,单位像素
456
- correctLevel: QRCode.CorrectLevel.L //容错率,L/M/Hs
457
- })
458
- },
459
- clearQrCode () {
460
- document.getElementById('qrcode').innerHTML = ''
461
- },
462
297
  async addMaterial() {
463
298
  this.title = '新增'
464
299
  let data = {
465
300
  f_process_id: this.selectdata.f_process_id,
301
+ f_userinfo_code: this.selectdata.f_userinfo_code,
466
302
  f_operator_id: Vue.user.id,
467
303
  f_operator: Vue.user.name,
468
304
  f_operation_date: new Date().Format('yyyy-MM-dd HH:mm:ss'),
@@ -483,28 +319,14 @@ export default {
483
319
  `${this.$androidUtil.getProxyUrl()}/rs/logic/saveMaterials`,
484
320
  data
485
321
  )
486
- this.closeMaterials()
487
- },
488
- async addMaterialAfter() {
489
- let data = {
490
- f_out_trade_no:this.order.f_out_trade_no
322
+ await this.getOnetoManyData()
323
+ if(this.selectdata.f_apply_type='改管报建'){
324
+ this.$dispatch('addMaterial', this.totalPrice)
491
325
  }
492
- //报警器流程 设备编号检验
493
- await this.bjqCheck()
494
- if (this.bjqChecklag.length > 0) {
495
- return
496
- }
497
-
498
- let http = new HttpResetClass()
499
- let res = await http.load(
500
- 'POST',
501
- `${this.$androidUtil.getProxyUrl()}/rs/logic/SaveMaterialsAfter`,
502
- data
503
- )
504
326
  this.closeMaterials()
505
327
  },
506
328
  async deleteMaterial(row) {
507
-
329
+ debugger
508
330
  var show1 = window.confirm('您确定要删除这条记录吗?')
509
331
  if(show1 != true){
510
332
  this.closeMaterials()
@@ -516,9 +338,14 @@ export default {
516
338
  {data: row},
517
339
  {resolveMsg: null, rejectMsg: '材料删除失败!!!'}
518
340
  )
341
+ await this.getOnetoManyData()
342
+ if(this.selectdata.f_apply_type='改管报建'){
343
+ this.$dispatch('addMaterial', this.totalPrice)
344
+ }
519
345
  this.closeMaterials()
520
346
  }
521
- },
347
+ }
348
+ ,
522
349
  async updateMaterial(index, row) {
523
350
  this.title = '修改'
524
351
  this.row = row
@@ -532,8 +359,7 @@ export default {
532
359
  f_material_number: row.f_material_number,
533
360
  f_material_code: row.f_material_code,
534
361
  f_bjq_sid: row.f_bjq_sid,
535
- f_userinfo_code: row.f_userinfo_code,
536
- price:row.f_material_price
362
+ f_userinfo_code: row.f_userinfo_code
537
363
  }
538
364
  ]
539
365
  this.showMaterialModal = true
@@ -547,7 +373,7 @@ export default {
547
373
  data.f_material_code = this.materials[0].f_material_code
548
374
  data.f_bjq_sid = this.materials[0].f_bjq_sid
549
375
  data.f_userinfo_code=this.materials[0].f_userinfo_code
550
- data.f_material_price = this.materials[0].price
376
+
551
377
  //报警器流程 设备编号检验
552
378
  await this.bjqCheck()
553
379
  if (this.bjqChecklag.length > 0){
@@ -569,7 +395,6 @@ export default {
569
395
  closeMaterials() {
570
396
  this.getOnetoManyData()
571
397
  this.showMaterialModal = false
572
- this.showCharge= false
573
398
  },
574
399
  async bjqCheck(){
575
400
  //报警器设备型号校验
@@ -600,15 +425,9 @@ export default {
600
425
  }
601
426
  }
602
427
  }
603
- },
604
- beforeDestroy() {
605
- clearInterval(this.paymentInterval)
606
- clearInterval(this.orderInterval)
607
- this.clearQrCode() // 清理二维码DOM
608
428
  }
609
429
  }
610
430
 
611
-
612
431
  </script>
613
432
 
614
433
  <style scoped>