safecheck-client 4.0.1-5 → 4.0.1-50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/.trae/.ignore +0 -0
  2. package/.vscode/settings.json +3 -0
  3. package/package.json +132 -132
  4. package/src/App.vue +31 -31
  5. package/src/assets//350/255/246/345/221/212 (3).png +0 -0
  6. package/src/assets//350/255/246/345/221/212 (4).png +0 -0
  7. package/src/assets//350/255/246/345/221/212 (5).png +0 -0
  8. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  9. package/src/components/DefectDealMain/DefectListNew.vue +642 -642
  10. package/src/components/android/AddPlanItem.vue +447 -447
  11. package/src/components/android/AddPlanItemYy.vue +451 -451
  12. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  13. package/src/components/android/AndroidDefectDetails.vue +769 -769
  14. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  15. package/src/components/android/DailyworkloadQuery.vue +2 -1
  16. package/src/components/android/Devices.vue +327 -327
  17. package/src/components/android/Devicesm.vue +327 -327
  18. package/src/components/android/NewCheckpaperAndroid.vue +22 -48
  19. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  20. package/src/components/android/PhoneRecordInfo.vue +113 -113
  21. package/src/components/android/PhoneSellInfo.vue +113 -113
  22. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  23. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  24. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  25. package/src/components/android/SafePlanItem.vue +509 -509
  26. package/src/components/android/SwitchValve.vue +1 -1
  27. package/src/components/android/examples/SafeListExamples.vue +296 -296
  28. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  29. package/src/components/android/recheck/Recheck.vue +402 -402
  30. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  31. package/src/components/checkplan/CheckDetail.vue +1 -1
  32. package/src/components/checkplan/checkmsg.vue +459 -459
  33. package/src/components/defect/DefectList.vue +507 -507
  34. package/src/components/defect/DefectListWeixiu.vue +484 -484
  35. package/src/components/filialCircle/CircleList.vue +139 -139
  36. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  37. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  38. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  39. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  40. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  41. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  42. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  43. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  44. package/src/components/map/PersonTrack.vue +226 -226
  45. package/src/components/map/SecurityCheckCoordinates.vue +348 -0
  46. package/src/components/paper/RegionalList.vue +220 -220
  47. package/src/components/pc/AnnouncementPC.vue +524 -524
  48. package/src/components/pc/CheckBookUser.vue +8 -4
  49. package/src/components/pc/DefectList.vue +742 -742
  50. package/src/components/pc/DeviceChange.vue +1068 -1068
  51. package/src/components/pc/SafeVisitInfo.vue +261 -261
  52. package/src/components/querycheckpaper/CheckPaperList.vue +133 -130
  53. package/src/components/querycheckpaper/CheckSearchUser.vue +5 -0
  54. package/src/components/report/HiddenSituation.vue +165 -165
  55. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  56. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  57. package/src/components/rongcheng/DefectList.vue +560 -560
  58. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  59. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  60. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  61. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  62. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  63. package/src/components/shaoguan/DefectList.vue +473 -473
  64. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  65. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  66. package/src/components/userfile/SecurityAudit.vue +243 -243
  67. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  68. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  69. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  70. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  71. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  72. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  73. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  74. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  75. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  76. package/src/filiale/bayan/android/Edit.vue +132 -132
  77. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  78. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  79. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  80. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  81. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  82. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  83. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  84. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  85. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  86. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  87. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  88. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  89. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  90. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  91. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  92. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  93. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  94. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  95. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  96. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  97. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  98. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  99. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  100. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  101. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  102. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  103. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  104. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  105. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  106. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  107. package/src/filiale/jinhong/android/CurrentCreate.vue +66 -22
  108. package/src/filiale/jinhong/pc/CheckBookList.vue +10 -7
  109. package/src/filiale/jinhong/pc/DefectPaperNew.vue +10 -10
  110. package/src/filiale/jinhong/pc/checkUserList.vue +31 -8
  111. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  112. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  113. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  114. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  115. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  116. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  117. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  118. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  119. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  120. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  121. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  122. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  123. package/src/filiale/libo/android/PaperFeedback.vue +1579 -0
  124. package/src/filiale/libo/android/PhoneUpUserinfo.vue +1249 -0
  125. package/src/filiale/libo/android/SafecheckOrderV.vue +2302 -0
  126. package/src/filiale/libo/android.js +14 -0
  127. package/src/filiale/libo/pc/NewCheckpaper.vue +1987 -0
  128. package/src/filiale/libo/pc.js +12 -0
  129. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  130. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  131. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  132. package/src/filiale/meihekou/android/AreaPlan.vue +577 -577
  133. package/src/filiale/meihekou/android/CurrentCreate.vue +1 -1
  134. package/src/filiale/meihekou/android/MeterReading.vue +9 -5
  135. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1307 -1306
  136. package/src/filiale/meihekou/android/SafecheckDevices.vue +5 -5
  137. package/src/filiale/meihekou/android/SafecheckOrderV.vue +324 -311
  138. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -785
  139. package/src/filiale/meihekou/pc/NewCheckpaper.vue +1 -1
  140. package/src/filiale/meihekou/pc/NewCheckpaperNew.vue +2050 -0
  141. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1288 -1288
  142. package/src/filiale/meihekou/pc/PaperList.vue +1136 -0
  143. package/src/filiale/meihekou/pc.js +15 -13
  144. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  145. package/src/filiale/minsheng/android/SwitchValve.vue +1 -1
  146. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  147. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  148. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  149. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  150. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  151. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  152. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  153. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  154. package/src/filiale/qianneng/android/SwitchValve.vue +1 -1
  155. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  156. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  157. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  158. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  159. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1871 -1871
  160. package/src/filiale/qingjian/pc/checkUserList.vue +35 -0
  161. package/src/filiale/qingjian/pc.js +15 -15
  162. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  163. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  164. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  165. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  166. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  167. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  168. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  169. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  170. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  171. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  172. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  173. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  174. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  175. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  176. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  177. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  178. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  179. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  180. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  181. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  182. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  183. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  184. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  185. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  186. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  187. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  188. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  189. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  190. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  191. package/src/filiale/taiyuan/android/CurrentCreate.vue +1016 -0
  192. package/src/filiale/taiyuan/android/PhoneUpUserinfo.vue +1259 -0
  193. package/src/filiale/taiyuan/android/SafecheckOrderV.vue +2341 -0
  194. package/src/filiale/taiyuan/android/SafecheckUserInfo.vue +776 -0
  195. package/src/filiale/taiyuan/android.js +13 -0
  196. package/src/filiale/taiyuan/pc/DefectDeal.vue +1033 -0
  197. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -0
  198. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -0
  199. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -0
  200. package/src/filiale/taiyuan/pc.js +15 -0
  201. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  202. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  203. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  204. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  205. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  206. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  207. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  208. package/src/filiale/tongchuan/android/SwitchValve.vue +1 -1
  209. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  210. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  211. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  212. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  213. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  214. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  215. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  216. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  217. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  218. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  219. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  220. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  221. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  222. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  223. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  224. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  225. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  226. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  227. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  228. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  229. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  230. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  231. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  232. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  233. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  234. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  235. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  236. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  237. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  238. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  239. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  240. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  241. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -1251
  242. package/src/filiale/xinkang/android/AddPlanItem.vue +65 -31
  243. package/src/filiale/xinkang/android/SafecheckDevices.vue +29 -7
  244. package/src/filiale/xinkang/android/SafecheckOrderV.vue +21 -44
  245. package/src/filiale/xinkang/android/SafecheckUserInfo.vue +747 -747
  246. package/src/filiale/xinkang/pc/CheckSearchUser.vue +12 -12
  247. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  248. package/src/filiale/xinkang/pc/NewCheckpaper.vue +1474 -1498
  249. package/src/filiale/xinkang/pc/PaperList.vue +2 -9
  250. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  251. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  252. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  253. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  254. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  255. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  256. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  257. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  258. package/src/filiale/yuansheng/android/SwitchValve.vue +1 -1
  259. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  260. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  261. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  262. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  263. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1030 -1030
  264. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  265. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +4 -4
  266. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  267. package/src/filiale/yunchengminsheng/android.js +15 -15
  268. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -0
  269. package/src/filiale/yunchengminsheng/pc.js +1 -0
  270. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  271. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  272. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  273. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  274. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  275. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  276. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  277. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  278. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  279. package/src/main.js +33 -32
  280. package/src/safecheck-android.js +316 -312
  281. package/src/safecheck.js +3 -0
