apply-clients 5.0.35-99 → 5.0.36-1

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.
@@ -1,2193 +1,2200 @@
1
- <template>
2
- <show-back-reason v-if="selectdata.f_back_reason && selectdata.f_back_reason!=''"
3
- :data="show_data"></show-back-reason>
4
- <!--<gas-stop v-if="selectdata.defname == '停气碰口'"></gas-stop>-->
5
- <material-message v-if="selectdata.defname=='材料导入'" v-ref:material
6
- :selectdata="selectdata"
7
- :state="2"
8
- :edit="true"></material-message>
9
- <material-message v-if="selectdata.defname=='材料审核'" v-ref:material
10
- :selectdata="selectdata"
11
- :state="1"
12
- :edit="true"></material-message>
13
- <receive-batch v-if="selectdata.defname == '派工单'" :selectdata="selectdata" v-ref:receivebatch></receive-batch>
14
- <project-settlement v-if="selectdata.defname == '工程结算'" :selectdata="selectdata"></project-settlement>
15
- <!-- <installfee :infee="selectdata" :showfee='true' v-if="selectdata.defname == '通气条件确认'"></installfee>-->
16
- <buyer-message v-ref:buyermessagev :selectdata="selectdata" :state="1" v-if="selectdata.defname == '收费'" ></buyer-message>
17
- <!-- <installfee :infee="selectdata" v-if="selectdata.defname == '收费'"></installfee>-->
18
- <service-view v-ref:service_show :data="show_data" v-if="showview" :is_show_datacheck="datacheck"></service-view>
19
-
20
- <modal :show.sync="showbuyerinfo" v-ref:modal backdrop="false">
21
- <header slot="modal-header" class="modal-header">
22
- <button type="button" class="close" @click="closebuyerinfo"><span>&times;</span></button>
23
- <h4 class="modal-title">打印电子发票,请请选择购货方信息</h4>
24
- </header>
25
- <article slot="modal-body" class="modal-body">
26
- <div v-if="showbuyerinfo">
27
- <div class="col-sm-12 span recordTable" style="margin-top: 10px;min-height: 350px">
28
- <partial-view v-ref:single-load>
29
- <data-grid :model="buyerinfo" v-ref:grid>
30
- <template partial='head'>
31
- <tr>
32
- <th>序号</th>
33
- <th>购货方名称</th>
34
- <th>购货方纳税人识别号</th>
35
- <th>购货方地址、电话</th>
36
- <th>购货方开户行及账号</th>
37
- <th>购货方电子邮箱</th>
38
- <th>操作</th>
39
- </tr>
40
- </template>
41
- <template partial='body'>
42
- <td style="text-align: center">{{$index+1}}</td>
43
- <td style="text-align: center">{{row.f_buyer_name}}</td>
44
- <td style="text-align: center">{{row.f_buyer_identify}}</td>
45
- <td style="text-align: center">{{row.f_buyer_addphone}}</td>
46
- <td style="text-align: center">{{row.f_buyer_bank}}</td>
47
- <td style="text-align: center">{{row.f_buyer_email}}</td>
48
- <td style="text-align: center">
49
- <button type="button" class="btn btn-success"
50
- @click='$parent.$parent.$parent.$parent.confirmbuyerinfo(row)'>选择
51
- </button>
52
- </td>
53
- </template>
54
- </data-grid>
55
- </partial-view>
56
- </div>
57
- </div>
58
- </article>
59
- <footer slot="modal-footer" class="modal-footer">
60
- <button v-show="showbuyerinfo" type="button" class="btn btn-default" @click='closebuyerinfo'>取消</button>
61
- </footer>
62
- </modal>
63
-
64
- <apply-accept-bill :show="acceptprint" :bill-url='acceptUrl' v-on:toggle="close" :data='row' :billdata="printData" v-ref:acceptbill @closeaccept="closeAccept"></apply-accept-bill>
65
- <!--打印报表html-->
66
- <!-- <div v-show="false">-->
67
- <!-- <div class="row" style="display: flex;justify-content: center;" id='bill-fee'>-->
68
- <!-- {{{bill}}}-->
69
- <!-- </div>-->
70
- <!-- <report-print id='bill-fee' top='15mm' left='5mm' width='90%' height='70%' :showbtn="false" preview="true"-->
71
- <!-- v-ref:reportprint></report-print>-->
72
- <!-- </div>-->
73
- <modal :show.sync="stop_show" v-ref:modal stop_show="false">
74
- <header slot="modal-header" class="modal-header">
75
- <button type="button" class="close" @click="closeback"><span>&times;</span></button>
76
- <h4 class="modal-title">终止备注</h4>
77
- </header>
78
- <article slot="modal-body" class="modal-body">
79
- <div class="from-group">
80
- <input type="text" class="form-control" v-model="models.f_stop_remarks"/>
81
- </div>
82
- </article>
83
- <footer slot="modal-footer" class="modal-footer">
84
- <button v-show="stop_show" type="button" class="btn btn-default" @click='stopapplys'>确认</button>
85
- </footer>
86
- </modal>
87
- <modal :show.sync="apply_show" v-ref:modal apply_show="false" >
88
- <header slot="modal-header" class="modal-header">
89
- <button type="button" class="close" @click="closeapply"><span>&times;</span></button>
90
- <h4 class="modal-title">转单报建</h4>
91
- </header>
92
- <article slot="modal-body" class="modal-body">
93
- <div class="from-group">
94
- <v-select style="min-width: 80%;"
95
- placeholder='请选择'
96
- :options="applytypes"
97
- :search="false"
98
- v-model="apply_type"
99
- :value.sync="apply_type"
100
- close-on-select>
101
- </v-select>
102
- </div>
103
- </article>
104
- <footer slot="modal-footer" class="modal-footer">
105
- <button v-show="apply_show" type="button" class="btn btn-default" @click='addactive()'>确认</button>
106
- </footer>
107
- </modal>
108
- </template>
109
- <script>
110
- import Vue from 'vue'
111
- import {HttpResetClass} from 'vue-client'
112
- import * as Util from '../../../../Util'
113
- // import AppData from 'stores/AppData'
114
- // Date格式化
115
- Date.prototype.Format = function (fmt) {
116
- var o = {
117
- "M+": this.getMonth() + 1, //月份
118
- "d+": this.getDate(), //日
119
- "H+": this.getHours(), //小时
120
- "m+": this.getMinutes(), //分
121
- "s+": this.getSeconds(), //秒
122
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
123
- "S": this.getMilliseconds() //毫秒
124
- };
125
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
126
- for (var k in o)
127
- if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
128
- return fmt;
129
- }
130
-
131
- export default {
132
- title: '报建流程业务控制层',
133
- props: ['selectdata'],
134
- data() {
135
- return {
136
- acceptprint: false,
137
- acceptUrl: 'rs/report/printReceiptbill',
138
- printData:{
139
- f_user_name: '',
140
- f_address: '',
141
- f_user_phone:'',
142
- f_work_type: '新报装',
143
- f_news:'身份证'
144
- },
145
- data: null, // 数据库数据,json配置文件数据的数据集合
146
- json_datas: null, // Json配置文件集合
147
- showview: false, // 控制显示service-view组件
148
- show_data: null, // 给view层显示的数据
149
- department_search: [], // 当前部门下所有人
150
- contract: null, // 单值表合同编号记录
151
- technologist: [], // 技术人员 角色下的人
152
- price: 0,
153
- xiangmu:'',
154
- xia:'',
155
- cost: 0,
156
- number: 0,
157
- pgd: '',
158
- showbuyerinfo: false, // 新增购货方信息模态框开关
159
- selectsellid: null, //需要打票收费id
160
- buyerinfo: {
161
- id: '',
162
- f_buyer_name: '',
163
- f_buyer_identify: '',
164
- f_buyer_addphone: '',
165
- f_buyer_bank: '',
166
- f_buyer_email: '',
167
- rows: [] // 购货方信息
168
- },
169
- bill: '',
170
- areaall:[],
171
- stop_show:false, // 终止备注开关
172
- apply_show:false, // 转单报建开关
173
- apply_type:'',
174
- applytypes:[{label:"散户报装",value:"报装申请"},{label:"集体报装",value:"集体报装申请"}],// 报建类型
175
- models: {
176
- f_date: Util.toStandardTimeString(),
177
- f_department: this.$login.f.f_parentname,
178
- f_operator: this.$login.f.name,
179
- f_filiale: this.$login.f.f_fengongsi
180
- },
181
- models2:{}
182
- }
183
- },
184
- methods: {
185
- /*
186
- ============================================收费临时使用
187
- */
188
- // 转到报建
189
- async addactive(){
190
- let http = new HttpResetClass()
191
- let model = this.models2
192
- let url = 'rs/logic/ApplyProductService'
193
- let requestData = {
194
- tables: this.data.tables, model: model
195
- }
196
- requestData.start_activity = '踏勘'
197
- requestData.loginUser = this.$login.f
198
- requestData.workflow_xmlfilename = this.$workflow_vue.workflow_xmlfilename
199
- let res1 = await http.load('POST', url, {data: requestData}, {resolveMsg: null, rejectMsg: '数据保存失败'})
200
- this.selectdata.applyid = this.selectdata.id
201
- // this.$resetpost('rs/logic/stopapply', {data: this.selectdata})
202
- console.log(this.apply_type[0])
203
- this.$workflow_vue.start_activity = this.apply_type[0]
204
- let res = await http.load('POST','rs/logic/ApplyGetProcessID',{data:{filename:this.$workflow_vue.workflow_xmlfilename,start_activity:this.$workflow_vue.start_activity}}, {resolveMsg: null, rejectMsg: '获取流程ID失败,请联系开发人员'})
205
- let data = {
206
- defname: this.$workflow_vue.start_activity,
207
- f_process_id: res.data.f_process_id,
208
- f_apply_date: Util.toStandardTimeString(),
209
- f_product_id: res.data.f_product_id,
210
- start_activity:this.$workflow_vue.start_activity,
211
- f_user_type:this.models2.f_user_type,
212
- f_user_name:this.models2.f_user_name,
213
- f_phone:this.models2.f_phone,
214
- f_area:this.models2.f_area,
215
- f_street:this.models2.f_street,
216
- f_residential_area:this.models2.f_residential_area,
217
- f_building:this.models2.f_building,
218
- f_unit:this.models2.f_unit,
219
- f_floor:this.models2.f_floor,
220
- f_room:this.models2.f_room,
221
- f_address:this.models2.f_address,
222
- f_idnumber:this.models2.f_social_credit_code,
223
- f_apply_source:this.models2.f_apply_source,
224
- f_sub_state:'未完工',
225
- f_project_number : res1.data.f_apply_num,
226
- user:this.$login.f
227
- }
228
- await http.load('POST','rs/logic/newaddApplyproduct',{data:data}, {resolveMsg: null, rejectMsg: '转发失败,请联系开发人员'})
229
- var flag = false
230
- if (this.data.defname == '合同审核') {
231
- flag = true
232
- let http = new HttpResetClass()
233
- let data = {
234
- tablename: 't_singlevalue',
235
- condition: `name = '合同编号' and f_filialeids = '${this.$login.f.f_orgids}'`
236
- }
237
- let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
238
- resolveMsg: null,
239
- rejectMsg: "获取合同编号失败"
240
- })
241
- if (this.contract != res.data[0].value && !this.selectdata.f_contract_number) {
242
- this.$showMessage("合同编号已经被使用,请按F5刷新页面后重新登记")
243
- return
244
- }
245
- }
246
- if (res1.data.code == 200) {
247
- // flag 为合同编号更新标志
248
- if (flag) {
249
- let http = new HttpResetClass()
250
- let data = {
251
- tablename: 't_singlevalue',
252
- condition: `name = '合同编号' and f_filialeids = '${this.$login.f.f_orgids}'`,
253
- value: (Number(this.contract) + 1) + ''
254
- }
255
- await http.load('POST', 'rs/logic/updatesinglevalue', {data: data}, {
256
- resolveMsg: null,
257
- rejectMsg: "获取合同编号更新失败"
258
- })
259
- }
260
- this.showview = false
261
- // 特殊处理
262
- this.special(model)
263
- this.$dispatch('close')
264
- this.initializtion()
265
- } else {
266
- if (res1.data.msg) {
267
- this.$showMessage(res1.data.msg)
268
- }
269
- }
270
- this.apply_show = false
271
- },
272
- // 终止报建
273
- async stopapplys () {
274
- this.models = Object.assign({}, this.selectdata, this.models)
275
- this.models.id = null
276
- this.models.applyid = this.selectdata.id
277
- this.models.f_operat_type = '终止报建'
278
- this.models.f_state = '有效'
279
- this.models.f_describe = this.selectdata.f_user_name + '已终止报建'
280
- let data ={
281
- tablename:'t_project_stop',
282
- parameters:this.models
283
- }
284
- let http = new HttpResetClass()
285
- await http.load('POST','rs/logic/stopapply', {data:this.models},{resolveMsg: null, rejectMsg: "终止失败"})
286
- await http.load('POST','rs/logic/save', {data:data},{resolveMsg: null, rejectMsg: "添加失败"})
287
- this.closeback()
288
- this.$dispatch('close')
289
- },
290
- // 关闭终止备注弹框
291
- closeback() {
292
- this.stop_show = false
293
- },
294
- // 关闭报建弹框
295
- closeapply() {
296
- this.apply_show = false
297
- },
298
- closeAccept () {
299
- this.acceptprint = false
300
- },
301
- close () {
302
- this.acceptprint = false
303
- },
304
- printok () {
305
- this.$dispatch('success')
306
- },
307
- validateBill (val) {
308
- this.validateOk = !val.isOk
309
- this.billData.bill = val.bill
310
- },
311
- async printReceipt(model) {
312
- console.log('打印回单了11111111111111111model', model)
313
- this.acceptprint = true
314
- this.acceptUrl = 'rs/report/printReceiptbill'
315
- this.printData.f_work_type = `'${model.f_work_type}'`
316
- this.printData.f_news = `'${model.f_news}'`
317
- this.printData.f_user_name = `'${model.f_user_name}'`
318
- this.printData.f_address = `'${model.f_address}'`
319
- this.printData.f_user_phone = `'${model.f_phone}'`
320
- },
321
-
322
- async printbill(sellid) {
323
- let result = await this.$resetpost('rs/report/applyCharge_bill', {data: {condition: `c.id = ${sellid}`}}, {
324
- resolveMsg: null,
325
- rejectMsg: "提取数据出错,请重试!"
326
- })
327
- this.bill = result.data
328
- console.log('this.bill', this.bill)
329
- this.$nextTick(() => {
330
- this.$refs.reportprint.print()
331
- })
332
- },
333
- confirmbuyerinfo(args) {
334
- let drawbilldata = {
335
- sellid: this.selectsellid,
336
- buyerid: args.id,
337
- operator: this.$login.f.name
338
- }
339
- this.closebuyerinfo()
340
- this.$resetpost('rs/logic/applyDrawBill', {data: drawbilldata}, {resolveMsg: null, rejectMsg: "开发票失败"})
341
- .then((res) => {
342
- if (res.data.status === 200) {
343
- this.$showAlert('申请开具增值税电子发票成功,请稍后到报建功能中【报建收费】中查看电子发票', 'success', 5000)
344
- /*let n = 0
345
- var id = setInterval(async ()=>{
346
- if(n>=3){
347
- this.$showMessage('电子票延迟,请稍后查看!')
348
- clearInterval(id)
349
- }
350
- if (this.seeeticket(res.data) === 'success'){
351
- clearInterval(id)
352
- this.load()
353
- }
354
- n++
355
- this.$showAlert('电子发票开票中,请稍后...', 'info',3000)
356
- },3000)*/
357
- } else {
358
- this.$showAlert('电子发票开票失败,失败代码为:' + res.data.status, 'warning', 3000)
359
- }
360
- })
361
- },
362
- // 金额转大写
363
- smalltoBIG(n) {
364
- let fraction = ['角', '分'];
365
- let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
366
- let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
367
- let head = n < 0 ? '欠' : '';
368
- n = Math.abs(n);
369
-
370
- let s = '';
371
-
372
- for (var i = 0; i < fraction.length; i++) {
373
- s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
374
- }
375
- s = s || '整';
376
- n = Math.floor(n);
377
-
378
- for (var i = 0; i < unit[0].length && n > 0; i++) {
379
- let p = '';
380
- for (var j = 0; j < unit[1].length && n > 0; j++) {
381
- p = digit[n % 10] + unit[1][j] + p;
382
- n = Math.floor(n / 10);
383
- }
384
- s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
385
- }
386
- return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
387
- },
388
- // 关闭模态框
389
- closebuyerinfo() {
390
- this.showbuyerinfo = false
391
- this.selectsellid = null
392
- },
393
- //根据票据流水号查看票据
394
- async seeeticket(val) {
395
- console.log('该票据流水号为:', val.f_fpqqlsh)
396
- var eticketData = await this.$resetpost('rs/sql/querySingleTable', {
397
- data: {
398
- items: 'f_bill_url,f_url_code',
399
- tablename: 't_eticket',
400
- condition: `f_serial_number=${val.f_fpqqlsh}`
401
- }
402
- }, {resolveMsg: null, rejectMsg: null})
403
- console.log('eticketData:', eticketData)
404
- var data = eticketData.data[0]
405
- if (data.f_bill_url && data.f_bill_url != '') {
406
- console.log(data)
407
- var auth = data.f_bill_url.split("/")
408
- console.log("截取", auth)
409
- var authCode = auth[auth.length - 1]
410
- var url = `https://${auth[2]}/ent-views/fpExtract/get_fapiao.html?pwd=${data.f_url_code}&authCode=${authCode}`
411
- this.$showAlert('开票成功!', 'success', 500)
412
- window.open(url)
413
- return 'success'
414
- }
415
- return 'fail'
416
- },
417
- async loadbuyer() {
418
- //获取购货方信息
419
- let querybuyerdata = {
420
- tablename: 't_buyer_info',
421
- condition: `f_process_id = '${this.selectdata.f_process_id}' and f_apply_num = '${this.selectdata.f_apply_num}'`
422
- }
423
- let buyerinfos = await this.$resetpost('rs/sql/singleTable', {data: querybuyerdata}, {
424
- resolveMsg: null,
425
- rejectMsg: '获取购货方信息失败'
426
- })
427
- this.buyerinfo.rows = buyerinfos.data
428
- },
429
- /*
430
- ============================================收费临时使用结束
431
- */
432
- // AOP后续特殊化处理
433
- async special(model) {
434
- if (model.button.button_name === '提交' && model.button.button_event && model.button.button_event === '分支流程异步处理') {
435
- // 分支流程异步处理
436
- let http = new HttpResetClass();
437
- let res = await http.load('POST', 'rs/logic/branchsyncprocess', {
438
- data: {
439
- model: model,
440
- loginUser: this.$login.f
441
- }
442
- }, {resolveMsg: null, rejectMsg: '分支流程异步处理保存失败'})
443
- console.log("分支流程异步处理:", JSON.stringify(res.data))
444
- }
445
-
446
- if (this.data.distribute_async && model.button.button_name === '下发') {
447
- // 同流程节点异步处理
448
- let http = new HttpResetClass();
449
- let res = await http.load('POST', 'rs/logic/syncprocess', {
450
- data: {
451
- model: model,
452
- loginUser: this.$login.f
453
- }
454
- }, {resolveMsg: null, rejectMsg: '流程异步下发据保存失败'})
455
- console.log("流程的异步处理:", JSON.stringify(res.data))
456
- }
457
- if (this.data.distribute_async && model.button.button_name === '完成') {
458
- // 强制结束
459
- let http = new HttpResetClass();
460
- let res = await http.load('POST', 'rs/logic/stoprocess', {
461
- data: {
462
- model: model,
463
- loginUser: this.$login.f
464
- }
465
- }, {resolveMsg: null, rejectMsg: '流程异步完成数据保存失败'})
466
- console.log("流程的异步处理:", JSON.stringify(res.data))
467
- }
468
- },
469
- // 组件初始化操作
470
- refurbish(val) {
471
- this.selectdata = val
472
- this.json_datas = this.$workflow_vue
473
- console.log("初始化jsonDataS==", this.json_datas)
474
- let sum = 0
475
- let jsonData = {}
476
- if(!this.json_datas||!this.json_datas.activitys||this.json_datas.activitys.length==0){
477
- this.$showMessage("网络故障,请刷新页面")
478
- return
479
- }
480
- for (let i = 0; i < this.json_datas.activitys.length; i++) {
481
- if (this.selectdata.defname == this.json_datas.activitys[i].title) {
482
- jsonData = this.json_datas.activitys[i]
483
- sum++
484
- }
485
- }
486
- for (let j = 0; j < jsonData.fields.length; j++) {
487
- jsonData.fields[j].value = ''
488
- console.log("是否有default属性jsonData.fields[j]", jsonData.fields[j])
489
- if (jsonData.fields[j].default) {
490
- jsonData.fields[j].value = jsonData.fields[j].default
491
- }
492
- }
493
- if (sum == 1) {
494
- console.log("jsonData==", jsonData)
495
- this.data = null
496
- this.data = jsonData
497
- this.initializtion()
498
- } else if (sum == 0) {
499
- this.$showMessage(`没有在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置`)
500
- } else {
501
- this.$showMessage(`在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置:${sum}个`)
502
- }
503
- },
504
- //生成派工单号
505
- createpgd() {
506
- this.pgd = "BJ"
507
- var d = new Date()
508
- this.pgd+=d.getFullYear()
509
- if(d.getMonth() + 1<10){
510
- this.pgd+='0'+(d.getMonth() + 1)
511
- }
512
- else{
513
- this.pgd+=(d.getMonth() + 1)
514
- }
515
- if(d.getDate() <10){
516
- this.pgd+='0'+d.getDate()
517
- }
518
- else{
519
- this.pgd+=d.getDate()
520
- }
521
- if(d.getHours() <10){
522
- this.pgd+='0'+d.getHours()
523
- }
524
- else{
525
- this.pgd+=d.getHours()
526
- }
527
- if(d.getMinutes() <10){
528
- this.pgd+='0'+d.getMinutes()
529
- }
530
- else{
531
- this.pgd+=d.getMinutes()
532
- }
533
- if(d.getSeconds() <10){
534
- this.pgd+='0'+d.getSeconds()
535
- }
536
- else{
537
- this.pgd+=d.getSeconds()
538
- }
539
- },
540
-
541
-
542
-
543
- // AOP:进入vue组件前初始化内容
544
- // json配置数据处理 比如下拉框的options
545
- async initializtion() {
546
- console.log("this.data.table", this.data.tables)
547
- this.showview = false
548
- // 有合同号不给合同表里插入数据
549
- for(let i=0;i<this.data.tables.length;i++){
550
- if('t_contract'==this.data.tables[i]&&this.selectdata.f_contract_number){
551
- this.data.tables.splice(i,1)
552
- }
553
- }
554
- // 下发人 options 处理,options初始化
555
- if (this.selectdata.defname.indexOf('派单')>=0&&this.selectdata.actorexpression) {
556
- let http = new HttpResetClass()
557
- http.load('POST', 'rs/search', `{"source":"this.getParentByType($organization$).getChildByName($工程部门$).getChildByName($工程部门负责人$).getChildren()","userid":"${this.$login.f.id}"}`, {
558
- resolveMsg: null,
559
- rejectMsg: null
560
- }).then((res)=>{
561
-
562
-
563
- let jsonString = JSON.stringify(res.data)
564
- let jsonArray = []
565
- if (jsonString.startsWith("{")) {
566
- jsonArray.push(res.data)
567
- res.data = jsonArray
568
- }
569
- this.department_search = res.data
570
- if (this.department_search&&this.showview) {
571
- let array = []
572
- for (let k = 0; k < this.department_search.length; k++) {
573
- array.push({
574
- label: this.department_search[k].name,
575
- value: {id: this.department_search[k].id, name: this.department_search[k].name}
576
- })
577
- }
578
- for(let x=0;x<this.data.buttons.length;x++){
579
- if(this.data&&this.data.buttons[x].button_name=="下发"){
580
- this.data.buttons[x].button_fields[0].options = array
581
- }
582
- if(this.show_data &&this.show_data.buttons[x].button_name=="下发"){
583
- this.show_data.buttons[x].button_fields[0].options = array
584
- }
585
- }
586
- }
587
- })
588
- }
589
-
590
- //debugger
591
-
592
- // selectdata 填充 data
593
- this.data = Object.assign({}, this.data, this.selectdata)
594
- // onetomany 数据获取
595
- if (this.data.onetomany) {
596
- console.log('判断是onetomany,this.data.onetomany的数据为=>' + JSON.stringify(this.data.onetomany))
597
- for (let index = 0; index < this.data.onetomany.length; index++) {
598
- let http = new HttpResetClass()
599
- let data = {}
600
- if (this.data.onetomany[index].tables[0] == 't_charge_record') {
601
- data = {
602
- tablename: this.data.onetomany[index].tables[0],
603
- condition: `f_apply_num = '${this.selectdata.f_apply_num}' and f_process_id='${this.selectdata.f_process_id}' and f_charging_status != '作废'`
604
- }
605
- } else {
606
- data = {
607
- tablename: this.data.onetomany[index].tables[0],
608
- condition: `f_process_id='${this.selectdata.f_process_id}'`
609
- }
610
- }
611
- let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
612
- resolveMsg: null,
613
- rejectMsg: 'onetomany查询失败'
614
- })
615
- // 初始化 onetomany
616
- let rows = []
617
- console.log('查询返回结果res.data=>' + JSON.stringify(res.data))
618
- this.data.onetomany[index].rows = res.data
619
- // console.log(JSON.stringify('this.data.onetomany[index].rows=>' + JSON.stringify(this.data.onetomany[index].rows)))
620
-
621
- // 初始化onetomany中的fields
622
- for (let j = 0; j < this.data.onetomany[index].fields.length; j++) {
623
- // 如果配置类型为select,优先从参数列表获取options
624
- if (this.data.onetomany[index].fields[j].type === 'select') {
625
- let temp = Vue.$appdata.getParam(this.data.onetomany[index].fields[j].label)
626
- if (temp && temp.length > 0) {
627
- this.data.onetomany[index].fields[j].options = Vue.$appdata.getParam(this.data.onetomany[index].fields[j].label)
628
- }
629
- }
630
- }
631
- }
632
- }
633
- // 初始化 fields
634
- for (let i = 0; i < this.data.fields.length; i++) {
635
- // 如果selectdata有这些key,则把selectdata的value赋值给data的value
636
- if (this.selectdata[this.data.fields[i].field]) {
637
- if (String(this.selectdata[this.data.fields[i].field]).startsWith("{")) {
638
- this.data.fields[i].value = JSON.parse(this.selectdata[this.data.fields[i].field])
639
- } else {
640
- this.data.fields[i].value = this.selectdata[this.data.fields[i].field]
641
- }
642
-
643
- }
644
- // 如果配置类型为select,优先从参数列表获取options
645
- if (this.data.fields[i].type === 'select') {
646
- let temp = Vue.$appdata.getParam(this.data.fields[i].label)
647
- if (temp && temp.length > 0) {
648
- this.data.fields[i].options = Vue.$appdata.getParam(this.data.fields[i].label)
649
- }
650
- }
651
-
652
- if (this.data.defname === '工程结算') {
653
- var a = 0
654
- var b = 0
655
- var c = 0
656
- for (let i = 0; i < this.data.fields.length; i++) {
657
- if (this.data.fields[i].label === '最终核算成本金额') {
658
- this.data.fields[i].value = (this.cost + this.number)
659
- a = this.data.fields[i].value
660
- }
661
- if (this.data.fields[i].label === '合同总金额') {
662
- b = this.data.fields[i].value
663
- }
664
- if (this.data.fields[i].label === '材料成本金额') {
665
- this.data.fields[i].value = this.number
666
- }
667
- if (this.data.fields[i].label === '其他成本金额') {
668
- this.data.fields[i].value = this.cost
669
- }
670
- }
671
- c = b - a
672
- for (let i = 0; i < this.data.fields.length; i++) {
673
- if (this.data.fields[i].label === '工程盈利') {
674
- this.data.fields[i].value = c
675
- }
676
- }
677
- }
678
- if (this.selectdata.defname.indexOf('派单')>=0) {
679
- let money=0
680
-
681
- for (let i = 0; i < this.data.fields.length; i++) {
682
- if (this.data.fields[i].label === '派工单号') {
683
- console.log("给派工单号赋值")
684
- this.createpgd()
685
- console.log(this.pgd)
686
- this.data.fields[i].value = this.pgd
687
- }
688
- if (this.data.fields[i].label === '合同总金额') {
689
- console.log('合同总金额===>'+this.data.fields[i].value )
690
- money=this.data.fields[i].value
691
- }
692
- let dealmoney=0;
693
- if (this.data.fields[i].label == '累计缴费金额') {
694
- dealmoney=this.data.fields[i].value
695
- console.log('累计缴费金额===>'+dealmoney )
696
- }
697
-
698
- if (this.data.fields[i ].label == '未结总金额') {
699
- /// if(money=="" || dealmoney==""){
700
- /// money=0;
701
- /// dealmoney=0;
702
- /// }
703
- /// if(money==null || dealmoney==null){
704
- /// money=0;
705
- /// dealmoney=0;
706
- /// }
707
- ///
708
- let othermoney = money-dealmoney;
709
- console.log('jine'+othermoney)
710
- this.data.fields[i].value=money-dealmoney
711
- console.log('未结总金额'+this.data.fields[i].value )
712
- }
713
- }
714
- }
715
- if(this.data.defname=="派单"){
716
- for (let i = 0; i < this.data.fields.length; i++) {
717
- if (this.data.fields[i].label === '未结总金额') {
718
- this.data.fields[i].value=0
719
- console.log("派单"+this.data.fields[i].value)
720
- }
721
- }
722
- }
723
-
724
-
725
- if (this.selectdata.defname ==='报价审核') {
726
- let unaccount=0
727
- for (let i = 0; i < this.data.fields.length; i++) {
728
- if (this.data.fields[i].label === '费用合计') {
729
- console.log("算一下未结算金额")
730
- unaccount=this.data.fields[i].value
731
- }
732
- if (this.data.fields[i].label === '未结总金额') {
733
- this.data.fields[i].value=unaccount
734
- }
735
-
736
- }
737
- }
738
-
739
-
740
- if (this.data.defname === '收费') {
741
- let account_money=0
742
- let total_money=0
743
- let bill_money=0
744
- for (let i = 0; i < this.data.fields.length; i++) {
745
- if (this.data.fields[i].label === '合同金额') {
746
- total_money=this.data.fields[i].value
747
- }
748
- if (this.data.fields[i].label === '累计缴费金额') {
749
- account_money=this.data.fields[i].value
750
- }
751
- if (this.data.fields[i].label === '未结总金额') {
752
- this.data.fields[i].value=total_money-account_money
753
- }
754
- if (this.data.fields[i].label === '累计开票金额') {
755
- bill_money=this.data.fields[i].value
756
- }
757
- if (this.data.fields[i].label === '未开票金额') {
758
- this.data.fields[i].value=total_money-bill_money
759
-
760
- }
761
- }
762
- }
763
- // 特殊处理
764
- //施工环节 如果是个人报建需要提交表具信息
765
- if (this.data.defname === '施工') {
766
- for (let i = 0; i < this.data.fields.length; i++) {
767
- if (this.data.fields[i].label === '气表品牌'
768
- || this.data.fields[i].label === '气表型号'
769
- || this.data.fields[i].label === '气表厂家') {
770
- if (this.data.f_apply_type === '个人报建') {
771
- this.data.fields[i].hidden = false
772
- this.data.fields[i].required = true
773
- }
774
- }
775
- }
776
- }
777
-
778
- // 特殊处理
779
- //施工环节 如果是个人报建需要提交表具信息
780
- if (this.data.defname === '安装通气') {
781
- for (let i = 0; i < this.data.fields.length; i++) {
782
- if (this.data.fields[i].label === '气表品牌'
783
- || this.data.fields[i].label === '气表型号'
784
- || this.data.fields[i].label === '气表厂家') {
785
- this.data.fields[i].required = true
786
- this.data.fields[i].hidden = false
787
- if(this.data.f_work_type=='改管'){
788
- this.data.fields[i].required = false
789
- }
790
-
791
- }
792
- if(this.data.fields[i].label === '验收结果'){
793
- this.data.fields[i].required = true
794
- }
795
-
796
- }
797
- }
798
- if (this.data.defname === '设计报价') {
799
- for (let i = 0; i < this.data.fields.length; i++) {
800
- if (this.data.fields[i].label === '气表品牌'
801
- || this.data.fields[i].label === '气表型号') {
802
- this.data.fields[i].required = true
803
- this.data.fields[i].hidden = false
804
- if(this.data.f_work_type=='改管'){
805
- this.data.fields[i].required = false
806
- }
807
-
808
- }
809
-
810
- }
811
- }
812
- if (this.data.defname === '现场勘查定价') {
813
- for (let i = 0; i < this.data.fields.length; i++) {
814
- if (this.data.fields[i].label === '勘查结果') {
815
- this.data.fields[i].required = true
816
- }
817
- }
818
- }
819
- //通气环节可以调出施工环节的表信息来修改
820
- if (this.data.defname === '通气') {
821
- for (let i = 0; i < this.data.fields.length; i++) {
822
- if (this.data.fields[i].label === '气表品牌'
823
- || this.data.fields[i].label === '气表型号'
824
- || this.data.fields[i].label === '气表厂家') {
825
- if (this.data.fields[i].value != null && this.data.fields[i].value != '') {
826
- this.data.fields[i].hidden = false
827
- this.data.fields[i].required = true
828
- }
829
- }
830
- }
831
- }
832
- let array = this.$login.f.rolesnames.split(',')
833
- if ((this.data.fields[i].label === '技术人员' || array.includes("工程技术部负责人"))&&(this.selectdata.defname=='勘察初设'||this.selectdata.defname=='任务分配'||this.selectdata.defname=='合同信息')) { //{"source":"this.getParentByType($organization$).getChildByName($技术人员$).getChildren()","userid":"296851"}
834
- let http = new HttpResetClass()
835
- let res = await http.load('POST', 'rs/search', `{"source":"this.getParentByType($organization$).getChildByName($工程技术部门$).getChildByName($技术人员$).getChildren()","userid":"${this.$login.f.id}"}`, {
836
- resolveMsg: null,
837
- rejectMsg:null // 'search查询技术人员失败,请联系管理员配置技术人员角色'
838
- })
839
- // console.log("search查询部门下所有人:", JSON.stringify(res.data))
840
- this.technologist = res.data
841
- if (this.technologist) {
842
- let array = []
843
- for (let k = 0; k < this.technologist.length; k++) {
844
- array.push({
845
- label: this.technologist[k].name,
846
- value: {name: this.technologist[k].name, id: this.technologist[k].id}
847
- })
848
- }
849
- if (!array.includes("工程技术部负责人")&&this.data.fields[i].label === '技术人员') {
850
- this.data.fields[i].options = array
851
- }
852
-
853
- }
854
- }
855
- if (this.data.fields[i].label == '县/区') {
856
- let area = await this.$resetpost('rs/sql/singleTable', {
857
- data: {
858
- // items: 'f_bill_url,f_url_code',
859
- tablename: 't_pcd',
860
- condition: `f_filialeids = '${this.$login.f.f_orgids}'`
861
- }
862
- }, {resolveMsg: null, rejectMsg: null})
863
- let rs = []
864
- for (let i = 0; i < area.data.length; i++) {
865
- let temp = {
866
- label: area.data[i].f_pcd,
867
- value: area.data[i].f_pcd
868
- }
869
- rs.push(temp)
870
- }
871
- this.data.fields[i].options = [{label: '全部', value: ''}, ...rs]
872
- }
873
- if (this.data.defname=='通气'&&this.data.fields[i].label == '小区名称') {
874
- let res = await this.$resetpost('rs/sql/singleTable', {
875
- data: {
876
- tablename: 't_area',
877
- condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_street='${this.data.f_street}'`
878
- }
879
- }, {resolveMsg: null, rejectMsg: null})
880
- let cs = []
881
- for (let i = 0; i < res.data.length; i++) {
882
- let temp = {
883
- label: res.data[i].f_residential_area,
884
- value: res.data[i].f_residential_area
885
- }
886
- cs.push(temp)
887
- }
888
- this.data.fields[i].options = [{label: '全部', value: ''}, ...cs]
889
- }
890
- let gasbrand_id=''
891
- if (this.data.fields[i].label == '气表品牌'||this.data.fields[i].label == '表具') {
892
- let meterbrand = await this.$resetpost('rs/sql/singleTable', {
893
- data: {
894
- items: 'f_meter_brand',
895
- tablename: 't_gasbrand',
896
- condition: `f_filialeids = '${this.$login.f.f_orgids}'`
897
- }
898
- }, {resolveMsg: null, rejectMsg: null})
899
- let rs = []
900
- for (let i = 0; i < meterbrand.data.length; i++) {
901
- let temp = {
902
- label: meterbrand.data[i].f_meter_brand,
903
- value: meterbrand.data[i].f_meter_brand
904
- }
905
- rs.push(temp)
906
- }
907
- this.data.fields[i].options = [{label: '全部', value: ''}, ...rs]
908
- }
909
- if (this.data.fields[i].label == '气表型号') {
910
- this.data.fields[i].options = [];
911
- }
912
- if (this.data.fields[i].label == '气价名称') {
913
- let meterbrand = await this.$resetpost('rs/sql/singleTable', {
914
- data: {
915
- items: 'f_price_name',
916
- tablename: 't_stairprice',
917
- condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_state= '有效' and getdate()>=f_perform_date and getdate()<=f_end_date `
918
- }
919
- }, {resolveMsg: null, rejectMsg: null})
920
- let rs = []
921
- for (let i = 0; i < meterbrand.data.length; i++) {
922
- let temp = {
923
- label: meterbrand.data[i].f_price_name,
924
- value: meterbrand.data[i].f_price_name
925
- }
926
- rs.push(temp)
927
- }
928
- this.data.fields[i].options = [{label: '全部', value: ''}, ...rs]
929
- }
930
- if (this.data.fields[i].label == '合同类型') {
931
- this.data.fields[i].value = '主合同'
932
- }
933
- if (this.data.fields[i].label == '合同业务办理人') {
934
- if (this.selectdata.f_apply_kefu_employee) {
935
- if (this.selectdata.f_apply_kefu_employee.startsWith("{") && this.selectdata.f_apply_kefu_employee.endsWith("}")) {
936
- let temp = JSON.parse(this.selectdata.f_apply_kefu_employee)
937
- this.data.fields[i].value = temp.name
938
- } else {
939
- this.data.fields[i].value = this.selectdata.f_apply_kefu_employee
940
- }
941
- } else {
942
- if (this.selectdata.f_survey_name) {
943
- if (this.selectdata.f_survey_name.startsWith("{") && this.selectdata.f_survey_name.endsWith("}")) {
944
- let temp = JSON.parse(this.selectdata.f_survey_name)
945
- this.data.fields[i].value = temp.name
946
- } else {
947
- this.data.fields[i].value = this.selectdata.f_survey_name
948
- }
949
- }
950
- }
951
- }
952
- if (this.data.fields[i].label == '合同编号' && !this.selectdata[this.data.fields[i].field] && this.selectdata.defname == '合同审核') {
953
- if (!this.$appdata.getSingleValue('所属公司编码')) {
954
- this.$showMessage(`请先去参数管理设置: 所属公司编码`)
955
- }
956
- if (!this.$appdata.getSingleValue(this.data.fields[i].label)) {
957
- this.$showMessage(`请先去参数管理设置: ${this.data.fields[i].label}`)
958
- } else {
959
- let http = new HttpResetClass()
960
- //获取购货方信息
961
- let data = {
962
- tablename: 't_singlevalue',
963
- condition: `name = '合同编号' and f_filialeids = '${this.$login.f.f_orgids}'`
964
- }
965
- let res = await http.load('POST','rs/sql/singleTable', {data: data}, {
966
- resolveMsg: null,
967
- rejectMsg: '获取合同编号失败'
968
- }).then((res)=>{
969
- let temp = res.data[0].value
970
- this.contract = temp
971
- while (temp.length < 4) {
972
- temp = '0' + temp
973
- }
974
- let dt = new Date()
975
- this.data.fields[i].value = this.$appdata.getSingleValue('所属公司编码') + dt.getFullYear() + ((dt.getMonth() + 1) < 10 ? '0' + (dt.getMonth() + 1) : dt.getMonth()) + temp
976
- if(this.showview){
977
- this.$refs.service_show.data.fields[i].value = this.$appdata.getSingleValue('所属公司编码') + dt.getFullYear() + ((dt.getMonth() + 1) < 10 ? '0' + (dt.getMonth() + 1) : dt.getMonth()) + temp
978
- this.$refs.service_show.update()
979
- }
980
-
981
- })
982
- // this.$refs.service_show.update()
983
- }
984
- }
985
- if(this.data.defname=='通气'){
986
- if (this.data.f_user_type == '非民用' && this.data.fields[i].label == '小区名称'){
987
- this.data.fields[i].hidden = true
988
- this.data.fields[i].required = false
989
- this.data.fields[i+1].hidden = true
990
- this.data.fields[i+1].required = false
991
- this.data.fields[i+2].hidden = true
992
- this.data.fields[i+2].required = false
993
- }
994
- if (this.data.f_work_type == '改管' && this.data.fields[i].label == '阀门井'){
995
- this.data.fields[i].hidden = true
996
- this.data.fields[i].required = false
997
- this.data.fields[i+1].hidden = true
998
- this.data.fields[i+1].required = false
999
- this.data.fields[i+2].hidden = true
1000
- this.data.fields[i+2].required = false
1001
- }
1002
- if (this.data.f_work_type == '改管' && this.data.fields[i].label == '表具'){
1003
- this.data.fields[i].hidden = true
1004
- this.data.fields[i].required = false
1005
- this.data.fields[i+1].hidden = true
1006
- this.data.fields[i+1].required = false
1007
- this.data.fields[i+2].hidden = true
1008
- this.data.fields[i+2].required = false
1009
- }
1010
- }
1011
- }
1012
- // 初始化 buttons_fields
1013
- //debugger
1014
- for (let i = 0; i < this.data.buttons.length; i++) {
1015
- if (this.data.buttons[i].button_fields) {
1016
- for (let j = 0; j < this.data.buttons[i].button_fields.length; j++) {
1017
- // 如果selectdata有这些key,则把selectdata的value赋值给data的value
1018
- if (this.selectdata[this.data.buttons[i].button_fields[j].field]) {
1019
- this.data.buttons[i].button_fields[j].value = this.selectdata[this.data.buttons[i].button_fields[j].field]
1020
- }
1021
- // 如果配置类型为select,优先从参数列表获取options
1022
- if (this.data.buttons[i].button_fields[j].type === 'select' && this.$appdata.getParam(this.data.buttons[i].button_fields[j].label)) {
1023
- this.data.buttons[i].button_fields[j].options = this.$appdata.getParam(this.data.buttons[i].button_fields[j].label).trim()
1024
- }
1025
- // 下发特殊配置
1026
- if (this.data.buttons[i].button_name === '下发') {
1027
- if (this.data.buttons[i].button_fields.length === 1) {
1028
- // value初始化
1029
- // if(this.department_search){
1030
- if (this.selectdata[this.data.buttons[i].button_fields[0].field]) {
1031
- for (let k = 0; k < this.department_search.length; k++) {
1032
- // 将id转换为name
1033
- if (Number(this.department_search[k].id) === Number(this.selectdata[this.data.buttons[i].button_fields[0].field])) {
1034
- this.data.buttons[i].button_fields[0].value = {
1035
- id: this.department_search[k].id,
1036
- name: this.department_search[k].name
1037
- }
1038
- }
1039
- }
1040
- }
1041
-
1042
- if (this.department_search) {
1043
- let array = []
1044
- for (let k = 0; k < this.department_search.length; k++) {
1045
- array.push({
1046
- label: this.department_search[k].name,
1047
- value: {id: this.department_search[k].id, name: this.department_search[k].name}
1048
- })
1049
- }
1050
- this.data.buttons[i].button_fields[0].options = array
1051
- }
1052
- let array = this.$login.f.rolesnames.split(',')
1053
- if (this.selectdata.defname == '任务分配' && array.includes("工程技术部负责人")) {
1054
- let array = []
1055
- for (let k = 0; k < this.technologist.length; k++) {
1056
- array.push({
1057
- label: this.technologist[k].name,
1058
- value: {id: this.technologist[k].id, name: this.technologist[k].name}
1059
- })
1060
- }
1061
- this.data.buttons[i].button_fields[0].options = array
1062
- }
1063
- } else {
1064
- this.$showMessage("下发按钮必须满足 当且仅当一个字段")
1065
- }
1066
- }
1067
- }
1068
- }
1069
-
1070
- }
1071
- var count =0;
1072
- let money=0;
1073
- let dealmoney=0;
1074
- for (count = 0; count < this.data.fields.length; count++) {
1075
- if (this.selectdata.defname.indexOf('派单')>=0) {
1076
- if (this.data.fields[count].label === '合同总金额') {
1077
- console.log('合同总金额===>'+this.data.fields[count].value )
1078
- money=this.data.fields[count].value
1079
- }
1080
-
1081
- if (this.data.fields[count].label == '累计缴费金额') {
1082
- dealmoney=this.data.fields[count].value
1083
- console.log('累计缴费金额===>'+dealmoney )
1084
- }
1085
-
1086
- if (this.data.fields[count].label == '未结总金额') {
1087
- let othermoney = money-dealmoney;
1088
- console.log('jine'+othermoney)
1089
- this.data.fields[count].value=money-dealmoney
1090
- console.log('未结总金额'+this.data.fields[count].value )
1091
- }
1092
- }
1093
- }
1094
- //debugger
1095
- // 消除双向绑定,避免子组件(显示层)数据更改,父组件(控制层)也更改
1096
- let temp = JSON.parse(JSON.stringify(this.data))
1097
- // let temp = this.data
1098
- // 退回原因展示
1099
- if (this.selectdata.f_back_reason) {
1100
- temp['back_reason'] = this.selectdata.f_back_reason
1101
- }
1102
- this.show_data = temp
1103
- console.log("====="+this.show_data)
1104
- /**
1105
- * 新增需求: 个人报建非民用流程中小区名称需选填
1106
- */
1107
- let j=0;
1108
- if(this.show_data.defname=="现场勘查人员分配" && this.show_data.f_apply_type=="个人报建"){
1109
-
1110
- for (j = 0; j < this.show_data.fields.length; j++) {
1111
- if (this.show_data.fields[j].label == '小区名称') {
1112
- this.show_data.fields[j].required=false
1113
- }
1114
- }
1115
- }
1116
- if (this.show_data.defname === '施工') {
1117
- let http = new HttpResetClass()
1118
- let data = {
1119
- f_process_id: this.show_data.f_process_id,
1120
- defname: this.show_data.defname
1121
- }
1122
- let res = await http.load('POST', 'rs/sql/getFileNames', {data:data},
1123
- {resolveMsg: null, rejectMsg: null})
1124
-
1125
- // for (let i = 0; i < res.length; i++){
1126
- // this.data.f_project_material += res.data.fusetype + ','
1127
- // }
1128
- res.data.forEach(item =>{
1129
- this.show_data.f_project_material += item.fusetype + ','
1130
- })
1131
- }
1132
- // if (this.show_data.defname === '施工验收') {
1133
- // let http = new HttpResetClass()
1134
- // let data = {
1135
- // f_process_id: this.show_data.f_process_id,
1136
- // defname: this.show_data.defname
1137
- // }
1138
- // let res = await http.load('POST', 'rs/sql/getFileNames', {data:data},
1139
- // {resolveMsg: null, rejectMsg: null})
1140
- // this.show_data.f_iscomplete_information = ''
1141
- // res.data.forEach(item =>{
1142
- // this.show_data.f_iscomplete_information += item.fusetype + ','
1143
- // })
1144
- // for (j = 0; j < this.show_data.fields.length; j++) {
1145
- // if (this.show_data.fields[j].label === '验收已上传文件') {
1146
- // this.show_data.fields[j].value = this.show_data.f_iscomplete_information
1147
- // }
1148
- // }
1149
- // }
1150
- // 显示组件
1151
- // this.showview = false
1152
- // debugger
1153
- this.$nextTick(()=>{
1154
- this.showview = true
1155
- })
1156
- }
1157
- }
1158
- ,
1159
- events: {
1160
- 'get-cost'(val) {
1161
- this.cost = val
1162
-
1163
- this.initializtion()
1164
- },
1165
- 'checkboxSelectControl'(index,index2){
1166
- console.log("chufa事件control");
1167
- console.log('this.$refs.service_show.data.fields[index]==>:'+JSON.stringify(this.$refs.service_show.data.fields[index]));
1168
- if(this.$refs.service_show.data.fields[index].label=="提交资料"){
1169
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1170
-
1171
- if(this.$refs.service_show.data.fields[i].label=="用户提交资料"){
1172
- //if(this.$refs.service_show.data.fields[index].value == ""){
1173
- console.log("this.$refs.service_show.data.fields[index].items[index2].value==>"+JSON.stringify(this.$refs.service_show.data.fields[index].items[index2]))
1174
- //增加和删除框中的内容
1175
- if(this.$refs.service_show.data.fields[index].items[index2].value == false){
1176
- this.$refs.service_show.data.fields[i].value+=this.$refs.service_show.data.fields[index].items[index2].label+" ";
1177
- this.$refs.service_show.data.fields[index].items[index2].value=true;
1178
- }else{
1179
- let deleteValue = this.$refs.service_show.data.fields[index].items[index2].label;
1180
- let values =this.$refs.service_show.data.fields[i].value;
1181
- let result = values.split(" ").filter((item)=>{
1182
- return item!=deleteValue;
1183
- }).join(" ")
1184
- console.log(result);
1185
- this.$refs.service_show.data.fields[i].value =result;
1186
- this.$refs.service_show.data.fields[index].items[index2].value=false;
1187
- }
1188
- //}
1189
- }
1190
- }
1191
- }
1192
- if(this.$refs.service_show.data.fields[index].label=="施工提交资料"){
1193
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1194
-
1195
- if(this.$refs.service_show.data.fields[i].label=="施工已上传文件"){
1196
- //增加和删除框中的内容
1197
- if(this.$refs.service_show.data.fields[index].items[index2].value == false){
1198
- this.$refs.service_show.data.fields[i].value+=this.$refs.service_show.data.fields[index].items[index2].label+" ";
1199
- this.$refs.service_show.data.fields[index].items[index2].value=true;
1200
- }else{
1201
- let deleteValue = this.$refs.service_show.data.fields[index].items[index2].label;
1202
- let values =this.$refs.service_show.data.fields[i].value;
1203
- let result = values.split(" ").filter((item)=>{
1204
- return item!=deleteValue;
1205
- }).join(" ")
1206
- this.$refs.service_show.data.fields[i].value =result;
1207
- this.$refs.service_show.data.fields[index].items[index2].value=false;
1208
- }
1209
- //}
1210
- }
1211
- }
1212
- }
1213
- if(this.$refs.service_show.data.fields[index].label=="验收提交资料"){
1214
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1215
-
1216
- if(this.$refs.service_show.data.fields[i].label=="验收已上传文件"){
1217
- //增加和删除框中的内容
1218
- if(this.$refs.service_show.data.fields[index].items[index2].value == false){
1219
- this.$refs.service_show.data.fields[i].value+=this.$refs.service_show.data.fields[index].items[index2].label+" ";
1220
- this.$refs.service_show.data.fields[index].items[index2].value=true;
1221
- }else{
1222
- let deleteValue = this.$refs.service_show.data.fields[index].items[index2].label;
1223
- let values =this.$refs.service_show.data.fields[i].value;
1224
- let result = values.split(" ").filter((item)=>{
1225
- return item!=deleteValue;
1226
- }).join(" ")
1227
- this.$refs.service_show.data.fields[i].value =result;
1228
- this.$refs.service_show.data.fields[index].items[index2].value=false;
1229
- }
1230
- //}
1231
- }
1232
- }
1233
- }
1234
- },
1235
- 'get-number'(val) {
1236
- this.number = val
1237
-
1238
- this.initializtion()
1239
- }
1240
- ,
1241
- 'get-pgd'(val) {
1242
- this.pgd = val
1243
- this.initializtion()
1244
- }
1245
- ,
1246
- // 任意select选中时触发事件,关联性操作
1247
- async 'select_cascade'(index) {
1248
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1249
- if (this.$refs.service_show.data.fields[i].label === '工程盈利') {
1250
- this.$refs.service_show.data.fields[i].value = c
1251
- }
1252
- }
1253
-
1254
-
1255
- if (this.$refs.service_show.data.fields[index].label == '施工单位' ||
1256
- this.$refs.service_show.data.fields[index].label == '检测单位' ||
1257
- this.$refs.service_show.data.fields[index].label == '监理单位' ||
1258
- this.$refs.service_show.data.fields[index].label == '土建单位' ||
1259
- this.$refs.service_show.data.fields[index].label == '设计单位') {
1260
- this.$refs.service_show.update()
1261
- return
1262
- }
1263
- if (
1264
- this.$refs.service_show.data.fields[index].label === '最终核算成本金额' ||
1265
- this.$refs.service_show.data.fields[index].label === '合同总金额' ||
1266
- this.$refs.service_show.data.fields[index].label === '工程盈利'
1267
- ) {
1268
-
1269
- var a = 0
1270
- var b = 0
1271
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1272
- // 控制设置级联
1273
- // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
1274
- // xxx xx xxx
1275
- if (this.$refs.service_show.data.fields[i].label === '最终核算成本金额') {
1276
- this.$refs.service_show.data.fields[i].value = (this.number + this.cost)
1277
- a = this.$refs.service_show.data.fields[i].value
1278
- }
1279
-
1280
- if (this.$refs.service_show.data.fields[i].label === '合同总金额' && this.$refs.service_show.data.fields[i].value) {
1281
- b = this.$refs.service_show.data.fields[i].value
1282
- }
1283
- }
1284
- var c = b - a
1285
- // 数据计算完毕得到工程结余
1286
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1287
- if (this.$refs.service_show.data.fields[i].label === '工程盈利') {
1288
- this.$refs.service_show.data.fields[i].value = c
1289
- }
1290
- }
1291
- }
1292
- //根据合同预算金额和累计缴费金额计算未结金额
1293
- if (
1294
- this.$refs.service_show.data.fields[index].label === '累计缴费金额' ||
1295
- this.$refs.service_show.data.fields[index].label === '合同总金额') {
1296
- let cumulativeMoney = 0
1297
- let unaccountMoney = 0
1298
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1299
-
1300
- if (this.$refs.service_show.data.fields[i].label === '合同总金额' && this.$refs.service_show.data.fields[i].value) {
1301
- cumulativeMoney += parseInt(this.$refs.service_show.data.fields[i].value)
1302
- }
1303
- if (this.$refs.service_show.data.fields[i].label === '累计缴费金额' && this.$refs.service_show.data.fields[i].value) {
1304
- unaccountMoney += parseInt(this.$refs.service_show.data.fields[i].value)
1305
- }
1306
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1307
- // if (this.$refs.service_show.data.fields[i].label === '未结总金额') {
1308
- // //this.$refs.service_show.data.fields[i].value = cumulativeMoney - unaccountMoney
1309
- // this.$refs.service_show.data.fields[i].value =0;
1310
- //
1311
- // }
1312
- }
1313
- }
1314
- }
1315
-
1316
-
1317
- //根据合同预算金额和累计开票金额计算未开票金额
1318
-
1319
-
1320
- if (this.$refs.service_show.data.fields[index].label === '累计开票金额') {
1321
- let residualInvoicing = this.$refs.service_show.data.fields[index].value
1322
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1323
- if (this.$refs.service_show.data.fields[i].label === '未开票金额') {
1324
- this.$refs.service_show.data.fields[i].value = Number(this.selectdata.f_contract_total_money) - Number(residualInvoicing)
1325
- }
1326
- }
1327
- }
1328
- //如果资料验收是否通过和工程验收是否通过为否的时候弹出原因填写框
1329
- if (this.$refs.service_show.data.fields[index].label === '资料验收是否通过') {
1330
- let res = this.$refs.service_show.data.fields[index].value
1331
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1332
- if (this.$refs.service_show.data.fields[i].label === '资料验收不通过原因') {
1333
- if (res === '否') {
1334
- this.$refs.service_show.data.fields[i].hidden = false
1335
- this.$refs.service_show.data.fields[i].required = true
1336
- } else {
1337
- this.$refs.service_show.data.fields[i].hidden = true
1338
- this.$refs.service_show.data.fields[i].required = false
1339
- }
1340
- }
1341
- }
1342
- }
1343
- if (this.$refs.service_show.data.fields[index].label === '工程验收是否通过') {
1344
- let res = this.$refs.service_show.data.fields[index].value
1345
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1346
- if (this.$refs.service_show.data.fields[i].label === '工程验收不通过原因') {
1347
- if (res === '否') {
1348
- this.$refs.service_show.data.fields[i].hidden = false
1349
- this.$refs.service_show.data.fields[i].required = true
1350
- } else {
1351
- this.$refs.service_show.data.fields[i].hidden = true
1352
- this.$refs.service_show.data.fields[i].required = false
1353
- }
1354
- }
1355
- }
1356
- }
1357
- // }
1358
-
1359
- //金额小写得到大写
1360
- if (this.$refs.service_show.showadd_fields && this.$refs.service_show.showadd_fields.length > 0 && this.$refs.service_show.showadd_fields.fields[index].label === '收费金额') {
1361
- if (this.$refs.service_show.showadd_fields[index].value || this.$refs.service_show.showadd_fields.fields[index].value) {
1362
- var re = /^[0-9]+.?[0-9]*/
1363
- let temp = this.$refs.service_show.showadd_fields[index].value
1364
- if (temp == "" || isNaN(temp)) {
1365
- this.$showMessage("请输入纯数字")
1366
- this.$refs.service_show.showadd_fields[index].value = 0
1367
- }
1368
- }
1369
- let temp = this.$refs.service_show.showadd_fields[index]
1370
- let value = temp.value
1371
- // let chargeMoney = this.$refs.service_show.showadd_fields[index].value
1372
- for (let i = 0; i < this.$refs.service_show.showadd_fields.fields.length; i++) {
1373
- if (this.$refs.service_show.showadd_fields.fields[i].label === '金额大写') {
1374
- let te = {
1375
- value: this.smalltoBIG(value)
1376
- }
1377
- this.$refs.service_show.showadd_fields[i] = te
1378
- }
1379
- }
1380
- }
1381
-
1382
-
1383
-
1384
- if (this.$refs.service_show.data.fields[index].label === '县/区') {
1385
- let temp = this.$refs.service_show.data.fields[index].value
1386
- console.log('==============================县/区:' + temp)
1387
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1388
- // 控制设置级联
1389
- // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
1390
- if (this.$refs.service_show.data.fields[i].label === '街道名称') {
1391
- this.$refs.service_show.data.fields[i].value = ''
1392
- let street = await this.$resetpost('rs/sql/singleTable', {
1393
- data: {
1394
- tablename: 't_street',
1395
- condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_pcd='${temp}'`
1396
- }
1397
- }, {resolveMsg: null, rejectMsg: null})
1398
- let streetrs = []
1399
- for (let i = 0; i < street.data.length; i++) {
1400
- let temp = {
1401
- label: street.data[i].f_street,
1402
- value: street.data[i].f_street
1403
- }
1404
- streetrs.push(temp)
1405
- }
1406
-
1407
- this.$refs.service_show.data.fields[i].options = [{label: '全部', value: ''}, ...streetrs]
1408
- //this.data.fields[i].options = [{label: '全部', value: ''}, ...streetrs]
1409
- // console.log('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~option:', this.data.fields[i].options)
1410
-
1411
- this.$refs.service_show.update()
1412
- }
1413
- }
1414
- }
1415
- if (this.$refs.service_show.data.fields[index].label === '气表品牌') {
1416
- let temp = this.$refs.service_show.data.fields[index].value
1417
- let meterbrand = await this.$resetpost('rs/sql/singleTable', {
1418
- data: {
1419
- //items: 'f_bill_url,f_url_code',
1420
- tablename: 't_gasbrand',
1421
- condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_meter_brand='${temp}'`
1422
- }
1423
- }, {resolveMsg: null, rejectMsg: null})
1424
- console.log(meterbrand)
1425
- console.log(meterbrand.data)
1426
- let idstring = '('
1427
- idstring += meterbrand.data[0].id
1428
- console.log("idstring第一个" + idstring)
1429
- if (meterbrand.data.length > 1) {
1430
- for (let i = 1; i < meterbrand.data.length; i++) {
1431
- idstring += ',' + meterbrand.data[i].id
1432
- }
1433
- }
1434
- idstring += ')'
1435
- console.log("idstring" + idstring)
1436
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1437
-
1438
- if (this.$refs.service_show.data.fields[i].label === '气表型号') {
1439
- this.$refs.service_show.data.fields[i].value = ''
1440
-
1441
-
1442
- let gasbrand = await this.$resetpost('rs/sql/singleTable', {
1443
- data: {
1444
- tablename: 't_gasmodel',
1445
- condition: ` f_gasbrand_id in ${idstring}`
1446
- }
1447
- }, {resolveMsg: null, rejectMsg: null})
1448
- let brandstr = []
1449
- for (let i = 0; i < gasbrand.data.length; i++) {
1450
- let brand = {
1451
- label: gasbrand.data[i].f_meter_style,
1452
- value: gasbrand.data[i].f_meter_style
1453
- }
1454
- brandstr.push(brand)
1455
- }
1456
-
1457
- this.$refs.service_show.data.fields[i].options = [{label: '全部', value: ''}, ...brandstr]
1458
- //this.data.fields[i].options = [{label: '全部', value: ''}, ...streetrs]
1459
- // console.log('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~option:', this.data.fields[i].options)
1460
-
1461
- this.$refs.service_show.update()
1462
- }
1463
- }
1464
- }
1465
-
1466
-
1467
- if (this.$refs.service_show.data.fields[index].label === '气表型号') {
1468
- let meterstyle= this.$refs.service_show.data.fields[index].value
1469
- let meterbrand = ''
1470
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1471
- if (this.$refs.service_show.data.fields[i].label === '气表品牌') {
1472
- meterbrand = this.$refs.service_show.data.fields[i].value
1473
- }}
1474
-
1475
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1476
-
1477
- if (this.$refs.service_show.data.fields[i].label === '别名') {
1478
- console.log("获取别名")
1479
- this.$refs.service_show.data.fields[i].value = ''
1480
-
1481
- let meterbrandalias = await this.$resetpost('rs/sql/getMeterBrand', {
1482
- data: {
1483
- condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_meter_brand='${meterbrand}' and f_meter_style='${meterstyle}'`
1484
- }
1485
- }, {resolveMsg: null, rejectMsg: null})
1486
-
1487
- let alias = []
1488
- for (let i = 0; i < meterbrandalias.data.length; i++) {
1489
- let brand = {
1490
- label: meterbrandalias.data[i].f_alias,
1491
- value: meterbrandalias.data[i].f_alias
1492
- }
1493
- alias.push(brand)
1494
- }
1495
-
1496
- this.$refs.service_show.data.fields[i].options = [{label: '全部', value: ''}, ...alias]
1497
- //this.data.fields[i].options = [{label: '全部', value: ''}, ...streetrs]
1498
- // console.log('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~option:', this.data.fields[i].options)
1499
-
1500
- this.$refs.service_show.update()
1501
-
1502
- }
1503
- }
1504
-
1505
- }
1506
-
1507
-
1508
- if (this.$refs.service_show.data.fields[index].label === '证件类型') {
1509
- let temp = this.$refs.service_show.data.fields[index].value
1510
- console.log('==============================证件类型:' + temp)
1511
- if (temp === '身份证') {
1512
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1513
- if (this.$refs.service_show.data.fields[i].label === '证件号码') {
1514
- this.$refs.service_show.data.fields[i].required = true
1515
- }
1516
- }
1517
- } else {
1518
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1519
- if (this.$refs.service_show.data.fields[i].label === '证件号码') {
1520
- this.$refs.service_show.data.fields[i].required = false
1521
- }
1522
- }
1523
- }
1524
- }
1525
-
1526
- if (this.$refs.service_show.data.fields[index].label === '是否设计出图') {
1527
- let temp = this.$refs.service_show.data.fields[index].value
1528
-
1529
- if (temp === '') {
1530
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1531
- if (this.$refs.service_show.data.fields[i].label === '设计派工日期' ||
1532
- this.$refs.service_show.data.fields[i].label === '设计人员'
1533
- ) {
1534
- this.$refs.service_show.data.fields[i].required = true
1535
- }
1536
- }
1537
- } else {
1538
- console.log("不设计出图,进入else")
1539
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1540
- if (this.$refs.service_show.data.fields[i].label === '设计派工日期' || this.$refs.service_show.data.fields[i].label === '设计人员') {
1541
-
1542
- this.$refs.service_show.data.fields[i].required = false
1543
- }
1544
- }
1545
- }
1546
- }
1547
-
1548
- if (this.$refs.service_show.data.fields[index].label === '派工单号') {
1549
- this.$refs.service_show.data.fields[index].value = this.pgd
1550
- }
1551
-
1552
-
1553
- if (this.$refs.service_show.data.fields[index].label === '街道名称') {
1554
- let temp = this.$refs.service_show.data.fields[index].value
1555
- console.log('=============================街道:' + temp)
1556
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1557
- // 控制设置级联
1558
- // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
1559
- if (this.$refs.service_show.data.fields[i].label === '小区名称') {
1560
- this.$refs.service_show.data.fields[i].value = ''
1561
-
1562
- let area = await this.$resetpost('rs/sql/singleTable', {
1563
- data: {
1564
- tablename: 't_area',
1565
- condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_street='${temp}'`
1566
- }
1567
- }, {resolveMsg: null, rejectMsg: null})
1568
- let arears = []
1569
- this.areaall=area.data;
1570
- for (let i = 0; i < area.data.length; i++) {
1571
- let temp = {
1572
- label: area.data[i].f_residential_area,
1573
- value: area.data[i].f_residential_area
1574
- }
1575
- arears.push(temp)
1576
- }
1577
- this.$refs.service_show.data.fields[i].options = [{label: '全部', value: ''}, ...arears]
1578
- //this.data.fields[i].options = [{label: '全部', value: ''}, ...streetrs]
1579
- console.log('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~option:', this.$refs.service_show.data.fields[i].options)
1580
-
1581
- this.$refs.service_show.update()
1582
-
1583
- }
1584
- }
1585
- }
1586
-
1587
- if(this.$refs.service_show.data.fields[index].label === '小区名称'){
1588
- for (let i = 0; i < this.areaall.length; i++) {
1589
- console.log("aaaaaaaaaaaa")
1590
- if(this.areaall[i].f_residential_area== this.$refs.service_show.data.fields[index].value){
1591
- console.log("abbbbbbbbb")
1592
- for (let j = 0; j < this.$refs.service_show.data.fields.length; j++) {
1593
- if(this.$refs.service_show.data.fields[j].label === '小区地址'){
1594
- console.log(this.areaall[i].f_area_address)
1595
- this.$refs.service_show.data.fields[j].value=this.areaall[i].f_area_address
1596
- }
1597
- }
1598
- }
1599
- }
1600
- }
1601
- //控制尾款
1602
- if (
1603
- this.$refs.service_show.data.fields[index].label === '合同金额' ||
1604
- this.$refs.service_show.data.fields[index].label === '首付' ||
1605
- this.$refs.service_show.data.fields[index].label === '进度款' ||
1606
- this.$refs.service_show.data.fields[index].label === '尾款'
1607
- ) {
1608
- console.log('即将计算合同金额')
1609
- var cash = 0
1610
- var downpayments = 0
1611
- var tailmoney = 0
1612
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1613
- // 控制设置级联
1614
- // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
1615
- // xxx xx xxx
1616
- if (this.$refs.service_show.data.fields[i].label === '合同金额' && this.$refs.service_show.data.fields[i].value) {
1617
- cash = this.$refs.service_show.data.fields[i].value
1618
- }
1619
- if (this.$refs.service_show.data.fields[i].label === '首付' && this.$refs.service_show.data.fields[i].value) {
1620
- downpayments = this.$refs.service_show.data.fields[i].value
1621
- }
1622
- if (this.$refs.service_show.data.fields[i].label === '进度款' && this.$refs.service_show.data.fields[i].value) {
1623
- tailmoney = this.$refs.service_show.data.fields[i].value
1624
- }
1625
- }
1626
- var a = cash - downpayments
1627
- // 数据计算完毕得到尾款
1628
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1629
- if (this.$refs.service_show.data.fields[i].label === '尾款') {
1630
- if (cash === downpayments) {
1631
- this.$refs.service_show.data.fields[i].value = 0
1632
- } else {
1633
- this.$refs.service_show.data.fields[i].value = (cash - downpayments - tailmoney)
1634
- console.log('修改fields[i].value后的值=>' + this.$refs.service_show.data.fields[i].value)
1635
- }
1636
- }
1637
- if (this.$refs.service_show.data.fields[i].label === '首付') {
1638
- if (a < 0) {
1639
- this.$showMessage("首付款数额过大")
1640
- downpayments = 0
1641
- this.$refs.service_show.data.fields[i].value = 0
1642
- }
1643
- }
1644
-
1645
- if (this.$refs.service_show.data.fields[i].label === '进度款') {
1646
-
1647
- if (cash === downpayments) {
1648
- tailmoney = 0
1649
- this.$refs.service_show.data.fields[i].value = 0
1650
- this.$refs.service_show.data.fields[i].readonly = true
1651
- } else {
1652
- this.$refs.service_show.data.fields[i].readonly = false
1653
- tailmoney = this.$refs.service_show.data.fields[i].value
1654
- }
1655
- if (tailmoney > a) {
1656
- this.$showMessage("进度款数额过大")
1657
- tailmoney = 0
1658
- this.$refs.service_show.data.fields[i].value = 0
1659
- }
1660
- }
1661
- }
1662
- }
1663
-
1664
-
1665
- // 合成地址
1666
- if (
1667
- this.$refs.service_show.data.fields[index].label === '县/区' ||
1668
- this.$refs.service_show.data.fields[index].label === '街道名称' ||
1669
- this.$refs.service_show.data.fields[index].label === '小区名称' ||
1670
- this.$refs.service_show.data.fields[index].label === '楼号' ||
1671
- this.$refs.service_show.data.fields[index].label === '单元号' ||
1672
- this.$refs.service_show.data.fields[index].label === '楼层' ||
1673
- this.$refs.service_show.data.fields[index].label === '门牌号'
1674
- ) {
1675
- console.log('即将合成地址')
1676
- var address = ''
1677
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1678
- // 控制设置级联
1679
- // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
1680
- // xxx xx xxx
1681
- if (this.$refs.service_show.data.fields[i].label === '县/区' && this.$refs.service_show.data.fields[i].value) {
1682
- address += this.$refs.service_show.data.fields[i].value
1683
- }
1684
- if (this.$refs.service_show.data.fields[i].label === '街道名称' && this.$refs.service_show.data.fields[i].value) {
1685
- address += this.$refs.service_show.data.fields[i].value
1686
- }
1687
- if (this.$refs.service_show.data.fields[i].label === '小区名称' && this.$refs.service_show.data.fields[i].value) {
1688
- address += this.$refs.service_show.data.fields[i].value
1689
- }
1690
- if (this.$refs.service_show.data.fields[i].label === '楼号' && this.$refs.service_show.data.fields[i].value) {
1691
- address += this.$refs.service_show.data.fields[i].value
1692
- }
1693
- /* if (this.$refs.service_show.data.fields[i].label === '楼号' && this.$refs.service_show.data.fields[i].value) {
1694
- address += '栋'
1695
- } */
1696
- if (this.$refs.service_show.data.fields[i].label === '单元号' && this.$refs.service_show.data.fields[i].value) {
1697
- address += '-' +this.$refs.service_show.data.fields[i].value
1698
- }
1699
- /* if (this.$refs.service_show.data.fields[i].label === '单元号' && this.$refs.service_show.data.fields[i].value) {
1700
- address += '单元'
1701
- } */
1702
- if (this.$refs.service_show.data.fields[i].label === '楼层' && this.$refs.service_show.data.fields[i].value) {
1703
- address += '-' +this.$refs.service_show.data.fields[i].value
1704
- }
1705
- /* if (this.$refs.service_show.data.fields[i].label === '楼层' && this.$refs.service_show.data.fields[i].value) {
1706
- address += ''
1707
- } */
1708
- if (this.$refs.service_show.data.fields[i].label === '门牌号' && this.$refs.service_show.data.fields[i].value) {
1709
- address += '-' +this.$refs.service_show.data.fields[i].value
1710
- }
1711
- /* if (this.$refs.service_show.data.fields[i].label === '门牌号' && this.$refs.service_show.data.fields[i].value) {
1712
- address += ''
1713
- } */
1714
-
1715
- }
1716
- console.log('获取到的address=>' + address)
1717
- // 数据获取完毕时放入地址text
1718
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1719
- if (this.$refs.service_show.data.fields[i].label === '地址' || this.$refs.service_show.data.fields[i].label === '报装地址') {
1720
- this.$refs.service_show.data.fields[i].value = address
1721
- console.log('修改fields[i].value后的值=>' + this.$refs.service_show.data.fields[i].value)
1722
- }
1723
- }
1724
- }
1725
- // 开户费+材料费+人工费+设备安装费=合计
1726
- if (
1727
- this.$refs.service_show.data.fields[index].label === '工程安装费' ||
1728
- this.$refs.service_show.data.fields[index].label === '材料费' ||
1729
- this.$refs.service_show.data.fields[index].label === '人工费'
1730
- ) {
1731
- console.log('即将合成价格')
1732
- let a1 = 0
1733
- let b1 = 0
1734
- let c1 = 0
1735
- let fee = 0
1736
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1737
- // 控制设置级联
1738
- // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
1739
- // xxx xx xxx
1740
- if (this.$refs.service_show.data.fields[i].label === '工程安装费' && this.$refs.service_show.data.fields[i].value) {
1741
- a1 = this.$refs.service_show.data.fields[i].value
1742
- }
1743
- if (this.$refs.service_show.data.fields[i].label === '材料费' && this.$refs.service_show.data.fields[i].value) {
1744
- b1= this.$refs.service_show.data.fields[i].value
1745
- }
1746
- if (this.$refs.service_show.data.fields[i].label === '人工费' && this.$refs.service_show.data.fields[i].value) {
1747
- c1 = this.$refs.service_show.data.fields[i].value
1748
- }
1749
- fee=parseFloat(parseFloat(a1) + parseFloat(b1)+parseFloat(c1)).toFixed(2)
1750
- // 数据获取完毕时放入地址text
1751
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1752
- if (this.$refs.service_show.data.fields[i].label === '费用合计'||this.$refs.service_show.data.fields[i].label === '未结总金额') {
1753
- this.$refs.service_show.data.fields[i].value =fee
1754
- console.log('修改fields[i].value后的值=>' + this.$refs.service_show.data.fields[i].value)
1755
- }
1756
- }
1757
- }
1758
- }
1759
- if (this.$refs.service_show.data.fields[index].label == '用户类型'){
1760
- if(this.$refs.service_show.data.fields[index].value == '非民用'){
1761
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1762
- if (this.$refs.service_show.data.fields[i].label === '小区名称') {
1763
- this.$refs.service_show.data.fields[i].required=false;
1764
- }
1765
- }
1766
- }else{
1767
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1768
- if (this.$refs.service_show.data.fields[i].label === '小区名称') {
1769
- this.$refs.service_show.data.fields[i].required=true;
1770
- }
1771
- }
1772
- }
1773
- }
1774
-
1775
- if (this.$refs.service_show.data.fields[index].label === '施工是否完成') {
1776
- let temp = this.$refs.service_show.data.fields[index].value
1777
- console.log('==============================施工是否完成:' + temp)
1778
- if (temp === '是') {
1779
- let f_project_material = ''
1780
- if (this.$refs.service_show.data.defname === '施工') {
1781
- let http = new HttpResetClass()
1782
- let data = {
1783
- f_process_id: this.$refs.service_show.data.f_process_id,
1784
- defname: this.$refs.service_show.data.defname
1785
- }
1786
- let res = await http.load('POST', 'rs/sql/getFileNames', {data:data},
1787
- {resolveMsg: null, rejectMsg: null})
1788
- res.data.forEach(item =>{
1789
- f_project_material += item.fusetype + ','
1790
- })
1791
- }
1792
-
1793
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1794
- if (this.$refs.service_show.data.fields[i].label === '施工已上传文件') {
1795
- this.$refs.service_show.data.fields[i].value = f_project_material
1796
- }
1797
- }
1798
- }
1799
- }
1800
-
1801
- if (this.$refs.service_show.data.fields[index].label === '验收是否完成') {
1802
- let temp = this.$refs.service_show.data.fields[index].value
1803
- console.log('==============================验收是否完成:' + temp)
1804
- if (temp === '是') {
1805
- let f_iscomplete_information = ''
1806
- if (this.$refs.service_show.data.defname === '施工验收') {
1807
- let http = new HttpResetClass()
1808
- let data = {
1809
- f_process_id: this.$refs.service_show.data.f_process_id,
1810
- defname: this.$refs.service_show.data.defname
1811
- }
1812
- let res = await http.load('POST', 'rs/sql/getFileNames', {data:data},
1813
- {resolveMsg: null, rejectMsg: null})
1814
- res.data.forEach(item =>{
1815
- f_iscomplete_information += item.fusetype + ','
1816
- })
1817
- }
1818
-
1819
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1820
- if (this.$refs.service_show.data.fields[i].label === '验收已上传文件') {
1821
- this.$refs.service_show.data.fields[i].value = f_iscomplete_information
1822
- }
1823
- }
1824
- }
1825
- }
1826
-
1827
-
1828
- },
1829
- // onetomany模态框监听事件
1830
- async 'select_cascade_modal'(i,j){
1831
- if(this.data.onetomany[i].tables[0]=='t_apply_construct_balance'){
1832
- if(this.data.onetomany[i].fields[j].label == '第三施工方'){
1833
- for(let k =0;k<this.data.onetomany[i].fields.length;k++){
1834
-
1835
- if(this.data.onetomany[i].fields[k].label.includes('当前累计结算比例')){
1836
- let sum = 0
1837
- for(let p =0;p<this.$refs.service_show.model.rows[i].length;p++){
1838
- if(this.$refs.service_show.model.rows[i][p].f_construct_company == this.$refs.service_show.showadd_fields.fields[j].value){
1839
- sum+=Number(this.$refs.service_show.showadd_fields.fields[k-2].value)
1840
- sum+=Number(this.$refs.service_show.model.rows[i][p].f_balance_scale)
1841
- }
1842
- }
1843
- if(this.$refs.service_show.model.rows[i].length==0){
1844
- sum = Number(this.$refs.service_show.showadd_fields.fields[k-2].value)
1845
- }
1846
- this.$refs.service_show.update_showadd_fields_value(k,sum)
1847
- }
1848
- }
1849
- }
1850
- }
1851
- },
1852
- async 'onetomanyevent'(datas) {
1853
- // console.log(`onetomany=======>${JSON.stringify(datas)}`)
1854
-
1855
- for (let i = 0; i < datas.rows.length; i++) {
1856
- datas.rows[i]['f_process_id'] = this.selectdata.f_process_id
1857
- datas.rows[i]['f_apply_num'] = this.selectdata.f_apply_num
1858
- datas.rows[i]['f_filiale'] = this.$login.f.f_fengongsi
1859
- datas.rows[i]['f_parentname'] = this.$login.f.f_parentname
1860
- datas.rows[i]['f_operator'] = this.$login.f.name
1861
- }
1862
- let http = new HttpResetClass()
1863
- await http.load('POST', 'rs/logic/saveentity', datas, {resolveMsg: null, rejectMsg: 'search查询部门下所有人失败'})
1864
- }
1865
- ,
1866
- // 获取view层button事件/
1867
- async 'button'(model) {
1868
- console.log("button事件接收参数:", model)
1869
- if (this.data.defname==='踏勘'||this.data.defname==='施工'||this.data.defname==='施工验收'){
1870
- if (model.button.button_name === '终止'){
1871
- this.stop_show=true
1872
- return
1873
- }
1874
- }
1875
- /* if (this.data.defname === '通气转单'){
1876
- if (model.button.button_name === '散户报装'){
1877
- this.addactive('报装申请')
1878
- }
1879
- if (model.button.button_name === '集体报装'){
1880
- this.addactive('集体报装申请')
1881
- }
1882
- setTimeout(() => {
1883
-
1884
- }, 200)
1885
- }*/
1886
-
1887
- // 点击重置按钮就重置数据
1888
- if (model.button.button_name === '重置') {
1889
- this.refurbish()
1890
- return
1891
- }
1892
- if (model.button.button_name === '打印回单') {
1893
- this.printReceipt(model)
1894
- return
1895
- }
1896
- var operate = ''
1897
- // 判断当前按钮是否为特殊业务,即子流程提交或者分发
1898
- if (model.button.button_name === '提交' && model.button.button_event && model.button.button_event === '子流程提交') {
1899
- operate = '子流程提交'
1900
- }
1901
- if (model.button.button_name === '提交' && model.button.button_event && model.button.button_event === '合同信息') {
1902
- model.f_budget_money = model.f_contract_money
1903
- //未结算总金额=合计
1904
- model.f_unaccounts_money = model.f_total_cost
1905
- model.f_cumulative_money = 0
1906
- model.f_cumulative_invoicing = 0
1907
- model.f_additional_payment = 0
1908
- model.f_residual_invoicing = model.f_contract_money
1909
- }
1910
- if (model.button.button_name === '下发') {
1911
- if (model.button && model.button.button_event === '分发') {
1912
- operate = '分发'
1913
- }
1914
- let array = this.$login.f.rolesnames.split(',')
1915
- if (this.selectdata.defname == '任务分配' && array.includes("工程技术部负责人")) {
1916
- model.f_survey_name = model.button.button_fields.f_apply_kefu_employee
1917
- }
1918
- }
1919
-
1920
- if (model.button.button_name == '提交' && model.button.button_person && model.button.button_person.button_event === '获取之前被下发人' && model.button.button_person.button_person_field) {
1921
- model.button.button_name = '下发'
1922
- model.button.button_fields = {}
1923
- console.log(model.button.button_person.button_person_field)
1924
- console.log(this.selectdata[model.button.button_person.button_person_field])
1925
- console.log(this.selectdata)
1926
- if(this.selectdata[model.button.button_person.button_person_field].startsWith('{')){
1927
- let temp= JSON.parse(this.selectdata[model.button.button_person.button_person_field])
1928
- model.button.button_fields[model.button.button_person.button_person_field] = temp.id
1929
- }else{
1930
- model.button.button_fields[model.button.button_person.button_person_field] = this.selectdata[model.button.button_person.button_person_field]
1931
- }
1932
-
1933
- }
1934
- if (model.button.button_name === '提交') {
1935
- // for (let i = 0; i < this.show_data.fields.length; i++) {
1936
- // if (this.show_data.fields[i].label === '收费项目') {
1937
- // let yuanXiang = this.show_data.fields[i].value
1938
- // if (yuanXiang != '' && yuanXiang != null) {
1939
- // for (let i = 0; i < yuanXiang.length; i++) {
1940
- // this.xia += yuanXiang[i] + '-'
1941
- // }
1942
- // let idx = this.xia.lastIndexOf("-");
1943
- // this.xiangmu = this.xia.substring(0,idx)
1944
- // }
1945
- // model.f_charge_items = this.xiangmu
1946
- // }
1947
- // }
1948
- var flag = false
1949
- if (this.data.defname == '合同审核') {
1950
- flag = true
1951
- let http = new HttpResetClass()
1952
- let data = {
1953
- tablename: 't_singlevalue',
1954
- condition: `name = '合同编号' and f_filialeids = '${this.$login.f.f_orgids}'`
1955
- }
1956
- let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
1957
- resolveMsg: null,
1958
- rejectMsg: "获取合同编号失败"
1959
- })
1960
- if (this.contract != res.data[0].value && !this.selectdata.f_contract_number) {
1961
- this.$showMessage("合同编号已经被使用,请按F5刷新页面后重新登记")
1962
- return
1963
- }
1964
- }
1965
-
1966
- }
1967
- console.log('本次点击button执行的操作是=>' + operate)
1968
- model = Object.assign({}, this.selectdata, model)
1969
- model.f_sub_state = '未完工'
1970
- if (this.data.defname === '通气转单' && model.button.button_name === '提交'){
1971
- model.f_sub_state = '完工'
1972
- }
1973
- let http = new HttpResetClass()
1974
- var url
1975
- var requestData = {
1976
- tables: this.data.tables,
1977
- start_activity: this.$workflow_vue.start_activity,
1978
- model: model,
1979
- loginUser: this.$login.f
1980
- }
1981
- if (operate != '') {
1982
- // 特殊操作走特殊logic业务处理
1983
- url = 'rs/logic/SubprocessService'
1984
- requestData = {
1985
- tables: this.data.tables, model: model
1986
- }
1987
- } else if (model.button.button_name === '提交' && model.button.button_event && model.button.button_event === '分支流程异步合并处理') {
1988
- url = 'rs/logic/branchsyncprocess'
1989
- requestData = {
1990
- tables: this.data.tables, model: model
1991
- }
1992
- } else {
1993
- if(requestData.model.f_stair_price_name === ''|| requestData.model.f_stair_price_name === null|| requestData.model.f_stair_price_name === undefined){
1994
- requestData.model.f_stair_price_name = this.selectdata.f_stair_price_name
1995
- }
1996
- console.log("流程下一步",requestData.model.f_stair_price_name)
1997
- // 下发,提交,保存,退回通用业务后台处理logic
1998
- url = 'rs/logic/ApplyProductService'
1999
- requestData = {
2000
- tables: this.data.tables, model: model
2001
- }
2002
- }
2003
- if (this.data.defname==='踏勘'&&(model.button.button_name === '提交'||model.button.button_name === '通气')){
2004
- this.apply_show=true
2005
- this.models2 = model
2006
- return
2007
- }
2008
-
2009
- requestData.start_activity = this.$workflow_vue.start_activity
2010
- requestData.loginUser = this.$login.f
2011
- requestData.workflow_xmlfilename = this.$workflow_vue.workflow_xmlfilename
2012
-
2013
- console.log('即将发送请求url=>' + url + ',参数=>' + JSON.stringify(requestData))
2014
- let res = await http.load('POST', url, {data: requestData}, {resolveMsg: null, rejectMsg: '数据保存失败'})
2015
- console.log("service处理完成返回数据:", JSON.stringify(res.data))
2016
- if(res.data.msg=="地址重复,请修改后重新提交"){
2017
- this.$showMessage(res.data.msg)
2018
- }
2019
- if (res.data.code == 200) {
2020
- // flag 为合同编号更新标志
2021
- if (flag) {
2022
- let http = new HttpResetClass()
2023
- let data = {
2024
- tablename: 't_singlevalue',
2025
- condition: `name = '合同编号' and f_filialeids = '${this.$login.f.f_orgids}'`,
2026
- value: (Number(this.contract) + 1) + ''
2027
- }
2028
- await http.load('POST', 'rs/logic/updatesinglevalue', {data: data}, {
2029
- resolveMsg: null,
2030
- rejectMsg: "获取合同编号更新失败"
2031
- })
2032
- }
2033
- this.showview = false
2034
- // 特殊处理
2035
- this.special(model)
2036
- this.$dispatch('close')
2037
- this.initializtion()
2038
- } else {
2039
- if (res.data.msg) {
2040
- this.$showMessage(res.data.msg)
2041
- }
2042
- }
2043
- /*
2044
- if(this.selectdata.defname =='报装申请'|| this.selectdata.defname =='现场勘查'|| this.selectdata.defname =='验收'||this.selectdata.defname =='集体报装申请'||this.selectdata.defname =='现场勘查人员分配'||this.selectdata.defname =='安装通气' ){
2045
- console.log("defname======================================",this.selectdata.defname)
2046
- let http1 = new HttpResetClass();
2047
- let sendtime = null;
2048
- let finishtime = null;
2049
- let f_department = null;
2050
- let f_process_id = null;
2051
- let data1 = {
2052
- f_process_id: this.selectdata.f_process_id,
2053
- defname : this.selectdata.defname
2054
- }
2055
- console.log("res1=======================================",data1)
2056
- await http1.load('POST', 'rs/logic/getTime', {data:data1}).then((res) => {
2057
- console.log("objk===>",res.data)
2058
- sendtime=res.data.getUserid[0].sendtime;
2059
- finishtime=res.data.getUserid[0].finishtime;
2060
- f_department=res.data.resdata[0].name;
2061
- console.log("objk===>")
2062
- })
2063
-
2064
- let data2 = {
2065
- department:f_department,
2066
- resourceCatalog:this.selectdata.defname,
2067
- sqzt:model.f_user_name,
2068
- code:model.f_idnumber,
2069
- sqsj:sendtime,
2070
- slsj:sendtime,
2071
- bjsj:finishtime,
2072
- blcb:0,
2073
- sqclsl:0,
2074
- sqclmc:'',
2075
- gdlsh:'',
2076
- sbdz:model.f_address,
2077
- sldw:'鄂州市安泰天然气有限责任公司',
2078
- sfyj:'',
2079
- gxzq:'',
2080
- type:this.selectdata.defname
2081
- }
2082
- console.log("====================================",data2)
2083
- await http1.load('POST', 'rs/logic/getPost', {data:data2})
2084
- }
2085
- */
2086
- }
2087
- ,
2088
- async 'onetomanydelete'(i, j) {
2089
- let http = new HttpResetClass()
2090
- let data = {
2091
- tables: this.show_data.onetomany[i].tables,
2092
- row: this.$refs.service_show.model.rows[i][j]
2093
- }
2094
- await http.load('POST', 'rs/logic/applyDeleteValue', {data: data}, {
2095
- resolveMsg: null,
2096
- rejectMsg: 'onetomanydelete失败'
2097
- }).then(() => {
2098
- this.$dispatch('selfsearch')
2099
- this.$refs.service_show.model.rows[i].splice(j, 1)
2100
- })
2101
- }
2102
- ,
2103
- //获取view层confirm事件
2104
- async 'confirm'(tables, row, showadd_index, j) {
2105
- var _this = this
2106
- for (let i = 0; i < tables.length; i++) {
2107
- let datas = {
2108
- tables: tables,
2109
- row: row
2110
- }
2111
- console.log("看看datas")
2112
- console.log(datas)
2113
- console.log("看看showadd_index")
2114
- console.log(showadd_index)
2115
- datas.row['f_process_id'] = this.selectdata.f_process_id
2116
- datas.row['f_apply_num'] = this.selectdata.f_apply_num
2117
- datas.row['f_filiale'] = this.selectdata.f_filiale
2118
- let http = new HttpResetClass()
2119
- let sellid = ''
2120
- let billtype = datas.row['f_bill_style']
2121
- if (tables[i] == 't_charge_record') {
2122
- await this.loadbuyer()
2123
- if (this.buyerinfo.rows.length < 1 && billtype === '增值税电子发票' && this.$appdata.getSingleValue('默认打印票据') === '是') {
2124
- this.$showAlert('未找到购买方信息,请去报建功能"购买方信息"中完善购买方信息后再收费', 'info', 2000)
2125
- this.$refs.service_show.model.rows[showadd_index].splice(j, 1)
2126
- this.$refs.service_show.initializtion()
2127
- return
2128
- }
2129
- datas.row.f_charging_status = '有效'
2130
- datas.row.f_is_correct = ''
2131
- datas.row.f_charge_collectors = this.$login.f.name
2132
- datas.row.f_amount_words=this.smalltoBIG(datas.row.f_charge_money)
2133
- await http.load('POST', 'rs/logic/applycharge', datas, {
2134
- resolveMsg: null,
2135
- rejectMsg: '收费保存失败'
2136
- }).then((res) => {
2137
- sellid = JSON.parse(res.data.sellid).id
2138
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
2139
- //
2140
- // if (this.$refs.service_show.data.fields[i].label == '累计缴费金额') {
2141
- // this.$refs.service_show.data.fields[i].value = res.data.f_cumulative_money
2142
- // }
2143
- //
2144
- // if (this.$refs.service_show.data.fields[i].label == '未结总金额') {
2145
- // this.$refs.service_show.data.fields[i].value = res.data.f_unaccounts_money
2146
- // }
2147
-
2148
- }
2149
- let temp = _this.$refs.service_show.model.rows[showadd_index][j]
2150
- temp.id = sellid
2151
- _this.$refs.service_show.model.rows[showadd_index][j] = temp
2152
- })
2153
- if (this.$appdata.getSingleValue('默认打印票据') && this.$appdata.getSingleValue('默认打印票据') === '是') {
2154
- this.$showMessage('是否打票据', ['confirm', 'cancel']).then((res) => {
2155
- if (res === 'confirm') {
2156
- console.log('打印票据')
2157
- if (billtype === '增值税电子发票') {
2158
- this.selectsellid = sellid
2159
- this.showbuyerinfo = true
2160
- } else {
2161
- this.printbill(sellid)
2162
- }
2163
- for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
2164
- if (this.$refs.service_show.data.fields[i].label == '累计开票金额') {
2165
- console.log("计算累计开票金额")
2166
- this.$refs.service_show.data.fields[i].value = parseInt(this.$refs.service_show.data.fields[i].value) + this.datas.row.f_cumulative_invoicing
2167
- }
2168
- }
2169
- }
2170
- })
2171
- }
2172
- // 刷新列表数据
2173
- console.log("刷新一下")
2174
- this.$dispatch('selfsearch')
2175
- console.log("刷新完成")
2176
- } else {
2177
- await http.load('POST', 'rs/logic/saveentity', datas, {
2178
- resolveMsg: null,
2179
- rejectMsg: 'onetomany保存失败'
2180
- }).then((res) => {
2181
- // 刷新列表数据
2182
- this.$dispatch('selfsearch')
2183
- let temp = _this.$refs.service_show.model.rows[showadd_index][j]
2184
- temp.id = res.data.id
2185
- _this.$refs.service_show.model.rows[showadd_index][j] = temp
2186
- })
2187
- }
2188
- }
2189
- }
2190
- }
2191
- }
2192
-
2193
- </script>
1
+ <template>
2
+ <show-back-reason v-if="selectdata.f_back_reason && selectdata.f_back_reason!=''"
3
+ :data="show_data"></show-back-reason>
4
+ <!--<gas-stop v-if="selectdata.defname == '停气碰口'"></gas-stop>-->
5
+ <material-message v-if="selectdata.defname=='材料导入'" v-ref:material
6
+ :selectdata="selectdata"
7
+ :state="2"
8
+ :edit="true"></material-message>
9
+ <material-message v-if="selectdata.defname=='材料审核'" v-ref:material
10
+ :selectdata="selectdata"
11
+ :state="1"
12
+ :edit="true"></material-message>
13
+ <receive-batch v-if="selectdata.defname == '派工单'" :selectdata="selectdata" v-ref:receivebatch></receive-batch>
14
+ <project-settlement v-if="selectdata.defname == '工程结算'" :selectdata="selectdata"></project-settlement>
15
+ <!-- <installfee :infee="selectdata" :showfee='true' v-if="selectdata.defname == '通气条件确认'"></installfee>-->
16
+ <buyer-message v-ref:buyermessagev :selectdata="selectdata" :state="1" v-if="selectdata.defname == '收费'" ></buyer-message>
17
+ <!-- <installfee :infee="selectdata" v-if="selectdata.defname == '收费'"></installfee>-->
18
+ <service-view v-ref:service_show :data="show_data" v-if="showview" :is_show_datacheck="datacheck"></service-view>
19
+
20
+ <modal :show.sync="showbuyerinfo" v-ref:modal backdrop="false">
21
+ <header slot="modal-header" class="modal-header">
22
+ <button type="button" class="close" @click="closebuyerinfo"><span>&times;</span></button>
23
+ <h4 class="modal-title">打印电子发票,请请选择购货方信息</h4>
24
+ </header>
25
+ <article slot="modal-body" class="modal-body">
26
+ <div v-if="showbuyerinfo">
27
+ <div class="col-sm-12 span recordTable" style="margin-top: 10px;min-height: 350px">
28
+ <partial-view v-ref:single-load>
29
+ <data-grid :model="buyerinfo" v-ref:grid>
30
+ <template partial='head'>
31
+ <tr>
32
+ <th>序号</th>
33
+ <th>购货方名称</th>
34
+ <th>购货方纳税人识别号</th>
35
+ <th>购货方地址、电话</th>
36
+ <th>购货方开户行及账号</th>
37
+ <th>购货方电子邮箱</th>
38
+ <th>操作</th>
39
+ </tr>
40
+ </template>
41
+ <template partial='body'>
42
+ <td style="text-align: center">{{$index+1}}</td>
43
+ <td style="text-align: center">{{row.f_buyer_name}}</td>
44
+ <td style="text-align: center">{{row.f_buyer_identify}}</td>
45
+ <td style="text-align: center">{{row.f_buyer_addphone}}</td>
46
+ <td style="text-align: center">{{row.f_buyer_bank}}</td>
47
+ <td style="text-align: center">{{row.f_buyer_email}}</td>
48
+ <td style="text-align: center">
49
+ <button type="button" class="btn btn-success"
50
+ @click='$parent.$parent.$parent.$parent.confirmbuyerinfo(row)'>选择
51
+ </button>
52
+ </td>
53
+ </template>
54
+ </data-grid>
55
+ </partial-view>
56
+ </div>
57
+ </div>
58
+ </article>
59
+ <footer slot="modal-footer" class="modal-footer">
60
+ <button v-show="showbuyerinfo" type="button" class="btn btn-default" @click='closebuyerinfo'>取消</button>
61
+ </footer>
62
+ </modal>
63
+
64
+ <apply-accept-bill :show="acceptprint" :bill-url='acceptUrl' v-on:toggle="close" :data='row' :billdata="printData" v-ref:acceptbill @closeaccept="closeAccept"></apply-accept-bill>
65
+ <!--打印报表html-->
66
+ <!-- <div v-show="false">-->
67
+ <!-- <div class="row" style="display: flex;justify-content: center;" id='bill-fee'>-->
68
+ <!-- {{{bill}}}-->
69
+ <!-- </div>-->
70
+ <!-- <report-print id='bill-fee' top='15mm' left='5mm' width='90%' height='70%' :showbtn="false" preview="true"-->
71
+ <!-- v-ref:reportprint></report-print>-->
72
+ <!-- </div>-->
73
+ <modal :show.sync="stop_show" v-ref:modal stop_show="false">
74
+ <header slot="modal-header" class="modal-header">
75
+ <button type="button" class="close" @click="closeback"><span>&times;</span></button>
76
+ <h4 class="modal-title">终止备注</h4>
77
+ </header>
78
+ <article slot="modal-body" class="modal-body">
79
+ <div class="from-group">
80
+ <input type="text" class="form-control" v-model="models.f_stop_remarks"/>
81
+ </div>
82
+ </article>
83
+ <footer slot="modal-footer" class="modal-footer">
84
+ <button v-show="stop_show" type="button" class="btn btn-default" @click='stopapplys'>确认</button>
85
+ </footer>
86
+ </modal>
87
+ <modal :show.sync="apply_show" v-ref:modal apply_show="false" >
88
+ <header slot="modal-header" class="modal-header">
89
+ <button type="button" class="close" @click="closeapply"><span>&times;</span></button>
90
+ <h4 class="modal-title">转单报建</h4>
91
+ </header>
92
+ <article slot="modal-body" class="modal-body">
93
+ <div class="from-group">
94
+ <v-select style="min-width: 80%;"
95
+ placeholder='请选择'
96
+ :options="applytypes"
97
+ :search="false"
98
+ v-model="apply_type"
99
+ :value.sync="apply_type"
100
+ close-on-select>
101
+ </v-select>
102
+ </div>
103
+ </article>
104
+ <footer slot="modal-footer" class="modal-footer">
105
+ <button v-show="apply_show" type="button" class="btn btn-default" @click='addactive()'>确认</button>
106
+ </footer>
107
+ </modal>
108
+ </template>
109
+ <script>
110
+ import Vue from 'vue'
111
+ import {HttpResetClass} from 'vue-client'
112
+ import * as Util from '../../../../Util'
113
+ // import AppData from 'stores/AppData'
114
+ // Date格式化
115
+ Date.prototype.Format = function (fmt) {
116
+ var o = {
117
+ "M+": this.getMonth() + 1, //月份
118
+ "d+": this.getDate(), //日
119
+ "H+": this.getHours(), //小时
120
+ "m+": this.getMinutes(), //分
121
+ "s+": this.getSeconds(), //秒
122
+ "q+": Math.floor((this.getMonth() + 3) / 3), //季度
123
+ "S": this.getMilliseconds() //毫秒
124
+ };
125
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
126
+ for (var k in o)
127
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
128
+ return fmt;
129
+ }
130
+
131
+ export default {
132
+ title: '报建流程业务控制层',
133
+ props: ['selectdata'],
134
+ data() {
135
+ return {
136
+ acceptprint: false,
137
+ acceptUrl: 'rs/report/printReceiptbill',
138
+ printData:{
139
+ f_user_name: '',
140
+ f_address: '',
141
+ f_user_phone:'',
142
+ f_work_type: '新报装',
143
+ f_news:'身份证'
144
+ },
145
+ data: null, // 数据库数据,json配置文件数据的数据集合
146
+ json_datas: null, // Json配置文件集合
147
+ showview: false, // 控制显示service-view组件
148
+ show_data: null, // 给view层显示的数据
149
+ department_search: [], // 当前部门下所有人
150
+ contract: null, // 单值表合同编号记录
151
+ technologist: [], // 技术人员 角色下的人
152
+ price: 0,
153
+ xiangmu:'',
154
+ xia:'',
155
+ cost: 0,
156
+ number: 0,
157
+ pgd: '',
158
+ showbuyerinfo: false, // 新增购货方信息模态框开关
159
+ selectsellid: null, //需要打票收费id
160
+ buyerinfo: {
161
+ id: '',
162
+ f_buyer_name: '',
163
+ f_buyer_identify: '',
164
+ f_buyer_addphone: '',
165
+ f_buyer_bank: '',
166
+ f_buyer_email: '',
167
+ rows: [] // 购货方信息
168
+ },
169
+ bill: '',
170
+ areaall:[],
171
+ stop_show:false, // 终止备注开关
172
+ apply_show:false, // 转单报建开关
173
+ apply_type:'',
174
+ applytypes:[{label:"散户报装",value:"报装申请"},{label:"集体报装",value:"集体报装申请"}],// 报建类型
175
+ models: {
176
+ f_date: Util.toStandardTimeString(),
177
+ f_department: this.$login.f.f_parentname,
178
+ f_operator: this.$login.f.name,
179
+ f_filiale: this.$login.f.f_fengongsi
180
+ },
181
+ models2:{}
182
+ }
183
+ },
184
+ methods: {
185
+ /*
186
+ ============================================收费临时使用
187
+ */
188
+ // 转到报建
189
+ async addactive(){
190
+ let http = new HttpResetClass()
191
+ let model = this.models2
192
+ let url = 'rs/logic/ApplyProductService'
193
+ let requestData = {
194
+ tables: this.data.tables, model: model
195
+ }
196
+ requestData.start_activity = '踏勘'
197
+ requestData.loginUser = this.$login.f
198
+ requestData.workflow_xmlfilename = this.$workflow_vue.workflow_xmlfilename
199
+ let res1 = await http.load('POST', url, {data: requestData}, {resolveMsg: null, rejectMsg: '数据保存失败'})
200
+ this.selectdata.applyid = this.selectdata.id
201
+ // this.$resetpost('rs/logic/stopapply', {data: this.selectdata})
202
+ console.log(this.apply_type[0])
203
+ this.$workflow_vue.start_activity = this.apply_type[0]
204
+ let res = await http.load('POST','rs/logic/ApplyGetProcessID',{data:{filename:this.$workflow_vue.workflow_xmlfilename,start_activity:this.$workflow_vue.start_activity}}, {resolveMsg: null, rejectMsg: '获取流程ID失败,请联系开发人员'})
205
+ let data = {
206
+ defname: this.$workflow_vue.start_activity,
207
+ f_process_id: res.data.f_process_id,
208
+ f_apply_date: Util.toStandardTimeString(),
209
+ f_product_id: res.data.f_product_id,
210
+ start_activity:this.$workflow_vue.start_activity,
211
+ f_user_type:this.models2.f_user_type,
212
+ f_user_name:this.models2.f_user_name,
213
+ f_phone:this.models2.f_phone,
214
+ f_area:this.models2.f_area,
215
+ f_street:this.models2.f_street,
216
+ f_residential_area:this.models2.f_residential_area,
217
+ f_building:this.models2.f_building,
218
+ f_unit:this.models2.f_unit,
219
+ f_floor:this.models2.f_floor,
220
+ f_room:this.models2.f_room,
221
+ f_address:this.models2.f_address,
222
+ f_idnumber:this.models2.f_social_credit_code,
223
+ f_apply_source:this.models2.f_apply_source,
224
+ f_sub_state:'未完工',
225
+ f_project_number : res1.data.f_apply_num,
226
+ user:this.$login.f
227
+ }
228
+ await http.load('POST','rs/logic/newaddApplyproduct',{data:data}, {resolveMsg: null, rejectMsg: '转发失败,请联系开发人员'})
229
+ var flag = false
230
+ if (this.data.defname == '合同审核') {
231
+ flag = true
232
+ let http = new HttpResetClass()
233
+ let data = {
234
+ tablename: 't_singlevalue',
235
+ condition: `name = '合同编号' and f_filialeids = '${this.$login.f.f_orgids}'`
236
+ }
237
+ let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
238
+ resolveMsg: null,
239
+ rejectMsg: "获取合同编号失败"
240
+ })
241
+ if (this.contract != res.data[0].value && !this.selectdata.f_contract_number) {
242
+ this.$showMessage("合同编号已经被使用,请按F5刷新页面后重新登记")
243
+ return
244
+ }
245
+ }
246
+ if (res1.data.code == 200) {
247
+ // flag 为合同编号更新标志
248
+ if (flag) {
249
+ let http = new HttpResetClass()
250
+ let data = {
251
+ tablename: 't_singlevalue',
252
+ condition: `name = '合同编号' and f_filialeids = '${this.$login.f.f_orgids}'`,
253
+ value: (Number(this.contract) + 1) + ''
254
+ }
255
+ await http.load('POST', 'rs/logic/updatesinglevalue', {data: data}, {
256
+ resolveMsg: null,
257
+ rejectMsg: "获取合同编号更新失败"
258
+ })
259
+ }
260
+ this.showview = false
261
+ // 特殊处理
262
+ this.special(model)
263
+ this.$dispatch('close')
264
+ this.initializtion()
265
+ } else {
266
+ if (res1.data.msg) {
267
+ this.$showMessage(res1.data.msg)
268
+ }
269
+ }
270
+ this.apply_show = false
271
+ },
272
+ // 终止报建
273
+ async stopapplys () {
274
+ this.models = Object.assign({}, this.selectdata, this.models)
275
+ this.models.id = null
276
+ this.models.applyid = this.selectdata.id
277
+ this.models.f_operat_type = '终止报建'
278
+ this.models.f_state = '有效'
279
+ this.models.f_describe = this.selectdata.f_user_name + '已终止报建'
280
+ let data ={
281
+ tablename:'t_project_stop',
282
+ parameters:this.models
283
+ }
284
+ let http = new HttpResetClass()
285
+ await http.load('POST','rs/logic/stopapply', {data:this.models},{resolveMsg: null, rejectMsg: "终止失败"})
286
+ await http.load('POST','rs/logic/save', {data:data},{resolveMsg: null, rejectMsg: "添加失败"})
287
+ this.closeback()
288
+ this.$dispatch('close')
289
+ },
290
+ // 关闭终止备注弹框
291
+ closeback() {
292
+ this.stop_show = false
293
+ },
294
+ // 关闭报建弹框
295
+ closeapply() {
296
+ this.apply_show = false
297
+ },
298
+ closeAccept () {
299
+ this.acceptprint = false
300
+ },
301
+ close () {
302
+ this.acceptprint = false
303
+ },
304
+ printok () {
305
+ this.$dispatch('success')
306
+ },
307
+ validateBill (val) {
308
+ this.validateOk = !val.isOk
309
+ this.billData.bill = val.bill
310
+ },
311
+ async printReceipt(model) {
312
+ console.log('打印回单了11111111111111111model', model)
313
+ this.acceptprint = true
314
+ this.acceptUrl = 'rs/report/printReceiptbill'
315
+ this.printData.f_work_type = `'${model.f_work_type}'`
316
+ this.printData.f_news = `'${model.f_news}'`
317
+ this.printData.f_user_name = `'${model.f_user_name}'`
318
+ this.printData.f_address = `'${model.f_address}'`
319
+ this.printData.f_user_phone = `'${model.f_phone}'`
320
+ },
321
+
322
+ async printbill(sellid) {
323
+ let result = await this.$resetpost('rs/report/applyCharge_bill', {data: {condition: `c.id = ${sellid}`}}, {
324
+ resolveMsg: null,
325
+ rejectMsg: "提取数据出错,请重试!"
326
+ })
327
+ this.bill = result.data
328
+ console.log('this.bill', this.bill)
329
+ this.$nextTick(() => {
330
+ this.$refs.reportprint.print()
331
+ })
332
+ },
333
+ confirmbuyerinfo(args) {
334
+ let drawbilldata = {
335
+ sellid: this.selectsellid,
336
+ buyerid: args.id,
337
+ operator: this.$login.f.name
338
+ }
339
+ this.closebuyerinfo()
340
+ this.$resetpost('rs/logic/applyDrawBill', {data: drawbilldata}, {resolveMsg: null, rejectMsg: "开发票失败"})
341
+ .then((res) => {
342
+ if (res.data.status === 200) {
343
+ this.$showAlert('申请开具增值税电子发票成功,请稍后到报建功能中【报建收费】中查看电子发票', 'success', 5000)
344
+ /*let n = 0
345
+ var id = setInterval(async ()=>{
346
+ if(n>=3){
347
+ this.$showMessage('电子票延迟,请稍后查看!')
348
+ clearInterval(id)
349
+ }
350
+ if (this.seeeticket(res.data) === 'success'){
351
+ clearInterval(id)
352
+ this.load()
353
+ }
354
+ n++
355
+ this.$showAlert('电子发票开票中,请稍后...', 'info',3000)
356
+ },3000)*/
357
+ } else {
358
+ this.$showAlert('电子发票开票失败,失败代码为:' + res.data.status, 'warning', 3000)
359
+ }
360
+ })
361
+ },
362
+ // 金额转大写
363
+ smalltoBIG(n) {
364
+ let fraction = ['角', '分'];
365
+ let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
366
+ let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
367
+ let head = n < 0 ? '欠' : '';
368
+ n = Math.abs(n);
369
+
370
+ let s = '';
371
+
372
+ for (var i = 0; i < fraction.length; i++) {
373
+ s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
374
+ }
375
+ s = s || '整';
376
+ n = Math.floor(n);
377
+
378
+ for (var i = 0; i < unit[0].length && n > 0; i++) {
379
+ let p = '';
380
+ for (var j = 0; j < unit[1].length && n > 0; j++) {
381
+ p = digit[n % 10] + unit[1][j] + p;
382
+ n = Math.floor(n / 10);
383
+ }
384
+ s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
385
+ }
386
+ return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
387
+ },
388
+ // 关闭模态框
389
+ closebuyerinfo() {
390
+ this.showbuyerinfo = false
391
+ this.selectsellid = null
392
+ },
393
+ //根据票据流水号查看票据
394
+ async seeeticket(val) {
395
+ console.log('该票据流水号为:', val.f_fpqqlsh)
396
+ var eticketData = await this.$resetpost('rs/sql/querySingleTable', {
397
+ data: {
398
+ items: 'f_bill_url,f_url_code',
399
+ tablename: 't_eticket',
400
+ condition: `f_serial_number=${val.f_fpqqlsh}`
401
+ }
402
+ }, {resolveMsg: null, rejectMsg: null})
403
+ console.log('eticketData:', eticketData)
404
+ var data = eticketData.data[0]
405
+ if (data.f_bill_url && data.f_bill_url != '') {
406
+ console.log(data)
407
+ var auth = data.f_bill_url.split("/")
408
+ console.log("截取", auth)
409
+ var authCode = auth[auth.length - 1]
410
+ var url = `https://${auth[2]}/ent-views/fpExtract/get_fapiao.html?pwd=${data.f_url_code}&authCode=${authCode}`
411
+ this.$showAlert('开票成功!', 'success', 500)
412
+ window.open(url)
413
+ return 'success'
414
+ }
415
+ return 'fail'
416
+ },
417
+ async loadbuyer() {
418
+ //获取购货方信息
419
+ let querybuyerdata = {
420
+ tablename: 't_buyer_info',
421
+ condition: `f_process_id = '${this.selectdata.f_process_id}' and f_apply_num = '${this.selectdata.f_apply_num}'`
422
+ }
423
+ let buyerinfos = await this.$resetpost('rs/sql/singleTable', {data: querybuyerdata}, {
424
+ resolveMsg: null,
425
+ rejectMsg: '获取购货方信息失败'
426
+ })
427
+ this.buyerinfo.rows = buyerinfos.data
428
+ },
429
+ /*
430
+ ============================================收费临时使用结束
431
+ */
432
+ // AOP后续特殊化处理
433
+ async special(model) {
434
+ if (model.button.button_name === '提交' && model.button.button_event && model.button.button_event === '分支流程异步处理') {
435
+ // 分支流程异步处理
436
+ let http = new HttpResetClass();
437
+ let res = await http.load('POST', 'rs/logic/branchsyncprocess', {
438
+ data: {
439
+ model: model,
440
+ loginUser: this.$login.f
441
+ }
442
+ }, {resolveMsg: null, rejectMsg: '分支流程异步处理保存失败'})
443
+ console.log("分支流程异步处理:", JSON.stringify(res.data))
444
+ }
445
+
446
+ if (this.data.distribute_async && model.button.button_name === '下发') {
447
+ // 同流程节点异步处理
448
+ let http = new HttpResetClass();
449
+ let res = await http.load('POST', 'rs/logic/syncprocess', {
450
+ data: {
451
+ model: model,
452
+ loginUser: this.$login.f
453
+ }
454
+ }, {resolveMsg: null, rejectMsg: '流程异步下发据保存失败'})
455
+ console.log("流程的异步处理:", JSON.stringify(res.data))
456
+ }
457
+ if (this.data.distribute_async && model.button.button_name === '完成') {
458
+ // 强制结束
459
+ let http = new HttpResetClass();
460
+ let res = await http.load('POST', 'rs/logic/stoprocess', {
461
+ data: {
462
+ model: model,
463
+ loginUser: this.$login.f
464
+ }
465
+ }, {resolveMsg: null, rejectMsg: '流程异步完成数据保存失败'})
466
+ console.log("流程的异步处理:", JSON.stringify(res.data))
467
+ }
468
+ },
469
+ // 组件初始化操作
470
+ refurbish(val) {
471
+ this.selectdata = val
472
+ this.json_datas = this.$workflow_vue
473
+ console.log("初始化jsonDataS==", this.json_datas)
474
+ let sum = 0
475
+ let jsonData = {}
476
+ if(!this.json_datas||!this.json_datas.activitys||this.json_datas.activitys.length==0){
477
+ this.$showMessage("网络故障,请刷新页面")
478
+ return
479
+ }
480
+ for (let i = 0; i < this.json_datas.activitys.length; i++) {
481
+ if (this.selectdata.defname == this.json_datas.activitys[i].title) {
482
+ jsonData = this.json_datas.activitys[i]
483
+ sum++
484
+ }
485
+ }
486
+ for (let j = 0; j < jsonData.fields.length; j++) {
487
+ jsonData.fields[j].value = ''
488
+ console.log("是否有default属性jsonData.fields[j]", jsonData.fields[j])
489
+ if (jsonData.fields[j].default) {
490
+ jsonData.fields[j].value = jsonData.fields[j].default
491
+ }
492
+ }
493
+ if (sum == 1) {
494
+ console.log("jsonData==", jsonData)
495
+ this.data = null
496
+ this.data = jsonData
497
+ this.initializtion()
498
+ } else if (sum == 0) {
499
+ this.$showMessage(`没有在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置`)
500
+ } else {
501
+ this.$showMessage(`在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置:${sum}个`)
502
+ }
503
+ },
504
+ //生成派工单号
505
+ createpgd() {
506
+ this.pgd = "BJ"
507
+ var d = new Date()
508
+ this.pgd+=d.getFullYear()
509
+ if(d.getMonth() + 1<10){
510
+ this.pgd+='0'+(d.getMonth() + 1)
511
+ }
512
+ else{
513
+ this.pgd+=(d.getMonth() + 1)
514
+ }
515
+ if(d.getDate() <10){
516
+ this.pgd+='0'+d.getDate()
517
+ }
518
+ else{
519
+ this.pgd+=d.getDate()
520
+ }
521
+ if(d.getHours() <10){
522
+ this.pgd+='0'+d.getHours()
523
+ }
524
+ else{
525
+ this.pgd+=d.getHours()
526
+ }
527
+ if(d.getMinutes() <10){
528
+ this.pgd+='0'+d.getMinutes()
529
+ }
530
+ else{
531
+ this.pgd+=d.getMinutes()
532
+ }
533
+ if(d.getSeconds() <10){
534
+ this.pgd+='0'+d.getSeconds()
535
+ }
536
+ else{
537
+ this.pgd+=d.getSeconds()
538
+ }
539
+ },
540
+
541
+
542
+
543
+ // AOP:进入vue组件前初始化内容
544
+ // json配置数据处理 比如下拉框的options
545
+ async initializtion() {
546
+ console.log("this.data.table", this.data.tables)
547
+ this.showview = false
548
+ // 有合同号不给合同表里插入数据
549
+ for(let i=0;i<this.data.tables.length;i++){
550
+ if('t_contract'==this.data.tables[i]&&this.selectdata.f_contract_number){
551
+ this.data.tables.splice(i,1)
552
+ }
553
+ }
554
+ // 下发人 options 处理,options初始化
555
+ if (this.selectdata.defname.indexOf('派单')>=0&&this.selectdata.actorexpression) {
556
+ let http = new HttpResetClass()
557
+ http.load('POST', 'rs/search', `{"source":"this.getParentByType($organization$).getChildByName($工程部门$).getChildByName($工程部门负责人$).getChildren()","userid":"${this.$login.f.id}"}`, {
558
+ resolveMsg: null,
559
+ rejectMsg: null
560
+ }).then((res)=>{
561
+
562
+
563
+ let jsonString = JSON.stringify(res.data)
564
+ let jsonArray = []
565
+ if (jsonString.startsWith("{")) {
566
+ jsonArray.push(res.data)
567
+ res.data = jsonArray
568
+ }
569
+ this.department_search = res.data
570
+ if (this.department_search&&this.showview) {
571
+ let array = []
572
+ for (let k = 0; k < this.department_search.length; k++) {
573
+ array.push({
574
+ label: this.department_search[k].name,
575
+ value: {id: this.department_search[k].id, name: this.department_search[k].name}
576
+ })
577
+ }
578
+ for(let x=0;x<this.data.buttons.length;x++){
579
+ if(this.data&&this.data.buttons[x].button_name=="下发"){
580
+ this.data.buttons[x].button_fields[0].options = array
581
+ }
582
+ if(this.show_data &&this.show_data.buttons[x].button_name=="下发"){
583
+ this.show_data.buttons[x].button_fields[0].options = array
584
+ }
585
+ }
586
+ }
587
+ })
588
+ }
589
+
590
+ //debugger
591
+
592
+ // selectdata 填充 data
593
+ this.data = Object.assign({}, this.data, this.selectdata)
594
+ // onetomany 数据获取
595
+ if (this.data.onetomany) {
596
+ console.log('判断是onetomany,this.data.onetomany的数据为=>' + JSON.stringify(this.data.onetomany))
597
+ for (let index = 0; index < this.data.onetomany.length; index++) {
598
+ let http = new HttpResetClass()
599
+ let data = {}
600
+ if (this.data.onetomany[index].tables[0] == 't_charge_record') {
601
+ data = {
602
+ tablename: this.data.onetomany[index].tables[0],
603
+ condition: `f_apply_num = '${this.selectdata.f_apply_num}' and f_process_id='${this.selectdata.f_process_id}' and f_charging_status != '作废'`
604
+ }
605
+ } else {
606
+ data = {
607
+ tablename: this.data.onetomany[index].tables[0],
608
+ condition: `f_process_id='${this.selectdata.f_process_id}'`
609
+ }
610
+ }
611
+ let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
612
+ resolveMsg: null,
613
+ rejectMsg: 'onetomany查询失败'
614
+ })
615
+ // 初始化 onetomany
616
+ let rows = []
617
+ console.log('查询返回结果res.data=>' + JSON.stringify(res.data))
618
+ this.data.onetomany[index].rows = res.data
619
+ // console.log(JSON.stringify('this.data.onetomany[index].rows=>' + JSON.stringify(this.data.onetomany[index].rows)))
620
+
621
+ // 初始化onetomany中的fields
622
+ for (let j = 0; j < this.data.onetomany[index].fields.length; j++) {
623
+ // 如果配置类型为select,优先从参数列表获取options
624
+ if (this.data.onetomany[index].fields[j].type === 'select') {
625
+ let temp = Vue.$appdata.getParam(this.data.onetomany[index].fields[j].label)
626
+ if (temp && temp.length > 0) {
627
+ this.data.onetomany[index].fields[j].options = Vue.$appdata.getParam(this.data.onetomany[index].fields[j].label)
628
+ }
629
+ }
630
+ }
631
+ }
632
+ }
633
+ // 初始化 fields
634
+ for (let i = 0; i < this.data.fields.length; i++) {
635
+ // 如果selectdata有这些key,则把selectdata的value赋值给data的value
636
+ if (this.selectdata[this.data.fields[i].field]) {
637
+ if (String(this.selectdata[this.data.fields[i].field]).startsWith("{")) {
638
+ this.data.fields[i].value = JSON.parse(this.selectdata[this.data.fields[i].field])
639
+ } else {
640
+ this.data.fields[i].value = this.selectdata[this.data.fields[i].field]
641
+ }
642
+
643
+ }
644
+ // 如果配置类型为select,优先从参数列表获取options
645
+ if (this.data.fields[i].type === 'select') {
646
+ let temp = Vue.$appdata.getParam(this.data.fields[i].label)
647
+ if (temp && temp.length > 0) {
648
+ this.data.fields[i].options = Vue.$appdata.getParam(this.data.fields[i].label)
649
+ }
650
+ }
651
+
652
+ if (this.data.defname === '工程结算') {
653
+ var a = 0
654
+ var b = 0
655
+ var c = 0
656
+ for (let i = 0; i < this.data.fields.length; i++) {
657
+ if (this.data.fields[i].label === '最终核算成本金额') {
658
+ this.data.fields[i].value = (this.cost + this.number)
659
+ a = this.data.fields[i].value
660
+ }
661
+ if (this.data.fields[i].label === '合同总金额') {
662
+ b = this.data.fields[i].value
663
+ }
664
+ if (this.data.fields[i].label === '材料成本金额') {
665
+ this.data.fields[i].value = this.number
666
+ }
667
+ if (this.data.fields[i].label === '其他成本金额') {
668
+ this.data.fields[i].value = this.cost
669
+ }
670
+ }
671
+ c = b - a
672
+ for (let i = 0; i < this.data.fields.length; i++) {
673
+ if (this.data.fields[i].label === '工程盈利') {
674
+ this.data.fields[i].value = c
675
+ }
676
+ }
677
+ }
678
+ if (this.selectdata.defname.indexOf('派单')>=0) {
679
+ let money=0
680
+
681
+ for (let i = 0; i < this.data.fields.length; i++) {
682
+ if (this.data.fields[i].label === '派工单号') {
683
+ console.log("给派工单号赋值")
684
+ this.createpgd()
685
+ console.log(this.pgd)
686
+ this.data.fields[i].value = this.pgd
687
+ }
688
+ if (this.data.fields[i].label === '合同总金额') {
689
+ console.log('合同总金额===>'+this.data.fields[i].value )
690
+ money=this.data.fields[i].value
691
+ }
692
+ let dealmoney=0;
693
+ if (this.data.fields[i].label == '累计缴费金额') {
694
+ dealmoney=this.data.fields[i].value
695
+ console.log('累计缴费金额===>'+dealmoney )
696
+ }
697
+
698
+ if (this.data.fields[i ].label == '未结总金额') {
699
+ /// if(money=="" || dealmoney==""){
700
+ /// money=0;
701
+ /// dealmoney=0;
702
+ /// }
703
+ /// if(money==null || dealmoney==null){
704
+ /// money=0;
705
+ /// dealmoney=0;
706
+ /// }
707
+ ///
708
+ let othermoney = money-dealmoney;
709
+ console.log('jine'+othermoney)
710
+ this.data.fields[i].value=money-dealmoney
711
+ console.log('未结总金额'+this.data.fields[i].value )
712
+ }
713
+ }
714
+ }
715
+ if(this.data.defname=="派单"){
716
+ for (let i = 0; i < this.data.fields.length; i++) {
717
+ if (this.data.fields[i].label === '未结总金额') {
718
+ this.data.fields[i].value=0
719
+ console.log("派单"+this.data.fields[i].value)
720
+ }
721
+ }
722
+ }
723
+
724
+
725
+ if (this.selectdata.defname ==='报价审核') {
726
+ let unaccount=0
727
+ for (let i = 0; i < this.data.fields.length; i++) {
728
+ if (this.data.fields[i].label === '费用合计') {
729
+ console.log("算一下未结算金额")
730
+ unaccount=this.data.fields[i].value
731
+ }
732
+ if (this.data.fields[i].label === '未结总金额') {
733
+ this.data.fields[i].value=unaccount
734
+ }
735
+
736
+ }
737
+ }
738
+
739
+
740
+ if (this.data.defname === '收费') {
741
+ let account_money=0
742
+ let total_money=0
743
+ let bill_money=0
744
+ for (let i = 0; i < this.data.fields.length; i++) {
745
+ if (this.data.fields[i].label === '合同金额') {
746
+ total_money=this.data.fields[i].value
747
+ }
748
+ if (this.data.fields[i].label === '累计缴费金额') {
749
+ account_money=this.data.fields[i].value
750
+ }
751
+ if (this.data.fields[i].label === '未结总金额') {
752
+ this.data.fields[i].value=total_money-account_money
753
+ }
754
+ if (this.data.fields[i].label === '累计开票金额') {
755
+ bill_money=this.data.fields[i].value
756
+ }
757
+ if (this.data.fields[i].label === '未开票金额') {
758
+ this.data.fields[i].value=total_money-bill_money
759
+
760
+ }
761
+ }
762
+ }
763
+ // 特殊处理
764
+ //施工环节 如果是个人报建需要提交表具信息
765
+ if (this.data.defname === '施工') {
766
+ for (let i = 0; i < this.data.fields.length; i++) {
767
+ if (this.data.fields[i].label === '气表品牌'
768
+ || this.data.fields[i].label === '气表型号'
769
+ || this.data.fields[i].label === '气表厂家') {
770
+ if (this.data.f_apply_type === '个人报建') {
771
+ this.data.fields[i].hidden = false
772
+ this.data.fields[i].required = true
773
+ }
774
+ }
775
+ }
776
+ }
777
+
778
+ // 特殊处理
779
+ //施工环节 如果是个人报建需要提交表具信息
780
+ if (this.data.defname === '安装通气') {
781
+ for (let i = 0; i < this.data.fields.length; i++) {
782
+ if (this.data.fields[i].label === '气表品牌'
783
+ || this.data.fields[i].label === '气表型号'
784
+ || this.data.fields[i].label === '气表厂家') {
785
+ this.data.fields[i].required = true
786
+ this.data.fields[i].hidden = false
787
+ if(this.data.f_work_type=='改管'){
788
+ this.data.fields[i].required = false
789
+ }
790
+
791
+ }
792
+ if(this.data.fields[i].label === '验收结果'){
793
+ this.data.fields[i].required = true
794
+ }
795
+
796
+ }
797
+ }
798
+ if (this.data.defname === '设计报价') {
799
+ for (let i = 0; i < this.data.fields.length; i++) {
800
+ if (this.data.fields[i].label === '气表品牌'
801
+ || this.data.fields[i].label === '气表型号') {
802
+ this.data.fields[i].required = true
803
+ this.data.fields[i].hidden = false
804
+ if(this.data.f_work_type=='改管'){
805
+ this.data.fields[i].required = false
806
+ }
807
+
808
+ }
809
+
810
+ }
811
+ }
812
+ if (this.data.defname === '现场勘查定价') {
813
+ for (let i = 0; i < this.data.fields.length; i++) {
814
+ if (this.data.fields[i].label === '勘查结果') {
815
+ this.data.fields[i].required = true
816
+ }
817
+ }
818
+ }
819
+ //通气环节可以调出施工环节的表信息来修改
820
+ if (this.data.defname === '通气') {
821
+ for (let i = 0; i < this.data.fields.length; i++) {
822
+ if (this.data.fields[i].label === '气表品牌'
823
+ || this.data.fields[i].label === '气表型号'
824
+ || this.data.fields[i].label === '气表厂家') {
825
+ if (this.data.fields[i].value != null && this.data.fields[i].value != '') {
826
+ this.data.fields[i].hidden = false
827
+ this.data.fields[i].required = true
828
+ }
829
+ }
830
+ }
831
+ }
832
+ let array = this.$login.f.rolesnames.split(',')
833
+ if ((this.data.fields[i].label === '技术人员' || array.includes("工程技术部负责人"))&&(this.selectdata.defname=='勘察初设'||this.selectdata.defname=='任务分配'||this.selectdata.defname=='合同信息')) { //{"source":"this.getParentByType($organization$).getChildByName($技术人员$).getChildren()","userid":"296851"}
834
+ let http = new HttpResetClass()
835
+ let res = await http.load('POST', 'rs/search', `{"source":"this.getParentByType($organization$).getChildByName($工程技术部门$).getChildByName($技术人员$).getChildren()","userid":"${this.$login.f.id}"}`, {
836
+ resolveMsg: null,
837
+ rejectMsg:null // 'search查询技术人员失败,请联系管理员配置技术人员角色'
838
+ })
839
+ // console.log("search查询部门下所有人:", JSON.stringify(res.data))
840
+ this.technologist = res.data
841
+ if (this.technologist) {
842
+ let array = []
843
+ for (let k = 0; k < this.technologist.length; k++) {
844
+ array.push({
845
+ label: this.technologist[k].name,
846
+ value: {name: this.technologist[k].name, id: this.technologist[k].id}
847
+ })
848
+ }
849
+ if (!array.includes("工程技术部负责人")&&this.data.fields[i].label === '技术人员') {
850
+ this.data.fields[i].options = array
851
+ }
852
+
853
+ }
854
+ }
855
+ if (this.data.fields[i].label == '县/区') {
856
+ let area = await this.$resetpost('rs/sql/singleTable', {
857
+ data: {
858
+ // items: 'f_bill_url,f_url_code',
859
+ tablename: 't_pcd',
860
+ condition: `f_filialeids = '${this.$login.f.f_orgids}'`
861
+ }
862
+ }, {resolveMsg: null, rejectMsg: null})
863
+ let rs = []
864
+ for (let i = 0; i < area.data.length; i++) {
865
+ if (area.data[i].f_pcd.indexOf('湖北省')!=-1){
866
+ area.data[i].f_pcd = area.data[i].f_pcd.replace('湖北省','')
867
+ }
868
+ let temp = {
869
+ label: area.data[i].f_pcd,
870
+ value: area.data[i].f_pcd
871
+ }
872
+ rs.push(temp)
873
+ }
874
+ this.data.fields[i].options = [{label: '全部', value: ''}, ...rs]
875
+ }
876
+ if (this.data.defname=='通气'&&this.data.fields[i].label == '小区名称') {
877
+ let res = await this.$resetpost('rs/sql/singleTable', {
878
+ data: {
879
+ tablename: 't_area',
880
+ condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_street='${this.data.f_street}'`
881
+ }
882
+ }, {resolveMsg: null, rejectMsg: null})
883
+ let cs = []
884
+ for (let i = 0; i < res.data.length; i++) {
885
+ let temp = {
886
+ label: res.data[i].f_residential_area,
887
+ value: res.data[i].f_residential_area
888
+ }
889
+ cs.push(temp)
890
+ }
891
+ this.data.fields[i].options = [{label: '全部', value: ''}, ...cs]
892
+ }
893
+ let gasbrand_id=''
894
+ if (this.data.fields[i].label == '气表品牌'||this.data.fields[i].label == '表具') {
895
+ let meterbrand = await this.$resetpost('rs/sql/singleTable', {
896
+ data: {
897
+ items: 'f_meter_brand',
898
+ tablename: 't_gasbrand',
899
+ condition: `f_filialeids = '${this.$login.f.f_orgids}'`
900
+ }
901
+ }, {resolveMsg: null, rejectMsg: null})
902
+ let rs = []
903
+ for (let i = 0; i < meterbrand.data.length; i++) {
904
+ let temp = {
905
+ label: meterbrand.data[i].f_meter_brand,
906
+ value: meterbrand.data[i].f_meter_brand
907
+ }
908
+ rs.push(temp)
909
+ }
910
+ this.data.fields[i].options = [{label: '全部', value: ''}, ...rs]
911
+ }
912
+ if (this.data.fields[i].label == '气表型号') {
913
+ this.data.fields[i].options = [];
914
+ }
915
+ if (this.data.fields[i].label == '气价名称') {
916
+ let meterbrand = await this.$resetpost('rs/sql/singleTable', {
917
+ data: {
918
+ items: 'f_price_name',
919
+ tablename: 't_stairprice',
920
+ condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_state= '有效' and getdate()>=f_perform_date and getdate()<=f_end_date `
921
+ }
922
+ }, {resolveMsg: null, rejectMsg: null})
923
+ let rs = []
924
+ for (let i = 0; i < meterbrand.data.length; i++) {
925
+ let temp = {
926
+ label: meterbrand.data[i].f_price_name,
927
+ value: meterbrand.data[i].f_price_name
928
+ }
929
+ rs.push(temp)
930
+ }
931
+ this.data.fields[i].options = [{label: '全部', value: ''}, ...rs]
932
+ }
933
+ if (this.data.fields[i].label == '合同类型') {
934
+ this.data.fields[i].value = '主合同'
935
+ }
936
+ if (this.data.fields[i].label == '合同业务办理人') {
937
+ if (this.selectdata.f_apply_kefu_employee) {
938
+ if (this.selectdata.f_apply_kefu_employee.startsWith("{") && this.selectdata.f_apply_kefu_employee.endsWith("}")) {
939
+ let temp = JSON.parse(this.selectdata.f_apply_kefu_employee)
940
+ this.data.fields[i].value = temp.name
941
+ } else {
942
+ this.data.fields[i].value = this.selectdata.f_apply_kefu_employee
943
+ }
944
+ } else {
945
+ if (this.selectdata.f_survey_name) {
946
+ if (this.selectdata.f_survey_name.startsWith("{") && this.selectdata.f_survey_name.endsWith("}")) {
947
+ let temp = JSON.parse(this.selectdata.f_survey_name)
948
+ this.data.fields[i].value = temp.name
949
+ } else {
950
+ this.data.fields[i].value = this.selectdata.f_survey_name
951
+ }
952
+ }
953
+ }
954
+ }
955
+ if (this.data.fields[i].label == '合同编号' && !this.selectdata[this.data.fields[i].field] && this.selectdata.defname == '合同审核') {
956
+ if (!this.$appdata.getSingleValue('所属公司编码')) {
957
+ this.$showMessage(`请先去参数管理设置: 所属公司编码`)
958
+ }
959
+ if (!this.$appdata.getSingleValue(this.data.fields[i].label)) {
960
+ this.$showMessage(`请先去参数管理设置: ${this.data.fields[i].label}`)
961
+ } else {
962
+ let http = new HttpResetClass()
963
+ //获取购货方信息
964
+ let data = {
965
+ tablename: 't_singlevalue',
966
+ condition: `name = '合同编号' and f_filialeids = '${this.$login.f.f_orgids}'`
967
+ }
968
+ let res = await http.load('POST','rs/sql/singleTable', {data: data}, {
969
+ resolveMsg: null,
970
+ rejectMsg: '获取合同编号失败'
971
+ }).then((res)=>{
972
+ let temp = res.data[0].value
973
+ this.contract = temp
974
+ while (temp.length < 4) {
975
+ temp = '0' + temp
976
+ }
977
+ let dt = new Date()
978
+ this.data.fields[i].value = this.$appdata.getSingleValue('所属公司编码') + dt.getFullYear() + ((dt.getMonth() + 1) < 10 ? '0' + (dt.getMonth() + 1) : dt.getMonth()) + temp
979
+ if(this.showview){
980
+ this.$refs.service_show.data.fields[i].value = this.$appdata.getSingleValue('所属公司编码') + dt.getFullYear() + ((dt.getMonth() + 1) < 10 ? '0' + (dt.getMonth() + 1) : dt.getMonth()) + temp
981
+ this.$refs.service_show.update()
982
+ }
983
+
984
+ })
985
+ // this.$refs.service_show.update()
986
+ }
987
+ }
988
+ if(this.data.defname=='通气'){
989
+ if (this.data.f_user_type == '非民用' && this.data.fields[i].label == '小区名称'){
990
+ this.data.fields[i].hidden = true
991
+ this.data.fields[i].required = false
992
+ this.data.fields[i+1].hidden = true
993
+ this.data.fields[i+1].required = false
994
+ this.data.fields[i+2].hidden = true
995
+ this.data.fields[i+2].required = false
996
+ }
997
+ if (this.data.f_work_type == '改管' && this.data.fields[i].label == '阀门井'){
998
+ this.data.fields[i].hidden = true
999
+ this.data.fields[i].required = false
1000
+ this.data.fields[i+1].hidden = true
1001
+ this.data.fields[i+1].required = false
1002
+ this.data.fields[i+2].hidden = true
1003
+ this.data.fields[i+2].required = false
1004
+ }
1005
+ if (this.data.f_work_type == '改管' && this.data.fields[i].label == '表具'){
1006
+ this.data.fields[i].hidden = true
1007
+ this.data.fields[i].required = false
1008
+ this.data.fields[i+1].hidden = true
1009
+ this.data.fields[i+1].required = false
1010
+ this.data.fields[i+2].hidden = true
1011
+ this.data.fields[i+2].required = false
1012
+ }
1013
+ }
1014
+ }
1015
+ // 初始化 buttons_fields
1016
+ //debugger
1017
+ for (let i = 0; i < this.data.buttons.length; i++) {
1018
+ if (this.data.buttons[i].button_fields) {
1019
+ for (let j = 0; j < this.data.buttons[i].button_fields.length; j++) {
1020
+ // 如果selectdata有这些key,则把selectdata的value赋值给data的value
1021
+ if (this.selectdata[this.data.buttons[i].button_fields[j].field]) {
1022
+ this.data.buttons[i].button_fields[j].value = this.selectdata[this.data.buttons[i].button_fields[j].field]
1023
+ }
1024
+ // 如果配置类型为select,优先从参数列表获取options
1025
+ if (this.data.buttons[i].button_fields[j].type === 'select' && this.$appdata.getParam(this.data.buttons[i].button_fields[j].label)) {
1026
+ this.data.buttons[i].button_fields[j].options = this.$appdata.getParam(this.data.buttons[i].button_fields[j].label).trim()
1027
+ }
1028
+ // 下发特殊配置
1029
+ if (this.data.buttons[i].button_name === '下发') {
1030
+ if (this.data.buttons[i].button_fields.length === 1) {
1031
+ // value初始化
1032
+ // if(this.department_search){
1033
+ if (this.selectdata[this.data.buttons[i].button_fields[0].field]) {
1034
+ for (let k = 0; k < this.department_search.length; k++) {
1035
+ // id转换为name
1036
+ if (Number(this.department_search[k].id) === Number(this.selectdata[this.data.buttons[i].button_fields[0].field])) {
1037
+ this.data.buttons[i].button_fields[0].value = {
1038
+ id: this.department_search[k].id,
1039
+ name: this.department_search[k].name
1040
+ }
1041
+ }
1042
+ }
1043
+ }
1044
+
1045
+ if (this.department_search) {
1046
+ let array = []
1047
+ for (let k = 0; k < this.department_search.length; k++) {
1048
+ array.push({
1049
+ label: this.department_search[k].name,
1050
+ value: {id: this.department_search[k].id, name: this.department_search[k].name}
1051
+ })
1052
+ }
1053
+ this.data.buttons[i].button_fields[0].options = array
1054
+ }
1055
+ let array = this.$login.f.rolesnames.split(',')
1056
+ if (this.selectdata.defname == '任务分配' && array.includes("工程技术部负责人")) {
1057
+ let array = []
1058
+ for (let k = 0; k < this.technologist.length; k++) {
1059
+ array.push({
1060
+ label: this.technologist[k].name,
1061
+ value: {id: this.technologist[k].id, name: this.technologist[k].name}
1062
+ })
1063
+ }
1064
+ this.data.buttons[i].button_fields[0].options = array
1065
+ }
1066
+ } else {
1067
+ this.$showMessage("下发按钮必须满足 当且仅当一个字段")
1068
+ }
1069
+ }
1070
+ }
1071
+ }
1072
+
1073
+ }
1074
+ var count =0;
1075
+ let money=0;
1076
+ let dealmoney=0;
1077
+ for (count = 0; count < this.data.fields.length; count++) {
1078
+ if (this.selectdata.defname.indexOf('派单')>=0) {
1079
+ if (this.data.fields[count].label === '合同总金额') {
1080
+ console.log('合同总金额===>'+this.data.fields[count].value )
1081
+ money=this.data.fields[count].value
1082
+ }
1083
+
1084
+ if (this.data.fields[count].label == '累计缴费金额') {
1085
+ dealmoney=this.data.fields[count].value
1086
+ console.log('累计缴费金额===>'+dealmoney )
1087
+ }
1088
+
1089
+ if (this.data.fields[count].label == '未结总金额') {
1090
+ let othermoney = money-dealmoney;
1091
+ console.log('jine'+othermoney)
1092
+ this.data.fields[count].value=money-dealmoney
1093
+ console.log('未结总金额'+this.data.fields[count].value )
1094
+ }
1095
+ }
1096
+ }
1097
+ //debugger
1098
+ // 消除双向绑定,避免子组件(显示层)数据更改,父组件(控制层)也更改
1099
+ let temp = JSON.parse(JSON.stringify(this.data))
1100
+ // let temp = this.data
1101
+ // 退回原因展示
1102
+ if (this.selectdata.f_back_reason) {
1103
+ temp['back_reason'] = this.selectdata.f_back_reason
1104
+ }
1105
+ this.show_data = temp
1106
+ console.log("====="+this.show_data)
1107
+ /**
1108
+ * 新增需求: 个人报建非民用流程中小区名称需选填
1109
+ */
1110
+ let j=0;
1111
+ if(this.show_data.defname=="现场勘查人员分配" && this.show_data.f_apply_type=="个人报建"){
1112
+
1113
+ for (j = 0; j < this.show_data.fields.length; j++) {
1114
+ if (this.show_data.fields[j].label == '小区名称') {
1115
+ this.show_data.fields[j].required=false
1116
+ }
1117
+ }
1118
+ }
1119
+ if (this.show_data.defname === '施工') {
1120
+ let http = new HttpResetClass()
1121
+ let data = {
1122
+ f_process_id: this.show_data.f_process_id,
1123
+ defname: this.show_data.defname
1124
+ }
1125
+ let res = await http.load('POST', 'rs/sql/getFileNames', {data:data},
1126
+ {resolveMsg: null, rejectMsg: null})
1127
+
1128
+ // for (let i = 0; i < res.length; i++){
1129
+ // this.data.f_project_material += res.data.fusetype + ','
1130
+ // }
1131
+ res.data.forEach(item =>{
1132
+ this.show_data.f_project_material += item.fusetype + ','
1133
+ })
1134
+ }
1135
+ // if (this.show_data.defname === '施工验收') {
1136
+ // let http = new HttpResetClass()
1137
+ // let data = {
1138
+ // f_process_id: this.show_data.f_process_id,
1139
+ // defname: this.show_data.defname
1140
+ // }
1141
+ // let res = await http.load('POST', 'rs/sql/getFileNames', {data:data},
1142
+ // {resolveMsg: null, rejectMsg: null})
1143
+ // this.show_data.f_iscomplete_information = ''
1144
+ // res.data.forEach(item =>{
1145
+ // this.show_data.f_iscomplete_information += item.fusetype + ','
1146
+ // })
1147
+ // for (j = 0; j < this.show_data.fields.length; j++) {
1148
+ // if (this.show_data.fields[j].label === '验收已上传文件') {
1149
+ // this.show_data.fields[j].value = this.show_data.f_iscomplete_information
1150
+ // }
1151
+ // }
1152
+ // }
1153
+ // 显示组件
1154
+ // this.showview = false
1155
+ // debugger
1156
+ this.$nextTick(()=>{
1157
+ this.showview = true
1158
+ })
1159
+ }
1160
+ }
1161
+ ,
1162
+ events: {
1163
+ 'get-cost'(val) {
1164
+ this.cost = val
1165
+
1166
+ this.initializtion()
1167
+ },
1168
+ 'checkboxSelectControl'(index,index2){
1169
+ console.log("chufa事件control");
1170
+ console.log('this.$refs.service_show.data.fields[index]==>:'+JSON.stringify(this.$refs.service_show.data.fields[index]));
1171
+ if(this.$refs.service_show.data.fields[index].label=="提交资料"){
1172
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1173
+
1174
+ if(this.$refs.service_show.data.fields[i].label=="用户提交资料"){
1175
+ //if(this.$refs.service_show.data.fields[index].value == ""){
1176
+ console.log("this.$refs.service_show.data.fields[index].items[index2].value==>"+JSON.stringify(this.$refs.service_show.data.fields[index].items[index2]))
1177
+ //增加和删除框中的内容
1178
+ if(this.$refs.service_show.data.fields[index].items[index2].value == false){
1179
+ this.$refs.service_show.data.fields[i].value+=this.$refs.service_show.data.fields[index].items[index2].label+" ";
1180
+ this.$refs.service_show.data.fields[index].items[index2].value=true;
1181
+ }else{
1182
+ let deleteValue = this.$refs.service_show.data.fields[index].items[index2].label;
1183
+ let values =this.$refs.service_show.data.fields[i].value;
1184
+ let result = values.split(" ").filter((item)=>{
1185
+ return item!=deleteValue;
1186
+ }).join(" ")
1187
+ console.log(result);
1188
+ this.$refs.service_show.data.fields[i].value =result;
1189
+ this.$refs.service_show.data.fields[index].items[index2].value=false;
1190
+ }
1191
+ //}
1192
+ }
1193
+ }
1194
+ }
1195
+ if(this.$refs.service_show.data.fields[index].label=="施工提交资料"){
1196
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1197
+
1198
+ if(this.$refs.service_show.data.fields[i].label=="施工已上传文件"){
1199
+ //增加和删除框中的内容
1200
+ if(this.$refs.service_show.data.fields[index].items[index2].value == false){
1201
+ this.$refs.service_show.data.fields[i].value+=this.$refs.service_show.data.fields[index].items[index2].label+" ";
1202
+ this.$refs.service_show.data.fields[index].items[index2].value=true;
1203
+ }else{
1204
+ let deleteValue = this.$refs.service_show.data.fields[index].items[index2].label;
1205
+ let values =this.$refs.service_show.data.fields[i].value;
1206
+ let result = values.split(" ").filter((item)=>{
1207
+ return item!=deleteValue;
1208
+ }).join(" ")
1209
+ this.$refs.service_show.data.fields[i].value =result;
1210
+ this.$refs.service_show.data.fields[index].items[index2].value=false;
1211
+ }
1212
+ //}
1213
+ }
1214
+ }
1215
+ }
1216
+ if(this.$refs.service_show.data.fields[index].label=="验收提交资料"){
1217
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1218
+
1219
+ if(this.$refs.service_show.data.fields[i].label=="验收已上传文件"){
1220
+ //增加和删除框中的内容
1221
+ if(this.$refs.service_show.data.fields[index].items[index2].value == false){
1222
+ this.$refs.service_show.data.fields[i].value+=this.$refs.service_show.data.fields[index].items[index2].label+" ";
1223
+ this.$refs.service_show.data.fields[index].items[index2].value=true;
1224
+ }else{
1225
+ let deleteValue = this.$refs.service_show.data.fields[index].items[index2].label;
1226
+ let values =this.$refs.service_show.data.fields[i].value;
1227
+ let result = values.split(" ").filter((item)=>{
1228
+ return item!=deleteValue;
1229
+ }).join(" ")
1230
+ this.$refs.service_show.data.fields[i].value =result;
1231
+ this.$refs.service_show.data.fields[index].items[index2].value=false;
1232
+ }
1233
+ //}
1234
+ }
1235
+ }
1236
+ }
1237
+ },
1238
+ 'get-number'(val) {
1239
+ this.number = val
1240
+
1241
+ this.initializtion()
1242
+ }
1243
+ ,
1244
+ 'get-pgd'(val) {
1245
+ this.pgd = val
1246
+ this.initializtion()
1247
+ }
1248
+ ,
1249
+ // 任意select选中时触发事件,关联性操作
1250
+ async 'select_cascade'(index) {
1251
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1252
+ if (this.$refs.service_show.data.fields[i].label === '工程盈利') {
1253
+ this.$refs.service_show.data.fields[i].value = c
1254
+ }
1255
+ }
1256
+
1257
+
1258
+ if (this.$refs.service_show.data.fields[index].label == '施工单位' ||
1259
+ this.$refs.service_show.data.fields[index].label == '检测单位' ||
1260
+ this.$refs.service_show.data.fields[index].label == '监理单位' ||
1261
+ this.$refs.service_show.data.fields[index].label == '土建单位' ||
1262
+ this.$refs.service_show.data.fields[index].label == '设计单位') {
1263
+ this.$refs.service_show.update()
1264
+ return
1265
+ }
1266
+ if (
1267
+ this.$refs.service_show.data.fields[index].label === '最终核算成本金额' ||
1268
+ this.$refs.service_show.data.fields[index].label === '合同总金额' ||
1269
+ this.$refs.service_show.data.fields[index].label === '工程盈利'
1270
+ ) {
1271
+
1272
+ var a = 0
1273
+ var b = 0
1274
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1275
+ // 控制设置级联
1276
+ // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
1277
+ // xxx xx xxx
1278
+ if (this.$refs.service_show.data.fields[i].label === '最终核算成本金额') {
1279
+ this.$refs.service_show.data.fields[i].value = (this.number + this.cost)
1280
+ a = this.$refs.service_show.data.fields[i].value
1281
+ }
1282
+
1283
+ if (this.$refs.service_show.data.fields[i].label === '合同总金额' && this.$refs.service_show.data.fields[i].value) {
1284
+ b = this.$refs.service_show.data.fields[i].value
1285
+ }
1286
+ }
1287
+ var c = b - a
1288
+ // 数据计算完毕得到工程结余
1289
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1290
+ if (this.$refs.service_show.data.fields[i].label === '工程盈利') {
1291
+ this.$refs.service_show.data.fields[i].value = c
1292
+ }
1293
+ }
1294
+ }
1295
+ //根据合同预算金额和累计缴费金额计算未结金额
1296
+ if (
1297
+ this.$refs.service_show.data.fields[index].label === '累计缴费金额' ||
1298
+ this.$refs.service_show.data.fields[index].label === '合同总金额') {
1299
+ let cumulativeMoney = 0
1300
+ let unaccountMoney = 0
1301
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1302
+
1303
+ if (this.$refs.service_show.data.fields[i].label === '合同总金额' && this.$refs.service_show.data.fields[i].value) {
1304
+ cumulativeMoney += parseInt(this.$refs.service_show.data.fields[i].value)
1305
+ }
1306
+ if (this.$refs.service_show.data.fields[i].label === '累计缴费金额' && this.$refs.service_show.data.fields[i].value) {
1307
+ unaccountMoney += parseInt(this.$refs.service_show.data.fields[i].value)
1308
+ }
1309
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1310
+ // if (this.$refs.service_show.data.fields[i].label === '未结总金额') {
1311
+ // //this.$refs.service_show.data.fields[i].value = cumulativeMoney - unaccountMoney
1312
+ // this.$refs.service_show.data.fields[i].value =0;
1313
+ //
1314
+ // }
1315
+ }
1316
+ }
1317
+ }
1318
+
1319
+
1320
+ //根据合同预算金额和累计开票金额计算未开票金额
1321
+
1322
+
1323
+ if (this.$refs.service_show.data.fields[index].label === '累计开票金额') {
1324
+ let residualInvoicing = this.$refs.service_show.data.fields[index].value
1325
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1326
+ if (this.$refs.service_show.data.fields[i].label === '未开票金额') {
1327
+ this.$refs.service_show.data.fields[i].value = Number(this.selectdata.f_contract_total_money) - Number(residualInvoicing)
1328
+ }
1329
+ }
1330
+ }
1331
+ //如果资料验收是否通过和工程验收是否通过为否的时候弹出原因填写框
1332
+ if (this.$refs.service_show.data.fields[index].label === '资料验收是否通过') {
1333
+ let res = this.$refs.service_show.data.fields[index].value
1334
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1335
+ if (this.$refs.service_show.data.fields[i].label === '资料验收不通过原因') {
1336
+ if (res === '否') {
1337
+ this.$refs.service_show.data.fields[i].hidden = false
1338
+ this.$refs.service_show.data.fields[i].required = true
1339
+ } else {
1340
+ this.$refs.service_show.data.fields[i].hidden = true
1341
+ this.$refs.service_show.data.fields[i].required = false
1342
+ }
1343
+ }
1344
+ }
1345
+ }
1346
+ if (this.$refs.service_show.data.fields[index].label === '工程验收是否通过') {
1347
+ let res = this.$refs.service_show.data.fields[index].value
1348
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1349
+ if (this.$refs.service_show.data.fields[i].label === '工程验收不通过原因') {
1350
+ if (res === '否') {
1351
+ this.$refs.service_show.data.fields[i].hidden = false
1352
+ this.$refs.service_show.data.fields[i].required = true
1353
+ } else {
1354
+ this.$refs.service_show.data.fields[i].hidden = true
1355
+ this.$refs.service_show.data.fields[i].required = false
1356
+ }
1357
+ }
1358
+ }
1359
+ }
1360
+ // }
1361
+
1362
+ //金额小写得到大写
1363
+ if (this.$refs.service_show.showadd_fields && this.$refs.service_show.showadd_fields.length > 0 && this.$refs.service_show.showadd_fields.fields[index].label === '收费金额') {
1364
+ if (this.$refs.service_show.showadd_fields[index].value || this.$refs.service_show.showadd_fields.fields[index].value) {
1365
+ var re = /^[0-9]+.?[0-9]*/
1366
+ let temp = this.$refs.service_show.showadd_fields[index].value
1367
+ if (temp == "" || isNaN(temp)) {
1368
+ this.$showMessage("请输入纯数字")
1369
+ this.$refs.service_show.showadd_fields[index].value = 0
1370
+ }
1371
+ }
1372
+ let temp = this.$refs.service_show.showadd_fields[index]
1373
+ let value = temp.value
1374
+ // let chargeMoney = this.$refs.service_show.showadd_fields[index].value
1375
+ for (let i = 0; i < this.$refs.service_show.showadd_fields.fields.length; i++) {
1376
+ if (this.$refs.service_show.showadd_fields.fields[i].label === '金额大写') {
1377
+ let te = {
1378
+ value: this.smalltoBIG(value)
1379
+ }
1380
+ this.$refs.service_show.showadd_fields[i] = te
1381
+ }
1382
+ }
1383
+ }
1384
+
1385
+
1386
+
1387
+ if (this.$refs.service_show.data.fields[index].label === '县/区') {
1388
+ let temp = this.$refs.service_show.data.fields[index].value
1389
+ console.log('==============================县/区:' + temp)
1390
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1391
+ // 控制设置级联
1392
+ // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
1393
+ if (this.$refs.service_show.data.fields[i].label === '街道名称') {
1394
+ this.$refs.service_show.data.fields[i].value = ''
1395
+ let street = await this.$resetpost('rs/sql/singleTable', {
1396
+ data: {
1397
+ tablename: 't_street',
1398
+ condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_pcd='${temp}'`
1399
+ }
1400
+ }, {resolveMsg: null, rejectMsg: null})
1401
+ let streetrs = []
1402
+ for (let i = 0; i < street.data.length; i++) {
1403
+ let temp = {
1404
+ label: street.data[i].f_street,
1405
+ value: street.data[i].f_street
1406
+ }
1407
+ streetrs.push(temp)
1408
+ }
1409
+
1410
+ this.$refs.service_show.data.fields[i].options = [{label: '全部', value: ''}, ...streetrs]
1411
+ //this.data.fields[i].options = [{label: '全部', value: ''}, ...streetrs]
1412
+ // console.log('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~option:', this.data.fields[i].options)
1413
+
1414
+ this.$refs.service_show.update()
1415
+ }
1416
+ }
1417
+ }
1418
+ if (this.$refs.service_show.data.fields[index].label === '气表品牌') {
1419
+ let temp = this.$refs.service_show.data.fields[index].value
1420
+ let meterbrand = await this.$resetpost('rs/sql/singleTable', {
1421
+ data: {
1422
+ //items: 'f_bill_url,f_url_code',
1423
+ tablename: 't_gasbrand',
1424
+ condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_meter_brand='${temp}'`
1425
+ }
1426
+ }, {resolveMsg: null, rejectMsg: null})
1427
+ console.log(meterbrand)
1428
+ console.log(meterbrand.data)
1429
+ let idstring = '('
1430
+ idstring += meterbrand.data[0].id
1431
+ console.log("idstring第一个" + idstring)
1432
+ if (meterbrand.data.length > 1) {
1433
+ for (let i = 1; i < meterbrand.data.length; i++) {
1434
+ idstring += ',' + meterbrand.data[i].id
1435
+ }
1436
+ }
1437
+ idstring += ')'
1438
+ console.log("idstring" + idstring)
1439
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1440
+
1441
+ if (this.$refs.service_show.data.fields[i].label === '气表型号') {
1442
+ this.$refs.service_show.data.fields[i].value = ''
1443
+
1444
+
1445
+ let gasbrand = await this.$resetpost('rs/sql/singleTable', {
1446
+ data: {
1447
+ tablename: 't_gasmodel',
1448
+ condition: ` f_gasbrand_id in ${idstring}`
1449
+ }
1450
+ }, {resolveMsg: null, rejectMsg: null})
1451
+ let brandstr = []
1452
+ for (let i = 0; i < gasbrand.data.length; i++) {
1453
+ let brand = {
1454
+ label: gasbrand.data[i].f_meter_style,
1455
+ value: gasbrand.data[i].f_meter_style
1456
+ }
1457
+ brandstr.push(brand)
1458
+ }
1459
+
1460
+ this.$refs.service_show.data.fields[i].options = [{label: '全部', value: ''}, ...brandstr]
1461
+ //this.data.fields[i].options = [{label: '全部', value: ''}, ...streetrs]
1462
+ // console.log('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~option:', this.data.fields[i].options)
1463
+
1464
+ this.$refs.service_show.update()
1465
+ }
1466
+ }
1467
+ }
1468
+
1469
+
1470
+ if (this.$refs.service_show.data.fields[index].label === '气表型号') {
1471
+ let meterstyle= this.$refs.service_show.data.fields[index].value
1472
+ let meterbrand = ''
1473
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1474
+ if (this.$refs.service_show.data.fields[i].label === '气表品牌') {
1475
+ meterbrand = this.$refs.service_show.data.fields[i].value
1476
+ }}
1477
+
1478
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1479
+
1480
+ if (this.$refs.service_show.data.fields[i].label === '别名') {
1481
+ console.log("获取别名")
1482
+ this.$refs.service_show.data.fields[i].value = ''
1483
+
1484
+ let meterbrandalias = await this.$resetpost('rs/sql/getMeterBrand', {
1485
+ data: {
1486
+ condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_meter_brand='${meterbrand}' and f_meter_style='${meterstyle}'`
1487
+ }
1488
+ }, {resolveMsg: null, rejectMsg: null})
1489
+
1490
+ let alias = []
1491
+ for (let i = 0; i < meterbrandalias.data.length; i++) {
1492
+ let brand = {
1493
+ label: meterbrandalias.data[i].f_alias,
1494
+ value: meterbrandalias.data[i].f_alias
1495
+ }
1496
+ alias.push(brand)
1497
+ }
1498
+
1499
+ this.$refs.service_show.data.fields[i].options = [{label: '全部', value: ''}, ...alias]
1500
+ //this.data.fields[i].options = [{label: '全部', value: ''}, ...streetrs]
1501
+ // console.log('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~option:', this.data.fields[i].options)
1502
+
1503
+ this.$refs.service_show.update()
1504
+
1505
+ }
1506
+ }
1507
+
1508
+ }
1509
+
1510
+
1511
+ if (this.$refs.service_show.data.fields[index].label === '证件类型') {
1512
+ let temp = this.$refs.service_show.data.fields[index].value
1513
+ console.log('==============================证件类型:' + temp)
1514
+ if (temp === '身份证') {
1515
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1516
+ if (this.$refs.service_show.data.fields[i].label === '证件号码') {
1517
+ this.$refs.service_show.data.fields[i].required = true
1518
+ }
1519
+ }
1520
+ } else {
1521
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1522
+ if (this.$refs.service_show.data.fields[i].label === '证件号码') {
1523
+ this.$refs.service_show.data.fields[i].required = false
1524
+ }
1525
+ }
1526
+ }
1527
+ }
1528
+
1529
+ if (this.$refs.service_show.data.fields[index].label === '是否设计出图') {
1530
+ let temp = this.$refs.service_show.data.fields[index].value
1531
+
1532
+ if (temp === '') {
1533
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1534
+ if (this.$refs.service_show.data.fields[i].label === '设计派工日期' ||
1535
+ this.$refs.service_show.data.fields[i].label === '设计人员'
1536
+ ) {
1537
+ this.$refs.service_show.data.fields[i].required = true
1538
+ }
1539
+ }
1540
+ } else {
1541
+ console.log("不设计出图,进入else")
1542
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1543
+ if (this.$refs.service_show.data.fields[i].label === '设计派工日期' || this.$refs.service_show.data.fields[i].label === '设计人员') {
1544
+
1545
+ this.$refs.service_show.data.fields[i].required = false
1546
+ }
1547
+ }
1548
+ }
1549
+ }
1550
+
1551
+ if (this.$refs.service_show.data.fields[index].label === '派工单号') {
1552
+ this.$refs.service_show.data.fields[index].value = this.pgd
1553
+ }
1554
+
1555
+
1556
+ if (this.$refs.service_show.data.fields[index].label === '街道名称') {
1557
+ let temp = this.$refs.service_show.data.fields[index].value
1558
+ console.log('=============================街道:' + temp)
1559
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1560
+ // 控制设置级联
1561
+ // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
1562
+ if (this.$refs.service_show.data.fields[i].label === '小区名称') {
1563
+ this.$refs.service_show.data.fields[i].value = ''
1564
+
1565
+ let area = await this.$resetpost('rs/sql/singleTable', {
1566
+ data: {
1567
+ tablename: 't_area',
1568
+ condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_street='${temp}'`
1569
+ }
1570
+ }, {resolveMsg: null, rejectMsg: null})
1571
+ let arears = []
1572
+ this.areaall=area.data;
1573
+ for (let i = 0; i < area.data.length; i++) {
1574
+ let temp = {
1575
+ label: area.data[i].f_residential_area,
1576
+ value: area.data[i].f_residential_area
1577
+ }
1578
+ arears.push(temp)
1579
+ }
1580
+ this.$refs.service_show.data.fields[i].options = [{label: '全部', value: ''}, ...arears]
1581
+ //this.data.fields[i].options = [{label: '全部', value: ''}, ...streetrs]
1582
+ console.log('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~option:', this.$refs.service_show.data.fields[i].options)
1583
+
1584
+ this.$refs.service_show.update()
1585
+
1586
+ }
1587
+ }
1588
+ }
1589
+
1590
+ if(this.$refs.service_show.data.fields[index].label === '小区名称'){
1591
+ for (let i = 0; i < this.areaall.length; i++) {
1592
+ console.log("aaaaaaaaaaaa")
1593
+ if(this.areaall[i].f_residential_area== this.$refs.service_show.data.fields[index].value){
1594
+ console.log("abbbbbbbbb")
1595
+ for (let j = 0; j < this.$refs.service_show.data.fields.length; j++) {
1596
+ if(this.$refs.service_show.data.fields[j].label === '小区地址'){
1597
+ console.log(this.areaall[i].f_area_address)
1598
+ this.$refs.service_show.data.fields[j].value=this.areaall[i].f_area_address
1599
+ }
1600
+ }
1601
+ }
1602
+ }
1603
+ }
1604
+ //控制尾款
1605
+ if (
1606
+ this.$refs.service_show.data.fields[index].label === '合同金额' ||
1607
+ this.$refs.service_show.data.fields[index].label === '首付' ||
1608
+ this.$refs.service_show.data.fields[index].label === '进度款' ||
1609
+ this.$refs.service_show.data.fields[index].label === '尾款'
1610
+ ) {
1611
+ console.log('即将计算合同金额')
1612
+ var cash = 0
1613
+ var downpayments = 0
1614
+ var tailmoney = 0
1615
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1616
+ // 控制设置级联
1617
+ // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
1618
+ // xxx xx xxx
1619
+ if (this.$refs.service_show.data.fields[i].label === '合同金额' && this.$refs.service_show.data.fields[i].value) {
1620
+ cash = this.$refs.service_show.data.fields[i].value
1621
+ }
1622
+ if (this.$refs.service_show.data.fields[i].label === '首付' && this.$refs.service_show.data.fields[i].value) {
1623
+ downpayments = this.$refs.service_show.data.fields[i].value
1624
+ }
1625
+ if (this.$refs.service_show.data.fields[i].label === '进度款' && this.$refs.service_show.data.fields[i].value) {
1626
+ tailmoney = this.$refs.service_show.data.fields[i].value
1627
+ }
1628
+ }
1629
+ var a = cash - downpayments
1630
+ // 数据计算完毕得到尾款
1631
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1632
+ if (this.$refs.service_show.data.fields[i].label === '尾款') {
1633
+ if (cash === downpayments) {
1634
+ this.$refs.service_show.data.fields[i].value = 0
1635
+ } else {
1636
+ this.$refs.service_show.data.fields[i].value = (cash - downpayments - tailmoney)
1637
+ console.log('修改fields[i].value后的值=>' + this.$refs.service_show.data.fields[i].value)
1638
+ }
1639
+ }
1640
+ if (this.$refs.service_show.data.fields[i].label === '首付') {
1641
+ if (a < 0) {
1642
+ this.$showMessage("首付款数额过大")
1643
+ downpayments = 0
1644
+ this.$refs.service_show.data.fields[i].value = 0
1645
+ }
1646
+ }
1647
+
1648
+ if (this.$refs.service_show.data.fields[i].label === '进度款') {
1649
+
1650
+ if (cash === downpayments) {
1651
+ tailmoney = 0
1652
+ this.$refs.service_show.data.fields[i].value = 0
1653
+ this.$refs.service_show.data.fields[i].readonly = true
1654
+ } else {
1655
+ this.$refs.service_show.data.fields[i].readonly = false
1656
+ tailmoney = this.$refs.service_show.data.fields[i].value
1657
+ }
1658
+ if (tailmoney > a) {
1659
+ this.$showMessage("进度款数额过大")
1660
+ tailmoney = 0
1661
+ this.$refs.service_show.data.fields[i].value = 0
1662
+ }
1663
+ }
1664
+ }
1665
+ }
1666
+
1667
+
1668
+ // 合成地址
1669
+ if (
1670
+ this.$refs.service_show.data.fields[index].label === '县/区' ||
1671
+ this.$refs.service_show.data.fields[index].label === '街道名称' ||
1672
+ this.$refs.service_show.data.fields[index].label === '小区名称' ||
1673
+ this.$refs.service_show.data.fields[index].label === '楼号' ||
1674
+ this.$refs.service_show.data.fields[index].label === '单元号' ||
1675
+ this.$refs.service_show.data.fields[index].label === '楼层' ||
1676
+ this.$refs.service_show.data.fields[index].label === '门牌号'
1677
+ ) {
1678
+ console.log('即将合成地址')
1679
+ var address = ''
1680
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1681
+ // 控制设置级联
1682
+ // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
1683
+ // xxx xx xxx
1684
+ if (this.$refs.service_show.data.fields[i].label === '县/区' && this.$refs.service_show.data.fields[i].value) {
1685
+ address += this.$refs.service_show.data.fields[i].value
1686
+ }
1687
+ if (this.$refs.service_show.data.fields[i].label === '街道名称' && this.$refs.service_show.data.fields[i].value) {
1688
+ address += this.$refs.service_show.data.fields[i].value
1689
+ }
1690
+ if (this.$refs.service_show.data.fields[i].label === '小区名称' && this.$refs.service_show.data.fields[i].value) {
1691
+ address += this.$refs.service_show.data.fields[i].value
1692
+ }
1693
+ if (this.$refs.service_show.data.fields[i].label === '楼号' && this.$refs.service_show.data.fields[i].value) {
1694
+ address += this.$refs.service_show.data.fields[i].value
1695
+ }
1696
+ /* if (this.$refs.service_show.data.fields[i].label === '楼号' && this.$refs.service_show.data.fields[i].value) {
1697
+ address += ''
1698
+ } */
1699
+ if (this.$refs.service_show.data.fields[i].label === '单元号' && this.$refs.service_show.data.fields[i].value) {
1700
+ address += '-' +this.$refs.service_show.data.fields[i].value
1701
+ }
1702
+ /* if (this.$refs.service_show.data.fields[i].label === '单元号' && this.$refs.service_show.data.fields[i].value) {
1703
+ address += '单元'
1704
+ } */
1705
+ if (this.$refs.service_show.data.fields[i].label === '楼层' && this.$refs.service_show.data.fields[i].value) {
1706
+ address += '-' +this.$refs.service_show.data.fields[i].value
1707
+ }
1708
+ /* if (this.$refs.service_show.data.fields[i].label === '楼层' && this.$refs.service_show.data.fields[i].value) {
1709
+ address += ''
1710
+ } */
1711
+ if (this.$refs.service_show.data.fields[i].label === '门牌号' && this.$refs.service_show.data.fields[i].value) {
1712
+ address += '-' +this.$refs.service_show.data.fields[i].value
1713
+ }
1714
+ /* if (this.$refs.service_show.data.fields[i].label === '门牌号' && this.$refs.service_show.data.fields[i].value) {
1715
+ address += '室'
1716
+ } */
1717
+
1718
+ }
1719
+ console.log('获取到的address=>' + address)
1720
+ // 数据获取完毕时放入地址text
1721
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1722
+ if (this.$refs.service_show.data.fields[i].label === '地址' || this.$refs.service_show.data.fields[i].label === '报装地址') {
1723
+ this.$refs.service_show.data.fields[i].value = address
1724
+ console.log('修改fields[i].value后的值=>' + this.$refs.service_show.data.fields[i].value)
1725
+ }
1726
+ }
1727
+ }
1728
+ // 开户费+材料费+人工费+设备安装费=合计
1729
+ if (
1730
+ this.$refs.service_show.data.fields[index].label === '工程安装费' ||
1731
+ this.$refs.service_show.data.fields[index].label === '材料费' ||
1732
+ this.$refs.service_show.data.fields[index].label === '人工费'
1733
+ ) {
1734
+ console.log('即将合成价格')
1735
+ let a1 = 0
1736
+ let b1 = 0
1737
+ let c1 = 0
1738
+ let fee = 0
1739
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1740
+ // 控制设置级联
1741
+ // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
1742
+ // xxx xx xxx
1743
+ if (this.$refs.service_show.data.fields[i].label === '工程安装费' && this.$refs.service_show.data.fields[i].value) {
1744
+ a1 = this.$refs.service_show.data.fields[i].value
1745
+ }
1746
+ if (this.$refs.service_show.data.fields[i].label === '材料费' && this.$refs.service_show.data.fields[i].value) {
1747
+ b1= this.$refs.service_show.data.fields[i].value
1748
+ }
1749
+ if (this.$refs.service_show.data.fields[i].label === '人工费' && this.$refs.service_show.data.fields[i].value) {
1750
+ c1 = this.$refs.service_show.data.fields[i].value
1751
+ }
1752
+ fee=parseFloat(parseFloat(a1) + parseFloat(b1)+parseFloat(c1)).toFixed(2)
1753
+ // 数据获取完毕时放入地址text
1754
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1755
+ if (this.$refs.service_show.data.fields[i].label === '费用合计'||this.$refs.service_show.data.fields[i].label === '未结总金额') {
1756
+ this.$refs.service_show.data.fields[i].value =fee
1757
+ console.log('修改fields[i].value后的值=>' + this.$refs.service_show.data.fields[i].value)
1758
+ }
1759
+ }
1760
+ }
1761
+ }
1762
+ if (this.$refs.service_show.data.fields[index].label == '用户类型'){
1763
+ if(this.$refs.service_show.data.fields[index].value == '非民用'){
1764
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1765
+ if (this.$refs.service_show.data.fields[i].label === '小区名称') {
1766
+ this.$refs.service_show.data.fields[i].required=false;
1767
+ }
1768
+ if (this.$refs.service_show.data.fields[i].label === '地址') {
1769
+ this.$refs.service_show.data.fields[i].readonly=false;
1770
+ this.$refs.service_show.data.fields[i].disabled=false;
1771
+ }
1772
+ }
1773
+ }else{
1774
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1775
+ if (this.$refs.service_show.data.fields[i].label === '小区名称') {
1776
+ this.$refs.service_show.data.fields[i].required=true;
1777
+ }
1778
+ }
1779
+ }
1780
+ }
1781
+
1782
+ if (this.$refs.service_show.data.fields[index].label === '施工是否完成') {
1783
+ let temp = this.$refs.service_show.data.fields[index].value
1784
+ console.log('==============================施工是否完成:' + temp)
1785
+ if (temp === '是') {
1786
+ let f_project_material = ''
1787
+ if (this.$refs.service_show.data.defname === '施工') {
1788
+ let http = new HttpResetClass()
1789
+ let data = {
1790
+ f_process_id: this.$refs.service_show.data.f_process_id,
1791
+ defname: this.$refs.service_show.data.defname
1792
+ }
1793
+ let res = await http.load('POST', 'rs/sql/getFileNames', {data:data},
1794
+ {resolveMsg: null, rejectMsg: null})
1795
+ res.data.forEach(item =>{
1796
+ f_project_material += item.fusetype + ','
1797
+ })
1798
+ }
1799
+
1800
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1801
+ if (this.$refs.service_show.data.fields[i].label === '施工已上传文件') {
1802
+ this.$refs.service_show.data.fields[i].value = f_project_material
1803
+ }
1804
+ }
1805
+ }
1806
+ }
1807
+
1808
+ if (this.$refs.service_show.data.fields[index].label === '验收是否完成') {
1809
+ let temp = this.$refs.service_show.data.fields[index].value
1810
+ console.log('==============================验收是否完成:' + temp)
1811
+ if (temp === '是') {
1812
+ let f_iscomplete_information = ''
1813
+ if (this.$refs.service_show.data.defname === '施工验收') {
1814
+ let http = new HttpResetClass()
1815
+ let data = {
1816
+ f_process_id: this.$refs.service_show.data.f_process_id,
1817
+ defname: this.$refs.service_show.data.defname
1818
+ }
1819
+ let res = await http.load('POST', 'rs/sql/getFileNames', {data:data},
1820
+ {resolveMsg: null, rejectMsg: null})
1821
+ res.data.forEach(item =>{
1822
+ f_iscomplete_information += item.fusetype + ','
1823
+ })
1824
+ }
1825
+
1826
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
1827
+ if (this.$refs.service_show.data.fields[i].label === '验收已上传文件') {
1828
+ this.$refs.service_show.data.fields[i].value = f_iscomplete_information
1829
+ }
1830
+ }
1831
+ }
1832
+ }
1833
+
1834
+
1835
+ },
1836
+ // onetomany模态框监听事件
1837
+ async 'select_cascade_modal'(i,j){
1838
+ if(this.data.onetomany[i].tables[0]=='t_apply_construct_balance'){
1839
+ if(this.data.onetomany[i].fields[j].label == '第三施工方'){
1840
+ for(let k =0;k<this.data.onetomany[i].fields.length;k++){
1841
+
1842
+ if(this.data.onetomany[i].fields[k].label.includes('当前累计结算比例')){
1843
+ let sum = 0
1844
+ for(let p =0;p<this.$refs.service_show.model.rows[i].length;p++){
1845
+ if(this.$refs.service_show.model.rows[i][p].f_construct_company == this.$refs.service_show.showadd_fields.fields[j].value){
1846
+ sum+=Number(this.$refs.service_show.showadd_fields.fields[k-2].value)
1847
+ sum+=Number(this.$refs.service_show.model.rows[i][p].f_balance_scale)
1848
+ }
1849
+ }
1850
+ if(this.$refs.service_show.model.rows[i].length==0){
1851
+ sum = Number(this.$refs.service_show.showadd_fields.fields[k-2].value)
1852
+ }
1853
+ this.$refs.service_show.update_showadd_fields_value(k,sum)
1854
+ }
1855
+ }
1856
+ }
1857
+ }
1858
+ },
1859
+ async 'onetomanyevent'(datas) {
1860
+ // console.log(`onetomany=======>${JSON.stringify(datas)}`)
1861
+
1862
+ for (let i = 0; i < datas.rows.length; i++) {
1863
+ datas.rows[i]['f_process_id'] = this.selectdata.f_process_id
1864
+ datas.rows[i]['f_apply_num'] = this.selectdata.f_apply_num
1865
+ datas.rows[i]['f_filiale'] = this.$login.f.f_fengongsi
1866
+ datas.rows[i]['f_parentname'] = this.$login.f.f_parentname
1867
+ datas.rows[i]['f_operator'] = this.$login.f.name
1868
+ }
1869
+ let http = new HttpResetClass()
1870
+ await http.load('POST', 'rs/logic/saveentity', datas, {resolveMsg: null, rejectMsg: 'search查询部门下所有人失败'})
1871
+ }
1872
+ ,
1873
+ // 获取view层button事件/
1874
+ async 'button'(model) {
1875
+ console.log("button事件接收参数:", model)
1876
+ if (this.data.defname==='踏勘'||this.data.defname==='施工'||this.data.defname==='施工验收'){
1877
+ if (model.button.button_name === '终止'){
1878
+ this.stop_show=true
1879
+ return
1880
+ }
1881
+ }
1882
+ /* if (this.data.defname === '通气转单'){
1883
+ if (model.button.button_name === '散户报装'){
1884
+ this.addactive('报装申请')
1885
+ }
1886
+ if (model.button.button_name === '集体报装'){
1887
+ this.addactive('集体报装申请')
1888
+ }
1889
+ setTimeout(() => {
1890
+
1891
+ }, 200)
1892
+ }*/
1893
+
1894
+ // 点击重置按钮就重置数据
1895
+ if (model.button.button_name === '重置') {
1896
+ this.refurbish()
1897
+ return
1898
+ }
1899
+ if (model.button.button_name === '打印回单') {
1900
+ this.printReceipt(model)
1901
+ return
1902
+ }
1903
+ var operate = ''
1904
+ // 判断当前按钮是否为特殊业务,即子流程提交或者分发
1905
+ if (model.button.button_name === '提交' && model.button.button_event && model.button.button_event === '子流程提交') {
1906
+ operate = '子流程提交'
1907
+ }
1908
+ if (model.button.button_name === '提交' && model.button.button_event && model.button.button_event === '合同信息') {
1909
+ model.f_budget_money = model.f_contract_money
1910
+ //未结算总金额=合计
1911
+ model.f_unaccounts_money = model.f_total_cost
1912
+ model.f_cumulative_money = 0
1913
+ model.f_cumulative_invoicing = 0
1914
+ model.f_additional_payment = 0
1915
+ model.f_residual_invoicing = model.f_contract_money
1916
+ }
1917
+ if (model.button.button_name === '下发') {
1918
+ if (model.button && model.button.button_event === '分发') {
1919
+ operate = '分发'
1920
+ }
1921
+ let array = this.$login.f.rolesnames.split(',')
1922
+ if (this.selectdata.defname == '任务分配' && array.includes("工程技术部负责人")) {
1923
+ model.f_survey_name = model.button.button_fields.f_apply_kefu_employee
1924
+ }
1925
+ }
1926
+
1927
+ if (model.button.button_name == '提交' && model.button.button_person && model.button.button_person.button_event === '获取之前被下发人' && model.button.button_person.button_person_field) {
1928
+ model.button.button_name = '下发'
1929
+ model.button.button_fields = {}
1930
+ console.log(model.button.button_person.button_person_field)
1931
+ console.log(this.selectdata[model.button.button_person.button_person_field])
1932
+ console.log(this.selectdata)
1933
+ if(this.selectdata[model.button.button_person.button_person_field].startsWith('{')){
1934
+ let temp= JSON.parse(this.selectdata[model.button.button_person.button_person_field])
1935
+ model.button.button_fields[model.button.button_person.button_person_field] = temp.id
1936
+ }else{
1937
+ model.button.button_fields[model.button.button_person.button_person_field] = this.selectdata[model.button.button_person.button_person_field]
1938
+ }
1939
+
1940
+ }
1941
+ if (model.button.button_name === '提交') {
1942
+ // for (let i = 0; i < this.show_data.fields.length; i++) {
1943
+ // if (this.show_data.fields[i].label === '收费项目') {
1944
+ // let yuanXiang = this.show_data.fields[i].value
1945
+ // if (yuanXiang != '' && yuanXiang != null) {
1946
+ // for (let i = 0; i < yuanXiang.length; i++) {
1947
+ // this.xia += yuanXiang[i] + '-'
1948
+ // }
1949
+ // let idx = this.xia.lastIndexOf("-");
1950
+ // this.xiangmu = this.xia.substring(0,idx)
1951
+ // }
1952
+ // model.f_charge_items = this.xiangmu
1953
+ // }
1954
+ // }
1955
+ var flag = false
1956
+ if (this.data.defname == '合同审核') {
1957
+ flag = true
1958
+ let http = new HttpResetClass()
1959
+ let data = {
1960
+ tablename: 't_singlevalue',
1961
+ condition: `name = '合同编号' and f_filialeids = '${this.$login.f.f_orgids}'`
1962
+ }
1963
+ let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
1964
+ resolveMsg: null,
1965
+ rejectMsg: "获取合同编号失败"
1966
+ })
1967
+ if (this.contract != res.data[0].value && !this.selectdata.f_contract_number) {
1968
+ this.$showMessage("合同编号已经被使用,请按F5刷新页面后重新登记")
1969
+ return
1970
+ }
1971
+ }
1972
+
1973
+ }
1974
+ console.log('本次点击button执行的操作是=>' + operate)
1975
+ model = Object.assign({}, this.selectdata, model)
1976
+ model.f_sub_state = '未完工'
1977
+ if (this.data.defname === '通气转单' && model.button.button_name === '提交'){
1978
+ model.f_sub_state = '完工'
1979
+ }
1980
+ let http = new HttpResetClass()
1981
+ var url
1982
+ var requestData = {
1983
+ tables: this.data.tables,
1984
+ start_activity: this.$workflow_vue.start_activity,
1985
+ model: model,
1986
+ loginUser: this.$login.f
1987
+ }
1988
+ if (operate != '') {
1989
+ // 特殊操作走特殊logic业务处理
1990
+ url = 'rs/logic/SubprocessService'
1991
+ requestData = {
1992
+ tables: this.data.tables, model: model
1993
+ }
1994
+ } else if (model.button.button_name === '提交' && model.button.button_event && model.button.button_event === '分支流程异步合并处理') {
1995
+ url = 'rs/logic/branchsyncprocess'
1996
+ requestData = {
1997
+ tables: this.data.tables, model: model
1998
+ }
1999
+ } else {
2000
+ if(requestData.model.f_stair_price_name === ''|| requestData.model.f_stair_price_name === null|| requestData.model.f_stair_price_name === undefined){
2001
+ requestData.model.f_stair_price_name = this.selectdata.f_stair_price_name
2002
+ }
2003
+ console.log("流程下一步",requestData.model.f_stair_price_name)
2004
+ // 下发,提交,保存,退回通用业务后台处理logic
2005
+ url = 'rs/logic/ApplyProductService'
2006
+ requestData = {
2007
+ tables: this.data.tables, model: model
2008
+ }
2009
+ }
2010
+ if (this.data.defname==='踏勘'&&(model.button.button_name === '提交'||model.button.button_name === '通气')){
2011
+ this.apply_show=true
2012
+ this.models2 = model
2013
+ return
2014
+ }
2015
+
2016
+ requestData.start_activity = this.$workflow_vue.start_activity
2017
+ requestData.loginUser = this.$login.f
2018
+ requestData.workflow_xmlfilename = this.$workflow_vue.workflow_xmlfilename
2019
+
2020
+ console.log('即将发送请求url=>' + url + ',参数=>' + JSON.stringify(requestData))
2021
+ let res = await http.load('POST', url, {data: requestData}, {resolveMsg: null, rejectMsg: '数据保存失败'})
2022
+ console.log("service处理完成返回数据:", JSON.stringify(res.data))
2023
+ if(res.data.msg=="地址重复,请修改后重新提交"){
2024
+ this.$showMessage(res.data.msg)
2025
+ }
2026
+ if (res.data.code == 200) {
2027
+ // flag 为合同编号更新标志
2028
+ if (flag) {
2029
+ let http = new HttpResetClass()
2030
+ let data = {
2031
+ tablename: 't_singlevalue',
2032
+ condition: `name = '合同编号' and f_filialeids = '${this.$login.f.f_orgids}'`,
2033
+ value: (Number(this.contract) + 1) + ''
2034
+ }
2035
+ await http.load('POST', 'rs/logic/updatesinglevalue', {data: data}, {
2036
+ resolveMsg: null,
2037
+ rejectMsg: "获取合同编号更新失败"
2038
+ })
2039
+ }
2040
+ this.showview = false
2041
+ // 特殊处理
2042
+ this.special(model)
2043
+ this.$dispatch('close')
2044
+ this.initializtion()
2045
+ } else {
2046
+ if (res.data.msg) {
2047
+ this.$showMessage(res.data.msg)
2048
+ }
2049
+ }
2050
+ /*
2051
+ if(this.selectdata.defname =='报装申请'|| this.selectdata.defname =='现场勘查'|| this.selectdata.defname =='验收'||this.selectdata.defname =='集体报装申请'||this.selectdata.defname =='现场勘查人员分配'||this.selectdata.defname =='安装通气' ){
2052
+ console.log("defname======================================",this.selectdata.defname)
2053
+ let http1 = new HttpResetClass();
2054
+ let sendtime = null;
2055
+ let finishtime = null;
2056
+ let f_department = null;
2057
+ let f_process_id = null;
2058
+ let data1 = {
2059
+ f_process_id: this.selectdata.f_process_id,
2060
+ defname : this.selectdata.defname
2061
+ }
2062
+ console.log("res1=======================================",data1)
2063
+ await http1.load('POST', 'rs/logic/getTime', {data:data1}).then((res) => {
2064
+ console.log("objk===>",res.data)
2065
+ sendtime=res.data.getUserid[0].sendtime;
2066
+ finishtime=res.data.getUserid[0].finishtime;
2067
+ f_department=res.data.resdata[0].name;
2068
+ console.log("objk===>")
2069
+ })
2070
+
2071
+ let data2 = {
2072
+ department:f_department,
2073
+ resourceCatalog:this.selectdata.defname,
2074
+ sqzt:model.f_user_name,
2075
+ code:model.f_idnumber,
2076
+ sqsj:sendtime,
2077
+ slsj:sendtime,
2078
+ bjsj:finishtime,
2079
+ blcb:0,
2080
+ sqclsl:0,
2081
+ sqclmc:'',
2082
+ gdlsh:'',
2083
+ sbdz:model.f_address,
2084
+ sldw:'鄂州市安泰天然气有限责任公司',
2085
+ sfyj:'',
2086
+ gxzq:'',
2087
+ type:this.selectdata.defname
2088
+ }
2089
+ console.log("====================================",data2)
2090
+ await http1.load('POST', 'rs/logic/getPost', {data:data2})
2091
+ }
2092
+ */
2093
+ }
2094
+ ,
2095
+ async 'onetomanydelete'(i, j) {
2096
+ let http = new HttpResetClass()
2097
+ let data = {
2098
+ tables: this.show_data.onetomany[i].tables,
2099
+ row: this.$refs.service_show.model.rows[i][j]
2100
+ }
2101
+ await http.load('POST', 'rs/logic/applyDeleteValue', {data: data}, {
2102
+ resolveMsg: null,
2103
+ rejectMsg: 'onetomanydelete失败'
2104
+ }).then(() => {
2105
+ this.$dispatch('selfsearch')
2106
+ this.$refs.service_show.model.rows[i].splice(j, 1)
2107
+ })
2108
+ }
2109
+ ,
2110
+ //获取view层confirm事件
2111
+ async 'confirm'(tables, row, showadd_index, j) {
2112
+ var _this = this
2113
+ for (let i = 0; i < tables.length; i++) {
2114
+ let datas = {
2115
+ tables: tables,
2116
+ row: row
2117
+ }
2118
+ console.log("看看datas")
2119
+ console.log(datas)
2120
+ console.log("看看showadd_index")
2121
+ console.log(showadd_index)
2122
+ datas.row['f_process_id'] = this.selectdata.f_process_id
2123
+ datas.row['f_apply_num'] = this.selectdata.f_apply_num
2124
+ datas.row['f_filiale'] = this.selectdata.f_filiale
2125
+ let http = new HttpResetClass()
2126
+ let sellid = ''
2127
+ let billtype = datas.row['f_bill_style']
2128
+ if (tables[i] == 't_charge_record') {
2129
+ await this.loadbuyer()
2130
+ if (this.buyerinfo.rows.length < 1 && billtype === '增值税电子发票' && this.$appdata.getSingleValue('默认打印票据') === '是') {
2131
+ this.$showAlert('未找到购买方信息,请去报建功能"购买方信息"中完善购买方信息后再收费', 'info', 2000)
2132
+ this.$refs.service_show.model.rows[showadd_index].splice(j, 1)
2133
+ this.$refs.service_show.initializtion()
2134
+ return
2135
+ }
2136
+ datas.row.f_charging_status = '有效'
2137
+ datas.row.f_is_correct = '否'
2138
+ datas.row.f_charge_collectors = this.$login.f.name
2139
+ datas.row.f_amount_words=this.smalltoBIG(datas.row.f_charge_money)
2140
+ await http.load('POST', 'rs/logic/applycharge', datas, {
2141
+ resolveMsg: null,
2142
+ rejectMsg: '收费保存失败'
2143
+ }).then((res) => {
2144
+ sellid = JSON.parse(res.data.sellid).id
2145
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
2146
+ //
2147
+ // if (this.$refs.service_show.data.fields[i].label == '累计缴费金额') {
2148
+ // this.$refs.service_show.data.fields[i].value = res.data.f_cumulative_money
2149
+ // }
2150
+ //
2151
+ // if (this.$refs.service_show.data.fields[i].label == '未结总金额') {
2152
+ // this.$refs.service_show.data.fields[i].value = res.data.f_unaccounts_money
2153
+ // }
2154
+
2155
+ }
2156
+ let temp = _this.$refs.service_show.model.rows[showadd_index][j]
2157
+ temp.id = sellid
2158
+ _this.$refs.service_show.model.rows[showadd_index][j] = temp
2159
+ })
2160
+ if (this.$appdata.getSingleValue('默认打印票据') && this.$appdata.getSingleValue('默认打印票据') === '是') {
2161
+ this.$showMessage('是否打票据', ['confirm', 'cancel']).then((res) => {
2162
+ if (res === 'confirm') {
2163
+ console.log('打印票据')
2164
+ if (billtype === '增值税电子发票') {
2165
+ this.selectsellid = sellid
2166
+ this.showbuyerinfo = true
2167
+ } else {
2168
+ this.printbill(sellid)
2169
+ }
2170
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
2171
+ if (this.$refs.service_show.data.fields[i].label == '累计开票金额') {
2172
+ console.log("计算累计开票金额")
2173
+ this.$refs.service_show.data.fields[i].value = parseInt(this.$refs.service_show.data.fields[i].value) + this.datas.row.f_cumulative_invoicing
2174
+ }
2175
+ }
2176
+ }
2177
+ })
2178
+ }
2179
+ // 刷新列表数据
2180
+ console.log("刷新一下")
2181
+ this.$dispatch('selfsearch')
2182
+ console.log("刷新完成")
2183
+ } else {
2184
+ await http.load('POST', 'rs/logic/saveentity', datas, {
2185
+ resolveMsg: null,
2186
+ rejectMsg: 'onetomany保存失败'
2187
+ }).then((res) => {
2188
+ // 刷新列表数据
2189
+ this.$dispatch('selfsearch')
2190
+ let temp = _this.$refs.service_show.model.rows[showadd_index][j]
2191
+ temp.id = res.data.id
2192
+ _this.$refs.service_show.model.rows[showadd_index][j] = temp
2193
+ })
2194
+ }
2195
+ }
2196
+ }
2197
+ }
2198
+ }
2199
+
2200
+ </script>