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
@@ -15,7 +15,7 @@
15
15
  :isdelete="true"
16
16
  :isusetype="true"
17
17
  :isremark = "true"
18
- :takeimg="false"
18
+ :takeimg="true"
19
19
  :issearch="true"
20
20
  :defname="show_data.defname"
21
21
  >
@@ -39,7 +39,7 @@
39
39
  showData: true // 控制列表数据
40
40
  }
41
41
  },
42
- ready () {
42
+ created () {
43
43
  this.getConfig()
44
44
  },
45
45
  methods: {
@@ -60,6 +60,7 @@
60
60
  let data = {
61
61
  condition: `u.id = ${servicedata.id}`,
62
62
  data: {
63
+ id: this.$login.f.id,
63
64
  orgid: this.$login.f.orgid
64
65
  }
65
66
  }
@@ -14,15 +14,15 @@
14
14
  ></res-select>
15
15
  </div>
16
16
  <div class="form-group col-sm-3">
17
- <label class="font_normal_body">报建编号:</label>
18
- <input type="text" style="width:60%" class="input_search" placeholder='报建编号' v-model="model.f_apply_num"
17
+ <label class="font_normal_body">工程编号:</label>
18
+ <input type="text" style="width:60%" class="input_search" placeholder='工程编号' v-model="model.f_apply_num"
19
19
  v-on:keyup.enter="$parent.$parent.search()"
20
20
  condition="f_apply_num = '{}'">
21
21
  </div>
22
22
  <div class="form-group col-sm-3">
23
- <label class="font_normal_body">项目名称:</label>
24
- <input type="text" style="width:60%" class="input_search" v-model="model.f_entry_name"
25
- v-on:keyup.enter="$parent.$parent.search()" condition="f_entry_name like '%{}%'" placeholder='项目名称'>
23
+ <label class="font_normal_body">客户名称:</label>
24
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
25
+ v-on:keyup.enter="$parent.$parent.search()" condition="f_user_name like '%{}%'" placeholder='客户名称'>
26
26
  </div>
27
27
  <div class="form-group col-sm-3 button-range">
28
28
  <button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
@@ -38,14 +38,16 @@
38
38
  </div>
39
39
  <div class="row" v-show="$parent.$parent.criteriaShow">
40
40
  <div class="form-group col-sm-3">
41
- <label class="font_normal_body">客户名称:</label>
42
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
43
- v-on:keyup.enter="$parent.$parent.search()" condition="f_user_name like '%{}%'" placeholder='客户名称'>
41
+ <label class="font_normal_body">联系电话:</label>
42
+ <input type="text" style="width:60%" class="input_search" placeholder='联系电话' v-model="model.f_phone"
43
+ v-on:keyup.enter="$parent.$parent.search()"
44
+ condition="f_phone like '%{}%'">
44
45
  </div>
45
46
  <div class="form-group col-sm-3">
46
- <label class="font_normal_body">联&ensp;系&ensp;人:</label>
47
- <input type="text" style="width:60%" class="input_search" v-model="model.f_contact"
48
- v-on:keyup.enter="$parent.$parent.search()" condition="f_contact like '%{}%'" placeholder='联系人'>
47
+ <label class="font_normal_body">身份证号:</label>
48
+ <input type="text" style="width:60%" class="input_search" placeholder='身份证号' v-model="model.f_idnumber"
49
+ v-on:keyup.enter="$parent.$parent.search()"
50
+ condition="f_idnumber like '%{}%'">
49
51
  </div>
50
52
  <div class="form-group col-sm-3">
51
53
  <label class="font_normal_body">合同编号:</label>
@@ -58,7 +60,7 @@
58
60
  <v-select
59
61
  v-model="model.f_apply_type"
60
62
  placeholder='报建类型'
61
- condition="f_apply_type like '%{}%'"
63
+ condition="f_apply_type = '{}'"
62
64
  :value.sync="model.f_apply_type"
63
65
  :options='$parent.$parent.applytype'
64
66
  class="select select_list"
@@ -79,10 +81,16 @@
79
81
  close-on-select ></v-select>
80
82
  </div>
81
83
  <div class="form-group col-sm-3">
82
- <label class="font_normal_body">联系电话:</label>
83
- <input type="text" style="width:60%" class="input_search" placeholder='联系电话' v-model="model.f_phone"
84
- v-on:keyup.enter="$parent.$parent.search()"
85
- condition="f_phone like '%{}%'">
84
+ <label class="font_normal_body">报建性质:</label>
85
+ <v-select
86
+ v-model="model.f_apply_nature"
87
+ placeholder='报建性质'
88
+ condition="f_apply_nature = '{}'"
89
+ :value.sync="model.f_apply_nature"
90
+ :options='$parent.$parent.applyNatures'
91
+ class="select select_list"
92
+ :value-single="true"
93
+ close-on-select ></v-select>
86
94
  </div>
87
95
  <div class="form-group col-sm-3">
88
96
  <label class="font_normal_body">用户地址:</label>
@@ -96,7 +104,7 @@
96
104
  style="width: 60%!important;"
97
105
  v-model="model.startDate"
98
106
  :value.sync="model.startDate"
99
- :format="'yyyy-MM-dd HH:mm:ss'"
107
+ :format="'yyyy-MM-dd 00:00:00'"
100
108
  :show-reset-button="true"
101
109
  condition="f_apply_date >= '{}'">
102
110
  </datepicker>
@@ -107,7 +115,7 @@
107
115
  style="width: 60%!important;"
108
116
  v-model="model.endDate"
109
117
  :value.sync="model.endDate"
110
- :format="'yyyy-MM-dd HH:mm:ss'"
118
+ :format="'yyyy-MM-dd 23:59:59'"
111
119
  :show-reset-button="true"
112
120
  condition="f_apply_date <= '{}'">
113
121
  </datepicker>
@@ -119,11 +127,12 @@
119
127
  <template partial='head'>
120
128
  <tr class="title">
121
129
  <th style="white-space: nowrap;">序号</th>
122
- <th style="white-space: nowrap;">报建编号</th>
123
- <th style="white-space: nowrap;">项目名称/客户名称/联系人</th>
130
+ <th style="white-space: nowrap;">工程编号</th>
131
+ <th style="white-space: nowrap;">客户名称</th>
124
132
  <th style="white-space: nowrap;">合同编号</th>
125
133
  <th style="white-space: nowrap;">电话</th>
126
134
  <th style="white-space: nowrap;">地址</th>
135
+ <th style="white-space: nowrap;">身份证号</th>
127
136
  <th style="white-space: nowrap;">报建类型</th>
128
137
  <th style="white-space: nowrap;">办理环节</th>
129
138
  <th style="white-space: nowrap;">流程状态</th>
@@ -140,7 +149,7 @@
140
149
  <nobr>{{row.f_apply_num}}</nobr>
141
150
  </td>
142
151
  <td style="text-align: center;">
143
- <nobr>{{row.f_entry_name}}/{{row.f_user_name}}/{{row.f_contact}}</nobr>
152
+ <nobr>{{row.f_user_name}}</nobr>
144
153
  </td>
145
154
  <td style="text-align: center;">
146
155
  <nobr>{{row.f_contract_number}}</nobr>
@@ -151,6 +160,9 @@
151
160
  <td style="text-align: center;">
152
161
  <nobr>{{row.f_address}}</nobr>
153
162
  </td>
163
+ <td style="text-align: center;">
164
+ <nobr>{{row.f_idnumber}}</nobr>
165
+ </td>
154
166
  <td style="text-align: center;">
155
167
  <nobr>{{row.f_apply_type}}</nobr>
156
168
  </td>
@@ -198,6 +210,7 @@
198
210
  curorgid: [this.$login.f.orgid],
199
211
  applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')],
200
212
  defnames: [{label: '全部', value: ''}], // 流程节点
213
+ applyNatures: [{label: '全部', value: ''}], // 报建性质
201
214
  criteriaShow: false
202
215
  }
203
216
  },
