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,33 +1,33 @@
1
- <template>
2
- <div style="height: auto;text-align: center" class="col-sm-12" v-if="data != null">
3
- <span style="color: red;font-family: 微软雅黑;font-weight: bold;font-size: 18px">请注意被退回原因为:{{data.f_back_reason}} 退回时间:{{data.f_date}}</span>
4
- </div>
5
- </template>
6
- <script>
7
- import {HttpResetClass} from 'vue-client'
8
-
9
- export default {
10
- title: '退回原因展示',
11
- props: ['selectdata'],
12
- data () {
13
- return {
14
- data: null
15
- }
16
- },
17
- async ready () {
18
- let data = {
19
- tablename: 't_backcause',
20
- condition: `actid = '${this.selectdata.actid}' and f_process_id = '${this.selectdata.f_process_id}'`
21
- }
22
- let http = new HttpResetClass()
23
- let res = await http.load(
24
- 'POST',
25
- 'rs/sql/singleTable',
26
- {data: data}, {
27
- resolveMsg: null,
28
- rejectMsg: '退回原因查询失败!!!'
29
- })
30
- this.data = res.data[0]
31
- }
32
- }
33
- </script>
1
+ <template>
2
+ <div style="height: auto;text-align: center" class="col-sm-12" v-if="data != null">
3
+ <span style="color: red;font-family: 微软雅黑;font-weight: bold;font-size: 18px">请注意被退回原因为:{{data.f_back_reason}} 退回时间:{{data.f_date}}</span>
4
+ </div>
5
+ </template>
6
+ <script>
7
+ import {HttpResetClass} from 'vue-client'
8
+
9
+ export default {
10
+ title: '退回原因展示',
11
+ props: ['selectdata'],
12
+ data () {
13
+ return {
14
+ data: null
15
+ }
16
+ },
17
+ async ready () {
18
+ let data = {
19
+ tablename: 't_backcause',
20
+ condition: `actid = '${this.selectdata.actid}' and f_process_id = '${this.selectdata.f_process_id}'`
21
+ }
22
+ let http = new HttpResetClass()
23
+ let res = await http.load(
24
+ 'POST',
25
+ 'rs/sql/singleTable',
26
+ {data: data}, {
27
+ resolveMsg: null,
28
+ rejectMsg: '退回原因查询失败!!!'
29
+ })
30
+ this.data = res.data[0]
31
+ }
32
+ }
33
+ </script>
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <div style="height: auto;text-align: center" class="col-sm-12" v-if="data != null">
3
+ <span style="color: red;font-family: 微软雅黑;font-weight: bold;font-size: 18px">请注意被退回原因为:{{data.f_back_reason}} 退回时间:{{data.f_date}}</span>
4
+ </div>
5
+ </template>
6
+ <script>
7
+ import {HttpResetClass} from 'vue-client'
8
+
9
+ export default {
10
+ title: '退回原因展示',
11
+ props: ['selectdata'],
12
+ data () {
13
+ return {
14
+ data: null
15
+ }
16
+ },
17
+ async ready () {
18
+ let data = {
19
+ tablename: 't_backcause',
20
+ condition: `actid = '${this.selectdata.actid}' and f_process_id = '${this.selectdata.f_process_id}'`
21
+ }
22
+ let http = new HttpResetClass()
23
+ let res = await http.load(
24
+ 'POST',
25
+ 'rs/sql/singleTable',
26
+ {data: data}, {
27
+ resolveMsg: null,
28
+ rejectMsg: '退回原因查询失败!!!'
29
+ })
30
+ this.data = res.data[0]
31
+ }
32
+ }
33
+ </script>
@@ -1,11 +1,12 @@
1
1
  <template>
2
2
  <div class="select-overspread" style="background-color: #ffffff;padding: 20px;overflow: scroll">
3
+ <validator name='v' @valid="$emit('valid')" @invalid="$emit('invalid')">
3
4
  <form class="form-horizontal">
