safecheck-client 3.0.35-gongyi-9 → 3.0.35-gongyi-11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (843) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/.eslintrc.js +16 -16
  4. package/.project +11 -11
  5. package/CHANGELOG.md +27 -27
  6. package/README.md +38 -38
  7. package/android.html +18 -18
  8. package/build/css-loaders.js +34 -34
  9. package/build/dev-android.js +151 -151
  10. package/build/dev-client.js +8 -8
  11. package/build/example-server.js +157 -157
  12. package/build/release.sh +28 -28
  13. package/build/utils.js +71 -71
  14. package/build/webpack.base.conf.js +88 -88
  15. package/build/webpack.baseandroid.conf.js +83 -83
  16. package/build/webpack.dev.conf.js +40 -40
  17. package/build/webpack.devandroid.conf.js +33 -33
  18. package/build/webpack.example.conf.js +49 -49
  19. package/build/webpack.hanwei.conf.js +57 -57
  20. package/build/webpack.hwbase.conf.js +78 -78
  21. package/build/webpack.prod.conf.js +80 -80
  22. package/build/webpack.prodandroid.conf.js +60 -60
  23. package/build/webpack.test.conf.js +31 -31
  24. package/build.gradle +14 -14
  25. package/config/dev.env.js +6 -6
  26. package/config/index.js +38 -38
  27. package/config/prod.env.js +3 -3
  28. package/config/test.env.js +6 -6
  29. package/docs/AppBase.md +22 -22
  30. package/docs/Busy.md +14 -14
  31. package/docs/Criteria.md +47 -47
  32. package/docs/CriteriaPaged.md +47 -47
  33. package/docs/DataGrid.md +54 -54
  34. package/docs/DataModel.md +22 -22
  35. package/docs/Dynamic.md +42 -42
  36. package/docs/FormPrint.md +18 -18
  37. package/docs/GetParams.md +11 -11
  38. package/docs/GridTree.md +47 -47
  39. package/docs/HttpBusy.md +13 -13
  40. package/docs/HttpStore.md +29 -29
  41. package/docs/MessageBox.md +28 -28
  42. package/docs/PagedList.md +29 -29
  43. package/docs/Pager.md +21 -21
  44. package/docs/PrintFile.md +38 -38
  45. package/docs/Project.md +23 -23
  46. package/docs/Route.md +105 -105
  47. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  48. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  49. package/docs/Task.md +46 -46
  50. package/docs/TreeList.md +28 -28
  51. package/docs/TreeMixin.md +18 -18
  52. package/docs/all.md +10 -10
  53. package/docs/list.md +42 -42
  54. package/docs/partial.md +75 -75
  55. package/docs/selector.md +82 -82
  56. package/docs/tree.md +40 -40
  57. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  58. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  59. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  60. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  61. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  62. package/examples/AddressList/App.vue +13 -13
  63. package/examples/AddressList/index.html +11 -11
  64. package/examples/AddressList/main.js +13 -13
  65. package/examples/ChangeConfig/App.vue +54 -54
  66. package/examples/ChangeConfig/comp.js +548 -548
  67. package/examples/ChangeConfig/index.html +17 -17
  68. package/examples/ChangeConfig/main.js +13 -13
  69. package/examples/CheckAdvise/App.vue +24 -24
  70. package/examples/CheckAdvise/comp.js +9 -9
  71. package/examples/CheckAdvise/index.html +18 -18
  72. package/examples/CheckAdvise/main.js +13 -13
  73. package/examples/CreatePlan/App.vue +13 -13
  74. package/examples/CreatePlan/index.html +11 -11
  75. package/examples/CreatePlan/main.js +13 -13
  76. package/examples/DispatchList/App.vue +10 -10
  77. package/examples/DispatchList/BaseTree.vue +13 -13
  78. package/examples/DispatchList/Init.vue +22 -22
  79. package/examples/DispatchList/Test.vue +20 -20
  80. package/examples/DispatchList/index.html +11 -11
  81. package/examples/DispatchList/main.js +18 -18
  82. package/examples/PhoneSafePlan/App.vue +36 -36
  83. package/examples/PhoneSafePlan/TestData.js +448 -448
  84. package/examples/PhoneSafePlan/comp.js +33 -33
  85. package/examples/PhoneSafePlan/index.html +17 -17
  86. package/examples/PhoneSafePlan/main.js +13 -13
  87. package/examples/SafePlan/App.vue +83 -83
  88. package/examples/SafePlan/TestData.js +448 -448
  89. package/examples/SafePlan/comp.js +1521 -1521
  90. package/examples/SafePlan/index.html +18 -18
  91. package/examples/SafePlan/main.js +13 -13
  92. package/examples/SafePlan-aode/App.vue +39 -39
  93. package/examples/SafePlan-aode/TestData.js +448 -448
  94. package/examples/SafePlan-aode/comp.js +1132 -1132
  95. package/examples/SafePlan-aode/index.html +17 -17
  96. package/examples/SafePlan-aode/main.js +13 -13
  97. package/examples/SafePlan-liaoyuan/App.vue +53 -53
  98. package/examples/SafePlan-liaoyuan/TestData.js +448 -448
  99. package/examples/SafePlan-liaoyuan/comp.js +1419 -1419
  100. package/examples/SafePlan-liaoyuan/index.html +18 -18
  101. package/examples/SafePlan-liaoyuan/main.js +13 -13
  102. package/examples/SafePlan-shaoguan/App.vue +52 -52
  103. package/examples/SafePlan-shaoguan/TestData.js +448 -448
  104. package/examples/SafePlan-shaoguan/comp.js +1190 -1190
  105. package/examples/SafePlan-shaoguan/index.html +18 -18
  106. package/examples/SafePlan-shaoguan/main.js +13 -13
  107. package/examples/SafePlan-tongchuan/App.vue +81 -81
  108. package/examples/SafePlan-tongchuan/TestData.js +448 -448
  109. package/examples/SafePlan-tongchuan/comp.js +1480 -1480
  110. package/examples/SafePlan-tongchuan/index.html +18 -18
  111. package/examples/SafePlan-tongchuan/main.js +13 -13
  112. package/examples/SafePlan-wenxi/App.vue +80 -80
  113. package/examples/SafePlan-wenxi/TestData.js +448 -448
  114. package/examples/SafePlan-wenxi/comp.js +1545 -1545
  115. package/examples/SafePlan-wenxi/index.html +18 -18
  116. package/examples/SafePlan-wenxi/main.js +13 -13
  117. package/examples/SafePlan-zhoukou/App.vue +81 -81
  118. package/examples/SafePlan-zhoukou/TestData.js +448 -448
  119. package/examples/SafePlan-zhoukou/comp.js +1525 -1525
  120. package/examples/SafePlan-zhoukou/index.html +18 -18
  121. package/examples/SafePlan-zhoukou/main.js +13 -13
  122. package/examples/SafePlanItem/App.vue +33 -33
  123. package/examples/SafePlanItem/TestData.js +448 -448
  124. package/examples/SafePlanItem/comp.js +69 -69
  125. package/examples/SafePlanItem/index.html +17 -17
  126. package/examples/SafePlanItem/main.js +15 -15
  127. package/examples/SafePlanrongcheng/App.vue +52 -52
  128. package/examples/SafePlanrongcheng/TestData.js +448 -448
  129. package/examples/SafePlanrongcheng/comp.js +1133 -1133
  130. package/examples/SafePlanrongcheng/index.html +18 -18
  131. package/examples/SafePlanrongcheng/main.js +13 -13
  132. package/examples/SafePlanrongcheng-gs/App.vue +52 -52
  133. package/examples/SafePlanrongcheng-gs/TestData.js +448 -448
  134. package/examples/SafePlanrongcheng-gs/comp.js +1132 -1132
  135. package/examples/SafePlanrongcheng-gs/index.html +18 -18
  136. package/examples/SafePlanrongcheng-gs/main.js +13 -13
  137. package/examples/SafePlanrongcheng-gssq/App.vue +52 -52
  138. package/examples/SafePlanrongcheng-gssq/TestData.js +448 -448
  139. package/examples/SafePlanrongcheng-gssq/comp.js +1135 -1135
  140. package/examples/SafePlanrongcheng-gssq/index.html +18 -18
  141. package/examples/SafePlanrongcheng-gssq/main.js +13 -13
  142. package/examples/SafePlanrongcheng-mysq/App.vue +52 -52
  143. package/examples/SafePlanrongcheng-mysq/TestData.js +448 -448
  144. package/examples/SafePlanrongcheng-mysq/comp.js +1136 -1136
  145. package/examples/SafePlanrongcheng-mysq/index.html +18 -18
  146. package/examples/SafePlanrongcheng-mysq/main.js +13 -13
  147. package/examples/Test/App.vue +35 -35
  148. package/examples/Test/TestData.js +489 -489
  149. package/examples/Test/index.html +17 -17
  150. package/examples/Test/main.js +13 -13
  151. package/examples/Test//350/216/267/345/217/226/345/217/230/351/207/217 +2 -2
  152. package/examples/UserFiles/App.vue +47 -47
  153. package/examples/UserFiles/TestData.js +448 -448
  154. package/examples/UserFiles/comp.js +227 -227
  155. package/examples/UserFiles/index.html +19 -19
  156. package/examples/UserFiles/main.js +13 -13
  157. package/home.html +16 -16
  158. package/index.html +23 -23
  159. package/oa.iml +8 -8
  160. package/package.json +1 -1
  161. package/publish.bat +7 -7
  162. package/release.bat +5 -5
  163. package/src/AndroidApp.vue +26 -26
  164. package/src/App.vue +27 -27
  165. package/src/Widget.vue +13 -13
  166. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  167. package/src/android-bootstrap/less/.csscomb.json +304 -304
  168. package/src/android-bootstrap/less/.csslintrc +19 -19
  169. package/src/android-bootstrap/less/alerts.less +73 -73
  170. package/src/android-bootstrap/less/badges.less +66 -66
  171. package/src/android-bootstrap/less/bootstrap.less +56 -56
  172. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  173. package/src/android-bootstrap/less/button-groups.less +247 -247
  174. package/src/android-bootstrap/less/buttons.less +173 -173
  175. package/src/android-bootstrap/less/carousel.less +269 -269
  176. package/src/android-bootstrap/less/close.less +34 -34
  177. package/src/android-bootstrap/less/code.less +69 -69
  178. package/src/android-bootstrap/less/component-animations.less +33 -33
  179. package/src/android-bootstrap/less/dropdowns.less +216 -216
  180. package/src/android-bootstrap/less/forms.less +626 -626
  181. package/src/android-bootstrap/less/glyphicons.less +305 -305
  182. package/src/android-bootstrap/less/grid.less +84 -84
  183. package/src/android-bootstrap/less/input-groups.less +167 -167
  184. package/src/android-bootstrap/less/jumbotron.less +52 -52
  185. package/src/android-bootstrap/less/labels.less +64 -64
  186. package/src/android-bootstrap/less/list-group.less +141 -141
  187. package/src/android-bootstrap/less/media.less +66 -66
  188. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  189. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  190. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  191. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  192. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  193. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  194. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  195. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  196. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  197. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  198. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  199. package/src/android-bootstrap/less/mixins/image.less +33 -33
  200. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  201. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  202. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  203. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  204. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  205. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  206. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  207. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  208. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  209. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  210. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  211. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  212. package/src/android-bootstrap/less/mixins/size.less +10 -10
  213. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  214. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  215. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  216. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  217. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  218. package/src/android-bootstrap/less/mixins.less +40 -40
  219. package/src/android-bootstrap/less/modals.less +151 -151
  220. package/src/android-bootstrap/less/navbar.less +660 -660
  221. package/src/android-bootstrap/less/navs.less +290 -290
  222. package/src/android-bootstrap/less/normalize.less +424 -424
  223. package/src/android-bootstrap/less/pager.less +76 -76
  224. package/src/android-bootstrap/less/pagination.less +89 -89
  225. package/src/android-bootstrap/less/panels.less +274 -274
  226. package/src/android-bootstrap/less/popovers.less +131 -131
  227. package/src/android-bootstrap/less/print.less +101 -101
  228. package/src/android-bootstrap/less/progress-bars.less +87 -87
  229. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  230. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  231. package/src/android-bootstrap/less/scaffolding.less +161 -161
  232. package/src/android-bootstrap/less/tables.less +262 -262
  233. package/src/android-bootstrap/less/theme.less +291 -291
  234. package/src/android-bootstrap/less/thumbnails.less +36 -36
  235. package/src/android-bootstrap/less/tooltip.less +102 -102
  236. package/src/android-bootstrap/less/type.less +303 -303
  237. package/src/android-bootstrap/less/utilities.less +55 -55
  238. package/src/android-bootstrap/less/variables.less +896 -896
  239. package/src/android-bootstrap/less/wells.less +29 -29
  240. package/src/android.js +16 -16
  241. package/src/androidBase.js +177 -177
  242. package/src/androidTest.js +20 -20
  243. package/src/bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  244. package/src/bootstrap/less/.csscomb.json +304 -304
  245. package/src/bootstrap/less/.csslintrc +19 -19
  246. package/src/bootstrap/less/alerts.less +73 -73
  247. package/src/bootstrap/less/aofeng/animate.min.css +10 -10
  248. package/src/bootstrap/less/aofeng/standard.less +2121 -2121
  249. package/src/bootstrap/less/aofeng/themeOne/BinaryTemplate.less +686 -686
  250. package/src/bootstrap/less/aofeng/themeOne/loginStyle.less +1586 -1586
  251. package/src/bootstrap/less/aofeng/themeOne/systemStyle.less +2650 -2650
  252. package/src/bootstrap/less/aofeng/themeOne.less +14 -14
  253. package/src/bootstrap/less/aofeng/themeTwo/newStyle1.less +415 -415
  254. package/src/bootstrap/less/aofeng/themeTwo.less +3 -3
  255. package/src/bootstrap/less/badges.less +66 -66
  256. package/src/bootstrap/less/bootstrap.less +65 -65
  257. package/src/bootstrap/less/breadcrumbs.less +26 -26
  258. package/src/bootstrap/less/button-groups.less +247 -247
  259. package/src/bootstrap/less/buttons.less +172 -172
  260. package/src/bootstrap/less/carousel.less +269 -269
  261. package/src/bootstrap/less/close.less +34 -34
  262. package/src/bootstrap/less/code.less +69 -69
  263. package/src/bootstrap/less/component-animations.less +33 -33
  264. package/src/bootstrap/less/dropdowns.less +216 -216
  265. package/src/bootstrap/less/forms.less +626 -626
  266. package/src/bootstrap/less/glyphicons.less +305 -305
  267. package/src/bootstrap/less/grid.less +84 -84
  268. package/src/bootstrap/less/input-groups.less +167 -167
  269. package/src/bootstrap/less/jumbotron.less +52 -52
  270. package/src/bootstrap/less/labels.less +64 -64
  271. package/src/bootstrap/less/list-group.less +141 -141
  272. package/src/bootstrap/less/manageStyle/manageChile.less +180 -180
  273. package/src/bootstrap/less/manageStyle/manageStyle.less +1102 -1102
  274. package/src/bootstrap/less/manageStyle/safeStyle.less +498 -498
  275. package/src/bootstrap/less/media.less +66 -66
  276. package/src/bootstrap/less/mixins/alerts.less +14 -14
  277. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  278. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  279. package/src/bootstrap/less/mixins/buttons.less +69 -69
  280. package/src/bootstrap/less/mixins/center-block.less +7 -7
  281. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  282. package/src/bootstrap/less/mixins/forms.less +90 -90
  283. package/src/bootstrap/less/mixins/gradients.less +59 -59
  284. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  285. package/src/bootstrap/less/mixins/grid.less +122 -122
  286. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  287. package/src/bootstrap/less/mixins/image.less +33 -33
  288. package/src/bootstrap/less/mixins/labels.less +12 -12
  289. package/src/bootstrap/less/mixins/list-group.less +30 -30
  290. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  291. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  292. package/src/bootstrap/less/mixins/opacity.less +8 -8
  293. package/src/bootstrap/less/mixins/pagination.less +24 -24
  294. package/src/bootstrap/less/mixins/panels.less +24 -24
  295. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  296. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  297. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  298. package/src/bootstrap/less/mixins/resize.less +6 -6
  299. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  300. package/src/bootstrap/less/mixins/size.less +10 -10
  301. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  302. package/src/bootstrap/less/mixins/table-row.less +44 -44
  303. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  304. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  305. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  306. package/src/bootstrap/less/mixins.less +40 -40
  307. package/src/bootstrap/less/modals.less +151 -151
  308. package/src/bootstrap/less/navbar.less +660 -660
  309. package/src/bootstrap/less/navs.less +285 -285
  310. package/src/bootstrap/less/normalize.less +424 -424
  311. package/src/bootstrap/less/pager.less +76 -76
  312. package/src/bootstrap/less/pagination.less +89 -89
  313. package/src/bootstrap/less/panels.less +275 -275
  314. package/src/bootstrap/less/popovers.less +131 -131
  315. package/src/bootstrap/less/print.less +101 -101
  316. package/src/bootstrap/less/progress-bars.less +87 -87
  317. package/src/bootstrap/less/responsive-embed.less +35 -35
  318. package/src/bootstrap/less/responsive-utilities.less +194 -194
  319. package/src/bootstrap/less/scaffolding.less +161 -161
  320. package/src/bootstrap/less/stand.less +207 -207
  321. package/src/bootstrap/less/standard.less +503 -503
  322. package/src/bootstrap/less/systemStyle.less +860 -860
  323. package/src/bootstrap/less/tables.less +262 -262
  324. package/src/bootstrap/less/theme.less +291 -291
  325. package/src/bootstrap/less/themeOne.less +36 -36
  326. package/src/bootstrap/less/themeTwo.less +29 -29
  327. package/src/bootstrap/less/thumbnails.less +36 -36
  328. package/src/bootstrap/less/tooltip.less +102 -102
  329. package/src/bootstrap/less/type.less +303 -303
  330. package/src/bootstrap/less/utilities.less +55 -55
  331. package/src/bootstrap/less/variables.less +896 -896
  332. package/src/bootstrap/less/wells.less +29 -29
  333. package/src/components/AloneLoadParams.vue +25 -25
  334. package/src/components/CheckerCount/CheckCountAreaList.vue +306 -306
  335. package/src/components/CheckerCount/CheckCountAreaManage.vue +112 -112
  336. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  337. package/src/components/CheckerCount/ZhouKouCheckCount.vue +272 -272
  338. package/src/components/ExportExcel.vue +334 -334
  339. package/src/components/FileUpload.vue +696 -696
  340. package/src/components/Hello.vue +39 -39
  341. package/src/components/LeftTree.vue +27 -27
  342. package/src/components/Login.vue +459 -459
  343. package/src/components/Main.vue +393 -393
  344. package/src/components/Test.vue +1478 -1478
  345. package/src/components/Util/FileUpload.vue +138 -138
  346. package/src/components/Util/ImgSelfSafe.vue +126 -126
  347. package/src/components/Util/RightTreeSafe.vue +348 -348
  348. package/src/components/Util/SafecheckUpload.vue +265 -265
  349. package/src/components/Util.js +376 -376
  350. package/src/components/android/AddGas.vue +147 -147
  351. package/src/components/android/AddPlanItem.vue +412 -412
  352. package/src/components/android/AddressList.vue +61 -61
  353. package/src/components/android/AdviseCommit.vue +59 -59
  354. package/src/components/android/AndroidCheckResult.vue +181 -181
  355. package/src/components/android/AndroidDefectDeal.vue +397 -397
  356. package/src/components/android/Announcement.vue +167 -167
  357. package/src/components/android/AreaPlan.vue +503 -503
  358. package/src/components/android/AttendanceTally.vue +116 -116
  359. package/src/components/android/Blank.vue +10 -10
  360. package/src/components/android/CheckNotice.vue +89 -89
  361. package/src/components/android/CheckPlan.vue +257 -257
  362. package/src/components/android/CheckPlanDown.vue +216 -216
  363. package/src/components/android/CheckPlanItems.vue +423 -423
  364. package/src/components/android/CheckUnplanPage.vue +56 -56
  365. package/src/components/android/Checker.vue +12 -12
  366. package/src/components/android/CheckerAnnual.vue +81 -81
  367. package/src/components/android/CheckerAnnualDetail.vue +63 -63
  368. package/src/components/android/CheckerAvarta.vue +82 -82
  369. package/src/components/android/CheckerMonthly.vue +84 -84
  370. package/src/components/android/Checkpage.vue +102 -102
  371. package/src/components/android/CurrentCreate.vue +972 -972
  372. package/src/components/android/DailyworkloadQuery.vue +396 -396
  373. package/src/components/android/Defect.vue +119 -119
  374. package/src/components/android/DeviceDefect.vue +187 -187
  375. package/src/components/android/Devices.vue +327 -327
  376. package/src/components/android/DevicesItem.vue +495 -495
  377. package/src/components/android/DevicesItemm.vue +445 -445
  378. package/src/components/android/DevicesNoncivil.vue +214 -214
  379. package/src/components/android/Devicesm.vue +327 -327
  380. package/src/components/android/DoorService.vue +501 -501
  381. package/src/components/android/EquipmentInspection.vue +348 -348
  382. package/src/components/android/ExtractCheckPlan.vue +268 -268
  383. package/src/components/android/ExtractPlanItem.vue +516 -516
  384. package/src/components/android/FootprintMap.vue +120 -120
  385. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  386. package/src/components/android/LcheckUnplan.vue +108 -108
  387. package/src/components/android/LocalPagedList.js +108 -108
  388. package/src/components/android/LocalPathList.js +109 -109
  389. package/src/components/android/Login.vue +222 -222
  390. package/src/components/android/MasterMain.vue +77 -77
  391. package/src/components/android/Menu.vue +132 -132
  392. package/src/components/android/NavBottom.vue +157 -157
  393. package/src/components/android/PaperAlarm.vue +85 -85
  394. package/src/components/android/PaperAlarmNoncivil.vue +286 -286
  395. package/src/components/android/PaperCooker.vue +325 -325
  396. package/src/components/android/PaperDefect.vue +230 -230
  397. package/src/components/android/PaperDevice.vue +279 -279
  398. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  399. package/src/components/android/PaperFeedback.vue +1444 -1444
  400. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  401. package/src/components/android/PaperFurnace.vue +274 -274
  402. package/src/components/android/PaperFurnaceNoncivil.vue +203 -203
  403. package/src/components/android/PaperHeater.vue +287 -287
  404. package/src/components/android/PaperInnerPlumb.vue +171 -171
  405. package/src/components/android/PaperMessage.vue +1323 -1323
  406. package/src/components/android/PaperMessageNocivil.vue +1288 -1288
  407. package/src/components/android/PaperMeter.vue +351 -351
  408. package/src/components/android/PaperMeterNoncivil.vue +481 -481
  409. package/src/components/android/PaperPieceNoncivil.vue +142 -142
  410. package/src/components/android/PaperPlumb.vue +141 -141
  411. package/src/components/android/PaperPlumbNoncivil.vue +253 -253
  412. package/src/components/android/PaperSet.vue +1956 -1956
  413. package/src/components/android/PaperSetNoncivil.vue +1760 -1760
  414. package/src/components/android/PaperState.vue +390 -390
  415. package/src/components/android/PaperStateNoncivil.vue +383 -383
  416. package/src/components/android/PaperStateNoncivilm.vue +377 -377
  417. package/src/components/android/PaperStatem.vue +346 -346
  418. package/src/components/android/PaperUser.vue +606 -606
  419. package/src/components/android/PaperUserNoncivil.vue +424 -424
  420. package/src/components/android/PaperUserm.vue +356 -356
  421. package/src/components/android/PaperValve.vue +178 -178
  422. package/src/components/android/PaperValveNoncivil.vue +180 -180
  423. package/src/components/android/PhoneChangemeterInfo.vue +107 -107
  424. package/src/components/android/PhoneInfoTable.vue +40 -40
  425. package/src/components/android/PhoneSellInfo.vue +113 -113
  426. package/src/components/android/PhoneState.vue +157 -157
  427. package/src/components/android/PhoneUpUserinfo.vue +929 -929
  428. package/src/components/android/PhoneUserFind.vue +111 -111
  429. package/src/components/android/PlumberAnnual.vue +83 -83
  430. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  431. package/src/components/android/PlumberMonthly.vue +84 -84
  432. package/src/components/android/PostMap.vue +83 -83
  433. package/src/components/android/PrearrangedPlan.vue +247 -247
  434. package/src/components/android/QueryCheckHistory.vue +122 -122
  435. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  436. package/src/components/android/RepairAreaList.vue +71 -71
  437. package/src/components/android/RepairList.vue +206 -206
  438. package/src/components/android/RepairMain.vue +60 -60
  439. package/src/components/android/RepairQuery.vue +262 -262
  440. package/src/components/android/Repairman.vue +12 -12
  441. package/src/components/android/ResAreaList.vue +158 -158
  442. package/src/components/android/RightTree.vue +174 -174
  443. package/src/components/android/SafecheckDevices.vue +1143 -1143
  444. package/src/components/android/SafecheckOrderV.vue +2408 -2408
  445. package/src/components/android/SafecheckState.vue +437 -437
  446. package/src/components/android/SafecheckUser.vue +580 -580
  447. package/src/components/android/ShebeiDevices.vue +980 -980
  448. package/src/components/android/StationMaster.vue +12 -12
  449. package/src/components/android/SwitchValve.vue +230 -230
  450. package/src/components/android/SystemSetting.vue +84 -84
  451. package/src/components/android/ToolsPage.vue +51 -51
  452. package/src/components/android/TrackState.vue +134 -134
  453. package/src/components/android/UploadPage.vue +338 -338
  454. package/src/components/android/checkPlanResult.vue +302 -302
  455. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  456. package/src/components/android/userinfo/SafecheckUserInfo.vue +611 -611
  457. package/src/components/android/wasm/PhoneSafePlan.vue +39 -39
  458. package/src/components/android/wasm/TestData.js +448 -448
  459. package/src/components/android/wasm/comp.js +33 -33
  460. package/src/components/attendance/DailyAttendance.vue +99 -99
  461. package/src/components/attendance/MonthlyAttendance.vue +194 -194
  462. package/src/components/callincheck/CallInCheckMain.vue +146 -146
  463. package/src/components/callincheck/CallInPlan.vue +148 -148
  464. package/src/components/callincheck/UserFileList.vue +155 -155
  465. package/src/components/checkAreaClassification.vue +285 -285
  466. package/src/components/checkerphonestate/Checker.vue +32 -32
  467. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  468. package/src/components/checkplan/CheckDetail.vue +205 -205
  469. package/src/components/checkplan/CheckPlan.vue +59 -59
  470. package/src/components/checkplan/SelectCheckPlan.vue +224 -224
  471. package/src/components/checkplan/SelectMessage.vue +105 -105
  472. package/src/components/checkplan/checkmsg.vue +459 -459
  473. package/src/components/checkplan/checkmsgZG.vue +519 -519
  474. package/src/components/cockpit/Splash.vue +85 -85
  475. package/src/components/cockpit/SplashDetail.vue +66 -66
  476. package/src/components/createcheckplan/CreatePlan.vue +1052 -1052
  477. package/src/components/createcheckplan/CreatePlanWuan.vue +1024 -1024
  478. package/src/components/createcheckplan/DelPlanRepeat.vue +318 -318
  479. package/src/components/createcheckplan/DistributePlan.vue +62 -62
  480. package/src/components/createcheckplan/PlanList.vue +433 -433
  481. package/src/components/createcheckplan/PlanUersList.vue +137 -137
  482. package/src/components/defect/DefectDetail.vue +177 -177
  483. package/src/components/defect/DefectDetailWeixiu.vue +177 -177
  484. package/src/components/defect/DefectList.vue +489 -489
  485. package/src/components/defect/DefectListWeixiu.vue +479 -479
  486. package/src/components/defect/DefectMain.vue +63 -63
  487. package/src/components/defect/DefectMainWeixiu.vue +63 -63
  488. package/src/components/defect/DefectPaper.vue +874 -874
  489. package/src/components/defect/DefectPaperWeiXiu.vue +655 -655
  490. package/src/components/defect/ImageViewer.vue +350 -350
  491. package/src/components/defect/ImgButton.vue +118 -118
  492. package/src/components/defect/ImgsButton.vue +62 -62
  493. package/src/components/defects/AddDefectModal.vue +120 -120
  494. package/src/components/defects/AddDevice.vue +95 -95
  495. package/src/components/defects/CheckPaperItem.vue +92 -92
  496. package/src/components/defects/CheckPaperItems.vue +89 -89
  497. package/src/components/defects/CheckPaperSearch.vue +349 -349
  498. package/src/components/defects/CheckPaperSearchMain.vue +55 -55
  499. package/src/components/defects/DefectCondition.vue +180 -180
  500. package/src/components/defects/DefectModal.vue +101 -101
  501. package/src/components/defects/DefectSeting.vue +98 -98
  502. package/src/components/defects/DefectsQuery.vue +190 -190
  503. package/src/components/defects/DevicesAndItem.vue +39 -39
  504. package/src/components/defects/DevicesSeting.vue +106 -106
  505. package/src/components/equipment/BoilerUsage.vue +105 -105
  506. package/src/components/equipment/CheckRate.vue +324 -324
  507. package/src/components/equipment/CheckerRate.vue +333 -333
  508. package/src/components/equipment/CookerUsage.vue +105 -105
  509. package/src/components/equipment/DeviceUsage.vue +105 -105
  510. package/src/components/equipment/FurnaceUsage.vue +105 -105
  511. package/src/components/equipment/GasMeterUsage.vue +109 -109
  512. package/src/components/equipment/HeaterUsage.vue +105 -105
  513. package/src/components/equipment/MonthCheckRate.vue +340 -340
  514. package/src/components/filialCircle/AddCircleFiliale.vue +114 -114
  515. package/src/components/filialCircle/CircleList.vue +139 -139
  516. package/src/components/filialCircle/CircleManage.vue +69 -69
  517. package/src/components/gasusage/GasUsage.vue +126 -126
  518. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  519. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  520. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  521. package/src/components/inspections/Checked.vue +402 -402
  522. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  523. package/src/components/inspections/InsUploadPage.vue +251 -251
  524. package/src/components/inspections/InspectionList.vue +542 -542
  525. package/src/components/inspections/InspectionLists.vue +544 -544
  526. package/src/components/inspections/InspectionListss.vue +544 -544
  527. package/src/components/inspections/inspectionDevices.vue +986 -986
  528. package/src/components/inspections/inspectionFeedback.vue +720 -720
  529. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  530. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  531. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  532. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  533. package/src/components/issueplan/IssuePlanAction.vue +102 -102
  534. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  535. package/src/components/issueplan/IssuePlanQuery.vue +118 -118
  536. package/src/components/json-editor/SafeJsonEditor.vue +212 -212
  537. package/src/components/json-editor/assets/img/jsoneditor-icons.svg +893 -893
  538. package/src/components/json-editor/assets/jsoneditor-minimalist.js +9750 -9750
  539. package/src/components/json-editor/assets/jsoneditor.css +929 -929
  540. package/src/components/json-editor/assets/jsoneditor.js +36376 -36376
  541. package/src/components/json-editor/example/App.vue +53 -53
  542. package/src/components/json-editor/example/index.html +9 -9
  543. package/src/components/json-editor/example/main.js +10 -10
  544. package/src/components/json-editor/package.json +71 -71
  545. package/src/components/json-editor/vue-json-editor.vue +189 -189
  546. package/src/components/levelplan/AdjustPlan.vue +199 -199
  547. package/src/components/levelplan/CheckerLeft.vue +140 -140
  548. package/src/components/levelplan/CheckerPlanAdjust.vue +304 -304
  549. package/src/components/levelplan/CheckerRight.vue +123 -123
  550. package/src/components/map/AMap.vue +70 -70
  551. package/src/components/map/AMapTrailShow.vue +178 -178
  552. package/src/components/map/AMapTrailShowZk.vue +178 -178
  553. package/src/components/map/FootPrintList.vue +45 -45
  554. package/src/components/map/MapCriteriaData.vue +97 -97
  555. package/src/components/map/checkScreen.vue +727 -727
  556. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  557. package/src/components/metterfiles/MetterFiles.vue +104 -104
  558. package/src/components/metterfiles/MetterfilesAdd.vue +168 -168
  559. package/src/components/metterfiles/MetterfilesChange.vue +162 -162
  560. package/src/components/metterfiles/UserFiles.vue +156 -156
  561. package/src/components/metterfiles/Userfileschange.vue +391 -391
  562. package/src/components/notice/NoticeForm.vue +100 -100
  563. package/src/components/notice/NoticeIssue.vue +20 -20
  564. package/src/components/notice/NoticeQuery.vue +76 -76
  565. package/src/components/paper/PaperList.vue +806 -806
  566. package/src/components/paper/PaperVerify.vue +256 -256
  567. package/src/components/paper/PicViewer.vue +18 -18
  568. package/src/components/paper/PlanChooser.vue +159 -159
  569. package/src/components/paper/RepairVerify.vue +139 -139
  570. package/src/components/paper/RepairVerifyForm.vue +76 -76
  571. package/src/components/paper/VerifyForm.vue +107 -107
  572. package/src/components/paper/filialeCheckInfo.vue +111 -111
  573. package/src/components/pc/AnnouncementPC.vue +524 -524
  574. package/src/components/pc/CheckBook.vue +67 -67
  575. package/src/components/pc/CheckBookList.vue +586 -586
  576. package/src/components/pc/CheckBookManage.vue +998 -998
  577. package/src/components/pc/CheckBookUser.vue +77 -77
  578. package/src/components/pc/DeviceChange.vue +1068 -1068
  579. package/src/components/pc/HiddenChart.vue +494 -494
  580. package/src/components/pc/NewCheckpaper.vue +1333 -1333
  581. package/src/components/pc/PaperChazhiMain.vue +570 -570
  582. package/src/components/pc/PaperDefectMain.vue +584 -584
  583. package/src/components/pc/RoleSelector.vue +125 -125
  584. package/src/components/phonestate/DailyTraffic.vue +57 -57
  585. package/src/components/phonestate/FootprintMap.vue +129 -129
  586. package/src/components/phonestate/LastKnownState.vue +74 -74
  587. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  588. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  589. package/src/components/phonestate/PostMap.vue +82 -82
  590. package/src/components/plancheck/CheckPlanAreaManage.vue +116 -116
  591. package/src/components/plancheck/CheckPlanList.vue +282 -282
  592. package/src/components/planmanage/PlanManage.vue +782 -782
  593. package/src/components/planmanage/checkPlanList.vue +341 -341
  594. package/src/components/planmanage/checkUserList.vue +728 -728
  595. package/src/components/querycheckpaper/CheckPaperList.vue +127 -127
  596. package/src/components/querycheckpaper/CheckPaperSearchUser.vue +67 -67
  597. package/src/components/querycheckpaper/CheckSearchUser.vue +1037 -1037
  598. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  599. package/src/components/querycheckpaper/PaperItems.vue +79 -79
  600. package/src/components/querycheckpaper/PaperSearch.vue +126 -126
  601. package/src/components/querycheckpaper/PaperSearchMain.vue +56 -56
  602. package/src/components/querycheckpaper/ShebeiPaperList.vue +121 -121
  603. package/src/components/querycheckpaper/ShebeiPaperSearchUser.vue +67 -67
  604. package/src/components/querycheckpaper/ShebeiSearchUser.vue +690 -690
  605. package/src/components/report/CheckPlanAreaList.vue +5 -0
  606. package/src/components/report/CheckPlanAreaManage.vue +111 -111
  607. package/src/components/report/CheckPlanUserList.vue +217 -217
  608. package/src/components/report/HiddenSituation.vue +210 -210
  609. package/src/components/report/ManageBusSummary.vue +242 -242
  610. package/src/components/report/SafePlanSale.vue +111 -111
  611. package/src/components/report/SafePlanStatistics.vue +118 -118
  612. package/src/components/rongcheng/AddPlanItem.vue +315 -315
  613. package/src/components/rongcheng/AreaPlan.vue +470 -470
  614. package/src/components/rongcheng/AspPaperFeedback.vue +1179 -1179
  615. package/src/components/rongcheng/AspPaperStatem.vue +339 -339
  616. package/src/components/rongcheng/AspiratedAreaPlan.vue +464 -464
  617. package/src/components/rongcheng/AspiratedCurrentCreate.vue +1036 -1036
  618. package/src/components/rongcheng/AspiratedDevices.vue +966 -966
  619. package/src/components/rongcheng/AspiratedOrderV.vue +2376 -2376
  620. package/src/components/rongcheng/AspiratedPaperFeedbackm.vue +1019 -1019
  621. package/src/components/rongcheng/AspiratedPaperMessage.vue +1378 -1378
  622. package/src/components/rongcheng/AspiratedPaperMessageNocivil.vue +1288 -1288
  623. package/src/components/rongcheng/AspiratedUploadPage.vue +293 -293
  624. package/src/components/rongcheng/AspiratedUserInfo.vue +399 -399
  625. package/src/components/rongcheng/CheckCurrentCreate.vue +1046 -1046
  626. package/src/components/rongcheng/CheckPaperList.vue +134 -134
  627. package/src/components/rongcheng/CheckPaperSearchUser.vue +55 -55
  628. package/src/components/rongcheng/CheckPaperSearchUserNo.vue +55 -55
  629. package/src/components/rongcheng/CheckSearchUser.vue +826 -826
  630. package/src/components/rongcheng/CheckSearchUserNo.vue +757 -757
  631. package/src/components/rongcheng/DefectList.vue +560 -560
  632. package/src/components/rongcheng/DefectPaper.vue +638 -638
  633. package/src/components/rongcheng/PaperFeedback.vue +1318 -1318
  634. package/src/components/rongcheng/PaperListAJ.vue +501 -501
  635. package/src/components/rongcheng/PaperListNPAJ.vue +498 -498
  636. package/src/components/rongcheng/PaperListNPSQ.vue +485 -485
  637. package/src/components/rongcheng/PaperListSQ.vue +483 -483
  638. package/src/components/rongcheng/PaperMessage.vue +1186 -1186
  639. package/src/components/rongcheng/PaperMessageNocivil.vue +1211 -1211
  640. package/src/components/rongcheng/PaperStateNoncivilm.vue +366 -366
  641. package/src/components/rongcheng/PaperStatem.vue +343 -343
  642. package/src/components/rongcheng/PhoneDevicesInfo.vue +233 -233
  643. package/src/components/rongcheng/SafecheckDevices.vue +998 -998
  644. package/src/components/rongcheng/SafecheckOrderV.vue +2476 -2476
  645. package/src/components/rongcheng/SafecheckOrderVCli.vue +2594 -2594
  646. package/src/components/rongcheng/SafecheckUserInfo.vue +439 -439
  647. package/src/components/rongcheng/UploadPage.vue +328 -328
  648. package/src/components/rongcheng/checkerplan/SelectCheckPlan.vue +285 -285
  649. package/src/components/rongcheng/report/CheckPlanAreaList.vue +419 -419
  650. package/src/components/rongcheng/report/CheckPlanUserList.vue +228 -228
  651. package/src/components/safecheck/common/TabButton.vue +157 -157
  652. package/src/components/safecheck/common/Tabs.vue +67 -67
  653. package/src/components/safecheck/queryManage/CheckBookAll.vue +71 -71
  654. package/src/components/safecheck/queryManage/SafeCheckManage.vue +88 -88
  655. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  656. package/src/components/sendsingle/onlineChangeMeter.vue +658 -658
  657. package/src/components/sendsingle/onlineoperation.vue +411 -411
  658. package/src/components/sendsingle/onlinequeryuser.vue +363 -363
  659. package/src/components/shaoguan/CheckPlanUserList.vue +119 -119
  660. package/src/components/shaoguan/DefectDetail.vue +177 -177
  661. package/src/components/shaoguan/DefectList.vue +473 -473
  662. package/src/components/shaoguan/DefectMain.vue +53 -53
  663. package/src/components/shaoguan/DefectPaper.vue +217 -217
  664. package/src/components/shaoguan/PaperList.vue +533 -533
  665. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  666. package/src/components/task/RepairAnnual.vue +79 -79
  667. package/src/components/task/RepairAnnualDetail.vue +49 -49
  668. package/src/components/task/RepairMonthly.vue +91 -91
  669. package/src/components/task/TaskAnnual.vue +77 -77
  670. package/src/components/task/TaskAnnualDetail.vue +47 -47
  671. package/src/components/task/TaskMonthly.vue +89 -89
  672. package/src/components/tongcheng/AreaPlan.vue +458 -458
  673. package/src/components/tongcheng/CurrentCreate.vue +625 -625
  674. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  675. package/src/components/tongcheng/PaperMessage.vue +1270 -1270
  676. package/src/components/tongcheng/PaperMessageNocivil.vue +1228 -1228
  677. package/src/components/tongcheng/PaperSet.vue +1958 -1958
  678. package/src/components/tongcheng/PaperUser.vue +533 -533
  679. package/src/components/userfile/InfoModifyModal.vue +122 -122
  680. package/src/components/userfile/MeterFile.vue +145 -145
  681. package/src/components/userfile/MeterModify.vue +46 -46
  682. package/src/components/userfile/UserFile.vue +118 -118
  683. package/src/components/userfile/UserInfoAudit.vue +252 -252
  684. package/src/components/userfile/UserfileChange.vue +277 -277
  685. package/src/components/userfile/UserinfoModify.vue +117 -117
  686. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  687. package/src/components/userfileaudit/UserFileaudit.vue +81 -81
  688. package/src/components/userfileaudit/UserfileChangeaudit.vue +239 -239
  689. package/src/expandcss.less +571 -571
  690. package/src/expandcssAndroid.less +520 -520
  691. package/src/filiale/ALshan/pc/CheckSearchUser.vue +927 -927
  692. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +473 -473
  693. package/src/filiale/ALshan/pc.js +15 -15
  694. package/src/filiale/Util.js +325 -325
  695. package/src/filiale/huatong/android/SafecheckDevices.vue +928 -928
  696. package/src/filiale/huatong/android/SafecheckOrderV.vue +2398 -2398
  697. package/src/filiale/huatong/android.js +14 -14
  698. package/src/filiale/huatong/pc.js +13 -13
  699. package/src/filiale/liaoyuan/android/SafecheckDevices.vue +928 -928
  700. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2383 -2383
  701. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +550 -550
  702. package/src/filiale/liaoyuan/android.js +14 -14
  703. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +483 -483
  704. package/src/filiale/liaoyuan/pc/DefectPaperWeiXiu.vue +975 -975
  705. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  706. package/src/filiale/liaoyuan/pc/PaperList.vue +657 -657
  707. package/src/filiale/liaoyuan/pc.js +15 -15
  708. package/src/filiale/lixian/android/SafecheckDevices.vue +1022 -1022
  709. package/src/filiale/lixian/android/SafecheckOrderV.vue +2403 -2403
  710. package/src/filiale/lixian/android/SafecheckUserInfo.vue +586 -586
  711. package/src/filiale/lixian/android.js +14 -14
  712. package/src/filiale/lixian/pc/CheckPlanAreaList.vue +461 -461
  713. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  714. package/src/filiale/lixian/pc/PaperChazhiMain.vue +607 -607
  715. package/src/filiale/lixian/pc/PaperDefectMain.vue +617 -617
  716. package/src/filiale/lixian/pc/PaperList.vue +686 -686
  717. package/src/filiale/lixian/pc.js +22 -22
  718. package/src/filiale/rongchuang/pc/checkUserList.vue +594 -594
  719. package/src/filiale/rongchuang/pc.js +13 -13
  720. package/src/filiale/shimen/android/CurrentCreate.vue +979 -979
  721. package/src/filiale/shimen/android/PaperFeedback.vue +1341 -1341
  722. package/src/filiale/shimen/android/PhoneSellInfo.vue +88 -88
  723. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  724. package/src/filiale/shimen/android.js +12 -12
  725. package/src/filiale/shimen/pc/CheckPlanAreaList.vue +463 -463
  726. package/src/filiale/shimen/pc/CheckSearchUser.vue +927 -927
  727. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  728. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  729. package/src/filiale/shimen/pc/PaperDefectMain.vue +656 -656
  730. package/src/filiale/shimen/pc/PaperList.vue +613 -613
  731. package/src/filiale/shimen/pc/checkmsg.vue +248 -248
  732. package/src/filiale/shimen/pc.js +21 -21
  733. package/src/filiale/tongchuan/android/PaperFeedback.vue +1350 -1350
  734. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1112 -1112
  735. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +2575 -2575
  736. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +640 -640
  737. package/src/filiale/tongchuan/android/UploadPage.vue +285 -285
  738. package/src/filiale/tongchuan/android.js +13 -13
  739. package/src/filiale/tongchuan/pc/CheckPlanUserList.vue +245 -245
  740. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +956 -956
  741. package/src/filiale/tongchuan/pc/DefectPaper.vue +764 -764
  742. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +509 -509
  743. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +1267 -1267
  744. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +634 -634
  745. package/src/filiale/tongchuan/pc/PaperList.vue +677 -677
  746. package/src/filiale/tongchuan/pc/checkUserList.vue +593 -593
  747. package/src/filiale/tongchuan/pc.js +21 -21
  748. package/src/filiale/wenxi/android/CurrentCreate.vue +1047 -1047
  749. package/src/filiale/wenxi/android/PaperFeedback.vue +1378 -1378
  750. package/src/filiale/wenxi/android/SafecheckDevices.vue +1053 -1053
  751. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2472 -2472
  752. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +584 -584
  753. package/src/filiale/wenxi/android/UploadPage.vue +285 -285
  754. package/src/filiale/wenxi/android.js +14 -14
  755. package/src/filiale/wenxi/pc/DefectPaper.vue +662 -662
  756. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1169 -1169
  757. package/src/filiale/wenxi/pc/PaperDefectMain.vue +634 -634
  758. package/src/filiale/wenxi/pc/PaperList.vue +860 -860
  759. package/src/filiale/wenxi/pc/checkmsg.vue +302 -302
  760. package/src/filiale/wenxi/pc.js +16 -16
  761. package/src/filiale/wuan/android/AreaPlan.vue +513 -513
  762. package/src/filiale/wuan/android/CurrentCreate.vue +985 -985
  763. package/src/filiale/wuan/android/CurrentCreateSheBei.vue +999 -999
  764. package/src/filiale/wuan/android/SafecheckDevices.vue +1150 -1150
  765. package/src/filiale/wuan/android/SafecheckOrderV.vue +2237 -2237
  766. package/src/filiale/wuan/android/SafecheckUserInfo.vue +571 -571
  767. package/src/filiale/wuan/android.js +17 -17
  768. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  769. package/src/filiale/wuan/pc/DefectPaperWeiXiu.vue +514 -514
  770. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  771. package/src/filiale/wuan/pc/PaperList.vue +628 -628
  772. package/src/filiale/wuan/pc.js +19 -19
  773. package/src/filiale/wuhai/android/AreaPlan.vue +529 -529
  774. package/src/filiale/wuhai/android/PaperFeedback.vue +1350 -1350
  775. package/src/filiale/wuhai/android.js +12 -12
  776. package/src/filiale/wuhai/pc/checkUserList.vue +594 -594
  777. package/src/filiale/wuhai/pc.js +13 -13
  778. package/src/filiale/zhongsheng/android/PaperFeedback.vue +1341 -1341
  779. package/src/filiale/zhongsheng/android/PhoneUpUserinfo.vue +926 -926
  780. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2447 -2447
  781. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +591 -591
  782. package/src/filiale/zhongsheng/android.js +17 -17
  783. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  784. package/src/filiale/zhongsheng/pc/DefectPaperWeiXiu.vue +511 -511
  785. package/src/filiale/zhongsheng/pc/InfoModifyModal.vue +123 -123
  786. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1308 -1308
  787. package/src/filiale/zhongsheng/pc/UserInfoAudit.vue +252 -252
  788. package/src/filiale/zhongsheng/pc/UserinfoModify.vue +121 -121
  789. package/src/filiale/zhongsheng/pc.js +15 -15
  790. package/src/filiale/zhoukou/android/AndroidDefectDeal.vue +408 -408
  791. package/src/filiale/zhoukou/android/AreaPlan.vue +543 -543
  792. package/src/filiale/zhoukou/android/CurrentCreate.vue +1014 -1014
  793. package/src/filiale/zhoukou/android/PaperFeedback.vue +1367 -1367
  794. package/src/filiale/zhoukou/android/PhoneUpUserinfo.vue +957 -957
  795. package/src/filiale/zhoukou/android/SafecheckDevices.vue +1174 -1174
  796. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  797. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  798. package/src/filiale/zhoukou/android/UploadPage.vue +301 -301
  799. package/src/filiale/zhoukou/android.js +18 -18
  800. package/src/filiale/zhoukou/pc/CheckSearchUser.vue +923 -923
  801. package/src/filiale/zhoukou/pc/PaperDefectMain.vue +531 -531
  802. package/src/filiale/zhoukou/pc.js +15 -15
  803. package/src/index.js +17 -17
  804. package/src/main.js +4 -4
  805. package/src/plugins/EmojiData.js +514 -514
  806. package/src/plugins/GerJsonConfig.js +59 -59
  807. package/src/plugins/GerJsonObjectConfig.js +44 -44
  808. package/src/plugins/LoadData.js +10 -10
  809. package/src/plugins/LoadParams.js +24 -24
  810. package/src/plugins/LocalPagedList.js +108 -108
  811. package/src/plugins/LocalPathList.js +109 -109
  812. package/src/rongcheng-android.js +193 -193
  813. package/src/rongcheng.js +304 -304
  814. package/src/safecheck-android.js +225 -225
  815. package/src/safecheck.js +723 -723
  816. package/src/shaoguan-android.js +176 -176
  817. package/src/shaoguan.js +276 -276
  818. package/src/stores/AppData.js +46 -46
  819. package/src/stores/wxconfig.js +10 -10
  820. package/src/tongchengsafe-android.js +162 -162
  821. package/src/tongchengsafecheck.js +267 -267
  822. package/src/utils/GerJsonObjectConfig.js +51 -51
  823. package/src/utils/LdapHelper.js +99 -99
  824. package/src/utils/getNowDate.js +33 -33
  825. package/test/SearchList.test.js +14 -14
  826. package/test/e2e/custom-assertions/elementCount.js +26 -26
  827. package/test/e2e/nightwatch.conf.js +40 -40
  828. package/test/e2e/runner.js +30 -30
  829. package/test/e2e/specs/test.js +13 -13
  830. package/test/unit/.eslintrc +5 -5
  831. package/test/unit/TestUtil.js +62 -62
  832. package/test/unit/context.html +20 -20
  833. package/test/unit/index.js +13 -13
  834. package/test/unit/init.js +11 -11
  835. package/test/unit/karma.conf.js +53 -53
  836. package/test/unit/specs/Devices.spec.js +18 -18
  837. package/test/unit/specs/getArrobjconfig.spec.js +104 -104
  838. package/test/unit/specs/getobjconfig.spec.js +37 -37
  839. package/test/unit/specs/phonetest/phonesafecheck.spec.js +23 -23
  840. package/test/unit/specs/safePlanItem.spec.js +30 -30
  841. package/test/unit/specs/safecheck-android.spec.js +7 -7
  842. package/test/unit/specs/safecheck.spec.js +127 -127
  843. package/yarn-error.log +140 -140
