apply-clients 5.0.35-80 → 5.0.35-81

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.
@@ -0,0 +1,486 @@
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"
17
+ v-if="selectdata.defname == '收费'"></buyer-message>
18
+ <installfee :infee="selectdata" v-if="selectdata.defname == '收费'"></installfee>
19
+ <service-view v-ref:service_show :data="data" v-if="showview"></service-view>
20
+ </template>
21
+ <script>
22
+ import {HttpResetClass} from 'vue-client'
23
+ import Vue from "vue";
24
+ export default {
25
+ title: '报建监控控制层',
26
+ props: ['selectdata'],
27
+ data() {
28
+ return {
29
+ data: null, // 展示的数据
30
+ json_datas: null, // json配置数据结构
31
+ showview: false // 控制显示层显示
32
+ }
33
+ },
34
+ methods: {
35
+ getmodel(){
36
+ return this.$refs.service_show.getmodel()
37
+ },
38
+ // json配置数据处理 比如下拉框的options
39
+ async initializtion() {
40
+ // onetomany 数据获取
41
+ if (this.data.onetomany) {
42
+ console.log('判断是onetomany,this.data.onetomany的数据为=>' + JSON.stringify(this.data.onetomany))
43
+ for (let index = 0; index < this.data.onetomany.length; index++) {
44
+ let http = new HttpResetClass()
45
+ let data = {}
46
+ if (this.data.onetomany[index].tables[0] == 't_charge_record') {
47
+ data = {
48
+ tablename: this.data.onetomany[index].tables[0],
49
+ condition: `f_apply_num = '${this.selectdata.f_apply_num}' and f_process_id='${this.selectdata.f_process_id}' and f_charging_status != '作废'`
50
+ }
51
+ } else {
52
+ data = {
53
+ tablename: this.data.onetomany[index].tables[0],
54
+ condition: `f_process_id='${this.selectdata.f_process_id}'`
55
+ }
56
+ }
57
+ let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
58
+ resolveMsg: null,
59
+ rejectMsg: 'onetomany查询失败'
60
+ })
61
+ // 初始化 onetomany
62
+ let rows = []
63
+ console.log('查询返回结果res.data=>' + JSON.stringify(res.data))
64
+ this.data.onetomany[index].rows = res.data
65
+ // console.log(JSON.stringify('this.data.onetomany[index].rows=>' + JSON.stringify(this.data.onetomany[index].rows)))
66
+
67
+ // 初始化onetomany中的fields
68
+ for (let j = 0; j < this.data.onetomany[index].fields.length; j++) {
69
+ // 如果配置类型为select,优先从参数列表获取options
70
+ if (this.data.onetomany[index].fields[j].type === 'select') {
71
+ let temp = Vue.$appdata.getParam(this.data.onetomany[index].fields[j].label)
72
+ if (temp && temp.length > 0) {
73
+ this.data.onetomany[index].fields[j].options = Vue.$appdata.getParam(this.data.onetomany[index].fields[j].label)
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
79
+ // selectdata 填充 data
80
+ if (this.selectdata.f_survey_name) {
81
+ let buyerinfos = []
82
+ var numReg = /^[0-9]+$/
83
+ var numRe = new RegExp(numReg)
84
+ if (numRe.test(this.selectdata.f_survey_name)) {
85
+ let querydata = {
86
+ tablename: 't_user',
87
+ condition: `id = ${this.selectdata.f_survey_name}`
88
+ }
89
+ buyerinfos = await this.$resetpost('rs/sql/singleTable', {data: querydata}, {
90
+ resolveMsg: null,
91
+ rejectMsg: '获取人员失败'
92
+ })
93
+ this.selectdata.f_survey_name = {
94
+ id:buyerinfos.data[0].id,
95
+ name:buyerinfos.data[0].name
96
+ }
97
+ }
98
+ }
99
+
100
+ this.data = Object.assign({}, this.data, this.selectdata)
101
+ for (let i = 0; i < this.data.fields.length; i++) {
102
+
103
+ /**
104
+ * 增加需求: 流程监控想要能下拉选择县区
105
+ * updateTime:2020.07.23
106
+ */
107
+ if (this.data.fields[i].label == '县/区') {
108
+ let area = await this.$resetpost('rs/sql/singleTable', {
109
+ data: {
110
+ // items: 'f_bill_url,f_url_code',
111
+ tablename: 't_pcd',
112
+ condition: `f_filialeids = '${this.$login.f.f_orgids}'`
113
+ }
114
+ }, {resolveMsg: null, rejectMsg: null})
115
+ let rs = []
116
+ for (let i = 0; i < area.data.length; i++) {
117
+ let temp = {
118
+ label: area.data[i].f_pcd,
119
+ value: area.data[i].f_pcd
120
+ }
121
+ rs.push(temp)
122
+ }
123
+ this.data.fields[i].options = [{label: '全部', value: ''}, ...rs]
124
+ }
125
+
126
+
127
+ if (this.selectdata[this.data.fields[i].field]) {
128
+ this.data.fields[i].value = this.selectdata[this.data.fields[i].field]
129
+ }
130
+
131
+ if (typeof this.data.fields[i].value === 'string' && this.data.fields[i].value.startsWith("{") && this.data.fields[i].value.endsWith("}")) {
132
+ this.data.fields[i].value = JSON.parse(this.data.fields[i].value)
133
+ }
134
+ this.data.fields[i].readonly = true
135
+ this.data.fields[i].disabled = true
136
+ if(this.$login.r.find(value => value == '报建流程修改') && this.data.f_apply_type=='个人报建' && this.$login.r.includes('报建流程修改')){
137
+ this.data.fields[i].readonly = false
138
+ this.data.fields[i].disabled = false
139
+ }
140
+ if(this.$login.r.find(value => value == '集体报建流程修改') && this.data.f_apply_type=='集体报建' && this.$login.r.includes('报建流程修改')){
141
+ this.data.fields[i].readonly = false
142
+ this.data.fields[i].disabled = false
143
+ }
144
+ if(this.$login.r.find(value => value == '工程流程修改') && this.$login.r.includes('工程流程修改')){
145
+ this.data.fields[i].readonly = false
146
+ this.data.fields[i].disabled = false
147
+ }
148
+ if(this.data.fields[i].label=='合同总金额'){
149
+ console.log("合同总金额修改");
150
+ if(this.$login.r.includes('合同金额修改')){
151
+ this.data.fields[i].readonly = false
152
+ this.data.fields[i].disabled = false
153
+ }
154
+ }
155
+ if(this.data.fields[i].label=='费用合计'){
156
+ console.log("费用合计修改");
157
+ if(this.$login.r.includes('合同金额修改')){
158
+ this.data.fields[i].readonly = false
159
+ this.data.fields[i].disabled = false
160
+ }
161
+ }
162
+ }
163
+ this.data.buttons = null
164
+ if( this.$login.r.find(value => value == '工程流程修改')){
165
+ // 仅留保存按钮
166
+ this.data.buttons = [
167
+ {
168
+ "button_name": "保存"
169
+ }
170
+ ]
171
+ }
172
+ }
173
+ },
174
+ events:{
175
+ 'getmodel'(){
176
+ return this.$refs.service_show.getmodel()
177
+ },
178
+ // 获取view层button事件/
179
+ async 'button'(model) {
180
+ let http = new HttpResetClass()
181
+ // 下发,提交,保存,退回通用业务后台处理logic
182
+ let url = 'rs/logic/ApplyProductService'
183
+ model.id = this.selectdata.appid
184
+ let requestData = {
185
+ tables: this.data.tables,
186
+ model: model,
187
+ isedit: true
188
+ }
189
+ requestData.loginUser = this.$login.f
190
+ console.log('即将发送请求url=>' + url + ',参数=>' + JSON.stringify(requestData))
191
+ let res = await http.load('POST', url, {data: requestData}, {resolveMsg: null, rejectMsg: '数据保存失败'})
192
+ console.log("service处理完成返回数据:", JSON.stringify(res.data))
193
+ if (res.data.code == 200) {
194
+ this.$dispatch('selfsearch')
195
+ this.$dispatch('close')
196
+ } else {
197
+ if (res.data.msg) {
198
+ this.$showMessage(res.data.msg)
199
+ }
200
+ }
201
+ },
202
+ 'checkboxSelectControl'(index,index2){
203
+ console.log("chufa事件control");
204
+ console.log('this.$refs.service_show.data.fields[index]==>:'+JSON.stringify(this.$refs.service_show.data.fields[index]));
205
+ if(this.$refs.service_show.data.fields[index].label=="施工提交资料"){
206
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
207
+ if(this.$refs.service_show.data.fields[i].label=="施工已上传文件"){
208
+ //增加和删除框中的内容
209
+ if(this.$refs.service_show.data.fields[index].items[index2].value == false){
210
+ // this.$refs.service_show.data.fields[i].value+=this.$refs.service_show.data.fields[index].items[index2].label+" ";
211
+ this.$refs.service_show.data.fields[i].value=this.$refs.service_show.data.fields[i].value==undefined?'':this.$refs.service_show.data.fields[i].value+this.$refs.service_show.data.fields[index].items[index2].label+" ";
212
+ this.$refs.service_show.data.fields[index].items[index2].value=true;
213
+ }else{
214
+ let deleteValue = this.$refs.service_show.data.fields[index].items[index2].label;
215
+ let values =this.$refs.service_show.data.fields[i].value;
216
+ let result = values.split(" ").filter((item)=>{
217
+ return item!=deleteValue;
218
+ }).join(" ")
219
+ this.$refs.service_show.data.fields[i].value =result;
220
+ this.$refs.service_show.data.fields[index].items[index2].value=false;
221
+ }
222
+ //}
223
+ }
224
+ }
225
+ }
226
+ if(this.$refs.service_show.data.fields[index].label=="验收提交资料"){
227
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
228
+
229
+ if(this.$refs.service_show.data.fields[i].label=="验收已上传文件"){
230
+ //增加和删除框中的内容
231
+ if(this.$refs.service_show.data.fields[index].items[index2].value == false){
232
+ this.$refs.service_show.data.fields[i].value=this.$refs.service_show.data.fields[i].value==undefined?'':this.$refs.service_show.data.fields[i].value+this.$refs.service_show.data.fields[index].items[index2].label+" ";
233
+ this.$refs.service_show.data.fields[index].items[index2].value=true;
234
+ }else{
235
+ let deleteValue = this.$refs.service_show.data.fields[index].items[index2].label;
236
+ let values =this.$refs.service_show.data.fields[i].value;
237
+ let result = values.split(" ").filter((item)=>{
238
+ return item!=deleteValue;
239
+ }).join(" ")
240
+ this.$refs.service_show.data.fields[i].value =result;
241
+ this.$refs.service_show.data.fields[index].items[index2].value=false;
242
+ }
243
+ //}
244
+ }
245
+ }
246
+ }
247
+ /*if(this.$refs.service_show.data.fields[index].label=="施工提交资料"){
248
+ debugger
249
+ var aname = ''
250
+ for (let i = 0; i < this.$refs.service_show.data.fields[index].items.length; i++) {
251
+ debugger
252
+ if (this.$refs.service_show.data.fields[index].items[i]==true){
253
+ debugger
254
+ aname+=this.$refs.service_show.data.fields[index].item[i].value
255
+ }
256
+ }
257
+ console.log("aaaaa",aname)
258
+ }
259
+ if (this.$refs.service_show.data.fields[index].label=="施工已上传文件"){
260
+ debugger
261
+ this.$refs.service_show.data.fields[index].value=aname
262
+ }*/
263
+ this.$refs.service_show.update()
264
+ },
265
+ async 'select_cascade'(index){
266
+ console.log("sdsdsdsdsdsdsdsdsdsdsdsdsdsd")
267
+ if (this.$refs.service_show.data.fields[index].label == '工程安装费'||
268
+ this.$refs.service_show.data.fields[index].label == '材料费'||
269
+ this.$refs.service_show.data.fields[index].label == '人工费') {
270
+ debugger
271
+ let gcmoney = 0;
272
+ let clmoney=0;
273
+ let rgmoney=0;
274
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
275
+
276
+ if (this.$refs.service_show.data.fields[i].label == '工程安装费') {
277
+ gcmoney =this.$refs.service_show.data.fields[i].value
278
+ }
279
+ if (this.$refs.service_show.data.fields[i].label == '材料费') {
280
+ clmoney = this.$refs.service_show.data.fields[i].value
281
+ }
282
+ if (this.$refs.service_show.data.fields[i].label == '人工费') {
283
+ rgmoney = this.$refs.service_show.data.fields[i].value
284
+ }
285
+ if (this.$refs.service_show.data.fields[i].label === '费用合计') {
286
+ this.$refs.service_show.data.fields[i].value = parseInt(gcmoney)+parseInt(clmoney)+parseInt(rgmoney);
287
+ }
288
+ }
289
+ this.$refs.service_show.update()
290
+
291
+ }
292
+
293
+ if (this.$refs.service_show.data.fields[index].label == '合同总金额'){
294
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
295
+ if (this.$refs.service_show.data.fields[i].label === '未结总金额') {
296
+ this.$refs.service_show.data.fields[i].value = parseInt(this.$refs.service_show.data.fields[index].value);
297
+ }
298
+ }
299
+ }
300
+
301
+ /**
302
+ * 增加需求: 流程监控地址可以下拉选择
303
+ * 2020.07.23
304
+ */
305
+ if (this.$refs.service_show.data.fields[index].label === '县/区') {
306
+ let temp = this.$refs.service_show.data.fields[index].value
307
+ console.log('==============================县/区:' + temp)
308
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
309
+ // 控制设置级联
310
+ // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
311
+ if (this.$refs.service_show.data.fields[i].label === '街道名称') {
312
+ // this.$refs.service_show.data.fields[i].value = ''
313
+ let street = await this.$resetpost('rs/sql/singleTable', {
314
+ data: {
315
+ tablename: 't_street',
316
+ condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_pcd='${temp}'`
317
+ }
318
+ }, {resolveMsg: null, rejectMsg: null})
319
+ let streetrs = []
320
+ for (let i = 0; i < street.data.length; i++) {
321
+ let temp = {
322
+ label: street.data[i].f_street,
323
+ value: street.data[i].f_street
324
+ }
325
+ streetrs.push(temp)
326
+ }
327
+
328
+ this.$refs.service_show.data.fields[i].options = [{label: '全部', value: ''}, ...streetrs]
329
+ //this.data.fields[i].options = [{label: '全部', value: ''}, ...streetrs]
330
+ // console.log('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~option:', this.data.fields[i].options)
331
+
332
+ this.$refs.service_show.update()
333
+ }
334
+ }
335
+ }
336
+
337
+ if (this.$refs.service_show.data.fields[index].label === '街道名称') {
338
+ let temp = this.$refs.service_show.data.fields[index].value
339
+ console.log('=============================街道:' + temp)
340
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
341
+ // 控制设置级联
342
+ // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
343
+ if (this.$refs.service_show.data.fields[i].label === '小区名称') {
344
+ // this.$refs.service_show.data.fields[i].value = ''
345
+
346
+ let area = await this.$resetpost('rs/sql/singleTable', {
347
+ data: {
348
+ tablename: 't_area',
349
+ condition: `f_filialeids = '${this.$login.f.f_orgids}' and f_street='${temp}'`
350
+ }
351
+ }, {resolveMsg: null, rejectMsg: null})
352
+ let arears = []
353
+ this.areaall=area.data;
354
+ for (let i = 0; i < area.data.length; i++) {
355
+ let temp = {
356
+ label: area.data[i].f_residential_area,
357
+ value: area.data[i].f_residential_area
358
+ }
359
+ arears.push(temp)
360
+ }
361
+ this.$refs.service_show.data.fields[i].options = [{label: '全部', value: ''}, ...arears]
362
+ //this.data.fields[i].options = [{label: '全部', value: ''}, ...streetrs]
363
+ console.log('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~option:', this.$refs.service_show.data.fields[i].options)
364
+
365
+ this.$refs.service_show.update()
366
+
367
+ }
368
+ }
369
+ }
370
+
371
+ if(this.$refs.service_show.data.fields[index].label === '小区名称'){
372
+ for (let i = 0; i < this.areaall.length; i++) {
373
+ console.log("aaaaaaaaaaaa")
374
+ if(this.areaall[i].f_residential_area== this.$refs.service_show.data.fields[index].value){
375
+ console.log("abbbbbbbbb")
376
+ for (let j = 0; j < this.$refs.service_show.data.fields.length; j++) {
377
+ if(this.$refs.service_show.data.fields[j].label === '小区地址'){
378
+ console.log(this.areaall[i].f_area_address)
379
+ this.$refs.service_show.data.fields[j].value=this.areaall[i].f_area_address
380
+ }
381
+ }
382
+ }
383
+ }
384
+ }
385
+
386
+ // 合成地址
387
+ if (
388
+ this.$refs.service_show.data.fields[index].label === '县/区' ||
389
+ this.$refs.service_show.data.fields[index].label === '街道名称' ||
390
+ this.$refs.service_show.data.fields[index].label === '小区名称' ||
391
+ this.$refs.service_show.data.fields[index].label === '楼号' ||
392
+ this.$refs.service_show.data.fields[index].label === '单元号' ||
393
+ this.$refs.service_show.data.fields[index].label === '楼层' ||
394
+ this.$refs.service_show.data.fields[index].label === '门牌号'
395
+ ) {
396
+ console.log('即将合成地址')
397
+ var address = ''
398
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
399
+ // 控制设置级联
400
+ // 源select所选的值 this.$refs.service_show.data.activitys.fields[index].value
401
+ // xxx xx xxx
402
+ if (this.$refs.service_show.data.fields[i].label === '县/区' && this.$refs.service_show.data.fields[i].value) {
403
+ address += this.$refs.service_show.data.fields[i].value
404
+ }
405
+ if (this.$refs.service_show.data.fields[i].label === '街道名称' && this.$refs.service_show.data.fields[i].value) {
406
+ address += this.$refs.service_show.data.fields[i].value
407
+ }
408
+ if (this.$refs.service_show.data.fields[i].label === '小区名称' && this.$refs.service_show.data.fields[i].value) {
409
+ address += this.$refs.service_show.data.fields[i].value
410
+ }
411
+ if (this.$refs.service_show.data.fields[i].label === '楼号' && this.$refs.service_show.data.fields[i].value) {
412
+ address += this.$refs.service_show.data.fields[i].value
413
+ }
414
+ if (this.$refs.service_show.data.fields[i].label === '楼号' && this.$refs.service_show.data.fields[i].value) {
415
+ address += '栋'
416
+ }
417
+ if (this.$refs.service_show.data.fields[i].label === '单元号' && this.$refs.service_show.data.fields[i].value) {
418
+ address += '-' +this.$refs.service_show.data.fields[i].value
419
+ }
420
+ if (this.$refs.service_show.data.fields[i].label === '单元号' && this.$refs.service_show.data.fields[i].value) {
421
+ address += '单元'
422
+ }
423
+ if (this.$refs.service_show.data.fields[i].label === '楼层' && this.$refs.service_show.data.fields[i].value) {
424
+ address += '-' +this.$refs.service_show.data.fields[i].value
425
+ }
426
+ if (this.$refs.service_show.data.fields[i].label === '楼层' && this.$refs.service_show.data.fields[i].value) {
427
+ address += '层'
428
+ }
429
+ if (this.$refs.service_show.data.fields[i].label === '门牌号' && this.$refs.service_show.data.fields[i].value) {
430
+ address += '-' +this.$refs.service_show.data.fields[i].value
431
+ }
432
+ if (this.$refs.service_show.data.fields[i].label === '门牌号' && this.$refs.service_show.data.fields[i].value) {
433
+ address += '室'
434
+ }
435
+
436
+ }
437
+ console.log('获取到的address=>' + address)
438
+ // 数据获取完毕时放入地址text
439
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
440
+ if (this.$refs.service_show.data.fields[i].label === '地址' || this.$refs.service_show.data.fields[i].label === '报装地址') {
441
+ this.$refs.service_show.data.fields[i].value = address
442
+ console.log('修改fields[i].value后的值=>' + this.$refs.service_show.data.fields[i].value)
443
+ }
444
+ }
445
+ }
446
+
447
+ },
448
+
449
+ },
450
+ watch: {
451
+ 'selectdata'() {
452
+ this.json_datas = this.$supervisory_vue
453
+ let sum = 0
454
+ let jsonData = {}
455
+ for (let i = 0; i < this.json_datas.activitys.length; i++) {
456
+ if (this.selectdata.defname == this.json_datas.activitys[i].title) {
457
+ jsonData = this.json_datas.activitys[i]
458
+ sum++
459
+ }
460
+ }
461
+ if (sum == 1) {
462
+ this.data = jsonData
463
+ this.initializtion()
464
+ // 完成时间和完成人,部门,分公司
465
+ if(this.selectdata.defname =='完工'){ this.data.filiale = this.selectdata.f_filiale
466
+ this.data.f_parentname = this.selectdata.f_parentname
467
+ this.data.operate_date = this.selectdata.sendtime
468
+ this.data.operator = this.selectdata.sender
469
+ this.showview = true
470
+ }else{
471
+ this.data.f_parentname = this.selectdata.f_parentname
472
+ this.data.operate_date = this.selectdata.finishtime
473
+ this.data.operator = this.selectdata.person
474
+ this.showview = true
475
+ }
476
+
477
+ } else if (sum == 0) {
478
+ this.$showMessage(`没有在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置`)
479
+ } else {
480
+ this.$showMessage(`在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置:${sum}个`)
481
+ }
482
+ },
483
+ deep: true
484
+ }
485
+ }
486
+ </script>