apply-clients 3.3.29 → 3.3.33

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.
Files changed (24) hide show
  1. package/package.json +1 -1
  2. package/src/apply.js +3 -0
  3. package/src/components/android/AppOnetomany.vue +31 -17
  4. package/src/components/android/Function/AppFunctionServiceControl.vue +18 -3
  5. package/src/components/android/Function/AppInstallFunction.vue +4 -0
  6. package/src/components/android/Process/AppExplorationUser.vue +306 -302
  7. package/src/components/android/Process/AppServiceControl.vue +756 -756
  8. package/src/components/android/Supervisory/AppProcessSupervisory.vue +4 -0
  9. package/src/components/product/Function/Service/FunctionServiceControl.vue +22 -1
  10. package/src/components/product/Material/MaterialDetailed.vue +213 -0
  11. package/src/components/product/OldApply/Handle/HandleApply.vue +20 -3
  12. package/src/components/product/OldApply/Monitor/MonitorApply.vue +6 -0
  13. package/src/components/product/OldApply/OldApply.vue +1 -1
  14. package/src/components/product/Onetomany.vue +101 -22
  15. package/src/components/product/Process/ExplorationSelect.vue +42 -6
  16. package/src/components/product/Process/Processes/InstallationDetails.vue +1 -1
  17. package/src/components/product/Process/Processes/Print/printBuildOrder.vue +215 -0
  18. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +11 -6
  19. package/src/components/product/Process/Service/ServiceControl.vue +18 -3
  20. package/src/components/product/ServiceView.vue +1 -1
  21. package/src/components/product/Stop/StopApply.vue +101 -103
  22. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +292 -20
  23. package/src/components/product/Supervisory/SupervisoryControl.vue +27 -0
  24. package/src/components/product/Supervisory/SupervisoryhCart.vue +1 -1
@@ -65,6 +65,7 @@
65
65
  }
66
66
  return this.selectdata.defname === item.title // 拿到当前节点的json配置信息
67
67
  })
68
+
68
69
  if (sum === 0) {
69
70
  this.$showMessage(`没有在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置`)
70
71
  return
@@ -74,19 +75,40 @@
74
75
  return
75
76
  }
76
77
 
77
- this.data = null
78
- this.data = jsonData
79
- this.data = Object.assign({}, this.data, this.selectdata)
78
+ this.selectdata = Object.assign({}, this.selectdata, jsonData)
80
79
 
81
80
  // fields 字段填充值
