safecheck-client 4.0.1-8 → 4.0.1-81

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