safecheck-client 4.0.0-96 → 4.0.0-98

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 (243) 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 +1 -1
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/Widget.vue +13 -13
  49. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  50. package/src/android-bootstrap/less/.csscomb.json +304 -304
  51. package/src/android-bootstrap/less/.csslintrc +19 -19
  52. package/src/android-bootstrap/less/alerts.less +73 -73
  53. package/src/android-bootstrap/less/badges.less +66 -66
  54. package/src/android-bootstrap/less/bootstrap.less +56 -56
  55. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  56. package/src/android-bootstrap/less/button-groups.less +247 -247
  57. package/src/android-bootstrap/less/buttons.less +173 -173
  58. package/src/android-bootstrap/less/carousel.less +269 -269
  59. package/src/android-bootstrap/less/close.less +34 -34
  60. package/src/android-bootstrap/less/code.less +69 -69
  61. package/src/android-bootstrap/less/component-animations.less +33 -33
  62. package/src/android-bootstrap/less/grid.less +84 -84
  63. package/src/android-bootstrap/less/input-groups.less +167 -167
  64. package/src/android-bootstrap/less/jumbotron.less +52 -52
  65. package/src/android-bootstrap/less/labels.less +64 -64
  66. package/src/android-bootstrap/less/list-group.less +141 -141
  67. package/src/android-bootstrap/less/media.less +66 -66
  68. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  69. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  70. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  71. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  72. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  73. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  74. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  75. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  76. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  77. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  78. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  79. package/src/android-bootstrap/less/mixins/image.less +33 -33
  80. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  81. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  82. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  83. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  84. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  85. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  86. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  87. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  88. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  89. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  90. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  91. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  92. package/src/android-bootstrap/less/mixins/size.less +10 -10
  93. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  94. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  95. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  96. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  97. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  98. package/src/android-bootstrap/less/mixins.less +40 -40
  99. package/src/android-bootstrap/less/modals.less +151 -151
  100. package/src/android-bootstrap/less/navbar.less +660 -660
  101. package/src/android-bootstrap/less/navs.less +290 -290
  102. package/src/android-bootstrap/less/normalize.less +424 -424
  103. package/src/android-bootstrap/less/pager.less +76 -76
  104. package/src/android-bootstrap/less/pagination.less +89 -89
  105. package/src/android-bootstrap/less/panels.less +274 -274
  106. package/src/android-bootstrap/less/popovers.less +131 -131
  107. package/src/android-bootstrap/less/print.less +101 -101
  108. package/src/android-bootstrap/less/progress-bars.less +87 -87
  109. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  110. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  111. package/src/android-bootstrap/less/scaffolding.less +161 -161
  112. package/src/android-bootstrap/less/tables.less +262 -262
  113. package/src/android-bootstrap/less/theme.less +291 -291
  114. package/src/android-bootstrap/less/thumbnails.less +36 -36
  115. package/src/android-bootstrap/less/tooltip.less +102 -102
  116. package/src/android-bootstrap/less/type.less +303 -303
  117. package/src/android-bootstrap/less/utilities.less +55 -55
  118. package/src/android-bootstrap/less/variables.less +896 -896
  119. package/src/android-bootstrap/less/wells.less +29 -29
  120. package/src/bootstrap/less/.csscomb.json +304 -304
  121. package/src/bootstrap/less/.csslintrc +19 -19
  122. package/src/bootstrap/less/alerts.less +73 -73
  123. package/src/bootstrap/less/badges.less +66 -66
  124. package/src/bootstrap/less/breadcrumbs.less +26 -26
  125. package/src/bootstrap/less/button-groups.less +247 -247
  126. package/src/bootstrap/less/buttons.less +172 -172
  127. package/src/bootstrap/less/carousel.less +269 -269
  128. package/src/bootstrap/less/close.less +34 -34
  129. package/src/bootstrap/less/code.less +69 -69
  130. package/src/bootstrap/less/component-animations.less +33 -33
  131. package/src/bootstrap/less/dropdowns.less +216 -216
  132. package/src/bootstrap/less/grid.less +84 -84
  133. package/src/bootstrap/less/input-groups.less +167 -167
  134. package/src/bootstrap/less/jumbotron.less +52 -52
  135. package/src/bootstrap/less/labels.less +64 -64
  136. package/src/bootstrap/less/list-group.less +141 -141
  137. package/src/bootstrap/less/media.less +66 -66
  138. package/src/bootstrap/less/mixins/alerts.less +14 -14
  139. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  140. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  141. package/src/bootstrap/less/mixins/buttons.less +69 -69
  142. package/src/bootstrap/less/mixins/center-block.less +7 -7
  143. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  144. package/src/bootstrap/less/mixins/forms.less +90 -90
  145. package/src/bootstrap/less/mixins/gradients.less +59 -59
  146. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  147. package/src/bootstrap/less/mixins/grid.less +122 -122
  148. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  149. package/src/bootstrap/less/mixins/image.less +33 -33
  150. package/src/bootstrap/less/mixins/labels.less +12 -12
  151. package/src/bootstrap/less/mixins/list-group.less +30 -30
  152. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  153. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  154. package/src/bootstrap/less/mixins/opacity.less +8 -8
  155. package/src/bootstrap/less/mixins/pagination.less +24 -24
  156. package/src/bootstrap/less/mixins/panels.less +24 -24
  157. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  158. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  159. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  160. package/src/bootstrap/less/mixins/resize.less +6 -6
  161. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  162. package/src/bootstrap/less/mixins/size.less +10 -10
  163. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  164. package/src/bootstrap/less/mixins/table-row.less +44 -44
  165. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  166. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  167. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  168. package/src/bootstrap/less/mixins.less +40 -40
  169. package/src/bootstrap/less/modals.less +151 -151
  170. package/src/bootstrap/less/navbar.less +660 -660
  171. package/src/bootstrap/less/normalize.less +424 -424
  172. package/src/bootstrap/less/pagination.less +89 -89
  173. package/src/bootstrap/less/panels.less +275 -275
  174. package/src/bootstrap/less/popovers.less +131 -131
  175. package/src/bootstrap/less/print.less +101 -101
  176. package/src/bootstrap/less/progress-bars.less +87 -87
  177. package/src/bootstrap/less/responsive-embed.less +35 -35
  178. package/src/bootstrap/less/responsive-utilities.less +194 -194
  179. package/src/bootstrap/less/scaffolding.less +161 -161
  180. package/src/bootstrap/less/theme.less +291 -291
  181. package/src/bootstrap/less/thumbnails.less +36 -36
  182. package/src/bootstrap/less/tooltip.less +102 -102
  183. package/src/bootstrap/less/type.less +303 -303
  184. package/src/bootstrap/less/utilities.less +55 -55
  185. package/src/bootstrap/less/wells.less +29 -29
  186. package/src/components/FileUpload.vue +696 -696
  187. package/src/components/Hello.vue +39 -39
  188. package/src/components/LeftTree.vue +27 -27
  189. package/src/components/android/AttendanceTally.vue +116 -116
  190. package/src/components/android/Blank.vue +10 -10
  191. package/src/components/android/CheckUnplanPage.vue +56 -56
  192. package/src/components/android/Checker.vue +12 -12
  193. package/src/components/android/CheckerAnnual.vue +81 -81
  194. package/src/components/android/CheckerAvarta.vue +82 -82
  195. package/src/components/android/EquipmentInspection.vue +348 -348
  196. package/src/components/android/FootprintMap.vue +120 -120
  197. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  198. package/src/components/android/MasterMain.vue +77 -77
  199. package/src/components/android/Menu.vue +132 -132
  200. package/src/components/android/PaperAlarm.vue +85 -85
  201. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  202. package/src/components/android/PlumberAnnual.vue +83 -83
  203. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  204. package/src/components/android/PlumberMonthly.vue +84 -84
  205. package/src/components/android/PostMap.vue +83 -83
  206. package/src/components/android/QueryCheckHistory.vue +122 -122
  207. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  208. package/src/components/android/RepairMain.vue +60 -60
  209. package/src/components/android/Repairman.vue +12 -12
  210. package/src/components/android/StationMaster.vue +12 -12
  211. package/src/components/defects/DefectModal.vue +101 -101
  212. package/src/components/defects/DevicesAndItem.vue +39 -39
  213. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  214. package/src/components/notice/NoticeForm.vue +100 -100
  215. package/src/components/notice/NoticeIssue.vue +20 -20
  216. package/src/components/paper/PicViewer.vue +18 -18
  217. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  218. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  219. package/src/components/phonestate/PostMap.vue +82 -82
  220. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  221. package/src/components/userfile/MeterFile.vue +145 -145
  222. package/src/components/userfile/MeterModify.vue +46 -46
  223. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  224. package/src/filiale/jinhong/android/CurrentCreate.vue +1240 -1195
  225. package/src/filiale/jinhong/pc/PaperList.vue +1 -2
  226. package/src/filiale/jinhong/pc/SelectCheckPlan.vue +308 -0
  227. package/src/filiale/jinhong/pc/checkUserList.vue +35 -62
  228. package/src/filiale/jinhong/pc.js +2 -1
  229. package/src/filiale/meihekou/android/CurrentCreate.vue +1096 -1097
  230. package/src/filiale/xinkang/android/AddPlanItem.vue +413 -413
  231. package/src/filiale/xinkang/android.js +15 -15
  232. package/src/plugins/LoadData.js +10 -10
  233. package/src/plugins/LoadParams.js +24 -24
  234. package/src/stores/wxconfig.js +10 -10
  235. package/src/utils/getNowDate.js +33 -33
  236. package/test/e2e/custom-assertions/elementCount.js +26 -26
  237. package/test/e2e/nightwatch.conf.js +40 -40
  238. package/test/e2e/runner.js +30 -30
  239. package/test/e2e/specs/test.js +13 -13
  240. package/test/unit/.eslintrc +5 -5
  241. package/test/unit/TestUtil.js +62 -62
  242. package/test/unit/context.html +20 -20
  243. package/test/unit/index.js +13 -13