@@ -1,789 +1,789 @@
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" @click><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
- <button type="button" name="button" class="btn btn-primary btn-photo"
9
- @click="searchHistory(userinfo.f_userinfoid,'缴费记录')">缴费记录
10
- </button>
11
- <button type="button" name="button" class="btn btn-primary btn-photo"
12
- @click="searchHistory(userinfo.f_userinfoid,'抄表记录')">抄表记录
13
- </button>
14
- <button type="button" name="button" class="btn btn-primary btn-photo"
15
- @click="searchHistory(userinfo.f_userinfoid,'欠费记录')">欠费记录
16
- </button>
17
- <p class="panel-title col-xs-7 text-left input-font">
18
- <label style="color: #00b3ee;text-decoration:none;">{{ userinfo.f_userinfo_code }}</label>
19
- <label v-if="upUserinfoSta=='是'" style="color: #00b3ee;text-decoration:none;"
20
- @click="upuserinfo(userinfo.f_userinfoid)">信息变更</label>
21
- </p>
22
- </div>
23
- <div class="col-xs-12" style="padding: 2px 0">
24
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
25
- <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_user_name }}</p>
26
- </div>
27
- <div class="col-xs-12" style="padding: 2px 0">
28
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户类型:</b></p>
29
- <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_check_type }}
30
- </p>
31
- </div>
32
- <div class="col-xs-12" style="padding: 2px 0">
33
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户电话:</b></p>
34
- <input class="panel-title text-left input-font" style="width: 53%"
35
- value="{{ userinfo.f_user_phone2 ? userinfo.f_user_phone2 : userinfo.f_user_phone }}"
36
- v-model="userinfo.f_user_phone"/>
37
-
38
- </div>
39
- <!-- <div class="col-xs-12" style="padding: 2px 0" v-if="updateuserphone&&(userinfo.planmeterss.f_aliasname=='机表')">-->
40
- <!-- <p class="panel-title text-left font" style="width: 23%;float: left"><b>机表表号:</b></p>-->
41
- <!-- <input class="panel-title text-left input-font" style="width: 53%" value="{{ userinfo.f_meter_no }}" v-model="userinfo.f_meter_no"/>-->
42
-
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 text-left input-font" style="width: 79%">{{ userinfo.f_residential_area }}</p>
47
- </div>
48
- <div class="col-xs-12" style="padding: 2px 0">
49
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
50
- <p class="panel-title text-left input-font" style="width: 79%;float: left">{{ userinfo.f_address }}</p>
51
- </div>
52
- <div class="col-xs-12" style="padding: 2px 0">
53
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>安检状态:</b></p>
54
- <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_state }}</p>
55
- </div>
56
- <div class="col-xs-12">
57
- <button type="button" style="width: 45%;float: left" class="btn btn-primary" v-if="updateuserphone"
58
- @click="updatePhone(userinfo.f_user_phone,userinfo.f_userinfoid)">电话修改
59
- </button>
60
- <button type="button" style="width: 45%;float: right" class="btn btn-primary" v-if="updatemetermodel"
61
- @click="showbiaoxinghao()">表型号修改
62
- </button>
63
- </div>
64
- <div class="col-xs-12">
65
- <button type="button" style="width: 45%;float: left" class="btn btn-primary"
66
- v-if="updatemeternumber&&(userinfo.planmeterss.f_aliasname=='机表')"
67
- @click="updatebiaohao(userinfo.f_meter_no,userinfo.f_userinfoid)">表号修改
68
- </button>
69
- <!-- <button type="button" style="width: 45%;float: right" class="btn btn-primary" v-if="updateuserphone" @click="showbiaoxinghao()">表型号修改</button>-->
70
- </div>
71
- </div>
72
- <div class="panel-body">
73
- <div v-show="false" class="row repair-info-content auto">
74
- <div class="col-xs-12 col-sm-12 col-md-12 form-input-group">
75
- <label class="control-label">
76
- <nobr>到达时间:</nobr>
77
- </label>
78
- <span>{{ f_onsite_time }}</span>
79
- </div>
80
- <div class="col-xs-12 col-sm-12 col-md-12 form-input-group" v-if="data.f_date_leave">
81
- <label class="control-label">
82
- <nobr>离开时间:</nobr>
83
- </label>
84
- <span>{{ f_offsite_time }}</span>
85
- </div>
86
- </div>
87
-
88
-
89
- <div style="font-size: medium;" :class="style__">
90
- <span class="col-md-3 col-sm-4 col-xs-4 text-left"><img src="../../../assets/housestyle.png"
91
- style="width: 20px;margin-bottom: 5px;text-align: left"
92
- alt="">入户状态:</span>
93
- <div :class="style__" class="col-md-9 col-sm-8 col-xs-8 text-center">
94
- <input type="radio" name="enterstatus" v-model="f_entry_status" id="nopeople" value="到访不遇">到访不遇
95
- <input type="radio" name="enterstatus" v-model="f_entry_status" id="rejectchecck" value="拒检">拒检
96
- <input type="radio" name="enterstatus" v-model="f_entry_status" id="enterhouse" value="入户">入户
97
- </div>
98
-
99
- </div>
100
- <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='到访不遇'">
101
- <label class="text-left font">到访不遇照片:</label>
102
- <div class="auto">
103
- <div class="panel" style="padding: 10px 10px 5px 10px;">
104
- <div class="panel-body panel-self"
105
- style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
106
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
107
- <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px"
108
- v-for="(index,img) in f_noanswers_path">
109
- <img-self :src="img.f_noanswer_path" alt="到访不遇照片" :width="130" :height="160"></img-self>
110
- <img src="../../../assets/删除.png" @click="delfile('f_noanswers_path', img.f_noanswer_path,index)"
111
- style="width: 15px;margin-top: -80px" alt="">
112
- </div>
113
- </div>
114
- <div class="row text-right div-photo" :class="style__">
115
- <button type="button" name="button" class="btn btn-primary btn-photo"
116
- @click="takePic('拍照','f_noanswers_path', '到访不遇照片')">拍照
117
- </button>
118
- <!-- <button type="button" name="button" class="btn btn-primary btn-photo"-->
119
- <!-- @click="takePic('相册','f_noanswers_path', '到访不遇照片')">相册-->
120
- <!-- </button>-->
121
- </div>
122
- </div>
123
- </div>
124
- </div>
125
- </div>
126
- <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='拒检'">
127
- <label class="text-left font">拒检照片:</label>
128
- <div class="auto">
129
- <div class="panel" style="padding: 10px 10px 5px 10px;">
130
- <div class="panel-body panel-self"
131
- style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
132
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
133
- <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px"
134
- v-for="(index,img) in f_rejectchecks_path">
135
- <img-self :src="img.f_rejectcheck_path" alt="拒检照片" :width="130" :height="160"></img-self>
136
- <img src="../../../assets/删除.png"
137
- @click="delfile('f_rejectchecks_path', img.f_rejectcheck_path,index)"
138
- style="width: 15px;margin-top: -80px" alt="">
139
- </div>
140
- </div>
141
- <div class="row text-right div-photo" :class="style__">
142
- <button type="button" name="button" class="btn btn-primary btn-photo"
143
- @click="takePic('拍照','f_rejectchecks_path', '拒检照片')">拍照
144
- </button>
145
- </div>
146
- </div>
147
- </div>
148
- </div>
149
- </div>
150
- <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='入户' && false"
151
- style="margin-top: 6px">
152
- <span class="text-left col-md-3 col-sm-4 col-xs-4"> <img src="../../../assets/enterstatus.png"
153
- style="width: 20px;margin-bottom: 5px;text-align: left"
154
- alt="">燃气使用:</span>
155
- <div :class="style__" class="col-md-9 col-sm-8 col-xs-8 text-center">
156
- <input type="radio" name="isuseed" v-model="f_usegas" id="useedgas" value="已使用">已使用&ensp;&ensp;
157
- <input type="radio" name="isuseed" v-model="f_usegas" id="nousegas" value="未用气">未用气
158
- </div>
159
- </div>
160
- <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_usegas == '未用气'">
161
- <label class="text-left font">未使用天然气照片::</label>
162
- <div class="auto">
163
- <div class="panel" style="padding: 10px 10px 5px 10px;">
164
- <div class="panel-body panel-self"
165
- style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
166
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
167
- <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px">
168
- <img-self :src="f_nongasuser_path" alt="未使用天然气照片" :width="130" :height="160"></img-self>
169
- <img src="../../../assets/删除.png" @click="delfile('f_nongasuser_path', this.f_nongasuser_path)"
170
- style="width: 15px;margin-top: -80px" alt="">
171
- </div>
172
- </div>
173
- <div class="row text-right div-photo" :class="style__">
174
- <button type="button" name="button" class="btn btn-primary btn-photo"
175
- @click="takePic('拍照','f_nongasuser_path', '未使用天然气照片')">拍照
176
- </button>
177
- </div>
178
- </div>
179
- </div>
180
- </div>
181
- </div>
182
- </div>
183
-
184
- </div>
185
- <!-- <div :class="style__" class="form-group" v-show="f_usegas == '未使用'">-->
186
- <!-- <sapn class="text-left col-md-12 col-sm-12 col-xs-12">处置方式:</sapn>-->
187
- <!-- <div class="col-xs-12 col-sm-12 col-md-12">-->
188
- <!-- <input type="checkbox" v-model="f_no_gas_device">无燃气具-->
189
- <!-- <input type="checkbox" v-model="f_close_valve">关闭表前阀-->
190
- <!-- <input type="checkbox" v-model="f_unload_battery">取下表内电池-->
191
- <!-- </div>-->
192
- <!-- </div>-->
193
- <div class="auto app-text" style="margin-top: 5px;" v-if="this.$parent.$parent.role != 'view'">
194
- <div class="panel" style="padding: 10px 7px 10px 0px;">
195
- <div class="panel-body panel-self">
196
- <div v-show="false" 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">{{ newfile_date }}</p>
199
- </div>
200
- <div class="row" v-if="last_check_date != null && last_check_date != ''">
201
- <p class="panel-title col-xs-4 text-left font">上次安检时间</p>
202
- <p class="panel-title col-xs-8 text-left input-font">{{ last_check_date }}</p>
203
- </div>
204
- <div class="row" v-if="last_check_date != null && last_check_date != ''">
205
- <p class="panel-title col-xs-4 text-left font">上次安检人员</p>
206
- <p class="panel-title col-xs-8 text-left input-font">
207
- {{ this.$parent.$parent.item.f_plan_meters[0].f_checker_name }}</p>
208
- </div>
209
- <div 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"
212
- v-if="last_check_date != null && last_check_date != ''">{{ last_check_state }}</p>
213
- <p class="panel-title col-xs-8 text-left input-font"
214
- v-if="last_check_date == null || last_check_date == ''">未安检</p>
215
- </div>
216
- <div class="row" v-if="last_check_date != null && last_check_date != ''">
217
- <p class="panel-title col-xs-4 text-left font">上次安检结果</p>
218
- <p class="panel-title col-xs-8 text-left input-font" :class="last_check_result=='正常'?'':'color-red'">
219
- {{ last_check_result }}</p>
220
- <div v-for="data in last_check_data.data" class="panel-title col-xs-offset-4 col-xs-8 text-left input-font">
221
- <p v-for="(key,item) in data">
222
- {{ key }}:{{ item }}
223
- </p>
224
- </div>
225
- </div>
226
- </div>
227
- </div>
228
- </div>
229
- </div>
230
- <div v-if="showbModal">
231
- <modal :show.sync="showbModal" v-ref:modal backdrop="false">
232
- <div slot="modal-header" class="modal-header">
233
- <h4 class="modal-title">
234
- 选择表型号
235
- </h4>
236
- </div>
237
- <div slot="modal-body" class="modal-body">
238
- <div class="col-xs-12">
239
-
240
- <v-select :value.sync="biaoxinghao" v-model='biaoxinghao'
241
- :value-single="true"
242
- class="select_list select"
243
- :options='gmlist' placeholder='请选择表型号'
244
- close-on-select width="100%"></v-select>
245
- </div>
246
- <div class="col-xs-12" style="height: 10px">
247
-
248
- </div>
249
-
250
- </div>
251
- <div slot="modal-footer" class="modal-footer">
252
- <button class="btn btn-default" @click="biaoxinghaook()">确认</button>
253
- <button class="btn btn-default" @click="biaoxinghaocancel()">取消</button>
254
- </div>
255
- </modal>
256
- </div>
257
- </template>
258
-
259
- <script>
260
- import {HttpResetClass} from 'vue-client'
261
- import * as Util from '../../../components/Util'
262
- import Vue from 'vue'
263
- import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
264
- import Radio from 'vue-client/src/vue-strap/src/radioBtn'
265
-
266
- export default {
267
- title: 'SafecheckUserInfo',
268
- props: ['userinfo'],
269
- data() {
270
- return this.$parent.$parent.data
271
- },
272
- created() {
273
- this.$set('showbModal', false)
274
- //tag
275
- this.$set('biaoxinghao', '')
276
- },
277
- ready() {
278
- //tag
279
- //tag)
280
- // //tag)
281
- // this.$set('userinfo.f_meter_no',this.userinfo.planmeterss.f_meter_no)
282
- // //tag)
283
- this.$set('beforephone', this.userinfo.f_user_phone)
284
- this.$set('gmlist', [])
285
- //tag
286
- if (Vue.config.safecheck != undefined) {
287
- if (Vue.config.safecheck.SafecheckUserinfo != undefined) {
288
- if (Vue.config.safecheck.SafecheckUserinfo.updateuserphone != undefined) {
289
- this.$set('updateuserphone', Vue.config.safecheck.SafecheckUserinfo.updateuserphone)
290
- }
291
- if (Vue.config.safecheck.SafecheckUserinfo.updatemetermodel != undefined) {
292
- this.$set('updatemetermodel', Vue.config.safecheck.SafecheckUserinfo.updatemetermodel)
293
- }
294
- if (Vue.config.safecheck.SafecheckUserinfo.updatemeternumber != undefined) {
295
- this.$set('updatemeternumber', Vue.config.safecheck.SafecheckUserinfo.updatemeternumber)
296
- }
297
- }
298
- }
299
- for (let i in this.userinfo) {
300
- //tag + ':' + JSON.stringify(this.userinfo[i]))
301
- }
302
- this.safecheckStateReady()
303
- },
304
- methods: {
305
- updatebiaohao(f_meter_no, f_userinfo_id) {
306
- this.$showMessage('将用户 ' + this.userinfo.f_user_name + '的机表表号从' + this.userinfo.planmeterss.f_meter_no + '修改为' + f_meter_no, ['confirm', 'cancel']).then((butt) => {
307
- if (butt == 'confirm') {
308
- let http = new HttpResetClass()
309
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/safecheckUpdateBiaoHao`, {
310
- f_meter_no: f_meter_no,
311
- f_userinfo_id: f_userinfo_id
312
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
313
- if (res.data.code == 200) {
314
- this.$showMessage('修改成功!')
315
- } else {
316
- this.$showMessage('修改失败!,网络异常')
317
- }
318
- })
319
- }
320
- })
321
- },
322
- biaoxinghaook() {
323
- if (this.biaoxinghao == '') {
324
- this.$showMessage('请选择表型号')
325
- return
326
- }
327
- //tag
328
- //tag
329
- this.$showMessage('是否确定进行修改?', ['confirm', 'cancel']).then((butt) => {
330
- if (butt == 'confirm') {
331
- let http = new HttpResetClass()
332
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/safecheckUpdateBiaoXingHao`, {
333
- biaoxinghao: this.biaoxinghao,
334
- f_userinfo_id: this.userinfo.f_userinfoid
335
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
336
- if (res.data.code == 200) {
337
- this.$showMessage('修改成功!')
338
- //tag
339
- this.showbModal = false
340
- } else {
341
- this.$showMessage('修改失败!,网络异常')
342
- }
343
- })
344
- }
345
- })
346
- },
347
- biaoxinghaocancel() {
348
- //tag
349
- this.showbModal = false
350
- },
351
- showbiaoxinghao() {
352
- this.gmlist = []
353
- //tag)
354
- //tag
355
- let http1 = new HttpResetClass()
356
- http1.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/safe_singleTable_OrderBy`, {
357
- data: {
358
- items: 'gm.id,gm.f_meter_style',
359
- tablename: 't_gasbrand gb LEFT JOIN t_gasmodel gm ON gb.id= gm.f_gasbrand_id ',
360
- condition: `f_meter_brand = '${this.userinfo.planmeterss.f_aliasname}'`,
361
- // condition: `f_meter_brand = 'this.userinfo.planmeterss'`,
362
- orderitem: 'gm.id'
363
- }
364
- }, {resolveMsg: null, rejectMsg: null}).then((ress) => {
365
- ress.data.forEach(res => {
366
- this.gmlist.push({
367
- label: res.f_meter_style,
368
- value: res.id
369
- })
370
- })
371
- //tag)
372
- //tag
373
- this.showbModal = true
374
- })
375
- },
376
- updatePhone(f_user_phone, f_userinfo_id) {
377
-
378
- this.$showMessage('将用户 ' + this.userinfo.f_user_name + '的电话号码从' + this.beforephone + '修改为' + f_user_phone, ['confirm', 'cancel']).then((butt) => {
379
- if (butt == 'confirm') {
380
- let http = new HttpResetClass()
381
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/safecheckUpdatePhone`, {
382
- f_user_phone: f_user_phone,
383
- f_userinfo_id: f_userinfo_id
384
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
385
- if (res.data.code == 200) {
386
- this.$showMessage('修改成功!')
387
- } else {
388
- this.$showMessage('修改失败!,网络异常')
389
- }
390
- })
391
- }
392
- })
393
- },
394
- upuserinfo(f_userinfo_id) {
395
- this.$dispatch('gotoson', {
396
- _this: this.$parent.$parent,
397
- title: '档案信息变更',
398
- safe: false
399
- })
400
- this.$parent.$parent.$goto('PhoneUpUserinfo', {f_userinfo_id: f_userinfo_id, f_source: '安检'})
401
- },
402
- searchHistory(f_userinfo_id, title) {
403
- this.$dispatch('gotoson', {
404
- _this: this.$parent.$parent,
405
- title: title,
406
- safe: true
407
- })
408
- this.$parent.$parent.$goto('phone-record-info', {f_userinfo_id: f_userinfo_id, title: title})
409
- },
410
- cameraCallBack(prop, fileName) {
411
- if (prop == 'f_noanswers_path') {
412
- let f_noanswer_path = fileName + '?' + Math.random()
413
- HostApp.__this__.f_noanswers_path.push({
414
- f_noanswer_path: f_noanswer_path
415
- })
416
- } else if (prop == 'f_rejectchecks_path') {
417
- let f_rejectcheck_path = fileName + '?' + Math.random()
418
- HostApp.__this__.f_rejectchecks_path.push({
419
- f_rejectcheck_path: f_rejectcheck_path
420
- })
421
- } else {
422
- HostApp.__this__.$set(prop, fileName + '?' + Math.random())
423
- }
424
- HostApp.__callback__ = null
425
- HostApp.__this__ = null
426
- },
427
- takePic(type, prop, title) {
428
- HostApp.__callback__ = this.cameraCallBack
429
- HostApp.__this__ = this
430
- //tag
431
- let fileName
432
- if (prop == 'f_noanswers_path') {
433
- //tag
434
- if (this.f_noanswers_path.length == 3) {
435
- return
436
- }
437
- fileName = Util.guid() + '-' + prop + '.jpg'
438
- } else if (prop == 'f_rejectchecks_path') {
439
- //tag
440
- if (this.f_rejectchecks_path.length == 3) {
441
- return
442
- }
443
- fileName = Util.guid() + '-' + prop + '.jpg'
444
- } else {
445
- if (!this[prop] || this[prop].includes('nopic.png')) {
446
- fileName = Util.guid() + '-' + prop + '.jpg'
447
- } else {
448
- fileName = Util.getFileName(this[prop])
449
- }
450
- }
451
- let jingweidu = ''
452
- if (this.$parent.$parent.is_has_jingweidu == 'true') {
453
- const obj = HostApp.getGpsDetailAddress()
454
- jingweidu = '\t经度:' + obj.longitude + '\t纬度:' + obj.latitude
455
- }
456
- let page = 'com.aofeng.hybrid.android.peripheral.CameraActivity'
457
- if (type === '相册') {
458
- page = 'com.aofeng.hybrid.android.peripheral.ActionPickActivity'
459
- }
460
- HostApp._open_a_page({
461
- type: 'boomerang',
462
- page,
463
- param: {
464
- file: fileName,
465
- requestCode: 111,
466
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
467
- watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name + jingweidu
468
- }
469
- })
470
- },
471
- delfile(prop, fileName, index) {
472
- if (fileName == Vue.nopic) {
473
- return
474
- } else {
475
- if (prop == 'f_noanswers_path') {
476
- this.f_noanswers_path.splice(index, 1)
477
- HostApp.delfile(fileName)
478
- } else if (prop == 'f_rejectchecks_path') {
479
- this.f_rejectchecks_path.splice(index, 1)
480
- HostApp.delfile(fileName)
481
- } else {
482
- HostApp.delfile(fileName)
483
- this[prop] = Vue.nopic
484
- }
485
- }
486
- },
487
- setEntryClass(val) {
488
- if (val == '到访不遇') {
489
- this.f_usegas = ''
490
- this.$set('f_entry_class', 'warning')
491
- } else if (val == '拒检') {
492
- this.f_usegas = ''
493
- this.$set('f_entry_class', 'danger')
494
- } else if (val == '入户') {
495
- this.$set('f_entry_class', 'success')
496
- }
497
- },
498
- setUsegas(val) {
499
- if (val == '未使用') {
500
- this.$set('f_useclass', 'default')
501
- }
502
- if (val == '已使用') {
503
- this.$set('f_useclass', 'success')
504
- }
505
- },
506
- start() {
507
- this.$parent.$parent.isStrat = true
508
- this.$set('action', !this.action)
509
- this.$set('f_onsite_time', Util.toStandardTimeString())
510
- },
511
- safecheckStateReady() {
512
- //tag
513
- //tag
514
- //tag
515
- if (!this.$parent.$parent.showBack) {
516
- this.$parent.$parent.showBack = true
517
- }
518
- //兼容下-如果没有通过外层查询带进来最新安检时间,就拿本地单子里存的上次安检时间
519
- if (this.$parent.$parent.item.f_plan_meters[0].f_last_check_date) {
520
- this.$set('last_check_date', this.$parent.$parent.item.f_plan_meters[0].f_last_check_date)
521
- this.$set('last_check_state', this.$parent.$parent.item.f_plan_meters[0].f_last_check_state)
522
- this.$set('newfile_date', this.$parent.$parent.item.f_plan_meters[0].f_newfile_date)
523
- if (this.$parent.$parent.item.f_plan_meters[0].f_last_check_result) {
524
- let checkResult = JSON.parse(this.$parent.$parent.item.f_plan_meters[0].f_last_check_result)
525
- this.$set('last_check_result', checkResult.result)
526
- this.$set('last_check_data.data', checkResult.data)
527
- } else {
528
- this.$set('last_check_result', '')
529
- this.$set('last_check_data.data', [])
530
- }
531
- } else {
532
- this.$set('last_check_state', this.$parent.$parent.item.f_plan_meters[0].f_last_check_state)
533
- this.$set('last_check_date', this.$parent.$parent.item.f_last_check_date)
534
- if (this.$parent.$parent.item.f_last_check_result) {
535
- let checkResult = JSON.parse(this.$parent.$parent.item.f_last_check_result)
536
- this.$set('last_check_result', checkResult.result)
537
- this.$set('last_check_data.data', checkResult.data)
538
- } else {
539
- this.$set('last_check_result', '')
540
- this.$set('last_check_data.data', [])
541
- }
542
- }
543
-
544
- this.$set('upUserinfoSta', '否')
545
- this.upUserinfoSta = this.$appdata.getSingleValue('安检修改档案信息')
546
-
547
- if (this.$parent.$parent.role == 'inspect' && this.f_complete != '已完成') {
548
- this.start()
549
- }
550
- if (this.$parent.$parent.data.f_onsite_time) {
551
- //tag
552
- this.$parent.$parent.startClick = true
553
- }
554
- this.action = true
555
- //tag
556
- if (this.f_onsite_time) {
557
- this.$parent.$parent.isStrat = true
558
- this.$parent.$parent.data.f_onsite_time = Util.toStandardTimeString()
559
- }
560
- if (this.$parent.$parent.role == 'repair') {
561
- this.$set('style__', 'divmask')
562
- this.$set('style_view_', '')
563
- } else if (this.$parent.$parent.role == 'view') {
564
- this.$set('style__', 'divmask')
565
- this.$set('style_view_', 'divmask')
566
- //tag
567
- } else {
568
- this.$set('style__', '')
569
- this.$set('style_view_', '')
570
- }
571
- if (!this.f_nongasuser_path) {
572
- this.$set('f_nongasuser_path', '')
573
- }
574
- //到访多张照片
575
- this.$set('f_noanswers_path', [])
576
- if (this.f_noanswer_path) {
577
- this.f_noanswers_path.push({f_noanswer_path: this.f_noanswer_path})
578
- } else {
579
- this.$set('f_noanswer_path', '')
580
- }
581
- if (this.f_noanswer1_path) {
582
- this.f_noanswers_path.push({f_noanswer_path: this.f_noanswer1_path})
583
- } else {
584
- this.$set('f_noanswer1_path', '')
585
- }
586
- if (this.f_noanswer2_path) {
587
- this.f_noanswers_path.push({f_noanswer_path: this.f_noanswer2_path})
588
- } else {
589
- this.$set('f_noanswer2_path', '')
590
- }
591
-
592
- if (!this.f_rejectcheck_path) {
593
- this.$set('f_rejectcheck_path', '')
594
- }
595
- //拒检多张照片
596
- this.$set('f_rejectchecks_path', [])
597
- if (this.f_rejectcheck_path) {
598
- this.f_rejectchecks_path.push({f_rejectcheck_path: this.f_rejectcheck_path})
599
- } else {
600
- this.$set('f_rejectcheck_path', '')
601
- }
602
- if (this.f_rejectcheck1_path) {
603
- this.f_rejectchecks_path.push({f_rejectcheck_path: this.f_rejectcheck1_path})
604
- } else {
605
- this.$set('f_rejectcheck1_path', '')
606
- }
607
- if (this.f_rejectcheck2_path) {
608
- this.f_rejectchecks_path.push({f_rejectcheck_path: this.f_rejectcheck2_path})
609
- } else {
610
- this.$set('f_rejectcheck2_path', '')
611
- }
612
-
613
- this.$watch('f_noanswers_path.length', () => {
614
- //tag)
615
- for (let i = 0; i < 3; i++) {
616
-
617
- if (this.f_noanswers_path[i] && this.f_noanswers_path[i].f_noanswer_path) {
618
- //tag)
619
- if (i == 0) {
620
- this.f_noanswer_path = this.f_noanswers_path[i].f_noanswer_path
621
- } else {
622
- this['f_noanswer' + i + '_path'] = this.f_noanswers_path[i].f_noanswer_path
623
- }
624
- } else {
625
- //tag)
626
- if (i == 0) {
627
- this.f_noanswer_path = null
628
- } else {
629
- this['f_noanswer' + i + '_path'] = null
630
- }
631
- }
632
- }
633
- //tag
634
- })
635
- this.$watch('f_rejectchecks_path.length', () => {
636
- //tag)
637
- for (let i = 0; i < 3; i++) {
638
-
639
- if (this.f_rejectchecks_path[i] && this.f_rejectchecks_path[i].f_rejectcheck_path) {
640
- //tag)
641
- if (i == 0) {
642
- this.f_rejectcheck_path = this.f_rejectchecks_path[i].f_rejectcheck_path
643
- } else {
644
- this['f_rejectcheck' + i + '_path'] = this.f_rejectchecks_path[i].f_rejectcheck_path
645
- }
646
- } else {
647
- //tag)
648
- if (i == 0) {
649
- this.f_rejectcheck_path = null
650
- } else {
651
- this['f_rejectcheck' + i + '_path'] = null
652
- }
653
- }
654
- }
655
- //tag
656
- })
657
-
658
- this.$watch('f_usegas', (val) => {
659
- this.setUsegas(val)
660
- })
661
-
662
- this.setEntryClass(this.f_entry_status)
663
- this.$watch('f_entry_status', (val) => {
664
- this.setEntryClass(val)
665
-
666
- if (val == '到访不遇') {
667
- this.f_rejectcheck_path = Vue.nopic
668
- this.f_rejectcheck1_path = Vue.nopic
669
- this.f_rejectcheck2_path = Vue.nopic
670
- this.f_rejectchecks_path = []
671
- }
672
- if (val == '拒检') {
673
- this.f_noanswer_path = Vue.nopic
674
- this.f_noanswer1_path = Vue.nopic
675
- this.f_noanswer2_path = Vue.nopic
676
- this.f_noanswers_path = []
677
- }
678
-
679
- if (val != '入户') {
680
- //清理安检概括
681
- this.f_no_gas_device = false
682
- this.f_unload_battery = false
683
- this.f_close_valve = false
684
- //清理全局隐患
685
- this.f_defect_cramped = false
686
- this.f_defect_bedroom = false
687
- this.f_defect_longpipe = false
688
- this.f_defect_firesource = false
689
- this.f_defect_explosive = false
690
- this.f_defect_viacabinet = false
691
- this.f_defect_intermittent = false
692
- this.f_defect_nearfire = false
693
- this.f_defect_openkitchen = false
694
- this.f_defect_hang = false
695
- this.f_cramped_path = Vue.nopic
696
- //用户评价
697
- this.f_client_evaluation = null
698
- //清设备
699
- this.$set('f_plumbs', [])
700
- this.$set('f_valves', [])
701
- this.$set('f_inner_plumbs', [])
702
- this.$set('f_alarms', [])
703
- this.$set('f_cookers', [])
704
- this.$set('f_heaters', [])
705
- this.$set('f_furnaces', [])
706
- } else {
707
- this.f_rejectcheck_path = Vue.nopic
708
- this.f_noanswer_path = Vue.nopic
709
- this.f_novisit_reason = null
710
- }
711
- })
712
- }
713
- },
714
- components: {
715
- RadioGroup,
716
- Radio
717
- }
718
- }
719
- </script>
720
-
721
- <style scoped>
722
-
723
- .font {
724
- font: 15px PingFang-SC-Medium;
725
- color: #666666;
726
- }
727
-
728
- .input-font {
729
- font: 15px PingFang-SC-Medium;
730
- color: #333333;
731
- }
732
-
733
- .app-text {
734
- font-size: 12px;
735
- }
736
-
737
- .panel-self {
738
- border-radius: 10px;
739
- border: 1px solid #499EDF;
740
- background-color: #F8F8F8;
741
- }
742
-
743
- .app-text {
744
- font-size: 12px;
745
- }
746
-
747
- .panel-self {
748
- border-radius: 5px;
749
- border: 1px solid #c5e1f7;
750
- background-color: #F2F6FA;
751
- }
752
-
753
- .font {
754
- font: 15px PingFang-SC-Medium;
755
- color: #333333;
756
- }
757
-
758
- .panel-self {
759
- border-radius: 5px;
760
- border: 1px solid #c5e1f7;
761
- background-color: #F2F6FA;
762
- }
763
-
764
- .text-left {
765
- text-align: left;
766
- }
767
-
768
- .font {
769
- font: 15px PingFang-SC-Medium;
770
- color: #333333;
771
- }
772
-
773
- .btn-photo {
774
- border: 0;
775
- border-radius: 7px;
776
- background-color: #7dc1f4;
777
- font: 15px PingFang-SC-Bold;
778
- height: 20%;
779
- }
780
-
781
- .div-photo {
782
- width: auto;
783
- height: auto;
784
- /* margin-top: 10px; */
785
- position: absolute;
786
- bottom: 10px;
787
- right: 10px;
788
- }
789
- </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" @click><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
+ <button type="button" name="button" class="btn btn-primary btn-photo"
9
+ @click="searchHistory(userinfo.f_userinfoid,'缴费记录')">缴费记录
10
+ </button>
11
+ <button type="button" name="button" class="btn btn-primary btn-photo"
12
+ @click="searchHistory(userinfo.f_userinfoid,'抄表记录')">抄表记录
13
+ </button>
14
+ <button type="button" name="button" class="btn btn-primary btn-photo"
15
+ @click="searchHistory(userinfo.f_userinfoid,'欠费记录')">欠费记录
16
+ </button>
17
+ <p class="panel-title col-xs-7 text-left input-font">
18
+ <label style="color: #00b3ee;text-decoration:none;">{{ userinfo.f_userinfo_code }}</label>
19
+ <label v-if="upUserinfoSta=='是'" style="color: #00b3ee;text-decoration:none;"
20
+ @click="upuserinfo(userinfo.f_userinfoid)">信息变更</label>
21
+ </p>
22
+ </div>
23
+ <div class="col-xs-12" style="padding: 2px 0">
24
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
25
+ <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_user_name }}</p>
26
+ </div>
27
+ <div class="col-xs-12" style="padding: 2px 0">
28
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户类型:</b></p>
29
+ <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_check_type }}
30
+ </p>
31
+ </div>
32
+ <div class="col-xs-12" style="padding: 2px 0">
33
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户电话:</b></p>
34
+ <input class="panel-title text-left input-font" style="width: 53%"
35
+ value="{{ userinfo.f_user_phone2 ? userinfo.f_user_phone2 : userinfo.f_user_phone }}"
36
+ v-model="userinfo.f_user_phone"/>
37
+
38
+ </div>
39
+ <!-- <div class="col-xs-12" style="padding: 2px 0" v-if="updateuserphone&&(userinfo.planmeterss.f_aliasname=='机表')">-->
40
+ <!-- <p class="panel-title text-left font" style="width: 23%;float: left"><b>机表表号:</b></p>-->
41
+ <!-- <input class="panel-title text-left input-font" style="width: 53%" value="{{ userinfo.f_meter_no }}" v-model="userinfo.f_meter_no"/>-->
42
+
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 text-left input-font" style="width: 79%">{{ userinfo.f_residential_area }}</p>
47
+ </div>
48
+ <div class="col-xs-12" style="padding: 2px 0">
49
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
50
+ <p class="panel-title text-left input-font" style="width: 79%;float: left">{{ userinfo.f_address }}</p>
51
+ </div>
52
+ <div class="col-xs-12" style="padding: 2px 0">
53
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>安检状态:</b></p>
54
+ <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_state }}</p>
55
+ </div>
56
+ <div class="col-xs-12">
57
+ <button type="button" style="width: 45%;float: left" class="btn btn-primary" v-if="updateuserphone"
58
+ @click="updatePhone(userinfo.f_user_phone,userinfo.f_userinfoid)">电话修改
59
+ </button>
60
+ <button type="button" style="width: 45%;float: right" class="btn btn-primary" v-if="updatemetermodel"
61
+ @click="showbiaoxinghao()">表型号修改
62
+ </button>
63
+ </div>
64
+ <div class="col-xs-12">
65
+ <button type="button" style="width: 45%;float: left" class="btn btn-primary"
66
+ v-if="updatemeternumber&&(userinfo.planmeterss.f_aliasname=='机表')"
67
+ @click="updatebiaohao(userinfo.f_meter_no,userinfo.f_userinfoid)">表号修改
68
+ </button>
69
+ <!-- <button type="button" style="width: 45%;float: right" class="btn btn-primary" v-if="updateuserphone" @click="showbiaoxinghao()">表型号修改</button>-->
70
+ </div>
71
+ </div>
72
+ <div class="panel-body">
73
+ <div v-show="false" class="row repair-info-content auto">
74
+ <div class="col-xs-12 col-sm-12 col-md-12 form-input-group">
75
+ <label class="control-label">
76
+ <nobr>到达时间:</nobr>
77
+ </label>
78
+ <span>{{ f_onsite_time }}</span>
79
+ </div>
80
+ <div class="col-xs-12 col-sm-12 col-md-12 form-input-group" v-if="data.f_date_leave">
81
+ <label class="control-label">
82
+ <nobr>离开时间:</nobr>
83
+ </label>
84
+ <span>{{ f_offsite_time }}</span>
85
+ </div>
86
+ </div>
87
+
88
+
89
+ <div style="font-size: medium;" :class="style__">
90
+ <span class="col-md-3 col-sm-4 col-xs-4 text-left"><img src="../../../assets/housestyle.png"
91
+ style="width: 20px;margin-bottom: 5px;text-align: left"
92
+ alt="">入户状态:</span>
93
+ <div :class="style__" class="col-md-9 col-sm-8 col-xs-8 text-center">
94
+ <input type="radio" name="enterstatus" v-model="f_entry_status" id="nopeople" value="到访不遇">到访不遇
95
+ <input type="radio" name="enterstatus" v-model="f_entry_status" id="rejectchecck" value="拒检">拒检
96
+ <input type="radio" name="enterstatus" v-model="f_entry_status" id="enterhouse" value="入户">入户
97
+ </div>
98
+
99
+ </div>
100
+ <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='到访不遇'">
101
+ <label class="text-left font">到访不遇照片:</label>
102
+ <div class="auto">
103
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
104
+ <div class="panel-body panel-self"
105
+ style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
106
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
107
+ <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px"
108
+ v-for="(index,img) in f_noanswers_path">
109
+ <img-self :src="img.f_noanswer_path" alt="到访不遇照片" :width="130" :height="160"></img-self>
110
+ <img src="../../../assets/删除.png" @click="delfile('f_noanswers_path', img.f_noanswer_path,index)"
111
+ style="width: 15px;margin-top: -80px" alt="">
112
+ </div>
113
+ </div>
114
+ <div class="row text-right div-photo" :class="style__">
115
+ <button type="button" name="button" class="btn btn-primary btn-photo"
116
+ @click="takePic('拍照','f_noanswers_path', '到访不遇照片')">拍照
117
+ </button>
118
+ <!-- <button type="button" name="button" class="btn btn-primary btn-photo"-->
119
+ <!-- @click="takePic('相册','f_noanswers_path', '到访不遇照片')">相册-->
120
+ <!-- </button>-->
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </div>
125
+ </div>
126
+ <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='拒检'">
127
+ <label class="text-left font">拒检照片:</label>
128
+ <div class="auto">
129
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
130
+ <div class="panel-body panel-self"
131
+ style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
132
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
133
+ <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px"
134
+ v-for="(index,img) in f_rejectchecks_path">
135
+ <img-self :src="img.f_rejectcheck_path" alt="拒检照片" :width="130" :height="160"></img-self>
136
+ <img src="../../../assets/删除.png"
137
+ @click="delfile('f_rejectchecks_path', img.f_rejectcheck_path,index)"
138
+ style="width: 15px;margin-top: -80px" alt="">
139
+ </div>
140
+ </div>
141
+ <div class="row text-right div-photo" :class="style__">
142
+ <button type="button" name="button" class="btn btn-primary btn-photo"
143
+ @click="takePic('拍照','f_rejectchecks_path', '拒检照片')">拍照
144
+ </button>
145
+ </div>
146
+ </div>
147
+ </div>
148
+ </div>
149
+ </div>
150
+ <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='入户' && false"
151
+ style="margin-top: 6px">
152
+ <span class="text-left col-md-3 col-sm-4 col-xs-4"> <img src="../../../assets/enterstatus.png"
153
+ style="width: 20px;margin-bottom: 5px;text-align: left"
154
+ alt="">燃气使用:</span>
155
+ <div :class="style__" class="col-md-9 col-sm-8 col-xs-8 text-center">
156
+ <input type="radio" name="isuseed" v-model="f_usegas" id="useedgas" value="已使用">已使用&ensp;&ensp;
157
+ <input type="radio" name="isuseed" v-model="f_usegas" id="nousegas" value="未用气">未用气
158
+ </div>
159
+ </div>
160
+ <div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_usegas == '未用气'">
161
+ <label class="text-left font">未使用天然气照片::</label>
162
+ <div class="auto">
163
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
164
+ <div class="panel-body panel-self"
165
+ style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
166
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
167
+ <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px">
168
+ <img-self :src="f_nongasuser_path" alt="未使用天然气照片" :width="130" :height="160"></img-self>
169
+ <img src="../../../assets/删除.png" @click="delfile('f_nongasuser_path', this.f_nongasuser_path)"
170
+ style="width: 15px;margin-top: -80px" alt="">
171
+ </div>
172
+ </div>
173
+ <div class="row text-right div-photo" :class="style__">
174
+ <button type="button" name="button" class="btn btn-primary btn-photo"
175
+ @click="takePic('拍照','f_nongasuser_path', '未使用天然气照片')">拍照
176
+ </button>
177
+ </div>
178
+ </div>
179
+ </div>
180
+ </div>
181
+ </div>
182
+ </div>
183
+
184
+ </div>
185
+ <!-- <div :class="style__" class="form-group" v-show="f_usegas == '未使用'">-->
186
+ <!-- <sapn class="text-left col-md-12 col-sm-12 col-xs-12">处置方式:</sapn>-->
187
+ <!-- <div class="col-xs-12 col-sm-12 col-md-12">-->
188
+ <!-- <input type="checkbox" v-model="f_no_gas_device">无燃气具-->
189
+ <!-- <input type="checkbox" v-model="f_close_valve">关闭表前阀-->
190
+ <!-- <input type="checkbox" v-model="f_unload_battery">取下表内电池-->
191
+ <!-- </div>-->
192
+ <!-- </div>-->
193
+ <div class="auto app-text" style="margin-top: 5px;" v-if="this.$parent.$parent.role != 'view'">
194
+ <div class="panel" style="padding: 10px 7px 10px 0px;">
195
+ <div class="panel-body panel-self">
196
+ <div v-show="false" 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">{{ newfile_date }}</p>
199
+ </div>
200
+ <div class="row" v-if="last_check_date != null && last_check_date != ''">
201
+ <p class="panel-title col-xs-4 text-left font">上次安检时间</p>
202
+ <p class="panel-title col-xs-8 text-left input-font">{{ last_check_date }}</p>
203
+ </div>
204
+ <div class="row" v-if="last_check_date != null && last_check_date != ''">
205
+ <p class="panel-title col-xs-4 text-left font">上次安检人员</p>
206
+ <p class="panel-title col-xs-8 text-left input-font">
207
+ {{ this.$parent.$parent.item.f_plan_meters[0].f_checker_name }}</p>
208
+ </div>
209
+ <div 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"
212
+ v-if="last_check_date != null && last_check_date != ''">{{ last_check_state }}</p>
213
+ <p class="panel-title col-xs-8 text-left input-font"
214
+ v-if="last_check_date == null || last_check_date == ''">未安检</p>
215
+ </div>
216
+ <div class="row" v-if="last_check_date != null && last_check_date != ''">
217
+ <p class="panel-title col-xs-4 text-left font">上次安检结果</p>
218
+ <p class="panel-title col-xs-8 text-left input-font" :class="last_check_result=='正常'?'':'color-red'">
219
+ {{ last_check_result }}</p>
220
+ <div v-for="data in last_check_data.data" class="panel-title col-xs-offset-4 col-xs-8 text-left input-font">
221
+ <p v-for="(key,item) in data">
222
+ {{ key }}:{{ item }}
223
+ </p>
224
+ </div>
225
+ </div>
226
+ </div>
227
+ </div>
228
+ </div>
229
+ </div>
230
+ <div v-if="showbModal">
231
+ <modal :show.sync="showbModal" v-ref:modal backdrop="false">
232
+ <div slot="modal-header" class="modal-header">
233
+ <h4 class="modal-title">
234
+ 选择表型号
235
+ </h4>
236
+ </div>
237
+ <div slot="modal-body" class="modal-body">
238
+ <div class="col-xs-12">
239
+
240
+ <v-select :value.sync="biaoxinghao" v-model='biaoxinghao'
241
+ :value-single="true"
242
+ class="select_list select"
243
+ :options='gmlist' placeholder='请选择表型号'
244
+ close-on-select width="100%"></v-select>
245
+ </div>
246
+ <div class="col-xs-12" style="height: 10px">
247
+
248
+ </div>
249
+
250
+ </div>
251
+ <div slot="modal-footer" class="modal-footer">
252
+ <button class="btn btn-default" @click="biaoxinghaook()">确认</button>
253
+ <button class="btn btn-default" @click="biaoxinghaocancel()">取消</button>
254
+ </div>
255
+ </modal>
256
+ </div>
257
+ </template>
258
+
259
+ <script>
260
+ import {HttpResetClass} from 'vue-client'
261
+ import * as Util from '../../../components/Util'
262
+ import Vue from 'vue'
263
+ import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
264
+ import Radio from 'vue-client/src/vue-strap/src/radioBtn'
265
+
266
+ export default {
267
+ title: 'SafecheckUserInfo',
268
+ props: ['userinfo'],
269
+ data() {
270
+ return this.$parent.$parent.data
271
+ },
272
+ created() {
273
+ this.$set('showbModal', false)
274
+ //tag
275
+ this.$set('biaoxinghao', '')
276
+ },
277
+ ready() {
278
+ //tag
279
+ //tag)
280
+ // //tag)
281
+ // this.$set('userinfo.f_meter_no',this.userinfo.planmeterss.f_meter_no)
282
+ // //tag)
283
+ this.$set('beforephone', this.userinfo.f_user_phone)
284
+ this.$set('gmlist', [])
285
+ //tag
286
+ if (Vue.config.safecheck != undefined) {
287
+ if (Vue.config.safecheck.SafecheckUserinfo != undefined) {
288
+ if (Vue.config.safecheck.SafecheckUserinfo.updateuserphone != undefined) {
289
+ this.$set('updateuserphone', Vue.config.safecheck.SafecheckUserinfo.updateuserphone)
290
+ }
291
+ if (Vue.config.safecheck.SafecheckUserinfo.updatemetermodel != undefined) {
292
+ this.$set('updatemetermodel', Vue.config.safecheck.SafecheckUserinfo.updatemetermodel)
293
+ }
294
+ if (Vue.config.safecheck.SafecheckUserinfo.updatemeternumber != undefined) {
295
+ this.$set('updatemeternumber', Vue.config.safecheck.SafecheckUserinfo.updatemeternumber)
296
+ }
297
+ }
298
+ }
299
+ for (let i in this.userinfo) {
300
+ //tag + ':' + JSON.stringify(this.userinfo[i]))
301
+ }
302
+ this.safecheckStateReady()
303
+ },
304
+ methods: {
305
+ updatebiaohao(f_meter_no, f_userinfo_id) {
306
+ this.$showMessage('将用户 ' + this.userinfo.f_user_name + '的机表表号从' + this.userinfo.planmeterss.f_meter_no + '修改为' + f_meter_no, ['confirm', 'cancel']).then((butt) => {
307
+ if (butt == 'confirm') {
308
+ let http = new HttpResetClass()
309
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/safecheckUpdateBiaoHao`, {
310
+ f_meter_no: f_meter_no,
311
+ f_userinfo_id: f_userinfo_id
312
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
313
+ if (res.data.code == 200) {
314
+ this.$showMessage('修改成功!')
315
+ } else {
316
+ this.$showMessage('修改失败!,网络异常')
317
+ }
318
+ })
319
+ }
320
+ })
321
+ },
322
+ biaoxinghaook() {
323
+ if (this.biaoxinghao == '') {
324
+ this.$showMessage('请选择表型号')
325
+ return
326
+ }
327
+ //tag
328
+ //tag
329
+ this.$showMessage('是否确定进行修改?', ['confirm', 'cancel']).then((butt) => {
330
+ if (butt == 'confirm') {
331
+ let http = new HttpResetClass()
332
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/safecheckUpdateBiaoXingHao`, {
333
+ biaoxinghao: this.biaoxinghao,
334
+ f_userinfo_id: this.userinfo.f_userinfoid
335
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
336
+ if (res.data.code == 200) {
337
+ this.$showMessage('修改成功!')
338
+ //tag
339
+ this.showbModal = false
340
+ } else {
341
+ this.$showMessage('修改失败!,网络异常')
342
+ }
343
+ })
344
+ }
345
+ })
346
+ },
347
+ biaoxinghaocancel() {
348
+ //tag
349
+ this.showbModal = false
350
+ },
351
+ showbiaoxinghao() {
352
+ this.gmlist = []
353
+ //tag)
354
+ //tag
355
+ let http1 = new HttpResetClass()
356
+ http1.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/safe_singleTable_OrderBy`, {
357
+ data: {
358
+ items: 'gm.id,gm.f_meter_style',
359
+ tablename: 't_gasbrand gb LEFT JOIN t_gasmodel gm ON gb.id= gm.f_gasbrand_id ',
360
+ condition: `f_meter_brand = '${this.userinfo.planmeterss.f_aliasname}'`,
361
+ // condition: `f_meter_brand = 'this.userinfo.planmeterss'`,
362
+ orderitem: 'gm.id'
363
+ }
364
+ }, {resolveMsg: null, rejectMsg: null}).then((ress) => {
365
+ ress.data.forEach(res => {
366
+ this.gmlist.push({
367
+ label: res.f_meter_style,
368
+ value: res.id
369
+ })
370
+ })
371
+ //tag)
372
+ //tag
373
+ this.showbModal = true
374
+ })
375
+ },
376
+ updatePhone(f_user_phone, f_userinfo_id) {
377
+
378
+ this.$showMessage('将用户 ' + this.userinfo.f_user_name + '的电话号码从' + this.beforephone + '修改为' + f_user_phone, ['confirm', 'cancel']).then((butt) => {
379
+ if (butt == 'confirm') {
380
+ let http = new HttpResetClass()
381
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/safecheckUpdatePhone`, {
382
+ f_user_phone: f_user_phone,
383
+ f_userinfo_id: f_userinfo_id
384
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
385
+ if (res.data.code == 200) {
386
+ this.$showMessage('修改成功!')
387
+ } else {
388
+ this.$showMessage('修改失败!,网络异常')
389
+ }
390
+ })
391
+ }
392
+ })
393
+ },
394
+ upuserinfo(f_userinfo_id) {
395
+ this.$dispatch('gotoson', {
396
+ _this: this.$parent.$parent,
397
+ title: '档案信息变更',
398
+ safe: false
399
+ })
400
+ this.$parent.$parent.$goto('PhoneUpUserinfo', {f_userinfo_id: f_userinfo_id, f_source: '安检'})
401
+ },
402
+ searchHistory(f_userinfo_id, title) {
403
+ this.$dispatch('gotoson', {
404
+ _this: this.$parent.$parent,
405
+ title: title,
406
+ safe: true
407
+ })
408
+ this.$parent.$parent.$goto('phone-record-info', {f_userinfo_id: f_userinfo_id, title: title})
409
+ },
410
+ cameraCallBack(prop, fileName) {
411
+ if (prop == 'f_noanswers_path') {
412
+ let f_noanswer_path = fileName + '?' + Math.random()
413
+ HostApp.__this__.f_noanswers_path.push({
414
+ f_noanswer_path: f_noanswer_path
415
+ })
416
+ } else if (prop == 'f_rejectchecks_path') {
417
+ let f_rejectcheck_path = fileName + '?' + Math.random()
418
+ HostApp.__this__.f_rejectchecks_path.push({
419
+ f_rejectcheck_path: f_rejectcheck_path
420
+ })
421
+ } else {
422
+ HostApp.__this__.$set(prop, fileName + '?' + Math.random())
423
+ }
424
+ HostApp.__callback__ = null
425
+ HostApp.__this__ = null
426
+ },
427
+ takePic(type, prop, title) {
428
+ HostApp.__callback__ = this.cameraCallBack
429
+ HostApp.__this__ = this
430
+ //tag
431
+ let fileName
432
+ if (prop == 'f_noanswers_path') {
433
+ //tag
434
+ if (this.f_noanswers_path.length == 3) {
435
+ return
436
+ }
437
+ fileName = Util.guid() + '-' + prop + '.jpg'
438
+ } else if (prop == 'f_rejectchecks_path') {
439
+ //tag
440
+ if (this.f_rejectchecks_path.length == 3) {
441
+ return
442
+ }
443
+ fileName = Util.guid() + '-' + prop + '.jpg'
444
+ } else {
445
+ if (!this[prop] || this[prop].includes('nopic.png')) {
446
+ fileName = Util.guid() + '-' + prop + '.jpg'
447
+ } else {
448
+ fileName = Util.getFileName(this[prop])
449
+ }
450
+ }
451
+ let jingweidu = ''
452
+ if (this.$parent.$parent.is_has_jingweidu == 'true') {
453
+ const obj = HostApp.getGpsDetailAddress()
454
+ jingweidu = '\t经度:' + obj.longitude + '\t纬度:' + obj.latitude
455
+ }
456
+ let page = 'com.aofeng.hybrid.android.peripheral.CameraActivity'
457
+ if (type === '相册') {
458
+ page = 'com.aofeng.hybrid.android.peripheral.ActionPickActivity'
459
+ }
460
+ HostApp._open_a_page({
461
+ type: 'boomerang',
462
+ page,
463
+ param: {
464
+ file: fileName,
465
+ requestCode: 111,
466
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
467
+ watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name + jingweidu
468
+ }
469
+ })
470
+ },
471
+ delfile(prop, fileName, index) {
472
+ if (fileName == Vue.nopic) {
473
+ return
474
+ } else {
475
+ if (prop == 'f_noanswers_path') {
476
+ this.f_noanswers_path.splice(index, 1)
477
+ HostApp.delfile(fileName)
478
+ } else if (prop == 'f_rejectchecks_path') {
479
+ this.f_rejectchecks_path.splice(index, 1)
480
+ HostApp.delfile(fileName)
481
+ } else {
482
+ HostApp.delfile(fileName)
483
+ this[prop] = Vue.nopic
484
+ }
485
+ }
486
+ },
487
+ setEntryClass(val) {
488
+ if (val == '到访不遇') {
489
+ this.f_usegas = ''
490
+ this.$set('f_entry_class', 'warning')
491
+ } else if (val == '拒检') {
492
+ this.f_usegas = ''
493
+ this.$set('f_entry_class', 'danger')
494
+ } else if (val == '入户') {
495
+ this.$set('f_entry_class', 'success')
496
+ }
497
+ },
498
+ setUsegas(val) {
499
+ if (val == '未使用') {
500
+ this.$set('f_useclass', 'default')
501
+ }
502
+ if (val == '已使用') {
503
+ this.$set('f_useclass', 'success')
504
+ }
505
+ },
506
+ start() {
507
+ this.$parent.$parent.isStrat = true
508
+ this.$set('action', !this.action)
509
+ this.$set('f_onsite_time', Util.toStandardTimeString())
510
+ },
511
+ safecheckStateReady() {
512
+ //tag
513
+ //tag
514
+ //tag
515
+ if (!this.$parent.$parent.showBack) {
516
+ this.$parent.$parent.showBack = true
517
+ }
518
+ //兼容下-如果没有通过外层查询带进来最新安检时间,就拿本地单子里存的上次安检时间
519
+ if (this.$parent.$parent.item.f_plan_meters[0].f_last_check_date) {
520
+ this.$set('last_check_date', this.$parent.$parent.item.f_plan_meters[0].f_last_check_date)
521
+ this.$set('last_check_state', this.$parent.$parent.item.f_plan_meters[0].f_last_check_state)
522
+ this.$set('newfile_date', this.$parent.$parent.item.f_plan_meters[0].f_newfile_date)
523
+ if (this.$parent.$parent.item.f_plan_meters[0].f_last_check_result) {
524
+ let checkResult = JSON.parse(this.$parent.$parent.item.f_plan_meters[0].f_last_check_result)
525
+ this.$set('last_check_result', checkResult.result)
526
+ this.$set('last_check_data.data', checkResult.data)
527
+ } else {
528
+ this.$set('last_check_result', '')
529
+ this.$set('last_check_data.data', [])
530
+ }
531
+ } else {
532
+ this.$set('last_check_state', this.$parent.$parent.item.f_plan_meters[0].f_last_check_state)
533
+ this.$set('last_check_date', this.$parent.$parent.item.f_last_check_date)
534
+ if (this.$parent.$parent.item.f_last_check_result) {
535
+ let checkResult = JSON.parse(this.$parent.$parent.item.f_last_check_result)
536
+ this.$set('last_check_result', checkResult.result)
537
+ this.$set('last_check_data.data', checkResult.data)
538
+ } else {
539
+ this.$set('last_check_result', '')
540
+ this.$set('last_check_data.data', [])
541
+ }
542
+ }
543
+
544
+ this.$set('upUserinfoSta', '否')
545
+ this.upUserinfoSta = this.$appdata.getSingleValue('安检修改档案信息')
546
+
547
+ if (this.$parent.$parent.role == 'inspect' && this.f_complete != '已完成') {
548
+ this.start()
549
+ }
550
+ if (this.$parent.$parent.data.f_onsite_time) {
551
+ //tag
552
+ this.$parent.$parent.startClick = true
553
+ }
554
+ this.action = true
555
+ //tag
556
+ if (this.f_onsite_time) {
557
+ this.$parent.$parent.isStrat = true
558
+ this.$parent.$parent.data.f_onsite_time = Util.toStandardTimeString()
559
+ }
560
+ if (this.$parent.$parent.role == 'repair') {
561
+ this.$set('style__', 'divmask')
562
+ this.$set('style_view_', '')
563
+ } else if (this.$parent.$parent.role == 'view') {
564
+ this.$set('style__', 'divmask')
565
+ this.$set('style_view_', 'divmask')
566
+ //tag
567
+ } else {
568
+ this.$set('style__', '')
569
+ this.$set('style_view_', '')
570
+ }
571
+ if (!this.f_nongasuser_path) {
572
+ this.$set('f_nongasuser_path', '')
573
+ }
574
+ //到访多张照片
575
+ this.$set('f_noanswers_path', [])
576
+ if (this.f_noanswer_path) {
577
+ this.f_noanswers_path.push({f_noanswer_path: this.f_noanswer_path})
578
+ } else {
579
+ this.$set('f_noanswer_path', '')
580
+ }
581
+ if (this.f_noanswer1_path) {
582
+ this.f_noanswers_path.push({f_noanswer_path: this.f_noanswer1_path})
583
+ } else {
584
+ this.$set('f_noanswer1_path', '')
585
+ }
586
+ if (this.f_noanswer2_path) {
587
+ this.f_noanswers_path.push({f_noanswer_path: this.f_noanswer2_path})
588
+ } else {
589
+ this.$set('f_noanswer2_path', '')
590
+ }
591
+
592
+ if (!this.f_rejectcheck_path) {
593
+ this.$set('f_rejectcheck_path', '')
594
+ }
595
+ //拒检多张照片
596
+ this.$set('f_rejectchecks_path', [])
597
+ if (this.f_rejectcheck_path) {
598
+ this.f_rejectchecks_path.push({f_rejectcheck_path: this.f_rejectcheck_path})
599
+ } else {
600
+ this.$set('f_rejectcheck_path', '')
601
+ }
602
+ if (this.f_rejectcheck1_path) {
603
+ this.f_rejectchecks_path.push({f_rejectcheck_path: this.f_rejectcheck1_path})
604
+ } else {
605
+ this.$set('f_rejectcheck1_path', '')
606
+ }
607
+ if (this.f_rejectcheck2_path) {
608
+ this.f_rejectchecks_path.push({f_rejectcheck_path: this.f_rejectcheck2_path})
609
+ } else {
610
+ this.$set('f_rejectcheck2_path', '')
611
+ }
612
+
613
+ this.$watch('f_noanswers_path.length', () => {
614
+ //tag)
615
+ for (let i = 0; i < 3; i++) {
616
+
617
+ if (this.f_noanswers_path[i] && this.f_noanswers_path[i].f_noanswer_path) {
618
+ //tag)
619
+ if (i == 0) {
620
+ this.f_noanswer_path = this.f_noanswers_path[i].f_noanswer_path
621
+ } else {
622
+ this['f_noanswer' + i + '_path'] = this.f_noanswers_path[i].f_noanswer_path
623
+ }
624
+ } else {
625
+ //tag)
626
+ if (i == 0) {
627
+ this.f_noanswer_path = null
628
+ } else {
629
+ this['f_noanswer' + i + '_path'] = null
630
+ }
631
+ }
632
+ }
633
+ //tag
634
+ })
635
+ this.$watch('f_rejectchecks_path.length', () => {
636
+ //tag)
637
+ for (let i = 0; i < 3; i++) {
638
+
639
+ if (this.f_rejectchecks_path[i] && this.f_rejectchecks_path[i].f_rejectcheck_path) {
640
+ //tag)
641
+ if (i == 0) {
642
+ this.f_rejectcheck_path = this.f_rejectchecks_path[i].f_rejectcheck_path
643
+ } else {
644
+ this['f_rejectcheck' + i + '_path'] = this.f_rejectchecks_path[i].f_rejectcheck_path
645
+ }
646
+ } else {
647
+ //tag)
648
+ if (i == 0) {
649
+ this.f_rejectcheck_path = null
650
+ } else {
651
+ this['f_rejectcheck' + i + '_path'] = null
652
+ }
653
+ }
654
+ }
655
+ //tag
656
+ })
657
+
658
+ this.$watch('f_usegas', (val) => {
659
+ this.setUsegas(val)
660
+ })
661
+
662
+ this.setEntryClass(this.f_entry_status)
663
+ this.$watch('f_entry_status', (val) => {
664
+ this.setEntryClass(val)
665
+
666
+ if (val == '到访不遇') {
667
+ this.f_rejectcheck_path = Vue.nopic
668
+ this.f_rejectcheck1_path = Vue.nopic
669
+ this.f_rejectcheck2_path = Vue.nopic
670
+ this.f_rejectchecks_path = []
671
+ }
672
+ if (val == '拒检') {
673
+ this.f_noanswer_path = Vue.nopic
674
+ this.f_noanswer1_path = Vue.nopic
675
+ this.f_noanswer2_path = Vue.nopic
676
+ this.f_noanswers_path = []
677
+ }
678
+
679
+ if (val != '入户') {
680
+ //清理安检概括
681
+ this.f_no_gas_device = false
682
+ this.f_unload_battery = false
683
+ this.f_close_valve = false
684
+ //清理全局隐患
685
+ this.f_defect_cramped = false
686
+ this.f_defect_bedroom = false
687
+ this.f_defect_longpipe = false
688
+ this.f_defect_firesource = false
689
+ this.f_defect_explosive = false
690
+ this.f_defect_viacabinet = false
691
+ this.f_defect_intermittent = false
692
+ this.f_defect_nearfire = false
693
+ this.f_defect_openkitchen = false
694
+ this.f_defect_hang = false
695
+ this.f_cramped_path = Vue.nopic
696
+ //用户评价
697
+ this.f_client_evaluation = null
698
+ //清设备
699
+ this.$set('f_plumbs', [])
700
+ this.$set('f_valves', [])
701
+ this.$set('f_inner_plumbs', [])
702
+ this.$set('f_alarms', [])
703
+ this.$set('f_cookers', [])
704
+ this.$set('f_heaters', [])
705
+ this.$set('f_furnaces', [])
706
+ } else {
707
+ this.f_rejectcheck_path = Vue.nopic
708
+ this.f_noanswer_path = Vue.nopic
709
+ this.f_novisit_reason = null
710
+ }
711
+ })
712
+ }
713
+ },
714
+ components: {
715
+ RadioGroup,
716
+ Radio
717
+ }
718
+ }
719
+ </script>
720
+
721
+ <style scoped>
722
+
723
+ .font {
724
+ font: 15px PingFang-SC-Medium;
725
+ color: #666666;
726
+ }
727
+
728
+ .input-font {
729
+ font: 15px PingFang-SC-Medium;
730
+ color: #333333;
731
+ }
732
+
733
+ .app-text {
734
+ font-size: 12px;
735
+ }
736
+
737
+ .panel-self {
738
+ border-radius: 10px;
739
+ border: 1px solid #499EDF;
740
+ background-color: #F8F8F8;
741
+ }
742
+
743
+ .app-text {
744
+ font-size: 12px;
745
+ }
746
+
747
+ .panel-self {
748
+ border-radius: 5px;
749
+ border: 1px solid #c5e1f7;
750
+ background-color: #F2F6FA;
751
+ }
752
+
753
+ .font {
754
+ font: 15px PingFang-SC-Medium;
755
+ color: #333333;
756
+ }
757
+
758
+ .panel-self {
759
+ border-radius: 5px;
760
+ border: 1px solid #c5e1f7;
761
+ background-color: #F2F6FA;
762
+ }
763
+
764
+ .text-left {
765
+ text-align: left;
766
+ }
767
+
768
+ .font {
769
+ font: 15px PingFang-SC-Medium;
770
+ color: #333333;
771
+ }
772
+
773
+ .btn-photo {
774
+ border: 0;
775
+ border-radius: 7px;
776
+ background-color: #7dc1f4;
777
+ font: 15px PingFang-SC-Bold;
778
+ height: 20%;
779
+ }
780
+
781
+ .div-photo {
782
+ width: auto;
783
+ height: auto;
784
+ /* margin-top: 10px; */
785
+ position: absolute;
786
+ bottom: 10px;
787
+ right: 10px;
788
+ }
789
+ </style>