@@ -1,1308 +1,1308 @@
1
- <style scoped>
2
- .img {
3
- border: 1px solid #9773ed;
4
- width: auto;
5
- height: auto;
6
- float: left;
7
- text-align: center;
8
- margin: 6px;
9
- }
10
-
11
- img {
12
- margin: 6px;
13
- }
14
-
15
-
16
- .container {
17
- margin: 10px auto;
18
- width: 80%;
19
- height: auto;
20
- }
21
-
22
- div::-webkit-scrollbar {
23
- width: 0 !important;
24
- height: 0 !important;
25
- }
26
-
27
- div {
28
- -ms-overflow-style: none;
29
- overflow: -moz-scrollbars-none;
30
- }
31
-
32
- .divmask {
33
- pointer-events: none;
34
- }
35
-
36
- .app-header {
37
- border-radius: 50%;
38
- background: rgba(73, 158, 223, 0.4);
39
- color: #FFF;
40
- padding: 20px;
41
- text-align: center;
42
- font-size: 1.2em;
43
- z-index: 10;
44
- opacity: 0.5;
45
- bottom: 50px;
46
- margin-top: -20px;
47
- position: absolute;
48
- top: 10%;
49
- right: 2%;
50
- height: 8%;
51
- }
52
- </style>
53
-
54
- <template>
55
- <div class="basic-main" style="height: 100%">
56
- <div class="page-header app-header auto" style="padding: 15px;margin-right: 10px;right: 0%;height: 7%">
57
- <div @click="back()">
58
- <img src="../../../assets/back.png" style="margin: 0px"/>
59
- </div>
60
- </div>
61
- <work-busy :is-busy="loading"></work-busy>
62
- <div class="container-fluid" style="overflow: scroll">
63
- <div class="row">
64
- <div class="col-md-5" style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
65
- <div style="width: 100%;margin: auto">
66
- <table class="table table-striped table-bordered" style="margin-bottom: 6px">
67
- <thead>
68
- <tr>
69
- <th colspan="6" style="text-align: center">用户基本信息</th>
70
- </tr>
71
- </thead>
72
- <tbody>
73
- <tr>
74
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
75
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_userinfo_code }}</td>
76
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
77
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_user_name }}</td>
78
- </tr>
79
- <tr>
80
- <td style="text-align: center;border: #E9E9E9 solid 1px">证件号码:</td>
81
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_idnumber }}</td>
82
- <td style="text-align: center;border: #E9E9E9 solid 1px">用户类型:</td>
83
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_check_type }}</td>
84
- </tr>
85
- <tr>
86
- <td style="text-align: center;border: #E9E9E9 solid 1px">用户电话:</td>
87
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_user_phone }}</td>
88
- <td style="text-align: center;border: #E9E9E9 solid 1px">区 / 县:</td>
89
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_area }}</td>
90
- </tr>
91
- <tr>
92
- <td style="text-align: center;border: #E9E9E9 solid 1px">街 道:</td>
93
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_street }}</td>
94
- <td style="text-align: center;border: #E9E9E9 solid 1px">楼 号:</td>
95
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_building }}</td>
96
- </tr>
97
- <tr>
98
- <td style="text-align: center;border: #E9E9E9 solid 1px">单 元:</td>
99
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_unit }}</td>
100
- <td style="text-align: center;border: #E9E9E9 solid 1px">楼 层:</td>
101
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_floor }}</td>
102
- </tr>
103
- <tr>
104
- <td style="text-align: center;border: #E9E9E9 solid 1px">门 牌 号 :</td>
105
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_room }}</td>
106
- <td style="text-align: center;border: #E9E9E9 solid 1px">用户性质:</td>
107
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_userproperties }}</td>
108
- </tr>
109
- <tr>
110
- <td style="text-align: center;border: #E9E9E9 solid 1px">备注信息:</td>
111
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_comments }}</td>
112
- <td style="text-align: center;border: #E9E9E9 solid 1px">小区名称:</td>
113
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_residential_area }}</td>
114
- </tr>
115
- <tr>
116
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细住址:</td>
117
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_address }}</td>
118
- </tr>
119
- </tbody>
120
- </table>
121
- <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'">
122
- <thead>
123
- <tr>
124
- <th colspan="4" style="text-align: center">用户安检概况</th>
125
- </tr>
126
- </thead>
127
- <tbody>
128
- <tr>
129
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
130
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
131
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
132
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_offsite_time }}</td>
133
- </tr>
134
- <tr>
135
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
136
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_entry_status }}</td>
137
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">燃气使用:</td>
138
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_usegas }}</td>
139
- </tr>
140
- <tr>
141
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">用户满意度:</td>
142
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">{{
143
- paperdata.f_client_evaluation
144
- }}
145
- </td>
146
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">安检结果:</td>
147
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">{{ ajresult }}</td>
148
- </tr>
149
- <tr>
150
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">备注:</td>
151
- <td colspan="3"
152
- style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
153
- {{ paperdata.f_repair_approved_note }}
154
- </td>
155
- </tr>
156
- <tr>
157
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">隐患详情:</td>
158
- <td colspan="3"
159
- style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
160
- <span v-for="deviceCollect in deviceCollects">
161
- <span class="li-font">
162
- {{ deviceCollect.name }}:{{ deviceCollect.value }}&nbsp;&nbsp;&nbsp;
163
- </span>
164
- <br>
165
- <span v-if="deviceCollect.value == '有隐患'">
166
- <lable>
167
- 隐患:
168
- </lable>
169
- <span class="li-font" v-for="val in deviceCollect.devices">
170
- {{ val }}&nbsp;&nbsp;&nbsp;
171
- </span><br>
172
- </span>
173
-
174
- </span>
175
- </td>
176
- </tr>
177
-
178
- </tbody>
179
- </table>
180
- <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status!='入户'">
181
- <thead>
182
- <tr>
183
- <th colspan="4" style="text-align: center">用户安检概况</th>
184
- </tr>
185
- </thead>
186
- <tbody>
187
- <tr>
188
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
189
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
190
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
191
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_offsite_time }}</td>
192
- </tr>
193
- <tr>
194
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
195
- <td colspan="2" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
196
- {{ paperdata.f_entry_status }}
197
- </td>
198
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">
199
- <button-link style="color: black" type="button" class="btn btn-link" @click="showpicture2()">
200
- {{ dev.lname }}
201
- 查看{{ data.f_entry_status }}照片
202
- </button-link>
203
- </td>
204
- </tr>
205
-
206
- </tbody>
207
- </table>
208
- <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'">
209
- <thead>
210
- <tr>
211
- <th style="text-align: center">总体安检照片</th>
212
- </tr>
213
- </thead>
214
- <tbody>
215
- <tr>
216
- <td style="margin: auto;text-align: center">
217
- <div class="container" style="max-width: 550px;background: #FFFFFF">
218
- <div class="img" v-for="img in paperdata.f_overall_imgs">
219
- <img-self-safe :src="img.f_overall_path" style="float: left" width="150"
220
- height="200"></img-self-safe>
221
- </div>
222
- </div>
223
-
224
-
225
- </td>
226
-
227
- </tr>
228
- </tbody>
229
- </table>
230
- <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'">
231
- <thead>
232
- <tr>
233
- <th style="text-align: center">用户签名照片</th>
234
- </tr>
235
- </thead>
236
- <tbody>
237
- <tr>
238
- <td style="margin: auto;text-align: center">
239
- <div class="container" style="max-width: 500px;background: #FFFFFF">
240
- <div class="img" style="float: none">
241
- <img-self-safe :src="paperdata.f_sign_path" width="486" height="300"></img-self-safe>
242
- </div>
243
- </div>
244
- </td>
245
- </tr>
246
- </tbody>
247
- </table>
248
- <table class="table table-striped table-bordered" v-show="paperdata.f_notified_path">
249
- <thead>
250
- <tr>
251
- <th style="text-align: center">安检通知单/隐患整改单</th>
252
- </tr>
253
- </thead>
254
- <tbody>
255
- <tr>
256
- <td style="margin: auto;text-align: center">
257
- <div class="container" style="max-width: 500px;background: #FFFFFF">
258
- <div class="img" style="float: none">
259
- <img-self-safe :src="paperdata.f_notified_path" width="486" height="300"></img-self-safe>
260
- </div>
261
- </div>
262
- </td>
263
- </tr>
264
- </tbody>
265
- </table>
266
- <table class="table table-striped table-bordered" v-show="paperdata.f_client_evaluation">
267
- <thead>
268
- <tr>
269
- <th style="text-align: center">请对我们的服务做出评价</th>
270
- </tr>
271
- </thead>
272
- <tbody>
273
- <tr>
274
- <td style="margin: auto;text-align: center">
275
- <div class="container" style="max-width: 500px;background: #FFFFFF">
276
- <div colspan="2" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%;margin-left: 154px">
277
-
278
- {{ paperdata.f_client_evaluation }}
279
- </div>
280
- </div>
281
- </td>
282
- </tr>
283
- </tbody>
284
- </table>
285
-
286
- <!-- <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'&& item.f_recording1_path && isRecodrDownloadBtn">-->
287
- <!-- <thead>-->
288
- <!-- <tr>-->
289
- <!-- <th style="text-align: center">录音文件</th>-->
290
- <!-- </tr>-->
291
- <!-- </thead>-->
292
- <!-- <tbody>-->
293
- <!-- <tr>-->
294
- <!-- <td style="margin: auto;text-align: center">-->
295
- <!-- <div class="container" style="max-width: 500px;background: #FFFFFF">-->
296
- <!-- <a class="button_spacing button_search-1" :download="item.f_user_name+'-'+item.f_check_type+'-'+录音文件.arm"-->
297
- <!-- :href="'rs/image/file/'+item.f_recording1_path" >录音下载</a>-->
298
- <!-- </div>-->
299
- <!-- </td>-->
300
- <!-- </tr>-->
301
- <!-- </tbody>-->
302
- <!-- </table>-->
303
- </div>
304
- </div>
305
- <div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
306
- <div class="col-md-6" style="height: 100%;overflow: scroll">
307
- <div style="width: 95%;margin-left: 5%">
308
- <table class="table table-striped table-bordered" v-for="config in deviceconfig2">
309
- <thead v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
310
- <tr>
311
- <th style="text-align: center">{{ config.checkname }}</th>
312
- </tr>
313
- </thead>
314
- <tbody v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
315
- <tr v-for="dev in config.items">
316
- <td v-if="dev.type!='text'">
317
- <div class="row">
318
- <div class="col-md-8" style="text-align: center;">
319
- <label>
320
- <button-link type="button" class="btn btn-link" @click="showpicture(config.checkname,dev.lname)"
321
- :style="isred(config.checkname,dev.lname)?'color:red':'color:black'">
322
- {{ dev.lname }}
323
- </button-link>
324
- </label>
325
- </div>
326
- <div class="col-md-4" style="text-align: center">
327
- <label style="font-weight: normal"
328
- v-if="dev.type!='picture'">{{ getDeviceValue(config.checkname, dev.lname) ? getDeviceValue(config.checkname, dev.lname) : '无' }}</label>
329
- <label style="font-weight: normal" v-if="dev.type=='picture'">
330
- <div v-show="getDevicePath(config.checkname,dev.lname)">
331
- <button-link style="color: black" type="button" class="btn btn-link"
332
- @click="showpath(getDevicePath(config.checkname,dev.lname),dev.lname)">查看照片
333
- </button-link>
334
- </div>
335
- <div v-show="!getDevicePath(config.checkname,dev.lname)">无照片</div>
336
- </label>
337
- </div>
338
- </div>
339
- </td>
340
- <td v-if="dev.type==='text'">
341
- <label style="width: 100%;text-align: center">{{ dev.lname }}</label>
342
- </td>
343
- </tr>
344
- </tbody>
345
- </table>
346
- </div>
347
- </div>
348
-
349
- </div>
350
- </div>
351
- </div>
352
- <modal :show.sync="imgshow" v-ref:modal backdrop="true">
353
- <header slot="modal-header" class="modal-header">
354
- {{ picturename }}
355
- </header>
356
- <article slot="modal-body" class="modal-body">
357
- <div class="from-group">
358
- <div class="row">
359
- <div class="col-md-6">
360
- <img-self-safe v-if="showimg1" :src="showimg1" width="300" height="400"></img-self-safe>
361
- </div>
362
- <div class="col-md-6">
363
- <img-self-safe v-if="showimg2" :src="showimg2" width="300" height="400"></img-self-safe>
364
- </div>
365
- </div>
366
- </div>
367
- </article>
368
- <footer slot="modal-footer" class="modal-footer" v-show="false">
369
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
370
- </footer>
371
- </modal>
372
- <modal :show.sync="imgshow2" v-ref:modal backdrop="true">
373
- <header slot="modal-header" class="modal-header">
374
- {{ paperdata.f_entry_status }}照片
375
- </header>
376
- <article slot="modal-body" class="modal-body">
377
- <div class="from-group">
378
- <div class="row">
379
- <div class="col-md-6">
380
- <img-self-safe v-if="this.paperdata.f_entry_status=='到访不遇'" :src="showimg3" width="300"
381
- height="400"></img-self-safe>
382
- </div>
383
- <div class="col-md-6">
384
- <img-self-safe v-if="this.paperdata.f_entry_status=='拒检'" :src="showimg4" width="300"
385
- height="400"></img-self-safe>
386
- </div>
387
- </div>
388
- </div>
389
- </article>
390
- <footer slot="modal-footer" class="modal-footer" v-show="false">
391
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
392
- </footer>
393
- </modal>
394
- </template>
395
-
396
- <script>
397
- // import PaperUserm from './PaperUserm'
398
- // import PaperStatem from './PaperStatem'
399
- // import Devicesm from './Devicesm'
400
- // import PaperFeedbackm from './PaperFeedbackm'
401
- import ObjConfig from '../../../utils/GerJsonObjectConfig'
402
- import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
403
- import Radio from 'vue-client/src/vue-strap/src/radioBtn'
404
- import Vue from 'vue'
405
- import * as Util from '../../Util'
406
- import {jsonSort} from '../../../utils/LdapHelper'
407
- import {HttpResetClass} from "vue-client";
408
-
409
- let asyncReady = async function (self) {
410
- // 获取配置信息
411
- try {
412
- let res = await new HttpResetClass().load('post', 'rs/sql/tel_singleTable_OrderBy', {
413
- data: {
414
- items: 'f_dir',
415
- tablename: 't_organization',
416
- condition: `id = '${self.item.f_filialeid}'`,
417
- orderitem: 'id'
418
- }
419
- })/*.then(res=>{*/
420
- console.log("aaaaaaaaaaaaaaaa")
421
- console.log(JSON.stringify(res.data[0].f_dir))
422
- if (!res.data[0].f_dir) {
423
- self.$showMessage("该公司无组织目录,无法获取配置文件,请联系管理员确认")
424
- } else {
425
- //this.f_dir=res.data[0].f_dir
426
- try {
427
- let res1 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
428
- resolveMsg: '获取居民配置项成功!',
429
- rejectMsg: '获取居民配置项出错!'
430
- })/*.then(res=>{*/
431
- console.log('111111111111居民===>', res1.data)
432
- //this.safeConfig["民用配置项"]=Object.assign({},res.data)
433
- Vue.config.safecheck.DevicesConfig = res1.data
434
- /*})*/
435
- let res2 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesSetConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
436
- resolveMsg: '获取非居民配置项成功!',
437
- rejectMsg: '获取非居民配置项出错!'
438
- })/*.then(res=>{*/
439
- console.log('22222222222222非居民===>', res2.data)
440
- //this.safeConfig["非民用配置项"]=Object.assign({},res.data)
441
- Vue.config.safecheck.DevicesSetConfig = res2.data
442
- /*}).then(res=> {
443
- })*/
444
-
445
- } catch (e) {
446
- self.$showMessage("获取配置文件失败" + e)
447
- }
448
- }
449
- } catch (error) {
450
- // 忽略704,文件找不到异常R
451
- if (error.status !== 704) {
452
- throw error
453
- }
454
- }
455
- }
456
- export default {
457
- title: '安检单',
458
- props: ['f_plan_id', 'item', 'role'],
459
- data() {
460
- return {
461
- data: {
462
- f_devices: [],
463
- f_defect_content: ''
464
- },
465
- paperdata: {},
466
- picturename: '隐患照片',
467
- defectDevice: {},
468
- hasDevice: false,
469
- deviceCollect: {},
470
- deviceCollects: [],
471
- isshow: false,
472
- ajresult: '',
473
- loading: true,
474
- imgshow: false,
475
- imgshow2: false,
476
- isUpload: false,
477
- livedispose: '',
478
- showimg1: '',
479
- showimg2: '',
480
- showimg3: '',
481
- showimg4: '',
482
- startClick: false, //开始安检按钮是否可点击
483
- isStrat: false, //是否开始安检
484
- checkResult: {},//查询结果
485
- newcheckResult: {},
486
- timer: null,
487
- showModal: false,
488
- pic_to_be_viewed: '',
489
- showBack: true,
490
- devices: [],
491
- devicesAll: [],
492
- configAJ: [],
493
- configRQ: [],
494
- deviceconfig: {},
495
- deviceconfig2: [],
496
- f_devices: [],
497
- config: {
498
- "燃气表": {
499
- "checkmust": true,
500
- "index": 1,
501
- "items": {
502
- //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
503
- "基表编号":{"index":1,"type":"string","readonly":true},
504
- "气表型号":{"index":2,"type":"string","readonly":true},
505
- "气表品牌":{"index":3,"type":"string","readonly":true},
506
- "气表方向":{"index":4,"type":"selector","options":[{"data":"左表","isdefault":false},{"data":"右表","isdefault":false}],"checkmust": true,"readonly": true},
507
- "初始表底":{"index":5,"type":"number","readonly":true},
508
- "上期表读数":{"index":6,"type":"number","readonly":true},
509
- "累购气量":{"index":7,"type":"number","readonly":true},
510
- "已用气量":{"index":8,"type":"number","checkmust": false,"readonly": true},//基表数
511
- "剩余气量":{"index":9,"type":"number","checkmust": false,"readonly": true},//累购-已用
512
- "气量异常差值":{"index":10,"type":"number","readonly": true},
513
- "表封号":{"index":11,"type":"string","readonly": true},
514
- "卡号":{"index":12,"type":"string","readonly": true}
515
- }
516
- // 注意,配置项的index必须与上面的固定配置保持'顺序'
517
- }
518
- },
519
- //金额
520
- config2: {
521
- "燃气表": {
522
- "checkmust": true,
523
- "index": 1,
524
- "items": {
525
- //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
526
- "基表编号":{"index":1,"type":"string","readonly":true},
527
- "气表型号":{"index":2,"type":"string","readonly":true},
528
- "气表品牌":{"index":3,"type":"string","readonly":true},
529
- "气表方向":{"index":4,"type":"selector","options":[{"data":"左表","isdefault":false},{"data":"右表","isdefault":false}],"checkmust": true,"readonly": true},
530
- "初始表底":{"index":5,"type":"number","readonly":true},
531
- "上期表读数":{"index":6,"type":"number","readonly":true},
532
- "累购金额":{"index":7,"type":"number","readonly":true},
533
- "已用金额":{"index":8,"type":"number","checkmust": false,"readonly":true},
534
- //显示屏数 --实际剩余气量
535
- "剩余金额":{"index":9,"type":"number","checkmust": false,"readonly":true},
536
- "金额异常差值":{"index":10,"type":"number","readonly": true},
537
- "表封号":{"index":11,"type":"string","readonly": true},
538
- "卡号":{"index":12,"type":"string","readonly": true}
539
- }
540
- }
541
- },
542
- }
543
- },
544
- components: {
545
- RadioGroup,
546
- Radio,
547
- },
548
- computed: {
549
- isRecodrDownloadBtn(){
550
- // 投诉单下派还是处理
551
- let res = this.$appdata.getSingleValue('无限制录音');
552
- if (res == 'true'){
553
- return true;
554
- }else {
555
- return false;
556
- }
557
- },
558
- selector: {
559
- get() {
560
- return 'paper-state'
561
- },
562
- set(val) {
563
- if (this.isStrat) {
564
- debugger;
565
- this.$goto(val, {userinfo: this.data}, 'paper-router')
566
- } else {
567
- this.$showMessage('未开始安检!')
568
- }
569
- }
570
- },
571
- actionEnabled: {
572
- get() {
573
- return this.role == 'inspect'
574
- }
575
- }
576
- },
577
- methods: {
578
- devicesCollect() {
579
- console.log("4444444")
580
- console.log(JSON.stringify(this.config))
581
- console.log(JSON.stringify(this.deviceconfig2))
582
- console.log("4444444")
583
-
584
- this.deviceCollects = []
585
- let checkResult = '正常'
586
- this.result = '正常'
587
- let codata = JSON.parse(JSON.stringify(this.data))
588
- console.log("111111111111" + JSON.stringify(codata))
589
- for (let device in this.data) {
590
- let f_device_type
591
- if (device.startsWith("device")) {
592
- for (let item in this.data[device]) {
593
- if (this.data[device].length > 1) {
594
- let j = Number.parseInt(item) + 1
595
- f_device_type = `${this.data[device][item].f_device_type}${j}`
596
- } else {
597
- f_device_type = this.data[device][item].f_device_type
598
- }
599
- // console.log('codata[device][item]=>',codata[device][item])
600
- let deviceInfos = []
601
- for (let i in this.data[device][item].f_items) {
602
- let defects = ''
603
- let items = this.data[device][item].f_items[i]
604
- if ((items.type === 'selector' || items.type === 'radio' || items.type === 'checkbox') && items.f_item_value != null && items.f_item_value instanceof Array) {
605
- for (let i in items.f_item_value) {
606
- let f_item_value = items.f_item_value[i]
607
-
608
- console.log('f_item_value => ' + JSON.stringify(f_item_value))
609
- console.log('f_device_type => ' + JSON.stringify(f_device_type))
610
- console.log('this.paper[device][item] => ' + JSON.stringify(this.data[device][item]))
611
- console.log('this.config[this.paper[device][item].f_device_type] => ' + JSON.stringify(this.config[this.data[device][item].f_device_type]))
612
- if (!this.config[this.data[device][item].f_device_type].items[items.f_item_name]) {
613
- continue
614
- }
615
- let options = this.config[this.data[device][item].f_device_type].items[items.f_item_name].options
616
- for (let option in options) {
617
- if (options[option].data == f_item_value) {
618
- if (options[option].isdefect == 'true' || options[option].isdefect == true) {
619
- checkResult = '有隐患'
620
- this.result = '有隐患'
621
- defects = `${defects}:${options[option].data}/`
622
- // let level = options[option].level
623
- }
624
- }
625
- }
626
- console.log('defects=====>' + JSON.stringify(defects))
627
- }
628
- if (defects != '') {
629
- deviceInfos.push(`${items.f_item_name}${defects.substring(0, defects.length - 1)}`)
630
- }
631
- } else if (items.type === 'stringp') {
632
- checkResult = '有隐患'
633
- this.result = '有隐患'
634
- deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
635
- } else if (items.f_item_name == '金额异常差值') {
636
- var deviation = this.$appdata.getSingleValue('金额异常差值允许误差')
637
- console.log(items.f_item_value[0] + '金额异常差值允许误差' + deviation)
638
- if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
639
- if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
640
- checkResult = '有隐患'
641
- this.result = '有隐患'
642
- deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
643
- }
644
- }
645
- } else if (items.f_item_name == '气量异常差值') {
646
- var deviation = this.$appdata.getSingleValue('气量异常差值允许误差')
647
- console.log(items.f_item_value[0] + '气量异常差值允许误差' + deviation)
648
- if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
649
- if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
650
- checkResult = '有隐患'
651
- this.result = '有隐患'
652
- deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
653
- }
654
- }
655
- }
656
- console.log('deviceInfos========>' + JSON.stringify(deviceInfos))
657
- console.log('items.f_is_defect')
658
- console.log(items.f_is_defect)
659
- if (items.type === 'selector') {
660
- items.selected = []
661
- } else if (items.type === 'inputSelector') {
662
- items.selected = ''
663
- }
664
- }
665
-
666
-
667
- console.log('deviceCollect', this.deviceCollect)
668
- this.$set('deviceCollect.name', f_device_type)
669
- this.$set('deviceCollect.value', checkResult)
670
- this.$set('deviceCollect.devices', deviceInfos)
671
- console.log("5555555555" + JSON.stringify(this.deviceCollect))
672
- if (this.deviceCollect.name) {
673
- console.log("999999998888888" + this.deviceCollect.name)
674
- this.deviceCollects.push(JSON.parse(JSON.stringify(this.deviceCollect)))
675
- }
676
-
677
- checkResult = '正常'
678
- this.deviceCollect = {}
679
- }
680
- }
681
- }
682
- if (this.deviceCollects.length > 0) {
683
- this.hasDevice = true
684
- }
685
- this.ajresult = JSON.parse(this.data.f_defect_content).result
686
- this.showimg3 = this.data.f_noanswer_path
687
- this.showimg4 = this.data.f_rejectcheck_path
688
- this.paperdata = this.data
689
- this.loading = false
690
- },
691
- imgclose() {
692
- this.imgshow = false
693
- },
694
- putDevices() {
695
- //console.log('Vue.config.safecheck', Vue.config.safecheck.safetype)
696
- this.$set('data.approve', "true")
697
- this.$set('data.writeback', "false")
698
- if (Vue.config.safecheck.ApproveConfig != undefined) {
699
- if (Vue.config.safecheck.ApproveConfig.approve != undefined) {
700
- this.$set('data.approve', Vue.config.safecheck.ApproveConfig.approve)
701
- }
702
- if (Vue.config.safecheck.ApproveConfig.writeback != undefined) {
703
- this.$set('data.writeback', Vue.config.safecheck.ApproveConfig.writeback)
704
- }
705
- if (Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
706
- this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
707
- }
708
- }
709
- console.log('当前安检类型----' + this.item.f_safecheck_type)
710
-
711
- console.log(JSON.stringify(this.data))
712
- if (!this.item.f_safecheck_type) {
713
- this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType['年度普检'][this.item.f_check_type]])
714
- } else {
715
- if (Vue.config.safecheck.DevicesConfig != undefined)
716
- this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_check_type]])
717
- }
718
- //遍历安检项配置
719
- for (let i in this.config) {
720
- //取得安检项索引值
721
- let n = this.config[i].index
722
- this.devices[n - 1] = {device: i, n: n, checkmust: this.config[i].checkmust}
723
- this.$set('data.' + 'device' + n, [])
724
- let items = []
725
- for (let it in this.config[i].items) {
726
- //赋值下拉选项
727
- if (this.config[i].items[it].type == 'selector') {
728
- for (let op in this.config[i].items[it].options)
729
- if (this.config[i].items[it].options[op].isdefault == true) {
730
- items.push({
731
- f_defect_level: this.config[i].items[it].options[op].level,
732
- f_is_defect: this.config[i].items[it].options[op].isdefect,
733
- f_item_name: it,
734
- f_item_value: this.config[i].items[it].options[op].data,
735
- f_path: "",
736
- type: "selector"
737
- })
738
- }
739
- }
740
- }
741
- n = n + 1
742
- }
743
-
744
- },
745
- showpath(val1, val2) {
746
- console.log("555555555555555555")
747
- console.log(val1)
748
- if (val1) {
749
- this.showimg1 = val1
750
- this.picturename = val2
751
- this.imgshow = true
752
- }
753
- },
754
- showpicture(val1, val2) {
755
- console.log("77777777777777")
756
- if (val2 == '气量异常差值' || val2 == '金额异常差值') {
757
- return
758
- }
759
- for (let i = 0; i < this.devicesAll.length; i++) {
760
- for (let j = 0; j < this.devicesAll[i].length; j++) {
761
- if (this.devicesAll[i][j].f_device_type == val1) {
762
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
763
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
764
- if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
765
- return false
766
- } else {
767
- this.showimg1 = this.devicesAll[i][j].f_items[k].f_path
768
- this.showimg2 = this.devicesAll[i][j].f_items[k].f_second_path
769
- this.picturename = '隐患照片'
770
- this.imgshow = true
771
- return true
772
- }
773
- }
774
- }
775
-
776
- }
777
- }
778
- }
779
- },
780
- isred(val1, val2) {
781
- console.log("77777777777777")
782
- if (val2 == '气量异常差值' || val2 == '金额异常差值') {
783
- return
784
- }
785
- for (let i = 0; i < this.devicesAll.length; i++) {
786
- for (let j = 0; j < this.devicesAll[i].length; j++) {
787
- if (this.devicesAll[i][j].f_device_type == val1) {
788
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
789
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
790
- if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
791
- return false
792
- } else {
793
- return true
794
- }
795
- }
796
- }
797
-
798
- }
799
- }
800
- }
801
- },
802
- showpicture2() {
803
- this.imgshow2 = true
804
- },
805
- getDeviceValue(val1, val2) {
806
- let aa = ''
807
- for (let i = 0; i < this.devicesAll.length; i++) {
808
- for (let j = 0; j < this.devicesAll[i].length; j++) {
809
- if (this.devicesAll[i][j].f_device_type == val1) {
810
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
811
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
812
- if (this.devicesAll[i][j].f_items[k].f_item_lists[0]) {
813
- for (let l = 0; l < this.devicesAll[i][j].f_items[k].f_item_lists.length; l++) {
814
- aa += this.devicesAll[i][j].f_items[k].f_item_lists[l].f_item_value + ' '
815
- }
816
- return aa
817
- }
818
- }
819
- }
820
-
821
- }
822
- }
823
- }
824
-
825
- },
826
- getDevicePath(val1, val2) {
827
- for (let i = 0; i < this.devicesAll.length; i++) {
828
- for (let j = 0; j < this.devicesAll[i].length; j++) {
829
- if (this.devicesAll[i][j].f_device_type == val1) {
830
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
831
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
832
- return this.devicesAll[i][j].f_items[k].f_path
833
- }
834
- }
835
-
836
- }
837
- }
838
- }
839
-
840
- },
841
- getDeviceAll() {
842
- let keyall = Object.keys(this.data)
843
- for (let i = 0; i < keyall.length; i++) {
844
- console.log(JSON.stringify(keyall))
845
- if (keyall[i].startsWith('device') && keyall[i] != 'deviceundefined') {
846
- this.devicesAll.push(this.data[keyall[i]])
847
- console.log(keyall[i])
848
- }
849
- }
850
- console.log("666666666666666666")
851
- console.log(JSON.stringify(this.devicesAll))
852
- this.devicesCollect()
853
-
854
- },
855
-
856
- back() {
857
- if (this.role == 'inspect') {
858
- if (!this.isStrat) {
859
- this.$back()
860
- return
861
- } else {
862
- this.savePaper(true).then(() => {
863
- this.$back()
864
- this.isStrat = false
865
- })
866
- }
867
- } else {
868
- this.$back()
869
- }
870
- },
871
- checkIsStart() {
872
- alert('asdad')
873
- return
874
- },
875
-
876
- viewPic(fileName) {
877
- console.log('view pic: ' + fileName)
878
- if (this.role == 'view') {
879
- if (!fileName.endsWith('nopic.png')) {
880
- this.pic_to_be_viewed = fileName
881
- this.showModal = true
882
- }
883
- } else {
884
- HostApp.viewPic(fileName)
885
- }
886
- },
887
- tick() {
888
- this.timer = null
889
- this.data.f_offsite_time = Util.toStandardTimeString()
890
- this.timer = window.setTimeout(this.tick, 1000)
891
- },
892
- getRepairState() {
893
- let repaired = true
894
- this.data.f_defects.forEach((defect) => {
895
- repaired = repaired & (defect.f_ratification == '已处理')
896
- })
897
- return repaired
898
- },
899
- verifyRepairDefects() {
900
- this.data.f_repair_date = Util.toStandardTimeString()
901
- this.data.f_repaired = this.getRepairState() ? '已修' : '在修'
902
- },
903
- genuineSave(saveOnly) {
904
- HostApp.__this__.save(saveOnly)
905
- if (!saveOnly)
906
- HostApp.__this__.disableTimer()
907
- HostApp.__callback__ = null
908
- HostApp.__this__ = null
909
- },
910
- setUrgency() {
911
- this.data.f_defect_urgency = 'Z'
912
- let that = this
913
- this.data.f_defects.forEach(function (defect) {
914
- if (that.data.f_defect_urgency > defect.f_defect_level.charAt(0))
915
- that.data.f_defect_urgency = defect.f_defect_level.charAt(0)
916
- })
917
- if (this.data.f_defect_urgency == 'Z')
918
- this.data.f_defect_urgency = null
919
- },
920
- disableTimer() {
921
- if (this.timer) {
922
- window.clearTimeout(this.timer)
923
- this.timer = null
924
- }
925
- },
926
- loaded(paper) {
927
- if (!paper.hasOwnProperty('id')) {
928
- this.$showMessage("该安检单在手机上已经不存在,可能是卸载过程序。可以进入重新安检,或返回安检计划。")
929
- this.init()
930
- } else {
931
- Util.booleanFilter(paper)
932
- HostApp.__this__.$set('data', paper)
933
- HostApp.__this__.$goto('paper-state', {}, 'paper-router')
934
- // 如果打回重检则重新计时
935
- console.log('HostApp.__this__.role' + HostApp.__this__.role + ' HostApp.__this__.f_approved:' + HostApp.__this__.data.f_approved)
936
- if (HostApp.__this__.role == 'inspect'
937
- && HostApp.__this__.data.f_approved
938
- && HostApp.__this__.data.f_approved == '打回') {
939
- console.log('打回')
940
- HostApp.__this__.data.f_onsite_time = Util.toStandardTimeString()
941
- HostApp.__this__.tick()
942
- }
943
- }
944
- HostApp.__callback__ = null
945
- HostApp.__this__ = null
946
- },
947
- S4() {
948
- return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
949
- },
950
- init() {
951
- this.data.f_noplan_item_id = this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4()
952
- this.data.ename = Vue.user.ename
953
- this.data.f_outlets = Vue.user.f_parentname
954
- this.data.f_meetunit = Vue.user.orgpathnames
955
- this.data.orgpathstr = Vue.user.orgpathstr
956
- this.data.f_check_item_id = this.item.id
957
- this.data.f_check_plan_id = this.f_plan_id
958
- this.data.f_checker_id = Vue.user.id
959
- this.data.f_checker_name = Vue.user.name
960
- this.data.f_check_type = this.item.f_user_type
961
- this.data.f_subcompany = this.item.f_subcompany
962
- this.data.f_approved = this.item.f_approved
963
- this.data.f_repair_approved = this.item.f_repair_approved
964
- this.data.f_no_checkplan = this.item.f_no_checkplan
965
- this.data.f_approved = this.item.f_approved
966
- this.data.f_filialeid = this.item.f_filialeid
967
- this.data.f_orgstr = this.item.f_orgstr
968
- this.data.version = this.item.version
969
- this.$set('data.f_meters', this.item.f_plan_meters)
970
- this.$set('data.f_userinfo_code', this.item.f_userinfo_code)
971
- // 安检状态
972
- this.$set('data.f_entry_status', '入户')
973
- this.$set('data.f_usegas', '已使用')
974
- this.$set('data.f_state', this.item.f_state)
975
- // 用户信息
976
- this.$set('data.f_user_name', this.item.f_user_name)
977
- this.$set('data.f_user_phone', this.item.f_user_phone)
978
- this.$set('data.f_userinfoid', this.item.f_userinfoid)
979
- this.$set('data.f_address', this.item.f_address)
980
- this.$set('data.f_card_id', this.item.f_card_id)
981
- this.$set('data.f_area', this.item.f_area)
982
- this.$set('data.f_street', this.item.f_street)
983
- this.$set('data.f_room', this.item.f_room)
984
- this.$set('data.f_building', this.item.f_building)
985
- this.$set('data.f_unit', this.item.f_unit)
986
- this.$set('data.f_floor', this.item.f_floor)
987
- this.$set('data.f_residential_area', this.item.f_residential_area)
988
- this.$set('data.f_idnumber', this.item.f_idnumber)
989
- this.$set('data.f_comments', this.item.f_comments)
990
- this.$set('data.f_userproperties', this.item.f_userproperties)
991
- // 处置方式
992
- this.$set('data.f_no_gas_device', false)
993
- this.$set('data.f_close_valve', false)
994
- this.$set('data.f_unload_battery', false)
995
- if (this.data.f_check_item_id == '' && this.item.f_no_checkplan == '无计划安检') {
996
- this.data.f_check_item_id = this.data.f_noplan_item_id
997
- }
998
-
999
- //房屋结构
1000
- // this.$set('data.f_room_style', '多层')
1001
- //供暖方式
1002
- // this.$set('data.f_heating_style', '热力公司集中供暖')
1003
- if (this.item.f_plan_meters) {
1004
- for (let de in this.devices) {
1005
- this.$set('data.device' + this.devices[de].n, [])
1006
- for (let i = 0; i < this.item.f_plan_meters.length; i++) {
1007
- if (this.item.f_plan_meters[i].f_meter_type) {
1008
- if (this.devices[de].device == "燃气表" &&
1009
- this.item.f_plan_meters[i].f_meter_type.indexOf('机表') > 0) {
1010
- delete this.config['燃气表']['items']['累计购气量']
1011
- this.data['device' + this.devices[de].n].push({
1012
- f_device_type: "燃气表",
1013
- f_items: [{
1014
- f_defect_level: null,
1015
- f_device_id: "",
1016
- f_is_defect: "",
1017
- f_item_name: "表品牌",
1018
- f_item_value: this.item.f_plan_meters[i].f_aliasname,
1019
- f_path: "",
1020
- type: "string"
1021
- },
1022
- {
1023
- f_defect_level: null,
1024
- f_device_id: "",
1025
- f_is_defect: "",
1026
- f_item_name: "位置",
1027
- f_item_value: this.item.f_plan_meters[i].f_weizhi,
1028
- f_path: "",
1029
- type: "selector"
1030
- },
1031
- {
1032
- f_defect_level: null,
1033
- f_device_id: "",
1034
- f_is_defect: "",
1035
- f_item_name: "表号",
1036
- f_item_value: this.item.f_plan_meters[i].f_meter_no,
1037
- f_path: "",
1038
- type: "number"
1039
- },
1040
- {
1041
- f_defect_level: null,
1042
- f_device_id: "",
1043
- f_is_defect: "",
1044
- f_item_name: "表封号",
1045
- f_item_value: this.item.f_plan_meters[i].f_metertitles,
1046
- f_path: "",
1047
- type: "number"
1048
- },
1049
- {
1050
- f_defect_level: null,
1051
- f_device_id: "",
1052
- f_is_defect: "",
1053
- f_item_name: "表型号",
1054
- f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1055
- f_path: "",
1056
- type: "selector"
1057
- },
1058
- {
1059
- f_defect_level: null,
1060
- f_device_id: "",
1061
- f_is_defect: "",
1062
- f_item_name: "表底数",
1063
- f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1064
- f_path: "",
1065
- type: "number"
1066
- }
1067
- ]
1068
- })
1069
- } else if (this.devices[de].device == "燃气表") {
1070
- delete this.config['燃气表']['items']['表底数']
1071
- this.data['device' + this.devices[de].n].push({
1072
- f_device_type: "燃气表",
1073
- f_items: [{
1074
- f_defect_level: null,
1075
- f_device_id: "",
1076
- f_is_defect: "",
1077
- f_item_name: "表品牌",
1078
- f_item_value: this.item.f_plan_meters[i].f_aliasname,
1079
- f_path: "",
1080
- type: "string"
1081
- },
1082
- {
1083
- f_defect_level: null,
1084
- f_device_id: "",
1085
- f_is_defect: "",
1086
- f_item_name: "位置",
1087
- f_item_value: this.item.f_plan_meters[i].f_weizhi,
1088
- f_path: "",
1089
- type: "selector"
1090
- },
1091
- {
1092
- f_defect_level: null,
1093
- f_device_id: "",
1094
- f_is_defect: "",
1095
- f_item_name: "表号",
1096
- f_item_value: this.item.f_plan_meters[i].f_meter_no,
1097
- f_path: "",
1098
- type: "number"
1099
- },
1100
- {
1101
- f_defect_level: null,
1102
- f_device_id: "",
1103
- f_is_defect: "",
1104
- f_item_name: "表封号",
1105
- f_item_value: this.item.f_plan_meters[i].f_metertitles,
1106
- f_path: "",
1107
- type: "number"
1108
- },
1109
- {
1110
- f_defect_level: null,
1111
- f_device_id: "",
1112
- f_is_defect: "",
1113
- f_item_name: "表型号",
1114
- f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1115
- f_path: "",
1116
- type: "selector"
1117
- },
1118
- {
1119
- f_defect_level: null,
1120
- f_device_id: "",
1121
- f_is_defect: "",
1122
- f_item_name: "累计购气量",
1123
- f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1124
- f_path: "",
1125
- type: "number"
1126
- }
1127
- ]
1128
- })
1129
- }
1130
- }
1131
- }
1132
- }
1133
- }
1134
-
1135
- this.$goto('paper-state', {}, 'paper-router')
1136
- },
1137
- extend(initalObj, finalObj) {
1138
- var obj = finalObj || {};
1139
- for (var i in initalObj) {
1140
- var prop = initalObj[i];
1141
-
1142
- // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
1143
- if (prop === obj) {
1144
- continue;
1145
- }
1146
-
1147
- if (typeof prop === 'object') {
1148
- if (obj[i]) {
1149
- this.extend(obj[i], prop)
1150
- } else {
1151
- obj[i] = prop;
1152
- }
1153
- }
1154
- }
1155
- return obj;
1156
- },
1157
- //获取当前时间
1158
- getNowFormatDate() {
1159
- var date = new Date();
1160
- var seperator1 = "-";
1161
- var seperator2 = ":";
1162
- var month = date.getMonth() + 1;
1163
- var strDate = date.getDate();
1164
- if (month >= 1 && month <= 9) {
1165
- month = "0" + month;
1166
- }
1167
- if (strDate >= 0 && strDate <= 9) {
1168
- strDate = "0" + strDate;
1169
- }
1170
- var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1171
- + " " + date.getHours() + seperator2 + date.getMinutes()
1172
- + seperator2 + date.getSeconds();
1173
- return currentdate;
1174
- }
1175
- },
1176
- ready() {
1177
-
1178
- this.putDevices()
1179
- if (this.item.f_state != '未检' || this.item.f_no_checkplan == '无计划安检') {
1180
- if (this.role != 'inspect') {
1181
- let that = this
1182
- let id
1183
- if (this.role == 'view') {
1184
- id = this.item.id
1185
- } else if (this.role == 'androidview') {
1186
- id = this.item.f_paper_id
1187
- }
1188
- let isxianfeng = false; //是否是先锋集中器气表品牌
1189
-
1190
- this.$resetpost(`rs/path/getUserinfomation`, {data: {condition: `id = '${id}'`}}).then((respanse) => {
1191
- console.log('result....', respanse)
1192
- if (respanse.data.length != 0) {
1193
- // 包含 其它 特殊处理的数组
1194
- // 对应位置
1195
-
1196
- console.log('devices => ', respanse.data[0])
1197
-
1198
- that.data = Object.assign(that.data, respanse.data[0])
1199
- if (respanse.data[0].f_devices) {
1200
- for (let da in that.devices) {
1201
- that.$set('data.device' + that.devices[da].n, [])
1202
- }
1203
- respanse.data[0].f_devices.forEach((item) => {
1204
- for (let de in that.devices) {
1205
-
1206
- if (that.devices[de].device == item.f_device_type) {
1207
- item.f_items.forEach((f_item) => {
1208
- console.log('f_item====>', f_item)
1209
- console.log('f_item.f_path====>', f_item.f_path)
1210
- let itemValues = []
1211
- f_item.f_item_lists.forEach((tempItem) => {
1212
- console.log('emm => ', f_item.f_item_name, ' ', tempItem.f_item_value)
1213
- if (tempItem.f_item_value !== 'null') {
1214
- itemValues.push(tempItem.f_item_value)
1215
- //判断是否为先锋集中器
1216
- debugger
1217
- if (f_item.f_item_name=='气表品牌' && tempItem.f_item_value!=null && tempItem.f_item_value=='先锋集中器' ) {
1218
- isxianfeng = true;
1219
- }
1220
- if (f_item.f_item_name=='气表品牌' && tempItem.f_item_value!=null && tempItem.f_item_value!='先锋集中器' ) {
1221
- isxianfeng = false;
1222
- }
1223
- }
1224
- })
1225
- f_item.f_item_value = itemValues
1226
- })
1227
- that.data['device' + that.devices[de].n].push({
1228
- f_device_type: item.f_device_type,
1229
- f_items: item.f_items
1230
- })
1231
- }
1232
- }
1233
- })
1234
- }
1235
- Util.replaceFalse(that.data)
1236
- Util.booleanFilter(that.data)
1237
- if (this.role == 'view') {
1238
- Util.ratifyPics(that.data)
1239
- Util.ratifyPics(that.picture)
1240
- } else {
1241
- Util.androidRatifyPics(that.data, this.$androidUtil.getProxyUrl())
1242
- }
1243
- console.log("that.data:", that.data)
1244
- }
1245
- // this.$goto('paper-message-blank', {userinfo:this.data,devices:this.devices,config:this.config,role:this.role}, 'self')
1246
- this.isshow = true
1247
- asyncReady(this).then(() => {
1248
- console.log("66666666666")
1249
- console.log(JSON.stringify(this.data))
1250
- if (this.data.f_check_type == '民用') {
1251
- this.deviceconfig = Vue.config.safecheck.DevicesConfig
1252
- console.log("deviceconfig1==>" + JSON.stringify(this.deviceconfig))
1253
- } else if (this.data.f_check_type == '非民用') {
1254
- this.deviceconfig = Vue.config.safecheck.DevicesSetConfig
1255
- console.log("deviceconfig2==>" + JSON.stringify(this.deviceconfig))
1256
- }
1257
- if (this.data.f_collection_type == '按金额'&& !isxianfeng) {
1258
- let aaa = Object.assign({}, this.config2["燃气表"].items, this.deviceconfig["燃气表"].items)
1259
- this.deviceconfig["燃气表"].items = aaa
1260
- //this.deviceconfig["燃气表"]=this.config2["燃气表"]
1261
- console.log("deviceconfig3==>" + JSON.stringify(this.deviceconfig))
1262
- } else {
1263
- let aaa = Object.assign({}, this.config["燃气表"].items, this.deviceconfig["燃气表"].items)
1264
- this.deviceconfig["燃气表"].items = aaa
1265
- console.log("deviceconfig4==>" + JSON.stringify(this.deviceconfig))
1266
- }
1267
- this.deviceconfig2 = ObjConfig.getObjConfig(this.deviceconfig)
1268
- this.deviceconfig2[0].items = jsonSort(this.deviceconfig2[0].items, "index")
1269
- this.deviceconfig2[1].items = jsonSort(this.deviceconfig2[1].items, "index")
1270
- this.deviceconfig2 = jsonSort(this.deviceconfig2, "index")
1271
- this.getDeviceAll()
1272
-
1273
-
1274
- })
1275
- }
1276
- ).catch(
1277
- (respanse) => {
1278
- console.log('respanse', respanse)
1279
- alert('查找安检单失败')
1280
- })
1281
- }
1282
- }
1283
-
1284
- },
1285
- watch: {
1286
- // 'isUpload'(val){
1287
- // console.log('isUpload发生变化===>'+val)
1288
- // }
1289
- },
1290
- destroyed() {
1291
- console.log('退出当前页Set')
1292
- this.disableTimer()
1293
- }
1294
- }
1295
-
1296
- </script>
1297
- <style scoped>
1298
- .table-striped thead tr th {
1299
- background-color: rgb(223, 237, 251);
1300
- padding: 10px;
1301
- border-left: solid 0px #dae4f2;
1302
- border-top: solid 1px #dae4f2;
1303
- border-right: none;
1304
- border-bottom: none;
1305
- text-align: center;
1306
- color: black;
1307
- }
1308
- </style>
1
+ <style scoped>
2
+ .img {
3
+ border: 1px solid #9773ed;
4
+ width: auto;
5
+ height: auto;
6
+ float: left;
7
+ text-align: center;
8
+ margin: 6px;
9
+ }
10
+
11
+ img {
12
+ margin: 6px;
13
+ }
14
+
15
+
16
+ .container {
17
+ margin: 10px auto;
18
+ width: 80%;
19
+ height: auto;
20
+ }
21
+
22
+ div::-webkit-scrollbar {
23
+ width: 0 !important;
24
+ height: 0 !important;
25
+ }
26
+
27
+ div {
28
+ -ms-overflow-style: none;
29
+ overflow: -moz-scrollbars-none;
30
+ }
31
+
32
+ .divmask {
33
+ pointer-events: none;
34
+ }
35
+
36
+ .app-header {
37
+ border-radius: 50%;
38
+ background: rgba(73, 158, 223, 0.4);
39
+ color: #FFF;
40
+ padding: 20px;
41
+ text-align: center;
42
+ font-size: 1.2em;
43
+ z-index: 10;
44
+ opacity: 0.5;
45
+ bottom: 50px;
46
+ margin-top: -20px;
47
+ position: absolute;
48
+ top: 10%;
49
+ right: 2%;
50
+ height: 8%;
51
+ }
52
+ </style>
53
+
54
+ <template>
55
+ <div class="basic-main" style="height: 100%">
56
+ <div class="page-header app-header auto" style="padding: 15px;margin-right: 10px;right: 0%;height: 7%">
57
+ <div @click="back()">
58
+ <img src="../../../assets/back.png" style="margin: 0px"/>
59
+ </div>
60
+ </div>
61
+ <work-busy :is-busy="loading"></work-busy>
62
+ <div class="container-fluid" style="overflow: scroll">
63
+ <div class="row">
64
+ <div class="col-md-5" style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
65
+ <div style="width: 100%;margin: auto">
66
+ <table class="table table-striped table-bordered" style="margin-bottom: 6px">
67
+ <thead>
68
+ <tr>
69
+ <th colspan="6" style="text-align: center">用户基本信息</th>
70
+ </tr>
71
+ </thead>
72
+ <tbody>
73
+ <tr>
74
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
75
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_userinfo_code }}</td>
76
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
77
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_user_name }}</td>
78
+ </tr>
79
+ <tr>
80
+ <td style="text-align: center;border: #E9E9E9 solid 1px">证件号码:</td>
81
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_idnumber }}</td>
82
+ <td style="text-align: center;border: #E9E9E9 solid 1px">用户类型:</td>
83
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_check_type }}</td>
84
+ </tr>
85
+ <tr>
86
+ <td style="text-align: center;border: #E9E9E9 solid 1px">用户电话:</td>
87
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_user_phone }}</td>
88
+ <td style="text-align: center;border: #E9E9E9 solid 1px">区 / 县:</td>
89
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_area }}</td>
90
+ </tr>
91
+ <tr>
92
+ <td style="text-align: center;border: #E9E9E9 solid 1px">街 道:</td>
93
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_street }}</td>
94
+ <td style="text-align: center;border: #E9E9E9 solid 1px">楼 号:</td>
95
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_building }}</td>
96
+ </tr>
97
+ <tr>
98
+ <td style="text-align: center;border: #E9E9E9 solid 1px">单 元:</td>
99
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_unit }}</td>
100
+ <td style="text-align: center;border: #E9E9E9 solid 1px">楼 层:</td>
101
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_floor }}</td>
102
+ </tr>
103
+ <tr>
104
+ <td style="text-align: center;border: #E9E9E9 solid 1px">门 牌 号 :</td>
105
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_room }}</td>
106
+ <td style="text-align: center;border: #E9E9E9 solid 1px">用户性质:</td>
107
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_userproperties }}</td>
108
+ </tr>
109
+ <tr>
110
+ <td style="text-align: center;border: #E9E9E9 solid 1px">备注信息:</td>
111
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_comments }}</td>
112
+ <td style="text-align: center;border: #E9E9E9 solid 1px">小区名称:</td>
113
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_residential_area }}</td>
114
+ </tr>
115
+ <tr>
116
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细住址:</td>
117
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_address }}</td>
118
+ </tr>
119
+ </tbody>
120
+ </table>
121
+ <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'">
122
+ <thead>
123
+ <tr>
124
+ <th colspan="4" style="text-align: center">用户安检概况</th>
125
+ </tr>
126
+ </thead>
127
+ <tbody>
128
+ <tr>
129
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
130
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
131
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
132
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_offsite_time }}</td>
133
+ </tr>
134
+ <tr>
135
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
136
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_entry_status }}</td>
137
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">燃气使用:</td>
138
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_usegas }}</td>
139
+ </tr>
140
+ <tr>
141
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">用户满意度:</td>
142
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">{{
143
+ paperdata.f_client_evaluation
144
+ }}
145
+ </td>
146
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">安检结果:</td>
147
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">{{ ajresult }}</td>
148
+ </tr>
149
+ <tr>
150
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">备注:</td>
151
+ <td colspan="3"
152
+ style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
153
+ {{ paperdata.f_repair_approved_note }}
154
+ </td>
155
+ </tr>
156
+ <tr>
157
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">隐患详情:</td>
158
+ <td colspan="3"
159
+ style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
160
+ <span v-for="deviceCollect in deviceCollects">
161
+ <span class="li-font">
162
+ {{ deviceCollect.name }}:{{ deviceCollect.value }}&nbsp;&nbsp;&nbsp;
163
+ </span>
164
+ <br>
165
+ <span v-if="deviceCollect.value == '有隐患'">
166
+ <lable>
167
+ 隐患:
168
+ </lable>
169
+ <span class="li-font" v-for="val in deviceCollect.devices">
170
+ {{ val }}&nbsp;&nbsp;&nbsp;
171
+ </span><br>
172
+ </span>
173
+
174
+ </span>
175
+ </td>
176
+ </tr>
177
+
178
+ </tbody>
179
+ </table>
180
+ <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status!='入户'">
181
+ <thead>
182
+ <tr>
183
+ <th colspan="4" style="text-align: center">用户安检概况</th>
184
+ </tr>
185
+ </thead>
186
+ <tbody>
187
+ <tr>
188
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
189
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
190
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
191
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_offsite_time }}</td>
192
+ </tr>
193
+ <tr>
194
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
195
+ <td colspan="2" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
196
+ {{ paperdata.f_entry_status }}
197
+ </td>
198
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">
199
+ <button-link style="color: black" type="button" class="btn btn-link" @click="showpicture2()">
200
+ {{ dev.lname }}
201
+ 查看{{ data.f_entry_status }}照片
202
+ </button-link>
203
+ </td>
204
+ </tr>
205
+
206
+ </tbody>
207
+ </table>
208
+ <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'">
209
+ <thead>
210
+ <tr>
211
+ <th style="text-align: center">总体安检照片</th>
212
+ </tr>
213
+ </thead>
214
+ <tbody>
215
+ <tr>
216
+ <td style="margin: auto;text-align: center">
217
+ <div class="container" style="max-width: 550px;background: #FFFFFF">
218
+ <div class="img" v-for="img in paperdata.f_overall_imgs">
219
+ <img-self-safe :src="img.f_overall_path" style="float: left" width="150"
220
+ height="200"></img-self-safe>
221
+ </div>
222
+ </div>
223
+
224
+
225
+ </td>
226
+
227
+ </tr>
228
+ </tbody>
229
+ </table>
230
+ <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'">
231
+ <thead>
232
+ <tr>
233
+ <th style="text-align: center">用户签名照片</th>
234
+ </tr>
235
+ </thead>
236
+ <tbody>
237
+ <tr>
238
+ <td style="margin: auto;text-align: center">
239
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
240
+ <div class="img" style="float: none">
241
+ <img-self-safe :src="paperdata.f_sign_path" width="486" height="300"></img-self-safe>
242
+ </div>
243
+ </div>
244
+ </td>
245
+ </tr>
246
+ </tbody>
247
+ </table>
248
+ <table class="table table-striped table-bordered" v-show="paperdata.f_notified_path">
249
+ <thead>
250
+ <tr>
251
+ <th style="text-align: center">安检通知单/隐患整改单</th>
252
+ </tr>
253
+ </thead>
254
+ <tbody>
255
+ <tr>
256
+ <td style="margin: auto;text-align: center">
257
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
258
+ <div class="img" style="float: none">
259
+ <img-self-safe :src="paperdata.f_notified_path" width="486" height="300"></img-self-safe>
260
+ </div>
261
+ </div>
262
+ </td>
263
+ </tr>
264
+ </tbody>
265
+ </table>
266
+ <table class="table table-striped table-bordered" v-show="paperdata.f_client_evaluation">
267
+ <thead>
268
+ <tr>
269
+ <th style="text-align: center">请对我们的服务做出评价</th>
270
+ </tr>
271
+ </thead>
272
+ <tbody>
273
+ <tr>
274
+ <td style="margin: auto;text-align: center">
275
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
276
+ <div colspan="2" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%;margin-left: 154px">
277
+
278
+ {{ paperdata.f_client_evaluation }}
279
+ </div>
280
+ </div>
281
+ </td>
282
+ </tr>
283
+ </tbody>
284
+ </table>
285
+
286
+ <!-- <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'&& item.f_recording1_path && isRecodrDownloadBtn">-->
287
+ <!-- <thead>-->
288
+ <!-- <tr>-->
289
+ <!-- <th style="text-align: center">录音文件</th>-->
290
+ <!-- </tr>-->
291
+ <!-- </thead>-->
292
+ <!-- <tbody>-->
293
+ <!-- <tr>-->
294
+ <!-- <td style="margin: auto;text-align: center">-->
295
+ <!-- <div class="container" style="max-width: 500px;background: #FFFFFF">-->
296
+ <!-- <a class="button_spacing button_search-1" :download="item.f_user_name+'-'+item.f_check_type+'-'+录音文件.arm"-->
297
+ <!-- :href="'rs/image/file/'+item.f_recording1_path" >录音下载</a>-->
298
+ <!-- </div>-->
299
+ <!-- </td>-->
300
+ <!-- </tr>-->
301
+ <!-- </tbody>-->
302
+ <!-- </table>-->
303
+ </div>
304
+ </div>
305
+ <div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
306
+ <div class="col-md-6" style="height: 100%;overflow: scroll">
307
+ <div style="width: 95%;margin-left: 5%">
308
+ <table class="table table-striped table-bordered" v-for="config in deviceconfig2">
309
+ <thead v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
310
+ <tr>
311
+ <th style="text-align: center">{{ config.checkname }}</th>
312
+ </tr>
313
+ </thead>
314
+ <tbody v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
315
+ <tr v-for="dev in config.items">
316
+ <td v-if="dev.type!='text'">
317
+ <div class="row">
318
+ <div class="col-md-8" style="text-align: center;">
319
+ <label>
320
+ <button-link type="button" class="btn btn-link" @click="showpicture(config.checkname,dev.lname)"
321
+ :style="isred(config.checkname,dev.lname)?'color:red':'color:black'">
322
+ {{ dev.lname }}
323
+ </button-link>
324
+ </label>
325
+ </div>
326
+ <div class="col-md-4" style="text-align: center">
327
+ <label style="font-weight: normal"
328
+ v-if="dev.type!='picture'">{{ getDeviceValue(config.checkname, dev.lname) ? getDeviceValue(config.checkname, dev.lname) : '无' }}</label>
329
+ <label style="font-weight: normal" v-if="dev.type=='picture'">
330
+ <div v-show="getDevicePath(config.checkname,dev.lname)">
331
+ <button-link style="color: black" type="button" class="btn btn-link"
332
+ @click="showpath(getDevicePath(config.checkname,dev.lname),dev.lname)">查看照片
333
+ </button-link>
334
+ </div>
335
+ <div v-show="!getDevicePath(config.checkname,dev.lname)">无照片</div>
336
+ </label>
337
+ </div>
338
+ </div>
339
+ </td>
340
+ <td v-if="dev.type==='text'">
341
+ <label style="width: 100%;text-align: center">{{ dev.lname }}</label>
342
+ </td>
343
+ </tr>
344
+ </tbody>
345
+ </table>
346
+ </div>
347
+ </div>
348
+
349
+ </div>
350
+ </div>
351
+ </div>
352
+ <modal :show.sync="imgshow" v-ref:modal backdrop="true">
353
+ <header slot="modal-header" class="modal-header">
354
+ {{ picturename }}
355
+ </header>
356
+ <article slot="modal-body" class="modal-body">
357
+ <div class="from-group">
358
+ <div class="row">
359
+ <div class="col-md-6">
360
+ <img-self-safe v-if="showimg1" :src="showimg1" width="300" height="400"></img-self-safe>
361
+ </div>
362
+ <div class="col-md-6">
363
+ <img-self-safe v-if="showimg2" :src="showimg2" width="300" height="400"></img-self-safe>
364
+ </div>
365
+ </div>
366
+ </div>
367
+ </article>
368
+ <footer slot="modal-footer" class="modal-footer" v-show="false">
369
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
370
+ </footer>
371
+ </modal>
372
+ <modal :show.sync="imgshow2" v-ref:modal backdrop="true">
373
+ <header slot="modal-header" class="modal-header">
374
+ {{ paperdata.f_entry_status }}照片
375
+ </header>
376
+ <article slot="modal-body" class="modal-body">
377
+ <div class="from-group">
378
+ <div class="row">
379
+ <div class="col-md-6">
380
+ <img-self-safe v-if="this.paperdata.f_entry_status=='到访不遇'" :src="showimg3" width="300"
381
+ height="400"></img-self-safe>
382
+ </div>
383
+ <div class="col-md-6">
384
+ <img-self-safe v-if="this.paperdata.f_entry_status=='拒检'" :src="showimg4" width="300"
385
+ height="400"></img-self-safe>
386
+ </div>
387
+ </div>
388
+ </div>
389
+ </article>
390
+ <footer slot="modal-footer" class="modal-footer" v-show="false">
391
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
392
+ </footer>
393
+ </modal>
394
+ </template>
395
+
396
+ <script>
397
+ // import PaperUserm from './PaperUserm'
398
+ // import PaperStatem from './PaperStatem'
399
+ // import Devicesm from './Devicesm'
400
+ // import PaperFeedbackm from './PaperFeedbackm'
401
+ import ObjConfig from '../../../utils/GerJsonObjectConfig'
402
+ import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
403
+ import Radio from 'vue-client/src/vue-strap/src/radioBtn'
404
+ import Vue from 'vue'
405
+ import * as Util from '../../Util'
406
+ import {jsonSort} from '../../../utils/LdapHelper'
407
+ import {HttpResetClass} from "vue-client";
408
+
409
+ let asyncReady = async function (self) {
410
+ // 获取配置信息
411
+ try {
412
+ let res = await new HttpResetClass().load('post', 'rs/sql/tel_singleTable_OrderBy', {
413
+ data: {
414
+ items: 'f_dir',
415
+ tablename: 't_organization',
416
+ condition: `id = '${self.item.f_filialeid}'`,
417
+ orderitem: 'id'
418
+ }
419
+ })/*.then(res=>{*/
420
+ console.log("aaaaaaaaaaaaaaaa")
421
+ console.log(JSON.stringify(res.data[0].f_dir))
422
+ if (!res.data[0].f_dir) {
423
+ self.$showMessage("该公司无组织目录,无法获取配置文件,请联系管理员确认")
424
+ } else {
425
+ //this.f_dir=res.data[0].f_dir
426
+ try {
427
+ let res1 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
428
+ resolveMsg: '获取居民配置项成功!',
429
+ rejectMsg: '获取居民配置项出错!'
430
+ })/*.then(res=>{*/
431
+ console.log('111111111111居民===>', res1.data)
432
+ //this.safeConfig["民用配置项"]=Object.assign({},res.data)
433
+ Vue.config.safecheck.DevicesConfig = res1.data
434
+ /*})*/
435
+ let res2 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesSetConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
436
+ resolveMsg: '获取非居民配置项成功!',
437
+ rejectMsg: '获取非居民配置项出错!'
438
+ })/*.then(res=>{*/
439
+ console.log('22222222222222非居民===>', res2.data)
440
+ //this.safeConfig["非民用配置项"]=Object.assign({},res.data)
441
+ Vue.config.safecheck.DevicesSetConfig = res2.data
442
+ /*}).then(res=> {
443
+ })*/
444
+
445
+ } catch (e) {
446
+ self.$showMessage("获取配置文件失败" + e)
447
+ }
448
+ }
449
+ } catch (error) {
450
+ // 忽略704,文件找不到异常R
451
+ if (error.status !== 704) {
452
+ throw error
453
+ }
454
+ }
455
+ }
456
+ export default {
457
+ title: '安检单',
458
+ props: ['f_plan_id', 'item', 'role'],
459
+ data() {
460
+ return {
461
+ data: {
462
+ f_devices: [],
463
+ f_defect_content: ''
464
+ },
465
+ paperdata: {},
466
+ picturename: '隐患照片',
467
+ defectDevice: {},
468
+ hasDevice: false,
469
+ deviceCollect: {},
470
+ deviceCollects: [],
471
+ isshow: false,
472
+ ajresult: '',
473
+ loading: true,
474
+ imgshow: false,
475
+ imgshow2: false,
476
+ isUpload: false,
477
+ livedispose: '',
478
+ showimg1: '',
479
+ showimg2: '',
480
+ showimg3: '',
481
+ showimg4: '',
482
+ startClick: false, //开始安检按钮是否可点击
483
+ isStrat: false, //是否开始安检
484
+ checkResult: {},//查询结果
485
+ newcheckResult: {},
486
+ timer: null,
487
+ showModal: false,
488
+ pic_to_be_viewed: '',
489
+ showBack: true,
490
+ devices: [],
491
+ devicesAll: [],
492
+ configAJ: [],
493
+ configRQ: [],
494
+ deviceconfig: {},
495
+ deviceconfig2: [],
496
+ f_devices: [],
497
+ config: {
498
+ "燃气表": {
499
+ "checkmust": true,
500
+ "index": 1,
501
+ "items": {
502
+ //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
503
+ "基表编号":{"index":1,"type":"string","readonly":true},
504
+ "气表型号":{"index":2,"type":"string","readonly":true},
505
+ "气表品牌":{"index":3,"type":"string","readonly":true},
506
+ "气表方向":{"index":4,"type":"selector","options":[{"data":"左表","isdefault":false},{"data":"右表","isdefault":false}],"checkmust": true,"readonly": true},
507
+ "初始表底":{"index":5,"type":"number","readonly":true},
508
+ "上期表读数":{"index":6,"type":"number","readonly":true},
509
+ "累购气量":{"index":7,"type":"number","readonly":true},
510
+ "已用气量":{"index":8,"type":"number","checkmust": false,"readonly": true},//基表数
511
+ "剩余气量":{"index":9,"type":"number","checkmust": false,"readonly": true},//累购-已用
512
+ "气量异常差值":{"index":10,"type":"number","readonly": true},
513
+ "表封号":{"index":11,"type":"string","readonly": true},
514
+ "卡号":{"index":12,"type":"string","readonly": true}
515
+ }
516
+ // 注意,配置项的index必须与上面的固定配置保持'顺序'
517
+ }
518
+ },
519
+ //金额
520
+ config2: {
521
+ "燃气表": {
522
+ "checkmust": true,
523
+ "index": 1,
524
+ "items": {
525
+ //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
526
+ "基表编号":{"index":1,"type":"string","readonly":true},
527
+ "气表型号":{"index":2,"type":"string","readonly":true},
528
+ "气表品牌":{"index":3,"type":"string","readonly":true},
529
+ "气表方向":{"index":4,"type":"selector","options":[{"data":"左表","isdefault":false},{"data":"右表","isdefault":false}],"checkmust": true,"readonly": true},
530
+ "初始表底":{"index":5,"type":"number","readonly":true},
531
+ "上期表读数":{"index":6,"type":"number","readonly":true},
532
+ "累购金额":{"index":7,"type":"number","readonly":true},
533
+ "已用金额":{"index":8,"type":"number","checkmust": false,"readonly":true},
534
+ //显示屏数 --实际剩余气量
535
+ "剩余金额":{"index":9,"type":"number","checkmust": false,"readonly":true},
536
+ "金额异常差值":{"index":10,"type":"number","readonly": true},
537
+ "表封号":{"index":11,"type":"string","readonly": true},
538
+ "卡号":{"index":12,"type":"string","readonly": true}
539
+ }
540
+ }
541
+ },
542
+ }
543
+ },
544
+ components: {
545
+ RadioGroup,
546
+ Radio,
547
+ },
548
+ computed: {
549
+ isRecodrDownloadBtn(){
550
+ // 投诉单下派还是处理
551
+ let res = this.$appdata.getSingleValue('无限制录音');
552
+ if (res == 'true'){
553
+ return true;
554
+ }else {
555
+ return false;
556
+ }
557
+ },
558
+ selector: {
559
+ get() {
560
+ return 'paper-state'
561
+ },
562
+ set(val) {
563
+ if (this.isStrat) {
564
+ debugger;
565
+ this.$goto(val, {userinfo: this.data}, 'paper-router')
566
+ } else {
567
+ this.$showMessage('未开始安检!')
568
+ }
569
+ }
570
+ },
571
+ actionEnabled: {
572
+ get() {
573
+ return this.role == 'inspect'
574
+ }
575
+ }
576
+ },
577
+ methods: {
578
+ devicesCollect() {
579
+ console.log("4444444")
580
+ console.log(JSON.stringify(this.config))
581
+ console.log(JSON.stringify(this.deviceconfig2))
582
+ console.log("4444444")
583
+
584
+ this.deviceCollects = []
585
+ let checkResult = '正常'
586
+ this.result = '正常'
587
+ let codata = JSON.parse(JSON.stringify(this.data))
588
+ console.log("111111111111" + JSON.stringify(codata))
589
+ for (let device in this.data) {
590
+ let f_device_type
591
+ if (device.startsWith("device")) {
592
+ for (let item in this.data[device]) {
593
+ if (this.data[device].length > 1) {
594
+ let j = Number.parseInt(item) + 1
595
+ f_device_type = `${this.data[device][item].f_device_type}${j}`
596
+ } else {
597
+ f_device_type = this.data[device][item].f_device_type
598
+ }
599
+ // console.log('codata[device][item]=>',codata[device][item])
600
+ let deviceInfos = []
601
+ for (let i in this.data[device][item].f_items) {
602
+ let defects = ''
603
+ let items = this.data[device][item].f_items[i]
604
+ if ((items.type === 'selector' || items.type === 'radio' || items.type === 'checkbox') && items.f_item_value != null && items.f_item_value instanceof Array) {
605
+ for (let i in items.f_item_value) {
606
+ let f_item_value = items.f_item_value[i]
607
+
608
+ console.log('f_item_value => ' + JSON.stringify(f_item_value))
609
+ console.log('f_device_type => ' + JSON.stringify(f_device_type))
610
+ console.log('this.paper[device][item] => ' + JSON.stringify(this.data[device][item]))
611
+ console.log('this.config[this.paper[device][item].f_device_type] => ' + JSON.stringify(this.config[this.data[device][item].f_device_type]))
612
+ if (!this.config[this.data[device][item].f_device_type].items[items.f_item_name]) {
613
+ continue
614
+ }
615
+ let options = this.config[this.data[device][item].f_device_type].items[items.f_item_name].options
616
+ for (let option in options) {
617
+ if (options[option].data == f_item_value) {
618
+ if (options[option].isdefect == 'true' || options[option].isdefect == true) {
619
+ checkResult = '有隐患'
620
+ this.result = '有隐患'
621
+ defects = `${defects}:${options[option].data}/`
622
+ // let level = options[option].level
623
+ }
624
+ }
625
+ }
626
+ console.log('defects=====>' + JSON.stringify(defects))
627
+ }
628
+ if (defects != '') {
629
+ deviceInfos.push(`${items.f_item_name}${defects.substring(0, defects.length - 1)}`)
630
+ }
631
+ } else if (items.type === 'stringp') {
632
+ checkResult = '有隐患'
633
+ this.result = '有隐患'
634
+ deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
635
+ } else if (items.f_item_name == '金额异常差值') {
636
+ var deviation = this.$appdata.getSingleValue('金额异常差值允许误差')
637
+ console.log(items.f_item_value[0] + '金额异常差值允许误差' + deviation)
638
+ if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
639
+ if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
640
+ checkResult = '有隐患'
641
+ this.result = '有隐患'
642
+ deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
643
+ }
644
+ }
645
+ } else if (items.f_item_name == '气量异常差值') {
646
+ var deviation = this.$appdata.getSingleValue('气量异常差值允许误差')
647
+ console.log(items.f_item_value[0] + '气量异常差值允许误差' + deviation)
648
+ if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
649
+ if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
650
+ checkResult = '有隐患'
651
+ this.result = '有隐患'
652
+ deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
653
+ }
654
+ }
655
+ }
656
+ console.log('deviceInfos========>' + JSON.stringify(deviceInfos))
657
+ console.log('items.f_is_defect')
658
+ console.log(items.f_is_defect)
659
+ if (items.type === 'selector') {
660
+ items.selected = []
661
+ } else if (items.type === 'inputSelector') {
662
+ items.selected = ''
663
+ }
664
+ }
665
+
666
+
667
+ console.log('deviceCollect', this.deviceCollect)
668
+ this.$set('deviceCollect.name', f_device_type)
669
+ this.$set('deviceCollect.value', checkResult)
670
+ this.$set('deviceCollect.devices', deviceInfos)
671
+ console.log("5555555555" + JSON.stringify(this.deviceCollect))
672
+ if (this.deviceCollect.name) {
673
+ console.log("999999998888888" + this.deviceCollect.name)
674
+ this.deviceCollects.push(JSON.parse(JSON.stringify(this.deviceCollect)))
675
+ }
676
+
677
+ checkResult = '正常'
678
+ this.deviceCollect = {}
679
+ }
680
+ }
681
+ }
682
+ if (this.deviceCollects.length > 0) {
683
+ this.hasDevice = true
684
+ }
685
+ this.ajresult = JSON.parse(this.data.f_defect_content).result
686
+ this.showimg3 = this.data.f_noanswer_path
687
+ this.showimg4 = this.data.f_rejectcheck_path
688
+ this.paperdata = this.data
689
+ this.loading = false
690
+ },
691
+ imgclose() {
692
+ this.imgshow = false
693
+ },
694
+ putDevices() {
695
+ //console.log('Vue.config.safecheck', Vue.config.safecheck.safetype)
696
+ this.$set('data.approve', "true")
697
+ this.$set('data.writeback', "false")
698
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
699
+ if (Vue.config.safecheck.ApproveConfig.approve != undefined) {
700
+ this.$set('data.approve', Vue.config.safecheck.ApproveConfig.approve)
701
+ }
702
+ if (Vue.config.safecheck.ApproveConfig.writeback != undefined) {
703
+ this.$set('data.writeback', Vue.config.safecheck.ApproveConfig.writeback)
704
+ }
705
+ if (Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
706
+ this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
707
+ }
708
+ }
709
+ console.log('当前安检类型----' + this.item.f_safecheck_type)
710
+
711
+ console.log(JSON.stringify(this.data))
712
+ if (!this.item.f_safecheck_type) {
713
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType['年度普检'][this.item.f_check_type]])
714
+ } else {
715
+ if (Vue.config.safecheck.DevicesConfig != undefined)
716
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_check_type]])
717
+ }
718
+ //遍历安检项配置
719
+ for (let i in this.config) {
720
+ //取得安检项索引值
721
+ let n = this.config[i].index
722
+ this.devices[n - 1] = {device: i, n: n, checkmust: this.config[i].checkmust}
723
+ this.$set('data.' + 'device' + n, [])
724
+ let items = []
725
+ for (let it in this.config[i].items) {
726
+ //赋值下拉选项
727
+ if (this.config[i].items[it].type == 'selector') {
728
+ for (let op in this.config[i].items[it].options)
729
+ if (this.config[i].items[it].options[op].isdefault == true) {
730
+ items.push({
731
+ f_defect_level: this.config[i].items[it].options[op].level,
732
+ f_is_defect: this.config[i].items[it].options[op].isdefect,
733
+ f_item_name: it,
734
+ f_item_value: this.config[i].items[it].options[op].data,
735
+ f_path: "",
736
+ type: "selector"
737
+ })
738
+ }
739
+ }
740
+ }
741
+ n = n + 1
742
+ }
743
+
744
+ },
745
+ showpath(val1, val2) {
746
+ console.log("555555555555555555")
747
+ console.log(val1)
748
+ if (val1) {
749
+ this.showimg1 = val1
750
+ this.picturename = val2
751
+ this.imgshow = true
752
+ }
753
+ },
754
+ showpicture(val1, val2) {
755
+ console.log("77777777777777")
756
+ if (val2 == '气量异常差值' || val2 == '金额异常差值') {
757
+ return
758
+ }
759
+ for (let i = 0; i < this.devicesAll.length; i++) {
760
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
761
+ if (this.devicesAll[i][j].f_device_type == val1) {
762
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
763
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
764
+ if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
765
+ return false
766
+ } else {
767
+ this.showimg1 = this.devicesAll[i][j].f_items[k].f_path
768
+ this.showimg2 = this.devicesAll[i][j].f_items[k].f_second_path
769
+ this.picturename = '隐患照片'
770
+ this.imgshow = true
771
+ return true
772
+ }
773
+ }
774
+ }
775
+
776
+ }
777
+ }
778
+ }
779
+ },
780
+ isred(val1, val2) {
781
+ console.log("77777777777777")
782
+ if (val2 == '气量异常差值' || val2 == '金额异常差值') {
783
+ return
784
+ }
785
+ for (let i = 0; i < this.devicesAll.length; i++) {
786
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
787
+ if (this.devicesAll[i][j].f_device_type == val1) {
788
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
789
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
790
+ if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
791
+ return false
792
+ } else {
793
+ return true
794
+ }
795
+ }
796
+ }
797
+
798
+ }
799
+ }
800
+ }
801
+ },
802
+ showpicture2() {
803
+ this.imgshow2 = true
804
+ },
805
+ getDeviceValue(val1, val2) {
806
+ let aa = ''
807
+ for (let i = 0; i < this.devicesAll.length; i++) {
808
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
809
+ if (this.devicesAll[i][j].f_device_type == val1) {
810
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
811
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
812
+ if (this.devicesAll[i][j].f_items[k].f_item_lists[0]) {
813
+ for (let l = 0; l < this.devicesAll[i][j].f_items[k].f_item_lists.length; l++) {
814
+ aa += this.devicesAll[i][j].f_items[k].f_item_lists[l].f_item_value + ' '
815
+ }
816
+ return aa
817
+ }
818
+ }
819
+ }
820
+
821
+ }
822
+ }
823
+ }
824
+
825
+ },
826
+ getDevicePath(val1, val2) {
827
+ for (let i = 0; i < this.devicesAll.length; i++) {
828
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
829
+ if (this.devicesAll[i][j].f_device_type == val1) {
830
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
831
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
832
+ return this.devicesAll[i][j].f_items[k].f_path
833
+ }
834
+ }
835
+
836
+ }
837
+ }
838
+ }
839
+
840
+ },
841
+ getDeviceAll() {
842
+ let keyall = Object.keys(this.data)
843
+ for (let i = 0; i < keyall.length; i++) {
844
+ console.log(JSON.stringify(keyall))
845
+ if (keyall[i].startsWith('device') && keyall[i] != 'deviceundefined') {
846
+ this.devicesAll.push(this.data[keyall[i]])
847
+ console.log(keyall[i])
848
+ }
849
+ }
850
+ console.log("666666666666666666")
851
+ console.log(JSON.stringify(this.devicesAll))
852
+ this.devicesCollect()
853
+
854
+ },
855
+
856
+ back() {
857
+ if (this.role == 'inspect') {
858
+ if (!this.isStrat) {
859
+ this.$back()
860
+ return
861
+ } else {
862
+ this.savePaper(true).then(() => {
863
+ this.$back()
864
+ this.isStrat = false
865
+ })
866
+ }
867
+ } else {
868
+ this.$back()
869
+ }
870
+ },
871
+ checkIsStart() {
872
+ alert('asdad')
873
+ return
874
+ },
875
+
876
+ viewPic(fileName) {
877
+ console.log('view pic: ' + fileName)
878
+ if (this.role == 'view') {
879
+ if (!fileName.endsWith('nopic.png')) {
880
+ this.pic_to_be_viewed = fileName
881
+ this.showModal = true
882
+ }
883
+ } else {
884
+ HostApp.viewPic(fileName)
885
+ }
886
+ },
887
+ tick() {
888
+ this.timer = null
889
+ this.data.f_offsite_time = Util.toStandardTimeString()
890
+ this.timer = window.setTimeout(this.tick, 1000)
891
+ },
892
+ getRepairState() {
893
+ let repaired = true
894
+ this.data.f_defects.forEach((defect) => {
895
+ repaired = repaired & (defect.f_ratification == '已处理')
896
+ })
897
+ return repaired
898
+ },
899
+ verifyRepairDefects() {
900
+ this.data.f_repair_date = Util.toStandardTimeString()
901
+ this.data.f_repaired = this.getRepairState() ? '已修' : '在修'
902
+ },
903
+ genuineSave(saveOnly) {
904
+ HostApp.__this__.save(saveOnly)
905
+ if (!saveOnly)
906
+ HostApp.__this__.disableTimer()
907
+ HostApp.__callback__ = null
908
+ HostApp.__this__ = null
909
+ },
910
+ setUrgency() {
911
+ this.data.f_defect_urgency = 'Z'
912
+ let that = this
913
+ this.data.f_defects.forEach(function (defect) {
914
+ if (that.data.f_defect_urgency > defect.f_defect_level.charAt(0))
915
+ that.data.f_defect_urgency = defect.f_defect_level.charAt(0)
916
+ })
917
+ if (this.data.f_defect_urgency == 'Z')
918
+ this.data.f_defect_urgency = null
919
+ },
920
+ disableTimer() {
921
+ if (this.timer) {
922
+ window.clearTimeout(this.timer)
923
+ this.timer = null
924
+ }
925
+ },
926
+ loaded(paper) {
927
+ if (!paper.hasOwnProperty('id')) {
928
+ this.$showMessage("该安检单在手机上已经不存在,可能是卸载过程序。可以进入重新安检,或返回安检计划。")
929
+ this.init()
930
+ } else {
931
+ Util.booleanFilter(paper)
932
+ HostApp.__this__.$set('data', paper)
933
+ HostApp.__this__.$goto('paper-state', {}, 'paper-router')
934
+ // 如果打回重检则重新计时
935
+ console.log('HostApp.__this__.role' + HostApp.__this__.role + ' HostApp.__this__.f_approved:' + HostApp.__this__.data.f_approved)
936
+ if (HostApp.__this__.role == 'inspect'
937
+ && HostApp.__this__.data.f_approved
938
+ && HostApp.__this__.data.f_approved == '打回') {
939
+ console.log('打回')
940
+ HostApp.__this__.data.f_onsite_time = Util.toStandardTimeString()
941
+ HostApp.__this__.tick()
942
+ }
943
+ }
944
+ HostApp.__callback__ = null
945
+ HostApp.__this__ = null
946
+ },
947
+ S4() {
948
+ return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
949
+ },
950
+ init() {
951
+ this.data.f_noplan_item_id = this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4()
952
+ this.data.ename = Vue.user.ename
953
+ this.data.f_outlets = Vue.user.f_parentname
954
+ this.data.f_meetunit = Vue.user.orgpathnames
955
+ this.data.orgpathstr = Vue.user.orgpathstr
956
+ this.data.f_check_item_id = this.item.id
957
+ this.data.f_check_plan_id = this.f_plan_id
958
+ this.data.f_checker_id = Vue.user.id
959
+ this.data.f_checker_name = Vue.user.name
960
+ this.data.f_check_type = this.item.f_user_type
961
+ this.data.f_subcompany = this.item.f_subcompany
962
+ this.data.f_approved = this.item.f_approved
963
+ this.data.f_repair_approved = this.item.f_repair_approved
964
+ this.data.f_no_checkplan = this.item.f_no_checkplan
965
+ this.data.f_approved = this.item.f_approved
966
+ this.data.f_filialeid = this.item.f_filialeid
967
+ this.data.f_orgstr = this.item.f_orgstr
968
+ this.data.version = this.item.version
969
+ this.$set('data.f_meters', this.item.f_plan_meters)
970
+ this.$set('data.f_userinfo_code', this.item.f_userinfo_code)
971
+ // 安检状态
972
+ this.$set('data.f_entry_status', '入户')
973
+ this.$set('data.f_usegas', '已使用')
974
+ this.$set('data.f_state', this.item.f_state)
975
+ // 用户信息
976
+ this.$set('data.f_user_name', this.item.f_user_name)
977
+ this.$set('data.f_user_phone', this.item.f_user_phone)
978
+ this.$set('data.f_userinfoid', this.item.f_userinfoid)
979
+ this.$set('data.f_address', this.item.f_address)
980
+ this.$set('data.f_card_id', this.item.f_card_id)
981
+ this.$set('data.f_area', this.item.f_area)
982
+ this.$set('data.f_street', this.item.f_street)
983
+ this.$set('data.f_room', this.item.f_room)
984
+ this.$set('data.f_building', this.item.f_building)
985
+ this.$set('data.f_unit', this.item.f_unit)
986
+ this.$set('data.f_floor', this.item.f_floor)
987
+ this.$set('data.f_residential_area', this.item.f_residential_area)
988
+ this.$set('data.f_idnumber', this.item.f_idnumber)
989
+ this.$set('data.f_comments', this.item.f_comments)
990
+ this.$set('data.f_userproperties', this.item.f_userproperties)
991
+ // 处置方式
992
+ this.$set('data.f_no_gas_device', false)
993
+ this.$set('data.f_close_valve', false)
994
+ this.$set('data.f_unload_battery', false)
995
+ if (this.data.f_check_item_id == '' && this.item.f_no_checkplan == '无计划安检') {
996
+ this.data.f_check_item_id = this.data.f_noplan_item_id
997
+ }
998
+
999
+ //房屋结构
1000
+ // this.$set('data.f_room_style', '多层')
1001
+ //供暖方式
1002
+ // this.$set('data.f_heating_style', '热力公司集中供暖')
1003
+ if (this.item.f_plan_meters) {
1004
+ for (let de in this.devices) {
1005
+ this.$set('data.device' + this.devices[de].n, [])
1006
+ for (let i = 0; i < this.item.f_plan_meters.length; i++) {
1007
+ if (this.item.f_plan_meters[i].f_meter_type) {
1008
+ if (this.devices[de].device == "燃气表" &&
1009
+ this.item.f_plan_meters[i].f_meter_type.indexOf('机表') > 0) {
1010
+ delete this.config['燃气表']['items']['累计购气量']
1011
+ this.data['device' + this.devices[de].n].push({
1012
+ f_device_type: "燃气表",
1013
+ f_items: [{
1014
+ f_defect_level: null,
1015
+ f_device_id: "",
1016
+ f_is_defect: "",
1017
+ f_item_name: "表品牌",
1018
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
1019
+ f_path: "",
1020
+ type: "string"
1021
+ },
1022
+ {
1023
+ f_defect_level: null,
1024
+ f_device_id: "",
1025
+ f_is_defect: "",
1026
+ f_item_name: "位置",
1027
+ f_item_value: this.item.f_plan_meters[i].f_weizhi,
1028
+ f_path: "",
1029
+ type: "selector"
1030
+ },
1031
+ {
1032
+ f_defect_level: null,
1033
+ f_device_id: "",
1034
+ f_is_defect: "",
1035
+ f_item_name: "表号",
1036
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
1037
+ f_path: "",
1038
+ type: "number"
1039
+ },
1040
+ {
1041
+ f_defect_level: null,
1042
+ f_device_id: "",
1043
+ f_is_defect: "",
1044
+ f_item_name: "表封号",
1045
+ f_item_value: this.item.f_plan_meters[i].f_metertitles,
1046
+ f_path: "",
1047
+ type: "number"
1048
+ },
1049
+ {
1050
+ f_defect_level: null,
1051
+ f_device_id: "",
1052
+ f_is_defect: "",
1053
+ f_item_name: "表型号",
1054
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1055
+ f_path: "",
1056
+ type: "selector"
1057
+ },
1058
+ {
1059
+ f_defect_level: null,
1060
+ f_device_id: "",
1061
+ f_is_defect: "",
1062
+ f_item_name: "表底数",
1063
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1064
+ f_path: "",
1065
+ type: "number"
1066
+ }
1067
+ ]
1068
+ })
1069
+ } else if (this.devices[de].device == "燃气表") {
1070
+ delete this.config['燃气表']['items']['表底数']
1071
+ this.data['device' + this.devices[de].n].push({
1072
+ f_device_type: "燃气表",
1073
+ f_items: [{
1074
+ f_defect_level: null,
1075
+ f_device_id: "",
1076
+ f_is_defect: "",
1077
+ f_item_name: "表品牌",
1078
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
1079
+ f_path: "",
1080
+ type: "string"
1081
+ },
1082
+ {
1083
+ f_defect_level: null,
1084
+ f_device_id: "",
1085
+ f_is_defect: "",
1086
+ f_item_name: "位置",
1087
+ f_item_value: this.item.f_plan_meters[i].f_weizhi,
1088
+ f_path: "",
1089
+ type: "selector"
1090
+ },
1091
+ {
1092
+ f_defect_level: null,
1093
+ f_device_id: "",
1094
+ f_is_defect: "",
1095
+ f_item_name: "表号",
1096
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
1097
+ f_path: "",
1098
+ type: "number"
1099
+ },
1100
+ {
1101
+ f_defect_level: null,
1102
+ f_device_id: "",
1103
+ f_is_defect: "",
1104
+ f_item_name: "表封号",
1105
+ f_item_value: this.item.f_plan_meters[i].f_metertitles,
1106
+ f_path: "",
1107
+ type: "number"
1108
+ },
1109
+ {
1110
+ f_defect_level: null,
1111
+ f_device_id: "",
1112
+ f_is_defect: "",
1113
+ f_item_name: "表型号",
1114
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1115
+ f_path: "",
1116
+ type: "selector"
1117
+ },
1118
+ {
1119
+ f_defect_level: null,
1120
+ f_device_id: "",
1121
+ f_is_defect: "",
1122
+ f_item_name: "累计购气量",
1123
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1124
+ f_path: "",
1125
+ type: "number"
1126
+ }
1127
+ ]
1128
+ })
1129
+ }
1130
+ }
1131
+ }
1132
+ }
1133
+ }
1134
+
1135
+ this.$goto('paper-state', {}, 'paper-router')
1136
+ },
1137
+ extend(initalObj, finalObj) {
1138
+ var obj = finalObj || {};
1139
+ for (var i in initalObj) {
1140
+ var prop = initalObj[i];
1141
+
1142
+ // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
1143
+ if (prop === obj) {
1144
+ continue;
1145
+ }
1146
+
1147
+ if (typeof prop === 'object') {
1148
+ if (obj[i]) {
1149
+ this.extend(obj[i], prop)
1150
+ } else {
1151
+ obj[i] = prop;
1152
+ }
1153
+ }
1154
+ }
1155
+ return obj;
1156
+ },
1157
+ //获取当前时间
1158
+ getNowFormatDate() {
1159
+ var date = new Date();
1160
+ var seperator1 = "-";
1161
+ var seperator2 = ":";
1162
+ var month = date.getMonth() + 1;
1163
+ var strDate = date.getDate();
1164
+ if (month >= 1 && month <= 9) {
1165
+ month = "0" + month;
1166
+ }
1167
+ if (strDate >= 0 && strDate <= 9) {
1168
+ strDate = "0" + strDate;
1169
+ }
1170
+ var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1171
+ + " " + date.getHours() + seperator2 + date.getMinutes()
1172
+ + seperator2 + date.getSeconds();
1173
+ return currentdate;
1174
+ }
1175
+ },
1176
+ ready() {
1177
+
1178
+ this.putDevices()
1179
+ if (this.item.f_state != '未检' || this.item.f_no_checkplan == '无计划安检') {
1180
+ if (this.role != 'inspect') {
1181
+ let that = this
1182
+ let id
1183
+ if (this.role == 'view') {
1184
+ id = this.item.id
1185
+ } else if (this.role == 'androidview') {
1186
+ id = this.item.f_paper_id
1187
+ }
1188
+ let isxianfeng = false; //是否是先锋集中器气表品牌
1189
+
1190
+ this.$resetpost(`rs/path/getUserinfomation`, {data: {condition: `id = '${id}'`}}).then((respanse) => {
1191
+ console.log('result....', respanse)
1192
+ if (respanse.data.length != 0) {
1193
+ // 包含 其它 特殊处理的数组
1194
+ // 对应位置
1195
+
1196
+ console.log('devices => ', respanse.data[0])
1197
+
1198
+ that.data = Object.assign(that.data, respanse.data[0])
1199
+ if (respanse.data[0].f_devices) {
1200
+ for (let da in that.devices) {
1201
+ that.$set('data.device' + that.devices[da].n, [])
1202
+ }
1203
+ respanse.data[0].f_devices.forEach((item) => {
1204
+ for (let de in that.devices) {
1205
+
1206
+ if (that.devices[de].device == item.f_device_type) {
1207
+ item.f_items.forEach((f_item) => {
1208
+ console.log('f_item====>', f_item)
1209
+ console.log('f_item.f_path====>', f_item.f_path)
1210
+ let itemValues = []
1211
+ f_item.f_item_lists.forEach((tempItem) => {
1212
+ console.log('emm => ', f_item.f_item_name, ' ', tempItem.f_item_value)
1213
+ if (tempItem.f_item_value !== 'null') {
1214
+ itemValues.push(tempItem.f_item_value)
1215
+ //判断是否为先锋集中器
1216
+ debugger
1217
+ if (f_item.f_item_name=='气表品牌' && tempItem.f_item_value!=null && tempItem.f_item_value=='先锋集中器' ) {
1218
+ isxianfeng = true;
1219
+ }
1220
+ if (f_item.f_item_name=='气表品牌' && tempItem.f_item_value!=null && tempItem.f_item_value!='先锋集中器' ) {
1221
+ isxianfeng = false;
1222
+ }
1223
+ }
1224
+ })
1225
+ f_item.f_item_value = itemValues
1226
+ })
1227
+ that.data['device' + that.devices[de].n].push({
1228
+ f_device_type: item.f_device_type,
1229
+ f_items: item.f_items
1230
+ })
1231
+ }
1232
+ }
1233
+ })
1234
+ }
1235
+ Util.replaceFalse(that.data)
1236
+ Util.booleanFilter(that.data)
1237
+ if (this.role == 'view') {
1238
+ Util.ratifyPics(that.data)
1239
+ Util.ratifyPics(that.picture)
1240
+ } else {
1241
+ Util.androidRatifyPics(that.data, this.$androidUtil.getProxyUrl())
1242
+ }
1243
+ console.log("that.data:", that.data)
1244
+ }
1245
+ // this.$goto('paper-message-blank', {userinfo:this.data,devices:this.devices,config:this.config,role:this.role}, 'self')
1246
+ this.isshow = true
1247
+ asyncReady(this).then(() => {
1248
+ console.log("66666666666")
1249
+ console.log(JSON.stringify(this.data))
1250
+ if (this.data.f_check_type == '民用') {
1251
+ this.deviceconfig = Vue.config.safecheck.DevicesConfig
1252
+ console.log("deviceconfig1==>" + JSON.stringify(this.deviceconfig))
1253
+ } else if (this.data.f_check_type == '非民用') {
1254
+ this.deviceconfig = Vue.config.safecheck.DevicesSetConfig
1255
+ console.log("deviceconfig2==>" + JSON.stringify(this.deviceconfig))
1256
+ }
1257
+ if (this.data.f_collection_type == '按金额'&& !isxianfeng) {
1258
+ let aaa = Object.assign({}, this.config2["燃气表"].items, this.deviceconfig["燃气表"].items)
1259
+ this.deviceconfig["燃气表"].items = aaa
1260
+ //this.deviceconfig["燃气表"]=this.config2["燃气表"]
1261
+ console.log("deviceconfig3==>" + JSON.stringify(this.deviceconfig))
1262
+ } else {
1263
+ let aaa = Object.assign({}, this.config["燃气表"].items, this.deviceconfig["燃气表"].items)
1264
+ this.deviceconfig["燃气表"].items = aaa
1265
+ console.log("deviceconfig4==>" + JSON.stringify(this.deviceconfig))
1266
+ }
1267
+ this.deviceconfig2 = ObjConfig.getObjConfig(this.deviceconfig)
1268
+ this.deviceconfig2[0].items = jsonSort(this.deviceconfig2[0].items, "index")
1269
+ this.deviceconfig2[1].items = jsonSort(this.deviceconfig2[1].items, "index")
1270
+ this.deviceconfig2 = jsonSort(this.deviceconfig2, "index")
1271
+ this.getDeviceAll()
1272
+
1273
+
1274
+ })
1275
+ }
1276
+ ).catch(
1277
+ (respanse) => {
1278
+ console.log('respanse', respanse)
1279
+ alert('查找安检单失败')
1280
+ })
1281
+ }
1282
+ }
1283
+
1284
+ },
1285
+ watch: {
1286
+ // 'isUpload'(val){
1287
+ // console.log('isUpload发生变化===>'+val)
1288
+ // }
1289
+ },
1290
+ destroyed() {
1291
+ console.log('退出当前页Set')
1292
+ this.disableTimer()
1293
+ }
1294
+ }
1295
+
1296
+ </script>
1297
+ <style scoped>
1298
+ .table-striped thead tr th {
1299
+ background-color: rgb(223, 237, 251);
1300
+ padding: 10px;
1301
+ border-left: solid 0px #dae4f2;
1302
+ border-top: solid 1px #dae4f2;
1303
+ border-right: none;
1304
+ border-bottom: none;
1305
+ text-align: center;
1306
+ color: black;
1307
+ }
1308
+ </style>