@@ -236,6 +249,9 @@
236
249
  if (item.device && item.device !== 'pc') {
237
250
  continue
238
251
  }
252
+ // if (item.device || item.device !== 'pc') {
253
+ // continue
254
+ // }
239
255
  this.funcs.push(item)
240
256
  }
241
257
  },
@@ -274,8 +290,12 @@
274
290
  )
275
291
 
276
292
  this.defnames = [{label: '全部', value: ''}, ...res.data]
293
+
294
+ this.applyNatures = isEmpty(this.$appdata.getParam(`${this.$refs.cp.$refs.cri.model.f_apply_type}性质`)) ? [{label: '全部', value: ''}] : [{label: '全部', value: ''}, ...this.$appdata.getParam(`${this.$refs.cp.$refs.cri.model.f_apply_type}性质`)]
277
295
  } else {
278
296
  this.defnames = [{label: '全部', value: ''}]
297
+
298
+ this.applyNatures = [{label: '全部', value: ''}]
279
299
  }
280
300
  },
281
301
  clear () {
@@ -4,13 +4,15 @@
4
4
  <script>
5
5
  import {HttpResetClass} from 'vue-client'
6
6
  import Vue from 'vue'
7
+ import {isEmpty} from "../../../Util";
7
8
  export default {
8
9
  title: '报建功能业务控制层',
9
10
  props: ['selectdata'],
10
11
  data () {
11
12
  return {
12
13
  show_data: null, // 给通用页面显示的数据
13
- showview: false // 控制通用页面
14
+ showview: false, // 控制通用页面
15
+ config: {}
14
16
  }
15
17
  },
16
18
  ready () {
@@ -151,32 +153,6 @@
151
153
  this.showview = true
152
154
  })
153
155
  },