@@ -1,413 +1,413 @@
1
- <template>
2
- <div class="auto">
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='search' v-ref:cri>
5
- <div partial>
6
- <form>
7
- <div class="row app-row">
8
- <div class="col-xs-4">
9
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
10
- <label class="font text-left">用户编号:</label>
11
- </div>
12
- <div class="col-xs-8" >
13
- <input class="search_input input-font"
14
- v-model=model.f_userinfo_code condition="f_userinfo_code = '{}'" placeholder="请输入用户编号" />
15
- </div>
16
- </div>
17
- <div class="row app-row">
18
- <div class="col-xs-4">
19
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
20
- <label class="font text-left">表 &nbsp;&nbsp; &nbsp;&nbsp; 号:</label>
21
- </div>
22
- <div class="col-xs-8" >
23
- <input class="search_input input-font"
24
- v-model=model.f_meternumber condition="f_meternumber = '{}'" style="width: 70%" placeholder="请输入表号" />
25
- <button type="button" name="button" class="btn btn-primary" style="width: 25%" @click="$parent.$parent.scan">扫码</button>
26
- </div>
27
- </div>
28
- <div class="row app-row">
29
- <div class="col-xs-4">
30
- <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
31
- <label class="font text-left">用户名称:</label>
32
- </div>
33
- <div class="col-xs-8" >
34
- <input class="search_input input-font" v-model="model.f_username" placeholder="请输入用户名称(可模糊查询)">
35
- </div>
36
- </div>
37
- <div class="row app-row">
38
- <div class="col-xs-4">
39
- <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
40
- <label class="font text-left">用户类型:</label>
41
- </div>
42
- <div class="col-xs-8" >
43
- <v-select :value.sync="$parent.$parent.model.f_user_type" class="input-font"
44
- :options='$parent.$parent.user_types' placeholder='请选择用户类型' :value-single="true"
45
- v-model="$parent.$parent.model.f_user_type" close-on-select clear-button></v-select>
46
- </div>
47
- </div>
48
- <div class="row app-row">
49
- <div class="col-xs-4">
50
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
51
- <label class="font text-left">小区名称:</label>
52
- </div>
53
- <div class="col-xs-8" >
54
- <input style="width: 100%" class="search_input input-font" v-model="model.f_districtname" placeholder="请输入用户小区(可模糊查询)">
55
- </div>
56
- </div>
57
- <div class="row app-row">
58
- <div class="col-xs-4">
59
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
60
- <label class="font text-left">楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
61
- </div>
62
- <div class="col-xs-8" >
63
- <input style="width: 100%" class="search_input input-font" v-model="model.f_building" placeholder="请输入用户楼号">
64
- </div>
65
- </div>
66
- <div class="row app-row">
67
- <div class="col-xs-4">
68
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
69
- <label class="font text-left">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元:</label>
70
- </div>
71
- <div class="col-xs-8" >
72
- <input style="width: 100%" class="search_input input-font" v-model="model.f_unit" placeholder="请输入用户单元">
73
- </div>
74
- </div>
75
- <div class="row app-row">
76
- <div class="col-xs-4">
77
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
78
- <label class="font text-left">用户地址:</label>
79
- </div>
80
- <div class="col-xs-8" >
81
- <input style="width: 100%" class="search_input input-font" v-model="model.f_address" placeholder="请输入用户地址(可模糊查询)">
82
- </div>
83
- </div>
84
- <div class="row app-row">
85
- <div class="col-xs-4">
86
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
87
- <label class="font text-left">表&nbsp;&nbsp;封&nbsp;&nbsp;号:</label>
88
- </div>
89
- <div class="col-xs-8" >
90
- <input style="width: 100%" class="search_input input-font" v-model="model.f_metertitles" placeholder="请输入表封号" condition="uf.f_metertitles='{}'">
91
- </div>
92
- </div>
93
- <div class="row app-row">
94
- <div class="col-xs-4">
95
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
96
- <label class="font text-left">电&nbsp;&nbsp;话&nbsp;&nbsp;号:</label>
97
- </div>
98
- <div class="col-xs-8" >
99
- <input style="width: 100%" class="search_input input-font" v-model="model.f_user_phone" placeholder="请输入电话号" condition="ui.f_user_phone like '%{}%'">
100
- </div>
101
- </div>
102
- <div class="row app-row">
103
- <div class="col-xs-4">
104
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
105
- <label class="font text-left">卡&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
106
- </div>
107
- <div class="col-xs-8" >
108
- <input style="width: 100%" class="search_input input-font" v-model="model.f_card_id" placeholder="请输入卡号" condition="uf.f_card_id like '%{}%'">
109
- </div>
110
- </div>
111
- <div class="row app-row">
112
- <div class="col-xs-4">
113
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
114
- <label class="font text-left">抄&nbsp;&nbsp;表&nbsp;&nbsp;册:</label>
115
- </div>
116
- <div class="col-xs-8" >
117
- <v-select class="input-font"
118
- placeholder='请选择抄表册'
119
- :value.sync="model.f_meter_book_num"
120
- v-model="model.f_meter_book_num"
121
- :options='$parent.$parent.cbc'
122
- condition="uf.f_meter_book_num='{}'"
123
- close-on-select clear-button></v-select>
124
- </div>
125
- </div>
126
- <div class="row text-center" style="margin-top: 20px;">
127
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
128
- </div>
129
- <div style="height:30px;"></div>
130
- </form>
131
- </div>
132
- </criteria>
133
-
134
- <list :model="model" partial='list'>
135
- <div partial>
136
- <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
137
- <div class="panel" style="padding: 10px 10px 5px 10px;">
138
- <div class="panel-body panel-self">
139
- <div class="row">
140
- <p class="panel-title col-xs-4 text-left font">用户编号</p>
141
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_userinfo_code }}</p>
142
- </div>
143
- <div class="row">
144
- <p class="panel-title col-xs-4 text-left font">用户名称</p>
145
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_name }}</p>
146
- </div>
147
- <div class="row">
148
- <p class="panel-title col-xs-4 text-left font">表号</p>
149
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
150
- </div>
151
- <div class="row">
152
- <p class="panel-title col-xs-4 text-left font">用户类型</p>
153
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_type }}</p>
154
- </div>
155
- <div class="row">
156
- <p class="panel-title col-xs-4 text-left font">用户电话</p>
157
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}</p>
158
- </div>
159
-
160
- <div class="row">
161
- <p class="panel-title col-xs-4 text-left font">小区名称</p>
162
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_residential_area }}</p>
163
- </div>
164
- <div class="row">
165
- <p class="panel-title col-xs-4 text-left font">用户地址</p>
166
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_address }}</p>
167
- </div>
168
- <div class="row">
169
- <p class="panel-title col-xs-4 text-left font">最后安检日期</p>
170
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_date }}</p>
171
- </div>
172
- <div class="row">
173
- <p class="panel-title col-xs-4 text-left font">最后安检状态</p>
174
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>
175
- </div>
176
- </div>
177
- </div>
178
-
179
- </div>
180
- </div>
181
- </list>
182
- </criteria-paged>
183
- <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
184
- </div>
185
- </template>
186
-
187
- <script>
188
- import {HttpResetClass, PagedList} from 'vue-client'
189
- import Vue from 'vue'
190
- import * as Util from '../../Util'
191
- import {toStandardTimeString} from "../../Util";
192
-
193
- export default {
194
- title: '安检员B',
195
- data () {
196
- let model = new PagedList(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/提取用户档案`, 20, { groupitem: '""', orderitem: '"f_residential_area,CAST(build as int),f_unit,CAST(floor1 as int),f_room"',f_check_type:'this.f_check_type[0]',
197
- f_user_name:'this.model.f_username',myCycle: 'this.myCycle',fyCycle: 'this.fyCycle', f_user_type:'this.f_user_type',f_sign: 'this.f_sign[0]', f_residential_area:'this.model.f_districtname', f_address:'this.model.f_address',f_user_state: 'this.f_user_state[0]',f_orgids:'this.f_orgids',f_unit:'this.model.f_unit',f_building:'this.model.f_building',f_filialeid:'this.f_filialeid'})
198
- model.f_sign = ['']
199
- model.f_user_type = ''
200
- model.f_user_state =['']
201
- model.f_check_type =['']
202
- model.myCycle = 0
203
- model.fyCycle = 0
204
- model.f_filialeid = Vue.user.orgid
205
- //model.f_filialeid = 287
206
- return {
207
- model: model,
208
- cbc:[],
209
- showModal:false,
210
- signs: [
211
- {label:'请选择录入状态', value:''},
212
- {label:'录入', value:'1'},
213
- {label:'非录入', value:'0'},
214
- ],
215
- ischecks: [
216
- ],
217
- user_types: [
218
- {label: '请选择用户类型', value: ''},
219
- {label: '民用', value: '民用'},
220
- {label: '非民用', value: '非民用'},
221
- ],
222
- f_user_states: [
223
- {label:'请选择档案状态', value:''},
224
- {label:'正常', value:'正常'},
225
- {label:'点火', value:'点火'},
226
- ],
227
- f_check_types: [
228
- {label:'请选择安检类型', value:''},
229
- {label:'应检', value:'应检'},
230
- {label:'超期', value:'超期'},
231
- ],
232
- }
233
- },
234
- ready () {
235
- // this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/getSafeCheckCycle`,{},{resolveMsg: null, rejectMsg: null}).then((res) => {
236
- // //tag)
237
- // if(res.data.code == 200){
238
- // this.model.myCycle = res.data.civil.value
239
- // this.model.fyCycle = res.data.civilian.value
240
- // }else{
241
- // //this.$showMessage(res.data.msg)
242
- // }
243
- //
244
- // })
245
- // this.getCheckTime()
246
- // this.Mreadibook()
247
- },
248
- computed: {
249
- reload(){
250
- this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
251
- },
252
- selected () {
253
- return this.$refs.paged.$refs.grid.selected
254
- }
255
- },
256
- methods:{
257
- scan(){
258
- HostApp.__this__=this,
259
- HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
260
- },
261
- getCode(){
262
- let datapa = HostApp.getCode().data;
263
- let indexnum = datapa.indexOf("]C1")
264
- if(indexnum != -1){
265
- datapa = datapa.substring(indexnum+3,datapa.length)
266
- }
267
- this.$refs.paged.$refs.cri.model.f_meternumber=datapa
268
- },
269
- getCheckTime(){
270
- //tag
271
- new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/safe_singleTable_OrderBy`,{data: {
272
- items: 'f_circle,f_start_time',
273
- tablename: 't_safe_circle',
274
- condition: `f_filialeid = '${Vue.user.orgid}'`,
275
- orderitem: 'id'
276
- }}).then(res=>{
277
- //tag)
278
- let nocheck=''
279
- let ischeck=''
280
- if (res.data[0]){
281
- if (res.data[0].f_circle=='1'){
282
- nocheck=`(ua.f_last_check_date<'${res.data[0].f_start_time}' or ua.f_last_check_date is null)`
283
- ischeck=`ua.f_last_check_date>'${res.data[0].f_start_time}'`
284
-
285
- }else{
286
- let addtime= (Util.toStandardTimeString().substring(0,4)-res.data[0].f_start_time.substring(0,4))%res.data[0].f_circle
287
- //tag
288
- let time =(Util.toStandardTimeString().substring(0,4)-addtime)+'-01-01 00:00:00'
289
- //tag
290
- nocheck=`(ua.f_last_check_date<'${time}' or ua.f_last_check_date is null)`
291
- ischeck=`ua.f_last_check_date>'${time}'`
292
- }
293
- //tag
294
- this.ischecks=[
295
- {label: '全部', value: ''},
296
- {label: '已检', value: ischeck },
297
- {label: '未检', value: nocheck},
298
- ]
299
- //tag
300
- }else{
301
- this.$showMessage("未配置安检周期")
302
- }
303
-
304
- })
305
- //tag
306
- },
307
- inspect (info){
308
- // 当前系统时间
309
- let newdate = Util.toStandardTimeString()
310
- if(info.f_last_check_state == '入户' && info.f_last_check_date){
311
- // 解析上次安检时间
312
- let lastCheckDate = new Date(info.f_last_check_date)
313
- let currentDate = new Date(newdate)
314
- // 计算时间差(毫秒)
315
- let timeDiff = currentDate.getTime() - lastCheckDate.getTime()
316
-
317
- // 6个月 = 6 * 30 * 24 * 60 * 60 * 1000 毫秒(约15552000000毫秒)
318
- // 更精确的计算:6个月 = 6 * 平均每月30.44天 * 24 * 60 * 60 * 1000
319
- let sixMonthsInMs = 6 * 30 * 24 * 60 * 60 * 1000
320
-
321
- if(timeDiff > sixMonthsInMs){
322
- this.$showMessage("该用户半年内已进行入户安检,无需再次安检",['confirm'])
323
- // 超过6个月,结束方法
324
- return
325
- }
326
- }
327
- info.id = ''
328
- info.f_state = '未检'
329
- info.f_no_checkplan = '无计划安检'
330
- //tag
331
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/查询计划项表信息`,{data:{f_userid:info.f_userinfo_id}}).then((response)=>{
332
- //tag)
333
- info['f_plan_meters'] = response.data
334
- var pardate = {
335
- _this:this,
336
- tittle:'安检详情',
337
- safe:true
338
- }
339
- this.$dispatch('gotoson',pardate)
340
- this.$goto('safecheck-order-v', {item: info, role: 'inspect',parentPage:'AddPlanItem'}, 'self', this.reload)
341
-
342
- })
343
- },
344
- Mreadibook(){
345
- this.cbc=[]
346
- let http = new HttpResetClass()
347
- http.load('POST',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/getMeterBooksData`,
348
- {data: {f_orgid: "('"+Vue.user.orgid+"')"}},
349
- {resolveMsg: null, rejectMsg: '获取失败!!!'}).then((getMeterReadingBooks)=>{
350
- this.cbc = [{label: '全部', value: ''}]
351
- //tag
352
- //tag)
353
- //tag
354
- getMeterReadingBooks.data.meterbooks.forEach((res) => {
355
- this.cbc.push({label: res.f_book_name, value: res.id})
356
- /*if(res.f_book_slice_area){
357
- if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
358
- this.sliceArea.push(res.f_book_slice_area)
359
- }
360
- }*/
361
- })
362
- })
363
-
364
-
365
- }
366
- }
367
- }
368
- </script>
369
- <style scoped>
370
- .app-row {
371
- background-color: white;
372
- padding: 10px 10px 0 10px;
373
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
374
- }
375
- .search_input {
376
- border: 0;
377
- outline: none;
378
- }
379
- .font{
380
- font: 15px PingFang-SC-Medium;
381
- color: #666666;
382
- }
383
- .input-font{
384
- font: 15px PingFang-SC-Medium;
385
- color: #333333;
386
- }
387
- .btn-font{
388
- font:600 16px PingFang-SC-Bold;
389
- color: #499EDF;
390
- }
391
- .btn-color{
392
- background-color: #FFFFFF;
393
- border-radius: 10px ;
394
- border: 1px solid #499EDF;
395
- }
396
- .app-text {
397
- font-size: 12px;
398
- }
399
- .panel-self{
400
- border-radius: 10px;
401
- border:1px solid #499EDF;
402
- background-color: #F8F8F8;
403
- }
404
- .yybtn-color{
405
- border-radius: 4px ;
406
- border: 1px solid #499EDF;
407
- }
408
- .qxbtn-color{
409
- background-color: #FFFFFF;
410
- border-radius: 4px ;
411
- border: 1px solid #499EDF;
412
- }
413
- </style>
1
+ <template>
2
+ <div class="auto">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='search' v-ref:cri>
5
+ <div partial>
6
+ <form>
7
+ <div class="row app-row">
8
+ <div class="col-xs-4">
9
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
10
+ <label class="font text-left">用户编号:</label>
11
+ </div>
12
+ <div class="col-xs-8" >
13
+ <input class="search_input input-font"
14
+ v-model=model.f_userinfo_code condition="f_userinfo_code = '{}'" placeholder="请输入用户编号" />
15
+ </div>
16
+ </div>
17
+ <div class="row app-row">
18
+ <div class="col-xs-4">
19
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
20
+ <label class="font text-left">表 &nbsp;&nbsp; &nbsp;&nbsp; 号:</label>
21
+ </div>
22
+ <div class="col-xs-8" >
23
+ <input class="search_input input-font"
24
+ v-model=model.f_meternumber condition="f_meternumber = '{}'" style="width: 70%" placeholder="请输入表号" />
25
+ <button type="button" name="button" class="btn btn-primary" style="width: 25%" @click="$parent.$parent.scan">扫码</button>
26
+ </div>
27
+ </div>
28
+ <div class="row app-row">
29
+ <div class="col-xs-4">
30
+ <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
31
+ <label class="font text-left">用户名称:</label>
32
+ </div>
33
+ <div class="col-xs-8" >
34
+ <input class="search_input input-font" v-model="model.f_username" placeholder="请输入用户名称(可模糊查询)">
35
+ </div>
36
+ </div>
37
+ <div class="row app-row">
38
+ <div class="col-xs-4">
39
+ <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
40
+ <label class="font text-left">用户类型:</label>
41
+ </div>
42
+ <div class="col-xs-8" >
43
+ <v-select :value.sync="$parent.$parent.model.f_user_type" class="input-font"
44
+ :options='$parent.$parent.user_types' placeholder='请选择用户类型' :value-single="true"
45
+ v-model="$parent.$parent.model.f_user_type" close-on-select clear-button></v-select>
46
+ </div>
47
+ </div>
48
+ <div class="row app-row">
49
+ <div class="col-xs-4">
50
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
51
+ <label class="font text-left">小区名称:</label>
52
+ </div>
53
+ <div class="col-xs-8" >
54
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_districtname" placeholder="请输入用户小区(可模糊查询)">
55
+ </div>
56
+ </div>
57
+ <div class="row app-row">
58
+ <div class="col-xs-4">
59
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
60
+ <label class="font text-left">楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
61
+ </div>
62
+ <div class="col-xs-8" >
63
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_building" placeholder="请输入用户楼号">
64
+ </div>
65
+ </div>
66
+ <div class="row app-row">
67
+ <div class="col-xs-4">
68
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
69
+ <label class="font text-left">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元:</label>
70
+ </div>
71
+ <div class="col-xs-8" >
72
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_unit" placeholder="请输入用户单元">
73
+ </div>
74
+ </div>
75
+ <div class="row app-row">
76
+ <div class="col-xs-4">
77
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
78
+ <label class="font text-left">用户地址:</label>
79
+ </div>
80
+ <div class="col-xs-8" >
81
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_address" placeholder="请输入用户地址(可模糊查询)">
82
+ </div>
83
+ </div>
84
+ <div class="row app-row">
85
+ <div class="col-xs-4">
86
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
87
+ <label class="font text-left">表&nbsp;&nbsp;封&nbsp;&nbsp;号:</label>
88
+ </div>
89
+ <div class="col-xs-8" >
90
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_metertitles" placeholder="请输入表封号" condition="uf.f_metertitles='{}'">
91
+ </div>
92
+ </div>
93
+ <div class="row app-row">
94
+ <div class="col-xs-4">
95
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
96
+ <label class="font text-left">电&nbsp;&nbsp;话&nbsp;&nbsp;号:</label>
97
+ </div>
98
+ <div class="col-xs-8" >
99
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_user_phone" placeholder="请输入电话号" condition="ui.f_user_phone like '%{}%'">
100
+ </div>
101
+ </div>
102
+ <div class="row app-row">
103
+ <div class="col-xs-4">
104
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
105
+ <label class="font text-left">卡&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
106
+ </div>
107
+ <div class="col-xs-8" >
108
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_card_id" placeholder="请输入卡号" condition="uf.f_card_id like '%{}%'">
109
+ </div>
110
+ </div>
111
+ <div class="row app-row">
112
+ <div class="col-xs-4">
113
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
114
+ <label class="font text-left">抄&nbsp;&nbsp;表&nbsp;&nbsp;册:</label>
115
+ </div>
116
+ <div class="col-xs-8" >
117
+ <v-select class="input-font"
118
+ placeholder='请选择抄表册'
119
+ :value.sync="model.f_meter_book_num"
120
+ v-model="model.f_meter_book_num"
121
+ :options='$parent.$parent.cbc'
122
+ condition="uf.f_meter_book_num='{}'"
123
+ close-on-select clear-button></v-select>
124
+ </div>
125
+ </div>
126
+ <div class="row text-center" style="margin-top: 20px;">
127
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
128
+ </div>
129
+ <div style="height:30px;"></div>
130
+ </form>
131
+ </div>
132
+ </criteria>
133
+
134
+ <list :model="model" partial='list'>
135
+ <div partial>
136
+ <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
137
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
138
+ <div class="panel-body panel-self">
139
+ <div class="row">
140
+ <p class="panel-title col-xs-4 text-left font">用户编号</p>
141
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_userinfo_code }}</p>
142
+ </div>
143
+ <div class="row">
144
+ <p class="panel-title col-xs-4 text-left font">用户名称</p>
145
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_name }}</p>
146
+ </div>
147
+ <div class="row">
148
+ <p class="panel-title col-xs-4 text-left font">表号</p>
149
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
150
+ </div>
151
+ <div class="row">
152
+ <p class="panel-title col-xs-4 text-left font">用户类型</p>
153
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_type }}</p>
154
+ </div>
155
+ <div class="row">
156
+ <p class="panel-title col-xs-4 text-left font">用户电话</p>
157
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}</p>
158
+ </div>
159
+
160
+ <div class="row">
161
+ <p class="panel-title col-xs-4 text-left font">小区名称</p>
162
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_residential_area }}</p>
163
+ </div>
164
+ <div class="row">
165
+ <p class="panel-title col-xs-4 text-left font">用户地址</p>
166
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_address }}</p>
167
+ </div>
168
+ <div class="row">
169
+ <p class="panel-title col-xs-4 text-left font">最后安检日期</p>
170
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_date }}</p>
171
+ </div>
172
+ <div class="row">
173
+ <p class="panel-title col-xs-4 text-left font">最后安检状态</p>
174
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>
175
+ </div>
176
+ </div>
177
+ </div>
178
+
179
+ </div>
180
+ </div>
181
+ </list>
182
+ </criteria-paged>
183
+ <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
184
+ </div>
185
+ </template>
186
+
187
+ <script>
188
+ import {HttpResetClass, PagedList} from 'vue-client'
189
+ import Vue from 'vue'
190
+ import * as Util from '../../Util'
191
+ import {toStandardTimeString} from "../../Util";
192
+
193
+ export default {
194
+ title: '安检员B',
195
+ data () {
196
+ let model = new PagedList(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/提取用户档案`, 20, { groupitem: '""', orderitem: '"f_residential_area,CAST(build as int),f_unit,CAST(floor1 as int),f_room"',f_check_type:'this.f_check_type[0]',
197
+ f_user_name:'this.model.f_username',myCycle: 'this.myCycle',fyCycle: 'this.fyCycle', f_user_type:'this.f_user_type',f_sign: 'this.f_sign[0]', f_residential_area:'this.model.f_districtname', f_address:'this.model.f_address',f_user_state: 'this.f_user_state[0]',f_orgids:'this.f_orgids',f_unit:'this.model.f_unit',f_building:'this.model.f_building',f_filialeid:'this.f_filialeid'})
198
+ model.f_sign = ['']
199
+ model.f_user_type = ''
200
+ model.f_user_state =['']
201
+ model.f_check_type =['']
202
+ model.myCycle = 0
203
+ model.fyCycle = 0
204
+ model.f_filialeid = Vue.user.orgid
205
+ //model.f_filialeid = 287
206
+ return {
207
+ model: model,
208
+ cbc:[],
209
+ showModal:false,
210
+ signs: [
211
+ {label:'请选择录入状态', value:''},
212
+ {label:'录入', value:'1'},
213
+ {label:'非录入', value:'0'},
214
+ ],
215
+ ischecks: [
216
+ ],
217
+ user_types: [
218
+ {label: '请选择用户类型', value: ''},
219
+ {label: '民用', value: '民用'},
220
+ {label: '非民用', value: '非民用'},
221
+ ],
222
+ f_user_states: [
223
+ {label:'请选择档案状态', value:''},
224
+ {label:'正常', value:'正常'},
225
+ {label:'点火', value:'点火'},
226
+ ],
227
+ f_check_types: [
228
+ {label:'请选择安检类型', value:''},
229
+ {label:'应检', value:'应检'},
230
+ {label:'超期', value:'超期'},
231
+ ],
232
+ }
233
+ },
234
+ ready () {
235
+ // this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/getSafeCheckCycle`,{},{resolveMsg: null, rejectMsg: null}).then((res) => {
236
+ // //tag)
237
+ // if(res.data.code == 200){
238
+ // this.model.myCycle = res.data.civil.value
239
+ // this.model.fyCycle = res.data.civilian.value
240
+ // }else{
241
+ // //this.$showMessage(res.data.msg)
242
+ // }
243
+ //
244
+ // })
245
+ // this.getCheckTime()
246
+ // this.Mreadibook()
247
+ },
248
+ computed: {
249
+ reload(){
250
+ this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
251
+ },
252
+ selected () {
253
+ return this.$refs.paged.$refs.grid.selected
254
+ }
255
+ },
256
+ methods:{
257
+ scan(){
258
+ HostApp.__this__=this,
259
+ HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
260
+ },
261
+ getCode(){
262
+ let datapa = HostApp.getCode().data;
263
+ let indexnum = datapa.indexOf("]C1")
264
+ if(indexnum != -1){
265
+ datapa = datapa.substring(indexnum+3,datapa.length)
266
+ }
267
+ this.$refs.paged.$refs.cri.model.f_meternumber=datapa
268
+ },
269
+ getCheckTime(){
270
+ //tag
271
+ new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/safe_singleTable_OrderBy`,{data: {
272
+ items: 'f_circle,f_start_time',
273
+ tablename: 't_safe_circle',
274
+ condition: `f_filialeid = '${Vue.user.orgid}'`,
275
+ orderitem: 'id'
276
+ }}).then(res=>{
277
+ //tag)
278
+ let nocheck=''
279
+ let ischeck=''
280
+ if (res.data[0]){
281
+ if (res.data[0].f_circle=='1'){
282
+ nocheck=`(ua.f_last_check_date<'${res.data[0].f_start_time}' or ua.f_last_check_date is null)`
283
+ ischeck=`ua.f_last_check_date>'${res.data[0].f_start_time}'`
284
+
285
+ }else{
286
+ let addtime= (Util.toStandardTimeString().substring(0,4)-res.data[0].f_start_time.substring(0,4))%res.data[0].f_circle
287
+ //tag
288
+ let time =(Util.toStandardTimeString().substring(0,4)-addtime)+'-01-01 00:00:00'
289
+ //tag
290
+ nocheck=`(ua.f_last_check_date<'${time}' or ua.f_last_check_date is null)`
291
+ ischeck=`ua.f_last_check_date>'${time}'`
292
+ }
293
+ //tag
294
+ this.ischecks=[
295
+ {label: '全部', value: ''},
296
+ {label: '已检', value: ischeck },
297
+ {label: '未检', value: nocheck},
298
+ ]
299
+ //tag
300
+ }else{
301
+ this.$showMessage("未配置安检周期")
302
+ }
303
+
304
+ })
305
+ //tag
306
+ },
307
+ inspect (info){
308
+ // 当前系统时间
309
+ let newdate = Util.toStandardTimeString()
310
+ if(info.f_last_check_state == '入户' && info.f_last_check_date){
311
+ // 解析上次安检时间
312
+ let lastCheckDate = new Date(info.f_last_check_date)
313
+ let currentDate = new Date(newdate)
314
+ // 计算时间差(毫秒)
315
+ let timeDiff = currentDate.getTime() - lastCheckDate.getTime()
316
+
317
+ // 6个月 = 6 * 30 * 24 * 60 * 60 * 1000 毫秒(约15552000000毫秒)
318
+ // 更精确的计算:6个月 = 6 * 平均每月30.44天 * 24 * 60 * 60 * 1000
319
+ let sixMonthsInMs = 6 * 30 * 24 * 60 * 60 * 1000
320
+
321
+ if(timeDiff > sixMonthsInMs){
322
+ this.$showMessage("该用户半年内已进行入户安检,无需再次安检",['confirm'])
323
+ // 超过6个月,结束方法
324
+ return
325
+ }
326
+ }
327
+ info.id = ''
328
+ info.f_state = '未检'
329
+ info.f_no_checkplan = '无计划安检'
330
+ //tag
331
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/查询计划项表信息`,{data:{f_userid:info.f_userinfo_id}}).then((response)=>{
332
+ //tag)
333
+ info['f_plan_meters'] = response.data
334
+ var pardate = {
335
+ _this:this,
336
+ tittle:'安检详情',
337
+ safe:true
338
+ }
339
+ this.$dispatch('gotoson',pardate)
340
+ this.$goto('safecheck-order-v', {item: info, role: 'inspect',parentPage:'AddPlanItem'}, 'self', this.reload)
341
+
342
+ })
343
+ },
344
+ Mreadibook(){
345
+ this.cbc=[]
346
+ let http = new HttpResetClass()
347
+ http.load('POST',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/getMeterBooksData`,
348
+ {data: {f_orgid: "('"+Vue.user.orgid+"')"}},
349
+ {resolveMsg: null, rejectMsg: '获取失败!!!'}).then((getMeterReadingBooks)=>{
350
+ this.cbc = [{label: '全部', value: ''}]
351
+ //tag
352
+ //tag)
353
+ //tag
354
+ getMeterReadingBooks.data.meterbooks.forEach((res) => {
355
+ this.cbc.push({label: res.f_book_name, value: res.id})
356
+ /*if(res.f_book_slice_area){
357
+ if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
358
+ this.sliceArea.push(res.f_book_slice_area)
359
+ }
360
+ }*/
361
+ })
362
+ })
363
+
364
+
365
+ }
366
+ }
367
+ }
368
+ </script>
369
+ <style scoped>
370
+ .app-row {
371
+ background-color: white;
372
+ padding: 10px 10px 0 10px;
373
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
374
+ }
375
+ .search_input {
376
+ border: 0;
377
+ outline: none;
378
+ }
379
+ .font{
380
+ font: 15px PingFang-SC-Medium;
381
+ color: #666666;
382
+ }
383
+ .input-font{
384
+ font: 15px PingFang-SC-Medium;
385
+ color: #333333;
386
+ }
387
+ .btn-font{
388
+ font:600 16px PingFang-SC-Bold;
389
+ color: #499EDF;
390
+ }
391
+ .btn-color{
392
+ background-color: #FFFFFF;
393
+ border-radius: 10px ;
394
+ border: 1px solid #499EDF;
395
+ }
396
+ .app-text {
397
+ font-size: 12px;
398
+ }
399
+ .panel-self{
400
+ border-radius: 10px;
401
+ border:1px solid #499EDF;
402
+ background-color: #F8F8F8;
403
+ }
404
+ .yybtn-color{
405
+ border-radius: 4px ;
406
+ border: 1px solid #499EDF;
407
+ }
408
+ .qxbtn-color{
409
+ background-color: #FFFFFF;
410
+ border-radius: 4px ;
411
+ border: 1px solid #499EDF;
412
+ }
413
+ </style>