safecheck-client 3.0.34-57 → 3.0.34-58

Sign up to get free protection for your applications and to get access to all the features.
Files changed (250) 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/androidTest.js +20 -20
  121. package/src/bootstrap/less/.csscomb.json +304 -304
  122. package/src/bootstrap/less/.csslintrc +19 -19
  123. package/src/bootstrap/less/alerts.less +73 -73
  124. package/src/bootstrap/less/badges.less +66 -66
  125. package/src/bootstrap/less/breadcrumbs.less +26 -26
  126. package/src/bootstrap/less/button-groups.less +247 -247
  127. package/src/bootstrap/less/buttons.less +172 -172
  128. package/src/bootstrap/less/carousel.less +269 -269
  129. package/src/bootstrap/less/close.less +34 -34
  130. package/src/bootstrap/less/code.less +69 -69
  131. package/src/bootstrap/less/component-animations.less +33 -33
  132. package/src/bootstrap/less/dropdowns.less +216 -216
  133. package/src/bootstrap/less/forms.less +626 -626
  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/pager.less +76 -76
  175. package/src/bootstrap/less/pagination.less +89 -89
  176. package/src/bootstrap/less/panels.less +275 -275
  177. package/src/bootstrap/less/popovers.less +131 -131
  178. package/src/bootstrap/less/print.less +101 -101
  179. package/src/bootstrap/less/progress-bars.less +87 -87
  180. package/src/bootstrap/less/responsive-embed.less +35 -35
  181. package/src/bootstrap/less/responsive-utilities.less +194 -194
  182. package/src/bootstrap/less/scaffolding.less +161 -161
  183. package/src/bootstrap/less/theme.less +291 -291
  184. package/src/bootstrap/less/thumbnails.less +36 -36
  185. package/src/bootstrap/less/tooltip.less +102 -102
  186. package/src/bootstrap/less/type.less +303 -303
  187. package/src/bootstrap/less/utilities.less +55 -55
  188. package/src/bootstrap/less/wells.less +29 -29
  189. package/src/components/FileUpload.vue +696 -696
  190. package/src/components/Hello.vue +39 -39
  191. package/src/components/LeftTree.vue +27 -27
  192. package/src/components/android/AddressList.vue +61 -61
  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/NavBottom.vue +157 -157
  205. package/src/components/android/PaperAlarm.vue +85 -85
  206. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  207. package/src/components/android/PlumberAnnual.vue +83 -83
  208. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  209. package/src/components/android/PlumberMonthly.vue +84 -84
  210. package/src/components/android/PostMap.vue +83 -83
  211. package/src/components/android/QueryCheckHistory.vue +122 -122
  212. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  213. package/src/components/android/RepairMain.vue +60 -60
  214. package/src/components/android/Repairman.vue +12 -12
  215. package/src/components/android/SafecheckDevices.vue +1298 -1298
  216. package/src/components/android/SafecheckOrderV.vue +2805 -2809
  217. package/src/components/android/StationMaster.vue +12 -12
  218. package/src/components/defects/DefectModal.vue +101 -101
  219. package/src/components/defects/DevicesAndItem.vue +39 -39
  220. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  221. package/src/components/notice/NoticeForm.vue +100 -100
  222. package/src/components/notice/NoticeIssue.vue +20 -20
  223. package/src/components/paper/PicViewer.vue +18 -18
  224. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  225. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  226. package/src/components/phonestate/PostMap.vue +82 -82
  227. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  228. package/src/components/userfile/MeterFile.vue +145 -145
  229. package/src/components/userfile/MeterModify.vue +46 -46
  230. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  231. package/src/filiale/jiaxian/android/SafecheckDevices.vue +1298 -1298
  232. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2811
  233. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  234. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  235. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1060 -1060
  236. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +735 -735
  237. package/src/filiale/weinan/pc/CheckDetail.vue +278 -278
  238. package/src/filiale/weinan/pc/checkUserList.vue +712 -712
  239. package/src/plugins/LoadData.js +10 -10
  240. package/src/plugins/LoadParams.js +24 -24
  241. package/src/stores/wxconfig.js +10 -10
  242. package/src/utils/getNowDate.js +33 -33
  243. package/test/e2e/custom-assertions/elementCount.js +26 -26
  244. package/test/e2e/nightwatch.conf.js +40 -40
  245. package/test/e2e/runner.js +30 -30
  246. package/test/e2e/specs/test.js +13 -13
  247. package/test/unit/.eslintrc +5 -5
  248. package/test/unit/TestUtil.js +62 -62
  249. package/test/unit/context.html +20 -20
  250. package/test/unit/index.js +13 -13
