safecheck-client 3.0.39-2 → 3.0.39-20

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 (273) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/config/dev.env.js +6 -6
  5. package/config/index.js +38 -38
  6. package/config/prod.env.js +3 -3
  7. package/config/test.env.js +6 -6
  8. package/docs/AppBase.md +22 -22
  9. package/docs/Busy.md +14 -14
  10. package/docs/CriteriaPaged.md +47 -47
  11. package/docs/DataGrid.md +54 -54
  12. package/docs/DataModel.md +22 -22
  13. package/docs/Dynamic.md +42 -42
  14. package/docs/GetParams.md +11 -11
  15. package/docs/HttpBusy.md +13 -13
  16. package/docs/HttpStore.md +29 -29
  17. package/docs/MessageBox.md +28 -28
  18. package/docs/PagedList.md +29 -29
  19. package/docs/Pager.md +21 -21
  20. package/docs/Project.md +23 -23
  21. package/docs/Route.md +105 -105
  22. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  23. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  24. package/docs/Task.md +46 -46
  25. package/docs/TreeList.md +28 -28
  26. package/docs/TreeMixin.md +18 -18
  27. package/docs/all.md +10 -10
  28. package/docs/list.md +42 -42
  29. package/docs/partial.md +75 -75
  30. package/docs/selector.md +82 -82
  31. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  32. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  33. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  34. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  35. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  36. package/examples/AddressList/App.vue +13 -13
  37. package/examples/AddressList/index.html +11 -11
  38. package/examples/DispatchList/App.vue +10 -10
  39. package/examples/DispatchList/BaseTree.vue +13 -13
  40. package/examples/DispatchList/Init.vue +22 -22
  41. package/examples/DispatchList/Test.vue +20 -20
  42. package/examples/DispatchList/index.html +11 -11
  43. package/examples/DispatchList/main.js +18 -18
  44. package/home.html +16 -16
  45. package/package.json +6 -6
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/App.vue +26 -26
  49. package/src/Widget.vue +13 -13
  50. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  51. package/src/android-bootstrap/less/.csscomb.json +304 -304
  52. package/src/android-bootstrap/less/.csslintrc +19 -19
  53. package/src/android-bootstrap/less/alerts.less +73 -73
  54. package/src/android-bootstrap/less/badges.less +66 -66
  55. package/src/android-bootstrap/less/bootstrap.less +56 -56
  56. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  57. package/src/android-bootstrap/less/button-groups.less +247 -247
  58. package/src/android-bootstrap/less/buttons.less +173 -173
  59. package/src/android-bootstrap/less/carousel.less +269 -269
  60. package/src/android-bootstrap/less/close.less +34 -34
  61. package/src/android-bootstrap/less/code.less +69 -69
  62. package/src/android-bootstrap/less/component-animations.less +33 -33
  63. package/src/android-bootstrap/less/grid.less +84 -84
  64. package/src/android-bootstrap/less/input-groups.less +167 -167
  65. package/src/android-bootstrap/less/jumbotron.less +52 -52
  66. package/src/android-bootstrap/less/labels.less +64 -64
  67. package/src/android-bootstrap/less/list-group.less +141 -141
  68. package/src/android-bootstrap/less/media.less +66 -66
  69. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  70. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  71. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  72. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  73. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  74. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  75. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  76. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  77. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  78. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  79. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  80. package/src/android-bootstrap/less/mixins/image.less +33 -33
  81. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  82. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  83. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  84. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  85. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  86. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  87. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  88. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  89. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  90. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  91. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  92. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  93. package/src/android-bootstrap/less/mixins/size.less +10 -10
  94. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  95. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  96. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  97. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  98. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  99. package/src/android-bootstrap/less/mixins.less +40 -40
  100. package/src/android-bootstrap/less/modals.less +151 -151
  101. package/src/android-bootstrap/less/navbar.less +660 -660
  102. package/src/android-bootstrap/less/navs.less +290 -290
  103. package/src/android-bootstrap/less/normalize.less +424 -424
  104. package/src/android-bootstrap/less/pager.less +76 -76
  105. package/src/android-bootstrap/less/pagination.less +89 -89
  106. package/src/android-bootstrap/less/panels.less +274 -274
  107. package/src/android-bootstrap/less/popovers.less +131 -131
  108. package/src/android-bootstrap/less/print.less +101 -101
  109. package/src/android-bootstrap/less/progress-bars.less +87 -87
  110. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  111. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  112. package/src/android-bootstrap/less/scaffolding.less +161 -161
  113. package/src/android-bootstrap/less/tables.less +262 -262
  114. package/src/android-bootstrap/less/theme.less +291 -291
  115. package/src/android-bootstrap/less/thumbnails.less +36 -36
  116. package/src/android-bootstrap/less/tooltip.less +102 -102
  117. package/src/android-bootstrap/less/type.less +303 -303
  118. package/src/android-bootstrap/less/utilities.less +55 -55
  119. package/src/android-bootstrap/less/variables.less +896 -896
  120. package/src/android-bootstrap/less/wells.less +29 -29
  121. package/src/assets//345/256/232/344/275/215.png +0 -0
  122. package/src/bootstrap/less/.csscomb.json +304 -304
  123. package/src/bootstrap/less/.csslintrc +19 -19
  124. package/src/bootstrap/less/alerts.less +73 -73
  125. package/src/bootstrap/less/badges.less +66 -66
  126. package/src/bootstrap/less/breadcrumbs.less +26 -26
  127. package/src/bootstrap/less/button-groups.less +247 -247
  128. package/src/bootstrap/less/buttons.less +172 -172
  129. package/src/bootstrap/less/carousel.less +269 -269
  130. package/src/bootstrap/less/close.less +34 -34
  131. package/src/bootstrap/less/code.less +69 -69
  132. package/src/bootstrap/less/component-animations.less +33 -33
  133. package/src/bootstrap/less/dropdowns.less +216 -216
  134. package/src/bootstrap/less/grid.less +84 -84
  135. package/src/bootstrap/less/input-groups.less +167 -167
  136. package/src/bootstrap/less/jumbotron.less +52 -52
  137. package/src/bootstrap/less/labels.less +64 -64
  138. package/src/bootstrap/less/list-group.less +141 -141
  139. package/src/bootstrap/less/media.less +66 -66
  140. package/src/bootstrap/less/mixins/alerts.less +14 -14
  141. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  142. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  143. package/src/bootstrap/less/mixins/buttons.less +69 -69
  144. package/src/bootstrap/less/mixins/center-block.less +7 -7
  145. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  146. package/src/bootstrap/less/mixins/forms.less +90 -90
  147. package/src/bootstrap/less/mixins/gradients.less +59 -59
  148. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  149. package/src/bootstrap/less/mixins/grid.less +122 -122
  150. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  151. package/src/bootstrap/less/mixins/image.less +33 -33
  152. package/src/bootstrap/less/mixins/labels.less +12 -12
  153. package/src/bootstrap/less/mixins/list-group.less +30 -30
  154. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  155. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  156. package/src/bootstrap/less/mixins/opacity.less +8 -8
  157. package/src/bootstrap/less/mixins/pagination.less +24 -24
  158. package/src/bootstrap/less/mixins/panels.less +24 -24
  159. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  160. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  161. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  162. package/src/bootstrap/less/mixins/resize.less +6 -6
  163. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  164. package/src/bootstrap/less/mixins/size.less +10 -10
  165. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  166. package/src/bootstrap/less/mixins/table-row.less +44 -44
  167. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  168. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  169. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  170. package/src/bootstrap/less/mixins.less +40 -40
  171. package/src/bootstrap/less/modals.less +151 -151
  172. package/src/bootstrap/less/navbar.less +660 -660
  173. package/src/bootstrap/less/normalize.less +424 -424
  174. package/src/bootstrap/less/pagination.less +89 -89
  175. package/src/bootstrap/less/panels.less +275 -275
  176. package/src/bootstrap/less/popovers.less +131 -131
  177. package/src/bootstrap/less/print.less +101 -101
  178. package/src/bootstrap/less/progress-bars.less +87 -87
  179. package/src/bootstrap/less/responsive-embed.less +35 -35
  180. package/src/bootstrap/less/responsive-utilities.less +194 -194
  181. package/src/bootstrap/less/scaffolding.less +161 -161
  182. package/src/bootstrap/less/theme.less +291 -291
  183. package/src/bootstrap/less/thumbnails.less +36 -36
  184. package/src/bootstrap/less/tooltip.less +102 -102
  185. package/src/bootstrap/less/type.less +303 -303
  186. package/src/bootstrap/less/utilities.less +55 -55
  187. package/src/bootstrap/less/wells.less +29 -29
  188. package/src/components/FileUpload.vue +696 -696
  189. package/src/components/Hello.vue +39 -39
  190. package/src/components/LeftTree.vue +27 -27
  191. package/src/components/android/AndroidDefectDeal.vue +634 -634
  192. package/src/components/android/AreaPlan.vue +567 -567
  193. package/src/components/android/AttendanceTally.vue +116 -116
  194. package/src/components/android/Blank.vue +10 -10
  195. package/src/components/android/CheckUnplanPage.vue +56 -56
  196. package/src/components/android/Checker.vue +12 -12
  197. package/src/components/android/CheckerAnnual.vue +81 -81
  198. package/src/components/android/CheckerAvarta.vue +82 -82
  199. package/src/components/android/EquipmentInspection.vue +348 -348
  200. package/src/components/android/FootprintMap.vue +120 -120
  201. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  202. package/src/components/android/MasterMain.vue +77 -77
  203. package/src/components/android/Menu.vue +132 -132
  204. package/src/components/android/PaperAlarm.vue +85 -85
  205. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  206. package/src/components/android/PlumberAnnual.vue +83 -83
  207. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  208. package/src/components/android/PlumberMonthly.vue +84 -84
  209. package/src/components/android/PostMap.vue +83 -83
  210. package/src/components/android/QueryCheckHistory.vue +122 -122
  211. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  212. package/src/components/android/RepairMain.vue +60 -60
  213. package/src/components/android/Repairman.vue +12 -12
  214. package/src/components/android/SafecheckOrderV.vue +1 -1
  215. package/src/components/android/StationMaster.vue +12 -12
  216. package/src/components/defects/DefectModal.vue +101 -101
  217. package/src/components/defects/DevicesAndItem.vue +39 -39
  218. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  219. package/src/components/notice/NoticeForm.vue +100 -100
  220. package/src/components/notice/NoticeIssue.vue +20 -20
  221. package/src/components/paper/PicViewer.vue +18 -18
  222. package/src/components/pc/SafeCheckOrder/SafeCheckOrderList.vue +34 -0
  223. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  224. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  225. package/src/components/phonestate/PostMap.vue +82 -82
  226. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  227. package/src/components/userfile/MeterFile.vue +145 -145
  228. package/src/components/userfile/MeterModify.vue +46 -46
  229. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  230. package/src/filiale/bayan/pc/NewCheckpaper.vue +2 -2
  231. package/src/filiale/dexin/android/AreaPlan.vue +567 -567
  232. package/src/filiale/dexin/android.js +21 -21
  233. package/src/filiale/hanzhong/pc/CheckHiddenDanger.vue +2 -2
  234. package/src/filiale/hanzhong/pc/CheckNumberStatistics.vue +1 -1
  235. package/src/filiale/hanzhong/pc/CheckSafeDetail.vue +6 -1
  236. package/src/filiale/hanzhong/pc/CheckSafeStatus.vue +1 -1
  237. package/src/filiale/hanzhong/pc/CheckerSafeDetail.vue +1 -1
  238. package/src/filiale/jinhuang/android/AddPlanItem.vue +430 -0
  239. package/src/filiale/jinhuang/android.js +15 -14
  240. package/src/filiale/kelai/android/PaperFeedback.vue +1384 -1370
  241. package/src/filiale/kelai/pc/UserInfoAudit.vue +126 -90
  242. package/src/filiale/qingjian/android/PhoneUpUserinfo.vue +104 -38
  243. package/src/filiale/qingjian/android/SafecheckOrderV.vue +3 -0
  244. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +42 -19
  245. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1 -0
  246. package/src/filiale/siyang/android/SafecheckDevices.vue +1 -1
  247. package/src/filiale/siyang/android/SafecheckUserInfo.vue +8 -2
  248. package/src/filiale/tongchuan/pc/AMapTrailShowZk.vue +226 -0
  249. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +47 -1
  250. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +46 -0
  251. package/src/filiale/tongchuan/pc/NoCheckplanSafecheck.vue +34 -0
  252. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +34 -0
  253. package/src/filiale/tongchuan/pc/PaperList.vue +44 -10
  254. package/src/filiale/tongchuan/pc/PersonTrack.vue +269 -0
  255. package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +42 -2
  256. package/src/filiale/tongchuan/pc.js +2 -0
  257. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2 -0
  258. package/src/filiale/wuan/android/SafecheckOrderV.vue +1 -0
  259. package/src/filiale/wuan/android/SafecheckUserInfo.vue +79 -16
  260. package/src/filiale/wuan/pc/NewCheckpaper.vue +16 -1
  261. package/src/main.js +33 -33
  262. package/src/plugins/LoadData.js +10 -10
  263. package/src/plugins/LoadParams.js +24 -24
  264. package/src/stores/wxconfig.js +10 -10
  265. package/src/utils/getNowDate.js +33 -33
  266. package/test/e2e/custom-assertions/elementCount.js +26 -26
  267. package/test/e2e/nightwatch.conf.js +40 -40
  268. package/test/e2e/runner.js +30 -30
  269. package/test/e2e/specs/test.js +13 -13
  270. package/test/unit/.eslintrc +5 -5
  271. package/test/unit/TestUtil.js +62 -62
  272. package/test/unit/context.html +20 -20
  273. package/test/unit/index.js +13 -13