4
5
  <div class="form-group">
5
6
  <div v-for="(index,item) in data.fields">
6
7
  <!--input-->
7
8
  <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
8
- v-if="(item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email') && !item.hidden && (item.device === 'pc' || !item.device)"
9
+ v-if="(item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email') && !item.hidden && (item.device === 'pc' || !item.device) && ( item.label != '证件号码')&&( item.label !== '身份证') && (item.label !== '用户电话')"
9
10
  :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
10
11
  <label :style="item.label_style ? item.label_style : ''"
11
12
  :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
@@ -25,6 +26,78 @@
25
26
  </div>
26
27
  </div>
27
28
 
29
+ <!--input-->
30
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
31
+ v-if="((data.f_credentials === '军官证' ||data.f_credentials === '营业执照')&& item.label === '证件号码')"
32
+ :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
33
+ <label :style="item.label_style ? item.label_style : ''"
34
+ :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
35
+ <div :style="item.value_style ? item.value_style:''"
36
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
37
+ <input class="form-control input_view" style=""
38
+ :type="item.type"
39
+ v-model="data.fields[index].value"
40
+ :placeholder="item.placeholder"
41
+ :value="data.fields[index].value"
42
+ :readonly="item.readonly"
43
+ :disabled="item.disabled"
44
+ @change="onchange(index)"
45
+ @blur="onblur(index)"
46
+ @input="oninput(index)"
47
+ />
48
+ </div>
49
+ </div>
50
+ <!--身份证验证-->
51
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
52
+ v-if="(item.label==='身份证') || (data.f_credentials === '身份证' && item.label === '证件号码')"
53
+ :class="[$v.f_idnumber2.identityCardValid ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
54
+ <label :style="item.label_style ? item.label_style : ''"
55
+ :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
56
+ <div :style="item.value_style ? item.value_style:''"
57
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
58
+ <input class="form-control input_view" style=""
59
+ :type="item.type"
60
+ maxlength="18"
61
+ v-model="data.fields[index].value"
62
+ :placeholder="item.placeholder"
63
+ :value="data.fields[index].value"
64
+ v-validate:f_idnumber2='{identityCardValid: true}'
65
+ :readonly="item.readonly"
66
+ :disabled="item.disabled"
67
+ @change="onchange(index)"
68
+ @blur="onblur(index)"
69
+ @input="oninput(index)"
70
+ />
71
+ </div>
72
+ </div>
73
+
74
+
75
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
76
+ v-if="item.label === '用户电话'"
77
+ :class="[$v.f_user_phone.minlength || $v.f_user_phone.maxlength ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
78
+ <label :style="item.label_style ? item.label_style : ''"
79
+ :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
80
+ <div :style="item.value_style ? item.value_style:''"
81
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
82
+ <input class="form-control input_view" style=""
83
+ type="number"
84
+ oninput="if(value.length > 11) value=value.slice(0,11)"
85
+ v-validate:f_user_phone="{minlength: 7, maxlength: 11 }"
86
+ v-model="data.fields[index].value"
87
+ :placeholder="item.placeholder"
88
+ :value="data.fields[index].value"
89
+ onKeypress="return(/[\d\.]/.test(String.fromCharCode(event.keyCode)))"
90
+ :readonly="item.readonly"
91
+ :disabled="item.disabled"
92
+ @change="onchange(index)"
93
+ @blur="onblur(index)"
94
+ @input="oninput(index)"
95
+ />
96
+ </div>
97
+ </div>
98
+
99
+
100
+
28
101
  <!--时间datepicker-->
29
102
  <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
30
103
  v-if="item.type==='datepicker' && !item.hidden && (item.device === 'pc' || !item.device)"
@@ -114,6 +187,24 @@
114
187
  </div>
115
188
  </div>
116
189
  </div>