82
- for (const item of this.data.fields) {
81
+ for (const item of this.selectdata.fields) {
82
+ if (!item.value) {
83
+ item.value = null
84
+ }
85
+
86
+ if (!item.value && (item.default || item.default === 0) && item.type !== 'datepicker') {
87
+ if (item.eval) {
88
+ item.value = eval(item.default)
89
+ } else {
90
+ item.value = item.default
91
+ }
92
+ }
93
+
83
94
  if (this.selectdata[item.field]) {
84
- item.value = this.selectdata[item.field]
95
+ // 将json字符串格式化赋值给value
96
+ if (String(this.selectdata[item.field]).startsWith("{")) {
97
+ item.value = JSON.parse(this.selectdata[item.field])
98
+ } else {
99
+ item.value = this.selectdata[item.field]
100
+ }
85
101
  }
86
102
  if (this.selectdata[item.field] === 0) {
87
103
  item.value = 0
88
104
  }
89
105
 
106
+ // datepicker
107
+ if (item.type === 'datepicker' && !item.value && item.default) {
108
+ item.value = new Date().Format(`${item.format ? item.format : 'yyyy-MM-dd HH:mm:ss'}`)
109
+ }
110
+
111
+ // 如果配置类型为select,优先从参数列表获取options
90
112
  if (item.type === 'select' || item.type === 'checkbox') {
91
113
  if (item.param) {
92
114
  let temp = this.$appdata.getParam(item.label)
@@ -108,6 +130,7 @@
108
130
  }
109
131
  }
110
132
 
133
+
111
134
  if (item.type === 'checkbox') {
112
135
  if (this.selectdata[item.field]) {
113
136
  item.value = JSON.parse(this.selectdata[item.field])
@@ -116,20 +139,25 @@
116
139
  }
117
140
  }
118
141
 
142
+ this.selectdata[item.field] = item.value
143
+
119
144
  item.readonly = true
120
145
  item.disabled = true
121
146
  }
122
147
 
123
148
  // 控制组件
124
- if (this.data.components) {
125
- this.data.components.forEach(item => {
149
+ if (this.selectdata.components) {
150
+ this.selectdata.components.forEach(item => {
126
151
  item.mark = 1
152
+ if (item.supervisory) {
153
+ item.mark = 0
154
+ }
127
155
  })
128
156
  }
129
157
 
130
- // onetomany 数据获取
131
- if (this.data.onetomany) {
132
- for (const item of this.data.onetomany) {
158
+ // 初始化onetomany
159
+ if (this.selectdata.onetomany) {
160
+ for (const item of this.selectdata.onetomany) {
133
161
  let res = null
134
162
  if (item.queryEvent) {
135
163
  res = this[item.queryEvent]()
@@ -147,13 +175,51 @@
147
175
 
148
176
  item.rows = res.data
149
177
 
178
+ // 初始化onetomany中的fields
179
+ for (const field of item.fields) {
180
+ if (!field.value) {
181
+ if (field.value !== 0) {
182
+ field.value = null
183
+ }
184
+ }
185
+
186
+ if (field.default || field.default === 0) {
187
+ field.value = field.default
188
+ }
189
+
190
+ // datepicker
191
+ if (field.type === 'datepicker' && !field.value && field.default) {
192
+ field.value = new Date().Format(`${field.format ? field.format : 'yyyy-MM-dd HH:mm:ss'}`)
193
+ }
194
+
195
+ if (field.type === 'select') {
196
+
197
+ let temp = this.$appdata.getParam(field.label)
198
+
199
+ if (temp && temp.length > 0) {
200
+ field.options = temp
201
+ }
202
+
203
+ if (field.paramLabel) {
204
+ temp = this.$appdata.getParam(field.paramLabel)
205
+ if (temp && temp.length > 0) {
206
+ item.options = temp
207
+ }
208
+ }
209
+
210
+ }
211
+ }
212
+
150
213
  // 隐藏所有操作
151
214
  item.hiddenOperate = true
215
+ if (item.supervisory) {
216
+ item.hiddenOperate = false
217
+ }
152
218
  }
153
219
  }
154
220
 
155
221
  // 去除button
156
- this.data.buttons = null
222
+ this.selectdata.buttons = null
157
223
 
158
224
  // 完成时间和完成人,部门,分公司
159
225
  if (this.selectdata.state === '结束') {
@@ -163,10 +229,10 @@
163
229
  userid: this.selectdata.userid
164
230
  }, {resolveMsg: null, rejectMsg: '处理人员获取失败!!!'})
165
231
  let user = res.data
166
- this.data.operate_date = new Date(this.selectdata.finishtime).Format('yyyy-MM-dd')
167
- this.data.operator = this.selectdata.person
168
- this.data.orgs = user.orgs
169
- this.data.parentname = user.deps
232
+ this.selectdata.operate_date = new Date(this.selectdata.finishtime).Format('yyyy-MM-dd')
233
+ this.selectdata.operator = this.selectdata.person
234
+ this.selectdata.orgs = user.orgs
235
+ this.selectdata.parentname = user.deps
170
236
  }
171
237
 
172
238
  // 未结束且是下发查看指定人员
@@ -177,14 +243,14 @@
177
243
  userid: this.selectdata.actorexpression.substring(3, this.selectdata.actorexpression.length-1)
178
244
  }, {resolveMsg: null, rejectMsg: '处理人员获取失败!!!'})
179
245
  let user = res.data
180
- this.data.operate_date = new Date().Format('yyyy-MM-dd')
181
- this.data.operator = user.name
182
- this.data.orgs = user.orgs
183
- this.data.parentname = user.f_department_name
246
+ this.selectdata.operate_date = new Date().Format('yyyy-MM-dd')
247
+ this.selectdata.operator = user.name
248
+ this.selectdata.orgs = user.orgs
249
+ this.selectdata.parentname = user.f_department_name
184
250
  }
185
251
 
186
252
  // 消除双向绑定,避免子组件(显示层)数据更改,父组件(控制层)也更改
187
- let temp = JSON.parse(JSON.stringify(this.data))
253
+ let temp = JSON.parse(JSON.stringify(this.selectdata))
188
254
 
189
255
  this.show_data = temp
190
256
  this.$nextTick(() => {
@@ -249,6 +315,50 @@
249
315
  }
250
316
  }
251
317
  },
318
+ showLabels(...labels) {
319
+ for (const item of this.show_data.fields) {
320
+ if (labels.includes(item.label)) {
321
+ item.hidden = false
322
+ }
323
+ }
324
+ },
325
+ hideLabels(...labels) {
326
+ for (const item of this.show_data.fields) {
327
+ if (labels.includes(item.label)) {
328
+ item.hidden = true
329
+ }
330
+ }
331
+ },
332
+ requiredLabels(...labels) {
333
+ for (const item of this.show_data.fields) {
334
+ if (labels.includes(item.label)) {
335
+ item.required = true
336
+ }
337
+ }
338
+ },
339
+ electiveLabels(...labels) {
340
+ for (const item of this.show_data.fields) {
341
+ if (labels.includes(item.label)) {
342
+ item.required = false
343
+ }
344
+ }
345
+ },
346
+ readonlyLabels(...labels) {
347
+ for (const item of this.show_data.fields) {
348
+ if (labels.includes(item.label)) {
349
+ item.readonly = true
350
+ item.disabled = true
351
+ }
352
+ }
353
+ },
354
+ readwriteLabels(...labels) {
355
+ for (const item of this.show_data.fields) {
356
+ if (labels.includes(item.label)) {
357
+ item.readonly = false
358
+ item.disabled = false
359
+ }
360
+ }
361
+ },
252
362
  async checkDuplicate(index) {
253
363
  let http = new HttpResetClass()
254
364
  let data = {
@@ -383,6 +493,40 @@
383
493
  }
384
494
  },
385
495
  events:{
496
+ // 选择材料
497
+ async materialNameChenge (index, fieldIndex) {
498
+ let material = this.show_data.onetomany[index].fields[fieldIndex].value
499
+
500
+ this.show_data.onetomany[index].fields.forEach(item => {
501
+ if (material[item.field]) {
502
+ item.value = material[item.field]
503
+ }
504
+ })
505
+ },
506
+ // 打开模态框获取材料
507
+ async 'getMaterialName' (index) {
508
+ let data = {
509
+ condition: `1=1`
510
+ }
511
+ let http = new HttpResetClass()
512
+ let res = await http.load(
513
+ 'POST',
514
+ `rs/sql/getApplyMaterial`,
515
+ {data: data},
516
+ {resolveMsg: null, rejectMsg: '材料查询失败!!!'}
517
+ )
518
+
519
+ this.show_data.onetomany[index].fields.forEach(field => {
520
+ if (field.label === '选择材料') {
521
+ field.options = res.data.map(item => {
522
+ return {
523
+ 'label': `${item.f_material_name}--${item.f_material_style}--${item.f_material_unit}`,
524
+ 'value': item
525
+ }
526
+ })
527
+ }
528
+ })
529
+ },
386
530
  // 终止报建初始化·
387
531
  async 'stopApplyReadyEvent' () {
388
532
 
@@ -509,6 +653,134 @@
509
653
  }
510
654
  }
511
655
  },
