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,1275 +1,1275 @@
1
- <style scoped>
2
- .img {
3
- border: 1px solid #9773ed;
4
- width: auto;
5
- height: auto;
6
- float: left;
7
- text-align: center;
8
- margin: 6px;
9
- }
10
-
11
- img {
12
- margin: 6px;
13
- }
14
-
15
-
16
- .container {
17
- margin: 10px auto;
18
- width: 80%;
19
- height: auto;
20
- }
21
-
22
- div::-webkit-scrollbar {
23
- width: 0 !important;
24
- height: 0 !important;
25
- }
26
-
27
- div {
28
- -ms-overflow-style: none;
29
- overflow: -moz-scrollbars-none;
30
- }
31
-
32
- .divmask {
33
- pointer-events: none;
34
- }
35
-
36
- .app-header {
37
- border-radius: 50%;
38
- background: rgba(73, 158, 223, 0.4);
39
- color: #FFF;
40
- padding: 20px;
41
- text-align: center;
42
- font-size: 1.2em;
43
- z-index: 10;
44
- opacity: 0.5;
45
- bottom: 50px;
46
- margin-top: -20px;
47
- position: absolute;
48
- top: 10%;
49
- right: 2%;
50
- height: 8%;
51
- }
52
- </style>
53
-
54
- <template>
55
- <div class="basic-main" style="height: 100%">
56
- <div class="page-header app-header auto" style="padding: 15px;margin-right: 10px;right: 0%;height: 7%">
57
- <div @click="back()">
58
- <img src="../../../assets/back.png" style="margin: 0px"/>
59
- </div>
60
- </div>
61
- <work-busy :is-busy="loading"></work-busy>
62
- <div class="container-fluid" style="overflow: scroll">
63
- <div class="row">
64
- <div class="col-md-5" style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
65
- <div style="width: 100%;margin: auto">
66
- <table class="table table-striped table-bordered" style="margin-bottom: 6px">
67
- <thead>
68
- <tr>
69
- <th colspan="6" style="text-align: center">用户基本信息</th>
70
- </tr>
71
- </thead>
72
- <tbody>
73
- <tr>
74
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
75
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_userinfo_code }}</td>
76
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
77
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_user_name }}</td>
78
- </tr>
79
- <tr>
80
- <td style="text-align: center;border: #E9E9E9 solid 1px">证件号码:</td>
81
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_idnumber }}</td>
82
- <td style="text-align: center;border: #E9E9E9 solid 1px">用户类型:</td>
83
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_check_type }}</td>
84
- </tr>
85
- <tr>
86
- <td style="text-align: center;border: #E9E9E9 solid 1px">用户电话:</td>
87
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_user_phone }}</td>
88
- <td style="text-align: center;border: #E9E9E9 solid 1px">区 / 县:</td>
89
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_area }}</td>
90
- </tr>
91
- <tr>
92
- <td style="text-align: center;border: #E9E9E9 solid 1px">街 道:</td>
93
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_street }}</td>
94
- <td style="text-align: center;border: #E9E9E9 solid 1px">楼 号:</td>
95
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_building }}</td>
96
- </tr>
97
- <tr>
98
- <td style="text-align: center;border: #E9E9E9 solid 1px">单 元:</td>
99
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_unit }}</td>
100
- <td style="text-align: center;border: #E9E9E9 solid 1px">楼 层:</td>
101
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_floor }}</td>
102
- </tr>
103
- <tr>
104
- <td style="text-align: center;border: #E9E9E9 solid 1px">门 牌 号 :</td>
105
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_room }}</td>
106
- <td style="text-align: center;border: #E9E9E9 solid 1px">用户性质:</td>
107
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_userproperties }}</td>
108
- </tr>
109
- <tr>
110
- <td style="text-align: center;border: #E9E9E9 solid 1px">备注信息:</td>
111
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_comments }}</td>
112
- <td style="text-align: center;border: #E9E9E9 solid 1px">小区名称:</td>
113
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_residential_area }}</td>
114
- </tr>
115
- <tr>
116
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细住址:</td>
117
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_address }}</td>
118
- </tr>
119
- </tbody>
120
- </table>
121
- <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'">
122
- <thead>
123
- <tr>
124
- <th colspan="4" style="text-align: center">用户安检概况</th>
125
- </tr>
126
- </thead>
127
- <tbody>
128
- <tr>
129
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
130
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
131
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
132
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_offsite_time }}</td>
133
- </tr>
134
- <tr>
135
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
136
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_entry_status }}</td>
137
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">燃气使用:</td>
138
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_usegas }}</td>
139
- </tr>
140
- <tr>
141
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">用户满意度:</td>
142
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">{{
143
- paperdata.f_client_evaluation
144
- }}
145
- </td>
146
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">安检结果:</td>
147
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">{{ ajresult }}</td>
148
- </tr>
149
- <tr>
150
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">备注:</td>
151
- <td colspan="3"
152
- style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
153
- {{ paperdata.f_repair_approved_note }}
154
- </td>
155
- </tr>
156
- <tr>
157
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">隐患详情:</td>
158
- <td colspan="3"
159
- style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
160
- <span v-for="deviceCollect in deviceCollects">
161
- <span class="li-font">
162
- {{ deviceCollect.name }}:{{ deviceCollect.value }}&nbsp;&nbsp;&nbsp;
163
- </span>
164
- <br>
165
- <span v-if="deviceCollect.value == '有隐患'">
166
- <lable>
167
- 隐患:
168
- </lable>
169
- <span class="li-font" v-for="val in deviceCollect.devices">
170
- {{ val }}&nbsp;&nbsp;&nbsp;
171
- </span><br>
172
- </span>
173
-
174
- </span>
175
- </td>
176
- </tr>
177
-
178
- </tbody>
179
- </table>
180
- <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status!='入户'">
181
- <thead>
182
- <tr>
183
- <th colspan="4" style="text-align: center">用户安检概况</th>
184
- </tr>
185
- </thead>
186
- <tbody>
187
- <tr>
188
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
189
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
190
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
191
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_offsite_time }}</td>
192
- </tr>
193
- <tr>
194
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
195
- <td colspan="2" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
196
- {{ paperdata.f_entry_status }}
197
- </td>
198
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">
199
- <button-link style="color: black" type="button" class="btn btn-link" @click="showpicture2()">
200
- {{ dev.lname }}
201
- 查看{{ data.f_entry_status }}照片
202
- </button-link>
203
- </td>
204
- </tr>
205
-
206
- </tbody>
207
- </table>
208
- <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'">
209
- <thead>
210
- <tr>
211
- <th style="text-align: center">总体安检照片</th>
212
- </tr>
213
- </thead>
214
- <tbody>
215
- <tr>
216
- <td style="margin: auto;text-align: center">
217
- <div class="container" style="max-width: 550px;background: #FFFFFF">
218
- <div class="img" v-for="img in paperdata.f_overall_imgs">
219
- <img-self-safe :src="img.f_overall_path" style="float: left" width="150"
220
- height="200"></img-self-safe>
221
- </div>
222
- </div>
223
-
224
-
225
- </td>
226
-
227
- </tr>
228
- </tbody>
229
- </table>
230
- <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'">
231
- <thead>
232
- <tr>
233
- <th style="text-align: center">用户签名照片</th>
234
- </tr>
235
- </thead>
236
- <tbody>
237
- <tr>
238
- <td style="margin: auto;text-align: center">
239
- <div class="container" style="max-width: 500px;background: #FFFFFF">
240
- <div class="img" style="float: none">
241
- <img-self-safe :src="paperdata.f_sign_path" width="486" height="300"></img-self-safe>
242
- </div>
243
- </div>
244
- </td>
245
- </tr>
246
- </tbody>
247
- </table>
248
- <table class="table table-striped table-bordered" v-show="paperdata.f_notified_path">
249
- <thead>
250
- <tr>
251
- <th style="text-align: center">安检通知单/隐患整改单</th>
252
- </tr>
253
- </thead>
254
- <tbody>
255
- <tr>
256
- <td style="margin: auto;text-align: center">
257
- <div class="container" style="max-width: 500px;background: #FFFFFF">
258
- <div class="img" style="float: none">
259
- <img-self-safe :src="paperdata.f_notified_path" width="486" height="300"></img-self-safe>
260
- </div>
261
- </div>
262
- </td>
263
- </tr>
264
- </tbody>
265
- </table>
266
-
267
- <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'&& item.f_recording1_path && isRecodrDownloadBtn">
268
- <thead>
269
- <tr>
270
- <th style="text-align: center">录音文件</th>
271
- </tr>
272
- </thead>
273
- <tbody>
274
- <tr>
275
- <td style="margin: auto;text-align: center">
276
- <div class="container" style="max-width: 500px;background: #FFFFFF">
277
- <a class="button_spacing button_search-1" :download="item.f_user_name+'-'+item.f_check_type+'-'+录音文件.arm"
278
- :href="'rs/image/file/'+item.f_recording1_path" >录音下载</a>
279
- </div>
280
- </td>
281
- </tr>
282
- </tbody>
283
- </table>
284
- </div>
285
- </div>
286
- <div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
287
- <div class="col-md-6" style="height: 100%;overflow: scroll">
288
- <div style="width: 95%;margin-left: 5%">
289
- <table class="table table-striped table-bordered" v-for="config in deviceconfig2">
290
- <thead v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
291
- <tr>
292
- <th style="text-align: center">{{ config.checkname }}</th>
293
- </tr>
294
- </thead>
295
- <tbody v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
296
- <tr v-for="dev in config.items">
297
- <td v-if="dev.type!='text'">
298
- <div class="row">
299
- <div class="col-md-8" style="text-align: center;">
300
- <label>
301
- <button-link type="button" class="btn btn-link" @click="showpicture(config.checkname,dev.lname)"
302
- :style="isred(config.checkname,dev.lname)?'color:red':'color:black'">
303
- {{ dev.lname }}
304
- </button-link>
305
- </label>
306
- </div>
307
- <div class="col-md-4" style="text-align: center">
308
- <label style="font-weight: normal"
309
- v-if="dev.type!='picture'">{{ getDeviceValue(config.checkname, dev.lname) ? getDeviceValue(config.checkname, dev.lname) : '无' }}</label>
310
- <label style="font-weight: normal" v-if="dev.type=='picture'">
311
- <div v-show="getDevicePath(config.checkname,dev.lname)">
312
- <button-link style="color: black" type="button" class="btn btn-link"
313
- @click="showpath(getDevicePath(config.checkname,dev.lname),dev.lname)">查看照片
314
- </button-link>
315
- </div>
316
- <div v-show="!getDevicePath(config.checkname,dev.lname)">无照片</div>
317
- </label>
318
- </div>
319
- </div>
320
- </td>
321
- <td v-if="dev.type==='text'">
322
- <label style="width: 100%;text-align: center">{{ dev.lname }}</label>
323
- </td>
324
- </tr>
325
- </tbody>
326
- </table>
327
- </div>
328
- </div>
329
-
330
- </div>
331
- </div>
332
- </div>
333
- <modal :show.sync="imgshow" v-ref:modal backdrop="true">
334
- <header slot="modal-header" class="modal-header">
335
- {{ picturename }}
336
- </header>
337
- <article slot="modal-body" class="modal-body">
338
- <div class="from-group">
339
- <div class="row">
340
- <div class="col-md-6">
341
- <img-self-safe v-if="showimg1" :src="showimg1" width="300" height="400"></img-self-safe>
342
- </div>
343
- <div class="col-md-6">
344
- <img-self-safe v-if="showimg2" :src="showimg2" width="300" height="400"></img-self-safe>
345
- </div>
346
- </div>
347
- </div>
348
- </article>
349
- <footer slot="modal-footer" class="modal-footer" v-show="false">
350
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
351
- </footer>
352
- </modal>
353
- <modal :show.sync="imgshow2" v-ref:modal backdrop="true">
354
- <header slot="modal-header" class="modal-header">
355
- {{ paperdata.f_entry_status }}照片
356
- </header>
357
- <article slot="modal-body" class="modal-body">
358
- <div class="from-group">
359
- <div class="row">
360
- <div class="col-md-6">
361
- <img-self-safe v-if="this.paperdata.f_entry_status=='到访不遇'" :src="showimg3" width="300"
362
- height="400"></img-self-safe>
363
- </div>
364
- <div class="col-md-6">
365
- <img-self-safe v-if="this.paperdata.f_entry_status=='拒检'" :src="showimg4" width="300"
366
- height="400"></img-self-safe>
367
- </div>
368
- </div>
369
- </div>
370
- </article>
371
- <footer slot="modal-footer" class="modal-footer" v-show="false">
372
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
373
- </footer>
374
- </modal>
375
- </template>
376
-
377
- <script>
378
- // import PaperUserm from './PaperUserm'
379
- // import PaperStatem from './PaperStatem'
380
- // import Devicesm from './Devicesm'
381
- // import PaperFeedbackm from './PaperFeedbackm'
382
- import ObjConfig from '../../../utils/GerJsonObjectConfig'
383
- import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
384
- import Radio from 'vue-client/src/vue-strap/src/radioBtn'
385
- import Vue from 'vue'
386
- import * as Util from '../../Util'
387
- import {jsonSort} from '../../../utils/LdapHelper'
388
- import {HttpResetClass} from "vue-client";
389
-
390
- let asyncReady = async function (self) {
391
- // 获取配置信息
392
- try {
393
- let res = await new HttpResetClass().load('post', 'rs/sql/tel_singleTable_OrderBy', {
394
- data: {
395
- items: 'f_dir',
396
- tablename: 't_organization',
397
- condition: `id = '${self.item.f_filialeid}'`,
398
- orderitem: 'id'
399
- }
400
- })/*.then(res=>{*/
401
- console.log("aaaaaaaaaaaaaaaa")
402
- console.log(JSON.stringify(res.data[0].f_dir))
403
- if (!res.data[0].f_dir) {
404
- self.$showMessage("该公司无组织目录,无法获取配置文件,请联系管理员确认")
405
- } else {
406
- //this.f_dir=res.data[0].f_dir
407
- try {
408
- let res1 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
409
- resolveMsg: '获取居民配置项成功!',
410
- rejectMsg: '获取居民配置项出错!'
411
- })/*.then(res=>{*/
412
- console.log('111111111111居民===>', res1.data)
413
- //this.safeConfig["民用配置项"]=Object.assign({},res.data)
414
- Vue.config.safecheck.DevicesConfig = res1.data
415
- /*})*/
416
- let res2 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesSetConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
417
- resolveMsg: '获取非居民配置项成功!',
418
- rejectMsg: '获取非居民配置项出错!'
419
- })/*.then(res=>{*/
420
- console.log('22222222222222非居民===>', res2.data)
421
- //this.safeConfig["非民用配置项"]=Object.assign({},res.data)
422
- Vue.config.safecheck.DevicesSetConfig = res2.data
423
- /*}).then(res=> {
424
- })*/
425
-
426
- } catch (e) {
427
- self.$showMessage("获取配置文件失败" + e)
428
- }
429
- }
430
- } catch (error) {
431
- // 忽略704,文件找不到异常R
432
- if (error.status !== 704) {
433
- throw error
434
- }
435
- }
436
- }
437
- export default {
438
- title: '安检单',
439
- props: ['f_plan_id', 'item', 'role'],
440
- data() {
441
- return {
442
- data: {
443
- f_devices: [],
444
- f_defect_content: ''
445
- },
446
- paperdata: {},
447
- picturename: '隐患照片',
448
- defectDevice: {},
449
- hasDevice: false,
450
- deviceCollect: {},
451
- deviceCollects: [],
452
- isshow: false,
453
- ajresult: '',
454
- loading: true,
455
- imgshow: false,
456
- imgshow2: false,
457
- isUpload: false,
458
- livedispose: '',
459
- showimg1: '',
460
- showimg2: '',
461
- showimg3: '',
462
- showimg4: '',
463
- startClick: false, //开始安检按钮是否可点击
464
- isStrat: false, //是否开始安检
465
- checkResult: {},//查询结果
466
- newcheckResult: {},
467
- timer: null,
468
- showModal: false,
469
- pic_to_be_viewed: '',
470
- showBack: true,
471
- devices: [],
472
- devicesAll: [],
473
- configAJ: [],
474
- configRQ: [],
475
- deviceconfig: {},
476
- deviceconfig2: [],
477
- f_devices: [],
478
- config: {
479
- "燃气表": {
480
- "checkmust": true,
481
- "index": 1,
482
- "items": {
483
- //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
484
- "基表编号": {"index": 1, "type": "string", "readonly": true},
485
- "气表型号": {"index": 2, "type": "string", "readonly": true},
486
- "气表品牌": {"index": 3, "type": "string", "readonly": true},
487
- "进气方向": {"index": 4, "type": "string", "readonly": true},
488
- // "初始表底":{"index":5,"type":"number","isshow":false,"readonly":true},
489
- "上期表读数": {"index": 5, "type": "number", "readonly": true, isshow: false},
490
- "累购气量": {"index": 6, "type": "number", "readonly": true},
491
- "已用气量": {"index": 7, "type": "number", "checkmust": true},//基表数
492
- "剩余气量": {"index": 8, "type": "number", "checkmust": true},//累购-已用
493
- //显示屏数 --实际剩余气量
494
- "气量异常差值": {"index": 9, "type": "number", "readonly": true}
495
- }
496
- // 注意,配置项的index必须与上面的固定配置保持'顺序'
497
- }
498
- },
499
- //金额
500
- config2: {
501
- "燃气表": {
502
- "checkmust": true,
503
- "index": 1,
504
- "items": {
505
- //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
506
- "基表编号": {"index": 1, "type": "string", "readonly": true},
507
- "气表型号": {"index": 2, "type": "string", "readonly": true},
508
- "气表品牌": {"index": 3, "type": "string", "readonly": true},
509
- "进气方向": {"index": 4, "type": "string", "readonly": true},
510
- // "初始表底":{"index":5,"type":"number","isshow":false,"readonly":true},
511
- "上期表读数": {"index": 5, "type": "number", "readonly": true, isshow: false},
512
- "累购金额": {"index": 6, "type": "number", "readonly": true},
513
- "已用金额": {"index": 7, "type": "number", "checkmust": true},
514
- //显示屏数 --实际剩余气量
515
- "剩余金额": {"index": 8, "type": "number", "checkmust": true},
516
- "金额异常差值": {"index": 9, "type": "number", "readonly": true}
517
- }
518
- }
519
- },
520
- }
521
- },
522
- components: {
523
- RadioGroup,
524
- Radio,
525
- },
526
- computed: {
527
- isRecodrDownloadBtn(){
528
- // 投诉单下派还是处理
529
- let res = this.$appdata.getSingleValue('无限制录音');
530
- if (res == 'true'){
531
- return true;
532
- }else {
533
- return false;
534
- }
535
- },
536
- selector: {
537
- get() {
538
- return 'paper-state'
539
- },
540
- set(val) {
541
- if (this.isStrat) {
542
- debugger;
543
- this.$goto(val, {userinfo: this.data}, 'paper-router')
544
- } else {
545
- this.$showMessage('未开始安检!')
546
- }
547
- }
548
- },
549
- actionEnabled: {
550
- get() {
551
- return this.role == 'inspect'
552
- }
553
- }
554
- },
555
- methods: {
556
- devicesCollect() {
557
- console.log("4444444")
558
- console.log(JSON.stringify(this.config))
559
- console.log(JSON.stringify(this.deviceconfig2))
560
- console.log("4444444")
561
-
562
- this.deviceCollects = []
563
- let checkResult = '正常'
564
- this.result = '正常'
565
- let codata = JSON.parse(JSON.stringify(this.data))
566
- console.log("111111111111" + JSON.stringify(codata))
567
- for (let device in this.data) {
568
- let f_device_type
569
- if (device.startsWith("device")) {
570
- for (let item in this.data[device]) {
571
- if (this.data[device].length > 1) {
572
- let j = Number.parseInt(item) + 1
573
- f_device_type = `${this.data[device][item].f_device_type}${j}`
574
- } else {
575
- f_device_type = this.data[device][item].f_device_type
576
- }
577
- // console.log('codata[device][item]=>',codata[device][item])
578
- let deviceInfos = []
579
- for (let i in this.data[device][item].f_items) {
580
- let defects = ''
581
- let items = this.data[device][item].f_items[i]
582
- if ((items.type === 'selector' || items.type === 'radio' || items.type === 'checkbox') && items.f_item_value != null && items.f_item_value instanceof Array) {
583
- for (let i in items.f_item_value) {
584
- let f_item_value = items.f_item_value[i]
585
-
586
- console.log('f_item_value => ' + JSON.stringify(f_item_value))
587
- console.log('f_device_type => ' + JSON.stringify(f_device_type))
588
- console.log('this.paper[device][item] => ' + JSON.stringify(this.data[device][item]))
589
- console.log('this.config[this.paper[device][item].f_device_type] => ' + JSON.stringify(this.config[this.data[device][item].f_device_type]))
590
- if (!this.config[this.data[device][item].f_device_type].items[items.f_item_name]) {
591
- continue
592
- }
593
- let options = this.config[this.data[device][item].f_device_type].items[items.f_item_name].options
594
- for (let option in options) {
595
- if (options[option].data == f_item_value) {
596
- if (options[option].isdefect == 'true' || options[option].isdefect == true) {
597
- checkResult = '有隐患'
598
- this.result = '有隐患'
599
- defects = `${defects}:${options[option].data}/`
600
- // let level = options[option].level
601
- }
602
- }
603
- }
604
- console.log('defects=====>' + JSON.stringify(defects))
605
- }
606
- if (defects != '') {
607
- deviceInfos.push(`${items.f_item_name}${defects.substring(0, defects.length - 1)}`)
608
- }
609
- } else if (items.type === 'stringp') {
610
- checkResult = '有隐患'
611
- this.result = '有隐患'
612
- deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
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
- } else if (items.f_item_name == '气量异常差值') {
624
- var deviation = this.$appdata.getSingleValue('气量异常差值允许误差')
625
- console.log(items.f_item_value[0] + '气量异常差值允许误差' + deviation)
626
- if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
627
- if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
628
- checkResult = '有隐患'
629
- this.result = '有隐患'
630
- deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
631
- }
632
- }
633
- }
634
- console.log('deviceInfos========>' + JSON.stringify(deviceInfos))
635
- console.log('items.f_is_defect')
636
- console.log(items.f_is_defect)
637
- if (items.type === 'selector') {
638
- items.selected = []
639
- } else if (items.type === 'inputSelector') {
640
- items.selected = ''
641
- }
642
- }
643
-
644
-
645
- console.log('deviceCollect', this.deviceCollect)
646
- this.$set('deviceCollect.name', f_device_type)
647
- this.$set('deviceCollect.value', checkResult)
648
- this.$set('deviceCollect.devices', deviceInfos)
649
- console.log("5555555555" + JSON.stringify(this.deviceCollect))
650
- if (this.deviceCollect.name) {
651
- console.log("999999998888888" + this.deviceCollect.name)
652
- this.deviceCollects.push(JSON.parse(JSON.stringify(this.deviceCollect)))
653
- }
654
-
655
- checkResult = '正常'
656
- this.deviceCollect = {}
657
- }
658
- }
659
- }
660
- if (this.deviceCollects.length > 0) {
661
- this.hasDevice = true
662
- }
663
- this.ajresult = JSON.parse(this.data.f_defect_content).result
664
- this.showimg3 = this.data.f_noanswer_path
665
- this.showimg4 = this.data.f_rejectcheck_path
666
- this.paperdata = this.data
667
- this.loading = false
668
- },
669
- imgclose() {
670
- this.imgshow = false
671
- },
672
- putDevices() {
673
- //console.log('Vue.config.safecheck', Vue.config.safecheck.safetype)
674
- this.$set('data.approve', "true")
675
- this.$set('data.writeback', "false")
676
- if (Vue.config.safecheck.ApproveConfig != undefined) {
677
- if (Vue.config.safecheck.ApproveConfig.approve != undefined) {
678
- this.$set('data.approve', Vue.config.safecheck.ApproveConfig.approve)
679
- }
680
- if (Vue.config.safecheck.ApproveConfig.writeback != undefined) {
681
- this.$set('data.writeback', Vue.config.safecheck.ApproveConfig.writeback)
682
- }
683
- if (Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
684
- this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
685
- }
686
- }
687
- console.log('当前安检类型----' + this.item.f_safecheck_type)
688
-
689
- console.log(JSON.stringify(this.data))
690
- if (!this.item.f_safecheck_type) {
691
- this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType['年度普检'][this.item.f_check_type]])
692
- } else {
693
- if (Vue.config.safecheck.DevicesConfig != undefined)
694
- this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_check_type]])
695
- }
696
- //遍历安检项配置
697
- for (let i in this.config) {
698
- //取得安检项索引值
699
- let n = this.config[i].index
700
- this.devices[n - 1] = {device: i, n: n, checkmust: this.config[i].checkmust}
701
- this.$set('data.' + 'device' + n, [])
702
- let items = []
703
- for (let it in this.config[i].items) {
704
- //赋值下拉选项
705
- if (this.config[i].items[it].type == 'selector') {
706
- for (let op in this.config[i].items[it].options)
707
- if (this.config[i].items[it].options[op].isdefault == true) {
708
- items.push({
709
- f_defect_level: this.config[i].items[it].options[op].level,
710
- f_is_defect: this.config[i].items[it].options[op].isdefect,
711
- f_item_name: it,
712
- f_item_value: this.config[i].items[it].options[op].data,
713
- f_path: "",
714
- type: "selector"
715
- })
716
- }
717
- }
718
- }
719
- n = n + 1
720
- }
721
-
722
- },
723
- showpath(val1, val2) {
724
- console.log("555555555555555555")
725
- console.log(val1)
726
- if (val1) {
727
- this.showimg1 = val1
728
- this.picturename = val2
729
- this.imgshow = true
730
- }
731
- },
732
- showpicture(val1, val2) {
733
- console.log("77777777777777")
734
- if (val2 == '气量异常差值' || val2 == '金额异常差值') {
735
- return
736
- }
737
- for (let i = 0; i < this.devicesAll.length; i++) {
738
- for (let j = 0; j < this.devicesAll[i].length; j++) {
739
- if (this.devicesAll[i][j].f_device_type == val1) {
740
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
741
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
742
- if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
743
- return false
744
- } else {
745
- this.showimg1 = this.devicesAll[i][j].f_items[k].f_path
746
- this.showimg2 = this.devicesAll[i][j].f_items[k].f_second_path
747
- this.picturename = '隐患照片'
748
- this.imgshow = true
749
- return true
750
- }
751
- }
752
- }
753
-
754
- }
755
- }
756
- }
757
- },
758
- isred(val1, val2) {
759
- console.log("77777777777777")
760
- if (val2 == '气量异常差值' || val2 == '金额异常差值') {
761
- return
762
- }
763
- for (let i = 0; i < this.devicesAll.length; i++) {
764
- for (let j = 0; j < this.devicesAll[i].length; j++) {
765
- if (this.devicesAll[i][j].f_device_type == val1) {
766
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
767
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
768
- if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
769
- return false
770
- } else {
771
- return true
772
- }
773
- }
774
- }
775
-
776
- }
777
- }
778
- }
779
- },
780
- showpicture2() {
781
- this.imgshow2 = true
782
- },
783
- getDeviceValue(val1, val2) {
784
- let aa = ''
785
- for (let i = 0; i < this.devicesAll.length; i++) {
786
- for (let j = 0; j < this.devicesAll[i].length; j++) {
787
- if (this.devicesAll[i][j].f_device_type == val1) {
788
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
789
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
790
- if (this.devicesAll[i][j].f_items[k].f_item_lists[0]) {
791
- for (let l = 0; l < this.devicesAll[i][j].f_items[k].f_item_lists.length; l++) {
792
- aa += this.devicesAll[i][j].f_items[k].f_item_lists[l].f_item_value + ' '
793
- }
794
- return aa
795
- }
796
- }
797
- }
798
-
799
- }
800
- }
801
- }
802
-
803
- },
804
- getDevicePath(val1, val2) {
805
- for (let i = 0; i < this.devicesAll.length; i++) {
806
- for (let j = 0; j < this.devicesAll[i].length; j++) {
807
- if (this.devicesAll[i][j].f_device_type == val1) {
808
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
809
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
810
- return this.devicesAll[i][j].f_items[k].f_path
811
- }
812
- }
813
-
814
- }
815
- }
816
- }
817
-
818
- },
819
- getDeviceAll() {
820
- let keyall = Object.keys(this.data)
821
- for (let i = 0; i < keyall.length; i++) {
822
- console.log(JSON.stringify(keyall))
823
- if (keyall[i].startsWith('device') && keyall[i] != 'deviceundefined') {
824
- this.devicesAll.push(this.data[keyall[i]])
825
- console.log(keyall[i])
826
- }
827
- }
828
- console.log("666666666666666666")
829
- console.log(JSON.stringify(this.devicesAll))
830
- this.devicesCollect()
831
-
832
- },
833
-
834
- back() {
835
- if (this.role == 'inspect') {
836
- if (!this.isStrat) {
837
- this.$back()
838
- return
839
- } else {
840
- this.savePaper(true).then(() => {
841
- this.$back()
842
- this.isStrat = false
843
- })
844
- }
845
- } else {
846
- this.$back()
847
- }
848
- },
849
- checkIsStart() {
850
- alert('asdad')
851
- return
852
- },
853
-
854
- viewPic(fileName) {
855
- console.log('view pic: ' + fileName)
856
- if (this.role == 'view') {
857
- if (!fileName.endsWith('nopic.png')) {
858
- this.pic_to_be_viewed = fileName
859
- this.showModal = true
860
- }
861
- } else {
862
- HostApp.viewPic(fileName)
863
- }
864
- },
865
- tick() {
866
- this.timer = null
867
- this.data.f_offsite_time = Util.toStandardTimeString()
868
- this.timer = window.setTimeout(this.tick, 1000)
869
- },
870
- getRepairState() {
871
- let repaired = true
872
- this.data.f_defects.forEach((defect) => {
873
- repaired = repaired & (defect.f_ratification == '已处理')
874
- })
875
- return repaired
876
- },
877
- verifyRepairDefects() {
878
- this.data.f_repair_date = Util.toStandardTimeString()
879
- this.data.f_repaired = this.getRepairState() ? '已修' : '在修'
880
- },
881
- genuineSave(saveOnly) {
882
- HostApp.__this__.save(saveOnly)
883
- if (!saveOnly)
884
- HostApp.__this__.disableTimer()
885
- HostApp.__callback__ = null
886
- HostApp.__this__ = null
887
- },
888
- setUrgency() {
889
- this.data.f_defect_urgency = 'Z'
890
- let that = this
891
- this.data.f_defects.forEach(function (defect) {
892
- if (that.data.f_defect_urgency > defect.f_defect_level.charAt(0))
893
- that.data.f_defect_urgency = defect.f_defect_level.charAt(0)
894
- })
895
- if (this.data.f_defect_urgency == 'Z')
896
- this.data.f_defect_urgency = null
897
- },
898
- disableTimer() {
899
- if (this.timer) {
900
- window.clearTimeout(this.timer)
901
- this.timer = null
902
- }
903
- },
904
- loaded(paper) {
905
- if (!paper.hasOwnProperty('id')) {
906
- this.$showMessage("该安检单在手机上已经不存在,可能是卸载过程序。可以进入重新安检,或返回安检计划。")
907
- this.init()
908
- } else {
909
- Util.booleanFilter(paper)
910
- HostApp.__this__.$set('data', paper)
911
- HostApp.__this__.$goto('paper-state', {}, 'paper-router')
912
- // 如果打回重检则重新计时
913
- console.log('HostApp.__this__.role' + HostApp.__this__.role + ' HostApp.__this__.f_approved:' + HostApp.__this__.data.f_approved)
914
- if (HostApp.__this__.role == 'inspect'
915
- && HostApp.__this__.data.f_approved
916
- && HostApp.__this__.data.f_approved == '打回') {
917
- console.log('打回')
918
- HostApp.__this__.data.f_onsite_time = Util.toStandardTimeString()
919
- HostApp.__this__.tick()
920
- }
921
- }
922
- HostApp.__callback__ = null
923
- HostApp.__this__ = null
924
- },
925
- S4() {
926
- return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
927
- },
928
- init() {
929
- this.data.f_noplan_item_id = this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4()
930
- this.data.ename = Vue.user.ename
931
- this.data.f_outlets = Vue.user.f_parentname
932
- this.data.f_meetunit = Vue.user.orgpathnames
933
- this.data.orgpathstr = Vue.user.orgpathstr
934
- this.data.f_check_item_id = this.item.id
935
- this.data.f_check_plan_id = this.f_plan_id
936
- this.data.f_checker_id = Vue.user.id
937
- this.data.f_checker_name = Vue.user.name
938
- this.data.f_check_type = this.item.f_user_type
939
- this.data.f_subcompany = this.item.f_subcompany
940
- this.data.f_approved = this.item.f_approved
941
- this.data.f_repair_approved = this.item.f_repair_approved
942
- this.data.f_no_checkplan = this.item.f_no_checkplan
943
- this.data.f_approved = this.item.f_approved
944
- this.data.f_filialeid = this.item.f_filialeid
945
- this.data.f_orgstr = this.item.f_orgstr
946
- this.data.version = this.item.version
947
- this.$set('data.f_meters', this.item.f_plan_meters)
948
- this.$set('data.f_userinfo_code', this.item.f_userinfo_code)
949
- // 安检状态
950
- this.$set('data.f_entry_status', '入户')
951
- this.$set('data.f_usegas', '已使用')
952
- this.$set('data.f_state', this.item.f_state)
953
- // 用户信息
954
- this.$set('data.f_user_name', this.item.f_user_name)
955
- this.$set('data.f_user_phone', this.item.f_user_phone)
956
- this.$set('data.f_userinfoid', this.item.f_userinfoid)
957
- this.$set('data.f_address', this.item.f_address)
958
- this.$set('data.f_card_id', this.item.f_card_id)
959
- this.$set('data.f_area', this.item.f_area)
960
- this.$set('data.f_street', this.item.f_street)
961
- this.$set('data.f_room', this.item.f_room)
962
- this.$set('data.f_building', this.item.f_building)
963
- this.$set('data.f_unit', this.item.f_unit)
964
- this.$set('data.f_floor', this.item.f_floor)
965
- this.$set('data.f_residential_area', this.item.f_residential_area)
966
- this.$set('data.f_idnumber', this.item.f_idnumber)
967
- this.$set('data.f_comments', this.item.f_comments)
968
- this.$set('data.f_userproperties', this.item.f_userproperties)
969
- // 处置方式
970
- this.$set('data.f_no_gas_device', false)
971
- this.$set('data.f_close_valve', false)
972
- this.$set('data.f_unload_battery', false)
973
- if (this.data.f_check_item_id == '' && this.item.f_no_checkplan == '无计划安检') {
974
- this.data.f_check_item_id = this.data.f_noplan_item_id
975
- }
976
-
977
- //房屋结构
978
- // this.$set('data.f_room_style', '多层')
979
- //供暖方式
980
- // this.$set('data.f_heating_style', '热力公司集中供暖')
981
- if (this.item.f_plan_meters) {
982
- for (let de in this.devices) {
983
- this.$set('data.device' + this.devices[de].n, [])
984
- for (let i = 0; i < this.item.f_plan_meters.length; i++) {
985
- if (this.item.f_plan_meters[i].f_meter_type) {
986
- if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_meter_type.indexOf('机表') > 0) {
987
- delete this.config['燃气表']['items']['累计购气量']
988
- this.data['device' + this.devices[de].n].push({
989
- f_device_type: "燃气表",
990
- f_items: [{
991
- f_defect_level: null,
992
- f_device_id: "",
993
- f_is_defect: "",
994
- f_item_name: "表品牌",
995
- f_item_value: this.item.f_plan_meters[i].f_aliasname,
996
- f_path: "",
997
- type: "string"
998
- },
999
- {
1000
- f_defect_level: null,
1001
- f_device_id: "",
1002
- f_is_defect: "",
1003
- f_item_name: "位置",
1004
- f_item_value: this.item.f_plan_meters[i].f_weizhi,
1005
- f_path: "",
1006
- type: "selector"
1007
- },
1008
- {
1009
- f_defect_level: null,
1010
- f_device_id: "",
1011
- f_is_defect: "",
1012
- f_item_name: "表号",
1013
- f_item_value: this.item.f_plan_meters[i].f_meter_no,
1014
- f_path: "",
1015
- type: "number"
1016
- },
1017
- {
1018
- f_defect_level: null,
1019
- f_device_id: "",
1020
- f_is_defect: "",
1021
- f_item_name: "表封号",
1022
- f_item_value: this.item.f_plan_meters[i].f_metertitles,
1023
- f_path: "",
1024
- type: "number"
1025
- },
1026
- {
1027
- f_defect_level: null,
1028
- f_device_id: "",
1029
- f_is_defect: "",
1030
- f_item_name: "表型号",
1031
- f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1032
- f_path: "",
1033
- type: "selector"
1034
- },
1035
- {
1036
- f_defect_level: null,
1037
- f_device_id: "",
1038
- f_is_defect: "",
1039
- f_item_name: "表底数",
1040
- f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1041
- f_path: "",
1042
- type: "number"
1043
- }
1044
- ]
1045
- })
1046
- } else if (this.devices[de].device == "燃气表") {
1047
- delete this.config['燃气表']['items']['表底数']
1048
- this.data['device' + this.devices[de].n].push({
1049
- f_device_type: "燃气表",
1050
- f_items: [{
1051
- f_defect_level: null,
1052
- f_device_id: "",
1053
- f_is_defect: "",
1054
- f_item_name: "表品牌",
1055
- f_item_value: this.item.f_plan_meters[i].f_aliasname,
1056
- f_path: "",
1057
- type: "string"
1058
- },
1059
- {
1060
- f_defect_level: null,
1061
- f_device_id: "",
1062
- f_is_defect: "",
1063
- f_item_name: "位置",
1064
- f_item_value: this.item.f_plan_meters[i].f_weizhi,
1065
- f_path: "",
1066
- type: "selector"
1067
- },
1068
- {
1069
- f_defect_level: null,
1070
- f_device_id: "",
1071
- f_is_defect: "",
1072
- f_item_name: "表号",
1073
- f_item_value: this.item.f_plan_meters[i].f_meter_no,
1074
- f_path: "",
1075
- type: "number"
1076
- },
1077
- {
1078
- f_defect_level: null,
1079
- f_device_id: "",
1080
- f_is_defect: "",
1081
- f_item_name: "表封号",
1082
- f_item_value: this.item.f_plan_meters[i].f_metertitles,
1083
- f_path: "",
1084
- type: "number"
1085
- },
1086
- {
1087
- f_defect_level: null,
1088
- f_device_id: "",
1089
- f_is_defect: "",
1090
- f_item_name: "表型号",
1091
- f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1092
- f_path: "",
1093
- type: "selector"
1094
- },
1095
- {
1096
- f_defect_level: null,
1097
- f_device_id: "",
1098
- f_is_defect: "",
1099
- f_item_name: "累计购气量",
1100
- f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1101
- f_path: "",
1102
- type: "number"
1103
- }
1104
- ]
1105
- })
1106
- }
1107
- }
1108
- }
1109
- }
1110
- }
1111
-
1112
- this.$goto('paper-state', {}, 'paper-router')
1113
- },
1114
- extend(initalObj, finalObj) {
1115
- var obj = finalObj || {};
1116
- for (var i in initalObj) {
1117
- var prop = initalObj[i];
1118
-
1119
- // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
1120
- if (prop === obj) {
1121
- continue;
1122
- }
1123
-
1124
- if (typeof prop === 'object') {
1125
- if (obj[i]) {
1126
- this.extend(obj[i], prop)
1127
- } else {
1128
- obj[i] = prop;
1129
- }
1130
- }
1131
- }
1132
- return obj;
1133
- },
1134
- //获取当前时间
1135
- getNowFormatDate() {
1136
- var date = new Date();
1137
- var seperator1 = "-";
1138
- var seperator2 = ":";
1139
- var month = date.getMonth() + 1;
1140
- var strDate = date.getDate();
1141
- if (month >= 1 && month <= 9) {
1142
- month = "0" + month;
1143
- }
1144
- if (strDate >= 0 && strDate <= 9) {
1145
- strDate = "0" + strDate;
1146
- }
1147
- var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1148
- + " " + date.getHours() + seperator2 + date.getMinutes()
1149
- + seperator2 + date.getSeconds();
1150
- return currentdate;
1151
- }
1152
- },
1153
- ready() {
1154
- this.putDevices()
1155
- console.log("ssssssss"+JSON.stringify(this.config))
1156
-
1157
- if (this.item.f_state != '未检' || this.item.f_no_checkplan == '无计划安检') {
1158
- if (this.role != 'inspect') {
1159
- let that = this
1160
- let id
1161
- if (this.role == 'view') {
1162
- id = this.item.id
1163
- } else if (this.role == 'androidview') {
1164
- id = this.item.f_paper_id
1165
- }
1166
- this.$resetpost(`rs/path/getUserinfomation`, {data: {condition: `id = '${id}'`}}).then((respanse) => {
1167
- console.log('result....', respanse)
1168
- if (respanse.data.length != 0) {
1169
- // 包含 其它 特殊处理的数组
1170
- // 对应位置
1171
-
1172
- console.log('devices => ', respanse.data[0])
1173
-
1174
- that.data = Object.assign(that.data, respanse.data[0])
1175
- if (respanse.data[0].f_devices) {
1176
- for (let da in that.devices) {
1177
- that.$set('data.device' + that.devices[da].n, [])
1178
- }
1179
- respanse.data[0].f_devices.forEach((item) => {
1180
- for (let de in that.devices) {
1181
- if (that.devices[de].device == item.f_device_type) {
1182
- item.f_items.forEach((f_item) => {
1183
- console.log('f_item====>', f_item)
1184
- console.log('f_item.f_path====>', f_item.f_path)
1185
- let itemValues = []
1186
- f_item.f_item_lists.forEach((tempItem) => {
1187
- console.log('emm => ', f_item.f_item_name, ' ', tempItem.f_item_value)
1188
- if (tempItem.f_item_value !== 'null') {
1189
- itemValues.push(tempItem.f_item_value)
1190
- }
1191
- })
1192
- f_item.f_item_value = itemValues
1193
- })
1194
- that.data['device' + that.devices[de].n].push({
1195
- f_device_type: item.f_device_type,
1196
- f_items: item.f_items
1197
- })
1198
- }
1199
- }
1200
- })
1201
- }
1202
- Util.replaceFalse(that.data)
1203
- Util.booleanFilter(that.data)
1204
- if (this.role == 'view') {
1205
- Util.ratifyPics(that.data)
1206
- Util.ratifyPics(that.picture)
1207
- } else {
1208
- Util.androidRatifyPics(that.data, this.$androidUtil.getProxyUrl())
1209
- }
1210
- console.log("that.data:", that.data)
1211
- }
1212
- // this.$goto('paper-message-blank', {userinfo:this.data,devices:this.devices,config:this.config,role:this.role}, 'self')
1213
- this.isshow = true
1214
- asyncReady(this).then(() => {
1215
- console.log("66666666666")
1216
- console.log(JSON.stringify(this.data))
1217
- if (this.data.f_check_type == '民用') {
1218
- this.deviceconfig = Vue.config.safecheck.DevicesConfig
1219
- console.log("deviceconfig1==>" + JSON.stringify(this.deviceconfig))
1220
- } else if (this.data.f_check_type == '非民用') {
1221
- this.deviceconfig = Vue.config.safecheck.DevicesSetConfig
1222
- console.log("deviceconfig2==>" + JSON.stringify(this.deviceconfig))
1223
- }
1224
- if (this.data.f_collection_type == '按金额') {
1225
- let aaa = Object.assign({}, this.config2["燃气表"].items, this.deviceconfig["燃气表"].items)
1226
- this.deviceconfig["燃气表"].items = aaa
1227
- //this.deviceconfig["燃气表"]=this.config2["燃气表"]
1228
- console.log("deviceconfig3==>" + JSON.stringify(this.deviceconfig))
1229
- } else {
1230
- let aaa = Object.assign({}, this.config["燃气表"].items, this.deviceconfig["燃气表"].items)
1231
- this.deviceconfig["燃气表"].items = aaa
1232
- console.log("deviceconfig4==>" + JSON.stringify(this.deviceconfig))
1233
- }
1234
- this.deviceconfig2 = ObjConfig.getObjConfig(this.deviceconfig)
1235
- this.deviceconfig2[0].items = jsonSort(this.deviceconfig2[0].items, "index")
1236
- this.deviceconfig2[1].items = jsonSort(this.deviceconfig2[1].items, "index")
1237
- this.deviceconfig2 = jsonSort(this.deviceconfig2, "index")
1238
- this.getDeviceAll()
1239
-
1240
-
1241
- })
1242
- }
1243
- ).catch(
1244
- (respanse) => {
1245
- console.log('respanse', respanse)
1246
- alert('查找安检单失败')
1247
- })
1248
- }
1249
- }
1250
-
1251
- },
1252
- watch: {
1253
- // 'isUpload'(val){
1254
- // console.log('isUpload发生变化===>'+val)
1255
- // }
1256
- },
1257
- destroyed() {
1258
- console.log('退出当前页Set')
1259
- this.disableTimer()
1260
- }
1261
- }
1262
-
1263
- </script>
1264
- <style scoped>
1265
- .table-striped thead tr th {
1266
- background-color: rgb(223, 237, 251);
1267
- padding: 10px;
1268
- border-left: solid 0px #dae4f2;
1269
- border-top: solid 1px #dae4f2;
1270
- border-right: none;
1271
- border-bottom: none;
1272
- text-align: center;
1273
- color: black;
1274
- }
1275
- </style>
1
+ <style scoped>
2
+ .img {
3
+ border: 1px solid #9773ed;
4
+ width: auto;
5
+ height: auto;
6
+ float: left;
7
+ text-align: center;
8
+ margin: 6px;
9
+ }
10
+
11
+ img {
12
+ margin: 6px;
13
+ }
14
+
15
+
16
+ .container {
17
+ margin: 10px auto;
18
+ width: 80%;
19
+ height: auto;
20
+ }
21
+
22
+ div::-webkit-scrollbar {
23
+ width: 0 !important;
24
+ height: 0 !important;
25
+ }
26
+
27
+ div {
28
+ -ms-overflow-style: none;
29
+ overflow: -moz-scrollbars-none;
30
+ }
31
+
32
+ .divmask {
33
+ pointer-events: none;
34
+ }
35
+
36
+ .app-header {
37
+ border-radius: 50%;
38
+ background: rgba(73, 158, 223, 0.4);
39
+ color: #FFF;
40
+ padding: 20px;
41
+ text-align: center;
42
+ font-size: 1.2em;
43
+ z-index: 10;
44
+ opacity: 0.5;
45
+ bottom: 50px;
46
+ margin-top: -20px;
47
+ position: absolute;
48
+ top: 10%;
49
+ right: 2%;
50
+ height: 8%;
51
+ }
52
+ </style>
53
+
54
+ <template>
55
+ <div class="basic-main" style="height: 100%">
56
+ <div class="page-header app-header auto" style="padding: 15px;margin-right: 10px;right: 0%;height: 7%">
57
+ <div @click="back()">
58
+ <img src="../../../assets/back.png" style="margin: 0px"/>
59
+ </div>
60
+ </div>
61
+ <work-busy :is-busy="loading"></work-busy>
62
+ <div class="container-fluid" style="overflow: scroll">
63
+ <div class="row">
64
+ <div class="col-md-5" style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
65
+ <div style="width: 100%;margin: auto">
66
+ <table class="table table-striped table-bordered" style="margin-bottom: 6px">
67
+ <thead>
68
+ <tr>
69
+ <th colspan="6" style="text-align: center">用户基本信息</th>
70
+ </tr>
71
+ </thead>
72
+ <tbody>
73
+ <tr>
74
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
75
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_userinfo_code }}</td>
76
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
77
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_user_name }}</td>
78
+ </tr>
79
+ <tr>
80
+ <td style="text-align: center;border: #E9E9E9 solid 1px">证件号码:</td>
81
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_idnumber }}</td>
82
+ <td style="text-align: center;border: #E9E9E9 solid 1px">用户类型:</td>
83
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_check_type }}</td>
84
+ </tr>
85
+ <tr>
86
+ <td style="text-align: center;border: #E9E9E9 solid 1px">用户电话:</td>
87
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_user_phone }}</td>
88
+ <td style="text-align: center;border: #E9E9E9 solid 1px">区 / 县:</td>
89
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_area }}</td>
90
+ </tr>
91
+ <tr>
92
+ <td style="text-align: center;border: #E9E9E9 solid 1px">街 道:</td>
93
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_street }}</td>
94
+ <td style="text-align: center;border: #E9E9E9 solid 1px">楼 号:</td>
95
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_building }}</td>
96
+ </tr>
97
+ <tr>
98
+ <td style="text-align: center;border: #E9E9E9 solid 1px">单 元:</td>
99
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_unit }}</td>
100
+ <td style="text-align: center;border: #E9E9E9 solid 1px">楼 层:</td>
101
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_floor }}</td>
102
+ </tr>
103
+ <tr>
104
+ <td style="text-align: center;border: #E9E9E9 solid 1px">门 牌 号 :</td>
105
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_room }}</td>
106
+ <td style="text-align: center;border: #E9E9E9 solid 1px">用户性质:</td>
107
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_userproperties }}</td>
108
+ </tr>
109
+ <tr>
110
+ <td style="text-align: center;border: #E9E9E9 solid 1px">备注信息:</td>
111
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_comments }}</td>
112
+ <td style="text-align: center;border: #E9E9E9 solid 1px">小区名称:</td>
113
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_residential_area }}</td>
114
+ </tr>
115
+ <tr>
116
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细住址:</td>
117
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_address }}</td>
118
+ </tr>
119
+ </tbody>
120
+ </table>
121
+ <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'">
122
+ <thead>
123
+ <tr>
124
+ <th colspan="4" style="text-align: center">用户安检概况</th>
125
+ </tr>
126
+ </thead>
127
+ <tbody>
128
+ <tr>
129
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
130
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
131
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
132
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_offsite_time }}</td>
133
+ </tr>
134
+ <tr>
135
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
136
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_entry_status }}</td>
137
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">燃气使用:</td>
138
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_usegas }}</td>
139
+ </tr>
140
+ <tr>
141
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">用户满意度:</td>
142
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">{{
143
+ paperdata.f_client_evaluation
144
+ }}
145
+ </td>
146
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">安检结果:</td>
147
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">{{ ajresult }}</td>
148
+ </tr>
149
+ <tr>
150
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">备注:</td>
151
+ <td colspan="3"
152
+ style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
153
+ {{ paperdata.f_repair_approved_note }}
154
+ </td>
155
+ </tr>
156
+ <tr>
157
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">隐患详情:</td>
158
+ <td colspan="3"
159
+ style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
160
+ <span v-for="deviceCollect in deviceCollects">
161
+ <span class="li-font">
162
+ {{ deviceCollect.name }}:{{ deviceCollect.value }}&nbsp;&nbsp;&nbsp;
163
+ </span>
164
+ <br>
165
+ <span v-if="deviceCollect.value == '有隐患'">
166
+ <lable>
167
+ 隐患:
168
+ </lable>
169
+ <span class="li-font" v-for="val in deviceCollect.devices">
170
+ {{ val }}&nbsp;&nbsp;&nbsp;
171
+ </span><br>
172
+ </span>
173
+
174
+ </span>
175
+ </td>
176
+ </tr>
177
+
178
+ </tbody>
179
+ </table>
180
+ <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status!='入户'">
181
+ <thead>
182
+ <tr>
183
+ <th colspan="4" style="text-align: center">用户安检概况</th>
184
+ </tr>
185
+ </thead>
186
+ <tbody>
187
+ <tr>
188
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
189
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
190
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
191
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_offsite_time }}</td>
192
+ </tr>
193
+ <tr>
194
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
195
+ <td colspan="2" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
196
+ {{ paperdata.f_entry_status }}
197
+ </td>
198
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">
199
+ <button-link style="color: black" type="button" class="btn btn-link" @click="showpicture2()">
200
+ {{ dev.lname }}
201
+ 查看{{ data.f_entry_status }}照片
202
+ </button-link>
203
+ </td>
204
+ </tr>
205
+
206
+ </tbody>
207
+ </table>
208
+ <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'">
209
+ <thead>
210
+ <tr>
211
+ <th style="text-align: center">总体安检照片</th>
212
+ </tr>
213
+ </thead>
214
+ <tbody>
215
+ <tr>
216
+ <td style="margin: auto;text-align: center">
217
+ <div class="container" style="max-width: 550px;background: #FFFFFF">
218
+ <div class="img" v-for="img in paperdata.f_overall_imgs">
219
+ <img-self-safe :src="img.f_overall_path" style="float: left" width="150"
220
+ height="200"></img-self-safe>
221
+ </div>
222
+ </div>
223
+
224
+
225
+ </td>
226
+
227
+ </tr>
228
+ </tbody>
229
+ </table>
230
+ <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'">
231
+ <thead>
232
+ <tr>
233
+ <th style="text-align: center">用户签名照片</th>
234
+ </tr>
235
+ </thead>
236
+ <tbody>
237
+ <tr>
238
+ <td style="margin: auto;text-align: center">
239
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
240
+ <div class="img" style="float: none">
241
+ <img-self-safe :src="paperdata.f_sign_path" width="486" height="300"></img-self-safe>
242
+ </div>
243
+ </div>
244
+ </td>
245
+ </tr>
246
+ </tbody>
247
+ </table>
248
+ <table class="table table-striped table-bordered" v-show="paperdata.f_notified_path">
249
+ <thead>
250
+ <tr>
251
+ <th style="text-align: center">安检通知单/隐患整改单</th>
252
+ </tr>
253
+ </thead>
254
+ <tbody>
255
+ <tr>
256
+ <td style="margin: auto;text-align: center">
257
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
258
+ <div class="img" style="float: none">
259
+ <img-self-safe :src="paperdata.f_notified_path" width="486" height="300"></img-self-safe>
260
+ </div>
261
+ </div>
262
+ </td>
263
+ </tr>
264
+ </tbody>
265
+ </table>
266
+
267
+ <table class="table table-striped table-bordered" v-show="paperdata.f_entry_status=='入户'&& item.f_recording1_path && isRecodrDownloadBtn">
268
+ <thead>
269
+ <tr>
270
+ <th style="text-align: center">录音文件</th>
271
+ </tr>
272
+ </thead>
273
+ <tbody>
274
+ <tr>
275
+ <td style="margin: auto;text-align: center">
276
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
277
+ <a class="button_spacing button_search-1" :download="item.f_user_name+'-'+item.f_check_type+'-'+录音文件.arm"
278
+ :href="'rs/image/file/'+item.f_recording1_path" >录音下载</a>
279
+ </div>
280
+ </td>
281
+ </tr>
282
+ </tbody>
283
+ </table>
284
+ </div>
285
+ </div>
286
+ <div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
287
+ <div class="col-md-6" style="height: 100%;overflow: scroll">
288
+ <div style="width: 95%;margin-left: 5%">
289
+ <table class="table table-striped table-bordered" v-for="config in deviceconfig2">
290
+ <thead v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
291
+ <tr>
292
+ <th style="text-align: center">{{ config.checkname }}</th>
293
+ </tr>
294
+ </thead>
295
+ <tbody v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
296
+ <tr v-for="dev in config.items">
297
+ <td v-if="dev.type!='text'">
298
+ <div class="row">
299
+ <div class="col-md-8" style="text-align: center;">
300
+ <label>
301
+ <button-link type="button" class="btn btn-link" @click="showpicture(config.checkname,dev.lname)"
302
+ :style="isred(config.checkname,dev.lname)?'color:red':'color:black'">
303
+ {{ dev.lname }}
304
+ </button-link>
305
+ </label>
306
+ </div>
307
+ <div class="col-md-4" style="text-align: center">
308
+ <label style="font-weight: normal"
309
+ v-if="dev.type!='picture'">{{ getDeviceValue(config.checkname, dev.lname) ? getDeviceValue(config.checkname, dev.lname) : '无' }}</label>
310
+ <label style="font-weight: normal" v-if="dev.type=='picture'">
311
+ <div v-show="getDevicePath(config.checkname,dev.lname)">
312
+ <button-link style="color: black" type="button" class="btn btn-link"
313
+ @click="showpath(getDevicePath(config.checkname,dev.lname),dev.lname)">查看照片
314
+ </button-link>
315
+ </div>
316
+ <div v-show="!getDevicePath(config.checkname,dev.lname)">无照片</div>
317
+ </label>
318
+ </div>
319
+ </div>
320
+ </td>
321
+ <td v-if="dev.type==='text'">
322
+ <label style="width: 100%;text-align: center">{{ dev.lname }}</label>
323
+ </td>
324
+ </tr>
325
+ </tbody>
326
+ </table>
327
+ </div>
328
+ </div>
329
+
330
+ </div>
331
+ </div>
332
+ </div>
333
+ <modal :show.sync="imgshow" v-ref:modal backdrop="true">
334
+ <header slot="modal-header" class="modal-header">
335
+ {{ picturename }}
336
+ </header>
337
+ <article slot="modal-body" class="modal-body">
338
+ <div class="from-group">
339
+ <div class="row">
340
+ <div class="col-md-6">
341
+ <img-self-safe v-if="showimg1" :src="showimg1" width="300" height="400"></img-self-safe>
342
+ </div>
343
+ <div class="col-md-6">
344
+ <img-self-safe v-if="showimg2" :src="showimg2" width="300" height="400"></img-self-safe>
345
+ </div>
346
+ </div>
347
+ </div>
348
+ </article>
349
+ <footer slot="modal-footer" class="modal-footer" v-show="false">
350
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
351
+ </footer>
352
+ </modal>
353
+ <modal :show.sync="imgshow2" v-ref:modal backdrop="true">
354
+ <header slot="modal-header" class="modal-header">
355
+ {{ paperdata.f_entry_status }}照片
356
+ </header>
357
+ <article slot="modal-body" class="modal-body">
358
+ <div class="from-group">
359
+ <div class="row">
360
+ <div class="col-md-6">
361
+ <img-self-safe v-if="this.paperdata.f_entry_status=='到访不遇'" :src="showimg3" width="300"
362
+ height="400"></img-self-safe>
363
+ </div>
364
+ <div class="col-md-6">
365
+ <img-self-safe v-if="this.paperdata.f_entry_status=='拒检'" :src="showimg4" width="300"
366
+ height="400"></img-self-safe>
367
+ </div>
368
+ </div>
369
+ </div>
370
+ </article>
371
+ <footer slot="modal-footer" class="modal-footer" v-show="false">
372
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
373
+ </footer>
374
+ </modal>
375
+ </template>
376
+
377
+ <script>
378
+ // import PaperUserm from './PaperUserm'
379
+ // import PaperStatem from './PaperStatem'
380
+ // import Devicesm from './Devicesm'
381
+ // import PaperFeedbackm from './PaperFeedbackm'
382
+ import ObjConfig from '../../../utils/GerJsonObjectConfig'
383
+ import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
384
+ import Radio from 'vue-client/src/vue-strap/src/radioBtn'
385
+ import Vue from 'vue'
386
+ import * as Util from '../../Util'
387
+ import {jsonSort} from '../../../utils/LdapHelper'
388
+ import {HttpResetClass} from "vue-client";
389
+
390
+ let asyncReady = async function (self) {
391
+ // 获取配置信息
392
+ try {
393
+ let res = await new HttpResetClass().load('post', 'rs/sql/tel_singleTable_OrderBy', {
394
+ data: {
395
+ items: 'f_dir',
396
+ tablename: 't_organization',
397
+ condition: `id = '${self.item.f_filialeid}'`,
398
+ orderitem: 'id'
399
+ }
400
+ })/*.then(res=>{*/
401
+ console.log("aaaaaaaaaaaaaaaa")
402
+ console.log(JSON.stringify(res.data[0].f_dir))
403
+ if (!res.data[0].f_dir) {
404
+ self.$showMessage("该公司无组织目录,无法获取配置文件,请联系管理员确认")
405
+ } else {
406
+ //this.f_dir=res.data[0].f_dir
407
+ try {
408
+ let res1 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
409
+ resolveMsg: '获取居民配置项成功!',
410
+ rejectMsg: '获取居民配置项出错!'
411
+ })/*.then(res=>{*/
412
+ console.log('111111111111居民===>', res1.data)
413
+ //this.safeConfig["民用配置项"]=Object.assign({},res.data)
414
+ Vue.config.safecheck.DevicesConfig = res1.data
415
+ /*})*/
416
+ let res2 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesSetConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
417
+ resolveMsg: '获取非居民配置项成功!',
418
+ rejectMsg: '获取非居民配置项出错!'
419
+ })/*.then(res=>{*/
420
+ console.log('22222222222222非居民===>', res2.data)
421
+ //this.safeConfig["非民用配置项"]=Object.assign({},res.data)
422
+ Vue.config.safecheck.DevicesSetConfig = res2.data
423
+ /*}).then(res=> {
424
+ })*/
425
+
426
+ } catch (e) {
427
+ self.$showMessage("获取配置文件失败" + e)
428
+ }
429
+ }
430
+ } catch (error) {
431
+ // 忽略704,文件找不到异常R
432
+ if (error.status !== 704) {
433
+ throw error
434
+ }
435
+ }
436
+ }
437
+ export default {
438
+ title: '安检单',
439
+ props: ['f_plan_id', 'item', 'role'],
440
+ data() {
441
+ return {
442
+ data: {
443
+ f_devices: [],
444
+ f_defect_content: ''
445
+ },
446
+ paperdata: {},
447
+ picturename: '隐患照片',
448
+ defectDevice: {},
449
+ hasDevice: false,
450
+ deviceCollect: {},
451
+ deviceCollects: [],
452
+ isshow: false,
453
+ ajresult: '',
454
+ loading: true,
455
+ imgshow: false,
456
+ imgshow2: false,
457
+ isUpload: false,
458
+ livedispose: '',
459
+ showimg1: '',
460
+ showimg2: '',
461
+ showimg3: '',
462
+ showimg4: '',
463
+ startClick: false, //开始安检按钮是否可点击
464
+ isStrat: false, //是否开始安检
465
+ checkResult: {},//查询结果
466
+ newcheckResult: {},
467
+ timer: null,
468
+ showModal: false,
469
+ pic_to_be_viewed: '',
470
+ showBack: true,
471
+ devices: [],
472
+ devicesAll: [],
473
+ configAJ: [],
474
+ configRQ: [],
475
+ deviceconfig: {},
476
+ deviceconfig2: [],
477
+ f_devices: [],
478
+ config: {
479
+ "燃气表": {
480
+ "checkmust": true,
481
+ "index": 1,
482
+ "items": {
483
+ //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
484
+ "基表编号": {"index": 1, "type": "string", "readonly": true},
485
+ "气表型号": {"index": 2, "type": "string", "readonly": true},
486
+ "气表品牌": {"index": 3, "type": "string", "readonly": true},
487
+ "进气方向": {"index": 4, "type": "string", "readonly": true},
488
+ // "初始表底":{"index":5,"type":"number","isshow":false,"readonly":true},
489
+ "上期表读数": {"index": 5, "type": "number", "readonly": true, isshow: false},
490
+ "累购气量": {"index": 6, "type": "number", "readonly": true},
491
+ "已用气量": {"index": 7, "type": "number", "checkmust": true},//基表数
492
+ "剩余气量": {"index": 8, "type": "number", "checkmust": true},//累购-已用
493
+ //显示屏数 --实际剩余气量
494
+ "气量异常差值": {"index": 9, "type": "number", "readonly": true}
495
+ }
496
+ // 注意,配置项的index必须与上面的固定配置保持'顺序'
497
+ }
498
+ },
499
+ //金额
500
+ config2: {
501
+ "燃气表": {
502
+ "checkmust": true,
503
+ "index": 1,
504
+ "items": {
505
+ //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
506
+ "基表编号": {"index": 1, "type": "string", "readonly": true},
507
+ "气表型号": {"index": 2, "type": "string", "readonly": true},
508
+ "气表品牌": {"index": 3, "type": "string", "readonly": true},
509
+ "进气方向": {"index": 4, "type": "string", "readonly": true},
510
+ // "初始表底":{"index":5,"type":"number","isshow":false,"readonly":true},
511
+ "上期表读数": {"index": 5, "type": "number", "readonly": true, isshow: false},
512
+ "累购金额": {"index": 6, "type": "number", "readonly": true},
513
+ "已用金额": {"index": 7, "type": "number", "checkmust": true},
514
+ //显示屏数 --实际剩余气量
515
+ "剩余金额": {"index": 8, "type": "number", "checkmust": true},
516
+ "金额异常差值": {"index": 9, "type": "number", "readonly": true}
517
+ }
518
+ }
519
+ },
520
+ }
521
+ },
522
+ components: {
523
+ RadioGroup,
524
+ Radio,
525
+ },
526
+ computed: {
527
+ isRecodrDownloadBtn(){
528
+ // 投诉单下派还是处理
529
+ let res = this.$appdata.getSingleValue('无限制录音');
530
+ if (res == 'true'){
531
+ return true;
532
+ }else {
533
+ return false;
534
+ }
535
+ },
536
+ selector: {
537
+ get() {
538
+ return 'paper-state'
539
+ },
540
+ set(val) {
541
+ if (this.isStrat) {
542
+ debugger;
543
+ this.$goto(val, {userinfo: this.data}, 'paper-router')
544
+ } else {
545
+ this.$showMessage('未开始安检!')
546
+ }
547
+ }
548
+ },
549
+ actionEnabled: {
550
+ get() {
551
+ return this.role == 'inspect'
552
+ }
553
+ }
554
+ },
555
+ methods: {
556
+ devicesCollect() {
557
+ console.log("4444444")
558
+ console.log(JSON.stringify(this.config))
559
+ console.log(JSON.stringify(this.deviceconfig2))
560
+ console.log("4444444")
561
+
562
+ this.deviceCollects = []
563
+ let checkResult = '正常'
564
+ this.result = '正常'
565
+ let codata = JSON.parse(JSON.stringify(this.data))
566
+ console.log("111111111111" + JSON.stringify(codata))
567
+ for (let device in this.data) {
568
+ let f_device_type
569
+ if (device.startsWith("device")) {
570
+ for (let item in this.data[device]) {
571
+ if (this.data[device].length > 1) {
572
+ let j = Number.parseInt(item) + 1
573
+ f_device_type = `${this.data[device][item].f_device_type}${j}`
574
+ } else {
575
+ f_device_type = this.data[device][item].f_device_type
576
+ }
577
+ // console.log('codata[device][item]=>',codata[device][item])
578
+ let deviceInfos = []
579
+ for (let i in this.data[device][item].f_items) {
580
+ let defects = ''
581
+ let items = this.data[device][item].f_items[i]
582
+ if ((items.type === 'selector' || items.type === 'radio' || items.type === 'checkbox') && items.f_item_value != null && items.f_item_value instanceof Array) {
583
+ for (let i in items.f_item_value) {
584
+ let f_item_value = items.f_item_value[i]
585
+
586
+ console.log('f_item_value => ' + JSON.stringify(f_item_value))
587
+ console.log('f_device_type => ' + JSON.stringify(f_device_type))
588
+ console.log('this.paper[device][item] => ' + JSON.stringify(this.data[device][item]))
589
+ console.log('this.config[this.paper[device][item].f_device_type] => ' + JSON.stringify(this.config[this.data[device][item].f_device_type]))
590
+ if (!this.config[this.data[device][item].f_device_type].items[items.f_item_name]) {
591
+ continue
592
+ }
593
+ let options = this.config[this.data[device][item].f_device_type].items[items.f_item_name].options
594
+ for (let option in options) {
595
+ if (options[option].data == f_item_value) {
596
+ if (options[option].isdefect == 'true' || options[option].isdefect == true) {
597
+ checkResult = '有隐患'
598
+ this.result = '有隐患'
599
+ defects = `${defects}:${options[option].data}/`
600
+ // let level = options[option].level
601
+ }
602
+ }
603
+ }
604
+ console.log('defects=====>' + JSON.stringify(defects))
605
+ }
606
+ if (defects != '') {
607
+ deviceInfos.push(`${items.f_item_name}${defects.substring(0, defects.length - 1)}`)
608
+ }
609
+ } else if (items.type === 'stringp') {
610
+ checkResult = '有隐患'
611
+ this.result = '有隐患'
612
+ deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
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
+ } else if (items.f_item_name == '气量异常差值') {
624
+ var deviation = this.$appdata.getSingleValue('气量异常差值允许误差')
625
+ console.log(items.f_item_value[0] + '气量异常差值允许误差' + deviation)
626
+ if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
627
+ if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
628
+ checkResult = '有隐患'
629
+ this.result = '有隐患'
630
+ deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
631
+ }
632
+ }
633
+ }
634
+ console.log('deviceInfos========>' + JSON.stringify(deviceInfos))
635
+ console.log('items.f_is_defect')
636
+ console.log(items.f_is_defect)
637
+ if (items.type === 'selector') {
638
+ items.selected = []
639
+ } else if (items.type === 'inputSelector') {
640
+ items.selected = ''
641
+ }
642
+ }
643
+
644
+
645
+ console.log('deviceCollect', this.deviceCollect)
646
+ this.$set('deviceCollect.name', f_device_type)
647
+ this.$set('deviceCollect.value', checkResult)
648
+ this.$set('deviceCollect.devices', deviceInfos)
649
+ console.log("5555555555" + JSON.stringify(this.deviceCollect))
650
+ if (this.deviceCollect.name) {
651
+ console.log("999999998888888" + this.deviceCollect.name)
652
+ this.deviceCollects.push(JSON.parse(JSON.stringify(this.deviceCollect)))
653
+ }
654
+
655
+ checkResult = '正常'
656
+ this.deviceCollect = {}
657
+ }
658
+ }
659
+ }
660
+ if (this.deviceCollects.length > 0) {
661
+ this.hasDevice = true
662
+ }
663
+ this.ajresult = JSON.parse(this.data.f_defect_content).result
664
+ this.showimg3 = this.data.f_noanswer_path
665
+ this.showimg4 = this.data.f_rejectcheck_path
666
+ this.paperdata = this.data
667
+ this.loading = false
668
+ },
669
+ imgclose() {
670
+ this.imgshow = false
671
+ },
672
+ putDevices() {
673
+ //console.log('Vue.config.safecheck', Vue.config.safecheck.safetype)
674
+ this.$set('data.approve', "true")
675
+ this.$set('data.writeback', "false")
676
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
677
+ if (Vue.config.safecheck.ApproveConfig.approve != undefined) {
678
+ this.$set('data.approve', Vue.config.safecheck.ApproveConfig.approve)
679
+ }
680
+ if (Vue.config.safecheck.ApproveConfig.writeback != undefined) {
681
+ this.$set('data.writeback', Vue.config.safecheck.ApproveConfig.writeback)
682
+ }
683
+ if (Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
684
+ this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
685
+ }
686
+ }
687
+ console.log('当前安检类型----' + this.item.f_safecheck_type)
688
+
689
+ console.log(JSON.stringify(this.data))
690
+ if (!this.item.f_safecheck_type) {
691
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType['年度普检'][this.item.f_check_type]])
692
+ } else {
693
+ if (Vue.config.safecheck.DevicesConfig != undefined)
694
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_check_type]])
695
+ }
696
+ //遍历安检项配置
697
+ for (let i in this.config) {
698
+ //取得安检项索引值
699
+ let n = this.config[i].index
700
+ this.devices[n - 1] = {device: i, n: n, checkmust: this.config[i].checkmust}
701
+ this.$set('data.' + 'device' + n, [])
702
+ let items = []
703
+ for (let it in this.config[i].items) {
704
+ //赋值下拉选项
705
+ if (this.config[i].items[it].type == 'selector') {
706
+ for (let op in this.config[i].items[it].options)
707
+ if (this.config[i].items[it].options[op].isdefault == true) {
708
+ items.push({
709
+ f_defect_level: this.config[i].items[it].options[op].level,
710
+ f_is_defect: this.config[i].items[it].options[op].isdefect,
711
+ f_item_name: it,
712
+ f_item_value: this.config[i].items[it].options[op].data,
713
+ f_path: "",
714
+ type: "selector"
715
+ })
716
+ }
717
+ }
718
+ }
719
+ n = n + 1
720
+ }
721
+
722
+ },
723
+ showpath(val1, val2) {
724
+ console.log("555555555555555555")
725
+ console.log(val1)
726
+ if (val1) {
727
+ this.showimg1 = val1
728
+ this.picturename = val2
729
+ this.imgshow = true
730
+ }
731
+ },
732
+ showpicture(val1, val2) {
733
+ console.log("77777777777777")
734
+ if (val2 == '气量异常差值' || val2 == '金额异常差值') {
735
+ return
736
+ }
737
+ for (let i = 0; i < this.devicesAll.length; i++) {
738
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
739
+ if (this.devicesAll[i][j].f_device_type == val1) {
740
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
741
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
742
+ if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
743
+ return false
744
+ } else {
745
+ this.showimg1 = this.devicesAll[i][j].f_items[k].f_path
746
+ this.showimg2 = this.devicesAll[i][j].f_items[k].f_second_path
747
+ this.picturename = '隐患照片'
748
+ this.imgshow = true
749
+ return true
750
+ }
751
+ }
752
+ }
753
+
754
+ }
755
+ }
756
+ }
757
+ },
758
+ isred(val1, val2) {
759
+ console.log("77777777777777")
760
+ if (val2 == '气量异常差值' || val2 == '金额异常差值') {
761
+ return
762
+ }
763
+ for (let i = 0; i < this.devicesAll.length; i++) {
764
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
765
+ if (this.devicesAll[i][j].f_device_type == val1) {
766
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
767
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
768
+ if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
769
+ return false
770
+ } else {
771
+ return true
772
+ }
773
+ }
774
+ }
775
+
776
+ }
777
+ }
778
+ }
779
+ },
780
+ showpicture2() {
781
+ this.imgshow2 = true
782
+ },
783
+ getDeviceValue(val1, val2) {
784
+ let aa = ''
785
+ for (let i = 0; i < this.devicesAll.length; i++) {
786
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
787
+ if (this.devicesAll[i][j].f_device_type == val1) {
788
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
789
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
790
+ if (this.devicesAll[i][j].f_items[k].f_item_lists[0]) {
791
+ for (let l = 0; l < this.devicesAll[i][j].f_items[k].f_item_lists.length; l++) {
792
+ aa += this.devicesAll[i][j].f_items[k].f_item_lists[l].f_item_value + ' '
793
+ }
794
+ return aa
795
+ }
796
+ }
797
+ }
798
+
799
+ }
800
+ }
801
+ }
802
+
803
+ },
804
+ getDevicePath(val1, val2) {
805
+ for (let i = 0; i < this.devicesAll.length; i++) {
806
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
807
+ if (this.devicesAll[i][j].f_device_type == val1) {
808
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
809
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
810
+ return this.devicesAll[i][j].f_items[k].f_path
811
+ }
812
+ }
813
+
814
+ }
815
+ }
816
+ }
817
+
818
+ },
819
+ getDeviceAll() {
820
+ let keyall = Object.keys(this.data)
821
+ for (let i = 0; i < keyall.length; i++) {
822
+ console.log(JSON.stringify(keyall))
823
+ if (keyall[i].startsWith('device') && keyall[i] != 'deviceundefined') {
824
+ this.devicesAll.push(this.data[keyall[i]])
825
+ console.log(keyall[i])
826
+ }
827
+ }
828
+ console.log("666666666666666666")
829
+ console.log(JSON.stringify(this.devicesAll))
830
+ this.devicesCollect()
831
+
832
+ },
833
+
834
+ back() {
835
+ if (this.role == 'inspect') {
836
+ if (!this.isStrat) {
837
+ this.$back()
838
+ return
839
+ } else {
840
+ this.savePaper(true).then(() => {
841
+ this.$back()
842
+ this.isStrat = false
843
+ })
844
+ }
845
+ } else {
846
+ this.$back()
847
+ }
848
+ },
849
+ checkIsStart() {
850
+ alert('asdad')
851
+ return
852
+ },
853
+
854
+ viewPic(fileName) {
855
+ console.log('view pic: ' + fileName)
856
+ if (this.role == 'view') {
857
+ if (!fileName.endsWith('nopic.png')) {
858
+ this.pic_to_be_viewed = fileName
859
+ this.showModal = true
860
+ }
861
+ } else {
862
+ HostApp.viewPic(fileName)
863
+ }
864
+ },
865
+ tick() {
866
+ this.timer = null
867
+ this.data.f_offsite_time = Util.toStandardTimeString()
868
+ this.timer = window.setTimeout(this.tick, 1000)
869
+ },
870
+ getRepairState() {
871
+ let repaired = true
872
+ this.data.f_defects.forEach((defect) => {
873
+ repaired = repaired & (defect.f_ratification == '已处理')
874
+ })
875
+ return repaired
876
+ },
877
+ verifyRepairDefects() {
878
+ this.data.f_repair_date = Util.toStandardTimeString()
879
+ this.data.f_repaired = this.getRepairState() ? '已修' : '在修'
880
+ },
881
+ genuineSave(saveOnly) {
882
+ HostApp.__this__.save(saveOnly)
883
+ if (!saveOnly)
884
+ HostApp.__this__.disableTimer()
885
+ HostApp.__callback__ = null
886
+ HostApp.__this__ = null
887
+ },
888
+ setUrgency() {
889
+ this.data.f_defect_urgency = 'Z'
890
+ let that = this
891
+ this.data.f_defects.forEach(function (defect) {
892
+ if (that.data.f_defect_urgency > defect.f_defect_level.charAt(0))
893
+ that.data.f_defect_urgency = defect.f_defect_level.charAt(0)
894
+ })
895
+ if (this.data.f_defect_urgency == 'Z')
896
+ this.data.f_defect_urgency = null
897
+ },
898
+ disableTimer() {
899
+ if (this.timer) {
900
+ window.clearTimeout(this.timer)
901
+ this.timer = null
902
+ }
903
+ },
904
+ loaded(paper) {
905
+ if (!paper.hasOwnProperty('id')) {
906
+ this.$showMessage("该安检单在手机上已经不存在,可能是卸载过程序。可以进入重新安检,或返回安检计划。")
907
+ this.init()
908
+ } else {
909
+ Util.booleanFilter(paper)
910
+ HostApp.__this__.$set('data', paper)
911
+ HostApp.__this__.$goto('paper-state', {}, 'paper-router')
912
+ // 如果打回重检则重新计时
913
+ console.log('HostApp.__this__.role' + HostApp.__this__.role + ' HostApp.__this__.f_approved:' + HostApp.__this__.data.f_approved)
914
+ if (HostApp.__this__.role == 'inspect'
915
+ && HostApp.__this__.data.f_approved
916
+ && HostApp.__this__.data.f_approved == '打回') {
917
+ console.log('打回')
918
+ HostApp.__this__.data.f_onsite_time = Util.toStandardTimeString()
919
+ HostApp.__this__.tick()
920
+ }
921
+ }
922
+ HostApp.__callback__ = null
923
+ HostApp.__this__ = null
924
+ },
925
+ S4() {
926
+ return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
927
+ },
928
+ init() {
929
+ this.data.f_noplan_item_id = this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4()
930
+ this.data.ename = Vue.user.ename
931
+ this.data.f_outlets = Vue.user.f_parentname
932
+ this.data.f_meetunit = Vue.user.orgpathnames
933
+ this.data.orgpathstr = Vue.user.orgpathstr
934
+ this.data.f_check_item_id = this.item.id
935
+ this.data.f_check_plan_id = this.f_plan_id
936
+ this.data.f_checker_id = Vue.user.id
937
+ this.data.f_checker_name = Vue.user.name
938
+ this.data.f_check_type = this.item.f_user_type
939
+ this.data.f_subcompany = this.item.f_subcompany
940
+ this.data.f_approved = this.item.f_approved
941
+ this.data.f_repair_approved = this.item.f_repair_approved
942
+ this.data.f_no_checkplan = this.item.f_no_checkplan
943
+ this.data.f_approved = this.item.f_approved
944
+ this.data.f_filialeid = this.item.f_filialeid
945
+ this.data.f_orgstr = this.item.f_orgstr
946
+ this.data.version = this.item.version
947
+ this.$set('data.f_meters', this.item.f_plan_meters)
948
+ this.$set('data.f_userinfo_code', this.item.f_userinfo_code)
949
+ // 安检状态
950
+ this.$set('data.f_entry_status', '入户')
951
+ this.$set('data.f_usegas', '已使用')
952
+ this.$set('data.f_state', this.item.f_state)
953
+ // 用户信息
954
+ this.$set('data.f_user_name', this.item.f_user_name)
955
+ this.$set('data.f_user_phone', this.item.f_user_phone)
956
+ this.$set('data.f_userinfoid', this.item.f_userinfoid)
957
+ this.$set('data.f_address', this.item.f_address)
958
+ this.$set('data.f_card_id', this.item.f_card_id)
959
+ this.$set('data.f_area', this.item.f_area)
960
+ this.$set('data.f_street', this.item.f_street)
961
+ this.$set('data.f_room', this.item.f_room)
962
+ this.$set('data.f_building', this.item.f_building)
963
+ this.$set('data.f_unit', this.item.f_unit)
964
+ this.$set('data.f_floor', this.item.f_floor)
965
+ this.$set('data.f_residential_area', this.item.f_residential_area)
966
+ this.$set('data.f_idnumber', this.item.f_idnumber)
967
+ this.$set('data.f_comments', this.item.f_comments)
968
+ this.$set('data.f_userproperties', this.item.f_userproperties)
969
+ // 处置方式
970
+ this.$set('data.f_no_gas_device', false)
971
+ this.$set('data.f_close_valve', false)
972
+ this.$set('data.f_unload_battery', false)
973
+ if (this.data.f_check_item_id == '' && this.item.f_no_checkplan == '无计划安检') {
974
+ this.data.f_check_item_id = this.data.f_noplan_item_id
975
+ }
976
+
977
+ //房屋结构
978
+ // this.$set('data.f_room_style', '多层')
979
+ //供暖方式
980
+ // this.$set('data.f_heating_style', '热力公司集中供暖')
981
+ if (this.item.f_plan_meters) {
982
+ for (let de in this.devices) {
983
+ this.$set('data.device' + this.devices[de].n, [])
984
+ for (let i = 0; i < this.item.f_plan_meters.length; i++) {
985
+ if (this.item.f_plan_meters[i].f_meter_type) {
986
+ if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_meter_type.indexOf('机表') > 0) {
987
+ delete this.config['燃气表']['items']['累计购气量']
988
+ this.data['device' + this.devices[de].n].push({
989
+ f_device_type: "燃气表",
990
+ f_items: [{
991
+ f_defect_level: null,
992
+ f_device_id: "",
993
+ f_is_defect: "",
994
+ f_item_name: "表品牌",
995
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
996
+ f_path: "",
997
+ type: "string"
998
+ },
999
+ {
1000
+ f_defect_level: null,
1001
+ f_device_id: "",
1002
+ f_is_defect: "",
1003
+ f_item_name: "位置",
1004
+ f_item_value: this.item.f_plan_meters[i].f_weizhi,
1005
+ f_path: "",
1006
+ type: "selector"
1007
+ },
1008
+ {
1009
+ f_defect_level: null,
1010
+ f_device_id: "",
1011
+ f_is_defect: "",
1012
+ f_item_name: "表号",
1013
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
1014
+ f_path: "",
1015
+ type: "number"
1016
+ },
1017
+ {
1018
+ f_defect_level: null,
1019
+ f_device_id: "",
1020
+ f_is_defect: "",
1021
+ f_item_name: "表封号",
1022
+ f_item_value: this.item.f_plan_meters[i].f_metertitles,
1023
+ f_path: "",
1024
+ type: "number"
1025
+ },
1026
+ {
1027
+ f_defect_level: null,
1028
+ f_device_id: "",
1029
+ f_is_defect: "",
1030
+ f_item_name: "表型号",
1031
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1032
+ f_path: "",
1033
+ type: "selector"
1034
+ },
1035
+ {
1036
+ f_defect_level: null,
1037
+ f_device_id: "",
1038
+ f_is_defect: "",
1039
+ f_item_name: "表底数",
1040
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1041
+ f_path: "",
1042
+ type: "number"
1043
+ }
1044
+ ]
1045
+ })
1046
+ } else if (this.devices[de].device == "燃气表") {
1047
+ delete this.config['燃气表']['items']['表底数']
1048
+ this.data['device' + this.devices[de].n].push({
1049
+ f_device_type: "燃气表",
1050
+ f_items: [{
1051
+ f_defect_level: null,
1052
+ f_device_id: "",
1053
+ f_is_defect: "",
1054
+ f_item_name: "表品牌",
1055
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
1056
+ f_path: "",
1057
+ type: "string"
1058
+ },
1059
+ {
1060
+ f_defect_level: null,
1061
+ f_device_id: "",
1062
+ f_is_defect: "",
1063
+ f_item_name: "位置",
1064
+ f_item_value: this.item.f_plan_meters[i].f_weizhi,
1065
+ f_path: "",
1066
+ type: "selector"
1067
+ },
1068
+ {
1069
+ f_defect_level: null,
1070
+ f_device_id: "",
1071
+ f_is_defect: "",
1072
+ f_item_name: "表号",
1073
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
1074
+ f_path: "",
1075
+ type: "number"
1076
+ },
1077
+ {
1078
+ f_defect_level: null,
1079
+ f_device_id: "",
1080
+ f_is_defect: "",
1081
+ f_item_name: "表封号",
1082
+ f_item_value: this.item.f_plan_meters[i].f_metertitles,
1083
+ f_path: "",
1084
+ type: "number"
1085
+ },
1086
+ {
1087
+ f_defect_level: null,
1088
+ f_device_id: "",
1089
+ f_is_defect: "",
1090
+ f_item_name: "表型号",
1091
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1092
+ f_path: "",
1093
+ type: "selector"
1094
+ },
1095
+ {
1096
+ f_defect_level: null,
1097
+ f_device_id: "",
1098
+ f_is_defect: "",
1099
+ f_item_name: "累计购气量",
1100
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1101
+ f_path: "",
1102
+ type: "number"
1103
+ }
1104
+ ]
1105
+ })
1106
+ }
1107
+ }
1108
+ }
1109
+ }
1110
+ }
1111
+
1112
+ this.$goto('paper-state', {}, 'paper-router')
1113
+ },
1114
+ extend(initalObj, finalObj) {
1115
+ var obj = finalObj || {};
1116
+ for (var i in initalObj) {
1117
+ var prop = initalObj[i];
1118
+
1119
+ // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
1120
+ if (prop === obj) {
1121
+ continue;
1122
+ }
1123
+
1124
+ if (typeof prop === 'object') {
1125
+ if (obj[i]) {
1126
+ this.extend(obj[i], prop)
1127
+ } else {
1128
+ obj[i] = prop;
1129
+ }
1130
+ }
1131
+ }
1132
+ return obj;
1133
+ },
1134
+ //获取当前时间
1135
+ getNowFormatDate() {
1136
+ var date = new Date();
1137
+ var seperator1 = "-";
1138
+ var seperator2 = ":";
1139
+ var month = date.getMonth() + 1;
1140
+ var strDate = date.getDate();
1141
+ if (month >= 1 && month <= 9) {
1142
+ month = "0" + month;
1143
+ }
1144
+ if (strDate >= 0 && strDate <= 9) {
1145
+ strDate = "0" + strDate;
1146
+ }
1147
+ var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1148
+ + " " + date.getHours() + seperator2 + date.getMinutes()
1149
+ + seperator2 + date.getSeconds();
1150
+ return currentdate;
1151
+ }
1152
+ },
1153
+ ready() {
1154
+ this.putDevices()
1155
+ console.log("ssssssss"+JSON.stringify(this.config))
1156
+
1157
+ if (this.item.f_state != '未检' || this.item.f_no_checkplan == '无计划安检') {
1158
+ if (this.role != 'inspect') {
1159
+ let that = this
1160
+ let id
1161
+ if (this.role == 'view') {
1162
+ id = this.item.id
1163
+ } else if (this.role == 'androidview') {
1164
+ id = this.item.f_paper_id
1165
+ }
1166
+ this.$resetpost(`rs/path/getUserinfomation`, {data: {condition: `id = '${id}'`}}).then((respanse) => {
1167
+ console.log('result....', respanse)
1168
+ if (respanse.data.length != 0) {
1169
+ // 包含 其它 特殊处理的数组
1170
+ // 对应位置
1171
+
1172
+ console.log('devices => ', respanse.data[0])
1173
+
1174
+ that.data = Object.assign(that.data, respanse.data[0])
1175
+ if (respanse.data[0].f_devices) {
1176
+ for (let da in that.devices) {
1177
+ that.$set('data.device' + that.devices[da].n, [])
1178
+ }
1179
+ respanse.data[0].f_devices.forEach((item) => {
1180
+ for (let de in that.devices) {
1181
+ if (that.devices[de].device == item.f_device_type) {
1182
+ item.f_items.forEach((f_item) => {
1183
+ console.log('f_item====>', f_item)
1184
+ console.log('f_item.f_path====>', f_item.f_path)
1185
+ let itemValues = []
1186
+ f_item.f_item_lists.forEach((tempItem) => {
1187
+ console.log('emm => ', f_item.f_item_name, ' ', tempItem.f_item_value)
1188
+ if (tempItem.f_item_value !== 'null') {
1189
+ itemValues.push(tempItem.f_item_value)
1190
+ }
1191
+ })
1192
+ f_item.f_item_value = itemValues
1193
+ })
1194
+ that.data['device' + that.devices[de].n].push({
1195
+ f_device_type: item.f_device_type,
1196
+ f_items: item.f_items
1197
+ })
1198
+ }
1199
+ }
1200
+ })
1201
+ }
1202
+ Util.replaceFalse(that.data)
1203
+ Util.booleanFilter(that.data)
1204
+ if (this.role == 'view') {
1205
+ Util.ratifyPics(that.data)
1206
+ Util.ratifyPics(that.picture)
1207
+ } else {
1208
+ Util.androidRatifyPics(that.data, this.$androidUtil.getProxyUrl())
1209
+ }
1210
+ console.log("that.data:", that.data)
1211
+ }
1212
+ // this.$goto('paper-message-blank', {userinfo:this.data,devices:this.devices,config:this.config,role:this.role}, 'self')
1213
+ this.isshow = true
1214
+ asyncReady(this).then(() => {
1215
+ console.log("66666666666")
1216
+ console.log(JSON.stringify(this.data))
1217
+ if (this.data.f_check_type == '民用') {
1218
+ this.deviceconfig = Vue.config.safecheck.DevicesConfig
1219
+ console.log("deviceconfig1==>" + JSON.stringify(this.deviceconfig))
1220
+ } else if (this.data.f_check_type == '非民用') {
1221
+ this.deviceconfig = Vue.config.safecheck.DevicesSetConfig
1222
+ console.log("deviceconfig2==>" + JSON.stringify(this.deviceconfig))
1223
+ }
1224
+ if (this.data.f_collection_type == '按金额') {
1225
+ let aaa = Object.assign({}, this.config2["燃气表"].items, this.deviceconfig["燃气表"].items)
1226
+ this.deviceconfig["燃气表"].items = aaa
1227
+ //this.deviceconfig["燃气表"]=this.config2["燃气表"]
1228
+ console.log("deviceconfig3==>" + JSON.stringify(this.deviceconfig))
1229
+ } else {
1230
+ let aaa = Object.assign({}, this.config["燃气表"].items, this.deviceconfig["燃气表"].items)
1231
+ this.deviceconfig["燃气表"].items = aaa
1232
+ console.log("deviceconfig4==>" + JSON.stringify(this.deviceconfig))
1233
+ }
1234
+ this.deviceconfig2 = ObjConfig.getObjConfig(this.deviceconfig)
1235
+ this.deviceconfig2[0].items = jsonSort(this.deviceconfig2[0].items, "index")
1236
+ this.deviceconfig2[1].items = jsonSort(this.deviceconfig2[1].items, "index")
1237
+ this.deviceconfig2 = jsonSort(this.deviceconfig2, "index")
1238
+ this.getDeviceAll()
1239
+
1240
+
1241
+ })
1242
+ }
1243
+ ).catch(
1244
+ (respanse) => {
1245
+ console.log('respanse', respanse)
1246
+ alert('查找安检单失败')
1247
+ })
1248
+ }
1249
+ }
1250
+
1251
+ },
1252
+ watch: {
1253
+ // 'isUpload'(val){
1254
+ // console.log('isUpload发生变化===>'+val)
1255
+ // }
1256
+ },
1257
+ destroyed() {
1258
+ console.log('退出当前页Set')
1259
+ this.disableTimer()
1260
+ }
1261
+ }
1262
+
1263
+ </script>
1264
+ <style scoped>
1265
+ .table-striped thead tr th {
1266
+ background-color: rgb(223, 237, 251);
1267
+ padding: 10px;
1268
+ border-left: solid 0px #dae4f2;
1269
+ border-top: solid 1px #dae4f2;
1270
+ border-right: none;
1271
+ border-bottom: none;
1272
+ text-align: center;
1273
+ color: black;
1274
+ }
1275
+ </style>