@@ -1,804 +1,804 @@
1
- <template>
2
- <div class="auto app-text">
3
- <div class="panel" style="padding: 10px 10px 5px 10px;">
4
- <div class="panel-body panel-self">
5
- <div class="col-xs-12" style="padding: 2px 0">
6
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
7
- <p class="panel-title col-xs-7 text-left input-font">
8
- <label @click="searchHistory(userinfo.f_userinfoid)"
9
- style="color: #00b3ee;text-decoration:none;">{{ userinfo.f_userinfo_code }}</label><label
10
- v-if="upUserinfoSta=='是'" style="color: #00b3ee;text-decoration:none;"
11
- @click="upuserinfo(userinfo.f_userinfoid)">信息变更</label>
12
- </p>
13
- </div>
14
- <div class="col-xs-12" style="padding: 2px 0">
15
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
16
- <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_user_name }}</p>
17
- </div>
18
- <div class="col-xs-12" style="padding: 2px 0">
19
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户类型:</b></p>
20
- <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_check_type }}
21
- </p>
22
- </div>
23
- <div class="col-xs-12" style="padding: 2px 0">
24
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户电话:</b></p>
25
- <input class="panel-title text-left input-font" style="width: 53%"
26
- value="{{ userinfo.f_user_phone2 ? userinfo.f_user_phone2 : userinfo.f_user_phone }}"
27
- v-model="userinfo.f_user_phone"/>
28
-
29
- </div>
30
- <!-- <div class="col-xs-12" style="padding: 2px 0" v-if="updateuserphone&&(userinfo.planmeterss.f_aliasname=='机表')">-->
31
- <!-- <p class="panel-title text-left font" style="width: 23%;float: left"><b>机表表号:</b></p>-->
32
- <!-- <input class="panel-title text-left input-font" style="width: 53%" value="{{ userinfo.f_meter_no }}" v-model="userinfo.f_meter_no"/>-->
33
-
34
- <!-- </div>-->
35
- <div class="col-xs-12" style="padding: 2px 0">
36
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户小区:</b></p>
37
- <p class="panel-title text-left input-font" style="width: 79%">{{ userinfo.f_residential_area }}</p>
38
- </div>
39
- <div class="col-xs-12" style="padding: 2px 0">
40
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
41
- <p class="panel-title text-left input-font" style="width: 79%;float: left">{{ userinfo.f_address }}</p>
42
- </div>
43
- <div class="col-xs-12" style="padding: 2px 0">
44
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>安检状态:</b></p>
45
- <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_state }}</p>
46
- </div>
47
- <div class="col-xs-12" style="padding: 2px 0">
48
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>保险到期时间:</b></p>
49
- <p class="panel-title col-xs-7 text-left input-font" v-if="userinfo.guoqi=='是'" style="color: red">{{userinfo.f_ins_stop_date}}</p>
50
- <p class="panel-title col-xs-7 text-left input-font" v-else >{{userinfo.f_ins_stop_date}}</p>
51
- </div>
52
- <div class="col-xs-12">
53
- <button type="button" style="width: 45%;float: left" class="btn btn-primary" v-if="updateuserphone"
54
- @click="updatePhone(userinfo.f_user_phone,userinfo.f_userinfoid)">电话修改
55
- </button>
56
- <button type="button" style="width: 45%;float: right" class="btn btn-primary" v-if="updatemetermodel"
57
- @click="showbiaoxinghao()">表型号修改
58
- </button>
59
- </div>
60
- <div class="col-xs-12">
61
- <button type="button" style="width: 45%;float: left" class="btn btn-primary"
62
- v-if="updatemeternumber&&(userinfo.planmeterss.f_aliasname=='机表')"
63
- @click="updatebiaohao(userinfo.f_meter_no,userinfo.f_userinfoid)">表号修改
64
- </button>
65
- <!-- <button type="button" style="width: 45%;float: right" class="btn btn-primary" v-if="updateuserphone" @click="showbiaoxinghao()">表型号修改</button>-->
66
- </div>
67
- </div>
68
- <div class="panel-body">
69
- <div v-show="false" class="row repair-info-content auto">
70
- <div class="col-xs-12 col-sm-12 col-md-12 form-input-group">
71
- <label class="control-label">
72
- <nobr>到达时间:</nobr>
73
- </label>
74
- <span>{{ f_onsite_time }}</span>
75
- </div>
76
- <div class="col-xs-12 col-sm-12 col-md-12 form-input-group" v-if="data.f_date_leave">
77
- <label class="control-label">
78
- <nobr>离开时间:</nobr>
79
- </label>
80
- <span>{{ f_offsite_time }}</span>
81
- </div>
82
- </div>
83
-
84
-
85
- <div style="font-size: medium;" :class="style__">
86
- <span class="col-md-3 col-sm-4 col-xs-4 text-left"><img src="../../../assets/housestyle.png"
87
- style="width: 20px;margin-bottom: 5px;text-align: left"
88
- alt="">入户状态:</span>
89
- <div :class="style__" class="col-md-9 col-sm-8 col-xs-8 text-center">
90
- <input type="radio" name="enterstatus" v-model="f_entry_status" id="nopeople" value="到访不遇">到访不遇
91
- <input type="radio" name="enterstatus" v-model="f_entry_status" id="rejectchecck" value="拒检">拒检
92
- <input type="radio" name="enterstatus" v-model="f_entry_status" id="enterhouse" value="入户">入户
93
- </div>
94
-
95
- </div>
96
- <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='到访不遇'">
97
- <label class="text-left font">到访不遇照片:</label>
98
- <div class="auto">
99
- <div class="panel" style="padding: 10px 10px 5px 10px;">
100
- <div class="panel-body panel-self"
101
- style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
102
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
103
- <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px"
104
- v-for="(index,img) in f_noanswers_path">
105
- <img-self :src="img.f_noanswer_path" alt="到访不遇照片" :width="130" :height="160"></img-self>
106
- <img src="../../../assets/删除.png" @click="delfile('f_noanswers_path', img.f_noanswer_path,index)"
107
- style="width: 15px;margin-top: -80px" alt="">
108
- </div>
109
- </div>
110
- <div class="row text-right div-photo" :class="style__">
111
- <button type="button" name="button" class="btn btn-primary btn-photo"
112
- @click="takePic('拍照','f_noanswers_path', '到访不遇照片')">拍照
113
- </button>
114
- <!-- <button type="button" name="button" class="btn btn-primary btn-photo"-->
115
- <!-- @click="takePic('相册','f_noanswers_path', '到访不遇照片')">相册-->
116
- <!-- </button>-->
117
- </div>
118
- </div>
119
- </div>
120
- </div>
121
- </div>
122
- <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='拒检'">
123
- <label class="text-left font">拒检照片:</label>
124
- <div class="auto">
125
- <div class="panel" style="padding: 10px 10px 5px 10px;">
126
- <div class="panel-body panel-self"
127
- style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
128
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
129
- <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px"
130
- v-for="(index,img) in f_rejectchecks_path">
131
- <img-self :src="img.f_rejectcheck_path" alt="拒检照片" :width="130" :height="160"></img-self>
132
- <img src="../../../assets/删除.png" @click="delfile('f_rejectchecks_path', img.f_rejectcheck_path,index)"
133
- style="width: 15px;margin-top: -80px" alt="">
134
- </div>
135
- </div>
136
- <div class="row text-right div-photo" :class="style__">
137
- <button type="button" name="button" class="btn btn-primary btn-photo"
138
- @click="takePic('拍照','f_rejectchecks_path', '拒检照片')">拍照
139
- </button>
140
- </div>
141
- </div>
142
- </div>
143
- </div>
144
- </div>
145
- <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='入户' && false" style="margin-top: 6px">
146
- <span class="text-left col-md-3 col-sm-4 col-xs-4"> <img src="../../../assets/enterstatus.png" style="width: 20px;margin-bottom: 5px;text-align: left" alt="">燃气使用:</span>
147
- <div :class="style__" class="col-md-9 col-sm-8 col-xs-8 text-center">
148
- <input type="radio" name="isuseed" v-model="f_usegas" id="useedgas" value="已使用">已使用&ensp;&ensp;
149
- <input type="radio" name="isuseed" v-model="f_usegas" id="nousegas" value="未用气">未用气
150
- </div>
151
- </div>
152
- <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_usegas == '未用气'">
153
- <label class="text-left font">未使用天然气照片::</label>
154
- <div class="auto">
155
- <div class="panel" style="padding: 10px 10px 5px 10px;">
156
- <div class="panel-body panel-self"
157
- style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
158
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
159
- <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px">
160
- <img-self :src="f_nongasuser_path" alt="未使用天然气照片" :width="130" :height="160"></img-self>
161
- <img src="../../../assets/删除.png" @click="delfile('f_nongasuser_path', this.f_nongasuser_path)"
162
- style="width: 15px;margin-top: -80px" alt="">
163
- </div>
164
- </div>
165
- <div class="row text-right div-photo" :class="style__">
166
- <button type="button" name="button" class="btn btn-primary btn-photo"
167
- @click="takePic('拍照','f_nongasuser_path', '未使用天然气照片')">拍照
168
- </button>
169
- </div>
170
- </div>
171
- </div>
172
- </div>
173
- </div>
174
- </div>
175
-
176
- </div>
177
- <!-- <div :class="style__" class="form-group" v-show="f_usegas == '未使用'">-->
178
- <!-- <sapn class="text-left col-md-12 col-sm-12 col-xs-12">处置方式:</sapn>-->
179
- <!-- <div class="col-xs-12 col-sm-12 col-md-12">-->
180
- <!-- <input type="checkbox" v-model="f_no_gas_device">无燃气具-->
181
- <!-- <input type="checkbox" v-model="f_close_valve">关闭表前阀-->
182
- <!-- <input type="checkbox" v-model="f_unload_battery">取下表内电池-->
183
- <!-- </div>-->
184
- <!-- </div>-->
185
- <div class="auto app-text" style="margin-top: 5px;" v-if="this.$parent.$parent.role != 'view'">
186
- <div class="panel" style="padding: 10px 7px 10px 0px;">
187
- <div class="panel-body panel-self">
188
- <div v-show="false" class="row">
189
- <p class="panel-title col-xs-4 text-left font">建档时间</p>
190
- <p class="panel-title col-xs-8 text-left input-font">{{ newfile_date }}</p>
191
- </div>
192
- <div class="row" v-if="last_check_date != null && last_check_date != ''">
193
- <p class="panel-title col-xs-4 text-left font">上次安检时间</p>
194
- <p class="panel-title col-xs-8 text-left input-font">{{ last_check_date }}</p>
195
- </div>
196
- <div class="row" v-if="last_check_date != null && last_check_date != ''">
197
- <p class="panel-title col-xs-4 text-left font">上次安检人员</p>
198
- <p class="panel-title col-xs-8 text-left input-font">{{ this.$parent.$parent.item.f_plan_meters[0].f_checker_name }}</p>
199
- </div>
200
- <div class="row">
201
- <p class="panel-title col-xs-4 text-left font">上次安检状态</p>
202
- <p class="panel-title col-xs-8 text-left input-font"
203
- v-if="last_check_date != null && last_check_date != ''">{{ last_check_state }}</p>
204
- <p class="panel-title col-xs-8 text-left input-font"
205
- v-if="last_check_date == null || last_check_date == ''">未安检</p>
206
- </div>
207
- <div class="row" v-if="last_check_date != null && last_check_date != ''">
208
- <p class="panel-title col-xs-4 text-left font">上次安检结果</p>
209
- <p class="panel-title col-xs-8 text-left input-font" :class="last_check_result=='正常'?'':'color-red'">
210
- {{ last_check_result }}</p>
211
- <div v-for="data in last_check_data.data" class="panel-title col-xs-offset-4 col-xs-8 text-left input-font">
212
- <p v-for="(key,item) in data">
213
- {{ key }}:{{ item }}
214
- </p>
215
- </div>
216
- </div>
217
- </div>
218
- </div>
219
- </div>
220
- </div>
221
- <div v-if="showbModal">
222
- <modal :show.sync="showbModal" v-ref:modal backdrop="false">
223
- <div slot="modal-header" class="modal-header">
224
- <h4 class="modal-title">
225
- 选择表型号
226
- </h4>
227
- </div>
228
- <div slot="modal-body" class="modal-body">
229
- <div class="col-xs-12">
230
-
231
- <v-select :value.sync="biaoxinghao" v-model='biaoxinghao'
232
- :value-single="true"
233
- class="select_list select"
234
- :options='gmlist' placeholder='请选择表型号'
235
- close-on-select width="100%"></v-select>
236
- </div>
237
- <div class="col-xs-12" style="height: 10px">
238
-
239
- </div>
240
-
241
- </div>
242
- <div slot="modal-footer" class="modal-footer">
243
- <button class="btn btn-default" @click="biaoxinghaook()">确认</button>
244
- <button class="btn btn-default" @click="biaoxinghaocancel()">取消</button>
245
- </div>
246
- </modal>
247
- </div>
248
- </template>
249
-
250
- <script>
251
- import {HttpResetClass} from 'vue-client'
252
- import * as Util from '../../Util'
253
- import Vue from 'vue'
254
- import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
255
- import Radio from 'vue-client/src/vue-strap/src/radioBtn'
256
-
257
- export default {
258
- title: 'SafecheckUserInfo',
259
- props: ['userinfo'],
260
- data () {
261
- return this.$parent.$parent.data
262
- },
263
- created () {
264
- this.$set('showbModal', false)
265
- //tag
266
- this.$set('biaoxinghao', '')
267
- },
268
- ready () {
269
- if(this.$appdata.getSingleValue('保险到期提醒')==='true'){
270
- if (this.userinfo.f_ins_stop_date!==''&&this.userinfo.f_ins_stop_date!=null) {
271
- const insuranceDateString = this.userinfo.f_ins_stop_date.toString();
272
- // 如果字符串包含时间信息,并且您只关心日期部分,可以使用split截取到年月日
273
- const [year, month, day] = insuranceDateString.split(' ')[0].split('-').map(Number);
274
- // 创建保险到期日期的 Date 对象(注意 JavaScript 的月份是从 0 开始的)
275
- const insuranceDate = new Date(year, month - 1, day);
276
- // 确保比较时两个日期都是同一天中的同一时间点(例如都是午夜12点)
277
- insuranceDate.setHours(0, 0, 0, 0);
278
- const currentDate = new Date();
279
- currentDate.setHours(0, 0, 0, 0);
280
- // 计算两个日期之间的时间差(毫秒)
281
- const differenceInMilliseconds = insuranceDate - currentDate;
282
- // 将毫秒转换为天数
283
- const differenceInDays = Math.ceil(differenceInMilliseconds / (1000 * 60 * 60 * 24));
284
- // 判断天数
285
- if (differenceInDays >= 0 && differenceInDays <= 30) {
286
- this.$showMessage('该用户保险到期时间已不足一月!');
287
- } else if (differenceInDays < 0) {
288
- this.userinfo.guoqi='是'
289
- }
290
- }
291
- }
292
- //tag
293
- //tag)
294
- // //tag)
295
- // this.$set('userinfo.f_meter_no',this.userinfo.planmeterss.f_meter_no)
296
- // //tag)
297
- this.$set('beforephone', this.userinfo.f_user_phone)
298
- this.$set('gmlist', [])
299
- //tag
300
- if (Vue.config.safecheck != undefined) {
301
- if (Vue.config.safecheck.SafecheckUserinfo != undefined) {
302
- if (Vue.config.safecheck.SafecheckUserinfo.updateuserphone != undefined) {
303
- this.$set('updateuserphone', Vue.config.safecheck.SafecheckUserinfo.updateuserphone)
304
- }
305
- if (Vue.config.safecheck.SafecheckUserinfo.updatemetermodel != undefined) {
306
- this.$set('updatemetermodel', Vue.config.safecheck.SafecheckUserinfo.updatemetermodel)
307
- }
308
- if (Vue.config.safecheck.SafecheckUserinfo.updatemeternumber != undefined) {
309
- this.$set('updatemeternumber', Vue.config.safecheck.SafecheckUserinfo.updatemeternumber)
310
- }
311
- }
312
- }
313
- for (let i in this.userinfo) {
314
- //tag + ':' + JSON.stringify(this.userinfo[i]))
315
- }
316
- this.safecheckStateReady()
317
-
318
- },
319
- methods: {
320
- updatebiaohao (f_meter_no, f_userinfo_id) {
321
- this.$showMessage('将用户 ' + this.userinfo.f_user_name + '的机表表号从' + this.userinfo.planmeterss.f_meter_no + '修改为' + f_meter_no, ['confirm', 'cancel']).then((butt) => {
322
- if (butt == 'confirm') {
323
- let http = new HttpResetClass()
324
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/safecheckUpdateBiaoHao`, {
325
- f_meter_no: f_meter_no,
326
- f_userinfo_id: f_userinfo_id
327
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
328
- if (res.data.code == 200) {
329
- this.$showMessage('修改成功!')
330
- } else {
331
- this.$showMessage('修改失败!,网络异常')
332
- }
333
- })
334
- }
335
- })
336
- },
337
- biaoxinghaook () {
338
- if (this.biaoxinghao == '') {
339
- this.$showMessage('请选择表型号')
340
- return
341
- }
342
- //tag
343
- //tag
344
- this.$showMessage('是否确定进行修改?', ['confirm', 'cancel']).then((butt) => {
345
- if (butt == 'confirm') {
346
- let http = new HttpResetClass()
347
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/safecheckUpdateBiaoXingHao`, {
348
- biaoxinghao: this.biaoxinghao,
349
- f_userinfo_id: this.userinfo.f_userinfoid
350
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
351
- if (res.data.code == 200) {
352
- this.$showMessage('修改成功!')
353
- //tag
354
- this.showbModal = false
355
- } else {
356
- this.$showMessage('修改失败!,网络异常')
357
- }
358
- })
359
- }
360
- })
361
- },
362
- biaoxinghaocancel () {
363
- //tag
364
- this.showbModal = false
365
- },
366
- showbiaoxinghao () {
367
- this.gmlist = []
368
- //tag)
369
- //tag
370
- let http1 = new HttpResetClass()
371
- http1.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {
372
- data: {
373
- items: 'gm.id,gm.f_meter_style',
374
- tablename: 't_gasbrand gb LEFT JOIN t_gasmodel gm ON gb.id= gm.f_gasbrand_id ',
375
- condition: `f_meter_brand = '${this.userinfo.planmeterss.f_aliasname}'`,
376
- // condition: `f_meter_brand = 'this.userinfo.planmeterss'`,
377
- orderitem: 'gm.id'
378
- }
379
- }, {resolveMsg: null, rejectMsg: null}).then((ress) => {
380
- ress.data.forEach(res => {
381
- this.gmlist.push({
382
- label: res.f_meter_style,
383
- value: res.id
384
- })
385
- })
386
- //tag)
387
- //tag
388
- this.showbModal = true
389
- })
390
- },
391
- updatePhone (f_user_phone, f_userinfo_id) {
392
-
393
- this.$showMessage('将用户 ' + this.userinfo.f_user_name + '的电话号码从' + this.beforephone + '修改为' + f_user_phone, ['confirm', 'cancel']).then((butt) => {
394
- if (butt == 'confirm') {
395
- let http = new HttpResetClass()
396
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/safecheckUpdatePhone`, {
397
- f_user_phone: f_user_phone,
398
- f_userinfo_id: f_userinfo_id
399
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
400
- if (res.data.code == 200) {
401
- this.$showMessage('修改成功!')
402
- } else {
403
- this.$showMessage('修改失败!,网络异常')
404
- }
405
- })
406
- }
407
- })
408
- },
409
- upuserinfo (f_userinfo_id) {
410
- this.$dispatch('gotoson', {
411
- _this: this.$parent.$parent,
412
- title: '档案信息变更',
413
- safe: false
414
- })
415
- this.$parent.$parent.$goto('PhoneUpUserinfo', {f_userinfo_id: f_userinfo_id, f_source: '安检'})
416
- },
417
- searchHistory (f_userinfo_id) {
418
- this.$dispatch('gotoson', {
419
- _this: this.$parent.$parent,
420
- title: '购气记录',
421
- safe: false
422
- })
423
- this.$parent.$parent.$goto('phone-sell-info', {f_userinfo_id: f_userinfo_id})
424
- },
425
- cameraCallBack (prop, fileName) {
426
- if (prop == 'f_noanswers_path') {
427
- let f_noanswer_path = fileName + '?' + Math.random()
428
- HostApp.__this__.f_noanswers_path.push({
429
- f_noanswer_path: f_noanswer_path
430
- })
431
- } else if (prop == 'f_rejectchecks_path') {
432
- let f_rejectcheck_path = fileName + '?' + Math.random()
433
- HostApp.__this__.f_rejectchecks_path.push({
434
- f_rejectcheck_path: f_rejectcheck_path
435
- })
436
- }else {
437
- HostApp.__this__.$set(prop, fileName + '?' + Math.random())
438
- }
439
- HostApp.__callback__ = null
440
- HostApp.__this__ = null
441
- },
442
- takePic (type ,prop, title) {
443
- HostApp.__callback__ = this.cameraCallBack
444
- HostApp.__this__ = this
445
- //tag
446
- let fileName
447
- if (prop == 'f_noanswers_path') {
448
- //tag
449
- if (this.f_noanswers_path.length == 3) {
450
- return
451
- }
452
- fileName = Util.guid() + '-' + prop + '.jpg'
453
- } else if (prop == 'f_rejectchecks_path') {
454
- //tag
455
- if (this.f_rejectchecks_path.length == 3) {
456
- return
457
- }
458
- fileName = Util.guid() + '-' + prop + '.jpg'
459
- }else {
460
- if (!this[prop] || this[prop].includes('nopic.png')) {
461
- fileName = Util.guid() + '-' + prop + '.jpg'
462
- } else {
463
- fileName = Util.getFileName(this[prop])
464
- }
465
- }
466
- let jingweidu = ''
467
- if (this.$parent.$parent.is_has_jingweidu == 'true'){
468
- const obj = HostApp.getGpsDetailAddress()
469
- jingweidu = '\t经度:' + obj.longitude+ '\t纬度:' + obj.latitude
470
- }
471
- let page = 'com.aofeng.hybrid.android.peripheral.CameraActivity'
472
- if(type === '相册'){
473
- page ='com.aofeng.hybrid.android.peripheral.ActionPickActivity'
474
- }
475
- HostApp._open_a_page({
476
- type: 'boomerang',
477
- page,
478
- param: {
479
- file: fileName,
480
- requestCode: 111,
481
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
482
- watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name +jingweidu
483
- }
484
- })
485
- },
486
- delfile (prop, fileName, index) {
487
- if (fileName == Vue.nopic) {
488
- return
489
- } else {
490
- if (prop == 'f_noanswers_path') {
491
- this.f_noanswers_path.splice(index, 1)
492
- HostApp.delfile(fileName)
493
- }else if (prop == 'f_rejectchecks_path') {
494
- this.f_rejectchecks_path.splice(index, 1)
495
- HostApp.delfile(fileName)
496
- } else {
497
- HostApp.delfile(fileName)
498
- this[prop] = Vue.nopic
499
- }
500
- }
501
- },
502
- setEntryClass (val) {
503
- if (val == '到访不遇') {
504
- this.f_usegas = ''
505
- this.$set('f_entry_class', 'warning')
506
- } else if (val == '拒检') {
507
- this.f_usegas = ''
508
- this.$set('f_entry_class', 'danger')
509
- } else if (val == '入户') {
510
- this.$set('f_entry_class', 'success')
511
- }
512
- },
513
- setUsegas (val) {
514
- if (val == '未使用') {
515
- this.$set('f_useclass', 'default')
516
- }
517
- if (val == '已使用') {
518
- this.$set('f_useclass', 'success')
519
- }
520
- },
521
- start () {
522
- this.$parent.$parent.isStrat = true
523
- this.$set('action', !this.action)
524
- this.$set('f_onsite_time', Util.toStandardTimeString())
525
- },
526
- safecheckStateReady () {
527
- //tag
528
- //tag
529
- //tag
530
- if (!this.$parent.$parent.showBack) {
531
- this.$parent.$parent.showBack = true
532
- }
533
- //兼容下-如果没有通过外层查询带进来最新安检时间,就拿本地单子里存的上次安检时间
534
- if (this.$parent.$parent.item.f_plan_meters[0].f_last_check_date) {
535
- this.$set('last_check_date', this.$parent.$parent.item.f_plan_meters[0].f_last_check_date)
536
- this.$set('last_check_state', this.$parent.$parent.item.f_plan_meters[0].f_last_check_state)
537
- this.$set('newfile_date', this.$parent.$parent.item.f_plan_meters[0].f_newfile_date)
538
- if (this.$parent.$parent.item.f_plan_meters[0].f_last_check_result) {
539
- let checkResult = JSON.parse(this.$parent.$parent.item.f_plan_meters[0].f_last_check_result)
540
- this.$set('last_check_result', checkResult.result)
541
- this.$set('last_check_data.data', checkResult.data)
542
- } else {
543
- this.$set('last_check_result', '')
544
- this.$set('last_check_data.data', [])
545
- }
546
- } else {
547
- this.$set('last_check_state', this.$parent.$parent.item.f_plan_meters[0].f_last_check_state)
548
- this.$set('last_check_date', this.$parent.$parent.item.f_last_check_date)
549
- if (this.$parent.$parent.item.f_last_check_result) {
550
- let checkResult = JSON.parse(this.$parent.$parent.item.f_last_check_result)
551
- this.$set('last_check_result', checkResult.result)
552
- this.$set('last_check_data.data', checkResult.data)
553
- } else {
554
- this.$set('last_check_result', '')
555
- this.$set('last_check_data.data', [])
556
- }
557
- }
558
-
559
- this.$set('upUserinfoSta', '否')
560
- this.upUserinfoSta = this.$appdata.getSingleValue('安检修改档案信息')
561
-
562
- if (this.$parent.$parent.role == 'inspect' && this.f_complete != '已完成') {
563
- this.start()
564
- }
565
- if (this.$parent.$parent.data.f_onsite_time) {
566
- //tag
567
- this.$parent.$parent.startClick = true
568
- }
569
- this.action = true
570
- //tag
571
- if (this.f_onsite_time) {
572
- this.$parent.$parent.isStrat = true
573
- this.$parent.$parent.data.f_onsite_time = Util.toStandardTimeString()
574
- }
575
- if (this.$parent.$parent.role == 'repair') {
576
- this.$set('style__', 'divmask')
577
- this.$set('style_view_', '')
578
- } else if (this.$parent.$parent.role == 'view') {
579
- this.$set('style__', 'divmask')
580
- this.$set('style_view_', 'divmask')
581
- //tag
582
- } else {
583
- this.$set('style__', '')
584
- this.$set('style_view_', '')
585
- }
586
- if (!this.f_nongasuser_path) {
587
- this.$set('f_nongasuser_path', '')
588
- }
589
- //到访多张照片
590
- this.$set('f_noanswers_path', [])
591
- if (this.f_noanswer_path) {
592
- this.f_noanswers_path.push({f_noanswer_path: this.f_noanswer_path})
593
- } else {
594
- this.$set('f_noanswer_path', '')
595
- }
596
- if (this.f_noanswer1_path) {
597
- this.f_noanswers_path.push({f_noanswer_path: this.f_noanswer1_path})
598
- } else {
599
- this.$set('f_noanswer1_path', '')
600
- }
601
- if (this.f_noanswer2_path) {
602
- this.f_noanswers_path.push({f_noanswer_path: this.f_noanswer2_path})
603
- } else {
604
- this.$set('f_noanswer2_path', '')
605
- }
606
-
607
- if (!this.f_rejectcheck_path) {
608
- this.$set('f_rejectcheck_path', '')
609
- }
610
- //拒检多张照片
611
- this.$set('f_rejectchecks_path', [])
612
- if (this.f_rejectcheck_path) {
613
- this.f_rejectchecks_path.push({f_rejectcheck_path: this.f_rejectcheck_path})
614
- } else {
615
- this.$set('f_rejectcheck_path', '')
616
- }
617
- if (this.f_rejectcheck1_path) {
618
- this.f_rejectchecks_path.push({f_rejectcheck_path: this.f_rejectcheck1_path})
619
- } else {
620
- this.$set('f_rejectcheck1_path', '')
621
- }
622
- if (this.f_rejectcheck2_path) {
623
- this.f_rejectchecks_path.push({f_rejectcheck_path: this.f_rejectcheck2_path})
624
- } else {
625
- this.$set('f_rejectcheck2_path', '')
626
- }
627
-
628
- this.$watch('f_noanswers_path.length', () => {
629
- //tag)
630
- for (let i = 0; i < 3; i++) {
631
-
632
- if (this.f_noanswers_path[i] && this.f_noanswers_path[i].f_noanswer_path) {
633
- //tag)
634
- if (i == 0) {
635
- this.f_noanswer_path = this.f_noanswers_path[i].f_noanswer_path
636
- } else {
637
- this['f_noanswer' + i + '_path'] = this.f_noanswers_path[i].f_noanswer_path
638
- }
639
- } else {
640
- //tag)
641
- if (i == 0) {
642
- this.f_noanswer_path = null
643
- } else {
644
- this['f_noanswer' + i + '_path'] = null
645
- }
646
- }
647
- }
648
- //tag
649
- })
650
- this.$watch('f_rejectchecks_path.length', () => {
651
- //tag)
652
- for (let i = 0; i < 3; i++) {
653
-
654
- if (this.f_rejectchecks_path[i] && this.f_rejectchecks_path[i].f_rejectcheck_path) {
655
- //tag)
656
- if (i == 0) {
657
- this.f_rejectcheck_path = this.f_rejectchecks_path[i].f_rejectcheck_path
658
- } else {
659
- this['f_rejectcheck' + i + '_path'] = this.f_rejectchecks_path[i].f_rejectcheck_path
660
- }
661
- } else {
662
- //tag)
663
- if (i == 0) {
664
- this.f_rejectcheck_path = null
665
- } else {
666
- this['f_rejectcheck' + i + '_path'] = null
667
- }
668
- }
669
- }
670
- //tag
671
- })
672
-
673
- this.$watch('f_usegas', (val) => {
674
- this.setUsegas(val)
675
- })
676
-
677
- this.setEntryClass(this.f_entry_status)
678
- this.$watch('f_entry_status', (val) => {
679
- this.setEntryClass(val)
680
-
681
- if (val == '到访不遇') {
682
- this.f_rejectcheck_path = Vue.nopic
683
- this.f_rejectcheck1_path = Vue.nopic
684
- this.f_rejectcheck2_path = Vue.nopic
685
- this.f_rejectchecks_path = []
686
- }
687
- if (val == '拒检') {
688
- this.f_noanswer_path = Vue.nopic
689
- this.f_noanswer1_path = Vue.nopic
690
- this.f_noanswer2_path = Vue.nopic
691
- this.f_noanswers_path = []
692
- }
693
-
694
- if (val != '入户') {
695
- //清理安检概括
696
- this.f_no_gas_device = false
697
- this.f_unload_battery = false
698
- this.f_close_valve = false
699
- //清理全局隐患
700
- this.f_defect_cramped = false
701
- this.f_defect_bedroom = false
702
- this.f_defect_longpipe = false
703
- this.f_defect_firesource = false
704
- this.f_defect_explosive = false
705
- this.f_defect_viacabinet = false
706
- this.f_defect_intermittent = false
707
- this.f_defect_nearfire = false
708
- this.f_defect_openkitchen = false
709
- this.f_defect_hang = false
710
- this.f_cramped_path = Vue.nopic
711
- //用户评价
712
- this.f_client_evaluation = null
713
- //清设备
714
- this.$set('f_plumbs', [])
715
- this.$set('f_valves', [])
716
- this.$set('f_inner_plumbs', [])
717
- this.$set('f_alarms', [])
718
- this.$set('f_cookers', [])
719
- this.$set('f_heaters', [])
720
- this.$set('f_furnaces', [])
721
- } else {
722
- this.f_rejectcheck_path = Vue.nopic
723
- this.f_noanswer_path = Vue.nopic
724
- this.f_novisit_reason = null
725
- }
726
- })
727
- }
728
- },
729
- components: {
730
- RadioGroup,
731
- Radio
732
- }
733
- }
734
- </script>
735
-
736
- <style scoped>
737
-
738
- .font {
739
- font: 15px PingFang-SC-Medium;
740
- color: #666666;
741
- }
742
-
743
- .input-font {
744
- font: 15px PingFang-SC-Medium;
745
- color: #333333;
746
- }
747
-
748
- .app-text {
749
- font-size: 12px;
750
- }
751
-
752
- .panel-self {
753
- border-radius: 10px;
754
- border: 1px solid #499EDF;
755
- background-color: #F8F8F8;
756
- }
757
-
758
- .app-text {
759
- font-size: 12px;
760
- }
761
-
762
- .panel-self {
763
- border-radius: 5px;
764
- border: 1px solid #c5e1f7;
765
- background-color: #F2F6FA;
766
- }
767
-
768
- .font {
769
- font: 15px PingFang-SC-Medium;
770
- color: #333333;
771
- }
772
-
773
- .panel-self {
774
- border-radius: 5px;
775
- border: 1px solid #c5e1f7;
776
- background-color: #F2F6FA;
777
- }
778
-
779
- .text-left {
780
- text-align: left;
781
- }
782
-
783
- .font {
784
- font: 15px PingFang-SC-Medium;
785
- color: #333333;
786
- }
787
-
788
- .btn-photo {
789
- border: 0;
790
- border-radius: 7px;
791
- background-color: #7dc1f4;
792
- font: 15px PingFang-SC-Bold;
793
- height: 20%;
794
- }
795
-
796
- .div-photo {
797
- width: auto;
798
- height: auto;
799
- /* margin-top: 10px; */
800
- position: absolute;
801
- bottom: 10px;
802
- right: 10px;
803
- }
804
- </style>
1
+ <template>
2
+ <div class="auto app-text">
3
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
4
+ <div class="panel-body panel-self">
5
+ <div class="col-xs-12" style="padding: 2px 0">
6
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
7
+ <p class="panel-title col-xs-7 text-left input-font">
8
+ <label @click="searchHistory(userinfo.f_userinfoid)"
9
+ style="color: #00b3ee;text-decoration:none;">{{ userinfo.f_userinfo_code }}</label><label
10
+ v-if="upUserinfoSta=='是'" style="color: #00b3ee;text-decoration:none;"
11
+ @click="upuserinfo(userinfo.f_userinfoid)">信息变更</label>
12
+ </p>
13
+ </div>
14
+ <div class="col-xs-12" style="padding: 2px 0">
15
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
16
+ <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_user_name }}</p>
17
+ </div>
18
+ <div class="col-xs-12" style="padding: 2px 0">
19
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户类型:</b></p>
20
+ <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_check_type }}
21
+ </p>
22
+ </div>
23
+ <div class="col-xs-12" style="padding: 2px 0">
24
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户电话:</b></p>
25
+ <input class="panel-title text-left input-font" style="width: 53%"
26
+ value="{{ userinfo.f_user_phone2 ? userinfo.f_user_phone2 : userinfo.f_user_phone }}"
27
+ v-model="userinfo.f_user_phone"/>
28
+
29
+ </div>
30
+ <!-- <div class="col-xs-12" style="padding: 2px 0" v-if="updateuserphone&&(userinfo.planmeterss.f_aliasname=='机表')">-->
31
+ <!-- <p class="panel-title text-left font" style="width: 23%;float: left"><b>机表表号:</b></p>-->
32
+ <!-- <input class="panel-title text-left input-font" style="width: 53%" value="{{ userinfo.f_meter_no }}" v-model="userinfo.f_meter_no"/>-->
33
+
34
+ <!-- </div>-->
35
+ <div class="col-xs-12" style="padding: 2px 0">
36
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户小区:</b></p>
37
+ <p class="panel-title text-left input-font" style="width: 79%">{{ userinfo.f_residential_area }}</p>
38
+ </div>
39
+ <div class="col-xs-12" style="padding: 2px 0">
40
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
41
+ <p class="panel-title text-left input-font" style="width: 79%;float: left">{{ userinfo.f_address }}</p>
42
+ </div>
43
+ <div class="col-xs-12" style="padding: 2px 0">
44
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>安检状态:</b></p>
45
+ <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_state }}</p>
46
+ </div>
47
+ <div class="col-xs-12" style="padding: 2px 0">
48
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>保险到期时间:</b></p>
49
+ <p class="panel-title col-xs-7 text-left input-font" v-if="userinfo.guoqi=='是'" style="color: red">{{userinfo.f_ins_stop_date}}</p>
50
+ <p class="panel-title col-xs-7 text-left input-font" v-else >{{userinfo.f_ins_stop_date}}</p>
51
+ </div>
52
+ <div class="col-xs-12">
53
+ <button type="button" style="width: 45%;float: left" class="btn btn-primary" v-if="updateuserphone"
54
+ @click="updatePhone(userinfo.f_user_phone,userinfo.f_userinfoid)">电话修改
55
+ </button>
56
+ <button type="button" style="width: 45%;float: right" class="btn btn-primary" v-if="updatemetermodel"
57
+ @click="showbiaoxinghao()">表型号修改
58
+ </button>
59
+ </div>
60
+ <div class="col-xs-12">
61
+ <button type="button" style="width: 45%;float: left" class="btn btn-primary"
62
+ v-if="updatemeternumber&&(userinfo.planmeterss.f_aliasname=='机表')"
63
+ @click="updatebiaohao(userinfo.f_meter_no,userinfo.f_userinfoid)">表号修改
64
+ </button>
65
+ <!-- <button type="button" style="width: 45%;float: right" class="btn btn-primary" v-if="updateuserphone" @click="showbiaoxinghao()">表型号修改</button>-->
66
+ </div>
67
+ </div>
68
+ <div class="panel-body">
69
+ <div v-show="false" class="row repair-info-content auto">
70
+ <div class="col-xs-12 col-sm-12 col-md-12 form-input-group">
71
+ <label class="control-label">
72
+ <nobr>到达时间:</nobr>
73
+ </label>
74
+ <span>{{ f_onsite_time }}</span>
75
+ </div>
76
+ <div class="col-xs-12 col-sm-12 col-md-12 form-input-group" v-if="data.f_date_leave">
77
+ <label class="control-label">
78
+ <nobr>离开时间:</nobr>
79
+ </label>
80
+ <span>{{ f_offsite_time }}</span>
81
+ </div>
82
+ </div>
83
+
84
+
85
+ <div style="font-size: medium;" :class="style__">
86
+ <span class="col-md-3 col-sm-4 col-xs-4 text-left"><img src="../../../assets/housestyle.png"
87
+ style="width: 20px;margin-bottom: 5px;text-align: left"
88
+ alt="">入户状态:</span>
89
+ <div :class="style__" class="col-md-9 col-sm-8 col-xs-8 text-center">
90
+ <input type="radio" name="enterstatus" v-model="f_entry_status" id="nopeople" value="到访不遇">到访不遇
91
+ <input type="radio" name="enterstatus" v-model="f_entry_status" id="rejectchecck" value="拒检">拒检
92
+ <input type="radio" name="enterstatus" v-model="f_entry_status" id="enterhouse" value="入户">入户
93
+ </div>
94
+
95
+ </div>
96
+ <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='到访不遇'">
97
+ <label class="text-left font">到访不遇照片:</label>
98
+ <div class="auto">
99
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
100
+ <div class="panel-body panel-self"
101
+ style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
102
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
103
+ <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px"
104
+ v-for="(index,img) in f_noanswers_path">
105
+ <img-self :src="img.f_noanswer_path" alt="到访不遇照片" :width="130" :height="160"></img-self>
106
+ <img src="../../../assets/删除.png" @click="delfile('f_noanswers_path', img.f_noanswer_path,index)"
107
+ style="width: 15px;margin-top: -80px" alt="">
108
+ </div>
109
+ </div>
110
+ <div class="row text-right div-photo" :class="style__">
111
+ <button type="button" name="button" class="btn btn-primary btn-photo"
112
+ @click="takePic('拍照','f_noanswers_path', '到访不遇照片')">拍照
113
+ </button>
114
+ <!-- <button type="button" name="button" class="btn btn-primary btn-photo"-->
115
+ <!-- @click="takePic('相册','f_noanswers_path', '到访不遇照片')">相册-->
116
+ <!-- </button>-->
117
+ </div>
118
+ </div>
119
+ </div>
120
+ </div>
121
+ </div>
122
+ <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='拒检'">
123
+ <label class="text-left font">拒检照片:</label>
124
+ <div class="auto">
125
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
126
+ <div class="panel-body panel-self"
127
+ style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
128
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
129
+ <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px"
130
+ v-for="(index,img) in f_rejectchecks_path">
131
+ <img-self :src="img.f_rejectcheck_path" alt="拒检照片" :width="130" :height="160"></img-self>
132
+ <img src="../../../assets/删除.png" @click="delfile('f_rejectchecks_path', img.f_rejectcheck_path,index)"
133
+ style="width: 15px;margin-top: -80px" alt="">
134
+ </div>
135
+ </div>
136
+ <div class="row text-right div-photo" :class="style__">
137
+ <button type="button" name="button" class="btn btn-primary btn-photo"
138
+ @click="takePic('拍照','f_rejectchecks_path', '拒检照片')">拍照
139
+ </button>
140
+ </div>
141
+ </div>
142
+ </div>
143
+ </div>
144
+ </div>
145
+ <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='入户' && false" style="margin-top: 6px">
146
+ <span class="text-left col-md-3 col-sm-4 col-xs-4"> <img src="../../../assets/enterstatus.png" style="width: 20px;margin-bottom: 5px;text-align: left" alt="">燃气使用:</span>
147
+ <div :class="style__" class="col-md-9 col-sm-8 col-xs-8 text-center">
148
+ <input type="radio" name="isuseed" v-model="f_usegas" id="useedgas" value="已使用">已使用&ensp;&ensp;
149
+ <input type="radio" name="isuseed" v-model="f_usegas" id="nousegas" value="未用气">未用气
150
+ </div>
151
+ </div>
152
+ <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_usegas == '未用气'">
153
+ <label class="text-left font">未使用天然气照片::</label>
154
+ <div class="auto">
155
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
156
+ <div class="panel-body panel-self"
157
+ style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
158
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
159
+ <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px">
160
+ <img-self :src="f_nongasuser_path" alt="未使用天然气照片" :width="130" :height="160"></img-self>
161
+ <img src="../../../assets/删除.png" @click="delfile('f_nongasuser_path', this.f_nongasuser_path)"
162
+ style="width: 15px;margin-top: -80px" alt="">
163
+ </div>
164
+ </div>
165
+ <div class="row text-right div-photo" :class="style__">
166
+ <button type="button" name="button" class="btn btn-primary btn-photo"
167
+ @click="takePic('拍照','f_nongasuser_path', '未使用天然气照片')">拍照
168
+ </button>
169
+ </div>
170
+ </div>
171
+ </div>
172
+ </div>
173
+ </div>
174
+ </div>
175
+
176
+ </div>
177
+ <!-- <div :class="style__" class="form-group" v-show="f_usegas == '未使用'">-->
178
+ <!-- <sapn class="text-left col-md-12 col-sm-12 col-xs-12">处置方式:</sapn>-->
179
+ <!-- <div class="col-xs-12 col-sm-12 col-md-12">-->
180
+ <!-- <input type="checkbox" v-model="f_no_gas_device">无燃气具-->
181
+ <!-- <input type="checkbox" v-model="f_close_valve">关闭表前阀-->
182
+ <!-- <input type="checkbox" v-model="f_unload_battery">取下表内电池-->
183
+ <!-- </div>-->
184
+ <!-- </div>-->
185
+ <div class="auto app-text" style="margin-top: 5px;" v-if="this.$parent.$parent.role != 'view'">
186
+ <div class="panel" style="padding: 10px 7px 10px 0px;">
187
+ <div class="panel-body panel-self">
188
+ <div v-show="false" class="row">
189
+ <p class="panel-title col-xs-4 text-left font">建档时间</p>
190
+ <p class="panel-title col-xs-8 text-left input-font">{{ newfile_date }}</p>
191
+ </div>
192
+ <div class="row" v-if="last_check_date != null && last_check_date != ''">
193
+ <p class="panel-title col-xs-4 text-left font">上次安检时间</p>
194
+ <p class="panel-title col-xs-8 text-left input-font">{{ last_check_date }}</p>
195
+ </div>
196
+ <div class="row" v-if="last_check_date != null && last_check_date != ''">
197
+ <p class="panel-title col-xs-4 text-left font">上次安检人员</p>
198
+ <p class="panel-title col-xs-8 text-left input-font">{{ this.$parent.$parent.item.f_plan_meters[0].f_checker_name }}</p>
199
+ </div>
200
+ <div class="row">
201
+ <p class="panel-title col-xs-4 text-left font">上次安检状态</p>
202
+ <p class="panel-title col-xs-8 text-left input-font"
203
+ v-if="last_check_date != null && last_check_date != ''">{{ last_check_state }}</p>
204
+ <p class="panel-title col-xs-8 text-left input-font"
205
+ v-if="last_check_date == null || last_check_date == ''">未安检</p>
206
+ </div>
207
+ <div class="row" v-if="last_check_date != null && last_check_date != ''">
208
+ <p class="panel-title col-xs-4 text-left font">上次安检结果</p>
209
+ <p class="panel-title col-xs-8 text-left input-font" :class="last_check_result=='正常'?'':'color-red'">
210
+ {{ last_check_result }}</p>
211
+ <div v-for="data in last_check_data.data" class="panel-title col-xs-offset-4 col-xs-8 text-left input-font">
212
+ <p v-for="(key,item) in data">
213
+ {{ key }}:{{ item }}
214
+ </p>
215
+ </div>
216
+ </div>
217
+ </div>
218
+ </div>
219
+ </div>
220
+ </div>
221
+ <div v-if="showbModal">
222
+ <modal :show.sync="showbModal" v-ref:modal backdrop="false">
223
+ <div slot="modal-header" class="modal-header">
224
+ <h4 class="modal-title">
225
+ 选择表型号
226
+ </h4>
227
+ </div>
228
+ <div slot="modal-body" class="modal-body">
229
+ <div class="col-xs-12">
230
+
231
+ <v-select :value.sync="biaoxinghao" v-model='biaoxinghao'
232
+ :value-single="true"
233
+ class="select_list select"
234
+ :options='gmlist' placeholder='请选择表型号'
235
+ close-on-select width="100%"></v-select>
236
+ </div>
237
+ <div class="col-xs-12" style="height: 10px">
238
+
239
+ </div>
240
+
241
+ </div>
242
+ <div slot="modal-footer" class="modal-footer">
243
+ <button class="btn btn-default" @click="biaoxinghaook()">确认</button>
244
+ <button class="btn btn-default" @click="biaoxinghaocancel()">取消</button>
245
+ </div>
246
+ </modal>
247
+ </div>
248
+ </template>
249
+
250
+ <script>
251
+ import {HttpResetClass} from 'vue-client'
252
+ import * as Util from '../../Util'
253
+ import Vue from 'vue'
254
+ import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
255
+ import Radio from 'vue-client/src/vue-strap/src/radioBtn'
256
+
257
+ export default {
258
+ title: 'SafecheckUserInfo',
259
+ props: ['userinfo'],
260
+ data () {
261
+ return this.$parent.$parent.data
262
+ },
263
+ created () {
264
+ this.$set('showbModal', false)
265
+ //tag
266
+ this.$set('biaoxinghao', '')
267
+ },
268
+ ready () {
269
+ if(this.$appdata.getSingleValue('保险到期提醒')==='true'){
270
+ if (this.userinfo.f_ins_stop_date!==''&&this.userinfo.f_ins_stop_date!=null) {
271
+ const insuranceDateString = this.userinfo.f_ins_stop_date.toString();
272
+ // 如果字符串包含时间信息,并且您只关心日期部分,可以使用split截取到年月日
273
+ const [year, month, day] = insuranceDateString.split(' ')[0].split('-').map(Number);
274
+ // 创建保险到期日期的 Date 对象(注意 JavaScript 的月份是从 0 开始的)
275
+ const insuranceDate = new Date(year, month - 1, day);
276
+ // 确保比较时两个日期都是同一天中的同一时间点(例如都是午夜12点)
277
+ insuranceDate.setHours(0, 0, 0, 0);
278
+ const currentDate = new Date();
279
+ currentDate.setHours(0, 0, 0, 0);
280
+ // 计算两个日期之间的时间差(毫秒)
281
+ const differenceInMilliseconds = insuranceDate - currentDate;
282
+ // 将毫秒转换为天数
283
+ const differenceInDays = Math.ceil(differenceInMilliseconds / (1000 * 60 * 60 * 24));
284
+ // 判断天数
285
+ if (differenceInDays >= 0 && differenceInDays <= 30) {
286
+ this.$showMessage('该用户保险到期时间已不足一月!');
287
+ } else if (differenceInDays < 0) {
288
+ this.userinfo.guoqi='是'
289
+ }
290
+ }
291
+ }
292
+ //tag
293
+ //tag)
294
+ // //tag)
295
+ // this.$set('userinfo.f_meter_no',this.userinfo.planmeterss.f_meter_no)
296
+ // //tag)
297
+ this.$set('beforephone', this.userinfo.f_user_phone)
298
+ this.$set('gmlist', [])
299
+ //tag
300
+ if (Vue.config.safecheck != undefined) {
301
+ if (Vue.config.safecheck.SafecheckUserinfo != undefined) {
302
+ if (Vue.config.safecheck.SafecheckUserinfo.updateuserphone != undefined) {
303
+ this.$set('updateuserphone', Vue.config.safecheck.SafecheckUserinfo.updateuserphone)
304
+ }
305
+ if (Vue.config.safecheck.SafecheckUserinfo.updatemetermodel != undefined) {
306
+ this.$set('updatemetermodel', Vue.config.safecheck.SafecheckUserinfo.updatemetermodel)
307
+ }
308
+ if (Vue.config.safecheck.SafecheckUserinfo.updatemeternumber != undefined) {
309
+ this.$set('updatemeternumber', Vue.config.safecheck.SafecheckUserinfo.updatemeternumber)
310
+ }
311
+ }
312
+ }
313
+ for (let i in this.userinfo) {
314
+ //tag + ':' + JSON.stringify(this.userinfo[i]))
315
+ }
316
+ this.safecheckStateReady()
317
+
318
+ },
319
+ methods: {
320
+ updatebiaohao (f_meter_no, f_userinfo_id) {
321
+ this.$showMessage('将用户 ' + this.userinfo.f_user_name + '的机表表号从' + this.userinfo.planmeterss.f_meter_no + '修改为' + f_meter_no, ['confirm', 'cancel']).then((butt) => {
322
+ if (butt == 'confirm') {
323
+ let http = new HttpResetClass()
324
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/safecheckUpdateBiaoHao`, {
325
+ f_meter_no: f_meter_no,
326
+ f_userinfo_id: f_userinfo_id
327
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
328
+ if (res.data.code == 200) {
329
+ this.$showMessage('修改成功!')
330
+ } else {
331
+ this.$showMessage('修改失败!,网络异常')
332
+ }
333
+ })
334
+ }
335
+ })
336
+ },
337
+ biaoxinghaook () {
338
+ if (this.biaoxinghao == '') {
339
+ this.$showMessage('请选择表型号')
340
+ return
341
+ }
342
+ //tag
343
+ //tag
344
+ this.$showMessage('是否确定进行修改?', ['confirm', 'cancel']).then((butt) => {
345
+ if (butt == 'confirm') {
346
+ let http = new HttpResetClass()
347
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/safecheckUpdateBiaoXingHao`, {
348
+ biaoxinghao: this.biaoxinghao,
349
+ f_userinfo_id: this.userinfo.f_userinfoid
350
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
351
+ if (res.data.code == 200) {
352
+ this.$showMessage('修改成功!')
353
+ //tag
354
+ this.showbModal = false
355
+ } else {
356
+ this.$showMessage('修改失败!,网络异常')
357
+ }
358
+ })
359
+ }
360
+ })
361
+ },
362
+ biaoxinghaocancel () {
363
+ //tag
364
+ this.showbModal = false
365
+ },
366
+ showbiaoxinghao () {
367
+ this.gmlist = []
368
+ //tag)
369
+ //tag
370
+ let http1 = new HttpResetClass()
371
+ http1.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {
372
+ data: {
373
+ items: 'gm.id,gm.f_meter_style',
374
+ tablename: 't_gasbrand gb LEFT JOIN t_gasmodel gm ON gb.id= gm.f_gasbrand_id ',
375
+ condition: `f_meter_brand = '${this.userinfo.planmeterss.f_aliasname}'`,
376
+ // condition: `f_meter_brand = 'this.userinfo.planmeterss'`,
377
+ orderitem: 'gm.id'
378
+ }
379
+ }, {resolveMsg: null, rejectMsg: null}).then((ress) => {
380
+ ress.data.forEach(res => {
381
+ this.gmlist.push({
382
+ label: res.f_meter_style,
383
+ value: res.id
384
+ })
385
+ })
386
+ //tag)
387
+ //tag
388
+ this.showbModal = true
389
+ })
390
+ },
391
+ updatePhone (f_user_phone, f_userinfo_id) {
392
+
393
+ this.$showMessage('将用户 ' + this.userinfo.f_user_name + '的电话号码从' + this.beforephone + '修改为' + f_user_phone, ['confirm', 'cancel']).then((butt) => {
394
+ if (butt == 'confirm') {
395
+ let http = new HttpResetClass()
396
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/safecheckUpdatePhone`, {
397
+ f_user_phone: f_user_phone,
398
+ f_userinfo_id: f_userinfo_id
399
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
400
+ if (res.data.code == 200) {
401
+ this.$showMessage('修改成功!')
402
+ } else {
403
+ this.$showMessage('修改失败!,网络异常')
404
+ }
405
+ })
406
+ }
407
+ })
408
+ },
409
+ upuserinfo (f_userinfo_id) {
410
+ this.$dispatch('gotoson', {
411
+ _this: this.$parent.$parent,
412
+ title: '档案信息变更',
413
+ safe: false
414
+ })
415
+ this.$parent.$parent.$goto('PhoneUpUserinfo', {f_userinfo_id: f_userinfo_id, f_source: '安检'})
416
+ },
417
+ searchHistory (f_userinfo_id) {
418
+ this.$dispatch('gotoson', {
419
+ _this: this.$parent.$parent,
420
+ title: '购气记录',
421
+ safe: false
422
+ })
423
+ this.$parent.$parent.$goto('phone-sell-info', {f_userinfo_id: f_userinfo_id})
424
+ },
425
+ cameraCallBack (prop, fileName) {
426
+ if (prop == 'f_noanswers_path') {
427
+ let f_noanswer_path = fileName + '?' + Math.random()
428
+ HostApp.__this__.f_noanswers_path.push({
429
+ f_noanswer_path: f_noanswer_path
430
+ })
431
+ } else if (prop == 'f_rejectchecks_path') {
432
+ let f_rejectcheck_path = fileName + '?' + Math.random()
433
+ HostApp.__this__.f_rejectchecks_path.push({
434
+ f_rejectcheck_path: f_rejectcheck_path
435
+ })
436
+ }else {
437
+ HostApp.__this__.$set(prop, fileName + '?' + Math.random())
438
+ }
439
+ HostApp.__callback__ = null
440
+ HostApp.__this__ = null
441
+ },
442
+ takePic (type ,prop, title) {
443
+ HostApp.__callback__ = this.cameraCallBack
444
+ HostApp.__this__ = this
445
+ //tag
446
+ let fileName
447
+ if (prop == 'f_noanswers_path') {
448
+ //tag
449
+ if (this.f_noanswers_path.length == 3) {
450
+ return
451
+ }
452
+ fileName = Util.guid() + '-' + prop + '.jpg'
453
+ } else if (prop == 'f_rejectchecks_path') {
454
+ //tag
455
+ if (this.f_rejectchecks_path.length == 3) {
456
+ return
457
+ }
458
+ fileName = Util.guid() + '-' + prop + '.jpg'
459
+ }else {
460
+ if (!this[prop] || this[prop].includes('nopic.png')) {
461
+ fileName = Util.guid() + '-' + prop + '.jpg'
462
+ } else {
463
+ fileName = Util.getFileName(this[prop])
464
+ }
465
+ }
466
+ let jingweidu = ''
467
+ if (this.$parent.$parent.is_has_jingweidu == 'true'){
468
+ const obj = HostApp.getGpsDetailAddress()
469
+ jingweidu = '\t经度:' + obj.longitude+ '\t纬度:' + obj.latitude
470
+ }
471
+ let page = 'com.aofeng.hybrid.android.peripheral.CameraActivity'
472
+ if(type === '相册'){
473
+ page ='com.aofeng.hybrid.android.peripheral.ActionPickActivity'
474
+ }
475
+ HostApp._open_a_page({
476
+ type: 'boomerang',
477
+ page,
478
+ param: {
479
+ file: fileName,
480
+ requestCode: 111,
481
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
482
+ watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name +jingweidu
483
+ }
484
+ })
485
+ },
486
+ delfile (prop, fileName, index) {
487
+ if (fileName == Vue.nopic) {
488
+ return
489
+ } else {
490
+ if (prop == 'f_noanswers_path') {
491
+ this.f_noanswers_path.splice(index, 1)
492
+ HostApp.delfile(fileName)
493
+ }else if (prop == 'f_rejectchecks_path') {
494
+ this.f_rejectchecks_path.splice(index, 1)
495
+ HostApp.delfile(fileName)
496
+ } else {
497
+ HostApp.delfile(fileName)
498
+ this[prop] = Vue.nopic
499
+ }
500
+ }
501
+ },
502
+ setEntryClass (val) {
503
+ if (val == '到访不遇') {
504
+ this.f_usegas = ''
505
+ this.$set('f_entry_class', 'warning')
506
+ } else if (val == '拒检') {
507
+ this.f_usegas = ''
508
+ this.$set('f_entry_class', 'danger')
509
+ } else if (val == '入户') {
510
+ this.$set('f_entry_class', 'success')
511
+ }
512
+ },
513
+ setUsegas (val) {
514
+ if (val == '未使用') {
515
+ this.$set('f_useclass', 'default')
516
+ }
517
+ if (val == '已使用') {
518
+ this.$set('f_useclass', 'success')
519
+ }
520
+ },
521
+ start () {
522
+ this.$parent.$parent.isStrat = true
523
+ this.$set('action', !this.action)
524
+ this.$set('f_onsite_time', Util.toStandardTimeString())
525
+ },
526
+ safecheckStateReady () {
527
+ //tag
528
+ //tag
529
+ //tag
530
+ if (!this.$parent.$parent.showBack) {
531
+ this.$parent.$parent.showBack = true
532
+ }
533
+ //兼容下-如果没有通过外层查询带进来最新安检时间,就拿本地单子里存的上次安检时间
534
+ if (this.$parent.$parent.item.f_plan_meters[0].f_last_check_date) {
535
+ this.$set('last_check_date', this.$parent.$parent.item.f_plan_meters[0].f_last_check_date)
536
+ this.$set('last_check_state', this.$parent.$parent.item.f_plan_meters[0].f_last_check_state)
537
+ this.$set('newfile_date', this.$parent.$parent.item.f_plan_meters[0].f_newfile_date)
538
+ if (this.$parent.$parent.item.f_plan_meters[0].f_last_check_result) {
539
+ let checkResult = JSON.parse(this.$parent.$parent.item.f_plan_meters[0].f_last_check_result)
540
+ this.$set('last_check_result', checkResult.result)
541
+ this.$set('last_check_data.data', checkResult.data)
542
+ } else {
543
+ this.$set('last_check_result', '')
544
+ this.$set('last_check_data.data', [])
545
+ }
546
+ } else {
547
+ this.$set('last_check_state', this.$parent.$parent.item.f_plan_meters[0].f_last_check_state)
548
+ this.$set('last_check_date', this.$parent.$parent.item.f_last_check_date)
549
+ if (this.$parent.$parent.item.f_last_check_result) {
550
+ let checkResult = JSON.parse(this.$parent.$parent.item.f_last_check_result)
551
+ this.$set('last_check_result', checkResult.result)
552
+ this.$set('last_check_data.data', checkResult.data)
553
+ } else {
554
+ this.$set('last_check_result', '')
555
+ this.$set('last_check_data.data', [])
556
+ }
557
+ }
558
+
559
+ this.$set('upUserinfoSta', '否')
560
+ this.upUserinfoSta = this.$appdata.getSingleValue('安检修改档案信息')
561
+
562
+ if (this.$parent.$parent.role == 'inspect' && this.f_complete != '已完成') {
563
+ this.start()
564
+ }
565
+ if (this.$parent.$parent.data.f_onsite_time) {
566
+ //tag
567
+ this.$parent.$parent.startClick = true
568
+ }
569
+ this.action = true
570
+ //tag
571
+ if (this.f_onsite_time) {
572
+ this.$parent.$parent.isStrat = true
573
+ this.$parent.$parent.data.f_onsite_time = Util.toStandardTimeString()
574
+ }
575
+ if (this.$parent.$parent.role == 'repair') {
576
+ this.$set('style__', 'divmask')
577
+ this.$set('style_view_', '')
578
+ } else if (this.$parent.$parent.role == 'view') {
579
+ this.$set('style__', 'divmask')
580
+ this.$set('style_view_', 'divmask')
581
+ //tag
582
+ } else {
583
+ this.$set('style__', '')
584
+ this.$set('style_view_', '')
585
+ }
586
+ if (!this.f_nongasuser_path) {
587
+ this.$set('f_nongasuser_path', '')
588
+ }
589
+ //到访多张照片
590
+ this.$set('f_noanswers_path', [])
591
+ if (this.f_noanswer_path) {
592
+ this.f_noanswers_path.push({f_noanswer_path: this.f_noanswer_path})
593
+ } else {
594
+ this.$set('f_noanswer_path', '')
595
+ }
596
+ if (this.f_noanswer1_path) {
597
+ this.f_noanswers_path.push({f_noanswer_path: this.f_noanswer1_path})
598
+ } else {
599
+ this.$set('f_noanswer1_path', '')
600
+ }
601
+ if (this.f_noanswer2_path) {
602
+ this.f_noanswers_path.push({f_noanswer_path: this.f_noanswer2_path})
603
+ } else {
604
+ this.$set('f_noanswer2_path', '')
605
+ }
606
+
607
+ if (!this.f_rejectcheck_path) {
608
+ this.$set('f_rejectcheck_path', '')
609
+ }
610
+ //拒检多张照片
611
+ this.$set('f_rejectchecks_path', [])
612
+ if (this.f_rejectcheck_path) {
613
+ this.f_rejectchecks_path.push({f_rejectcheck_path: this.f_rejectcheck_path})
614
+ } else {
615
+ this.$set('f_rejectcheck_path', '')
616
+ }
617
+ if (this.f_rejectcheck1_path) {
618
+ this.f_rejectchecks_path.push({f_rejectcheck_path: this.f_rejectcheck1_path})
619
+ } else {
620
+ this.$set('f_rejectcheck1_path', '')
621
+ }
622
+ if (this.f_rejectcheck2_path) {
623
+ this.f_rejectchecks_path.push({f_rejectcheck_path: this.f_rejectcheck2_path})
624
+ } else {
625
+ this.$set('f_rejectcheck2_path', '')
626
+ }
627
+
628
+ this.$watch('f_noanswers_path.length', () => {
629
+ //tag)
630
+ for (let i = 0; i < 3; i++) {
631
+
632
+ if (this.f_noanswers_path[i] && this.f_noanswers_path[i].f_noanswer_path) {
633
+ //tag)
634
+ if (i == 0) {
635
+ this.f_noanswer_path = this.f_noanswers_path[i].f_noanswer_path
636
+ } else {
637
+ this['f_noanswer' + i + '_path'] = this.f_noanswers_path[i].f_noanswer_path
638
+ }
639
+ } else {
640
+ //tag)
641
+ if (i == 0) {
642
+ this.f_noanswer_path = null
643
+ } else {
644
+ this['f_noanswer' + i + '_path'] = null
645
+ }
646
+ }
647
+ }
648
+ //tag
649
+ })
650
+ this.$watch('f_rejectchecks_path.length', () => {
651
+ //tag)
652
+ for (let i = 0; i < 3; i++) {
653
+
654
+ if (this.f_rejectchecks_path[i] && this.f_rejectchecks_path[i].f_rejectcheck_path) {
655
+ //tag)
656
+ if (i == 0) {
657
+ this.f_rejectcheck_path = this.f_rejectchecks_path[i].f_rejectcheck_path
658
+ } else {
659
+ this['f_rejectcheck' + i + '_path'] = this.f_rejectchecks_path[i].f_rejectcheck_path
660
+ }
661
+ } else {
662
+ //tag)
663
+ if (i == 0) {
664
+ this.f_rejectcheck_path = null
665
+ } else {
666
+ this['f_rejectcheck' + i + '_path'] = null
667
+ }
668
+ }
669
+ }
670
+ //tag
671
+ })
672
+
673
+ this.$watch('f_usegas', (val) => {
674
+ this.setUsegas(val)
675
+ })
676
+
677
+ this.setEntryClass(this.f_entry_status)
678
+ this.$watch('f_entry_status', (val) => {
679
+ this.setEntryClass(val)
680
+
681
+ if (val == '到访不遇') {
682
+ this.f_rejectcheck_path = Vue.nopic
683
+ this.f_rejectcheck1_path = Vue.nopic
684
+ this.f_rejectcheck2_path = Vue.nopic
685
+ this.f_rejectchecks_path = []
686
+ }
687
+ if (val == '拒检') {
688
+ this.f_noanswer_path = Vue.nopic
689
+ this.f_noanswer1_path = Vue.nopic
690
+ this.f_noanswer2_path = Vue.nopic
691
+ this.f_noanswers_path = []
692
+ }
693
+
694
+ if (val != '入户') {
695
+ //清理安检概括
696
+ this.f_no_gas_device = false
697
+ this.f_unload_battery = false
698
+ this.f_close_valve = false
699
+ //清理全局隐患
700
+ this.f_defect_cramped = false
701
+ this.f_defect_bedroom = false
702
+ this.f_defect_longpipe = false
703
+ this.f_defect_firesource = false
704
+ this.f_defect_explosive = false
705
+ this.f_defect_viacabinet = false
706
+ this.f_defect_intermittent = false
707
+ this.f_defect_nearfire = false
708
+ this.f_defect_openkitchen = false
709
+ this.f_defect_hang = false
710
+ this.f_cramped_path = Vue.nopic
711
+ //用户评价
712
+ this.f_client_evaluation = null
713
+ //清设备
714
+ this.$set('f_plumbs', [])
715
+ this.$set('f_valves', [])
716
+ this.$set('f_inner_plumbs', [])
717
+ this.$set('f_alarms', [])
718
+ this.$set('f_cookers', [])
719
+ this.$set('f_heaters', [])
720
+ this.$set('f_furnaces', [])
721
+ } else {
722
+ this.f_rejectcheck_path = Vue.nopic
723
+ this.f_noanswer_path = Vue.nopic
724
+ this.f_novisit_reason = null
725
+ }
726
+ })
727
+ }
728
+ },
729
+ components: {
730
+ RadioGroup,
731
+ Radio
732
+ }
733
+ }
734
+ </script>
735
+
736
+ <style scoped>
737
+
738
+ .font {
739
+ font: 15px PingFang-SC-Medium;
740
+ color: #666666;
741
+ }
742
+
743
+ .input-font {
744
+ font: 15px PingFang-SC-Medium;
745
+ color: #333333;
746
+ }
747
+
748
+ .app-text {
749
+ font-size: 12px;
750
+ }
751
+
752
+ .panel-self {
753
+ border-radius: 10px;
754
+ border: 1px solid #499EDF;
755
+ background-color: #F8F8F8;
756
+ }
757
+
758
+ .app-text {
759
+ font-size: 12px;
760
+ }
761
+
762
+ .panel-self {
763
+ border-radius: 5px;
764
+ border: 1px solid #c5e1f7;
765
+ background-color: #F2F6FA;
766
+ }
767
+
768
+ .font {
769
+ font: 15px PingFang-SC-Medium;
770
+ color: #333333;
771
+ }
772
+
773
+ .panel-self {
774
+ border-radius: 5px;
775
+ border: 1px solid #c5e1f7;
776
+ background-color: #F2F6FA;
777
+ }
778
+
779
+ .text-left {
780
+ text-align: left;
781
+ }
782
+
783
+ .font {
784
+ font: 15px PingFang-SC-Medium;
785
+ color: #333333;
786
+ }
787
+
788
+ .btn-photo {
789
+ border: 0;
790
+ border-radius: 7px;
791
+ background-color: #7dc1f4;
792
+ font: 15px PingFang-SC-Bold;
793
+ height: 20%;
794
+ }
795
+
796
+ .div-photo {
797
+ width: auto;
798
+ height: auto;
799
+ /* margin-top: 10px; */
800
+ position: absolute;
801
+ bottom: 10px;
802
+ right: 10px;
803
+ }
804
+ </style>