apply-clients 3.4.2 → 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 (130) hide show
  1. package/android.html +23 -23
  2. package/build/dev-server.js +119 -119
  3. package/build/webpack.base.conf.js +2 -1
  4. package/build/webpack.dev.conf.js +12 -0
  5. package/dingding.html +23 -0
  6. package/index.html +33 -33
  7. package/package.json +2 -1
  8. package/src/AndroidApp.vue +35 -35
  9. package/src/DingDingApp.vue +51 -0
  10. package/src/android.js +21 -21
  11. package/src/apply.js +38 -13
  12. package/src/applyAndroid.js +46 -32
  13. package/src/applyDingDing.js +12 -0
  14. package/src/components/android/AppOnetomany.vue +343 -301
  15. package/src/components/android/AppServiceView.vue +189 -10
  16. package/src/components/android/AppSign.vue +19 -7
  17. package/src/components/android/AppTakePic.vue +143 -143
  18. package/src/components/android/AreaSelect/AppQrcodeReader.vue +73 -0
  19. package/src/components/android/AreaSelect/AppResAreaMapGroup.vue +148 -0
  20. package/src/components/android/AreaSelect/AppResAreaSelect.vue +108 -0
  21. package/src/components/android/AreaSelect/AppResAreaSelectGroup.vue +142 -0
  22. package/src/components/android/Function/AppFunctionServiceControl.vue +344 -0
  23. package/src/components/android/Function/AppInstallFunction.vue +366 -0
  24. package/src/components/android/Process/AppExplorationUser.vue +500 -320
  25. package/src/components/android/Process/AppServiceControl.vue +999 -48
  26. package/src/components/android/Process/Processes/AppAddMaterialScience.vue +477 -0
  27. package/src/components/android/Process/Processes/AppBuildSign.vue +46 -0
  28. package/src/components/android/Process/Processes/AppChargeManagement.vue +637 -0
  29. package/src/components/android/Process/Processes/AppDevicesManagement.vue +519 -0
  30. package/src/components/android/Process/Processes/AppInstallationDetails.vue +116 -90
  31. package/src/components/android/Process/Processes/AppSupplementalAgreement.vue +298 -0
  32. package/src/components/android/Process/Processes/selectApply.vue +250 -0
  33. package/src/components/android/Process/Processes/selectUserinfo.vue +182 -0
  34. package/src/components/android/ProgressReport/ProgressReportDetail.vue +64 -64
  35. package/src/components/android/Supervisory/AppProcessSupervisory.vue +205 -71
  36. package/src/components/android/Supervisory/AppSupervisoryCart.vue +69 -34
  37. package/src/components/android/TaskGraph.vue +125 -125
  38. package/src/components/common/TabButton.vue +149 -0
  39. package/src/components/common/Tabs.vue +67 -0
  40. package/src/components/image/dwg.jpg +0 -0
  41. package/src/components/image/txt.jpg +0 -0
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. package/src/components/product/ApplyCharge/ApplyChargeList.vue +272 -53
  48. package/src/components/product/ApplyCharge/ApplyChargeSearch.vue +3 -3
  49. package/src/components/product/AreaSelect/MyAreaSelect.vue +423 -0
  50. package/src/components/product/AreaSelect/ResAreaSelect.vue +106 -0
  51. package/src/components/product/AreaSelect/ResAreaSelectGroup.vue +150 -0
  52. package/src/components/product/AreaSelect/utils/EventListener.js +29 -0
  53. package/src/components/product/AreaSelect/utils/coerceBoolean.js +7 -0
  54. package/src/components/product/Business/BusinessApply.vue +269 -0
  55. package/src/components/product/Business/CivilApply.vue +269 -0
  56. package/src/components/product/Function/InstallFunction.vue +132 -125
  57. package/src/components/product/Function/InstallInfoSelect.vue +320 -292
  58. package/src/components/product/Function/Service/FunctionServiceControl.vue +445 -222
  59. package/src/components/product/GaoDeMapComponents/GaoDeMap.vue +231 -0
  60. package/src/components/product/GroupByApply/ApplyGroupByList.vue +253 -0
  61. package/src/components/product/GroupByApply/ApplyGroupByMain.vue +53 -0
  62. package/src/components/product/GroupByApply/ApplyGroupByPaper.vue +376 -0
  63. package/src/components/product/Install/InstallProject.vue +194 -0
  64. package/src/components/product/Material/MaterialDetailed.vue +262 -0
  65. package/src/components/product/OldApply/Handle/HandleApply.vue +337 -0
  66. package/src/components/product/OldApply/Monitor/MonitorApply.vue +360 -0
  67. package/src/components/product/OldApply/OldApply.vue +209 -0
  68. package/src/components/product/OldApply/OldApplyMessage.vue +420 -0
  69. package/src/components/product/Onetomany.vue +406 -377
  70. package/src/components/product/Print/BuildOrder/buildOrderList.vue +339 -0
  71. package/src/components/product/Print/BuildOrder/printBuildOrder.vue +157 -0
  72. package/src/components/product/Print/IgnitionBill/IgnitionBill.vue +259 -0
  73. package/src/components/product/Print/IgnitionBill/printIgnitionBill.vue +168 -0
  74. package/src/components/product/Process/ExplorationSelect.vue +495 -410
  75. package/src/components/product/Process/ExplorationUser.vue +189 -138
  76. package/src/components/product/Process/Processes/InstallationDetails.vue +25 -7
  77. package/src/components/product/Process/Processes/Print/printCharge.vue +41 -17
  78. package/src/components/product/Process/Processes/Print/printChargepc.vue +142 -0
  79. package/src/components/product/Process/Processes/Print/printRefund.vue +196 -0
  80. package/src/components/product/Process/Processes/addMaterialScience.vue +454 -0
  81. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +211 -207
  82. package/src/components/product/Process/Processes/chargeManagement.vue +20 -3
  83. package/src/components/product/Process/Processes/devicesManagement.vue +484 -478
  84. package/src/components/product/Process/Processes/selectApply.vue +2 -2
  85. package/src/components/product/Process/Service/ServiceControl.vue +638 -20
  86. package/src/components/product/Process/Service/ShowBackReason.vue +33 -33
  87. package/src/components/product/Process/ShowBackReason.vue +33 -0
  88. package/src/components/product/ServiceView.vue +357 -7
  89. package/src/components/product/Stop/StopApply.vue +101 -103
  90. package/src/components/product/Stop/StopApplyList.vue +271 -269
  91. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +884 -186
  92. package/src/components/product/Supervisory/SupervisoryControl.vue +137 -100
  93. package/src/components/product/Supervisory/SupervisoryList.vue +201 -30
  94. package/src/components/product/Supervisory/SupervisoryhCart.vue +130 -107
  95. package/src/components/product/VueUtils/ApplyUpload.vue +275 -273
  96. package/src/components/product/VueUtils/GaoPaiYi/HighMeter.vue +1090 -0
  97. package/src/components/product/VueUtils/HighMeter.vue +208 -208
  98. package/src/components/product/VueUtils/ToolsPage.vue +51 -0
  99. package/src/components/product/VueUtils/Tree.vue +330 -0
  100. package/src/dingding.js +19 -0
  101. package/src/expandcssAndroid.less +517 -1034
  102. package/src/filiale/yuchuan/android/Process/AppServiceControl.vue +735 -731
  103. package/src/filiale/yuchuan/android/Process/Processes/AppInstallationDetails.vue +824 -824
  104. package/src/filiale/yuchuan/android/Process/Processes/AppInstallationDetailsCivil.vue +650 -650
  105. package/src/filiale/yuchuan/android/Sign/AppSignTask.vue +182 -182
  106. package/src/filiale/yuchuan/android/Sign/BuildSign.vue +50 -50
  107. package/src/filiale/yuchuan/android/Sign/ConstructSign.vue +50 -50
  108. package/src/filiale/yuchuan/android/Sign/DesignSign.vue +50 -50
  109. package/src/filiale/yuchuan/android/Sign/SupervisorSign.vue +50 -50
  110. package/src/filiale/yuchuan/android/Task/Build/BuildTsak.vue +60 -60
  111. package/src/filiale/yuchuan/android/Task/Survey/SurveyTsak.vue +60 -60
  112. package/src/filiale/yuchuan/android.js +14 -14
  113. package/src/filiale/yuchuan/pc/Order/OrderApply.vue +528 -528
  114. package/src/filiale/yuchuan/pc/Order/OrderApplyList.vue +343 -343
  115. package/src/filiale/yuchuan/pc/Print/BuildOrder/buildOrderList.vue +264 -0
  116. package/src/filiale/yuchuan/pc/Print/BuildOrder/printBuildOrder.vue +152 -0
  117. package/src/filiale/yuchuan/pc/Process/ExplorationUser.vue +149 -149
  118. package/src/filiale/yuchuan/pc/Process/Processes/ApplyMapCom.vue +67 -67
  119. package/src/filiale/yuchuan/pc/Process/Processes/InstallationDetails.vue +809 -809
  120. package/src/filiale/yuchuan/pc/Process/Processes/InstallationDetailsCivil.vue +595 -595
  121. package/src/filiale/yuchuan/pc/Process/Processes/Print/printCharge.vue +125 -0
  122. package/src/filiale/yuchuan/pc/Process/Processes/chargeManagement.vue +621 -470
  123. package/src/filiale/yuchuan/pc/Process/Service/ServiceControl.vue +1108 -1074
  124. package/src/filiale/yuchuan/pc/Sign/SignRecord.vue +24 -0
  125. package/src/filiale/yuchuan/pc/Sign/SignRecordList.vue +174 -0
  126. package/src/filiale/yuchuan/pc.js +20 -12
  127. package/src/main.js +4 -1
  128. package/src/components/product/Function/StopApplyCrrdList.vue +0 -176
  129. package/src/components/product/Function/functions/ApplyRecordCancel.vue +0 -102
  130. package/src/components/product/Function/functions/StopInstall.vue +0 -106
