safecheck-client 3.0.35-gongyi-10 → 3.0.35-gongyi-11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (842) 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/CheckPlanAreaManage.vue +111 -111
  606. package/src/components/report/CheckPlanUserList.vue +217 -217
  607. package/src/components/report/HiddenSituation.vue +210 -210
  608. package/src/components/report/ManageBusSummary.vue +242 -242
  609. package/src/components/report/SafePlanSale.vue +111 -111
  610. package/src/components/report/SafePlanStatistics.vue +118 -118
  611. package/src/components/rongcheng/AddPlanItem.vue +315 -315
  612. package/src/components/rongcheng/AreaPlan.vue +470 -470
  613. package/src/components/rongcheng/AspPaperFeedback.vue +1179 -1179
  614. package/src/components/rongcheng/AspPaperStatem.vue +339 -339
  615. package/src/components/rongcheng/AspiratedAreaPlan.vue +464 -464
  616. package/src/components/rongcheng/AspiratedCurrentCreate.vue +1036 -1036
  617. package/src/components/rongcheng/AspiratedDevices.vue +966 -966
  618. package/src/components/rongcheng/AspiratedOrderV.vue +2376 -2376
  619. package/src/components/rongcheng/AspiratedPaperFeedbackm.vue +1019 -1019
  620. package/src/components/rongcheng/AspiratedPaperMessage.vue +1378 -1378
  621. package/src/components/rongcheng/AspiratedPaperMessageNocivil.vue +1288 -1288
  622. package/src/components/rongcheng/AspiratedUploadPage.vue +293 -293
  623. package/src/components/rongcheng/AspiratedUserInfo.vue +399 -399
  624. package/src/components/rongcheng/CheckCurrentCreate.vue +1046 -1046
  625. package/src/components/rongcheng/CheckPaperList.vue +134 -134
  626. package/src/components/rongcheng/CheckPaperSearchUser.vue +55 -55
  627. package/src/components/rongcheng/CheckPaperSearchUserNo.vue +55 -55
  628. package/src/components/rongcheng/CheckSearchUser.vue +826 -826
  629. package/src/components/rongcheng/CheckSearchUserNo.vue +757 -757
  630. package/src/components/rongcheng/DefectList.vue +560 -560
  631. package/src/components/rongcheng/DefectPaper.vue +638 -638
  632. package/src/components/rongcheng/PaperFeedback.vue +1318 -1318
  633. package/src/components/rongcheng/PaperListAJ.vue +501 -501
  634. package/src/components/rongcheng/PaperListNPAJ.vue +498 -498
  635. package/src/components/rongcheng/PaperListNPSQ.vue +485 -485
  636. package/src/components/rongcheng/PaperListSQ.vue +483 -483
  637. package/src/components/rongcheng/PaperMessage.vue +1186 -1186
  638. package/src/components/rongcheng/PaperMessageNocivil.vue +1211 -1211
  639. package/src/components/rongcheng/PaperStateNoncivilm.vue +366 -366
  640. package/src/components/rongcheng/PaperStatem.vue +343 -343
  641. package/src/components/rongcheng/PhoneDevicesInfo.vue +233 -233
  642. package/src/components/rongcheng/SafecheckDevices.vue +998 -998
  643. package/src/components/rongcheng/SafecheckOrderV.vue +2476 -2476
  644. package/src/components/rongcheng/SafecheckOrderVCli.vue +2594 -2594
  645. package/src/components/rongcheng/SafecheckUserInfo.vue +439 -439
  646. package/src/components/rongcheng/UploadPage.vue +328 -328
  647. package/src/components/rongcheng/checkerplan/SelectCheckPlan.vue +285 -285
  648. package/src/components/rongcheng/report/CheckPlanAreaList.vue +419 -419
  649. package/src/components/rongcheng/report/CheckPlanUserList.vue +228 -228
  650. package/src/components/safecheck/common/TabButton.vue +157 -157
  651. package/src/components/safecheck/common/Tabs.vue +67 -67
  652. package/src/components/safecheck/queryManage/CheckBookAll.vue +71 -71
  653. package/src/components/safecheck/queryManage/SafeCheckManage.vue +88 -88
  654. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  655. package/src/components/sendsingle/onlineChangeMeter.vue +658 -658
  656. package/src/components/sendsingle/onlineoperation.vue +411 -411
  657. package/src/components/sendsingle/onlinequeryuser.vue +363 -363
  658. package/src/components/shaoguan/CheckPlanUserList.vue +119 -119
  659. package/src/components/shaoguan/DefectDetail.vue +177 -177
  660. package/src/components/shaoguan/DefectList.vue +473 -473
  661. package/src/components/shaoguan/DefectMain.vue +53 -53
  662. package/src/components/shaoguan/DefectPaper.vue +217 -217
  663. package/src/components/shaoguan/PaperList.vue +533 -533
  664. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  665. package/src/components/task/RepairAnnual.vue +79 -79
  666. package/src/components/task/RepairAnnualDetail.vue +49 -49
  667. package/src/components/task/RepairMonthly.vue +91 -91
  668. package/src/components/task/TaskAnnual.vue +77 -77
  669. package/src/components/task/TaskAnnualDetail.vue +47 -47
  670. package/src/components/task/TaskMonthly.vue +89 -89
  671. package/src/components/tongcheng/AreaPlan.vue +458 -458
  672. package/src/components/tongcheng/CurrentCreate.vue +625 -625
  673. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  674. package/src/components/tongcheng/PaperMessage.vue +1270 -1270
  675. package/src/components/tongcheng/PaperMessageNocivil.vue +1228 -1228
  676. package/src/components/tongcheng/PaperSet.vue +1958 -1958
  677. package/src/components/tongcheng/PaperUser.vue +533 -533
  678. package/src/components/userfile/InfoModifyModal.vue +122 -122
  679. package/src/components/userfile/MeterFile.vue +145 -145
  680. package/src/components/userfile/MeterModify.vue +46 -46
  681. package/src/components/userfile/UserFile.vue +118 -118
  682. package/src/components/userfile/UserInfoAudit.vue +252 -252
  683. package/src/components/userfile/UserfileChange.vue +277 -277
  684. package/src/components/userfile/UserinfoModify.vue +117 -117
  685. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  686. package/src/components/userfileaudit/UserFileaudit.vue +81 -81
  687. package/src/components/userfileaudit/UserfileChangeaudit.vue +239 -239
  688. package/src/expandcss.less +571 -571
  689. package/src/expandcssAndroid.less +520 -520
  690. package/src/filiale/ALshan/pc/CheckSearchUser.vue +927 -927
  691. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +473 -473
  692. package/src/filiale/ALshan/pc.js +15 -15
  693. package/src/filiale/Util.js +325 -325
  694. package/src/filiale/huatong/android/SafecheckDevices.vue +928 -928
  695. package/src/filiale/huatong/android/SafecheckOrderV.vue +2398 -2398
  696. package/src/filiale/huatong/android.js +14 -14
  697. package/src/filiale/huatong/pc.js +13 -13
  698. package/src/filiale/liaoyuan/android/SafecheckDevices.vue +928 -928
  699. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2383 -2383
  700. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +550 -550
  701. package/src/filiale/liaoyuan/android.js +14 -14
  702. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +483 -483
  703. package/src/filiale/liaoyuan/pc/DefectPaperWeiXiu.vue +975 -975
  704. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  705. package/src/filiale/liaoyuan/pc/PaperList.vue +657 -657
  706. package/src/filiale/liaoyuan/pc.js +15 -15
  707. package/src/filiale/lixian/android/SafecheckDevices.vue +1022 -1022
  708. package/src/filiale/lixian/android/SafecheckOrderV.vue +2403 -2403
  709. package/src/filiale/lixian/android/SafecheckUserInfo.vue +586 -586
  710. package/src/filiale/lixian/android.js +14 -14
  711. package/src/filiale/lixian/pc/CheckPlanAreaList.vue +461 -461
  712. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  713. package/src/filiale/lixian/pc/PaperChazhiMain.vue +607 -607
  714. package/src/filiale/lixian/pc/PaperDefectMain.vue +617 -617
  715. package/src/filiale/lixian/pc/PaperList.vue +686 -686
  716. package/src/filiale/lixian/pc.js +22 -22
  717. package/src/filiale/rongchuang/pc/checkUserList.vue +594 -594
  718. package/src/filiale/rongchuang/pc.js +13 -13
  719. package/src/filiale/shimen/android/CurrentCreate.vue +979 -979
  720. package/src/filiale/shimen/android/PaperFeedback.vue +1341 -1341
  721. package/src/filiale/shimen/android/PhoneSellInfo.vue +88 -88
  722. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  723. package/src/filiale/shimen/android.js +12 -12
  724. package/src/filiale/shimen/pc/CheckPlanAreaList.vue +463 -463
  725. package/src/filiale/shimen/pc/CheckSearchUser.vue +927 -927
  726. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  727. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  728. package/src/filiale/shimen/pc/PaperDefectMain.vue +656 -656
  729. package/src/filiale/shimen/pc/PaperList.vue +613 -613
  730. package/src/filiale/shimen/pc/checkmsg.vue +248 -248
  731. package/src/filiale/shimen/pc.js +21 -21
  732. package/src/filiale/tongchuan/android/PaperFeedback.vue +1350 -1350
  733. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1112 -1112
  734. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +2575 -2575
  735. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +640 -640
  736. package/src/filiale/tongchuan/android/UploadPage.vue +285 -285
  737. package/src/filiale/tongchuan/android.js +13 -13
  738. package/src/filiale/tongchuan/pc/CheckPlanUserList.vue +245 -245
  739. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +956 -956
  740. package/src/filiale/tongchuan/pc/DefectPaper.vue +764 -764
  741. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +509 -509
  742. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +1267 -1267
  743. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +634 -634
  744. package/src/filiale/tongchuan/pc/PaperList.vue +677 -677
  745. package/src/filiale/tongchuan/pc/checkUserList.vue +593 -593
  746. package/src/filiale/tongchuan/pc.js +21 -21
  747. package/src/filiale/wenxi/android/CurrentCreate.vue +1047 -1047
  748. package/src/filiale/wenxi/android/PaperFeedback.vue +1378 -1378
  749. package/src/filiale/wenxi/android/SafecheckDevices.vue +1053 -1053
  750. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2472 -2472
  751. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +584 -584
  752. package/src/filiale/wenxi/android/UploadPage.vue +285 -285
  753. package/src/filiale/wenxi/android.js +14 -14
  754. package/src/filiale/wenxi/pc/DefectPaper.vue +662 -662
  755. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1169 -1169
  756. package/src/filiale/wenxi/pc/PaperDefectMain.vue +634 -634
  757. package/src/filiale/wenxi/pc/PaperList.vue +860 -860
  758. package/src/filiale/wenxi/pc/checkmsg.vue +302 -302
  759. package/src/filiale/wenxi/pc.js +16 -16
  760. package/src/filiale/wuan/android/AreaPlan.vue +513 -513
  761. package/src/filiale/wuan/android/CurrentCreate.vue +985 -985
  762. package/src/filiale/wuan/android/CurrentCreateSheBei.vue +999 -999
  763. package/src/filiale/wuan/android/SafecheckDevices.vue +1150 -1150
  764. package/src/filiale/wuan/android/SafecheckOrderV.vue +2237 -2237
  765. package/src/filiale/wuan/android/SafecheckUserInfo.vue +571 -571
  766. package/src/filiale/wuan/android.js +17 -17
  767. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  768. package/src/filiale/wuan/pc/DefectPaperWeiXiu.vue +514 -514
  769. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  770. package/src/filiale/wuan/pc/PaperList.vue +628 -628
  771. package/src/filiale/wuan/pc.js +19 -19
  772. package/src/filiale/wuhai/android/AreaPlan.vue +529 -529
  773. package/src/filiale/wuhai/android/PaperFeedback.vue +1350 -1350
  774. package/src/filiale/wuhai/android.js +12 -12
  775. package/src/filiale/wuhai/pc/checkUserList.vue +594 -594
  776. package/src/filiale/wuhai/pc.js +13 -13
  777. package/src/filiale/zhongsheng/android/PaperFeedback.vue +1341 -1341
  778. package/src/filiale/zhongsheng/android/PhoneUpUserinfo.vue +926 -926
  779. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2447 -2447
  780. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +591 -591
  781. package/src/filiale/zhongsheng/android.js +17 -17
  782. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  783. package/src/filiale/zhongsheng/pc/DefectPaperWeiXiu.vue +511 -511
  784. package/src/filiale/zhongsheng/pc/InfoModifyModal.vue +123 -123
  785. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1308 -1308
  786. package/src/filiale/zhongsheng/pc/UserInfoAudit.vue +252 -252
  787. package/src/filiale/zhongsheng/pc/UserinfoModify.vue +121 -121
  788. package/src/filiale/zhongsheng/pc.js +15 -15
  789. package/src/filiale/zhoukou/android/AndroidDefectDeal.vue +408 -408
  790. package/src/filiale/zhoukou/android/AreaPlan.vue +543 -543
  791. package/src/filiale/zhoukou/android/CurrentCreate.vue +1014 -1014
  792. package/src/filiale/zhoukou/android/PaperFeedback.vue +1367 -1367
  793. package/src/filiale/zhoukou/android/PhoneUpUserinfo.vue +957 -957
  794. package/src/filiale/zhoukou/android/SafecheckDevices.vue +1174 -1174
  795. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  796. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  797. package/src/filiale/zhoukou/android/UploadPage.vue +301 -301
  798. package/src/filiale/zhoukou/android.js +18 -18
  799. package/src/filiale/zhoukou/pc/CheckSearchUser.vue +923 -923
  800. package/src/filiale/zhoukou/pc/PaperDefectMain.vue +531 -531
  801. package/src/filiale/zhoukou/pc.js +15 -15
  802. package/src/index.js +17 -17
  803. package/src/main.js +33 -33
  804. package/src/plugins/EmojiData.js +514 -514
  805. package/src/plugins/GerJsonConfig.js +59 -59
  806. package/src/plugins/GerJsonObjectConfig.js +44 -44
  807. package/src/plugins/LoadData.js +10 -10
  808. package/src/plugins/LoadParams.js +24 -24
  809. package/src/plugins/LocalPagedList.js +108 -108
  810. package/src/plugins/LocalPathList.js +109 -109
  811. package/src/rongcheng-android.js +193 -193
  812. package/src/rongcheng.js +304 -304
  813. package/src/safecheck-android.js +225 -225
  814. package/src/safecheck.js +723 -723
  815. package/src/shaoguan-android.js +176 -176
  816. package/src/shaoguan.js +276 -276
  817. package/src/stores/AppData.js +46 -46
  818. package/src/stores/wxconfig.js +10 -10
  819. package/src/tongchengsafe-android.js +162 -162
  820. package/src/tongchengsafecheck.js +267 -267
  821. package/src/utils/GerJsonObjectConfig.js +51 -51
  822. package/src/utils/LdapHelper.js +99 -99
  823. package/src/utils/getNowDate.js +33 -33
  824. package/test/SearchList.test.js +14 -14
  825. package/test/e2e/custom-assertions/elementCount.js +26 -26
  826. package/test/e2e/nightwatch.conf.js +40 -40
  827. package/test/e2e/runner.js +30 -30
  828. package/test/e2e/specs/test.js +13 -13
  829. package/test/unit/.eslintrc +5 -5
  830. package/test/unit/TestUtil.js +62 -62
  831. package/test/unit/context.html +20 -20
  832. package/test/unit/index.js +13 -13
  833. package/test/unit/init.js +11 -11
  834. package/test/unit/karma.conf.js +53 -53
  835. package/test/unit/specs/Devices.spec.js +18 -18
  836. package/test/unit/specs/getArrobjconfig.spec.js +104 -104
  837. package/test/unit/specs/getobjconfig.spec.js +37 -37
  838. package/test/unit/specs/phonetest/phonesafecheck.spec.js +23 -23
  839. package/test/unit/specs/safePlanItem.spec.js +30 -30
  840. package/test/unit/specs/safecheck-android.spec.js +7 -7
  841. package/test/unit/specs/safecheck.spec.js +127 -127
  842. package/yarn-error.log +140 -140
