safecheck-client 3.0.35-31 → 3.0.35-33

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