apply-clients 3.4.3 → 3.4.4

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 (79) hide show
  1. package/package.json +1 -1
  2. package/src/AndroidApp.vue +18 -18
  3. package/src/android.js +1 -1
  4. package/src/apply.js +39 -20
  5. package/src/applyAndroid.js +23 -9
  6. package/src/components/android/AppOnetomany.vue +47 -5
  7. package/src/components/android/AppServiceView.vue +745 -566
  8. package/src/components/android/AppSign.vue +154 -142
  9. package/src/components/android/AppTakePic.vue +11 -11
  10. package/src/components/android/AreaSelect/AppQrcodeReader.vue +73 -0
  11. package/src/components/android/AreaSelect/AppResAreaMapGroup.vue +148 -0
  12. package/src/components/android/AreaSelect/AppResAreaSelect.vue +108 -0
  13. package/src/components/android/AreaSelect/AppResAreaSelectGroup.vue +142 -0
  14. package/src/components/android/Function/AppFunctionServiceControl.vue +344 -0
  15. package/src/components/android/Function/AppInstallFunction.vue +366 -0
  16. package/src/components/android/Process/AppExplorationUser.vue +217 -37
  17. package/src/components/android/Process/AppServiceControl.vue +1708 -757
  18. package/src/components/android/Process/Processes/AppAddMaterialScience.vue +477 -0
  19. package/src/components/android/Process/Processes/AppBuildSign.vue +46 -0
  20. package/src/components/android/Process/Processes/AppChargeManagement.vue +637 -0
  21. package/src/components/android/Process/Processes/AppDevicesManagement.vue +519 -0
  22. package/src/components/android/Process/Processes/AppInstallationDetails.vue +482 -456
  23. package/src/components/android/Process/Processes/AppSupplementalAgreement.vue +298 -0
  24. package/src/components/android/Process/Processes/selectApply.vue +250 -0
  25. package/src/components/android/Process/Processes/selectUserinfo.vue +182 -0
  26. package/src/components/android/Supervisory/AppProcessSupervisory.vue +205 -71
  27. package/src/components/android/Supervisory/AppSupervisoryCart.vue +156 -121
  28. package/src/components/common/TabButton.vue +149 -0
  29. package/src/components/common/Tabs.vue +67 -0
  30. package/src/components/image/dwg.jpg +0 -0
  31. package/src/components/image/txt.jpg +0 -0
  32. package/src/components/image//345/221/250/345/217/243/346/224/266/346/254/276/344/270/223/347/224/250/347/253/240.png +0 -0
  33. package/src/components/image//350/245/277/345/215/216/346/224/266/346/254/276/344/270/223/347/224/250/347/253/240.png +0 -0
  34. package/src/components/image//351/203/270/345/237/216/346/224/266/346/254/276/344/270/223/347/224/250/347/253/240.png +0 -0
  35. package/src/components/image//351/241/271/345/237/216/346/224/266/346/254/276/344/270/223/347/224/250/347/253/240.png +0 -0
  36. package/src/components/image//351/271/277/351/202/221/346/224/266/346/254/276/344/270/223/347/224/250/347/253/240.png +0 -0
  37. package/src/components/product/ApplyCharge/ApplyChargeList.vue +272 -53
  38. package/src/components/product/ApplyCharge/ApplyChargeSearch.vue +3 -3
  39. package/src/components/product/AreaSelect/MyAreaSelect.vue +423 -0
  40. package/src/components/product/AreaSelect/ResAreaSelect.vue +106 -0
  41. package/src/components/product/AreaSelect/ResAreaSelectGroup.vue +150 -0
  42. package/src/components/product/AreaSelect/utils/EventListener.js +29 -0
  43. package/src/components/product/AreaSelect/utils/coerceBoolean.js +7 -0
  44. package/src/components/product/Function/InstallFunction.vue +3 -2
  45. package/src/components/product/Function/InstallInfoSelect.vue +41 -21
  46. package/src/components/product/Function/Service/FunctionServiceControl.vue +96 -71
  47. package/src/components/product/GaoDeMapComponents/GaoDeMap.vue +231 -0
  48. package/src/components/product/Install/InstallProject.vue +194 -0
  49. package/src/components/product/OldApply/Handle/HandleApply.vue +337 -0
  50. package/src/components/product/OldApply/Monitor/MonitorApply.vue +360 -0
  51. package/src/components/product/OldApply/OldApply.vue +209 -0
  52. package/src/components/product/OldApply/OldApplyMessage.vue +420 -0
  53. package/src/components/product/Onetomany.vue +40 -11
  54. package/src/components/product/Process/ExplorationSelect.vue +495 -417
  55. package/src/components/product/Process/ExplorationUser.vue +145 -94
  56. package/src/components/product/Process/Processes/InstallationDetails.vue +610 -592
  57. package/src/components/product/Process/Processes/Print/printCharge.vue +166 -142
  58. package/src/components/product/Process/Processes/Print/printChargepc.vue +142 -0
  59. package/src/components/product/Process/Processes/Print/printRefund.vue +196 -0
  60. package/src/components/product/Process/Processes/addMaterialScience.vue +454 -0
  61. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +4 -0
  62. package/src/components/product/Process/Processes/chargeManagement.vue +656 -638
  63. package/src/components/product/Process/Processes/devicesManagement.vue +484 -478
  64. package/src/components/product/Process/Processes/selectApply.vue +2 -2
  65. package/src/components/product/Process/Service/ServiceControl.vue +628 -10
  66. package/src/components/product/Process/ShowBackReason.vue +33 -0
  67. package/src/components/product/ServiceView.vue +981 -631
  68. package/src/components/product/Stop/StopApply.vue +26 -30
  69. package/src/components/product/Stop/StopApplyList.vue +27 -25
  70. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +732 -34
  71. package/src/components/product/Supervisory/SupervisoryControl.vue +38 -1
  72. package/src/components/product/Supervisory/SupervisoryList.vue +404 -233
  73. package/src/components/product/Supervisory/SupervisoryhCart.vue +51 -28
  74. package/src/components/product/VueUtils/ApplyUpload.vue +40 -38
  75. package/src/components/product/VueUtils/GaoPaiYi/HighMeter.vue +1090 -0
  76. package/src/components/product/VueUtils/ToolsPage.vue +51 -0
  77. package/src/components/product/VueUtils/Tree.vue +330 -0
  78. package/src/expandcssAndroid.less +362 -879
  79. package/src/main.js +3 -0