@@ -1,9 +1,11 @@
1
1
  <template>
2
2
  <div class="form-horizontal select-overspread">
3
+ <validator name='v' @valid="$emit('valid')" @invalid="$emit('invalid')">
4
+ <!--<form>-->
3
5
  <div v-for="(index,item) in data.fields">
4
6
  <!--input-->
5
7
  <div :style="item.style ? item.style : ''"
6
- v-if="(item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email') && !item.hidden && (item.device === 'app' || !item.device)"
8
+ v-if="(item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email') && !item.hidden && (item.device === 'app' || !item.device) && (item.label != '证件号码')&&(item.label != '身份证') && (item.label != '用户电话')"
7
9
  :class="[item.required && !(item.value) ? 'apply-has-error' : '', item.bootstraped ? item.bootstraped + ' form-group app-input':'col-xs-12 form-group app-input']">
8
10
  <label class="control-label-justify">{{item.label}}</label>
9
11
  <div :style="item.value_style ? item.value_style:''"
@@ -22,6 +24,74 @@
22
24
  </div>
23
25
  </div>
24
26
 
27
+ <div :style="item.style ? item.style : ''"
28
+ v-if="(data.fields[index-1].value ==='营业执照'||data.fields[index-1].value ==='军官证')&& (item.label === '证件号码')"
29
+ :class="[item.required && !(item.value) ? 'apply-has-error' : '', item.bootstraped ? item.bootstraped + ' form-group app-input':'col-xs-12 form-group app-input']">
30
+ <label class="control-label-justify">{{item.label}}</label>
31
+ <div :style="item.value_style ? item.value_style:''"
32
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-xs-8'">
33
+ <input class="" style="width: 100%"
34
+ :type="item.type"
35
+ v-model="data.fields[index].value"
36
+ :placeholder="item.placeholder"
37
+ :value="data.fields[index].value"
38
+ :readonly="item.readonly"
39
+ :disabled="item.disabled"
40
+ @change="onchange(index)"
41
+ @blur="onblur(index)"
42
+ @input="oninput(index)"
43
+ />
44
+ </div>
45
+ </div>
46
+
47
+
48
+ <!--input身份证验证-->
49
+ <div :style="item.style ? item.style : ''"
50
+ v-if="(item.label==='身份证') || (item.label === '证件号码' && data.fields[index-1].value ==='身份证')"
51
+ :class="[$v.f_idnumber2.identityCardValid ? 'apply-has-error' : '',item.bootstraped ? item.bootstraped + ' form-group app-input':'col-xs-12 form-group app-input']">
52
+ <label class="control-label-justify">{{item.label}}</label>
53
+ <div :style="item.value_style ? item.value_style:''"
54
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-xs-8'">
55
+ <input class="" style="width: 100%"
56
+ :type="item.type"
57
+ maxlength="18"
58
+ v-model="data.fields[index].value"
59
+ :placeholder="item.placeholder"
60
+ :value="data.fields[index].value"
61
+ :readonly="item.readonly"
62
+ v-validate:f_idnumber2='{identityCardValid: true}'
63
+ @change="onchange(index)"
64
+ @blur="onblur(index)"
65
+ @input="oninput(index)"
66
+ />
67
+ </div>
68
+ </div>
69
+
70
+
71
+ <!--input手机号验证-->
72
+ <div :style="item.style ? item.style : ''"
73
+ v-if="item.label === '用户电话'"
74
+ :class="[$v.f_user_phone.minlength || $v.f_user_phone.maxlength ? 'apply-has-error' : '',item.bootstraped ? item.bootstraped + ' form-group app-input':'col-xs-12 form-group app-input']">
75
+ <label class="control-label-justify">{{item.label}}</label>
76
+ <div :style="item.value_style ? item.value_style:''"
77
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-xs-8'">
78
+ <input class="" style="width: 100%"
79
+ maxlength="18"
80
+ type="number"
81
+ onKeypress="return(/[\d\.]/.test(String.fromCharCode(event.keyCode)))"
82
+ oninput="if(value.length > 11) value=value.slice(0,11)"
83
+ v-validate:f_user_phone="{minlength: 7, maxlength: 11 }"
84
+ v-model="data.fields[index].value"
85
+ :placeholder="item.placeholder"
86
+ :value="data.fields[index].value"
87
+ :readonly="item.readonly"
88
+ @change="onchange(index)"
89
+ @blur="onblur(index)"
90
+ @input="oninput(index)"
91
+ />
92
+ </div>
93
+ </div>
94
+
25
95
  <!--select-->