656
+ // 失去焦点出触发事件
657
+ 'onchange' (index) {
658
+ if (this.show_data.defname === '报装申请' || this.show_data.defname === '信息确认') {
659
+ if (
660
+ this.show_data.fields[index].label === '区/县' ||
661
+ this.show_data.fields[index].label === '街道/乡镇' ||
662
+ this.show_data.fields[index].label === '集收单位' ||
663
+ this.show_data.fields[index].label === '楼号/组' ||
664
+ this.show_data.fields[index].label === '单元/排' ||
665
+ this.show_data.fields[index].label === '楼层' ||
666
+ this.show_data.fields[index].label === '门牌号'
667
+ ) {
668
+
669
+ let f_pcd = this.getLableValue('区/县') || ''
670
+ let f_street = this.getLableValue('街道/乡镇') || ''
671
+ let f_residential_area = this.getLableValue('集收单位') || ''
672
+ let f_building = this.getLableValue('楼号/组') || ''
673
+ let f_building_suffix = f_building ? this.config.f_building_suffix : ''
674
+ let f_unit = this.getLableValue('单元/排') || ''
675
+ let f_unit_suffix = f_unit ? this.config.f_unit_suffix : ''
676
+ let f_floor = this.getLableValue('楼层') || ''
677
+ let f_floor_suffix = f_floor ? this.config.f_floor_suffix : ''
678
+ let f_room = this.getLableValue('门牌号') || ''
679
+ let f_room_suffix = f_room ? this.config.f_room_suffix : ''
680
+
681
+ let f_address = f_pcd + f_street + f_residential_area + f_building + f_building_suffix + f_unit + f_unit_suffix + f_floor + f_floor_suffix + f_room + f_room_suffix
682
+ this.setLabelValue("地址", f_address)
683
+ }
684
+ }
685
+ },
686
+ // =============================
687
+ selectSearch (val, index) {},
688
+ 'onblur' (index) {},
689
+ 'oninput' (index) {},
690
+ 'initializtionView' () {},
691
+ async 'onchangeModal' (index, fieldIndex) {
692
+ },
693
+ async 'onblurModal' (index, fieldIndex) {
694
+
695
+ },
696
+ async 'oninputModal' (index, fieldIndex) {
697
+
698
+ },
699
+ async 'onetomanydelete' (index, rowIndex) {
700
+
701
+ let http = new HttpResetClass()
702
+
703
+ let res = await http.load(
704
+ 'DELETE',
705
+ `rs/entity/${this.show_data.onetomany[index].tables[0]}/${this.show_data.onetomany[index].rows[rowIndex].id}`,
706
+ null,
707
+ {resolveMsg: null, rejectMsg: '删除失败!!!'}
708
+ )
709
+
710
+ res = await this.$resetpost(
711
+ 'rs/entity/t_apply',
712
+ this.show_data
713
+ )
714
+
715
+ this.$dispatch('breakControl', this.show_data)
716
+ },
717
+ async 'onetomanyupdate' (index, rowIndex) {
718
+ let data = this.show_data.onetomany[index].rows[rowIndex]
719
+
720
+ this.show_data.onetomany[index].fields.forEach(item => {
721
+ data[item.field] = item.value
722
+ })
723
+ let res = await this.$resetpost(
724
+ `rs/entity/${this.show_data.onetomany[index].tables[0]}`,
725
+ data
726
+ )
727
+
728
+ res = await this.$resetpost(
729
+ 'rs/entity/t_apply',
730
+ this.show_data
731
+ )
732
+
733
+ this.$dispatch('breakControl', this.show_data)
734
+ },
735
+ async 'onetomanyadd' (index) {
736
+ let data = {
737
+ f_process_id : this.show_data.f_process_id,
738
+ f_operator_id: this.$login.f.id,
739
+ f_operator: this.$login.f.name,
740
+ f_operation_date: new Date().Format('yyyy-MM-dd HH:mm:ss'),
741
+ f_orgid: this.$login.f.orgid,
742
+ f_orgname: this.$login.f.orgs
743
+ }
744
+ this.show_data.onetomany[index].fields.forEach(item => {
745
+ data[item.field] = item.value
746
+ })
747
+ let res = await this.$resetpost(
748
+ `rs/entity/${this.show_data.onetomany[index].tables[0]}`,
749
+ data
750
+ )
751
+
752
+ res = await this.$resetpost(
753
+ 'rs/entity/t_apply',
754
+ this.show_data
755
+ )
756
+
757
+ this.$dispatch('breakControl', this.show_data)
758
+ },
759
+ async 'importEvent' (index, table, configName, filepath) {
760
+ let data = {
761
+ selectdata: this.show_data,
762
+ table: table,
763
+ filepath: filepath,
764
+ configName: configName,
765
+ user: this.$login.f
766
+ }
767
+
768
+ let res = await this.$resetpost(
769
+ `rs/logic/importEvent`,
770
+ data
771
+ )
772
+
773
+ this.$dispatch('breakControl', this.show_data)
774
+ },
775
+ 'onbutchange' (index) {
776
+
777
+ },
778
+ 'onbutblur' (index) {
779
+
780
+ },
781
+ 'onbutinput' (index) {
782
+
783
+ }
512
784
  },