@@ -110,10 +110,10 @@
110
110
  <div class="col-xs-8" >
111
111
  <v-select
112
112
  width="100%"
113
- v-model="model.f_is_later"
113
+ v-model="model.f_no_valid"
114
114
  placeholder='稍后处理'
115
- condition="f_is_later = '{}'"
116
- :value.sync="model.f_is_later"
115
+ condition="lp.f_no_valid = '{}'"
116
+ :value.sync="model.f_no_valid"
117
117
  :options='$parent.$parent.laterList'
118
118
  class="select select_list"
119
119
  :value-single="true"
@@ -123,6 +123,7 @@
123
123
  <div class="row form-group text-right" style="">
124
124
  <button class="btn btn-primary" @click="$parent.$parent.search()">查询</button>
125
125
  <button class="btn btn-info" @click="$parent.$parent.clear()">清空</button>
126
+ <button class="btn btn-info" @click="$parent.$parent.showModal = !$parent.$parent.showModal">工程发起</button>
126
127
  <button class="btn" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"></button>
127
128
  </div>
128
129
  </div>
@@ -148,7 +149,7 @@
148
149
  </div>
149
150
  <div class="col-xs-12">
150
151
  <p class="col-xs-3 text-left font"><b>客户编号:</b></p>
151
- <p class="col-xs-9 text-left input-font">{{ row.f_userinfo_code }}</p>
152
+ <p :class="[ row.defname =='通气点火' && (row.f_apply_nature=='热水器' || row.f_apply_nature=='壁挂炉') ? 'redy' : (row.f_apply_nature=='热水器' || row.f_apply_nature=='壁挂炉' ? 'pred': (row.defname =='通气点火' ? 'p1':''))]" class="col-xs-9 text-left input-font">{{ row.f_userinfo_code }}</p>
152
153
  </div>
153
154
  <div class="col-xs-12">
154
155
  <p class="col-xs-3 text-left font"><b>报建类型:</b></p>
@@ -170,14 +171,83 @@
170
171
  <p class="col-xs-3 text-left font"><b>施工备注:</b></p>
171
172
  <p class="col-xs-9 text-left input-font">{{ row.f_construction_remarks }}</p>
172
173
  </div>