26
96
  <div :style="item.style ? item.style : ''"
27
97
  v-if="item.type==='select' && !item.hidden && (item.device === 'app' || !item.device)"
@@ -34,6 +104,7 @@
34
104
  :placeholder="item.placeholder"
35
105
  :search="item.search"
36
106
  close-on-select value-single
107
+ @select-search="selectSearch($arguments,index)"
37
108
  :options="data.fields[index].options"
38
109
  v-model="data.fields[index].value"
39
110
  :value.sync="data.fields[index].value"
@@ -107,20 +178,21 @@
107
178
  </div>
108
179
  </div>
109
180
  </div>
110
-
111
- <div class="col-sm-12 col-xs-12">
181
+ <div class="col-sm-12 col-xs-12" id="test11">
112
182
  <accordion one-at-a-time="true">
113
183
  <panel v-for="(i,item) in data.onetomany" :header="item.title" :is-open="false" type="primary">
114
- <app-onetomany :onetomany="item" :index="i"></app-onetomany>
184
+ <app-onetomany :onetomany="item" :index="i" :selectdata="data"></app-onetomany>
115
185
  </panel>
116
- <panel v-for="(i,item) in data.components" :header="item.title" :is-open="false" type="primary" v-if="item.device === 'app' || !item.device">
186
+ <panel v-for="(i,item) in data.components" :header="item.title" :is-open="true" type="primary" v-if="item.device === 'app' || !item.device">
117
187
  <component :is="item.name" :selectdata="data" :mark="item.mark"></component>