190
+ <!--区域地址联动-->
191
+ <div>
192
+ <res-area-select-group
193
+ v-if="(data.f_apply_type === '报警器报建' || data.f_apply_type === '工商业报警器报建') && data.defname === '工程施工' && data.title === '工程施工' && data.f_sub_state !='完工'"
194
+ labelstyle = "control-label"
195
+ @shiji-select = "getSelectShijiValue"
196
+ @xian-select = "getSelectXianValue"
197
+ @shequ-select = "getSelectShequValue"
198
+ >
199
+ </res-area-select-group>
200
+ </div>
201
+
202
+ <gaode-map
203
+ v-if="(data.f_apply_type === '报警器报建' || data.f_apply_type === '工商业报警器报建') && data.defname === '工程施工' && data.title === '工程施工' && data.f_sub_state !='完工'"
204
+ >
205
+
206
+ </gaode-map>
207
+
117
208
  </div>
118
209
 
119
210
  <!-- onetomany -->
@@ -126,7 +217,48 @@
126
217
  </div>
127
218
 
128
219
  <!--自定义组件-->
129
- <slot></slot>
220
+ <slot>
221
+ <!--<div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"-->
222
+ <!-- v-if="data.f_apply_type === '报警器报建' && data.defname === '工程施工'"-->
223
+ <!-- :class="[$v.f_idnumber2.identityCardValid ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">-->
224
+
225
+ <!--<div class="col-sm-6 form-group "-->
226
+ <!-- :class="[$v.f_pcd_id.required ? 'has-error' : 'has-success']">-->
227
+ <!-- <label class="font_normal_body">省&ensp;市&ensp;区</label>-->
228
+ <!-- <input type="text" style="width:41%" v-show="false" v-model="model.f_pcd_id"-->
229
+ <!-- v-validate:f_pcd_id='{required: true }'-->
230
+ <!-- >-->
231
+
232
+ <!-- <v-select :value.sync="model.f_pcd_id" :value-single="true"-->
233
+ <!-- :options='pcdslist' placeholder='请选择2'-->
234
+ <!-- close-on-select search="true" @change="pcdChange">-->
235
+ <!-- </v-select>-->
236
+ <!--</div>-->
237
+ <!--<div class="col-sm-6 form-group "-->
238
+ <!-- :class="[$v.f_street_id.required ? 'has-error' : 'has-success']">-->
239
+ <!-- <label class="font_normal_body">街道/乡镇</label>-->
240
+ <!-- <input type="text" style="width:41%" v-show="false" v-model="model.f_street_id"-->
241
+ <!-- >-->
242
+ <!-- <v-select :value.sync="model.f_street_id" :value-single="true"-->
243
+ <!-- :options='streetslist' placeholder='请选择'-->
244
+ <!-- @change="streetChange"-->
245
+ <!-- close-on-select search="true">-->
246
+ <!-- </v-select>-->
247
+
248
+ <!--</div>-->
249
+ <!--<div class="col-sm-6 form-group "-->
250
+ <!-- :class="[$v.f_residential_area_id.required ? 'has-error' : 'has-success']">-->
251
+ <!-- <label class="font_normal_body">集收单位</label>-->
252
+ <!-- <input type="text" style="width:41%" v-show="false" v-model="model.f_residential_area_id"-->
253
+ <!-- v-validate:f_residential_area_id='{required: true }'>-->
254
+ <!-- <v-select :value.sync="model.f_residential_area_id" :value-single="true"-->
255
+ <!-- :options='areaslist' placeholder='请选择'-->
256
+ <!-- @change="" @select-search="selectSearch"-->
257
+ <!-- close-on-select search="true">-->
258
+ <!-- </v-select>-->
259
+ <!--</div>-->
260
+ <!--</div>-->
261
+ </slot>
130
262
  <!--公司等属性-->
131
263
  <div class="col-sm-12 form-group text-center" style="padding-top:8px">
132
264
  <div class="col-sm-3 form-group center-block">
@@ -158,10 +290,19 @@
158
290
  <div class="from-group col-sm-12 text-center">