174
+ <div class="col-xs-12" style="color: red" v-if="row.defname == '工程施工'||row.defname=='工程派工'">
175
+ <p class="col-xs-3 text-left font"><b>报装备注:</b></p>
176
+ <p class="col-xs-9 text-left input-font">{{ row.f_apply_remarks }}</p>
177
+ </div>
178
+ <div class="col-xs-12" v-if="row.f_no_valid != null">
179
+ <p class="col-xs-4 text-left font"><b>稍后处理备注:</b></p>
180
+ <p class="col-xs-8 text-left input-font" style="color: red">{{row.f_later_remarks}}</p>
181
+ </div>
182
+
183
+ <div class="col-xs-12" v-if="row.f_back_reason != null">
184
+ <p class="col-xs-4 text-left font"><b>退回备注:</b></p>
185
+ <p class="col-xs-8 text-left input-font">
186
+ <span style="color: red;font-family: 微软雅黑;font-weight: bold;font-size: 18px">请注意被退回原因为:{{row.f_back_reason}} 退回时间:{{row.f_date}}</span>
187
+ </p>
188
+ </div>
173
189
 
174
190
  <div class="col-xs-12 text-right">
191
+ <button class="btn btn-info" type="button" @click="$parent.$parent.$parent.openLater(row) " v-if="row.f_no_valid !== '有效'">稍后处理</button>
175
192
  <button class="btn btn-info" @click="$parent.$parent.$parent.click(row)">处理</button>
176
193
  </div>
177
194
  </div>
178
195
  </div>
179
196
  </list>
197
+
180
198
  </criteria-paged>
199
+ <validator name="v">
200
+ <modal v-if="showLater" :show.sync="showLater" v-ref:modal :large="true" :backdrop="false" title="稍后处理">
201
+ <header slot="modal-header" class="modal-header">
202
+ <button type="button" class="close" @click="closeModal"><span>&times;</span></button>
203
+ <h4 class="modal-title">稍后处理</h4>
204
+ </header>
205
+
206
+ <article slot="modal-body" class="modal-body clearfix">
207
+ <div class="form-group col-sm-12">
208
+ <label class="col-sm-2 control-label">稍后处理备注:</label>
209
+ <div class="col-sm-10">
210
+ <input type="textarea"
211
+ class="form-control input_view"
212
+ style="width: 100%"
213
+ v-model="laterapply.f_later_remarks" />
214
+ </div>
215
+ </div>
216
+ </article>
217
+
218
+ <footer slot="modal-footer" class="modal-footer">
219
+ <button type="button" class="btn btn-primary" :disabled='!$v.valid' @click="later()">稍后处理</button>
220
+ </footer>
221
+ </modal>
222
+ </validator>
223
+ <validator name="v">
224
+ <modal
225
+ v-if="showModal"
226
+ :show.sync="showModal"
227
+ backdrop="false"
228
+ title="工程类型"
229
+ cancel-text="取消"
230
+ ok-text="确认"
231
+ :callback="apply"
232
+ >
233
+ <div class="form-horizontal" slot="modal-body">
234
+ <div class="row form-group app-input" style="margin: 10px auto">
235
+ <label class="">报建类型:</label>
236
+ <div class="col-sm-8">
237
+ <v-select
238
+ v-model="applyType"
239
+ placeholder='请选择需要发起的工程类型'
240
+ :value.sync="applyType"
241
+ :options='applyTypes'
242
+ :value-single="true"
243
+ class="select select_list"
244
+ :search="false"
245
+ close-on-select ></v-select>
246
+ </div>
247
+ </div>
248
+ </div>
249
+ </modal>
250
+ </validator>
181
251
  </div>
182
252
  </template>
183
253
  <script>