118
188
  </panel>
119
189
  </accordion>
120
190
  </div>
121
191
 
122
192
  <!--自定义组件-->
123
- <slot></slot>
193
+ <slot>
194
+
195
+ </slot>
124
196
 
125
197
  <!-- 按钮组 -->
126
198
  <div class="text-center">
@@ -128,7 +200,16 @@
128
200
  :disabled="button.disabled && disable_button"
129
201
  style="min-width:100px"
130
202
  :class="button.disabled && disable_button ? 'btn btn-default button_spacing' : 'btn btn-primary button_spacing'"
131
- v-if="!button.hidden"
203
+ v-if="!button.hidden && button.button_name !=='提交'&& button.button_name !=='确认'"
204
+ @click.prevent="click_but(button)"
205
+ >
206
+ {{button.button_name}}
207
+ </button>
208
+ <button v-for="(index,button) in data.buttons"
209
+ :disabled="(button.disabled && disable_button) || (!$v.valid)"
210
+ style="min-width:100px"
211
+ :class="button.disabled && disable_button || (!$v.valid) ? 'btn btn-default button_spacing' : 'btn btn-primary button_spacing'"
212
+ v-if="!button.hidden && (button.button_name ==='提交'||button.button_name ==='确认')"
132
213
  @click.prevent="click_but(button)"
133
214
  >
134
215
  {{button.button_name}}
@@ -238,6 +319,7 @@
238
319
  </button>
239
320
  </footer>
240
321
  </modal>
322
+ <!--</form>-->
241
323
  </div>
242
324
  </template>
243
325
  <script>
@@ -277,7 +359,13 @@ export default {
277
359
  model: {}, // 公司等属性
278
360
  disable_button: true, // 控制按钮禁用
279
361
  disable_modal_button: true, // 控制按钮禁用
280
- showButModal: false
362
+ showButModal: false,
363
+ areaData:{
364
+ sjvalue:'',
365
+ xianvalue:'',
366
+ sqvalue:'',
367
+ mapvalue:'',
368
+ }
281
369
  }
282
370
  },