154
- // 金额转大写
155
- smalltoBIG(n) {
156
- let fraction = ['角', '分'];
157
- let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
158
- let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
159
- let head = n < 0 ? '欠' : '';
160
- n = Math.abs(n);
161
-
162
- let s = '';
163
-
164
- for (var i = 0; i < fraction.length; i++) {
165
- s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
166
- }
167
- s = s || '整';
168
- n = Math.floor(n);
169
-
170
- for (var i = 0; i < unit[0].length && n > 0; i++) {
171
- let p = '';
172
- for (var j = 0; j < unit[1].length && n > 0; j++) {
173
- p = digit[n % 10] + unit[1][j] + p;
174
- n = Math.floor(n / 10);
175
- }
176
- s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
177
- }
178
- return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
179
- },
180
156
  getLableValue(label) {
181
157
  for (const item of this.show_data.fields) {
182
158
  if (item.label === label && item.type !== 'number') {
@@ -223,20 +199,6 @@
223
199
  }
224
200
  }
225
201
  },
226
- showButtons(...buttons) {
227
- for (const item of this.show_data.buttons) {
228
- if (buttons.includes(item.button_name)) {
229
- item.hidden = false
230
- }
231
- }
232
- },
233
- hideButtons(...buttons) {
234
- for (const item of this.show_data.buttons) {
235
- if (buttons.includes(item.button_name)) {
236
- item.hidden = true
237
- }
238
- }
239
- },
240
202
  requiredLabels(...labels) {
241
203
  for (const item of this.show_data.fields) {
242
204
  if (labels.includes(item.label)) {
@@ -266,42 +228,78 @@
266
228
  item.disabled = false
267
229
  }
268
230
  }
269
- },
270
- disabledButtons(...buttons) {
271
- for (const item of this.show_data.buttons) {
272
- if (buttons.includes(item.button_name)) {
273
- item.disabled = true
231
+ }
232
+ },
233
+ events: {
234
+ // 信息修改初始化
235
+ 'modifyInfoReadyEvent' () {
236
+ this.$getConfig(this, 'UserAddress')
237
+
238
+ let f_address_type = this.show_data.f_address_type
239
+
240
+ for (const item of this.show_data.fields) {
241
+ if (f_address_type === '民用市区') {
242
+ if (item.label === '区/县' || item.label === '街道/乡镇' || item.label === '集收单位' || item.label === '门牌号') {
243
+ item.hidden = false
244
+ item.required = true
245
+ }
246
+ if (item.label === '楼号/组' || item.label === '单元/排' || item.label === '楼层') {
247
+ item.hidden = false
248
+ item.required = false
249
+ }
250
+ if (item.label === '地址') {
251
+ item.readonly = true
252
+ }
274
253
  }
275
- }
276
- },
277
- enableButtons(...buttons) {
278
- for (const item of this.show_data.buttons) {
279
- if (buttons.includes(item.button_name)) {
280
- item.disabled = false
254
+ if (f_address_type === '民用乡镇') {
255
+ if (item.label === '区/县' || item.label === '街道/乡镇' || item.label === '集收单位' || item.label === '门牌号') {
256
+ item.hidden = false
257
+ item.required = true
258
+ }
259
+ if (item.label === '楼号/组' || item.label === '单元/排' || item.label === '楼层') {
260
+ item.hidden = false
261
+ item.required = false
262
+ }
263
+ if (item.label === '楼层') {
264
+ item.hidden = true
265
+ item.required = false
266
+ }
267
+ if (item.label === '地址') {
268
+ item.readonly = true
269
+ }
270
+ }
271
+ if (f_address_type === '特殊地址') {
272
+ if (item.label === '区/县' || item.label === '街道/乡镇') {
273
+ item.hidden = false
274
+ item.required = true
275
+ }
276
+ if (item.label === '集收单位') {
277
+ item.hidden = false
278
+ item.required = false
279
+ }
280
+ if (item.label === '楼号/组' || item.label === '单元/排' || item.label === '楼层' || item.label === '门牌号') {
281
+ item.hidden = true
282
+ item.required = false
283
+ }
284
+ if (item.label === '地址') {
285
+ item.readonly = false
286
+ }
281
287
  }
282
288
  }
283
289
  },
284
- async checkDuplicate(index) {
285
- let http = new HttpResetClass()
286
- let data = {
287
- tablename: 't_apply',
288
- condition: `${this.show_data.fields[index].field} = '${this.show_data.fields[index].value}'`
289
- }
290
- let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
291
- resolveMsg: null,
292
- rejectMsg: `${this.show_data.fields[index].label}查询失败`
293
- })
294
- if (res.data.length > 0) {
295
- this.show_data.fields[index].value = null
296
- this.$showAlert(`${this.show_data.fields[index].label}已存在!!!`, 'warning', 3000)
297
- }
298
- }
299
- },
300
- events: {
290
+ // 信息修改
291
+ async 'modifyInfo' () {
292
+ let res = await this.$resetpost(
293
+ `rs/logic/modifyUserInfo`,
294
+ this.show_data,
295
+ {resolveMsg: null, rejectMsg: '用户信息修改失败!!!'}
296
+ )
297
+ this.$dispatch('loadPage')
298
+ },
301
299
  async 'stopApply' () {
302
300
 
303
301
  let data = {
304
- apply: this.show_data,
302
+ data: this.show_data,
305
303
  user: this.$login.f
306
304
  }
307
305
 
@@ -316,7 +314,7 @@
316
314
  async 'pauseApply' () {
317
315
 
318
316
  let data = {
319
- apply: this.show_data,
317
+ data: this.show_data,
320
318
  user: this.$login.f
321
319
  }
322
320
 
@@ -341,6 +339,33 @@
341
339
  },
342
340
  // 失去焦点出触发事件
343
341
  'onchange' (index) {
342
+ if (this.show_data.title === '信息修改') {
343
+ if (
344
+ this.show_data.fields[index].label === '区/县' ||
345
+ this.show_data.fields[index].label === '街道/乡镇' ||
346
+ this.show_data.fields[index].label === '集收单位' ||
347
+ this.show_data.fields[index].label === '楼号/组' ||
348
+ this.show_data.fields[index].label === '单元/排' ||
349
+ this.show_data.fields[index].label === '楼层' ||
350
+ this.show_data.fields[index].label === '门牌号'
351
+ ) {
352
+
353
+ let f_pcd = this.getLableValue('区/县') || ''
354
+ let f_street = this.getLableValue('街道/乡镇') || ''
355
+ let f_residential_area = this.getLableValue('集收单位') || ''
356
+ let f_building = this.getLableValue('楼号/组') || ''
357
+ let f_building_suffix = f_building ? this.config.f_building_suffix : ''
358
+ let f_unit = this.getLableValue('单元/排') || ''
359
+ let f_unit_suffix = f_unit ? this.config.f_unit_suffix : ''
360
+ let f_floor = this.getLableValue('楼层') || ''
361
+ let f_floor_suffix = f_floor ? this.config.f_floor_suffix : ''
362
+ let f_room = this.getLableValue('门牌号') || ''
363
+ let f_room_suffix = f_room ? this.config.f_room_suffix : ''
364
+
365
+ 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
366
+ this.setLabelValue("地址", f_address)
367
+ }
368
+ }
344
369
  },
345
370
  'onblur' (index) {},
346
371
  'oninput' (index) {},
@@ -0,0 +1,231 @@
1
+ <template>
2
+ <div id="gaoDeMap" class="display:flex">
3
+ <div :class="style">
4
+ <label :class="labelstyle" :style="lngColors">经度</label>
5
+ <div class="col-sm-6">
6
+ <input class="form-control input_view" style=""
7
+ type="input"
8
+ v-model="gaodetemplng"
9
+ placeholder="经度"
10
+ :readonly="readonly"
11
+ :disabled="disabled"
12
+ />
13
+ </div>
14
+ </div>
15
+ <div :class="style">
16
+ <label :class="labelstyle" :style="latColors">纬度</label>
17
+ <div class="col-sm-6">
18
+ <input class="form-control input_view" style=""
19
+ type="input"
20
+ v-model="gaodetemplat"
21
+ placeholder="纬度"
22
+ :readonly="readonly"
23
+ :disabled="disabled"
24
+ />
25
+ </div>
26
+ <button v-el:btn type="button" class="btn btn-default dropdown-toggle select-style margin-left:20px"
27
+ @click="openModal"
28
+ @blur="show = (search ? show : false)"
29
+ v-bind="{disabled: disabled}"
30
+ >
31
+ <span class="glyphicon glyphicon-map-marker" style="color: blue">获取位置</span>
32
+ </button>
33
+ </div>
34
+
35
+ <div>
36
+ <modal :show.sync="mapShow" v-if="mapShow" large backdrop="false" :width="900">
37
+ <header slot="modal-header" class="modal-header">
38
+ </header>
39
+ <article slot="modal-body" class="modal-body">
40
+ <amap-location :islocationclearmark="false" dom="gaodeaddboxmap" v-ref:positionInfo
41
+ @getmylocation="getmylocation"></amap-location>
42
+ </article>
43
+ <footer slot="modal-footer" class="modal-footer">
44
+ <button v-show="mapShow" type="button" class="button_clear btn-gn" @click='closeModal'>取消</button>
45
+ <button v-show="mapShow" type="button" class="button_clear btn-gn" @click='confirmLocation'>确认</button>
46
+ </footer>
47
+ </modal>
48
+ </div>
49
+ </div>
50
+ </template>
51
+ <script>
52
+
53
+ import {HttpResetClass} from 'vue-client'
54
+ import Vue from "vue";
55
+
56
+ export default {
57
+ title: '高德地图',
58
+ props: {
59
+ style: {
60
+ type: String,
61
+ default: 'col-sm-3 form-group'
62
+ },
63
+ labelstyle: {
64
+ type: String,
65
+ default: 'control-label-justify control-label col-sm-2'
66
+ },
67
+ mul: {
68
+ type: Boolean,
69
+ default: true
70
+ },
71
+ readonly: {
72
+ type: Boolean,
73
+ default: true
74
+ },
75
+ disabled: {
76
+ type: Boolean,
77
+ default: false
78
+ }
79
+ //初始值 默认选中值
80
+ // initres: {
81
+ // type: Object,
82
+ // default: null,
83
+ // }
84
+ },
85
+ data() {
86
+ return {
87
+ orgresid: [this.$login.f.orgid],
88
+ options: [],
89
+ initres: [],
90
+ lngColors: "color: #cd5c5c",//红色
91
+ latColors: "color: #cd5c5c",//红色
92
+ pubColors: "color: #0c2e4d",// 黑色
93
+ pub2Colors: "color: #cd5c5c",// 红色
94
+ mapShow: false,//弹窗
95
+ gaodetemplng: "",//临时经度
96
+ gaodetemplat: "",//临时纬度
97
+ baidutemplng: "",
98
+ baidutemplat: ""
99
+ }
100
+ },
101
+ ready() {
102
+ this.getResList();
103
+ },
104
+ methods: {
105
+ async getResList() {
106
+ },
107
+ openModal() {
108
+ this.mapShow = true
109
+ },
110
+ closeModal() {
111
+ this.mapShow = false
112
+ },
113
+ getmylocation(res) {
114
+ this.GdMapTransBMap(res.position.lng, res.position.lat)
115
+ },
116
+ confirmLocation() {
117
+ // console.log("这是确认的位置信息:", this.gaodetemplng, this.gaodetemplat)
118
+ // this.row.f_userfiles_lat = this.templat
119
+ // this.row.f_userfiles_lng = this.templng
120
+ this.mapShow = false
121
+ },
122
+ // 提交前进行 经纬度坐标装换 高德转百度
123
+ async GdMapTransBMap(lng, lat) {
124
+ try {
125
+ var lnglattemp = {
126
+ 'lnglat': lng + ',' + lat
127
+ }
128
+ var lnglat = await this.$resetpost(
129
+ // `rs/logic/gdMapTransBMap`,
130
+ `ncc/rs/logic/gdMapTransBMap`,
131
+ {data: lnglattemp},
132
+ {resolveMsg: null, rejectMsg: '地图坐标转换失败了'}
133
+ )
134
+ console.log("地图坐标转换请求返回值:",lnglat)
135
+ if (lnglat.data.status != 0) {
136
+ this.gaodetemplng = ""
137
+ this.gaodetemplat = ""
138
+ this.baidutemplng = ""
139
+ this.baidutemplat = ""
140
+ this.$showMessage("地图坐标转换失败: "+lnglat.data.message)
141
+ return
142
+ }
143
+ this.gaodetemplng = lng
144
+ this.gaodetemplat = lat
145
+ this.baidutemplng = lnglat.data.result[0].x
146
+ this.baidutemplat = lnglat.data.result[0].y
147
+ console.log("转换后的坐标:", lnglat.data.result[0].x, lnglat.data.result[0].y)
148
+ } catch (error) {
149
+ }
150
+ }
151
+ },
152
+ watch: {
153
+ 'gaodetemplng'(val) {
154
+ if (val.toString() != null && val.toString() != 0) {
155
+ this.lngColors = this.pubColors
156
+ } else {
157
+ this.lngColors = this.pub2Colors
158
+ }
159
+ this.$parent.templatlng.gaodetemplng = this.gaodetemplng
160
+ this.$parent.disableButton()
161
+ },
162
+ 'gaodetemplat'(val) {
163
+ if (val.toString() != null && val.toString() != 0) {
164
+ this.latColors = this.pubColors
165
+ } else {
166
+ this.latColors = this.pub2Colors
167
+ }
168
+ this.$parent.templatlng.gaodetemplat = this.gaodetemplat
169
+ this.$parent.disableButton()
170
+ },
171
+ 'baidutemplng'(val) {
172
+ this.$parent.templatlng.baidutemplng = this.baidutemplng
173
+ this.$parent.disableButton()
174
+ },
175
+ 'baidutemplat'(val) {
176
+ this.$parent.templatlng.baidutemplat = this.baidutemplat
177
+ this.$parent.disableButton()
178
+ }
179
+ }
180
+ }
181
+ </script>
182
+ <style lang="less">
183
+ #gaoDeMap {
184
+ #gaodeaddboxmap {
185
+ height: 300px;
186
+ }
187
+
188
+ .glyphicon-map-marker:hover {
189
+ color: red;
190
+ }
191
+
192
+ .glyphicon-map-marker {
193
+ color: blue;
194
+ cursor: pointer;
195
+ }
196
+
197
+ //.col-sm-4 {
198
+ // .font_normal_body {
199
+ // width: 73px;
200
+ // overflow: auto;
201
+ // white-space: nowrap;
202
+ // // 指滚动条两边的按钮
203
+ // &::-webkit-scrollbar-button {
204
+ // display: none;
205
+ // }
206
+ //
207
+ // // 滚动条的宽度
208
+ // &::-webkit-scrollbar {
209
+ // width: 5px !important;
210
+ // height: 5px !important;
211
+ // }
212
+ //
213
+ // // 滚动条的设置
214
+ // &::-webkit-scrollbar-thumb {
215
+ // background-color: #ddd;
216
+ // background-clip: padding-box;
217
+ // }
218
+ //
219
+ // &::-webkit-scrollbar-thumb:hover {
220
+ // background-color: #bbb;
221
+ // }
222
+ //
223
+ // &::-webkit-scrollbar-track {
224
+ // /*滚动条里面轨道*/
225
+ // box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
226
+ // background: #ededed;
227
+ // }
228
+ // }
229
+ //}
230
+ }
231
+ </style>