@@ -188,25 +258,59 @@ export default {
188
258
  title: '报建流程',
189
259
  data () {
190
260
  return {
261
+ selectdate: {},
262
+ showLater: false,
191
263
  model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/checkuser`, 20, {
192
- // model: new PagedList('rs/sql/checkuser', 20, {
193
264
  data: {
194
- userid: Vue.user.id,
265
+ id: Vue.user.id,
195
266
  orgid: Vue.user.orgid
196
- // userid: '97036',
197
- // orgid: '21142'
198
- }
267
+ },
199
268
  }),
269
+ showModal: false,
270
+ applyType: '', // 报建类型
271
+ // applyTypes:this.$appdata.getParam("手机报建类型"),
272
+ applyTypes:[{label:'散户报建',value:'散户报建'},{label:'工商户报建',value:'工商户报建'},{label:'团购报建',value:'团购报建'},{label:'改管报建',value:'改管报建'},{label:'增容报建',value:'增容报建'},{label:'退款报建',value:'退款报建'},{label:'团购转散户',value:'团购转散户'},{label:'报警器报建',value:'报警器报建'},{label:'工商业报警器报建',value:'工商业报警器报建'}],
200
273
  criteriaShow: false,
201
- applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')], // 所有报建类型
274
+ applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')], // 所有报建类型
275
+ // applytype: [{label: '全部', value: ''}, {label:'团购转散户',value:'团购转散户'} ], // 所有报建类型
202
276
  defnames: [{label: '全部', value: ''}],
203
- applyNatures: [{label: '全部', value: ''}] // 报建性质
277
+ applyNatures: [{label: '全部', value: ''}], // 报建性质
278
+ laterList: [
279
+ {label: '全部', value: ''},
280
+ {label: '有效', value: '有效'}
281
+ ],
282
+ laterapply: {}
204
283
  }
205
284
  },
206
285
  ready () {
286
+ //this.$refs.cp.$refs.cri.model.defname='报装缴费'
287
+ //this.$refs.cp.$refs.cri.model.defname='合同签订'
207
288
  this.search()
208
289
  },
209
290
  methods: {
291
+ openLater (row) {
292
+ this.selectdate = row
293
+ this.showLater=true
294
+ },
295
+ async later () {
296
+ let http = new HttpResetClass()
297
+ let data = {
298
+ laterapply: this.laterapply,
299
+ selectdata: this.selectdate,
300
+ user: Vue.user
301
+ }
302
+ let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/laterprocessing`, {data:data}, {
303
+ resolveMsg: null,
304
+ rejectMsg: '稍后处理记录保存失败!!!'
305
+ })
306
+ this.closeModal()
307
+ },
308
+ closeModal() {
309
+ this.selectdate = null
310
+ this.showLater = false
311
+ this.laterapply = {}
312
+ this.search()
313
+ },
210
314
  dialNumber (phone) {
211
315
  this.$showMessage(`是否拨打电话:${phone}`, ['confirm']).then((res) => {
212
316
  if (res === 'confirm') {
@@ -224,7 +328,7 @@ export default {
224
328
  this.$refs.cp.$refs.cri.search()
225
329
  },
226
330
  searchCondition (args) {
227
- args.condition += `and act.defname in ${this.appDefnames}`
331
+ args.condition = args.condition + `and (act.defname!='信息确认' and act.defname!='合同签订' or (u.f_apply_type='工商户报建'and act.defname='合同签订')) `
228
332
  this.model.search(args.condition, args.model)
229
333
  },
230
334
  click (row) {
@@ -240,7 +344,7 @@ export default {
240
344
  if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
241
345
  let http = new HttpResetClass()
242
346
  http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/getDefnameByType`, {
243
- // http.load('POST', 'rs/logic/getDefnameByType', {
347
+ // http.load('POST', 'rs/logic/getDefnameByType', {
244
348
  f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type
245
349
  }, {resolveMsg: null, rejectMsg: null}).then((res) => {
246
350
  this.defnames = [{label: '全部', value: ''}, ...res.data]
@@ -252,7 +356,73 @@ export default {
252
356
 
253
357
  this.applyNatures = [{label: '全部', value: ''}]
254
358
  }
255
- }
359
+ },
360
+ // 报装申请
361
+ async apply () {
362
+ if (this.applyType === '' || this.applyType === null) {
363
+ this.$showAlert('请选择需要发起的类型', 'warning', 3000)
364
+ return
365
+ }
366
+ let data = {
367
+ f_apply_type: this.applyType
368
+ }
369
+ if (this.applyType === '散户报建') {
370
+ data.processname = '散户报建流程'
371
+ data.defname = '报装申请'
372
+ } else if (this.applyType === '工商户报建') {
373
+ data.processname = '工商户报建流程'
374
+ data.defname = '报装申请'
375
+ } else if (this.applyType === '改管报建') {
376
+ data.processname = '改管报建流程'
377
+ data.defname = '报装申请'
378
+ } else if (this.applyType === '增容报建') {
379
+ data.processname = '增容报建流程'
380
+ data.defname = '报装申请'
381
+ } else if (this.applyType === '团购报建') {
382
+ data.processname = '团购报建流程'
383
+ data.defname = '报装申请'
384
+ } else if (this.applyType === '退款报建') {
385
+ data.processname = '退款报建流程'
386
+ data.defname = '终止报建'
387
+ } else if (this.applyType === '团购转散户') {
388
+ data.processname = '团购转散户报建流程'
389
+ data.defname = '信息确认'
390
+ }else if (this.applyType === '报警器报建') {
391
+ data.processname = '报警器报建流程'
392
+ data.defname = '报装申请'
393
+ }else if (this.applyType === '工商业报警器报建') {
394
+ data.processname = '工商业报警器报建流程'
395
+ data.defname = '报装申请'
396
+ } else {
397
+ this.$showMessage('暂无此类报装')
398
+ return
399
+ }
400
+
401
+ data.f_sub_state = "新增"
402
+ data.f_apply_source = "线下发起"
403
+ data.f_process_id = await this.getProcessId(data.processname)
404
+
405
+ // 调用ExplorationUser事件
406
+
407
+ this.click(data)
408
+ this.applyType = null
409
+ this.showModal = false
410
+ },
411
+ // 获取流程id
412
+ async getProcessId(processname) {
413
+ let data = {
414
+ workname: processname
415
+ }
416
+ let http = new HttpResetClass()
417
+ let res = await http.load(
418
+ 'POST',
419
+ `${this.$androidUtil.getProxyUrl()}/rs/logic/getProcessId`,
420
+ {data: data},
421
+ {resolveMsg: null, rejectMsg: '流程标识获取失败!!!'}
422
+ )
423
+
424
+ return res.data
425
+ },
256
426
  },
257
427
  events: {
258
428
  },
@@ -260,6 +430,7 @@ export default {
260
430
  },
261
431
  computed: {
262
432
  appDefnames () {
433
+ // let list = [{label: '报装缴费', value: '报装缴费'}, {label: '通气点火', value: '通气点火'},{label: '工程施工', value: '工程施工'},{label: '工程派工', value: '工程派工'},{label: '点火派单', value: '点火派单'}]
263
434
  let list = this.$appdata.getParam('手机节点')
264
435
  return `(${list.map(item => `'${item.value}'`).toString()})`
265
436
  }
@@ -267,31 +438,40 @@ export default {
267
438
  }
268
439
  </script>
269
440
  <style scoped>
270
- .panel-self{
271
- border-radius: 10px;
272
- border:1px solid #499EDF;
273
- background-color: #F8F8F8;
274
- }
275
- .font{
276
- font: 15px PingFang-SC-Medium;
277
- color: #666666;
278
- }
441
+ .pred{
442
+ color: red;
443
+ }
444
+ .p1 {
445
+ color: #ffaf4f;
446
+ }
447
+ .redy{
448
+ color: deeppink;
449
+ }
450
+ .panel-self{
451
+ border-radius: 10px;
452
+ border:1px solid #499EDF;
453
+ background-color: #F8F8F8;
454
+ }
455
+ .font{
456
+ font: 15px PingFang-SC-Medium;
457
+ color: #666666;
458
+ }
279
459
 
280
- .button_shrink_top {
281
- width: 34px;
282
- height: 34px;
283
- border: solid 1px #6aa6e2;
284
- background-size: 100%;
285
- background-image: url("../../../../static/newStyle/stretch_top.png")
286
- }
460
+ .button_shrink_top {
461
+ width: 34px;
462
+ height: 34px;
463
+ border: solid 1px #6aa6e2;
464
+ background-size: 100%;
465
+ background-image: url("../../../../static/newStyle/stretch_top.png")
466
+ }
287
467
 
288
- .button_shrink_bottom {
289
- width: 34px;
290
- height: 34px;
291
- border: solid 1px #6aa6e2;
292
- background-size: 100%;
293
- background-image: url("../../../../static/newStyle/stretch_bottom.png")
294
- }
468
+ .button_shrink_bottom {
469
+ width: 34px;
470
+ height: 34px;
471
+ border: solid 1px #6aa6e2;
472
+ background-size: 100%;
473
+ background-image: url("../../../../static/newStyle/stretch_bottom.png")
474
+ }
295
475
  </style>
296
476
  <style lang="less">
297
477
  .app-input {