@@ -1,1267 +1,1267 @@
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_remark }}</td>-->
112
- <td style="text-align: center;border: #E9E9E9 solid 1px">小区名称:</td>
113
- <td style="text-align: center;border: #E9E9E9 solid 1px" colspan="3" >{{ 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_remark }}
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_entry_status=='入户'&& item.f_recording1_path && isRecodrDownloadBtn">
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
- <a class="button_spacing button_search-1" :download="item.f_user_name+'-'+item.f_check_type+'-'+录音文件.arm"
259
- :href="'rs/image/file/'+item.f_recording1_path" >录音下载</a>
260
- </div>
261
- </td>
262
- </tr>
263
- </tbody>
264
- </table>
265
- </div>
266
- </div>
267
- <div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
268
- <div class="col-md-6" style="height: 100%;overflow: scroll">
269
- <div style="width: 95%;margin-left: 5%">
270
- <table class="table table-striped table-bordered" v-for="config in deviceconfig2">
271
- <thead v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
272
- <tr>
273
- <th style="text-align: center">{{ config.checkname }}</th>
274
- </tr>
275
- </thead>
276
- <tbody v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
277
- <tr v-for="dev in config.items">
278
- <td v-if="dev.type!='text' && dev.isshow!=false">
279
- <div class="row">
280
- <div class="col-md-8" style="text-align: center;">
281
- <label>
282
- <button-link type="button" class="btn btn-link" @click="showpicture(config.checkname,dev.lname)"
283
- :style="isred(config.checkname,dev.lname)?'color:red':'color:black'">
284
- {{ dev.lname }}
285
- </button-link>
286
- </label>
287
- </div>
288
- <div class="col-md-4" style="text-align: center">
289
- <label style="font-weight: normal"
290
- v-if="dev.type!='picture'">{{ getDeviceValue(config.checkname, dev.lname) ? getDeviceValue(config.checkname, dev.lname) : '无' }}</label>
291
- <label style="font-weight: normal" v-if="dev.type=='picture'">
292
- <div v-show="getDevicePath(config.checkname,dev.lname)">
293
- <button-link style="color: black" type="button" class="btn btn-link"
294
- @click="showpath(getDevicePath(config.checkname,dev.lname),dev.lname)">查看照片
295
- </button-link>
296
- </div>
297
- <div v-show="!getDevicePath(config.checkname,dev.lname)">无照片</div>
298
- </label>
299
- </div>
300
- </div>
301
- </td>
302
- <td v-if="dev.type==='text' && dev.isshow!=false">
303
- <label style="width: 100%;text-align: center">{{ dev.lname }}</label>
304
- </td>
305
- </tr>
306
- </tbody>
307
- </table>
308
- </div>
309
- </div>
310
-
311
- </div>
312
- </div>
313
- </div>
314
- <modal :show.sync="imgshow" v-ref:modal backdrop="true">
315
- <header slot="modal-header" class="modal-header">
316
- {{ picturename }}
317
- </header>
318
- <article slot="modal-body" class="modal-body">
319
- <div class="from-group">
320
- <div class="row">
321
- <div class="col-md-6">
322
- <img-self-safe v-if="showimg1" :src="showimg1" width="300" height="400"></img-self-safe>
323
- </div>
324
- <div class="col-md-6">
325
- <img-self-safe v-if="showimg2" :src="showimg2" width="300" height="400"></img-self-safe>
326
- </div>
327
- </div>
328
- </div>
329
- </article>
330
- <footer slot="modal-footer" class="modal-footer" v-show="false">
331
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
332
- </footer>
333
- </modal>
334
- <modal :show.sync="imgshow2" v-ref:modal backdrop="true">
335
- <header slot="modal-header" class="modal-header">
336
- {{ paperdata.f_entry_status }}照片
337
- </header>
338
- <article slot="modal-body" class="modal-body">
339
- <div class="from-group">
340
- <div class="row">
341
- <div class="col-md-6">
342
- <img-self-safe v-if="this.paperdata.f_entry_status=='到访不遇'" :src="showimg3" width="300"
343
- height="400"></img-self-safe>
344
- <img-self-safe v-if="(this.paperdata.f_entry_status=='到访不遇' && showimg5)" :src="'/rs/image/file/'+showimg5" width="300"
345
- height="400"></img-self-safe>
346
- <img-self-safe v-if="(this.paperdata.f_entry_status=='到访不遇' && showimg6)" :src="'/rs/image/file/'+showimg6" width="300"
347
- height="400"></img-self-safe>
348
- <img-self-safe v-if="(this.paperdata.f_entry_status=='到访不遇' && showimg7)" :src="'/rs/image/file/'+showimg7" width="300"
349
- height="400"></img-self-safe>
350
- </div>
351
- <div class="col-md-6">
352
- <img-self-safe v-if="this.paperdata.f_entry_status=='拒检'" :src="showimg4" width="300"
353
- height="400"></img-self-safe>
354
- </div>
355
- </div>
356
- </div>
357
- </article>
358
- <footer slot="modal-footer" class="modal-footer" v-show="false">
359
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
360
- </footer>
361
- </modal>
362
- </template>
363
-
364
- <script>
365
- // import PaperUserm from './PaperUserm'
366
- // import PaperStatem from './PaperStatem'
367
- // import Devicesm from './Devicesm'
368
- // import PaperFeedbackm from './PaperFeedbackm'
369
- import ObjConfig from '../../../utils/GerJsonObjectConfig'
370
- import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
371
- import Radio from 'vue-client/src/vue-strap/src/radioBtn'
372
- import Vue from 'vue'
373
- import * as Util from '../../Util'
374
- import {jsonSort} from '../../../utils/LdapHelper'
375
- import {HttpResetClass} from "vue-client";
376
-
377
- let asyncReady = async function (self) {
378
- // 获取配置信息
379
- try {
380
- /*let res = await new HttpResetClass().load('post', 'rs/sql/safe_singleTable_OrderBy', {
381
- data: {
382
- items: 'f_dir',
383
- tablename: 't_organization',
384
- condition: `id = '${self.item.f_filialeid}'`,
385
- orderitem: 'id'
386
- }
387
- })/!*.then(res=>{*!/
388
- console.log("aaaaaaaaaaaaaaaa")
389
- console.log(JSON.stringify(res.data[0].f_dir))
390
- if (!res.data[0].f_dir) {
391
- self.$showMessage("该公司无组织目录,无法获取配置文件,请联系管理员确认")
392
- } else {
393
- //this.f_dir=res.data[0].f_dir
394
- try {
395
- let res1 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
396
- resolveMsg: '获取居民配置项成功!',
397
- rejectMsg: '获取居民配置项出错!'
398
- })/!*.then(res=>{*!/
399
- console.log('111111111111居民===>', res1.data)
400
- //this.safeConfig["民用配置项"]=Object.assign({},res.data)
401
- Vue.config.safecheck.DevicesConfig = res1.data
402
- /!*})*!/
403
- let res2 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesSetConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
404
- resolveMsg: '获取非居民配置项成功!',
405
- rejectMsg: '获取非居民配置项出错!'
406
- })/!*.then(res=>{*!/
407
- console.log('22222222222222非居民===>', res2.data)
408
- //this.safeConfig["非民用配置项"]=Object.assign({},res.data)
409
- Vue.config.safecheck.DevicesSetConfig = res2.data
410
- /!*}).then(res=> {
411
- })*!/
412
-
413
- } catch (e) {
414
- self.$showMessage("获取配置文件失败" + e)
415
- }
416
- }*/
417
- } catch (error) {
418
- // 忽略704,文件找不到异常R
419
- if (error.status !== 704) {
420
- throw error
421
- }
422
- }
423
- }
424
- export default {
425
- title: '安检单',
426
- props: ['f_plan_id', 'item', 'role'],
427
- data() {
428
- return {
429
- data: {
430
- f_devices: [],
431
- f_defect_content: ''
432
- },
433
- paperdata: {},
434
- picturename: '隐患照片',
435
- defectDevice: {},
436
- hasDevice: false,
437
- deviceCollect: {},
438
- deviceCollects: [],
439
- isshow: false,
440
- ajresult: '',
441
- loading: true,
442
- imgshow: false,
443
- imgshow2: false,
444
- isUpload: false,
445
- livedispose: '',
446
- showimg1: '',
447
- showimg2: '',
448
- showimg3: '',
449
- showimg4: '',
450
- showimg5: '',
451
- showimg6: '',
452
- showimg7: '',
453
- startClick: false, //开始安检按钮是否可点击
454
- isStrat: false, //是否开始安检
455
- checkResult: {},//查询结果
456
- newcheckResult: {},
457
- timer: null,
458
- showModal: false,
459
- pic_to_be_viewed: '',
460
- showBack: true,
461
- devices: [],
462
- devicesAll: [],
463
- configAJ: [],
464
- configRQ: [],
465
- deviceconfig: {},
466
- deviceconfig2: [],
467
- f_devices: [],
468
- config: {
469
- "燃气表": {
470
- "checkmust": true,
471
- "index": 1,
472
- "items": {
473
- "表号":{"index":1,"type":"string","readonly":true},
474
- "气表型号":{"index":2,"type":"string","readonly":true},
475
- "气表品牌":{"index":3,"type":"string","readonly":true},
476
- "进气方向":{"index":4,"type":"string","readonly":true},
477
- "初始表底":{"index":5,"type":"number","isshow":false,"readonly":true},
478
- "上期表读数":{"index":6,"type":"number","readonly":true,isshow:false},
479
- "累购气量":{"index":7,"type":"number","readonly":true},
480
- "已用气量":{"index":8,"type":"number","checkmust": false},//基表数
481
- "剩余气量":{"index":9,"type":"number","checkmust": false},//累购-已用
482
- //显示屏数 --实际剩余气量
483
- "气量异常差值":{"index":10,"type":"number","readonly": true},
484
- "液晶余量":{"index":11,"type":"number"}
485
- }
486
- // 注意,配置项的index必须与上面的固定配置保持'顺序'
487
- }
488
- },
489
- //金额
490
- config2: {
491
- "燃气表": {
492
- "checkmust": true,
493
- "index": 1,
494
- "items": {
495
- "表号":{"index":1,"type":"string","readonly":true},
496
- "气表型号":{"index":2,"type":"string","readonly":true},
497
- "气表品牌":{"index":3,"type":"string","readonly":true},
498
- "进气方向":{"index":4,"type":"string","readonly":true},
499
- "初始表底":{"index":5,"type":"number","isshow":false,"readonly":true},
500
- "上期表读数":{"index":6,"type":"number","readonly":true,isshow:false},
501
- "累购金额":{"index":7,"type":"number","readonly":true},
502
- "已用金额":{"index":8,"type":"number","checkmust": false},
503
- //显示屏数 --实际剩余气量
504
- "剩余金额":{"index":9,"type":"number","checkmust": false},
505
- "金额异常差值":{"index":10,"type":"number","readonly": true},
506
- "液晶余量":{"index":11,"type":"number"}
507
- }
508
- }
509
- },
510
- }
511
- },
512
- components: {
513
- RadioGroup,
514
- Radio,
515
- },
516
- computed: {
517
- isRecodrDownloadBtn(){
518
- // 投诉单下派还是处理
519
- let res = this.$appdata.getSingleValue('无限制录音');
520
- if (res == 'true'){
521
- return true;
522
- }else {
523
- return false;
524
- }
525
- },
526
- selector: {
527
- get() {
528
- return 'paper-state'
529
- },
530
- set(val) {
531
- if (this.isStrat) {
532
- debugger;
533
- this.$goto(val, {userinfo: this.data}, 'paper-router')
534
- } else {
535
- this.$showMessage('未开始安检!')
536
- }
537
- }
538
- },
539
- actionEnabled: {
540
- get() {
541
- return this.role == 'inspect'
542
- }
543
- }
544
- },
545
- methods: {
546
- devicesCollect() {
547
- console.log("4444444")
548
- console.log(JSON.stringify(this.config))
549
- console.log(JSON.stringify(this.deviceconfig2))
550
- console.log("4444444")
551
-
552
- this.deviceCollects = []
553
- let checkResult = '正常'
554
- this.result = '正常'
555
- let codata = JSON.parse(JSON.stringify(this.data))
556
- console.log("111111111111" + JSON.stringify(codata))
557
- for (let device in this.data) {
558
- let f_device_type
559
- if (device.startsWith("device")) {
560
- for (let item in this.data[device]) {
561
- if (this.data[device].length > 1) {
562
- let j = Number.parseInt(item) + 1
563
- f_device_type = `${this.data[device][item].f_device_type}${j}`
564
- } else {
565
- f_device_type = this.data[device][item].f_device_type
566
- }
567
- // console.log('codata[device][item]=>',codata[device][item])
568
- let deviceInfos = []
569
- for (let i in this.data[device][item].f_items) {
570
- let defects = ''
571
- let items = this.data[device][item].f_items[i]
572
- if ((items.type === 'selector' || items.type === 'radio' || items.type === 'checkbox') && items.f_item_value != null && items.f_item_value instanceof Array) {
573
- for (let i in items.f_item_value) {
574
- let f_item_value = items.f_item_value[i]
575
-
576
- console.log('f_item_value => ' + JSON.stringify(f_item_value))
577
- console.log('f_device_type => ' + JSON.stringify(f_device_type))
578
- console.log('this.paper[device][item] => ' + JSON.stringify(this.data[device][item]))
579
- console.log('this.config[this.paper[device][item].f_device_type] => ' + JSON.stringify(this.config[this.data[device][item].f_device_type]))
580
- if (!this.config[this.data[device][item].f_device_type].items[items.f_item_name]) {
581
- continue
582
- }
583
- let options = this.config[this.data[device][item].f_device_type].items[items.f_item_name].options
584
- for (let option in options) {
585
- if (options[option].data == f_item_value) {
586
- if (options[option].isdefect == 'true' || options[option].isdefect == true) {
587
- checkResult = '有隐患'
588
- this.result = '有隐患'
589
- defects = `${defects}:${options[option].data}/`
590
- // let level = options[option].level
591
- }
592
- }
593
- }
594
- console.log('defects=====>' + JSON.stringify(defects))
595
- }
596
- if (defects != '') {
597
- deviceInfos.push(`${items.f_item_name}${defects.substring(0, defects.length - 1)}`)
598
- }
599
- } else if (items.type === 'stringp') {
600
- checkResult = '有隐患'
601
- this.result = '有隐患'
602
- deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
603
- } else if (items.f_item_name == '金额异常差值') {
604
- var deviation = this.$appdata.getSingleValue('金额异常差值允许误差')
605
- console.log(items.f_item_value[0] + '金额异常差值允许误差' + deviation)
606
- if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
607
- if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
608
- checkResult = '有隐患'
609
- this.result = '有隐患'
610
- deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
611
- }
612
- }
613
- } else if (items.f_item_name == '气量异常差值') {
614
- var deviation = this.$appdata.getSingleValue('气量异常差值允许误差')
615
- console.log(items.f_item_value[0] + '气量异常差值允许误差' + deviation)
616
- if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
617
- if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
618
- checkResult = '有隐患'
619
- this.result = '有隐患'
620
- deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
621
- }
622
- }
623
- }
624
- console.log('deviceInfos========>' + JSON.stringify(deviceInfos))
625
- console.log('items.f_is_defect')
626
- console.log(items.f_is_defect)
627
- if (items.type === 'selector') {
628
- items.selected = []
629
- } else if (items.type === 'inputSelector') {
630
- items.selected = ''
631
- }
632
- }
633
-
634
-
635
- console.log('deviceCollect', this.deviceCollect)
636
- this.$set('deviceCollect.name', f_device_type)
637
- this.$set('deviceCollect.value', checkResult)
638
- this.$set('deviceCollect.devices', deviceInfos)
639
- console.log("5555555555" + JSON.stringify(this.deviceCollect))
640
- if (this.deviceCollect.name) {
641
- console.log("999999998888888" + this.deviceCollect.name)
642
- this.deviceCollects.push(JSON.parse(JSON.stringify(this.deviceCollect)))
643
- }
644
-
645
- checkResult = '正常'
646
- this.deviceCollect = {}
647
- }
648
- }
649
- }
650
- if (this.deviceCollects.length > 0) {
651
- this.hasDevice = true
652
- }
653
- this.ajresult = JSON.parse(this.data.f_defect_content).result
654
- this.showimg3 = this.data.f_noanswer_path
655
-
656
- this.showimg5 = this.data.f_noanswer_path1? this.data.f_noanswer_path1.substring(this.data.f_noanswer_path1.lastIndexOf('/')+1,this.data.f_noanswer_path1.lastIndexOf('?')):''
657
- this.showimg6 = this.data.f_noanswer_path2? this.data.f_noanswer_path2.substring(this.data.f_noanswer_path1.lastIndexOf('/')+1,this.data.f_noanswer_path2.lastIndexOf('?')):''
658
- this.showimg7 = this.data.f_noanswer_path3? this.data.f_noanswer_path3.substring(this.data.f_noanswer_path1.lastIndexOf('/')+1,this.data.f_noanswer_path3.lastIndexOf('?')):''
659
- this.showimg4 = this.data.f_rejectcheck_path
660
- this.$set('paperdata',this.data)
661
- //this.paperdata = this.data
662
- this.loading = false
663
- },
664
- imgclose() {
665
- this.imgshow = false
666
- },
667
- putDevices() {
668
- //console.log('Vue.config.safecheck', Vue.config.safecheck.safetype)
669
- this.$set('data.approve', "true")
670
- this.$set('data.writeback', "false")
671
- if (Vue.config.safecheck.ApproveConfig != undefined) {
672
- if (Vue.config.safecheck.ApproveConfig.approve != undefined) {
673
- this.$set('data.approve', Vue.config.safecheck.ApproveConfig.approve)
674
- }
675
- if (Vue.config.safecheck.ApproveConfig.writeback != undefined) {
676
- this.$set('data.writeback', Vue.config.safecheck.ApproveConfig.writeback)
677
- }
678
- if (Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
679
- this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
680
- }
681
- }
682
- console.log('当前安检类型----' + this.item.f_safecheck_type)
683
- console.log(JSON.stringify(this.data))
684
- if (!this.item.f_safecheck_type) {
685
- this.config = this.extend(this.config,Vue.config.safecheck[Vue.config.safecheck.SafecheckType['年度普检'][this.item.f_check_type]])
686
- } else {
687
- if (Vue.config.safecheck.DevicesConfig != undefined)
688
- this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_check_type]])
689
- }
690
- //遍历安检项配置
691
- for (let i in this.config) {
692
- //取得安检项索引值
693
- let n = this.config[i].index
694
- this.devices[n - 1] = {device: i, n: n, checkmust: this.config[i].checkmust}
695
- this.$set('data.' + 'device' + n, [])
696
- let items = []
697
- for (let it in this.config[i].items) {
698
- //赋值下拉选项
699
- if (this.config[i].items[it].type == 'selector') {
700
- for (let op in this.config[i].items[it].options)
701
- if (this.config[i].items[it].options[op].isdefault == true) {
702
- items.push({
703
- f_defect_level: this.config[i].items[it].options[op].level,
704
- f_is_defect: this.config[i].items[it].options[op].isdefect,
705
- f_item_name: it,
706
- f_item_value: this.config[i].items[it].options[op].data,
707
- f_path: "",
708
- type: "selector"
709
- })
710
- }
711
- }
712
- }
713
- n = n + 1
714
- }
715
-
716
- },
717
- showpath(val1, val2) {
718
- console.log("555555555555555555")
719
- console.log(val1)
720
- if (val1) {
721
- this.showimg1 = val1
722
- this.picturename = val2
723
- this.imgshow = true
724
- }
725
- },
726
- showpicture(val1, val2) {
727
- console.log("77777777777777")
728
- if (val2 == '气量异常差值' || val2 == '金额异常差值') {
729
- return
730
- }
731
- for (let i = 0; i < this.devicesAll.length; i++) {
732
- for (let j = 0; j < this.devicesAll[i].length; j++) {
733
- if (this.devicesAll[i][j].f_device_type == val1) {
734
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
735
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
736
- if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
737
- return false
738
- } else {
739
- this.showimg1 = this.devicesAll[i][j].f_items[k].f_path
740
- this.showimg2 = this.devicesAll[i][j].f_items[k].f_second_path
741
- this.picturename = '隐患照片'
742
- this.imgshow = true
743
- return true
744
- }
745
- }
746
- }
747
-
748
- }
749
- }
750
- }
751
- },
752
- isred(val1, val2) {
753
- console.log("77777777777777")
754
- if (val2 == '气量异常差值' || val2 == '金额异常差值') {
755
- return
756
- }
757
- for (let i = 0; i < this.devicesAll.length; i++) {
758
- for (let j = 0; j < this.devicesAll[i].length; j++) {
759
- if (this.devicesAll[i][j].f_device_type == val1) {
760
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
761
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
762
- if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
763
- return false
764
- } else {
765
- return true
766
- }
767
- }
768
- }
769
-
770
- }
771
- }
772
- }
773
- },
774
- showpicture2() {
775
- this.imgshow2 = true
776
- },
777
- getDeviceValue(val1, val2) {
778
- let aa = ''
779
- for (let i = 0; i < this.devicesAll.length; i++) {
780
- for (let j = 0; j < this.devicesAll[i].length; j++) {
781
- if (this.devicesAll[i][j].f_device_type == val1) {
782
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
783
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
784
- if (this.devicesAll[i][j].f_items[k].f_item_lists[0]) {
785
- for (let l = 0; l < this.devicesAll[i][j].f_items[k].f_item_lists.length; l++) {
786
- aa += this.devicesAll[i][j].f_items[k].f_item_lists[l].f_item_value + ' '
787
- }
788
- return aa
789
- }
790
- }
791
- }
792
-
793
- }
794
- }
795
- }
796
-
797
- },
798
- getDevicePath(val1, val2) {
799
- for (let i = 0; i < this.devicesAll.length; i++) {
800
- for (let j = 0; j < this.devicesAll[i].length; j++) {
801
- if (this.devicesAll[i][j].f_device_type == val1) {
802
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
803
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
804
- return this.devicesAll[i][j].f_items[k].f_path
805
- }
806
- }
807
-
808
- }
809
- }
810
- }
811
-
812
- },
813
- getDeviceAll() {
814
- let keyall = Object.keys(this.data)
815
- for (let i = 0; i < keyall.length; i++) {
816
- console.log(JSON.stringify(keyall))
817
- if (keyall[i].startsWith('device') && keyall[i] != 'deviceundefined') {
818
- this.devicesAll.push(this.data[keyall[i]])
819
- console.log(keyall[i])
820
- }
821
- }
822
- console.log("666666666666666666")
823
- console.log(JSON.stringify(this.devicesAll))
824
- this.devicesCollect()
825
-
826
- },
827
-
828
- back() {
829
- if (this.role == 'inspect') {
830
- if (!this.isStrat) {
831
- this.$back()
832
- return
833
- } else {
834
- this.savePaper(true).then(() => {
835
- this.$back()
836
- this.isStrat = false
837
- })
838
- }
839
- } else {
840
- this.$back()
841
- }
842
- },
843
- checkIsStart() {
844
- alert('asdad')
845
- return
846
- },
847
-
848
- viewPic(fileName) {
849
- console.log('view pic: ' + fileName)
850
- if (this.role == 'view') {
851
- if (!fileName.endsWith('nopic.png')) {
852
- this.pic_to_be_viewed = fileName
853
- this.showModal = true
854
- }
855
- } else {
856
- HostApp.viewPic(fileName)
857
- }
858
- },
859
- tick() {
860
- this.timer = null
861
- this.data.f_offsite_time = Util.toStandardTimeString()
862
- this.timer = window.setTimeout(this.tick, 1000)
863
- },
864
- getRepairState() {
865
- let repaired = true
866
- this.data.f_defects.forEach((defect) => {
867
- repaired = repaired & (defect.f_ratification == '已处理')
868
- })
869
- return repaired
870
- },
871
- verifyRepairDefects() {
872
- this.data.f_repair_date = Util.toStandardTimeString()
873
- this.data.f_repaired = this.getRepairState() ? '已修' : '在修'
874
- },
875
- genuineSave(saveOnly) {
876
- HostApp.__this__.save(saveOnly)
877
- if (!saveOnly)
878
- HostApp.__this__.disableTimer()
879
- HostApp.__callback__ = null
880
- HostApp.__this__ = null
881
- },
882
- setUrgency() {
883
- this.data.f_defect_urgency = 'Z'
884
- let that = this
885
- this.data.f_defects.forEach(function (defect) {
886
- if (that.data.f_defect_urgency > defect.f_defect_level.charAt(0))
887
- that.data.f_defect_urgency = defect.f_defect_level.charAt(0)
888
- })
889
- if (this.data.f_defect_urgency == 'Z')
890
- this.data.f_defect_urgency = null
891
- },
892
- disableTimer() {
893
- if (this.timer) {
894
- window.clearTimeout(this.timer)
895
- this.timer = null
896
- }
897
- },
898
- loaded(paper) {
899
- if (!paper.hasOwnProperty('id')) {
900
- this.$showMessage("该安检单在手机上已经不存在,可能是卸载过程序。可以进入重新安检,或返回安检计划。")
901
- this.init()
902
- } else {
903
- Util.booleanFilter(paper)
904
- HostApp.__this__.$set('data', paper)
905
- HostApp.__this__.$goto('paper-state', {}, 'paper-router')
906
- // 如果打回重检则重新计时
907
- console.log('HostApp.__this__.role' + HostApp.__this__.role + ' HostApp.__this__.f_approved:' + HostApp.__this__.data.f_approved)
908
- if (HostApp.__this__.role == 'inspect'
909
- && HostApp.__this__.data.f_approved
910
- && HostApp.__this__.data.f_approved == '打回') {
911
- console.log('打回')
912
- HostApp.__this__.data.f_onsite_time = Util.toStandardTimeString()
913
- HostApp.__this__.tick()
914
- }
915
- }
916
- HostApp.__callback__ = null
917
- HostApp.__this__ = null
918
- },
919
- S4() {
920
- return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
921
- },
922
- init() {
923
- this.data.f_noplan_item_id = this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4()
924
- this.data.ename = Vue.user.ename
925
- this.data.f_outlets = Vue.user.f_parentname
926
- this.data.f_meetunit = Vue.user.orgpathnames
927
- this.data.orgpathstr = Vue.user.orgpathstr
928
- this.data.f_check_item_id = this.item.id
929
- this.data.f_check_plan_id = this.f_plan_id
930
- this.data.f_checker_id = Vue.user.id
931
- this.data.f_checker_name = Vue.user.name
932
- this.data.f_check_type = this.item.f_user_type
933
- this.data.f_subcompany = this.item.f_subcompany
934
- this.data.f_approved = this.item.f_approved
935
- this.data.f_repair_approved = this.item.f_repair_approved
936
- this.data.f_no_checkplan = this.item.f_no_checkplan
937
- this.data.f_approved = this.item.f_approved
938
- this.data.f_filialeid = this.item.f_filialeid
939
- this.data.f_orgstr = this.item.f_orgstr
940
- this.data.version = this.item.version
941
- this.$set('data.f_meters', this.item.f_plan_meters)
942
- this.$set('data.f_userinfo_code', this.item.f_userinfo_code)
943
- // 安检状态
944
- this.$set('data.f_entry_status', '入户')
945
- this.$set('data.f_usegas', '已使用')
946
- this.$set('data.f_state', this.item.f_state)
947
- // 用户信息
948
- this.$set('data.f_user_name', this.item.f_user_name)
949
- this.$set('data.f_user_phone', this.item.f_user_phone)
950
- this.$set('data.f_userinfoid', this.item.f_userinfoid)
951
- this.$set('data.f_address', this.item.f_address)
952
- this.$set('data.f_card_id', this.item.f_card_id)
953
- this.$set('data.f_area', this.item.f_area)
954
- this.$set('data.f_street', this.item.f_street)
955
- this.$set('data.f_room', this.item.f_room)
956
- this.$set('data.f_building', this.item.f_building)
957
- this.$set('data.f_unit', this.item.f_unit)
958
- this.$set('data.f_floor', this.item.f_floor)
959
- this.$set('data.f_residential_area', this.item.f_residential_area)
960
- this.$set('data.f_idnumber', this.item.f_idnumber)
961
- this.$set('data.f_comments', this.item.f_comments)
962
- this.$set('data.f_userproperties', this.item.f_userproperties)
963
- // 处置方式
964
- this.$set('data.f_no_gas_device', false)
965
- this.$set('data.f_close_valve', false)
966
- this.$set('data.f_unload_battery', false)
967
- if (this.data.f_check_item_id == '' && this.item.f_no_checkplan == '无计划安检') {
968
- this.data.f_check_item_id = this.data.f_noplan_item_id
969
- }
970
-
971
- //房屋结构
972
- // this.$set('data.f_room_style', '多层')
973
- //供暖方式
974
- // this.$set('data.f_heating_style', '热力公司集中供暖')
975
- if (this.item.f_plan_meters) {
976
- for (let de in this.devices) {
977
- this.$set('data.device' + this.devices[de].n, [])
978
- for (let i = 0; i < this.item.f_plan_meters.length; i++) {
979
- if (this.item.f_plan_meters[i].f_meter_type) {
980
- if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_meter_type.indexOf('机表') > 0) {
981
- delete this.config['燃气表']['items']['累计购气量']
982
- this.data['device' + this.devices[de].n].push({
983
- f_device_type: "燃气表",
984
- f_items: [{
985
- f_defect_level: null,
986
- f_device_id: "",
987
- f_is_defect: "",
988
- f_item_name: "表品牌",
989
- f_item_value: this.item.f_plan_meters[i].f_aliasname,
990
- f_path: "",
991
- type: "string"
992
- },
993
- {
994
- f_defect_level: null,
995
- f_device_id: "",
996
- f_is_defect: "",
997
- f_item_name: "位置",
998
- f_item_value: this.item.f_plan_meters[i].f_weizhi,
999
- f_path: "",
1000
- type: "selector"
1001
- },
1002
- {
1003
- f_defect_level: null,
1004
- f_device_id: "",
1005
- f_is_defect: "",
1006
- f_item_name: "表号",
1007
- f_item_value: this.item.f_plan_meters[i].f_meter_no,
1008
- f_path: "",
1009
- type: "number"
1010
- },
1011
- {
1012
- f_defect_level: null,
1013
- f_device_id: "",
1014
- f_is_defect: "",
1015
- f_item_name: "表封号",
1016
- f_item_value: this.item.f_plan_meters[i].f_metertitles,
1017
- f_path: "",
1018
- type: "number"
1019
- },
1020
- {
1021
- f_defect_level: null,
1022
- f_device_id: "",
1023
- f_is_defect: "",
1024
- f_item_name: "表型号",
1025
- f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1026
- f_path: "",
1027
- type: "selector"
1028
- },
1029
- {
1030
- f_defect_level: null,
1031
- f_device_id: "",
1032
- f_is_defect: "",
1033
- f_item_name: "表底数",
1034
- f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1035
- f_path: "",
1036
- type: "number"
1037
- }
1038
- ]
1039
- })
1040
- } else if (this.devices[de].device == "燃气表") {
1041
- delete this.config['燃气表']['items']['表底数']
1042
- this.data['device' + this.devices[de].n].push({
1043
- f_device_type: "燃气表",
1044
- f_items: [{
1045
- f_defect_level: null,
1046
- f_device_id: "",
1047
- f_is_defect: "",
1048
- f_item_name: "表品牌",
1049
- f_item_value: this.item.f_plan_meters[i].f_aliasname,
1050
- f_path: "",
1051
- type: "string"
1052
- },
1053
- {
1054
- f_defect_level: null,
1055
- f_device_id: "",
1056
- f_is_defect: "",
1057
- f_item_name: "位置",
1058
- f_item_value: this.item.f_plan_meters[i].f_weizhi,
1059
- f_path: "",
1060
- type: "selector"
1061
- },
1062
- {
1063
- f_defect_level: null,
1064
- f_device_id: "",
1065
- f_is_defect: "",
1066
- f_item_name: "表号",
1067
- f_item_value: this.item.f_plan_meters[i].f_meter_no,
1068
- f_path: "",
1069
- type: "number"
1070
- },
1071
- {
1072
- f_defect_level: null,
1073
- f_device_id: "",
1074
- f_is_defect: "",
1075
- f_item_name: "表封号",
1076
- f_item_value: this.item.f_plan_meters[i].f_metertitles,
1077
- f_path: "",
1078
- type: "number"
1079
- },
1080
- {
1081
- f_defect_level: null,
1082
- f_device_id: "",
1083
- f_is_defect: "",
1084
- f_item_name: "表型号",
1085
- f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1086
- f_path: "",
1087
- type: "selector"
1088
- },
1089
- {
1090
- f_defect_level: null,
1091
- f_device_id: "",
1092
- f_is_defect: "",
1093
- f_item_name: "累计购气量",
1094
- f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1095
- f_path: "",
1096
- type: "number"
1097
- }
1098
- ]
1099
- })
1100
- }
1101
- }
1102
- }
1103
- }
1104
- }
1105
-
1106
- this.$goto('paper-state', {}, 'paper-router')
1107
- },
1108
- extend(initalObj, finalObj) {
1109
- var obj = finalObj || {};
1110
- for (var i in initalObj) {
1111
- var prop = initalObj[i];
1112
-
1113
- // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
1114
- if (prop === obj) {
1115
- continue;
1116
- }
1117
-
1118
- if (typeof prop === 'object') {
1119
- if (obj[i]) {
1120
- this.extend(obj[i], prop)
1121
- } else {
1122
- obj[i] = prop;
1123
- }
1124
- }
1125
- }
1126
- return obj;
1127
- },
1128
- //获取当前时间
1129
- getNowFormatDate() {
1130
- var date = new Date();
1131
- var seperator1 = "-";
1132
- var seperator2 = ":";
1133
- var month = date.getMonth() + 1;
1134
- var strDate = date.getDate();
1135
- if (month >= 1 && month <= 9) {
1136
- month = "0" + month;
1137
- }
1138
- if (strDate >= 0 && strDate <= 9) {
1139
- strDate = "0" + strDate;
1140
- }
1141
- var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1142
- + " " + date.getHours() + seperator2 + date.getMinutes()
1143
- + seperator2 + date.getSeconds();
1144
- return currentdate;
1145
- }
1146
- },
1147
- ready() {
1148
- this.putDevices()
1149
- if (this.item.f_state != '未检' || this.item.f_no_checkplan == '无计划安检') {
1150
- if (this.role != 'inspect') {
1151
- let that = this
1152
- let id
1153
- if (this.role == 'view') {
1154
- id = this.item.id
1155
- } else if (this.role == 'androidview') {
1156
- id = this.item.f_paper_id
1157
- }
1158
- this.$resetpost(`rs/path/getUserinfomation`, {data: {condition: `id = '${id}'`}}).then((respanse) => {
1159
- console.log('result....', respanse)
1160
- if (respanse.data.length != 0) {
1161
- // 包含 其它 特殊处理的数组
1162
- // 对应位置
1163
-
1164
- console.log('devices => ', respanse.data[0])
1165
-
1166
- that.data = Object.assign(that.data, respanse.data[0])
1167
- if (respanse.data[0].f_devices) {
1168
- for (let da in that.devices) {
1169
- that.$set('data.device' + that.devices[da].n, [])
1170
- }
1171
- respanse.data[0].f_devices.forEach((item) => {
1172
- for (let de in that.devices) {
1173
- if (that.devices[de].device == item.f_device_type) {
1174
- item.f_items.forEach((f_item) => {
1175
- console.log('f_item====>', f_item)
1176
- console.log('f_item.f_path====>', f_item.f_path)
1177
- let itemValues = []
1178
- f_item.f_item_lists.forEach((tempItem) => {
1179
- console.log('emm => ', f_item.f_item_name, ' ', tempItem.f_item_value)
1180
- if (tempItem.f_item_value !== 'null') {
1181
- itemValues.push(tempItem.f_item_value)
1182
- }
1183
- })
1184
- f_item.f_item_value = itemValues
1185
- })
1186
- that.data['device' + that.devices[de].n].push({
1187
- f_device_type: item.f_device_type,
1188
- f_items: item.f_items
1189
- })
1190
- }
1191
- }
1192
- })
1193
- }
1194
- Util.replaceFalse(that.data)
1195
- Util.booleanFilter(that.data)
1196
- if (this.role == 'view') {
1197
- Util.ratifyPics(that.data)
1198
- Util.ratifyPics(that.picture)
1199
- } else {
1200
- Util.androidRatifyPics(that.data, this.$androidUtil.getProxyUrl())
1201
- }
1202
- console.log("that.data:", that.data)
1203
- }
1204
- // this.$goto('paper-message-blank', {userinfo:this.data,devices:this.devices,config:this.config,role:this.role}, 'self')
1205
- this.isshow = true
1206
- asyncReady(this).then(() => {
1207
- console.log("66666666666"+JSON.stringify(Vue.config.safecheck.DevicesConfig))
1208
- console.log(JSON.stringify(this.data))
1209
- if (this.data.f_check_type == '民用') {
1210
- this.deviceconfig = Vue.config.safecheck.DevicesConfig
1211
- console.log("deviceconfig1==>" + JSON.stringify(this.deviceconfig))
1212
- } else if (this.data.f_check_type == '非民用') {
1213
- this.deviceconfig = Vue.config.safecheck.DevicesSetConfig
1214
- console.log("deviceconfig2==>" + JSON.stringify(this.deviceconfig))
1215
- }
1216
- if (this.data.f_collection_type == '按金额') {
1217
- let aaa = Object.assign({}, this.config2["燃气表"].items, this.deviceconfig["燃气表"].items)
1218
- this.deviceconfig["燃气表"].items = aaa
1219
- //this.deviceconfig["燃气表"]=this.config2["燃气表"]
1220
- console.log("deviceconfig3==>" + JSON.stringify(this.deviceconfig))
1221
- } else {
1222
- let aaa = Object.assign({}, this.config["燃气表"].items, this.deviceconfig["燃气表"].items)
1223
- this.deviceconfig["燃气表"].items = aaa
1224
- console.log("deviceconfig4==>" + JSON.stringify(this.deviceconfig))
1225
- }
1226
- this.deviceconfig2 = ObjConfig.getObjConfig(this.deviceconfig)
1227
- this.deviceconfig2[0].items = jsonSort(this.deviceconfig2[0].items, "index")
1228
- this.deviceconfig2[1].items = jsonSort(this.deviceconfig2[1].items, "index")
1229
- this.deviceconfig2 = jsonSort(this.deviceconfig2, "index")
1230
- this.getDeviceAll()
1231
-
1232
-
1233
- })
1234
- }
1235
- ).catch(
1236
- (respanse) => {
1237
- console.log('respanse', respanse)
1238
- alert('查找安检单失败')
1239
- })
1240
- }
1241
- }
1242
-
1243
- },
1244
- watch: {
1245
- // 'isUpload'(val){
1246
- // console.log('isUpload发生变化===>'+val)
1247
- // }
1248
- },
1249
- destroyed() {
1250
- console.log('退出当前页Set')
1251
- this.disableTimer()
1252
- }
1253
- }
1254
-
1255
- </script>
1256
- <style scoped>
1257
- .table-striped thead tr th {
1258
- background-color: rgb(223, 237, 251);
1259
- padding: 10px;
1260
- border-left: solid 0px #dae4f2;
1261
- border-top: solid 1px #dae4f2;
1262
- border-right: none;
1263
- border-bottom: none;
1264
- text-align: center;
1265
- color: black;
1266
- }
1267
- </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_remark }}</td>-->
112
+ <td style="text-align: center;border: #E9E9E9 solid 1px">小区名称:</td>
113
+ <td style="text-align: center;border: #E9E9E9 solid 1px" colspan="3" >{{ 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_remark }}
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_entry_status=='入户'&& item.f_recording1_path && isRecodrDownloadBtn">
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
+ <a class="button_spacing button_search-1" :download="item.f_user_name+'-'+item.f_check_type+'-'+录音文件.arm"
259
+ :href="'rs/image/file/'+item.f_recording1_path" >录音下载</a>
260
+ </div>
261
+ </td>
262
+ </tr>
263
+ </tbody>
264
+ </table>
265
+ </div>
266
+ </div>
267
+ <div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
268
+ <div class="col-md-6" style="height: 100%;overflow: scroll">
269
+ <div style="width: 95%;margin-left: 5%">
270
+ <table class="table table-striped table-bordered" v-for="config in deviceconfig2">
271
+ <thead v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
272
+ <tr>
273
+ <th style="text-align: center">{{ config.checkname }}</th>
274
+ </tr>
275
+ </thead>
276
+ <tbody v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
277
+ <tr v-for="dev in config.items">
278
+ <td v-if="dev.type!='text' && dev.isshow!=false">
279
+ <div class="row">
280
+ <div class="col-md-8" style="text-align: center;">
281
+ <label>
282
+ <button-link type="button" class="btn btn-link" @click="showpicture(config.checkname,dev.lname)"
283
+ :style="isred(config.checkname,dev.lname)?'color:red':'color:black'">
284
+ {{ dev.lname }}
285
+ </button-link>
286
+ </label>
287
+ </div>
288
+ <div class="col-md-4" style="text-align: center">
289
+ <label style="font-weight: normal"
290
+ v-if="dev.type!='picture'">{{ getDeviceValue(config.checkname, dev.lname) ? getDeviceValue(config.checkname, dev.lname) : '无' }}</label>
291
+ <label style="font-weight: normal" v-if="dev.type=='picture'">
292
+ <div v-show="getDevicePath(config.checkname,dev.lname)">
293
+ <button-link style="color: black" type="button" class="btn btn-link"
294
+ @click="showpath(getDevicePath(config.checkname,dev.lname),dev.lname)">查看照片
295
+ </button-link>
296
+ </div>
297
+ <div v-show="!getDevicePath(config.checkname,dev.lname)">无照片</div>
298
+ </label>
299
+ </div>
300
+ </div>
301
+ </td>
302
+ <td v-if="dev.type==='text' && dev.isshow!=false">
303
+ <label style="width: 100%;text-align: center">{{ dev.lname }}</label>
304
+ </td>
305
+ </tr>
306
+ </tbody>
307
+ </table>
308
+ </div>
309
+ </div>
310
+
311
+ </div>
312
+ </div>
313
+ </div>
314
+ <modal :show.sync="imgshow" v-ref:modal backdrop="true">
315
+ <header slot="modal-header" class="modal-header">
316
+ {{ picturename }}
317
+ </header>
318
+ <article slot="modal-body" class="modal-body">
319
+ <div class="from-group">
320
+ <div class="row">
321
+ <div class="col-md-6">
322
+ <img-self-safe v-if="showimg1" :src="showimg1" width="300" height="400"></img-self-safe>
323
+ </div>
324
+ <div class="col-md-6">
325
+ <img-self-safe v-if="showimg2" :src="showimg2" width="300" height="400"></img-self-safe>
326
+ </div>
327
+ </div>
328
+ </div>
329
+ </article>
330
+ <footer slot="modal-footer" class="modal-footer" v-show="false">
331
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
332
+ </footer>
333
+ </modal>
334
+ <modal :show.sync="imgshow2" v-ref:modal backdrop="true">
335
+ <header slot="modal-header" class="modal-header">
336
+ {{ paperdata.f_entry_status }}照片
337
+ </header>
338
+ <article slot="modal-body" class="modal-body">
339
+ <div class="from-group">
340
+ <div class="row">
341
+ <div class="col-md-6">
342
+ <img-self-safe v-if="this.paperdata.f_entry_status=='到访不遇'" :src="showimg3" width="300"
343
+ height="400"></img-self-safe>
344
+ <img-self-safe v-if="(this.paperdata.f_entry_status=='到访不遇' && showimg5)" :src="'/rs/image/file/'+showimg5" width="300"
345
+ height="400"></img-self-safe>
346
+ <img-self-safe v-if="(this.paperdata.f_entry_status=='到访不遇' && showimg6)" :src="'/rs/image/file/'+showimg6" width="300"
347
+ height="400"></img-self-safe>
348
+ <img-self-safe v-if="(this.paperdata.f_entry_status=='到访不遇' && showimg7)" :src="'/rs/image/file/'+showimg7" width="300"
349
+ height="400"></img-self-safe>
350
+ </div>
351
+ <div class="col-md-6">
352
+ <img-self-safe v-if="this.paperdata.f_entry_status=='拒检'" :src="showimg4" width="300"
353
+ height="400"></img-self-safe>
354
+ </div>
355
+ </div>
356
+ </div>
357
+ </article>
358
+ <footer slot="modal-footer" class="modal-footer" v-show="false">
359
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
360
+ </footer>
361
+ </modal>
362
+ </template>
363
+
364
+ <script>
365
+ // import PaperUserm from './PaperUserm'
366
+ // import PaperStatem from './PaperStatem'
367
+ // import Devicesm from './Devicesm'
368
+ // import PaperFeedbackm from './PaperFeedbackm'
369
+ import ObjConfig from '../../../utils/GerJsonObjectConfig'
370
+ import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
371
+ import Radio from 'vue-client/src/vue-strap/src/radioBtn'
372
+ import Vue from 'vue'
373
+ import * as Util from '../../Util'
374
+ import {jsonSort} from '../../../utils/LdapHelper'
375
+ import {HttpResetClass} from "vue-client";
376
+
377
+ let asyncReady = async function (self) {
378
+ // 获取配置信息
379
+ try {
380
+ /*let res = await new HttpResetClass().load('post', 'rs/sql/safe_singleTable_OrderBy', {
381
+ data: {
382
+ items: 'f_dir',
383
+ tablename: 't_organization',
384
+ condition: `id = '${self.item.f_filialeid}'`,
385
+ orderitem: 'id'
386
+ }
387
+ })/!*.then(res=>{*!/
388
+ console.log("aaaaaaaaaaaaaaaa")
389
+ console.log(JSON.stringify(res.data[0].f_dir))
390
+ if (!res.data[0].f_dir) {
391
+ self.$showMessage("该公司无组织目录,无法获取配置文件,请联系管理员确认")
392
+ } else {
393
+ //this.f_dir=res.data[0].f_dir
394
+ try {
395
+ let res1 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
396
+ resolveMsg: '获取居民配置项成功!',
397
+ rejectMsg: '获取居民配置项出错!'
398
+ })/!*.then(res=>{*!/
399
+ console.log('111111111111居民===>', res1.data)
400
+ //this.safeConfig["民用配置项"]=Object.assign({},res.data)
401
+ Vue.config.safecheck.DevicesConfig = res1.data
402
+ /!*})*!/
403
+ let res2 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesSetConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
404
+ resolveMsg: '获取非居民配置项成功!',
405
+ rejectMsg: '获取非居民配置项出错!'
406
+ })/!*.then(res=>{*!/
407
+ console.log('22222222222222非居民===>', res2.data)
408
+ //this.safeConfig["非民用配置项"]=Object.assign({},res.data)
409
+ Vue.config.safecheck.DevicesSetConfig = res2.data
410
+ /!*}).then(res=> {
411
+ })*!/
412
+
413
+ } catch (e) {
414
+ self.$showMessage("获取配置文件失败" + e)
415
+ }
416
+ }*/
417
+ } catch (error) {
418
+ // 忽略704,文件找不到异常R
419
+ if (error.status !== 704) {
420
+ throw error
421
+ }
422
+ }
423
+ }
424
+ export default {
425
+ title: '安检单',
426
+ props: ['f_plan_id', 'item', 'role'],
427
+ data() {
428
+ return {
429
+ data: {
430
+ f_devices: [],
431
+ f_defect_content: ''
432
+ },
433
+ paperdata: {},
434
+ picturename: '隐患照片',
435
+ defectDevice: {},
436
+ hasDevice: false,
437
+ deviceCollect: {},
438
+ deviceCollects: [],
439
+ isshow: false,
440
+ ajresult: '',
441
+ loading: true,
442
+ imgshow: false,
443
+ imgshow2: false,
444
+ isUpload: false,
445
+ livedispose: '',
446
+ showimg1: '',
447
+ showimg2: '',
448
+ showimg3: '',
449
+ showimg4: '',
450
+ showimg5: '',
451
+ showimg6: '',
452
+ showimg7: '',
453
+ startClick: false, //开始安检按钮是否可点击
454
+ isStrat: false, //是否开始安检
455
+ checkResult: {},//查询结果
456
+ newcheckResult: {},
457
+ timer: null,
458
+ showModal: false,
459
+ pic_to_be_viewed: '',
460
+ showBack: true,
461
+ devices: [],
462
+ devicesAll: [],
463
+ configAJ: [],
464
+ configRQ: [],
465
+ deviceconfig: {},
466
+ deviceconfig2: [],
467
+ f_devices: [],
468
+ config: {
469
+ "燃气表": {
470
+ "checkmust": true,
471
+ "index": 1,
472
+ "items": {
473
+ "表号":{"index":1,"type":"string","readonly":true},
474
+ "气表型号":{"index":2,"type":"string","readonly":true},
475
+ "气表品牌":{"index":3,"type":"string","readonly":true},
476
+ "进气方向":{"index":4,"type":"string","readonly":true},
477
+ "初始表底":{"index":5,"type":"number","isshow":false,"readonly":true},
478
+ "上期表读数":{"index":6,"type":"number","readonly":true,isshow:false},
479
+ "累购气量":{"index":7,"type":"number","readonly":true},
480
+ "已用气量":{"index":8,"type":"number","checkmust": false},//基表数
481
+ "剩余气量":{"index":9,"type":"number","checkmust": false},//累购-已用
482
+ //显示屏数 --实际剩余气量
483
+ "气量异常差值":{"index":10,"type":"number","readonly": true},
484
+ "液晶余量":{"index":11,"type":"number"}
485
+ }
486
+ // 注意,配置项的index必须与上面的固定配置保持'顺序'
487
+ }
488
+ },
489
+ //金额
490
+ config2: {
491
+ "燃气表": {
492
+ "checkmust": true,
493
+ "index": 1,
494
+ "items": {
495
+ "表号":{"index":1,"type":"string","readonly":true},
496
+ "气表型号":{"index":2,"type":"string","readonly":true},
497
+ "气表品牌":{"index":3,"type":"string","readonly":true},
498
+ "进气方向":{"index":4,"type":"string","readonly":true},
499
+ "初始表底":{"index":5,"type":"number","isshow":false,"readonly":true},
500
+ "上期表读数":{"index":6,"type":"number","readonly":true,isshow:false},
501
+ "累购金额":{"index":7,"type":"number","readonly":true},
502
+ "已用金额":{"index":8,"type":"number","checkmust": false},
503
+ //显示屏数 --实际剩余气量
504
+ "剩余金额":{"index":9,"type":"number","checkmust": false},
505
+ "金额异常差值":{"index":10,"type":"number","readonly": true},
506
+ "液晶余量":{"index":11,"type":"number"}
507
+ }
508
+ }
509
+ },
510
+ }
511
+ },
512
+ components: {
513
+ RadioGroup,
514
+ Radio,
515
+ },
516
+ computed: {
517
+ isRecodrDownloadBtn(){
518
+ // 投诉单下派还是处理
519
+ let res = this.$appdata.getSingleValue('无限制录音');
520
+ if (res == 'true'){
521
+ return true;
522
+ }else {
523
+ return false;
524
+ }
525
+ },
526
+ selector: {
527
+ get() {
528
+ return 'paper-state'
529
+ },
530
+ set(val) {
531
+ if (this.isStrat) {
532
+ debugger;
533
+ this.$goto(val, {userinfo: this.data}, 'paper-router')
534
+ } else {
535
+ this.$showMessage('未开始安检!')
536
+ }
537
+ }
538
+ },
539
+ actionEnabled: {
540
+ get() {
541
+ return this.role == 'inspect'
542
+ }
543
+ }
544
+ },
545
+ methods: {
546
+ devicesCollect() {
547
+ console.log("4444444")
548
+ console.log(JSON.stringify(this.config))
549
+ console.log(JSON.stringify(this.deviceconfig2))
550
+ console.log("4444444")
551
+
552
+ this.deviceCollects = []
553
+ let checkResult = '正常'
554
+ this.result = '正常'
555
+ let codata = JSON.parse(JSON.stringify(this.data))
556
+ console.log("111111111111" + JSON.stringify(codata))
557
+ for (let device in this.data) {
558
+ let f_device_type
559
+ if (device.startsWith("device")) {
560
+ for (let item in this.data[device]) {
561
+ if (this.data[device].length > 1) {
562
+ let j = Number.parseInt(item) + 1
563
+ f_device_type = `${this.data[device][item].f_device_type}${j}`
564
+ } else {
565
+ f_device_type = this.data[device][item].f_device_type
566
+ }
567
+ // console.log('codata[device][item]=>',codata[device][item])
568
+ let deviceInfos = []
569
+ for (let i in this.data[device][item].f_items) {
570
+ let defects = ''
571
+ let items = this.data[device][item].f_items[i]
572
+ if ((items.type === 'selector' || items.type === 'radio' || items.type === 'checkbox') && items.f_item_value != null && items.f_item_value instanceof Array) {
573
+ for (let i in items.f_item_value) {
574
+ let f_item_value = items.f_item_value[i]
575
+
576
+ console.log('f_item_value => ' + JSON.stringify(f_item_value))
577
+ console.log('f_device_type => ' + JSON.stringify(f_device_type))
578
+ console.log('this.paper[device][item] => ' + JSON.stringify(this.data[device][item]))
579
+ console.log('this.config[this.paper[device][item].f_device_type] => ' + JSON.stringify(this.config[this.data[device][item].f_device_type]))
580
+ if (!this.config[this.data[device][item].f_device_type].items[items.f_item_name]) {
581
+ continue
582
+ }
583
+ let options = this.config[this.data[device][item].f_device_type].items[items.f_item_name].options
584
+ for (let option in options) {
585
+ if (options[option].data == f_item_value) {
586
+ if (options[option].isdefect == 'true' || options[option].isdefect == true) {
587
+ checkResult = '有隐患'
588
+ this.result = '有隐患'
589
+ defects = `${defects}:${options[option].data}/`
590
+ // let level = options[option].level
591
+ }
592
+ }
593
+ }
594
+ console.log('defects=====>' + JSON.stringify(defects))
595
+ }
596
+ if (defects != '') {
597
+ deviceInfos.push(`${items.f_item_name}${defects.substring(0, defects.length - 1)}`)
598
+ }
599
+ } else if (items.type === 'stringp') {
600
+ checkResult = '有隐患'
601
+ this.result = '有隐患'
602
+ deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
603
+ } else if (items.f_item_name == '金额异常差值') {
604
+ var deviation = this.$appdata.getSingleValue('金额异常差值允许误差')
605
+ console.log(items.f_item_value[0] + '金额异常差值允许误差' + deviation)
606
+ if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
607
+ if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
608
+ checkResult = '有隐患'
609
+ this.result = '有隐患'
610
+ deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
611
+ }
612
+ }
613
+ } else if (items.f_item_name == '气量异常差值') {
614
+ var deviation = this.$appdata.getSingleValue('气量异常差值允许误差')
615
+ console.log(items.f_item_value[0] + '气量异常差值允许误差' + deviation)
616
+ if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
617
+ if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
618
+ checkResult = '有隐患'
619
+ this.result = '有隐患'
620
+ deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
621
+ }
622
+ }
623
+ }
624
+ console.log('deviceInfos========>' + JSON.stringify(deviceInfos))
625
+ console.log('items.f_is_defect')
626
+ console.log(items.f_is_defect)
627
+ if (items.type === 'selector') {
628
+ items.selected = []
629
+ } else if (items.type === 'inputSelector') {
630
+ items.selected = ''
631
+ }
632
+ }
633
+
634
+
635
+ console.log('deviceCollect', this.deviceCollect)
636
+ this.$set('deviceCollect.name', f_device_type)
637
+ this.$set('deviceCollect.value', checkResult)
638
+ this.$set('deviceCollect.devices', deviceInfos)
639
+ console.log("5555555555" + JSON.stringify(this.deviceCollect))
640
+ if (this.deviceCollect.name) {
641
+ console.log("999999998888888" + this.deviceCollect.name)
642
+ this.deviceCollects.push(JSON.parse(JSON.stringify(this.deviceCollect)))
643
+ }
644
+
645
+ checkResult = '正常'
646
+ this.deviceCollect = {}
647
+ }
648
+ }
649
+ }
650
+ if (this.deviceCollects.length > 0) {
651
+ this.hasDevice = true
652
+ }
653
+ this.ajresult = JSON.parse(this.data.f_defect_content).result
654
+ this.showimg3 = this.data.f_noanswer_path
655
+
656
+ this.showimg5 = this.data.f_noanswer_path1? this.data.f_noanswer_path1.substring(this.data.f_noanswer_path1.lastIndexOf('/')+1,this.data.f_noanswer_path1.lastIndexOf('?')):''
657
+ this.showimg6 = this.data.f_noanswer_path2? this.data.f_noanswer_path2.substring(this.data.f_noanswer_path1.lastIndexOf('/')+1,this.data.f_noanswer_path2.lastIndexOf('?')):''
658
+ this.showimg7 = this.data.f_noanswer_path3? this.data.f_noanswer_path3.substring(this.data.f_noanswer_path1.lastIndexOf('/')+1,this.data.f_noanswer_path3.lastIndexOf('?')):''
659
+ this.showimg4 = this.data.f_rejectcheck_path
660
+ this.$set('paperdata',this.data)
661
+ //this.paperdata = this.data
662
+ this.loading = false
663
+ },
664
+ imgclose() {
665
+ this.imgshow = false
666
+ },
667
+ putDevices() {
668
+ //console.log('Vue.config.safecheck', Vue.config.safecheck.safetype)
669
+ this.$set('data.approve', "true")
670
+ this.$set('data.writeback', "false")
671
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
672
+ if (Vue.config.safecheck.ApproveConfig.approve != undefined) {
673
+ this.$set('data.approve', Vue.config.safecheck.ApproveConfig.approve)
674
+ }
675
+ if (Vue.config.safecheck.ApproveConfig.writeback != undefined) {
676
+ this.$set('data.writeback', Vue.config.safecheck.ApproveConfig.writeback)
677
+ }
678
+ if (Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
679
+ this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
680
+ }
681
+ }
682
+ console.log('当前安检类型----' + this.item.f_safecheck_type)
683
+ console.log(JSON.stringify(this.data))
684
+ if (!this.item.f_safecheck_type) {
685
+ this.config = this.extend(this.config,Vue.config.safecheck[Vue.config.safecheck.SafecheckType['年度普检'][this.item.f_check_type]])
686
+ } else {
687
+ if (Vue.config.safecheck.DevicesConfig != undefined)
688
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_check_type]])
689
+ }
690
+ //遍历安检项配置
691
+ for (let i in this.config) {
692
+ //取得安检项索引值
693
+ let n = this.config[i].index
694
+ this.devices[n - 1] = {device: i, n: n, checkmust: this.config[i].checkmust}
695
+ this.$set('data.' + 'device' + n, [])
696
+ let items = []
697
+ for (let it in this.config[i].items) {
698
+ //赋值下拉选项
699
+ if (this.config[i].items[it].type == 'selector') {
700
+ for (let op in this.config[i].items[it].options)
701
+ if (this.config[i].items[it].options[op].isdefault == true) {
702
+ items.push({
703
+ f_defect_level: this.config[i].items[it].options[op].level,
704
+ f_is_defect: this.config[i].items[it].options[op].isdefect,
705
+ f_item_name: it,
706
+ f_item_value: this.config[i].items[it].options[op].data,
707
+ f_path: "",
708
+ type: "selector"
709
+ })
710
+ }
711
+ }
712
+ }
713
+ n = n + 1
714
+ }
715
+
716
+ },
717
+ showpath(val1, val2) {
718
+ console.log("555555555555555555")
719
+ console.log(val1)
720
+ if (val1) {
721
+ this.showimg1 = val1
722
+ this.picturename = val2
723
+ this.imgshow = true
724
+ }
725
+ },
726
+ showpicture(val1, val2) {
727
+ console.log("77777777777777")
728
+ if (val2 == '气量异常差值' || val2 == '金额异常差值') {
729
+ return
730
+ }
731
+ for (let i = 0; i < this.devicesAll.length; i++) {
732
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
733
+ if (this.devicesAll[i][j].f_device_type == val1) {
734
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
735
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
736
+ if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
737
+ return false
738
+ } else {
739
+ this.showimg1 = this.devicesAll[i][j].f_items[k].f_path
740
+ this.showimg2 = this.devicesAll[i][j].f_items[k].f_second_path
741
+ this.picturename = '隐患照片'
742
+ this.imgshow = true
743
+ return true
744
+ }
745
+ }
746
+ }
747
+
748
+ }
749
+ }
750
+ }
751
+ },
752
+ isred(val1, val2) {
753
+ console.log("77777777777777")
754
+ if (val2 == '气量异常差值' || val2 == '金额异常差值') {
755
+ return
756
+ }
757
+ for (let i = 0; i < this.devicesAll.length; i++) {
758
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
759
+ if (this.devicesAll[i][j].f_device_type == val1) {
760
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
761
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
762
+ if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
763
+ return false
764
+ } else {
765
+ return true
766
+ }
767
+ }
768
+ }
769
+
770
+ }
771
+ }
772
+ }
773
+ },
774
+ showpicture2() {
775
+ this.imgshow2 = true
776
+ },
777
+ getDeviceValue(val1, val2) {
778
+ let aa = ''
779
+ for (let i = 0; i < this.devicesAll.length; i++) {
780
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
781
+ if (this.devicesAll[i][j].f_device_type == val1) {
782
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
783
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
784
+ if (this.devicesAll[i][j].f_items[k].f_item_lists[0]) {
785
+ for (let l = 0; l < this.devicesAll[i][j].f_items[k].f_item_lists.length; l++) {
786
+ aa += this.devicesAll[i][j].f_items[k].f_item_lists[l].f_item_value + ' '
787
+ }
788
+ return aa
789
+ }
790
+ }
791
+ }
792
+
793
+ }
794
+ }
795
+ }
796
+
797
+ },
798
+ getDevicePath(val1, val2) {
799
+ for (let i = 0; i < this.devicesAll.length; i++) {
800
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
801
+ if (this.devicesAll[i][j].f_device_type == val1) {
802
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
803
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
804
+ return this.devicesAll[i][j].f_items[k].f_path
805
+ }
806
+ }
807
+
808
+ }
809
+ }
810
+ }
811
+
812
+ },
813
+ getDeviceAll() {
814
+ let keyall = Object.keys(this.data)
815
+ for (let i = 0; i < keyall.length; i++) {
816
+ console.log(JSON.stringify(keyall))
817
+ if (keyall[i].startsWith('device') && keyall[i] != 'deviceundefined') {
818
+ this.devicesAll.push(this.data[keyall[i]])
819
+ console.log(keyall[i])
820
+ }
821
+ }
822
+ console.log("666666666666666666")
823
+ console.log(JSON.stringify(this.devicesAll))
824
+ this.devicesCollect()
825
+
826
+ },
827
+
828
+ back() {
829
+ if (this.role == 'inspect') {
830
+ if (!this.isStrat) {
831
+ this.$back()
832
+ return
833
+ } else {
834
+ this.savePaper(true).then(() => {
835
+ this.$back()
836
+ this.isStrat = false
837
+ })
838
+ }
839
+ } else {
840
+ this.$back()
841
+ }
842
+ },
843
+ checkIsStart() {
844
+ alert('asdad')
845
+ return
846
+ },
847
+
848
+ viewPic(fileName) {
849
+ console.log('view pic: ' + fileName)
850
+ if (this.role == 'view') {
851
+ if (!fileName.endsWith('nopic.png')) {
852
+ this.pic_to_be_viewed = fileName
853
+ this.showModal = true
854
+ }
855
+ } else {
856
+ HostApp.viewPic(fileName)
857
+ }
858
+ },
859
+ tick() {
860
+ this.timer = null
861
+ this.data.f_offsite_time = Util.toStandardTimeString()
862
+ this.timer = window.setTimeout(this.tick, 1000)
863
+ },
864
+ getRepairState() {
865
+ let repaired = true
866
+ this.data.f_defects.forEach((defect) => {
867
+ repaired = repaired & (defect.f_ratification == '已处理')
868
+ })
869
+ return repaired
870
+ },
871
+ verifyRepairDefects() {
872
+ this.data.f_repair_date = Util.toStandardTimeString()
873
+ this.data.f_repaired = this.getRepairState() ? '已修' : '在修'
874
+ },
875
+ genuineSave(saveOnly) {
876
+ HostApp.__this__.save(saveOnly)
877
+ if (!saveOnly)
878
+ HostApp.__this__.disableTimer()
879
+ HostApp.__callback__ = null
880
+ HostApp.__this__ = null
881
+ },
882
+ setUrgency() {
883
+ this.data.f_defect_urgency = 'Z'
884
+ let that = this
885
+ this.data.f_defects.forEach(function (defect) {
886
+ if (that.data.f_defect_urgency > defect.f_defect_level.charAt(0))
887
+ that.data.f_defect_urgency = defect.f_defect_level.charAt(0)
888
+ })
889
+ if (this.data.f_defect_urgency == 'Z')
890
+ this.data.f_defect_urgency = null
891
+ },
892
+ disableTimer() {
893
+ if (this.timer) {
894
+ window.clearTimeout(this.timer)
895
+ this.timer = null
896
+ }
897
+ },
898
+ loaded(paper) {
899
+ if (!paper.hasOwnProperty('id')) {
900
+ this.$showMessage("该安检单在手机上已经不存在,可能是卸载过程序。可以进入重新安检,或返回安检计划。")
901
+ this.init()
902
+ } else {
903
+ Util.booleanFilter(paper)
904
+ HostApp.__this__.$set('data', paper)
905
+ HostApp.__this__.$goto('paper-state', {}, 'paper-router')
906
+ // 如果打回重检则重新计时
907
+ console.log('HostApp.__this__.role' + HostApp.__this__.role + ' HostApp.__this__.f_approved:' + HostApp.__this__.data.f_approved)
908
+ if (HostApp.__this__.role == 'inspect'
909
+ && HostApp.__this__.data.f_approved
910
+ && HostApp.__this__.data.f_approved == '打回') {
911
+ console.log('打回')
912
+ HostApp.__this__.data.f_onsite_time = Util.toStandardTimeString()
913
+ HostApp.__this__.tick()
914
+ }
915
+ }
916
+ HostApp.__callback__ = null
917
+ HostApp.__this__ = null
918
+ },
919
+ S4() {
920
+ return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
921
+ },
922
+ init() {
923
+ this.data.f_noplan_item_id = this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4()
924
+ this.data.ename = Vue.user.ename
925
+ this.data.f_outlets = Vue.user.f_parentname
926
+ this.data.f_meetunit = Vue.user.orgpathnames
927
+ this.data.orgpathstr = Vue.user.orgpathstr
928
+ this.data.f_check_item_id = this.item.id
929
+ this.data.f_check_plan_id = this.f_plan_id
930
+ this.data.f_checker_id = Vue.user.id
931
+ this.data.f_checker_name = Vue.user.name
932
+ this.data.f_check_type = this.item.f_user_type
933
+ this.data.f_subcompany = this.item.f_subcompany
934
+ this.data.f_approved = this.item.f_approved
935
+ this.data.f_repair_approved = this.item.f_repair_approved
936
+ this.data.f_no_checkplan = this.item.f_no_checkplan
937
+ this.data.f_approved = this.item.f_approved
938
+ this.data.f_filialeid = this.item.f_filialeid
939
+ this.data.f_orgstr = this.item.f_orgstr
940
+ this.data.version = this.item.version
941
+ this.$set('data.f_meters', this.item.f_plan_meters)
942
+ this.$set('data.f_userinfo_code', this.item.f_userinfo_code)
943
+ // 安检状态
944
+ this.$set('data.f_entry_status', '入户')
945
+ this.$set('data.f_usegas', '已使用')
946
+ this.$set('data.f_state', this.item.f_state)
947
+ // 用户信息
948
+ this.$set('data.f_user_name', this.item.f_user_name)
949
+ this.$set('data.f_user_phone', this.item.f_user_phone)
950
+ this.$set('data.f_userinfoid', this.item.f_userinfoid)
951
+ this.$set('data.f_address', this.item.f_address)
952
+ this.$set('data.f_card_id', this.item.f_card_id)
953
+ this.$set('data.f_area', this.item.f_area)
954
+ this.$set('data.f_street', this.item.f_street)
955
+ this.$set('data.f_room', this.item.f_room)
956
+ this.$set('data.f_building', this.item.f_building)
957
+ this.$set('data.f_unit', this.item.f_unit)
958
+ this.$set('data.f_floor', this.item.f_floor)
959
+ this.$set('data.f_residential_area', this.item.f_residential_area)
960
+ this.$set('data.f_idnumber', this.item.f_idnumber)
961
+ this.$set('data.f_comments', this.item.f_comments)
962
+ this.$set('data.f_userproperties', this.item.f_userproperties)
963
+ // 处置方式
964
+ this.$set('data.f_no_gas_device', false)
965
+ this.$set('data.f_close_valve', false)
966
+ this.$set('data.f_unload_battery', false)
967
+ if (this.data.f_check_item_id == '' && this.item.f_no_checkplan == '无计划安检') {
968
+ this.data.f_check_item_id = this.data.f_noplan_item_id
969
+ }
970
+
971
+ //房屋结构
972
+ // this.$set('data.f_room_style', '多层')
973
+ //供暖方式
974
+ // this.$set('data.f_heating_style', '热力公司集中供暖')
975
+ if (this.item.f_plan_meters) {
976
+ for (let de in this.devices) {
977
+ this.$set('data.device' + this.devices[de].n, [])
978
+ for (let i = 0; i < this.item.f_plan_meters.length; i++) {
979
+ if (this.item.f_plan_meters[i].f_meter_type) {
980
+ if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_meter_type.indexOf('机表') > 0) {
981
+ delete this.config['燃气表']['items']['累计购气量']
982
+ this.data['device' + this.devices[de].n].push({
983
+ f_device_type: "燃气表",
984
+ f_items: [{
985
+ f_defect_level: null,
986
+ f_device_id: "",
987
+ f_is_defect: "",
988
+ f_item_name: "表品牌",
989
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
990
+ f_path: "",
991
+ type: "string"
992
+ },
993
+ {
994
+ f_defect_level: null,
995
+ f_device_id: "",
996
+ f_is_defect: "",
997
+ f_item_name: "位置",
998
+ f_item_value: this.item.f_plan_meters[i].f_weizhi,
999
+ f_path: "",
1000
+ type: "selector"
1001
+ },
1002
+ {
1003
+ f_defect_level: null,
1004
+ f_device_id: "",
1005
+ f_is_defect: "",
1006
+ f_item_name: "表号",
1007
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
1008
+ f_path: "",
1009
+ type: "number"
1010
+ },
1011
+ {
1012
+ f_defect_level: null,
1013
+ f_device_id: "",
1014
+ f_is_defect: "",
1015
+ f_item_name: "表封号",
1016
+ f_item_value: this.item.f_plan_meters[i].f_metertitles,
1017
+ f_path: "",
1018
+ type: "number"
1019
+ },
1020
+ {
1021
+ f_defect_level: null,
1022
+ f_device_id: "",
1023
+ f_is_defect: "",
1024
+ f_item_name: "表型号",
1025
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1026
+ f_path: "",
1027
+ type: "selector"
1028
+ },
1029
+ {
1030
+ f_defect_level: null,
1031
+ f_device_id: "",
1032
+ f_is_defect: "",
1033
+ f_item_name: "表底数",
1034
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1035
+ f_path: "",
1036
+ type: "number"
1037
+ }
1038
+ ]
1039
+ })
1040
+ } else if (this.devices[de].device == "燃气表") {
1041
+ delete this.config['燃气表']['items']['表底数']
1042
+ this.data['device' + this.devices[de].n].push({
1043
+ f_device_type: "燃气表",
1044
+ f_items: [{
1045
+ f_defect_level: null,
1046
+ f_device_id: "",
1047
+ f_is_defect: "",
1048
+ f_item_name: "表品牌",
1049
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
1050
+ f_path: "",
1051
+ type: "string"
1052
+ },
1053
+ {
1054
+ f_defect_level: null,
1055
+ f_device_id: "",
1056
+ f_is_defect: "",
1057
+ f_item_name: "位置",
1058
+ f_item_value: this.item.f_plan_meters[i].f_weizhi,
1059
+ f_path: "",
1060
+ type: "selector"
1061
+ },
1062
+ {
1063
+ f_defect_level: null,
1064
+ f_device_id: "",
1065
+ f_is_defect: "",
1066
+ f_item_name: "表号",
1067
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
1068
+ f_path: "",
1069
+ type: "number"
1070
+ },
1071
+ {
1072
+ f_defect_level: null,
1073
+ f_device_id: "",
1074
+ f_is_defect: "",
1075
+ f_item_name: "表封号",
1076
+ f_item_value: this.item.f_plan_meters[i].f_metertitles,
1077
+ f_path: "",
1078
+ type: "number"
1079
+ },
1080
+ {
1081
+ f_defect_level: null,
1082
+ f_device_id: "",
1083
+ f_is_defect: "",
1084
+ f_item_name: "表型号",
1085
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1086
+ f_path: "",
1087
+ type: "selector"
1088
+ },
1089
+ {
1090
+ f_defect_level: null,
1091
+ f_device_id: "",
1092
+ f_is_defect: "",
1093
+ f_item_name: "累计购气量",
1094
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1095
+ f_path: "",
1096
+ type: "number"
1097
+ }
1098
+ ]
1099
+ })
1100
+ }
1101
+ }
1102
+ }
1103
+ }
1104
+ }
1105
+
1106
+ this.$goto('paper-state', {}, 'paper-router')
1107
+ },
1108
+ extend(initalObj, finalObj) {
1109
+ var obj = finalObj || {};
1110
+ for (var i in initalObj) {
1111
+ var prop = initalObj[i];
1112
+
1113
+ // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
1114
+ if (prop === obj) {
1115
+ continue;
1116
+ }
1117
+
1118
+ if (typeof prop === 'object') {
1119
+ if (obj[i]) {
1120
+ this.extend(obj[i], prop)
1121
+ } else {
1122
+ obj[i] = prop;
1123
+ }
1124
+ }
1125
+ }
1126
+ return obj;
1127
+ },
1128
+ //获取当前时间
1129
+ getNowFormatDate() {
1130
+ var date = new Date();
1131
+ var seperator1 = "-";
1132
+ var seperator2 = ":";
1133
+ var month = date.getMonth() + 1;
1134
+ var strDate = date.getDate();
1135
+ if (month >= 1 && month <= 9) {
1136
+ month = "0" + month;
1137
+ }
1138
+ if (strDate >= 0 && strDate <= 9) {
1139
+ strDate = "0" + strDate;
1140
+ }
1141
+ var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1142
+ + " " + date.getHours() + seperator2 + date.getMinutes()
1143
+ + seperator2 + date.getSeconds();
1144
+ return currentdate;
1145
+ }
1146
+ },
1147
+ ready() {
1148
+ this.putDevices()
1149
+ if (this.item.f_state != '未检' || this.item.f_no_checkplan == '无计划安检') {
1150
+ if (this.role != 'inspect') {
1151
+ let that = this
1152
+ let id
1153
+ if (this.role == 'view') {
1154
+ id = this.item.id
1155
+ } else if (this.role == 'androidview') {
1156
+ id = this.item.f_paper_id
1157
+ }
1158
+ this.$resetpost(`rs/path/getUserinfomation`, {data: {condition: `id = '${id}'`}}).then((respanse) => {
1159
+ console.log('result....', respanse)
1160
+ if (respanse.data.length != 0) {
1161
+ // 包含 其它 特殊处理的数组
1162
+ // 对应位置
1163
+
1164
+ console.log('devices => ', respanse.data[0])
1165
+
1166
+ that.data = Object.assign(that.data, respanse.data[0])
1167
+ if (respanse.data[0].f_devices) {
1168
+ for (let da in that.devices) {
1169
+ that.$set('data.device' + that.devices[da].n, [])
1170
+ }
1171
+ respanse.data[0].f_devices.forEach((item) => {
1172
+ for (let de in that.devices) {
1173
+ if (that.devices[de].device == item.f_device_type) {
1174
+ item.f_items.forEach((f_item) => {
1175
+ console.log('f_item====>', f_item)
1176
+ console.log('f_item.f_path====>', f_item.f_path)
1177
+ let itemValues = []
1178
+ f_item.f_item_lists.forEach((tempItem) => {
1179
+ console.log('emm => ', f_item.f_item_name, ' ', tempItem.f_item_value)
1180
+ if (tempItem.f_item_value !== 'null') {
1181
+ itemValues.push(tempItem.f_item_value)
1182
+ }
1183
+ })
1184
+ f_item.f_item_value = itemValues
1185
+ })
1186
+ that.data['device' + that.devices[de].n].push({
1187
+ f_device_type: item.f_device_type,
1188
+ f_items: item.f_items
1189
+ })
1190
+ }
1191
+ }
1192
+ })
1193
+ }
1194
+ Util.replaceFalse(that.data)
1195
+ Util.booleanFilter(that.data)
1196
+ if (this.role == 'view') {
1197
+ Util.ratifyPics(that.data)
1198
+ Util.ratifyPics(that.picture)
1199
+ } else {
1200
+ Util.androidRatifyPics(that.data, this.$androidUtil.getProxyUrl())
1201
+ }
1202
+ console.log("that.data:", that.data)
1203
+ }
1204
+ // this.$goto('paper-message-blank', {userinfo:this.data,devices:this.devices,config:this.config,role:this.role}, 'self')
1205
+ this.isshow = true
1206
+ asyncReady(this).then(() => {
1207
+ console.log("66666666666"+JSON.stringify(Vue.config.safecheck.DevicesConfig))
1208
+ console.log(JSON.stringify(this.data))
1209
+ if (this.data.f_check_type == '民用') {
1210
+ this.deviceconfig = Vue.config.safecheck.DevicesConfig
1211
+ console.log("deviceconfig1==>" + JSON.stringify(this.deviceconfig))
1212
+ } else if (this.data.f_check_type == '非民用') {
1213
+ this.deviceconfig = Vue.config.safecheck.DevicesSetConfig
1214
+ console.log("deviceconfig2==>" + JSON.stringify(this.deviceconfig))
1215
+ }
1216
+ if (this.data.f_collection_type == '按金额') {
1217
+ let aaa = Object.assign({}, this.config2["燃气表"].items, this.deviceconfig["燃气表"].items)
1218
+ this.deviceconfig["燃气表"].items = aaa
1219
+ //this.deviceconfig["燃气表"]=this.config2["燃气表"]
1220
+ console.log("deviceconfig3==>" + JSON.stringify(this.deviceconfig))
1221
+ } else {
1222
+ let aaa = Object.assign({}, this.config["燃气表"].items, this.deviceconfig["燃气表"].items)
1223
+ this.deviceconfig["燃气表"].items = aaa
1224
+ console.log("deviceconfig4==>" + JSON.stringify(this.deviceconfig))
1225
+ }
1226
+ this.deviceconfig2 = ObjConfig.getObjConfig(this.deviceconfig)
1227
+ this.deviceconfig2[0].items = jsonSort(this.deviceconfig2[0].items, "index")
1228
+ this.deviceconfig2[1].items = jsonSort(this.deviceconfig2[1].items, "index")
1229
+ this.deviceconfig2 = jsonSort(this.deviceconfig2, "index")
1230
+ this.getDeviceAll()
1231
+
1232
+
1233
+ })
1234
+ }
1235
+ ).catch(
1236
+ (respanse) => {
1237
+ console.log('respanse', respanse)
1238
+ alert('查找安检单失败')
1239
+ })
1240
+ }
1241
+ }
1242
+
1243
+ },
1244
+ watch: {
1245
+ // 'isUpload'(val){
1246
+ // console.log('isUpload发生变化===>'+val)
1247
+ // }
1248
+ },
1249
+ destroyed() {
1250
+ console.log('退出当前页Set')
1251
+ this.disableTimer()
1252
+ }
1253
+ }
1254
+
1255
+ </script>
1256
+ <style scoped>
1257
+ .table-striped thead tr th {
1258
+ background-color: rgb(223, 237, 251);
1259
+ padding: 10px;
1260
+ border-left: solid 0px #dae4f2;
1261
+ border-top: solid 1px #dae4f2;
1262
+ border-right: none;
1263
+ border-bottom: none;
1264
+ text-align: center;
1265
+ color: black;
1266
+ }
1267
+ </style>