283
371
  watch: {
@@ -303,10 +391,37 @@ export default {
303
391
  // 是否禁用按钮
304
392
  this.disableButton()
305
393
  },
394
+ async getSelectShijiValue(sjvalue,sjlable) {
395
+
396
+ this.areaData.sjvalue = sjvalue
397
+ console.log("这是父级接收的市级值:",sjvalue,sjlable)
398
+ this.data.areaData = this.areaData
399
+ console.log(this.areaData)
400
+ // 是否禁用按钮
401
+ this.disableButton()
402
+ },
403
+ async getSelectXianValue(xianvalue,xianlable) {
404
+
405
+ this.areaData.xianvalue = xianvalue
406
+ this.data.areaData = this.areaData
407
+ console.log("这是父级接收的县级值:",xianvalue,xianlable)
408
+ console.log(this.areaData)
409
+
410
+ // 是否禁用按钮
411
+ this.disableButton()
412
+ },
413
+ async getSelectShequValue(sqvalue,sqlable) {
414
+ this.areaData.sqvalue = sqvalue
415
+ this.data.areaData = this.areaData
416
+ console.log(this.areaData)
417
+ console.log("这是父级接收的社区值:",sqvalue,sqlable)
418
+
419
+ // 是否禁用按钮
420
+ this.disableButton()
421
+ },
306
422
  // 是否禁用按钮
307
423
  disableButton () {
308
- let flag = false
309
-
424
+ var flag = false
310
425
  for (const field of this.data.fields) {
311
426
  if (field.required && !field.value && !field.hidden && field.value !== 0) {
312
427
  flag = true
@@ -321,6 +436,27 @@ export default {
321
436
  flag = true
322
437
  }
323
438
  }
439
+ //区域下拉框必选 流程模式为报警器报建 工商业报警器报建
440
+ if ((this.data.f_apply_type === '报警器报建' || this.data.f_apply_type === '工商业报警器报建') && this.data.defname === '工程施工' && this.data.title === '工程施工' && this.data.f_sub_state !='完工'){
441
+ if (!flag){
442
+ if (this.areaData.sjvalue ==null || this.areaData.sjvalue.length ==0 || this.areaData.sqvalue == null || this.areaData.sqvalue.length ==0
443
+ || this.areaData.xianvalue == null || this.areaData.xianvalue == 0){
444
+ console.log("区域为空禁止提交:",this.areaData)
445
+ flag = true
446
+ }
447
+ if (this.areaData.mapvalue ==null || this.areaData.mapvalue ==0){
448
+ console.log("坐标为空禁止提交map:",this.areaData.mapvalue)
449
+ flag = true
450
+ }
451
+ for (const fields of this.areaData.mapvalue) {
452
+ // console.log("报警器数据:",fields.f_bjq_lng)
453
+ if (fields.f_bjq_lng ==null || fields.f_bjq_lng.length ==0){
454
+ console.log("坐标为空禁止提交44444:",this.areaData.mapvalue)
455
+ flag = true
456
+ }
457
+ }
458
+ }
459
+ }
324
460
 
325
461
  this.disable_button = flag
326
462
  },
@@ -328,6 +464,7 @@ export default {
328
464
  async onchange (index) {
329
465
  // 是否禁用按钮
330
466
  this.disableButton()
467
+ // this.disablebtu()
331
468
 
332
469
  if (!isEmpty(this.data.fields[index].value)) {
333
470
  // 前缀、后缀
@@ -363,6 +500,9 @@ export default {
363
500
 
364
501
  this.$dispatch('onblur', index)
365
502
  },
503
+ disablebtu(){
504
+ this.flag = true
505
+ },
366
506
  oninput (index) {
367
507
  // 是否禁用按钮
368
508
  this.disableButton()
@@ -374,6 +514,14 @@ export default {
374
514
  },
375
515
  // 点击按钮组按钮
376
516
  async click_but (button) {
517
+ //报警器区域地址
518
+ this.data.areaData = this.areaData
519
+
520
+ if (this.data.defname === '通气点火') {
521
+
522
+ this.$showMessage(`请确认表号是否正确`).then((res) => {
523
+
524
+
377
525
  this.disable_button = true
378
526
 
379
527
  this.data.fields.forEach(item => {
@@ -392,6 +540,31 @@ export default {
392
540
  } else {
393
541
  this.$dispatch('button')
394
542
  }
543
+
544
+ })
545
+
546
+ }
547
+ else{
548
+ this.disable_button = true
549
+
550
+ this.data.fields.forEach(item => {
551
+ this.data[item.field] = item.value
552
+ })
553
+
554
+ this.data.button = button
555
+
556
+ if (button.button_fields && button.button_fields.length > 0) {
557
+ this.showButModal = true
558
+ return
559
+ }
560
+
561
+ if (this.data.button.event) {
562
+ this.$dispatch(this.data.button.event)
563
+ } else {
564
+ this.$dispatch('button')
565
+ }
566
+ }
567
+
395
568
  },
396
569
  confirmModal () {
397
570
  this.closeModal()
@@ -490,6 +663,12 @@ export default {
490
663
  }
491
664
  }
492
665
  }
666
+ },
667
+ selectSearch(event, index) {
668
+ if (this.data.fields[index].selectSearch) {
669
+ this.$dispatch(this.data.fields[index].selectSearch, event[0], index)
670
+ }
671
+ this.$dispatch('selectSearch', event[0], index)
493
672
  }
494
673
  },
495
674
  events: {
@@ -5,8 +5,8 @@
5
5
  <img :src="f_sign_path" width="100%" height="100%" />
6
6
  </div>
7
7
  <div class="row text-right form-group">
8
- <button class="btn" style="background-color: #f1e404;border-radius: 5px;margin-right: 10px" @click="clean" v-if="isclean">清除</button>
9
- <button class="btn" style="background-color: #7dc1f4;border-radius: 5px;margin-right: 10px" @click="sign" v-if="issign">签名</button>
8
+ <button class="btn" style="background-color: #f1e404;border-radius: 5px;margin-right: 10px" @click="clean">清除</button>
9
+ <button class="btn" style="background-color: #7dc1f4;border-radius: 5px;margin-right: 10px" @click="sign">签名</button>
10
10
  </div>
11
11
  </div>
12
12
  </div>
@@ -20,7 +20,7 @@ import Vue from "vue";
20
20
 
21
21
  export default {
22
22
  title: '签字',
23
- props: ['filePath', 'isclean', 'issign'],
23
+ props: ['filePath','blobid','type', 'defname'],
24
24
  data () {
25
25
  return {
26
26
  f_sign_path: null,
@@ -28,7 +28,10 @@ export default {
28
28
  }
29
29
  },
30
30
  ready () {
31
+ console.log('在ready里打印一下this.filePath',this.filePath)
31
32
  this.f_sign_path = this.filePath
33
+ console.log('在ready里打印一下this.f_sign_path',this.f_sign_path)
34
+ // this.getFiles()
32
35
  },
33
36
  methods: {
34
37
  clean () {
@@ -37,6 +40,9 @@ export default {
37
40
  this.$emit('sign-clean')
38
41
  },
39
42
  sign () {
43
+ debugger
44
+ this.type='手机签字'
45
+ console.log('==============签字打印this============',this)
40
46
  this.delAudioFile(this.f_sign_path)
41
47
  this.fileName = guid() + '.jpg'
42
48
  HostApp.__callback__ = this.signCallback
@@ -61,7 +67,11 @@ export default {
61
67
  },
62
68
  uploadFile () {
63
69
  console.log('===================签字文件上传==============')
70
+ console.log('===================打印id==============',HostApp.__this__.blobid)
64
71
  let data = {
72
+ defname:HostApp.__this__.defname,
73
+ type:HostApp.__this__.type,
74
+ blodid: HostApp.__this__.blobid,
65
75
  username: Vue.user.name,
66
76
  fremarks: '报装手机签字文件',
67
77
  fileName: HostApp.__this__.fileName,
@@ -71,19 +81,21 @@ export default {
71
81
  console.log('-----------bzLogic-----------------')
72
82
  console.log(JSON.stringify(data))
73
83
  let res = HostApp.bzLogic({
74
- 'logic': 'appFileUpload',
75
- 'data': data
84
+ 'logic': 'appFileUpload',
85
+ 'data': data
76
86
  })
77
87
  console.log('===============上传回调=================')
78
88
  console.log(JSON.stringify(res))
79
89
  HostApp.__this__.getFiles(res.id)
80
90
  },
81
91
  async getFiles (fileid) {
92
+ debugger
93
+ console.log('=========进来===============')
82
94
  let http = new HttpResetClass()
83
-
95
+ console.log('=========进来===============')
84
96
  let data = {
85
97
  tablename: 't_files',
86
- condition: `id = '${fileid}'`
98
+ condition: `f_blobid = '${this.blobid}' and fremarks='报装手机签字文件' `
87
99
  }
88
100
  let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {
89
101
  // let res = await http.load('POST', `rs/sql/singleTable`, {data: data}, {
@@ -1,143 +1,143 @@
1
- <template>
2
- <div class="panel">
3
- <div class="panel-body panel-self" style="background-color: #F8F8F8;">
4
- <div class="row form-group" style="height: 240px;overflow: scroll;">
5
- <div class="col-xs-4 col-sm-3 col-md-2 col-xs-offset-1 col-sm-offset-1 col-md-offset-1" v-for="(index,file) in fileList">
6
- <img-self :src="file.f_downloadURL" :width="120" :height="170"></img-self>
7
- <img v-if="isdelete" src="../../../src/assets/删除.png" style="width: 15px;margin-top: -80px" @click.prevent="delfile(file, index)">
8
- </div>
9
- </div>
10
- <div class="row text-right form-group" v-if="istakepic">
11
- <v-select
12
- class="fileType"
13
- placeholder="请选择使用类型"
14
- v-if="istype"
15
- :search="false"
16
- close-on-select
17
- value-single
18
- :options="typeList"
19
- v-model="type"
20
- :value.sync="type"
21
- ></v-select>
22
- <button class="btn" style="background-color: #7dc1f4;border-radius: 5px;margin-right: 10px" @click.prevent="takePic(type)">拍照</button>
23
- </div>
24
- </div>
25
- </div>
26
- </template>
27
-
28
- <script>
29
- import {HttpResetClass} from 'vue-client'
30
- import {guid, toStandardTimeString} from '../Util'
31
- import Vue from 'vue'
32
- export default {
33
- title: '附件',
34
- props: ['blobid', 'type', 'defname', 'istype', 'typelabel', 'isdelete', 'istakepic'],
35
- data () {
36
- return {
37
- fileList: []
38
- }
39
- },
40
- ready () {
41
- this.getFiles()
42
- },
43
- methods: {
44
- async getFiles () {
45
- console.log('----------------开始查询图片----------------')
46
- this.fileList = []
47
-
48
- let http = new HttpResetClass()
49
-
50
- let data = {
51
- tablename: 't_files',
52
- condition: `f_blobid = '${this.blobid}' and fremarks = '手机拍照' order by f_uploaddate desc `
53
- }
54
- let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {
55
- // let res = await http.load('POST', `rs/sql/singleTable`, {data: data}, {
56
- warnMsg: null,
57
- resolveMsg: null
58
- })
59
-
60
- for (var i = 0; i < res.data.length; i++) {
61
- console.log('-----------地址----------------')
62
- console.log(`${this.$androidUtil.getProxyUrl()}/${res.data[i].f_downloadpath.substring(res.data[i].f_downloadpath.lastIndexOf(":\\") + 2)}`)
63
- res.data[i].f_downloadURL = `${this.$androidUtil.getProxyUrl()}/${res.data[i].f_downloadpath.substring(res.data[i].f_downloadpath.lastIndexOf(":\\") + 2)}`
64
- }
65
-
66
- this.fileList = res.data
67
- },
68
- delfile (file, index) {
69
- this.$resetdelete(`${this.$androidUtil.getProxyUrl()}/rs/entity/t_files`, {id: file.id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
70
- this.$dispatch("delResid", file.id)
71
- this.getFiles()
72
- })
73
- },
74
- takePic (title) {
75
- // 拍照成功回调
76
- HostApp.__callback__ = this.cameraCallBack
77
- HostApp.__this__ = this
78
- let fileName = guid() + '.jpg'
79
- // 打开相机
80
- HostApp._open_a_page({
81
- type: 'boomerang',
82
- page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
83
- param: {
84
- file: fileName,
85
- requestCode: 200,
86
- callback: 'javascript:HostApp.__callback__("' + fileName + '", "%s");',
87
- watermark: title + '\t时间:' + toStandardTimeString() + '\t' + Vue.user.name // 水印
88
- }
89
- })
90
- },
91
- cameraCallBack (fileName, fileUrl) {
92
- console.log('-----------cameraCallBack-----------------')
93
-
94
- let data = {
95
- blodid: HostApp.__this__.blobid,
96
- type: HostApp.__this__.type,
97
- defname: HostApp.__this__.defname,
98
- username: Vue.user.name,
99
- fremarks: '手机拍照',
100
- fileName: fileName,
101
- fileUrl: fileUrl
102
- }
103
-
104
- console.log('-----------bzLogic-----------------')
105
- HostApp.bzLogic({
106
- 'logic': 'appFileUpload',
107
- 'data': data
108
- })
109
-
110
- console.log('----------------开始回调查询-------------------')
111
- HostApp.__this__.getFiles()
112
- console.log('----------------查询回调结束-------------------')
113
-
114
- HostApp.__callback__ = null
115
- HostApp.__this__ = null
116
- }
117
- },
118
- computed: {
119
- typeList () {
120
- if (this.typelabel) {
121
- return this.$appdata.getParam(this.typelabel)
122
- }
123
- return this.$appdata.getParam('使用类型')
124
- }
125
- },
126
- events: {
127
- }
128
- }
129
- </script>
130
-
131
- <style lang="less">
132
- .fileType {
133
- float: left;
134
- .select-style {
135
- background: #f8f8f8;
136
- border: 0px;
137
- }
138
- input {
139
- border-left: none;
140
- width: 100%;
141
- }
142
- }
143
- </style>
1
+ <template>
2
+ <div class="panel">
3
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;">
4
+ <div class="row form-group" style="height: 240px;overflow: scroll;">
5
+ <div class="col-xs-4 col-sm-3 col-md-2 col-xs-offset-1 col-sm-offset-1 col-md-offset-1" v-for="(index,file) in fileList">
6
+ <img-self :src="file.f_downloadURL" :width="120" :height="170"></img-self>
7
+ <img v-if="isdelete" src="../../../src/assets/删除.png" style="width: 15px;margin-top: -80px" @click.prevent="delfile(file, index)">
8
+ </div>
9
+ </div>
10
+ <div class="row text-right form-group" v-if="istakepic">
11
+ <v-select
12
+ class="fileType"
13
+ placeholder="请选择使用类型"
14
+ v-if="istype"
15
+ :search="false"
16
+ close-on-select
17
+ value-single
18
+ :options="typeList"
19
+ v-model="type"
20
+ :value.sync="type"
21
+ ></v-select>
22
+ <button class="btn" style="background-color: #7dc1f4;border-radius: 5px;margin-right: 10px" @click.prevent="takePic(type)">拍照</button>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </template>
27
+
28
+ <script>
29
+ import {HttpResetClass} from 'vue-client'
30
+ import {guid, toStandardTimeString} from '../Util'
31
+ import Vue from 'vue'
32
+ export default {
33
+ title: '附件',
34
+ props: ['blobid', 'type', 'defname', 'istype', 'typelabel', 'isdelete', 'istakepic'],
35
+ data () {
36
+ return {
37
+ fileList: []
38
+ }
39
+ },
40
+ ready () {
41
+ this.getFiles()
42
+ },
43
+ methods: {
44
+ async getFiles () {
45
+ console.log('----------------开始查询图片----------------')
46
+ this.fileList = []
47
+
48
+ let http = new HttpResetClass()
49
+
50
+ let data = {
51
+ tablename: 't_files',
52
+ condition: `f_blobid = '${this.blobid}' and fremarks = '手机拍照' order by f_uploaddate desc `
53
+ }
54
+ let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {
55
+ // let res = await http.load('POST', `rs/sql/singleTable`, {data: data}, {
56
+ warnMsg: null,
57
+ resolveMsg: null
58
+ })
59
+
60
+ for (var i = 0; i < res.data.length; i++) {
61
+ console.log('-----------地址----------------')
62
+ console.log(`${this.$androidUtil.getProxyUrl()}/${res.data[i].f_downloadpath.substring(res.data[i].f_downloadpath.lastIndexOf(":\\") + 2)}`)
63
+ res.data[i].f_downloadURL = `${this.$androidUtil.getProxyUrl()}/${res.data[i].f_downloadpath.substring(res.data[i].f_downloadpath.lastIndexOf(":\\") + 2)}`
64
+ }
65
+
66
+ this.fileList = res.data
67
+ },
68
+ delfile (file, index) {
69
+ this.$resetdelete(`${this.$androidUtil.getProxyUrl()}/rs/entity/t_files`, {id: file.id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
70
+ this.$dispatch("delResid", file.id)
71
+ this.getFiles()
72
+ })
73
+ },
74
+ takePic (title) {
75
+ // 拍照成功回调
76
+ HostApp.__callback__ = this.cameraCallBack
77
+ HostApp.__this__ = this
78
+ let fileName = guid() + '.jpg'
79
+ // 打开相机
80
+ HostApp._open_a_page({
81
+ type: 'boomerang',
82
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
83
+ param: {
84
+ file: fileName,
85
+ requestCode: 200,
86
+ callback: 'javascript:HostApp.__callback__("' + fileName + '", "%s");',
87
+ watermark: title + '\t时间:' + toStandardTimeString() + '\t' + Vue.user.name // 水印
88
+ }
89
+ })
90
+ },
91
+ cameraCallBack (fileName, fileUrl) {
92
+ console.log('-----------cameraCallBack-----------------')
93
+
94
+ let data = {
95
+ blodid: HostApp.__this__.blobid,
96
+ type: HostApp.__this__.type,
97
+ defname: HostApp.__this__.defname,
98
+ username: Vue.user.name,
99
+ fremarks: '手机拍照',
100
+ fileName: fileName,
101
+ fileUrl: fileUrl
102
+ }
103
+
104
+ console.log('-----------bzLogic-----------------')
105
+ HostApp.bzLogic({
106
+ 'logic': 'appFileUpload',
107
+ 'data': data
108
+ })
109
+
110
+ console.log('----------------开始回调查询-------------------')
111
+ HostApp.__this__.getFiles()
112
+ console.log('----------------查询回调结束-------------------')
113
+
114
+ HostApp.__callback__ = null
115
+ HostApp.__this__ = null
116
+ }
117
+ },
118
+ computed: {
119
+ typeList () {
120
+ if (this.typelabel) {
121
+ return this.$appdata.getParam(this.typelabel)
122
+ }
123
+ return this.$appdata.getParam('使用类型')
124
+ }
125
+ },
126
+ events: {
127
+ }
128
+ }
129
+ </script>
130
+
131
+ <style lang="less">
132
+ .fileType {
133
+ float: left;
134
+ .select-style {
135
+ background: #f8f8f8;
136
+ border: 0px;
137
+ }
138
+ input {
139
+ border-left: none;
140
+ width: 100%;
141
+ }
142
+ }
143
+ </style>