159
291
  <!-- 按钮组 -->
160
292
  <button v-for="(index,button) in data.buttons"
161
- :disabled="button.disabled && disable_button"
293
+ :disabled="(button.disabled && disable_button)"
162
294
  style="min-width:100px"
163
295
  :class="button.disabled && disable_button ? 'btn btn-default button_spacing' : 'btn btn-primary button_spacing'"
164
- v-if="!button.hidden"
296
+ v-if="!button.hidden && button.button_name !=='提交'&& button.button_name !=='确认'"
297
+ @click.prevent="click_but(button)"
298
+ >
299
+ {{button.button_name}}
300
+ </button>
301
+ <button v-for="(index,button) in data.buttons"
302
+ :disabled="(button.disabled && disable_button) || (!$v.valid)"
303
+ style="min-width:100px"
304
+ :class="button.disabled && disable_button || (!$v.valid) ? 'btn btn-default button_spacing' : 'btn btn-primary button_spacing'"
305
+ v-if="!button.hidden && (button.button_name ==='提交'||button.button_name ==='确认')"
165
306
  @click.prevent="click_but(button)"
166
307
  >
167
308
  {{button.button_name}}
@@ -277,6 +418,7 @@
277
418
  <script>
278
419
  import Vue from 'vue'
279
420
  import {isEmpty} from '../Util'
421
+ import {HttpResetClass} from 'vue-client'
280
422
  // Date格式化