@@ -57,9 +57,8 @@
57
57
  </div>
58
58
  <div class="col-sm-4 " style="width: auto; margin-top: 8px">
59
59
  <button class="button_search button_spacing" @click="search">查询</button>
60
- <!--<button class="button_new button_spacing" @click="$parent.$parent.verify()">审核</button>-->
61
- <!--<button class="button_export button_spacing" @click="$parent.$parent.verifyAll()">一键审核</button>-->
62
-
60
+ <button class="button_new button_spacing" @click="$parent.$parent.verifyAll()">批量审核</button>
61
+ <button class="button_export button_spacing" @click="$parent.$parent.rejectAll()">批量不通过</button>
63
62
  </div>
64
63
  </div>
65
64
 
@@ -68,7 +67,7 @@
68
67
  <data-grid class="list_area table_sy" :model="model" partial='list' v-ref:grid>
69
68
  <template partial='head'>
70
69
  <tr>
71
- <!--<th><nobr></nobr></th>-->
70
+ <th><nobr></nobr></th>
72
71
  <th><nobr>用户编号</nobr></th>
73
72
  <th><nobr>用户名称</nobr></th>
74
73
  <th><nobr>提交人</nobr></th>
@@ -81,7 +80,7 @@
81
80
  </tr>
82
81
  </template>