513
785
  watch: {
514
786
  deep: true
@@ -63,6 +63,32 @@
63
63
  }
64
64
  },
65
65
  events: {
66
+ // 刷新控制层
67
+ async 'breakControl' (servicedata) {
68
+
69
+ if (servicedata.id) {
70
+ let data = {
71
+ condition: `u.id = ${servicedata.id}`,
72
+ data: {
73
+ orgid: this.$login.f.orgid
74
+ }
75
+ }
76
+ let res = await this.$resetpost(
77
+ 'rs/sql/supervisory',
78
+ {data: data},
79
+ {resolveMsg: null, rejectMsg: '数据更新失败,请手查询更新!!!'}
80
+ )
81
+ this.selectdata = Object.assign({}, this.selectdata, res.data[0])
82
+ } else {
83
+ this.selectdata = servicedata
84
+ }
85
+
86
+ this.showtotal = false
87
+ this.$nextTick(() => {
88
+ this.showtotal = true
89
+ })
90
+
91
+ },
66
92
  'onMessage' (data) {
67
93
  console.log('接收消息')
68
94
  console.log(data)
@@ -71,6 +97,7 @@
71
97
  }
72
98
  },
73
99
  async 'apply' (val) {
100
+ this.selectdata = null
74
101
  this.selectdata = val
75
102
  this.showtotal = false
76
103
 
@@ -55,7 +55,7 @@
55
55
  // return
56
56
  // }
57
57
  // this.$showMessage("对不起,您没有查看此节点的权限!")
58
-
58
+ delete row.id
59
59
  row = Object.assign({},this.selectdata,row)
60
60
  this.$dispatch('apply', row)
61
61
  },