281
423
  Date.prototype.Format = function (fmt) {
282
424
  var o = {
@@ -307,7 +449,24 @@ export default {
307
449
  model: {}, // 公司等属性
308
450
  disable_button: true, // 控制按钮禁用
309
451
  disable_modal_button: true, // 控制按钮禁用
310
- showButModal: false
452
+ //初始化省市区数据
453
+ pcdslist: [],
454
+ //初始化街道数据
455
+ streetslist: [],
456
+ //初始化街道数据
457
+ areaslist: [],
458
+ showButModal: false,
459
+ areaData:{
460
+ sjvalue:'',
461
+ xianvalue:'',
462
+ sqvalue:'',
463
+ },
464
+ templatlng: {
465
+ gaodetemplng: "",
466
+ gaodetemplat: "",
467
+ baidutemplng: "",
468
+ baidutemplat: ""
469
+ }
311
470
  }
312
471
  },
313
472
  watch: {
@@ -333,7 +492,6 @@ export default {
333
492
 
334
493
  // 是否禁用按钮
335
494
  this.disableButton()
336
-
337
495
  // 公司等属性初始化
338
496
  if (this.data.orgs) {
339
497
  this.model.orgs = this.data.orgs
@@ -355,11 +513,182 @@ export default {
355
513
  } else {
356
514
  this.model.operator = this.$login.f.name
357
515
  }
516
+
517
+ this.initpcds(` j_orgid = '${this.$login.f.orgid}'`)
518
+ },
519
+ async getSelectShijiValue(sjvalue,sjlable) {
520
+ this.areaData.sjvalue = sjvalue
521
+ console.log("这是父级接收的市级值:",sjvalue,sjlable)
522
+ this.data.areaData = this.areaData
523
+
524
+ // 是否禁用按钮
525
+ this.disableButton()
526
+ },
527
+ async getSelectXianValue(xianvalue,xianlable) {
528
+ this.areaData.xianvalue = xianvalue
529
+ this.data.areaData = this.areaData
530
+ console.log("这是父级接收的县级值:",xianvalue,xianlable)
531
+
532
+ // 是否禁用按钮
533
+ this.disableButton()
534
+ },
535
+ async getSelectShequValue(sqvalue,sqlable) {
536
+ this.areaData.sqvalue = sqvalue
537
+ this.data.areaData = this.areaData
538
+ console.log("这是父级接收的社区值:",sqvalue,sqlable)
539
+
540
+ // 是否禁用按钮
541
+ this.disableButton()
542
+ },
543
+ //初始化省市区,添加街道
544
+ async initpcds(pconditon) {
545
+ // console.log('initpcds', pconditon)
546
+ // this.pcdslist = []
547
+ // let HttpReset = new HttpResetClass()
548
+ // let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy?pageNo=1&pageSize=9999999', {
549
+ // data: {
550
+ // items: '*',
551
+ // tablename: 'j_bjqpcd',
552
+ // orderitem: 'id',
553
+ // condition: pconditon
554
+ // }
555
+ // }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
556
+ // let redata = []
557
+ // req.data.forEach((row, n) => {
558
+ // redata[n] = {
559
+ // label: row.j_areaname,
560
+ // value: row.j_areaid,
561
+ // data: row,
562
+ // id: row.id
563
+ // }
564
+ // })
565
+ // console.log('市区', redata)
566
+ // this.pcdslist = redata
567
+ },
568
+ //初始化街道 添加小区
569
+ async initstreets(pconditon) {
570
+ // console.log('市区32', pconditon)
571
+ // this.streetslist = []
572
+ // let HttpReset = new HttpResetClass()
573
+ // let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy', {
574
+ // data: {
575
+ // items: '*',
576
+ // tablename: 'j_bjqstreet',
577
+ // orderitem: 'id',
578
+ // condition: pconditon
579
+ // }
580
+ // }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
581
+ // let redata = []
582
+ // req.data.forEach((row, n) => {
583
+ // redata[n] = {
584
+ // label: row.j_areaname,
585
+ // value: row.j_areaid,
586
+ // data: row,
587
+ // id: row.id
588
+ // }
589
+ // })
590
+ // console.log('市区333', redata)
591
+ // this.streetslist = redata
592
+ // this.model.f_iscity = this.findbyid(this.streetslist, this.model.f_street_id).f_iscity
593
+ },
594
+ //初始化小区添加小区
595
+ async initareas(pconditon) {
596
+ // if(this.usertype){
597
+ // pconditon=pconditon+` and f_special='1' `
598
+ // }
599
+ // this.areaslist = []
600
+ // let HttpReset = new HttpResetClass()
601
+ // let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy?pageNo=1&pageSize=100', {
602
+ // data: {
603
+ // items: '*',
604
+ // tablename: 'j_bjqarea',
605
+ // orderitem: 'id',
606
+ // condition: pconditon
607
+ // }
608
+ // }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
609
+ // let redata = []
610
+ // req.data.forEach((row) => {
611
+ // redata.push({
612
+ // label: row.j_areaname,
613
+ // value: row.j_areaid,
614
+ // data: row,
615
+ // id: row.id
616
+ // })
617
+ // })
618
+ // console.log('市区666', redata)
619
+ // if (redata.length>0){
620
+ // this.areaslist = redata
621
+ // }
622
+ },
623
+ //省/市/区变化
624
+ async pcdChange(val) {
625
+
626
+ // console.log("省/市/区变化", val)
627
+ // console.log("省/市/区变化", ` f_pcd_id ='${val}' `)
628
+ // if (val) {
629
+ // //那就把[小区,街道]重新组织一下
630
+ // await this.initstreets(` j_parentid ='${val}' `)
631
+ // if (this.model.f_street_id) {
632
+ // if (this.findbyid(this.streetslist, this.model.f_street_id)) {
633
+ // let pcd_id = this.findbyid(this.streetslist, this.model.f_street_id).f_pcd_id
634
+ // if (pcd_id != val) {
635
+ // this.model.f_street_id = ''
636
+ // }
637
+ // } else {
638
+ // this.model.f_street_id = ''
639
+ // }
640
+ //
641
+ // //那就把[小区,街道]重新组织一下
642
+ // if (this.model.f_street_id) {
643
+ // await this.initareas(` j_parentid ='${this.model.f_street_id}' `)
644
+ // if (this.model.f_residential_area_id) {
645
+ // if (this.findbyid(this.areaslist, this.model.f_residential_area_id)) {
646
+ // let pcd_id = this.findbyid(this.areaslist, this.model.f_residential_area_id).f_pcd_id
647
+ // if (pcd_id != val) {
648
+ // this.model.f_residential_area_id = ''
649
+ // }
650
+ // } else {
651
+ // this.model.f_residential_area_id = ''
652
+ // }
653
+ //
654
+ // }
655
+ // }
656
+ // }
657
+ // }
658
+ // this.$resetValidation()
659
+ },
660
+ //街道变化
661
+ async streetChange(val) {
662
+ // console.log("街道变化", val)
663
+ // if (this.streetslist[0]) {
664
+ // var street = ''
665
+ // this.streetslist.forEach((item) => {
666
+ // if (item.id === val) {
667
+ // street = item.label
668
+ // }
669
+ // })
670
+ // this.model.f_address = street
671
+ // }
672
+ // if (val) {
673
+ // //那就把[小区]重新组织一下
674
+ // await this.initareas(` j_parentid ='${val}' `)
675
+ // if (this.model.f_residential_area_id) {
676
+ // if (this.findbyid(this.areaslist, this.model.f_residential_area_id)) {
677
+ // let street_id = this.findbyid(this.areaslist, this.model.f_residential_area_id).f_street_id
678
+ // if (street_id != val) {
679
+ // this.model.f_residential_area_id = ''
680
+ // }
681
+ // } else {
682
+ // this.model.f_residential_area_id = ''
683
+ // }
684
+ //
685
+ // }
686
+ // }
687
+ // this.$resetValidation()
358
688
  },
359
689
  // 是否禁用按钮
360
690
  disableButton () {
361
691
  let flag = false
362
-
363
692
  for (const field of this.data.fields) {
364
693
  if (field.required && !field.value && !field.hidden && field.value !== 0) {
365
694
  flag = true
@@ -375,6 +704,22 @@ export default {
375
704
  }
376
705
  }
377
706
 
707
+ //区域下拉框必选 流程模式为报警器报建
708
+ if ((this.data.f_apply_type === '报警器报建' || this.data.f_apply_type === '工商业报警器报建') && this.data.defname === '工程施工' && this.data.title === '工程施工' && this.data.f_sub_state !='完工'){
709
+ if (!flag){
710
+ if (this.areaData.sjvalue ==null || this.areaData.sjvalue.length ==0 || this.areaData.sqvalue == null || this.areaData.sqvalue.length ==0
711
+ || this.areaData.xianvalue == null || this.areaData.xianvalue.length == 0){
712
+ console.log("区域为空禁止提交:",this.areaData)
713
+ flag = true
714
+ }
715
+
716
+ if (this.templatlng.baidutemplat ==null || this.templatlng.baidutemplat.length ==0 || this.templatlng.baidutemplng == null || this.templatlng.baidutemplng.length ==0
717
+ || this.templatlng.gaodetemplat == null || this.templatlng.gaodetemplat.length == 0 || this.templatlng.gaodetemplng == null || this.templatlng.gaodetemplng.length == 0){
718
+ console.log("地图坐标为空禁止提交:",this.templatlng)
719
+ flag = true
720
+ }
721
+ }
722
+ }
378
723
  this.disable_button = flag
379
724
  },
380
725
  // 失去焦点且值最终发生变化触发
@@ -431,6 +776,10 @@ export default {
431
776
  },
432
777
  // 点击按钮组按钮
433
778
  async click_but (button) {
779
+ //报警器区域地址
780
+ this.data.areaData = this.areaData
781
+ this.data.templatlng = this.templatlng
782
+
434
783
  this.disable_button = true
435
784
 
436
785
  this.data.fields.forEach(item => {
@@ -449,6 +798,7 @@ export default {
449
798
  } else {
450
799
  this.$dispatch('button')
451
800
  }
801
+
452
802
  },
453
803
  confirmModal () {
454
804
  this.closeModal()