83
82
  <template partial='body'>
84
- <!--<td style="text-align: center"><nobr><input type="checkbox" v-model="row.checked" v-bind:checked="row.checked" @click="$parent.$parent.$parent.addChecked(row)"></nobr></td>-->
83
+ <td style="text-align: center"><nobr><input type="checkbox" v-model="row.checked" @click="$parent.$parent.$parent.addChecked(row)"></nobr></td>
85
84
  <td style="text-align: center"><nobr>{{row.f_userinfo_code}}</nobr></td>
86
85
  <td style="text-align: center"><nobr>{{row.f_user_name}}</nobr></td>
87
86
  <td style="text-align: center"><nobr>{{row.f_modifier}}</nobr></td>
@@ -126,128 +125,165 @@ export default {
126
125
  excessive:false,
127
126
  userInformation:{},
128
127
  f_approval_states:this.$appdata.getParam('审核状态'),
128
+ checkedRows: [] // 新增:用于存储选中的行
129
129
  }
130
130
  },
131
131
  methods: {
132
132
  search(args){
133
133
  args += 'f_time= (select max(f_time) from t_modify_userinfo B where A.f_userinfoid = B.f_userinfoid)'
134
- this.model.search(args)
134
+ this.model.search(args)
135
+ this.checkedRows = [] // 清空选中项
135
136
  },
136
137
  change(row) {
137
- //tag)
138
138
  new HttpResetClass().load('post',`/rs/logic/filemanage_getFilesDetail`, {
139
- //f_userinfo_code:'12381344',
140
139
  f_userinfo_id:row.f_userinfoid
141
140
  }, {resolveMsg: null, rejectMsg: null}).then((res) => {
142
- //tag
143
- //this.userInformation=res.data
144
141
  this.$set('userInformation',res.data)
145
- //tag
146
142
  this.$set('info',row)
147
143
  this.showModal = true
148
144
  })
149
-
150
145
  },
151
- async todo(row){
146
+ addChecked(row) {
147
+ if (row.checked) {
148
+ this.checkedRows.push(row)
149
+ } else {
150
+ this.checkedRows.$remove(row)
151
+ }
152
+ },
153
+ async todo(row) {
152
154
  let r = confirm("确认修改该资料?")
153
- if(r) {
154
- this.excessive=true
155
- let userinfoms=Object.assign({},this.userInformation.baseinfo.base)
156
- //userinfoms.f_user_name=row.f_user_name
157
- userinfoms.f_operator_record=row.f_modifier
158
- userinfoms.f_operatorid_record=row.f_modifier_id
159
- //userinfoms.f_remark=row.f_remark
160
- //tag
161
- if(this.userInformation.meterinfo[0].f_meter_classify!='物联网表'){
162
- this.userInformation.meterinfo[0].f_meternumber=row.f_meternumber
155
+ if (r) {
156
+ this.excessive = true
157
+ let userinfoms = Object.assign({}, this.userInformation.baseinfo.base)
158
+ userinfoms.f_operator_record = row.f_modifier
159
+ userinfoms.f_operatorid_record = row.f_modifier_id
160
+
161
+ if (this.userInformation.meterinfo[0].f_meter_classify != '物联网表') {
162
+ this.userInformation.meterinfo[0].f_meternumber = row.f_meternumber
163
163
  }
164
- userinfoms.userfiles=[]
164
+ userinfoms.userfiles = []
165
165
  userinfoms.userfiles.push(this.userInformation.meterinfo[0])
166
- userinfoms.f_orgid_record=null
167
- userinfoms.f_orgname_record=null
168
- userinfoms.f_depid_record=null
169
- userinfoms.f_depname_record=null
170
- let useraddressms=Object.assign({},this.userInformation.addressinfo)
171
- useraddressms.f_pcd=row.f_pcd
172
- useraddressms.f_pcd_id=row.f_pcd_id
173
- useraddressms.f_street=row.f_street
174
- useraddressms.f_street_id=row.f_street_id
175
- useraddressms.f_residential_area=row.f_residential_area
176
- useraddressms.f_residential_area_id=row.f_residential_area_id
177
- useraddressms.f_building=row.f_building?row.f_building:null
178
- useraddressms.f_building_id=row.f_building_id
179
- useraddressms.f_unit=row.f_unit?row.f_unit:null
180
- useraddressms.f_floor=row.f_floor?row.f_floor:null
181
- useraddressms.f_room=row.f_room?row.f_room:null
182
- useraddressms.f_building_suffix= row.f_building_suffix?row.f_building_suffix:null
183
- useraddressms.f_unit_suffix= row.f_unit_suffix?row.f_unit_suffix:null
184
- useraddressms.f_floor_suffix= row.f_floor_suffix?row.f_floor_suffix:null
185
- useraddressms.f_room_suffix= row.f_room_suffix?row.f_room_suffix:null
186
- //useraddressms.f_slice_area=row.f_slice_area
187
- useraddressms.f_address=row.f_address
188
- useraddressms.f_special=row.f_special
189
- useraddressms.f_iscity=row.f_iscity
190
- useraddressms.f_operator=row.f_modifier
191
- useraddressms.f_operatorid=row.f_modifier_id
192
- try{
193
- let res1=await new HttpResetClass().load('POST','/rs/logic/filemanage_fileSave', {data: {userinfo: userinfoms,modifyReason:this.f_source?`${this.f_source}审核通过更改档案信息`:'',address:{id:this.userInformation.addressinfo.id,oldid:this.userInformation.addressinfo.id}}},{resolveMsg: null, rejectMsg: null})
194
- //tag)
195
- if(res1.data.status==200){
196
- let res2=await new HttpResetClass().load('POST','/rs/logic/address_updateuseraddress', useraddressms,{resolveMsg: null, rejectMsg: null})
197
- //tag)
198
- if(res2.data.id){
199
- //tag)
200
- this.info.f_approved='已审核'
201
- this.info.f_approved_by=this.$login.f.name
202
- this.info.f_approved_time=Util.toStandardTimeString()
203
- //tag)
204
- let res3=await new HttpResetClass().load('POST','/rs/logic/SaveEntity', {data:{row:this.info,tablename:'t_modify_userinfo'}},{resolveMsg: null, rejectMsg: null})
205
- //tag)
206
- if(res3.data.code==200){
207
- this.$showMessage("审核成功,用户信息已更新!")
208
- this.excessive=false
209
- }else{
210
- this.$showMessage("审核失败!")
211
- this.excessive=false
212
- }
213
- }else{
166
+ userinfoms.f_orgid_record = null
167
+ userinfoms.f_orgname_record = null
168
+ userinfoms.f_depid_record = null
169
+ userinfoms.f_depname_record = null
170
+ let useraddressms = Object.assign({}, this.userInformation.addressinfo)
171
+ useraddressms.f_pcd = row.f_pcd
172
+ useraddressms.f_pcd_id = row.f_pcd_id
173
+ useraddressms.f_street = row.f_street
174
+ useraddressms.f_street_id = row.f_street_id
175
+ useraddressms.f_residential_area = row.f_residential_area
176
+ useraddressms.f_residential_area_id = row.f_residential_area_id
177
+ useraddressms.f_building = row.f_building ? row.f_building : null
178
+ useraddressms.f_building_id = row.f_building_id
179
+ useraddressms.f_unit = row.f_unit ? row.f_unit : null
180
+ useraddressms.f_floor = row.f_floor ? row.f_floor : null
181
+ useraddressms.f_room = row.f_room ? row.f_room : null
182
+ useraddressms.f_building_suffix = row.f_building_suffix ? row.f_building_suffix : null
183
+ useraddressms.f_unit_suffix = row.f_unit_suffix ? row.f_unit_suffix : null
184
+ useraddressms.f_floor_suffix = row.f_floor_suffix ? row.f_floor_suffix : null
185
+ useraddressms.f_room_suffix = row.f_room_suffix ? row.f_room_suffix : null
186
+ useraddressms.f_address = row.f_address
187
+ useraddressms.f_special = row.f_special
188
+ useraddressms.f_iscity = row.f_iscity
189
+ useraddressms.f_operator = row.f_modifier
190
+ useraddressms.f_operatorid = row.f_modifier_id
191
+ try {
192
+ let res1 = await new HttpResetClass().load('POST', '/rs/logic/filemanage_fileSave', {data: {userinfo: userinfoms, modifyReason: this.f_source ? `${this.f_source}审核通过更改档案信息` : '', address: {id: this.userInformation.addressinfo.id, oldid: this.userInformation.addressinfo.id}}}, {resolveMsg: null, rejectMsg: null})
193
+ if (res1.data.status == 200) {
194
+ let res2 = await new HttpResetClass().load('POST', '/rs/logic/address_updateuseraddress', useraddressms, {resolveMsg: null, rejectMsg: null})
195
+ if (res2.data.id) {
196
+ row.f_approved = '已审核'
197
+ row.f_approved_by = this.$login.f.name
198
+ row.f_approved_time = Util.toStandardTimeString()
199
+ let res3 = await new HttpResetClass().load('POST', '/rs/logic/SaveEntity', {data: {row: row, tablename: 't_modify_userinfo'}}, {resolveMsg: null, rejectMsg: null})
200
+ if (res3.data.code == 200) {
201
+ this.$showMessage("审核成功,用户信息已更新!")
202
+ this.excessive = false
203
+ } else {
204
+ this.$showMessage("审核失败!")
205
+ this.excessive = false
206
+ }
207
+ } else {
214
208
  this.$showMessage("更新地址信息失败!")
215
- this.excessive=false
209
+ this.excessive = false
216
210
  }
217
- }else{
211
+ } else {
218
212
  this.$showMessage("修改用户信息失败!")
219
- this.excessive=false
213
+ this.excessive = false
220
214
  }
221
- }catch(msg){
222
- if( typeof msg == 'object' && msg.data){
223
- this.$showMessage("修改用户信息失败!"+msg.data)
224
- }else{
215
+ } catch (msg) {
216
+ if (typeof msg == 'object' && msg.data) {
217
+ this.$showMessage("修改用户信息失败!" + msg.data)
218
+ } else {
225
219
  this.$showMessage("审核失败,可以尝试重新点击审核按钮再次进行审核!!")
226
220
  }
227
- this.excessive=false
221
+ this.excessive = false
228
222
  }
229
223
  }
230
224
  },
231
- isnull(val){
232
- if(val == null){
225
+ isnull(val) {
226
+ if (val == null) {
233
227
  return ''
234
- }else{
228
+ } else {
235
229
  return val
236
230
  }
237
231
  },
238
- undo(row){
239
- this.info.f_approved='未通过'
240
- this.info.f_approved_by=this.$login.f.name
241
- this.info.f_approved_time=Util.toStandardTimeString()
242
- new HttpResetClass().load('POST','/rs/logic/SaveEntity', {data:{row:this.info,tablename:'t_modify_userinfo'}},{resolveMsg: null, rejectMsg: null}).then((res3)=>{
243
- //tag)
232
+ async verifyAll() {
233
+ if (this.checkedRows.length === 0) {
234
+ this.$showMessage("请选择要批量审核的记录!")
235
+ return
236
+ }
237
+ let r = confirm("确认批量审核选中的资料?")
238
+ if (r) {
239
+ this.excessive = true
240
+ for (let i = 0; i < this.checkedRows.length; i++) {
241
+ let row = this.checkedRows[i]
242
+ if (row.f_approved === '未审核') {
243
+ await new HttpResetClass().load('post',`/rs/logic/filemanage_getFilesDetail`, {
244
+ f_userinfo_id:row.f_userinfoid
245
+ }, {resolveMsg: null, rejectMsg: null}).then(async (res) => {
246
+ this.$set('userInformation',res.data)
247
+ this.$set('info',row)
248
+ await this.todo(row)
249
+ })
250
+ }
251
+ }
252
+ this.excessive = false
253
+ this.search('') // 刷新列表
254
+ this.$showMessage("批量审核完成!")
255
+ }
256
+ },
257
+ async rejectAll() {
258
+ if (this.checkedRows.length === 0) {
259
+ this.$showMessage("请选择要批量不通过的记录!")
260
+ return
261
+ }
262
+ let r = confirm("确认批量不通过选中的资料?")
263
+ if (r) {
264
+ this.excessive = true
265
+ for (let i = 0; i < this.checkedRows.length; i++) {
266
+ let row = this.checkedRows[i]
267
+ if (row.f_approved === '未审核') {
268
+ await this.undo(row)
269
+ }
270
+ }
271
+ this.excessive = false
272
+ this.search('') // 刷新列表
273
+ this.$showMessage("批量不通过完成!")
274
+ }
275
+ },
276
+ async undo(row){
277
+ row.f_approved='未通过'
278
+ row.f_approved_by=this.$login.f.name
279
+ row.f_approved_time=Util.toStandardTimeString()
280
+ await new HttpResetClass().load('POST','/rs/logic/SaveEntity', {data:{row:row,tablename:'t_modify_userinfo'}},{resolveMsg: null, rejectMsg: null}).then((res3)=>{
244
281
  if(res3.data.code==200){
245
282
  this.$showMessage("审核成功,审核结果:未通过!")
246
283
  }else{
247
284
  this.$showMessage("审核失败!")
248
285
  }
249
286
  })
250
-
251
287
  }
252
288
  }
253
289
  }
@@ -15,27 +15,27 @@
15
15
  </div>
16
16
  <div class="row auto" style="margin: 5px 0">
17
17
  <label class="righttxt">用户名称:</label><input type="text" class="form-control rightipt"
18
- v-model="userinfo.baseinfo.base.f_user_name" readonly/>
18
+ v-model="userinfo.baseinfo.base.f_user_name" readonly/>
19
19
  </div>
20
20
  <div class="row auto" style="margin: 5px 0">
21
21
  <label class="righttxt">用户状态:</label><input type="text" class="form-control rightipt" readonly
22
- v-model="userinfo.baseinfo.base.f_user_state"/>
22
+ v-model="userinfo.baseinfo.base.f_user_state"/>
23
23
  </div>
24
24
  <div class="row auto" style="margin: 5px 0">
25
25
  <label class="righttxt">用户电话:</label><input type="text" class="form-control rightipt"
26
- v-model="userinfo.baseinfo.base.f_user_phone"/>
26
+ v-model="userinfo.baseinfo.base.f_user_phone"/>
27
27
  </div>
28
28
  <div class="row auto" style="margin: 5px 0">
29
29
  <label class="righttxt">租户姓名:</label><input type="text" class="form-control rightipt"
30
- v-model="userinfo.baseinfo.base.f_rent_name"/>
30
+ v-model="userinfo.baseinfo.base.f_rent_name"/>
31
31
  </div>
32
32
  <div class="row auto" style="margin: 5px 0">
33
33
  <label class="righttxt">租户电话:</label><input type="text" class="form-control rightipt"
34
- v-model="userinfo.baseinfo.base.f_zuhu_phone"/>
34
+ v-model="userinfo.baseinfo.base.f_zuhu_phone"/>
35
35
  </div>
36
36
  <div class="row auto" style="margin: 5px 0">
37
37
  <label class="righttxt">建档日期:</label><input type="text" class="form-control rightipt"
38
- v-model="userinfo.baseinfo.base.f_createfile_date" readonly/>
38
+ v-model="userinfo.baseinfo.base.f_createfile_date" readonly/>
39
39
  </div>
40
40
  <!-- <div class="row auto" style="margin: 5px 0">
41
41
  <label class="righttxt">开户日期:</label><input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_open_date" readonly />
@@ -45,17 +45,23 @@
45
45
  <div class="rightipt" style="display: flex;justify-content: space-around;margin-top: 5px">
46
46
  <div><input type="radio" v-model="addressType" name="addressType" @change="changeAddressType"
47
47
  id="phone_addressType1" value="普通地址"/><label style="font-weight: normal;padding-left: 2px"
48
- for="phone_addressType1">普通地址</label></div>
48
+ for="phone_addressType1">普通地址</label></div>
49
49
  <div><input type="radio" v-model="addressType" name="addressType" @change="changeAddressType"
50
50
  id="phone_addressType2" value="特殊地址"/><label style="font-weight: normal;padding-left: 2px"
51
- for="phone_addressType2">特殊地址</label></div>
51
+ for="phone_addressType2">特殊地址</label></div>
52
+ </div>
53
+
54
+ </div>
55
+ <div class="row auto" style="margin: 5px 0">
56
+ <label class="righttxt">经度:</label>
57
+ <input readonly type="text" class="form-control rightipt" v-model="userinfo.addressinfo.f_lng"/>
58
+ </div>
59
+ <div class="row auto" style="margin: 5px 0">
60
+ <label class="righttxt">纬度:</label>
61
+ <input readonly type="text" class="form-control rightipt" v-model="userinfo.addressinfo.f_lat"/>
62
+ <div style="margin-left: 10px;" @click="getLocation">
63
+ <img src="../../../assets/定位.png" alt="定位" style="width: 24px; height: 24px; cursor: pointer;" />
52
64
  </div>
53
- <!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
54
- <!--<input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_pcd" />-->
55
- <!--<v-select :value.sync="userinfo.addressinfo.f_iscity" class="input-font" style="margin-left: 5%;"
56
- :width="'60%'"
57
- v-model="userinfo.addressinfo.f_iscity"
58
- :options='cityTypes' placeholder='地区类型' close-on-select clear-button value-single @change="area_change()"></v-select>-->
59
65
  </div>
60
66
  <div class="row auto" style="margin: 5px 0">
61
67
  <label class="righttxt">地区类型:</label>
@@ -108,27 +114,27 @@
108
114
  </div>-->
109
115
  <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
110
116
  <label class="righttxt">楼&ensp;&ensp;&ensp;&ensp;号:</label><input type="text" @change="changeNewAddress"
111
- class="form-control rightipt"
112
- v-model="userinfo.addressinfo.f_building"/>
117
+ class="form-control rightipt"
118
+ v-model="userinfo.addressinfo.f_building"/>
113
119
  </div>
114
120
  <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
115
121
  <label class="righttxt">单&ensp;&ensp;&ensp;&ensp;元:</label><input type="text" @change="changeNewAddress"
116
- class="form-control rightipt"
117
- v-model="userinfo.addressinfo.f_unit"/>
122
+ class="form-control rightipt"
123
+ v-model="userinfo.addressinfo.f_unit"/>
118
124
  </div>
119
125
  <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
120
126
  <label class="righttxt">楼&ensp;&ensp;&ensp;&ensp;层:</label><input type="text" @change="changeNewAddress"
121
- class="form-control rightipt"
122
- v-model="userinfo.addressinfo.f_floor"/>
127
+ class="form-control rightipt"
128
+ v-model="userinfo.addressinfo.f_floor"/>
123
129
  </div>
124
130
  <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
125
131
  <label class="righttxt">门&ensp;牌&ensp;号:</label><input type="text" @change="changeNewAddress"
126
- class="form-control rightipt"
127
- v-model="userinfo.addressinfo.f_room"/>
132
+ class="form-control rightipt"
133
+ v-model="userinfo.addressinfo.f_room"/>
128
134
  </div>
129
135
  <div class="row auto" style="margin: 5px 0">
130
136
  <label class="righttxt">详细地址:</label><input type="text" class="form-control rightipt" readonly
131
- v-model="userinfo_old.addressinfo.f_address"/>
137
+ v-model="userinfo_old.addressinfo.f_address"/>
132
138
  </div>
133
139
  <div class="row auto" style="margin: 5px 0">
134
140
  <label class="righttxt">新&ensp;地&ensp;址:</label>
@@ -144,8 +150,8 @@
144
150
 
145
151
  <div class="row auto" style="margin: 5px 0">
146
152
  <label class="righttxt">备&ensp;&ensp;&ensp;&ensp;注:</label><textarea class="form-control rightipt"
147
- style="height: 150px"
148
- v-model="userinfo.addressinfo.f_comments"></textarea>
153
+ style="height: 150px"
154
+ v-model="userinfo.addressinfo.f_comments"></textarea>
149
155
  <!--<input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_remark" />-->
150
156
  </div>
151
157
  </div>
@@ -297,19 +303,19 @@
297
303
  </div>
298
304
  <div class="row auto" style="margin: 5px 0">
299
305
  <label class="righttxt">设备品牌:</label>
300
- <!-- <v-select class="rightipt" :value.sync="row.f_brand"
301
- v-model="row.f_brand"
302
- placeholder='请选择'
303
- :width='wid'
304
- readonly
305
- :options="deviceBrandOption[row.f_devices_type]"
306
- close-on-select value-single></v-select>-->
306
+ <!-- <v-select class="rightipt" :value.sync="row.f_brand"
307
+ v-model="row.f_brand"
308
+ placeholder='请选择'
309
+ :width='wid'
310
+ readonly
311
+ :options="deviceBrandOption[row.f_devices_type]"
312
+ close-on-select value-single></v-select>-->
307
313
  <input type="text" class="form-control rightipt"
308
314
  v-model="row.f_brand"/>
309
315
  </div>
310
316
  <div class="row auto" style="margin: 5px 0">
311
317
  <label class="righttxt">设备型号:</label><input type="text" class="form-control rightipt"
312
- v-model="row.f_devices_model"/>
318
+ v-model="row.f_devices_model"/>
313
319
  </div>
314
320
  <div class="row auto" style="margin: 5px 0">
315
321
  <label class="righttxt">生产日期:</label>
@@ -324,7 +330,7 @@
324
330
  </div>
325
331
  <div class="row auto" style="margin: 5px 0">
326
332
  <label class="righttxt">使用年限:</label><input type="number" class="form-control rightipt"
327
- v-model="row.f_service_life"/>
333
+ v-model="row.f_service_life"/>
328
334
  </div>
329
335
  <!-- <div class="row auto" style="margin: 5px 0">
330
336
  <label class="righttxt">到期日期:</label>
@@ -339,7 +345,7 @@
339
345
  </div>-->
340
346
  <div class="row auto" style="margin: 5px 0">
341
347
  <label class="righttxt">安&ensp;装&ensp;人:</label><input type="text" class="form-control rightipt"
342
- v-model="row.f_input_person"/>
348
+ v-model="row.f_input_person"/>
343
349
  </div>
344
350
  <div class="row auto" style="margin: 5px 0">
345
351
  <label class="righttxt">安装日期:</label>
@@ -354,7 +360,7 @@
354
360
  </div>
355
361
  <div class="row auto" style="margin: 5px 0">
356
362
  <label class="righttxt">设备数量:</label><input type="number" class="form-control rightipt"
357
- v-model="row.f_devices_num"/>
363
+ v-model="row.f_devices_num"/>
358
364
  </div>
359
365
  <div class="row auto" style="margin: 5px 0">
360
366
  <label class="righttxt">管道类型:</label><input type="text" class="form-control rightipt" v-model="row.f_pipe_type" />
@@ -448,7 +454,10 @@ export default {
448
454
  showBox: false,
449
455
  directOptions: [{label: '是', value: '是'}, {label: '否', value: '否'}],
450
456
  deviceBrandOption: {},
451
- isNeedAudit: this.$appdata.getSingleValue('信息变更是否需要审核') == 'false' ? false : true
457
+ isNeedAudit: this.$appdata.getSingleValue('信息变更是否需要审核') == 'false' ? false : true,
458
+ detailedAddress:'',
459
+ administrativeDivision:''
460
+
452
461
  }
453
462
  },
454
463
  props: {
@@ -459,6 +468,60 @@ export default {
459
468
  f_source: ''
460
469
  },
461
470
  methods: {
471
+ getLocation(){
472
+ const location = HostApp.getDetailAddress()
473
+ const longitude = HostApp.getPreference('longitude')
474
+ const latitude = HostApp.getPreference('latitude')
475
+ this.userinfo.addressinfo.f_lng=longitude.data
476
+ this.userinfo.addressinfo.f_lat=latitude.data
477
+ this.userinfo.addressinfo.f_address=location.data
478
+ const parsed = this.parseAddress(location.data);
479
+ console.log('行政区划部分:', parsed.administrativeDivision);
480
+ this.selectPcd.f_pcd=parsed.administrativeDivision
481
+ this.selectPcd.id=1
482
+ console.log('详细地址部分:', parsed.detailedAddress)
483
+ this.detailedAddress=parsed.detailedAddress
484
+ },
485
+ parseAddress(address) {
486
+ // 匹配省市区县的正则表达式
487
+ const regex = /^(.*?(?:省|自治区|直辖市)?(?:[A-Za-z\u4e00-\u9fa5]*?(?:市))?(?:[A-Za-z\u4e00-\u9fa5]*?(?:区|县|市))?)((?:[A-Za-z\u4e00-\u9fa5\d]|.)*)$/;
488
+
489
+ const match = address.match(regex);
490
+ if (match) {
491
+ return {
492
+ administrativeDivision: match[1].trim(),
493
+ detailedAddress: match[2].trim()
494
+ };
495
+ } else {
496
+ // 备用方案:通过常见后缀分割
497
+ const splitIndex = this.findAdministrativeBoundary(address);
498
+ if (splitIndex > 0) {
499
+ return {
500
+ administrativeDivision: address.substring(0, splitIndex),
501
+ detailedAddress: address.substring(splitIndex)
502
+ };
503
+ }
504
+ }
505
+ // 如果无法分割,返回默认值
506
+ return {
507
+ administrativeDivision: address,
508
+ detailedAddress: ''
509
+ };
510
+ },
511
+ findAdministrativeBoundary(address) {
512
+ // 常见的行政区划后缀
513
+ const suffixes = ['区', '县', '市'];
514
+ // 从后往前查找第一个匹配的后缀
515
+ for (let i = address.length - 1; i >= 0; i--) {
516
+ for (let suffix of suffixes) {
517
+ if (address[i] === suffix &&
518
+ (i < address.length - 1)) {
519
+ return i + 1;
520
+ }
521
+ }
522
+ }
523
+ return -1;
524
+ },
462
525
  scan() {
463
526
  HostApp.__this__ = this,
464
527
  HostApp.scanCode({callback: "javascript:HostApp.__this__.getCode();"})
@@ -623,6 +686,8 @@ export default {
623
686
  this.userinfo.addressinfo.f_slice_area = this.selectArea.f_slice_area ? this.selectArea.f_slice_area : ''
624
687
  this.excessive = true
625
688
  let address = {}
689
+ address.f_lng=this.userinfo.addressinfo.f_lng
690
+ address.f_lat=this.userinfo.addressinfo.f_lat
626
691
  address.f_filialeid = this.userinfo.addressinfo.f_filialeid
627
692
  address.f_pcd = this.selectPcd.f_pcd
628
693
  address.f_pcd_id = this.selectPcd.id
@@ -1073,7 +1138,8 @@ export default {
1073
1138
  getAddressTS() {
1074
1139
  return (this.userinfo.addressinfo.f_pcd ? this.userinfo.addressinfo.f_pcd : '') +
1075
1140
  (this.userinfo.addressinfo.f_street ? this.userinfo.addressinfo.f_street : '') +
1076
- (this.userinfo.addressinfo.f_residential_area ? this.userinfo.addressinfo.f_residential_area : '')
1141
+ (this.userinfo.addressinfo.f_residential_area ? this.userinfo.addressinfo.f_residential_area : '')+
1142
+ (this.detailedAddress ? this.detailedAddress: '')
1077
1143
  }
1078
1144
  },
1079
1145
  watch: {
@@ -1943,6 +1943,9 @@ export default {
1943
1943
  this.$set('data.f_state',this.item.f_state)
1944
1944
  this.$set('data.f_source', this.source?this.source:'安检')
1945
1945
  this.$set('data.f_other_checker_name', '')
1946
+ const obj = HostApp.getGpsDetailAddress()
1947
+ this.$set('data.f_longitude', obj.longitude)
1948
+ this.$set('data.f_latitude', obj.latitude)
1946
1949
  //tag
1947
1950
  // 用户信息
1948
1951
  this.$set('data.f_user_name', this.item.f_user_name)