safecheck-client 3.0.35-5 → 3.0.35-7

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