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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (843) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/.eslintrc.js +16 -16
  4. package/.project +11 -11
  5. package/CHANGELOG.md +27 -27
  6. package/README.md +38 -38
  7. package/android.html +18 -18
  8. package/build/css-loaders.js +34 -34
  9. package/build/dev-android.js +151 -151
  10. package/build/dev-client.js +8 -8
  11. package/build/example-server.js +157 -157
  12. package/build/release.sh +28 -28
  13. package/build/utils.js +71 -71
  14. package/build/webpack.base.conf.js +88 -88
  15. package/build/webpack.baseandroid.conf.js +83 -83
  16. package/build/webpack.dev.conf.js +40 -40
  17. package/build/webpack.devandroid.conf.js +33 -33
  18. package/build/webpack.example.conf.js +49 -49
  19. package/build/webpack.hanwei.conf.js +57 -57
  20. package/build/webpack.hwbase.conf.js +78 -78
  21. package/build/webpack.prod.conf.js +80 -80
  22. package/build/webpack.prodandroid.conf.js +60 -60
  23. package/build/webpack.test.conf.js +31 -31
  24. package/build.gradle +14 -14
  25. package/config/dev.env.js +6 -6
  26. package/config/index.js +38 -38
  27. package/config/prod.env.js +3 -3
  28. package/config/test.env.js +6 -6
  29. package/docs/AppBase.md +22 -22
  30. package/docs/Busy.md +14 -14
  31. package/docs/Criteria.md +47 -47
  32. package/docs/CriteriaPaged.md +47 -47
  33. package/docs/DataGrid.md +54 -54
  34. package/docs/DataModel.md +22 -22
  35. package/docs/Dynamic.md +42 -42
  36. package/docs/FormPrint.md +18 -18
  37. package/docs/GetParams.md +11 -11
  38. package/docs/GridTree.md +47 -47
  39. package/docs/HttpBusy.md +13 -13
  40. package/docs/HttpStore.md +29 -29
  41. package/docs/MessageBox.md +28 -28
  42. package/docs/PagedList.md +29 -29
  43. package/docs/Pager.md +21 -21
  44. package/docs/PrintFile.md +38 -38
  45. package/docs/Project.md +23 -23
  46. package/docs/Route.md +105 -105
  47. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  48. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  49. package/docs/Task.md +46 -46
  50. package/docs/TreeList.md +28 -28
  51. package/docs/TreeMixin.md +18 -18
  52. package/docs/all.md +10 -10
  53. package/docs/list.md +42 -42
  54. package/docs/partial.md +75 -75
  55. package/docs/selector.md +82 -82
  56. package/docs/tree.md +40 -40
  57. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  58. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  59. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  60. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  61. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  62. package/examples/AddressList/App.vue +13 -13
  63. package/examples/AddressList/index.html +11 -11
  64. package/examples/AddressList/main.js +13 -13
  65. package/examples/ChangeConfig/App.vue +54 -54
  66. package/examples/ChangeConfig/comp.js +548 -548
  67. package/examples/ChangeConfig/index.html +17 -17
  68. package/examples/ChangeConfig/main.js +13 -13
  69. package/examples/CheckAdvise/App.vue +24 -24
  70. package/examples/CheckAdvise/comp.js +9 -9
  71. package/examples/CheckAdvise/index.html +18 -18
  72. package/examples/CheckAdvise/main.js +13 -13
  73. package/examples/CreatePlan/App.vue +13 -13
  74. package/examples/CreatePlan/index.html +11 -11
  75. package/examples/CreatePlan/main.js +13 -13
  76. package/examples/DispatchList/App.vue +10 -10
  77. package/examples/DispatchList/BaseTree.vue +13 -13
  78. package/examples/DispatchList/Init.vue +22 -22
  79. package/examples/DispatchList/Test.vue +20 -20
  80. package/examples/DispatchList/index.html +11 -11
  81. package/examples/DispatchList/main.js +18 -18
  82. package/examples/PhoneSafePlan/App.vue +36 -36
  83. package/examples/PhoneSafePlan/TestData.js +448 -448
  84. package/examples/PhoneSafePlan/comp.js +33 -33
  85. package/examples/PhoneSafePlan/index.html +17 -17
  86. package/examples/PhoneSafePlan/main.js +13 -13
  87. package/examples/SafePlan/App.vue +83 -83
  88. package/examples/SafePlan/TestData.js +448 -448
  89. package/examples/SafePlan/comp.js +1521 -1521
  90. package/examples/SafePlan/index.html +18 -18
  91. package/examples/SafePlan/main.js +13 -13
  92. package/examples/SafePlan-aode/App.vue +39 -39
  93. package/examples/SafePlan-aode/TestData.js +448 -448
  94. package/examples/SafePlan-aode/comp.js +1132 -1132
  95. package/examples/SafePlan-aode/index.html +17 -17
  96. package/examples/SafePlan-aode/main.js +13 -13
  97. package/examples/SafePlan-liaoyuan/App.vue +53 -53
  98. package/examples/SafePlan-liaoyuan/TestData.js +448 -448
  99. package/examples/SafePlan-liaoyuan/comp.js +1419 -1419
  100. package/examples/SafePlan-liaoyuan/index.html +18 -18
  101. package/examples/SafePlan-liaoyuan/main.js +13 -13
  102. package/examples/SafePlan-shaoguan/App.vue +52 -52
  103. package/examples/SafePlan-shaoguan/TestData.js +448 -448
  104. package/examples/SafePlan-shaoguan/comp.js +1190 -1190
  105. package/examples/SafePlan-shaoguan/index.html +18 -18
  106. package/examples/SafePlan-shaoguan/main.js +13 -13
  107. package/examples/SafePlan-tongchuan/App.vue +81 -81
  108. package/examples/SafePlan-tongchuan/TestData.js +448 -448
  109. package/examples/SafePlan-tongchuan/comp.js +1480 -1480
  110. package/examples/SafePlan-tongchuan/index.html +18 -18
  111. package/examples/SafePlan-tongchuan/main.js +13 -13
  112. package/examples/SafePlan-wenxi/App.vue +80 -80
  113. package/examples/SafePlan-wenxi/TestData.js +448 -448
  114. package/examples/SafePlan-wenxi/comp.js +1545 -1545
  115. package/examples/SafePlan-wenxi/index.html +18 -18
  116. package/examples/SafePlan-wenxi/main.js +13 -13
  117. package/examples/SafePlan-zhoukou/App.vue +81 -81
  118. package/examples/SafePlan-zhoukou/TestData.js +448 -448
  119. package/examples/SafePlan-zhoukou/comp.js +1525 -1525
  120. package/examples/SafePlan-zhoukou/index.html +18 -18
  121. package/examples/SafePlan-zhoukou/main.js +13 -13
  122. package/examples/SafePlanItem/App.vue +33 -33
  123. package/examples/SafePlanItem/TestData.js +448 -448
  124. package/examples/SafePlanItem/comp.js +69 -69
  125. package/examples/SafePlanItem/index.html +17 -17
  126. package/examples/SafePlanItem/main.js +15 -15
  127. package/examples/SafePlanrongcheng/App.vue +52 -52
  128. package/examples/SafePlanrongcheng/TestData.js +448 -448
  129. package/examples/SafePlanrongcheng/comp.js +1133 -1133
  130. package/examples/SafePlanrongcheng/index.html +18 -18
  131. package/examples/SafePlanrongcheng/main.js +13 -13
  132. package/examples/SafePlanrongcheng-gs/App.vue +52 -52
  133. package/examples/SafePlanrongcheng-gs/TestData.js +448 -448
  134. package/examples/SafePlanrongcheng-gs/comp.js +1132 -1132
  135. package/examples/SafePlanrongcheng-gs/index.html +18 -18
  136. package/examples/SafePlanrongcheng-gs/main.js +13 -13
  137. package/examples/SafePlanrongcheng-gssq/App.vue +52 -52
  138. package/examples/SafePlanrongcheng-gssq/TestData.js +448 -448
  139. package/examples/SafePlanrongcheng-gssq/comp.js +1135 -1135
  140. package/examples/SafePlanrongcheng-gssq/index.html +18 -18
  141. package/examples/SafePlanrongcheng-gssq/main.js +13 -13
  142. package/examples/SafePlanrongcheng-mysq/App.vue +52 -52
  143. package/examples/SafePlanrongcheng-mysq/TestData.js +448 -448
  144. package/examples/SafePlanrongcheng-mysq/comp.js +1136 -1136
  145. package/examples/SafePlanrongcheng-mysq/index.html +18 -18
  146. package/examples/SafePlanrongcheng-mysq/main.js +13 -13
  147. package/examples/Test/App.vue +35 -35
  148. package/examples/Test/TestData.js +489 -489
  149. package/examples/Test/index.html +17 -17
  150. package/examples/Test/main.js +13 -13
  151. package/examples/Test//350/216/267/345/217/226/345/217/230/351/207/217 +2 -2
  152. package/examples/UserFiles/App.vue +47 -47
  153. package/examples/UserFiles/TestData.js +448 -448
  154. package/examples/UserFiles/comp.js +227 -227
  155. package/examples/UserFiles/index.html +19 -19
  156. package/examples/UserFiles/main.js +13 -13
  157. package/home.html +16 -16
  158. package/index.html +23 -23
  159. package/oa.iml +8 -8
  160. package/package.json +1 -1
  161. package/publish.bat +7 -7
  162. package/release.bat +5 -5
  163. package/src/AndroidApp.vue +26 -26
  164. package/src/App.vue +27 -27
  165. package/src/Widget.vue +13 -13
  166. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  167. package/src/android-bootstrap/less/.csscomb.json +304 -304
  168. package/src/android-bootstrap/less/.csslintrc +19 -19
  169. package/src/android-bootstrap/less/alerts.less +73 -73
  170. package/src/android-bootstrap/less/badges.less +66 -66
  171. package/src/android-bootstrap/less/bootstrap.less +56 -56
  172. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  173. package/src/android-bootstrap/less/button-groups.less +247 -247
  174. package/src/android-bootstrap/less/buttons.less +173 -173
  175. package/src/android-bootstrap/less/carousel.less +269 -269
  176. package/src/android-bootstrap/less/close.less +34 -34
  177. package/src/android-bootstrap/less/code.less +69 -69
  178. package/src/android-bootstrap/less/component-animations.less +33 -33
  179. package/src/android-bootstrap/less/dropdowns.less +216 -216
  180. package/src/android-bootstrap/less/forms.less +626 -626
  181. package/src/android-bootstrap/less/glyphicons.less +305 -305
  182. package/src/android-bootstrap/less/grid.less +84 -84
  183. package/src/android-bootstrap/less/input-groups.less +167 -167
  184. package/src/android-bootstrap/less/jumbotron.less +52 -52
  185. package/src/android-bootstrap/less/labels.less +64 -64
  186. package/src/android-bootstrap/less/list-group.less +141 -141
  187. package/src/android-bootstrap/less/media.less +66 -66
  188. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  189. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  190. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  191. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  192. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  193. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  194. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  195. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  196. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  197. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  198. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  199. package/src/android-bootstrap/less/mixins/image.less +33 -33
  200. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  201. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  202. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  203. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  204. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  205. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  206. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  207. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  208. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  209. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  210. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  211. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  212. package/src/android-bootstrap/less/mixins/size.less +10 -10
  213. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  214. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  215. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  216. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  217. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  218. package/src/android-bootstrap/less/mixins.less +40 -40
  219. package/src/android-bootstrap/less/modals.less +151 -151
  220. package/src/android-bootstrap/less/navbar.less +660 -660
  221. package/src/android-bootstrap/less/navs.less +290 -290
  222. package/src/android-bootstrap/less/normalize.less +424 -424
  223. package/src/android-bootstrap/less/pager.less +76 -76
  224. package/src/android-bootstrap/less/pagination.less +89 -89
  225. package/src/android-bootstrap/less/panels.less +274 -274
  226. package/src/android-bootstrap/less/popovers.less +131 -131
  227. package/src/android-bootstrap/less/print.less +101 -101
  228. package/src/android-bootstrap/less/progress-bars.less +87 -87
  229. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  230. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  231. package/src/android-bootstrap/less/scaffolding.less +161 -161
  232. package/src/android-bootstrap/less/tables.less +262 -262
  233. package/src/android-bootstrap/less/theme.less +291 -291
  234. package/src/android-bootstrap/less/thumbnails.less +36 -36
  235. package/src/android-bootstrap/less/tooltip.less +102 -102
  236. package/src/android-bootstrap/less/type.less +303 -303
  237. package/src/android-bootstrap/less/utilities.less +55 -55
  238. package/src/android-bootstrap/less/variables.less +896 -896
  239. package/src/android-bootstrap/less/wells.less +29 -29
  240. package/src/android.js +16 -16
  241. package/src/androidBase.js +177 -177
  242. package/src/androidTest.js +20 -20
  243. package/src/bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  244. package/src/bootstrap/less/.csscomb.json +304 -304
  245. package/src/bootstrap/less/.csslintrc +19 -19
  246. package/src/bootstrap/less/alerts.less +73 -73
  247. package/src/bootstrap/less/aofeng/animate.min.css +10 -10
  248. package/src/bootstrap/less/aofeng/standard.less +2121 -2121
  249. package/src/bootstrap/less/aofeng/themeOne/BinaryTemplate.less +686 -686
  250. package/src/bootstrap/less/aofeng/themeOne/loginStyle.less +1586 -1586
  251. package/src/bootstrap/less/aofeng/themeOne/systemStyle.less +2650 -2650
  252. package/src/bootstrap/less/aofeng/themeOne.less +14 -14
  253. package/src/bootstrap/less/aofeng/themeTwo/newStyle1.less +415 -415
  254. package/src/bootstrap/less/aofeng/themeTwo.less +3 -3
  255. package/src/bootstrap/less/badges.less +66 -66
  256. package/src/bootstrap/less/bootstrap.less +65 -65
  257. package/src/bootstrap/less/breadcrumbs.less +26 -26
  258. package/src/bootstrap/less/button-groups.less +247 -247
  259. package/src/bootstrap/less/buttons.less +172 -172
  260. package/src/bootstrap/less/carousel.less +269 -269
  261. package/src/bootstrap/less/close.less +34 -34
  262. package/src/bootstrap/less/code.less +69 -69
  263. package/src/bootstrap/less/component-animations.less +33 -33
  264. package/src/bootstrap/less/dropdowns.less +216 -216
  265. package/src/bootstrap/less/forms.less +626 -626
  266. package/src/bootstrap/less/glyphicons.less +305 -305
  267. package/src/bootstrap/less/grid.less +84 -84
  268. package/src/bootstrap/less/input-groups.less +167 -167
  269. package/src/bootstrap/less/jumbotron.less +52 -52
  270. package/src/bootstrap/less/labels.less +64 -64
  271. package/src/bootstrap/less/list-group.less +141 -141
  272. package/src/bootstrap/less/manageStyle/manageChile.less +180 -180
  273. package/src/bootstrap/less/manageStyle/manageStyle.less +1102 -1102
  274. package/src/bootstrap/less/manageStyle/safeStyle.less +498 -498
  275. package/src/bootstrap/less/media.less +66 -66
  276. package/src/bootstrap/less/mixins/alerts.less +14 -14
  277. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  278. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  279. package/src/bootstrap/less/mixins/buttons.less +69 -69
  280. package/src/bootstrap/less/mixins/center-block.less +7 -7
  281. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  282. package/src/bootstrap/less/mixins/forms.less +90 -90
  283. package/src/bootstrap/less/mixins/gradients.less +59 -59
  284. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  285. package/src/bootstrap/less/mixins/grid.less +122 -122
  286. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  287. package/src/bootstrap/less/mixins/image.less +33 -33
  288. package/src/bootstrap/less/mixins/labels.less +12 -12
  289. package/src/bootstrap/less/mixins/list-group.less +30 -30
  290. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  291. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  292. package/src/bootstrap/less/mixins/opacity.less +8 -8
  293. package/src/bootstrap/less/mixins/pagination.less +24 -24
  294. package/src/bootstrap/less/mixins/panels.less +24 -24
  295. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  296. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  297. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  298. package/src/bootstrap/less/mixins/resize.less +6 -6
  299. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  300. package/src/bootstrap/less/mixins/size.less +10 -10
  301. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  302. package/src/bootstrap/less/mixins/table-row.less +44 -44
  303. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  304. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  305. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  306. package/src/bootstrap/less/mixins.less +40 -40
  307. package/src/bootstrap/less/modals.less +151 -151
  308. package/src/bootstrap/less/navbar.less +660 -660
  309. package/src/bootstrap/less/navs.less +285 -285
  310. package/src/bootstrap/less/normalize.less +424 -424
  311. package/src/bootstrap/less/pager.less +76 -76
  312. package/src/bootstrap/less/pagination.less +89 -89
  313. package/src/bootstrap/less/panels.less +275 -275
  314. package/src/bootstrap/less/popovers.less +131 -131
  315. package/src/bootstrap/less/print.less +101 -101
  316. package/src/bootstrap/less/progress-bars.less +87 -87
  317. package/src/bootstrap/less/responsive-embed.less +35 -35
  318. package/src/bootstrap/less/responsive-utilities.less +194 -194
  319. package/src/bootstrap/less/scaffolding.less +161 -161
  320. package/src/bootstrap/less/stand.less +207 -207
  321. package/src/bootstrap/less/standard.less +503 -503
  322. package/src/bootstrap/less/systemStyle.less +860 -860
  323. package/src/bootstrap/less/tables.less +262 -262
  324. package/src/bootstrap/less/theme.less +291 -291
  325. package/src/bootstrap/less/themeOne.less +36 -36
  326. package/src/bootstrap/less/themeTwo.less +29 -29
  327. package/src/bootstrap/less/thumbnails.less +36 -36
  328. package/src/bootstrap/less/tooltip.less +102 -102
  329. package/src/bootstrap/less/type.less +303 -303
  330. package/src/bootstrap/less/utilities.less +55 -55
  331. package/src/bootstrap/less/variables.less +896 -896
  332. package/src/bootstrap/less/wells.less +29 -29
  333. package/src/components/AloneLoadParams.vue +25 -25
  334. package/src/components/CheckerCount/CheckCountAreaList.vue +306 -306
  335. package/src/components/CheckerCount/CheckCountAreaManage.vue +112 -112
  336. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  337. package/src/components/CheckerCount/ZhouKouCheckCount.vue +272 -272
  338. package/src/components/ExportExcel.vue +334 -334
  339. package/src/components/FileUpload.vue +696 -696
  340. package/src/components/Hello.vue +39 -39
  341. package/src/components/LeftTree.vue +27 -27
  342. package/src/components/Login.vue +459 -459
  343. package/src/components/Main.vue +393 -393
  344. package/src/components/Test.vue +1478 -1478
  345. package/src/components/Util/FileUpload.vue +138 -138
  346. package/src/components/Util/ImgSelfSafe.vue +126 -126
  347. package/src/components/Util/RightTreeSafe.vue +348 -348
  348. package/src/components/Util/SafecheckUpload.vue +265 -265
  349. package/src/components/Util.js +376 -376
  350. package/src/components/android/AddGas.vue +147 -147
  351. package/src/components/android/AddPlanItem.vue +412 -412
  352. package/src/components/android/AddressList.vue +61 -61
  353. package/src/components/android/AdviseCommit.vue +59 -59
  354. package/src/components/android/AndroidCheckResult.vue +181 -181
  355. package/src/components/android/AndroidDefectDeal.vue +397 -397
  356. package/src/components/android/Announcement.vue +167 -167
  357. package/src/components/android/AreaPlan.vue +503 -503
  358. package/src/components/android/AttendanceTally.vue +116 -116
  359. package/src/components/android/Blank.vue +10 -10
  360. package/src/components/android/CheckNotice.vue +89 -89
  361. package/src/components/android/CheckPlan.vue +257 -257
  362. package/src/components/android/CheckPlanDown.vue +216 -216
  363. package/src/components/android/CheckPlanItems.vue +423 -423
  364. package/src/components/android/CheckUnplanPage.vue +56 -56
  365. package/src/components/android/Checker.vue +12 -12
  366. package/src/components/android/CheckerAnnual.vue +81 -81
  367. package/src/components/android/CheckerAnnualDetail.vue +63 -63
  368. package/src/components/android/CheckerAvarta.vue +82 -82
  369. package/src/components/android/CheckerMonthly.vue +84 -84
  370. package/src/components/android/Checkpage.vue +102 -102
  371. package/src/components/android/CurrentCreate.vue +972 -972
  372. package/src/components/android/DailyworkloadQuery.vue +396 -396
  373. package/src/components/android/Defect.vue +119 -119
  374. package/src/components/android/DeviceDefect.vue +187 -187
  375. package/src/components/android/Devices.vue +327 -327
  376. package/src/components/android/DevicesItem.vue +495 -495
  377. package/src/components/android/DevicesItemm.vue +445 -445
  378. package/src/components/android/DevicesNoncivil.vue +214 -214
  379. package/src/components/android/Devicesm.vue +327 -327
  380. package/src/components/android/DoorService.vue +501 -501
  381. package/src/components/android/EquipmentInspection.vue +348 -348
  382. package/src/components/android/ExtractCheckPlan.vue +268 -268
  383. package/src/components/android/ExtractPlanItem.vue +516 -516
  384. package/src/components/android/FootprintMap.vue +120 -120
  385. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  386. package/src/components/android/LcheckUnplan.vue +108 -108
  387. package/src/components/android/LocalPagedList.js +108 -108
  388. package/src/components/android/LocalPathList.js +109 -109
  389. package/src/components/android/Login.vue +222 -222
  390. package/src/components/android/MasterMain.vue +77 -77
  391. package/src/components/android/Menu.vue +132 -132
  392. package/src/components/android/NavBottom.vue +157 -157
  393. package/src/components/android/PaperAlarm.vue +85 -85
  394. package/src/components/android/PaperAlarmNoncivil.vue +286 -286
  395. package/src/components/android/PaperCooker.vue +325 -325
  396. package/src/components/android/PaperDefect.vue +230 -230
  397. package/src/components/android/PaperDevice.vue +279 -279
  398. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  399. package/src/components/android/PaperFeedback.vue +1444 -1444
  400. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  401. package/src/components/android/PaperFurnace.vue +274 -274
  402. package/src/components/android/PaperFurnaceNoncivil.vue +203 -203
  403. package/src/components/android/PaperHeater.vue +287 -287
  404. package/src/components/android/PaperInnerPlumb.vue +171 -171
  405. package/src/components/android/PaperMessage.vue +1323 -1323
  406. package/src/components/android/PaperMessageNocivil.vue +1288 -1288
  407. package/src/components/android/PaperMeter.vue +351 -351
  408. package/src/components/android/PaperMeterNoncivil.vue +481 -481
  409. package/src/components/android/PaperPieceNoncivil.vue +142 -142
  410. package/src/components/android/PaperPlumb.vue +141 -141
  411. package/src/components/android/PaperPlumbNoncivil.vue +253 -253
  412. package/src/components/android/PaperSet.vue +1956 -1956
  413. package/src/components/android/PaperSetNoncivil.vue +1760 -1760
  414. package/src/components/android/PaperState.vue +390 -390
  415. package/src/components/android/PaperStateNoncivil.vue +383 -383
  416. package/src/components/android/PaperStateNoncivilm.vue +377 -377
  417. package/src/components/android/PaperStatem.vue +346 -346
  418. package/src/components/android/PaperUser.vue +606 -606
  419. package/src/components/android/PaperUserNoncivil.vue +424 -424
  420. package/src/components/android/PaperUserm.vue +356 -356
  421. package/src/components/android/PaperValve.vue +178 -178
  422. package/src/components/android/PaperValveNoncivil.vue +180 -180
  423. package/src/components/android/PhoneChangemeterInfo.vue +107 -107
  424. package/src/components/android/PhoneInfoTable.vue +40 -40
  425. package/src/components/android/PhoneSellInfo.vue +113 -113
  426. package/src/components/android/PhoneState.vue +157 -157
  427. package/src/components/android/PhoneUpUserinfo.vue +929 -929
  428. package/src/components/android/PhoneUserFind.vue +111 -111
  429. package/src/components/android/PlumberAnnual.vue +83 -83
  430. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  431. package/src/components/android/PlumberMonthly.vue +84 -84
  432. package/src/components/android/PostMap.vue +83 -83
  433. package/src/components/android/PrearrangedPlan.vue +247 -247
  434. package/src/components/android/QueryCheckHistory.vue +122 -122
  435. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  436. package/src/components/android/RepairAreaList.vue +71 -71
  437. package/src/components/android/RepairList.vue +206 -206
  438. package/src/components/android/RepairMain.vue +60 -60
  439. package/src/components/android/RepairQuery.vue +262 -262
  440. package/src/components/android/Repairman.vue +12 -12
  441. package/src/components/android/ResAreaList.vue +158 -158
  442. package/src/components/android/RightTree.vue +174 -174
  443. package/src/components/android/SafecheckDevices.vue +1143 -1143
  444. package/src/components/android/SafecheckOrderV.vue +2408 -2408
  445. package/src/components/android/SafecheckState.vue +437 -437
  446. package/src/components/android/SafecheckUser.vue +580 -580
  447. package/src/components/android/ShebeiDevices.vue +980 -980
  448. package/src/components/android/StationMaster.vue +12 -12
  449. package/src/components/android/SwitchValve.vue +230 -230
  450. package/src/components/android/SystemSetting.vue +84 -84
  451. package/src/components/android/ToolsPage.vue +51 -51
  452. package/src/components/android/TrackState.vue +134 -134
  453. package/src/components/android/UploadPage.vue +338 -338
  454. package/src/components/android/checkPlanResult.vue +302 -302
  455. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  456. package/src/components/android/userinfo/SafecheckUserInfo.vue +611 -611
  457. package/src/components/android/wasm/PhoneSafePlan.vue +39 -39
  458. package/src/components/android/wasm/TestData.js +448 -448
  459. package/src/components/android/wasm/comp.js +33 -33
  460. package/src/components/attendance/DailyAttendance.vue +99 -99
  461. package/src/components/attendance/MonthlyAttendance.vue +194 -194
  462. package/src/components/callincheck/CallInCheckMain.vue +146 -146
  463. package/src/components/callincheck/CallInPlan.vue +148 -148
  464. package/src/components/callincheck/UserFileList.vue +155 -155
  465. package/src/components/checkAreaClassification.vue +285 -285
  466. package/src/components/checkerphonestate/Checker.vue +32 -32
  467. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  468. package/src/components/checkplan/CheckDetail.vue +205 -205
  469. package/src/components/checkplan/CheckPlan.vue +59 -59
  470. package/src/components/checkplan/SelectCheckPlan.vue +224 -224
  471. package/src/components/checkplan/SelectMessage.vue +105 -105
  472. package/src/components/checkplan/checkmsg.vue +459 -459
  473. package/src/components/checkplan/checkmsgZG.vue +519 -519
  474. package/src/components/cockpit/Splash.vue +85 -85
  475. package/src/components/cockpit/SplashDetail.vue +66 -66
  476. package/src/components/createcheckplan/CreatePlan.vue +1052 -1052
  477. package/src/components/createcheckplan/CreatePlanWuan.vue +1024 -1024
  478. package/src/components/createcheckplan/DelPlanRepeat.vue +318 -318
  479. package/src/components/createcheckplan/DistributePlan.vue +62 -62
  480. package/src/components/createcheckplan/PlanList.vue +433 -433
  481. package/src/components/createcheckplan/PlanUersList.vue +137 -137
  482. package/src/components/defect/DefectDetail.vue +177 -177
  483. package/src/components/defect/DefectDetailWeixiu.vue +177 -177
  484. package/src/components/defect/DefectList.vue +489 -489
  485. package/src/components/defect/DefectListWeixiu.vue +479 -479
  486. package/src/components/defect/DefectMain.vue +63 -63
  487. package/src/components/defect/DefectMainWeixiu.vue +63 -63
  488. package/src/components/defect/DefectPaper.vue +874 -874
  489. package/src/components/defect/DefectPaperWeiXiu.vue +655 -655
  490. package/src/components/defect/ImageViewer.vue +350 -350
  491. package/src/components/defect/ImgButton.vue +118 -118
  492. package/src/components/defect/ImgsButton.vue +62 -62
  493. package/src/components/defects/AddDefectModal.vue +120 -120
  494. package/src/components/defects/AddDevice.vue +95 -95
  495. package/src/components/defects/CheckPaperItem.vue +92 -92
  496. package/src/components/defects/CheckPaperItems.vue +89 -89
  497. package/src/components/defects/CheckPaperSearch.vue +349 -349
  498. package/src/components/defects/CheckPaperSearchMain.vue +55 -55
  499. package/src/components/defects/DefectCondition.vue +180 -180
  500. package/src/components/defects/DefectModal.vue +101 -101
  501. package/src/components/defects/DefectSeting.vue +98 -98
  502. package/src/components/defects/DefectsQuery.vue +190 -190
  503. package/src/components/defects/DevicesAndItem.vue +39 -39
  504. package/src/components/defects/DevicesSeting.vue +106 -106
  505. package/src/components/equipment/BoilerUsage.vue +105 -105
  506. package/src/components/equipment/CheckRate.vue +324 -324
  507. package/src/components/equipment/CheckerRate.vue +333 -333
  508. package/src/components/equipment/CookerUsage.vue +105 -105
  509. package/src/components/equipment/DeviceUsage.vue +105 -105
  510. package/src/components/equipment/FurnaceUsage.vue +105 -105
  511. package/src/components/equipment/GasMeterUsage.vue +109 -109
  512. package/src/components/equipment/HeaterUsage.vue +105 -105
  513. package/src/components/equipment/MonthCheckRate.vue +340 -340
  514. package/src/components/filialCircle/AddCircleFiliale.vue +114 -114
  515. package/src/components/filialCircle/CircleList.vue +139 -139
  516. package/src/components/filialCircle/CircleManage.vue +69 -69
  517. package/src/components/gasusage/GasUsage.vue +126 -126
  518. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  519. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  520. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  521. package/src/components/inspections/Checked.vue +402 -402
  522. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  523. package/src/components/inspections/InsUploadPage.vue +251 -251
  524. package/src/components/inspections/InspectionList.vue +542 -542
  525. package/src/components/inspections/InspectionLists.vue +544 -544
  526. package/src/components/inspections/InspectionListss.vue +544 -544
  527. package/src/components/inspections/inspectionDevices.vue +986 -986
  528. package/src/components/inspections/inspectionFeedback.vue +720 -720
  529. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  530. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  531. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  532. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  533. package/src/components/issueplan/IssuePlanAction.vue +102 -102
  534. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  535. package/src/components/issueplan/IssuePlanQuery.vue +118 -118
  536. package/src/components/json-editor/SafeJsonEditor.vue +212 -212
  537. package/src/components/json-editor/assets/img/jsoneditor-icons.svg +893 -893
  538. package/src/components/json-editor/assets/jsoneditor-minimalist.js +9750 -9750
  539. package/src/components/json-editor/assets/jsoneditor.css +929 -929
  540. package/src/components/json-editor/assets/jsoneditor.js +36376 -36376
  541. package/src/components/json-editor/example/App.vue +53 -53
  542. package/src/components/json-editor/example/index.html +9 -9
  543. package/src/components/json-editor/example/main.js +10 -10
  544. package/src/components/json-editor/package.json +71 -71
  545. package/src/components/json-editor/vue-json-editor.vue +189 -189
  546. package/src/components/levelplan/AdjustPlan.vue +199 -199
  547. package/src/components/levelplan/CheckerLeft.vue +140 -140
  548. package/src/components/levelplan/CheckerPlanAdjust.vue +304 -304
  549. package/src/components/levelplan/CheckerRight.vue +123 -123
  550. package/src/components/map/AMap.vue +70 -70
  551. package/src/components/map/AMapTrailShow.vue +178 -178
  552. package/src/components/map/AMapTrailShowZk.vue +178 -178
  553. package/src/components/map/FootPrintList.vue +45 -45
  554. package/src/components/map/MapCriteriaData.vue +97 -97
  555. package/src/components/map/checkScreen.vue +727 -727
  556. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  557. package/src/components/metterfiles/MetterFiles.vue +104 -104
  558. package/src/components/metterfiles/MetterfilesAdd.vue +168 -168
  559. package/src/components/metterfiles/MetterfilesChange.vue +162 -162
  560. package/src/components/metterfiles/UserFiles.vue +156 -156
  561. package/src/components/metterfiles/Userfileschange.vue +391 -391
  562. package/src/components/notice/NoticeForm.vue +100 -100
  563. package/src/components/notice/NoticeIssue.vue +20 -20
  564. package/src/components/notice/NoticeQuery.vue +76 -76
  565. package/src/components/paper/PaperList.vue +806 -806
  566. package/src/components/paper/PaperVerify.vue +256 -256
  567. package/src/components/paper/PicViewer.vue +18 -18
  568. package/src/components/paper/PlanChooser.vue +159 -159
  569. package/src/components/paper/RepairVerify.vue +139 -139
  570. package/src/components/paper/RepairVerifyForm.vue +76 -76
  571. package/src/components/paper/VerifyForm.vue +107 -107
  572. package/src/components/paper/filialeCheckInfo.vue +111 -111
  573. package/src/components/pc/AnnouncementPC.vue +524 -524
  574. package/src/components/pc/CheckBook.vue +67 -67
  575. package/src/components/pc/CheckBookList.vue +586 -586
  576. package/src/components/pc/CheckBookManage.vue +998 -998
  577. package/src/components/pc/CheckBookUser.vue +77 -77
  578. package/src/components/pc/DeviceChange.vue +1068 -1068
  579. package/src/components/pc/HiddenChart.vue +494 -494
  580. package/src/components/pc/NewCheckpaper.vue +1333 -1333
  581. package/src/components/pc/PaperChazhiMain.vue +570 -570
  582. package/src/components/pc/PaperDefectMain.vue +584 -584
  583. package/src/components/pc/RoleSelector.vue +125 -125
  584. package/src/components/phonestate/DailyTraffic.vue +57 -57
  585. package/src/components/phonestate/FootprintMap.vue +129 -129
  586. package/src/components/phonestate/LastKnownState.vue +74 -74
  587. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  588. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  589. package/src/components/phonestate/PostMap.vue +82 -82
  590. package/src/components/plancheck/CheckPlanAreaManage.vue +116 -116
  591. package/src/components/plancheck/CheckPlanList.vue +282 -282
  592. package/src/components/planmanage/PlanManage.vue +782 -782
  593. package/src/components/planmanage/checkPlanList.vue +341 -341
  594. package/src/components/planmanage/checkUserList.vue +728 -728
  595. package/src/components/querycheckpaper/CheckPaperList.vue +127 -127
  596. package/src/components/querycheckpaper/CheckPaperSearchUser.vue +67 -67
  597. package/src/components/querycheckpaper/CheckSearchUser.vue +1037 -1037
  598. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  599. package/src/components/querycheckpaper/PaperItems.vue +79 -79
  600. package/src/components/querycheckpaper/PaperSearch.vue +126 -126
  601. package/src/components/querycheckpaper/PaperSearchMain.vue +56 -56
  602. package/src/components/querycheckpaper/ShebeiPaperList.vue +121 -121
  603. package/src/components/querycheckpaper/ShebeiPaperSearchUser.vue +67 -67
  604. package/src/components/querycheckpaper/ShebeiSearchUser.vue +690 -690
  605. package/src/components/report/CheckPlanAreaList.vue +5 -0
  606. package/src/components/report/CheckPlanAreaManage.vue +111 -111
  607. package/src/components/report/CheckPlanUserList.vue +217 -217
  608. package/src/components/report/HiddenSituation.vue +210 -210
  609. package/src/components/report/ManageBusSummary.vue +242 -242
  610. package/src/components/report/SafePlanSale.vue +111 -111
  611. package/src/components/report/SafePlanStatistics.vue +118 -118
  612. package/src/components/rongcheng/AddPlanItem.vue +315 -315
  613. package/src/components/rongcheng/AreaPlan.vue +470 -470
  614. package/src/components/rongcheng/AspPaperFeedback.vue +1179 -1179
  615. package/src/components/rongcheng/AspPaperStatem.vue +339 -339
  616. package/src/components/rongcheng/AspiratedAreaPlan.vue +464 -464
  617. package/src/components/rongcheng/AspiratedCurrentCreate.vue +1036 -1036
  618. package/src/components/rongcheng/AspiratedDevices.vue +966 -966
  619. package/src/components/rongcheng/AspiratedOrderV.vue +2376 -2376
  620. package/src/components/rongcheng/AspiratedPaperFeedbackm.vue +1019 -1019
  621. package/src/components/rongcheng/AspiratedPaperMessage.vue +1378 -1378
  622. package/src/components/rongcheng/AspiratedPaperMessageNocivil.vue +1288 -1288
  623. package/src/components/rongcheng/AspiratedUploadPage.vue +293 -293
  624. package/src/components/rongcheng/AspiratedUserInfo.vue +399 -399
  625. package/src/components/rongcheng/CheckCurrentCreate.vue +1046 -1046
  626. package/src/components/rongcheng/CheckPaperList.vue +134 -134
  627. package/src/components/rongcheng/CheckPaperSearchUser.vue +55 -55
  628. package/src/components/rongcheng/CheckPaperSearchUserNo.vue +55 -55
  629. package/src/components/rongcheng/CheckSearchUser.vue +826 -826
  630. package/src/components/rongcheng/CheckSearchUserNo.vue +757 -757
  631. package/src/components/rongcheng/DefectList.vue +560 -560
  632. package/src/components/rongcheng/DefectPaper.vue +638 -638
  633. package/src/components/rongcheng/PaperFeedback.vue +1318 -1318
  634. package/src/components/rongcheng/PaperListAJ.vue +501 -501
  635. package/src/components/rongcheng/PaperListNPAJ.vue +498 -498
  636. package/src/components/rongcheng/PaperListNPSQ.vue +485 -485
  637. package/src/components/rongcheng/PaperListSQ.vue +483 -483
  638. package/src/components/rongcheng/PaperMessage.vue +1186 -1186
  639. package/src/components/rongcheng/PaperMessageNocivil.vue +1211 -1211
  640. package/src/components/rongcheng/PaperStateNoncivilm.vue +366 -366
  641. package/src/components/rongcheng/PaperStatem.vue +343 -343
  642. package/src/components/rongcheng/PhoneDevicesInfo.vue +233 -233
  643. package/src/components/rongcheng/SafecheckDevices.vue +998 -998
  644. package/src/components/rongcheng/SafecheckOrderV.vue +2476 -2476
  645. package/src/components/rongcheng/SafecheckOrderVCli.vue +2594 -2594
  646. package/src/components/rongcheng/SafecheckUserInfo.vue +439 -439
  647. package/src/components/rongcheng/UploadPage.vue +328 -328
  648. package/src/components/rongcheng/checkerplan/SelectCheckPlan.vue +285 -285
  649. package/src/components/rongcheng/report/CheckPlanAreaList.vue +419 -419
  650. package/src/components/rongcheng/report/CheckPlanUserList.vue +228 -228
  651. package/src/components/safecheck/common/TabButton.vue +157 -157
  652. package/src/components/safecheck/common/Tabs.vue +67 -67
  653. package/src/components/safecheck/queryManage/CheckBookAll.vue +71 -71
  654. package/src/components/safecheck/queryManage/SafeCheckManage.vue +88 -88
  655. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  656. package/src/components/sendsingle/onlineChangeMeter.vue +658 -658
  657. package/src/components/sendsingle/onlineoperation.vue +411 -411
  658. package/src/components/sendsingle/onlinequeryuser.vue +363 -363
  659. package/src/components/shaoguan/CheckPlanUserList.vue +119 -119
  660. package/src/components/shaoguan/DefectDetail.vue +177 -177
  661. package/src/components/shaoguan/DefectList.vue +473 -473
  662. package/src/components/shaoguan/DefectMain.vue +53 -53
  663. package/src/components/shaoguan/DefectPaper.vue +217 -217
  664. package/src/components/shaoguan/PaperList.vue +533 -533
  665. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  666. package/src/components/task/RepairAnnual.vue +79 -79
  667. package/src/components/task/RepairAnnualDetail.vue +49 -49
  668. package/src/components/task/RepairMonthly.vue +91 -91
  669. package/src/components/task/TaskAnnual.vue +77 -77
  670. package/src/components/task/TaskAnnualDetail.vue +47 -47
  671. package/src/components/task/TaskMonthly.vue +89 -89
  672. package/src/components/tongcheng/AreaPlan.vue +458 -458
  673. package/src/components/tongcheng/CurrentCreate.vue +625 -625
  674. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  675. package/src/components/tongcheng/PaperMessage.vue +1270 -1270
  676. package/src/components/tongcheng/PaperMessageNocivil.vue +1228 -1228
  677. package/src/components/tongcheng/PaperSet.vue +1958 -1958
  678. package/src/components/tongcheng/PaperUser.vue +533 -533
  679. package/src/components/userfile/InfoModifyModal.vue +122 -122
  680. package/src/components/userfile/MeterFile.vue +145 -145
  681. package/src/components/userfile/MeterModify.vue +46 -46
  682. package/src/components/userfile/UserFile.vue +118 -118
  683. package/src/components/userfile/UserInfoAudit.vue +252 -252
  684. package/src/components/userfile/UserfileChange.vue +277 -277
  685. package/src/components/userfile/UserinfoModify.vue +117 -117
  686. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  687. package/src/components/userfileaudit/UserFileaudit.vue +81 -81
  688. package/src/components/userfileaudit/UserfileChangeaudit.vue +239 -239
  689. package/src/expandcss.less +571 -571
  690. package/src/expandcssAndroid.less +520 -520
  691. package/src/filiale/ALshan/pc/CheckSearchUser.vue +927 -927
  692. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +473 -473
  693. package/src/filiale/ALshan/pc.js +15 -15
  694. package/src/filiale/Util.js +325 -325
  695. package/src/filiale/huatong/android/SafecheckDevices.vue +928 -928
  696. package/src/filiale/huatong/android/SafecheckOrderV.vue +2398 -2398
  697. package/src/filiale/huatong/android.js +14 -14
  698. package/src/filiale/huatong/pc.js +13 -13
  699. package/src/filiale/liaoyuan/android/SafecheckDevices.vue +928 -928
  700. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2383 -2383
  701. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +550 -550
  702. package/src/filiale/liaoyuan/android.js +14 -14
  703. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +483 -483
  704. package/src/filiale/liaoyuan/pc/DefectPaperWeiXiu.vue +975 -975
  705. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  706. package/src/filiale/liaoyuan/pc/PaperList.vue +657 -657
  707. package/src/filiale/liaoyuan/pc.js +15 -15
  708. package/src/filiale/lixian/android/SafecheckDevices.vue +1022 -1022
  709. package/src/filiale/lixian/android/SafecheckOrderV.vue +2403 -2403
  710. package/src/filiale/lixian/android/SafecheckUserInfo.vue +586 -586
  711. package/src/filiale/lixian/android.js +14 -14
  712. package/src/filiale/lixian/pc/CheckPlanAreaList.vue +461 -461
  713. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  714. package/src/filiale/lixian/pc/PaperChazhiMain.vue +607 -607
  715. package/src/filiale/lixian/pc/PaperDefectMain.vue +617 -617
  716. package/src/filiale/lixian/pc/PaperList.vue +686 -686
  717. package/src/filiale/lixian/pc.js +22 -22
  718. package/src/filiale/rongchuang/pc/checkUserList.vue +594 -594
  719. package/src/filiale/rongchuang/pc.js +13 -13
  720. package/src/filiale/shimen/android/CurrentCreate.vue +979 -979
  721. package/src/filiale/shimen/android/PaperFeedback.vue +1341 -1341
  722. package/src/filiale/shimen/android/PhoneSellInfo.vue +88 -88
  723. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  724. package/src/filiale/shimen/android.js +12 -12
  725. package/src/filiale/shimen/pc/CheckPlanAreaList.vue +463 -463
  726. package/src/filiale/shimen/pc/CheckSearchUser.vue +927 -927
  727. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  728. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  729. package/src/filiale/shimen/pc/PaperDefectMain.vue +656 -656
  730. package/src/filiale/shimen/pc/PaperList.vue +613 -613
  731. package/src/filiale/shimen/pc/checkmsg.vue +248 -248
  732. package/src/filiale/shimen/pc.js +21 -21
  733. package/src/filiale/tongchuan/android/PaperFeedback.vue +1350 -1350
  734. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1112 -1112
  735. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +2575 -2575
  736. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +640 -640
  737. package/src/filiale/tongchuan/android/UploadPage.vue +285 -285
  738. package/src/filiale/tongchuan/android.js +13 -13
  739. package/src/filiale/tongchuan/pc/CheckPlanUserList.vue +245 -245
  740. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +956 -956
  741. package/src/filiale/tongchuan/pc/DefectPaper.vue +764 -764
  742. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +509 -509
  743. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +1267 -1267
  744. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +634 -634
  745. package/src/filiale/tongchuan/pc/PaperList.vue +677 -677
  746. package/src/filiale/tongchuan/pc/checkUserList.vue +593 -593
  747. package/src/filiale/tongchuan/pc.js +21 -21
  748. package/src/filiale/wenxi/android/CurrentCreate.vue +1047 -1047
  749. package/src/filiale/wenxi/android/PaperFeedback.vue +1378 -1378
  750. package/src/filiale/wenxi/android/SafecheckDevices.vue +1053 -1053
  751. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2472 -2472
  752. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +584 -584
  753. package/src/filiale/wenxi/android/UploadPage.vue +285 -285
  754. package/src/filiale/wenxi/android.js +14 -14
  755. package/src/filiale/wenxi/pc/DefectPaper.vue +662 -662
  756. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1169 -1169
  757. package/src/filiale/wenxi/pc/PaperDefectMain.vue +634 -634
  758. package/src/filiale/wenxi/pc/PaperList.vue +860 -860
  759. package/src/filiale/wenxi/pc/checkmsg.vue +302 -302
  760. package/src/filiale/wenxi/pc.js +16 -16
  761. package/src/filiale/wuan/android/AreaPlan.vue +513 -513
  762. package/src/filiale/wuan/android/CurrentCreate.vue +985 -985
  763. package/src/filiale/wuan/android/CurrentCreateSheBei.vue +999 -999
  764. package/src/filiale/wuan/android/SafecheckDevices.vue +1150 -1150
  765. package/src/filiale/wuan/android/SafecheckOrderV.vue +2237 -2237
  766. package/src/filiale/wuan/android/SafecheckUserInfo.vue +571 -571
  767. package/src/filiale/wuan/android.js +17 -17
  768. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  769. package/src/filiale/wuan/pc/DefectPaperWeiXiu.vue +514 -514
  770. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  771. package/src/filiale/wuan/pc/PaperList.vue +628 -628
  772. package/src/filiale/wuan/pc.js +19 -19
  773. package/src/filiale/wuhai/android/AreaPlan.vue +529 -529
  774. package/src/filiale/wuhai/android/PaperFeedback.vue +1350 -1350
  775. package/src/filiale/wuhai/android.js +12 -12
  776. package/src/filiale/wuhai/pc/checkUserList.vue +594 -594
  777. package/src/filiale/wuhai/pc.js +13 -13
  778. package/src/filiale/zhongsheng/android/PaperFeedback.vue +1341 -1341
  779. package/src/filiale/zhongsheng/android/PhoneUpUserinfo.vue +926 -926
  780. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2447 -2447
  781. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +591 -591
  782. package/src/filiale/zhongsheng/android.js +17 -17
  783. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  784. package/src/filiale/zhongsheng/pc/DefectPaperWeiXiu.vue +511 -511
  785. package/src/filiale/zhongsheng/pc/InfoModifyModal.vue +123 -123
  786. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1308 -1308
  787. package/src/filiale/zhongsheng/pc/UserInfoAudit.vue +252 -252
  788. package/src/filiale/zhongsheng/pc/UserinfoModify.vue +121 -121
  789. package/src/filiale/zhongsheng/pc.js +15 -15
  790. package/src/filiale/zhoukou/android/AndroidDefectDeal.vue +408 -408
  791. package/src/filiale/zhoukou/android/AreaPlan.vue +543 -543
  792. package/src/filiale/zhoukou/android/CurrentCreate.vue +1014 -1014
  793. package/src/filiale/zhoukou/android/PaperFeedback.vue +1367 -1367
  794. package/src/filiale/zhoukou/android/PhoneUpUserinfo.vue +957 -957
  795. package/src/filiale/zhoukou/android/SafecheckDevices.vue +1174 -1174
  796. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  797. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  798. package/src/filiale/zhoukou/android/UploadPage.vue +301 -301
  799. package/src/filiale/zhoukou/android.js +18 -18
  800. package/src/filiale/zhoukou/pc/CheckSearchUser.vue +923 -923
  801. package/src/filiale/zhoukou/pc/PaperDefectMain.vue +531 -531
  802. package/src/filiale/zhoukou/pc.js +15 -15
  803. package/src/index.js +17 -17
  804. package/src/main.js +4 -4
  805. package/src/plugins/EmojiData.js +514 -514
  806. package/src/plugins/GerJsonConfig.js +59 -59
  807. package/src/plugins/GerJsonObjectConfig.js +44 -44
  808. package/src/plugins/LoadData.js +10 -10
  809. package/src/plugins/LoadParams.js +24 -24
  810. package/src/plugins/LocalPagedList.js +108 -108
  811. package/src/plugins/LocalPathList.js +109 -109
  812. package/src/rongcheng-android.js +193 -193
  813. package/src/rongcheng.js +304 -304
  814. package/src/safecheck-android.js +225 -225
  815. package/src/safecheck.js +723 -723
  816. package/src/shaoguan-android.js +176 -176
  817. package/src/shaoguan.js +276 -276
  818. package/src/stores/AppData.js +46 -46
  819. package/src/stores/wxconfig.js +10 -10
  820. package/src/tongchengsafe-android.js +162 -162
  821. package/src/tongchengsafecheck.js +267 -267
  822. package/src/utils/GerJsonObjectConfig.js +51 -51
  823. package/src/utils/LdapHelper.js +99 -99
  824. package/src/utils/getNowDate.js +33 -33
  825. package/test/SearchList.test.js +14 -14
  826. package/test/e2e/custom-assertions/elementCount.js +26 -26
  827. package/test/e2e/nightwatch.conf.js +40 -40
  828. package/test/e2e/runner.js +30 -30
  829. package/test/e2e/specs/test.js +13 -13
  830. package/test/unit/.eslintrc +5 -5
  831. package/test/unit/TestUtil.js +62 -62
  832. package/test/unit/context.html +20 -20
  833. package/test/unit/index.js +13 -13
  834. package/test/unit/init.js +11 -11
  835. package/test/unit/karma.conf.js +53 -53
  836. package/test/unit/specs/Devices.spec.js +18 -18
  837. package/test/unit/specs/getArrobjconfig.spec.js +104 -104
  838. package/test/unit/specs/getobjconfig.spec.js +37 -37
  839. package/test/unit/specs/phonetest/phonesafecheck.spec.js +23 -23
  840. package/test/unit/specs/safePlanItem.spec.js +30 -30
  841. package/test/unit/specs/safecheck-android.spec.js +7 -7
  842. package/test/unit/specs/safecheck.spec.js +127 -127
  843. package/yarn-error.log +140 -140
@@ -1,2476 +1,2476 @@
1
- <template>
2
- <!--<div class="app-botton" @click="back()">-->
3
- <!--返回<span class="glyphicon glyphicon-menu-right"></span>-->
4
- <!--</div>-->
5
- <div class="no-close row android-repair-order" style="background-color: #f9f9f9">
6
- <div class="col-sm-12 col-xs-12" >
7
- <ul class="nav nav-tabs" style="background:#ffffff;overflow-y: hidden">
8
- <li v-for="row in tabs" @click="tabSelect(row,$index)" :class="{active1: row.complete === componentName}"
9
- v-if="$index < number+1 && $index < faultshow.number" >
10
- <a href="#" style="background-color: #ffffff;color: #666666;font-size: 16px;font-family:SimSun" :class="row.class">
11
- <span class="spanboder">{{row.header}}</span>
12
- <img class="butt2" :src="imgback(row.complete === componentName,row.header === header)"></a>
13
- <p></p>
14
- </li>
15
- <div class="col-sm-12 col-xs-12 repair-bg" v-show="routeShow">
16
- <route name='repair' :reuse="false"></route>
17
- </div>
18
- <li v-for="row in tabs" @click="tabSelect(row,$index)" :class="{active1: row.complete === componentName}"
19
- v-if="$index > number && $index < faultshow.number ">
20
- <a href="#" style="background-color: #ffffff;color: #666666;font-size: 16px;font-family:SimSun" :class="row.class">
21
- <span class="spanboder">{{row.header}}</span>
22
- <img class="butt2" :src="imgback(row.complete === componentName,row.header === header)"></a>
23
- <p></p>
24
- </li>
25
- <div class="col-sm-12 col-xs-12 repair-bg" v-if="actionEnabled ">
26
- <div class="auto select-overspread form-horizontal repair-bg " style="padding-bottom:5px;">
27
- <div class="bq-parent">
28
- <blockquote class="blockquote">
29
- <p>安检上传</p>
30
- </blockquote>
31
- </div>
32
- <div class="panel panel-default auto repair-info-content">
33
- <div class="panel-body ">
34
- <div id="savebut" class="row auto">
35
- <!--<div class="col-xs-12 col-sm-12 col-md-12" :style="timeSet(this.isneedDate)?'':'display:none'">-->
36
- <!--<label>请输入超期原因:</label><br/>-->
37
- <!--<textarea style="width: 100%;" v-model=""></textarea>-->
38
- <!--</div>-->
39
- <div class="col-xs-3 col-sm-3 col-md-3">
40
- <button class="col-sm-2 btn btn-primary" @click="save('temp')" >
41
- 临时保存
42
- </button>
43
- </div>
44
- <div class="col-xs-3 col-sm-3 col-md-3">
45
- <button class="col-sm-2 btn btn-primary" @click="save('finish')" >
46
- 本地缓存
47
- </button>
48
- </div>
49
- <div class="col-xs-3 col-sm-3 col-md-3">
50
- <button type="button" name="button" class="col-sm-2 btn btn-primary" @click="uploadCheckPaper" :disabled="isdisable">
51
- 上传
52
- </button>
53
- </div>
54
- <div class="col-xs-3 col-sm-3 col-md-3">
55
- <button type="button" name="button" class="col-sm-2 btn btn-primary" @click="showRepair" :disabled="isdisable">
56
- 转维修
57
- </button>
58
- </div>
59
-
60
- </div>
61
- </div>
62
- </div>
63
- </div>
64
- </div>
65
- </ul>
66
- </div>
67
- <modal :show.sync="showModal2" :backdrop="false">
68
- <div slot="modal-header" class="modal-header">
69
- <h4 class="modal-title">
70
- 转维修
71
- </h4>
72
- </div>
73
- <div slot="modal-body" class="modal-body">
74
- <!-- <div class="row" style="margin-top: 6px">-->
75
- <!-- <label style="color: red;">注:当前页面无法取消对用户的限制购气</label>-->
76
- <!-- </div>-->
77
- <div class="row" style="margin-top: 6px">
78
- <textarea id="el_ca_tx" v-model.trim="cremarks" style="border-radius:4px;width: 100%;" placeholder="请输入转维修备注" >
79
- </textarea>
80
- </div>
81
- </div>
82
- <div slot="modal-footer" class="modal-footer">
83
- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="ToRepair">转维修</button>
84
- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="cancelRepair">取消</button>
85
- </div>
86
- </modal>
87
- </div>
88
- </template>
89
-
90
- <script>
91
- // 户内维修
92
- import Vue from 'vue'
93
- import * as Util from '../Util'
94
- import $ from 'jquery'
95
- // import DoorService from './DoorService'
96
- // import Pipeline from './Pipeline'
97
- // import DeviceService from './DeviceService'
98
- // import TroubleRemoval from './TroubleRemoval'
99
- // import FirstGasCheck from './FirstGasCheck'
100
- // import RepairMatterInfo from './RepairMatterInfo'
101
- // import TelChangeMatter from './TelChangeMatter'
102
- import { HttpResetClass } from 'vue-client'
103
- import co from 'co'
104
- let loadParamGem = async function (self) {
105
- await self.$LoadParams.loadParam()
106
- }
107
-
108
- export default {
109
- title: '安检单',
110
- props: ['f_plan_id', 'item', 'role'],
111
- // props: ['f_plan_id', 'role'],
112
- data() {
113
- return {
114
- //测试数据
115
- // f_plan_id:'',
116
- // role:'inspect',
117
- // item:{"f_approved_time":null,"f_user_family_remarks":null,"f_street":"测试街道","f_repair_approved_time":null,
118
- // "f_user_type":null,"f_approved_by":null,"f_card_id":null,"f_remark":null,"f_building":"1","f_batch_number":null,
119
- // "f_idnumber":null,"f_state":"未检","id":"0EFE0EE2-B155-46F9-8DE0-38C022664A4D","f_complete":null,"f_check_state":null,"f_last_check_state":"拒检",
120
- // "f_user_inhome_time":null,"f_residential_area":"测试小区1","version":1,"f_processid":null,"f_last_check_result":"{\"result\":\"正常\",\"data\":[]}",
121
- // "f_area":null,"f_usegas":null,"f_user_phone":"16566546548","f_slice_area":"营业大区","f_approved":"未审核","f_upload_state":"未传","f_user_check_time":null,
122
- // "f_unit":"1","f_user_spare_phone":null,"f_last_check_date":null,"f_userproperties":null,"f_userfile_id":null,"f_prearranged_date":null,"f_filialeid":"453",
123
- // "f_branch":null,"f_orgstr":null,"f_plan_year":2020,"f_orgid":null,"f_approval_notified":null,"f_plan_month":4,"f_approved_note":null,"f_filialeids":null,
124
- // "f_floor":"1","f_flag":null,"f_repair_approved_note":null,"f_userinfo_code":"00000002","f_create_time":"2020-05-10 18:56:03","f_meter_no":"","f_station":null,
125
- // "f_repair_approved":"未审核","f_no_checkplan":"有计划安检","f_plan_name":"关于","f_repair_approved_by":null,"f_room":"1","f_office":null,"f_comments":null,
126
- // "f_address":"兰山街道泰盛小区1栋1单元1层1室","id_back":null,"f_userinfoid":"2","f_subcompany":null,"f_addressid":null,"f_user_phone2":null,
127
- // "f_user_equipment_remarks":null,"f_plan_id":"0819ea6707ad4d9dad217c06a87f4227","f_user_name":"用户二",
128
- // "f_plan_meters":[{"f_weizhi":null,"f_flow_direction":"右表","f_metertitles":"","f_prior_reading":0,"f_meter_no":"2119035714","f_collection_type":"按金额","f_aliasname":"先锋系统结算物联网表","f_meter_type":"物联网表","version":3,"f_maker":null,"f_metergasnums":0,"f_total_fee":100,"f_diaphgram_size":"G2.5","f_total_gas":0,"id":18663},{"f_weizhi":null,"f_flow_direction":"右表","f_metertitles":"","f_prior_reading":0,"f_meter_no":"2118999901","f_collection_type":"按金额","f_aliasname":"先锋系统结算物联网表","f_meter_type":"物联网表","version":1,"f_maker":null,"f_metergasnums":0,"f_total_fee":0,"f_diaphgram_size":"G2.5","f_total_gas":0,"id":18663}]
129
- // },
130
-
131
- data: {
132
- f_devices: [],
133
- f_defect_content:''
134
- },
135
- showModal2:false,
136
- deviceinfo:{},
137
- cremarks:"",
138
- isUpload:false,
139
- onlySave:true, //判断保存还是保存并上传
140
- livedispose:'',
141
- startClick:false, //开始安检按钮是否可点击
142
- isStrat: false, //是否开始安检
143
- checkResult:{},//查询结果
144
- newcheckResult:{},
145
- timer: null,
146
- showModal: false,
147
- pic_to_be_viewed: '',
148
- showBack:true,
149
- devices: [],
150
- isdisable:false,
151
- f_devices : [],
152
- isToRepair:false,
153
- clickBack:true, //是否点击返回按钮
154
- isSafeCheckToRepair:false,//是否转维修
155
- Url:this.$androidUtil.getProxyUrl(),
156
- detail:{},
157
- defectDevice:{},
158
- user:{},
159
- model: { //转维修数据
160
- // 一次派单
161
- serviceacitivity: [{
162
- f_service_acitivity_type: '派单'
163
- }],
164
- f_source:'安检',
165
- f_service_id: '',
166
- f_contact_phone: '',
167
- f_meetunit: '',
168
- f_phone: '',
169
- f_user_name: '',
170
- f_address: '',
171
- f_repair_date: Util.toStandardTimeString(),
172
- f_card_id: '',
173
- // f_department: '', 站点选择
174
- f_reciever:'',
175
- f_remarks: '',
176
- f_user_type: '',
177
- f_area: '',
178
- f_unit_name:'',
179
- f_street: '',
180
- f_residential_area: '',
181
- f_building: '',
182
- f_unit: '',
183
- f_floor: '',
184
- f_room: '',
185
- aState: null,
186
- f_repairtype: '',
187
- f_repairitems:{},
188
- },
189
- repairitems:[],
190
- meading:'转站点',
191
- config: {
192
- "燃气表":{
193
- "checkmust":true,
194
- "index":1,
195
- "items":{
196
- //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
197
- "基表编号":{"index":1,"type":"string","readonly":false,"checkmust":true},
198
- "气表型号":{"index":2,"type":"string","readonly":true},
199
- "气表品牌":{"index":3,"type":"string","readonly":true},
200
- "进气方向":{"index":4,"type":"selector",
201
- "multiple": false,
202
- "checkmust":true,
203
- "options": [
204
- {
205
- "data": "左表",
206
- "isdefect": false,
207
- "isdefault": false
208
- },
209
- {
210
- "data": "右表",
211
- "isdefect": false,
212
- "isdefault": false
213
- }
214
- ]
215
- },
216
- "初始表底":{"index":5,"type":"number","isshow":false,"readonly":true},
217
- "上期表读数":{"index":6,"type":"number","readonly":true,"isshow":true},
218
- "本期表读数":{"index":7,"type":"number","checkmust":true},
219
- "累购气量":{"index":8,"type":"number","readonly":true},
220
- "累购金额":{"index":8,"type":"number","readonly":true},
221
- "已用气量":{"index":9,"type":"number","checkmust": false},//基表数
222
- "已用金额":{"index":9,"type":"number","checkmust": false},
223
- "剩余气量":{"index":10,"type":"number","checkmust": false},//累购-已用
224
- //显示屏数 --实际剩余气量
225
- "剩余金额":{"index":10,"type":"number","checkmust": false},
226
- "气量异常差值":{"index":11,"type":"number","readonly": true,"isshow":false},
227
- "金额异常差值":{"index":11,"type":"number","readonly": true,"isshow":false}
228
- }
229
- // 注意,配置项的index必须与上面的固定配置保持'顺序'
230
- },
231
- // "燃气表2":{
232
- // "checkmust":true,
233
- // "index":2,src
234
- // "items":{
235
- // "燃气表照片":{"index":1,"type":"picture"},
236
- // "表品牌":{"index":2,"type":"string","readonly":true},
237
- // "表号":{"index":3,"type":"string","readonly":true},
238
- // "表封号":{"index":4,"type":"number","readonly":true},
239
- // "表型号":{"index":5,"type":"string","readonly":true},
240
- // "位置":{"index":6,"type":"string","readonly":true},
241
- // "表底数":{"index":7,"type":"number","readonly":true},
242
- // "累购气量":{"index":8,"type":"number","readonly":true},
243
- // "累购金额":{"index":8,"type":"number","readonly":true}
244
- // }
245
- // }
246
- },
247
- // 维修项
248
- isneedDate:'',
249
- routeShow:true,
250
- number:0,
251
- shupingshow:false,
252
- pipeline: {},
253
- details: [],
254
- ids: '',
255
- savevalid: {
256
- uservalid: false,
257
- doorvalid: true,
258
- changetable: false
259
- },
260
- doordetails: {},
261
- devicedetails: {},
262
- cookdetails: {},
263
- componentName: 'safecheck-userinfo',
264
- header:'客户信息',
265
- tabs: [
266
-
267
- // 参数全部设置成空,在ready时,等model处理好了,再添加
268
- {
269
- header: '客户信息',complete:'safecheck-userinfo',class: 'repair-info-class', props: null
270
- },
271
- {
272
- header: '拍照签名',complete:'paper-feedback', class: 'outlay-class', props: null
273
- }
274
- ],
275
- faultshow:{
276
- number : 8
277
- } // 控制 故障汇总 在 菜单里显示与否,
278
- }
279
- },
280
- computed: {
281
- actionEnabled: {
282
- get() {
283
- return this.role == 'inspect'
284
- }
285
- }
286
- },
287
- methods: {
288
- saveNoclick() {
289
- // 禁用点击事件
290
- $("#savebut").addClass("noclickbut");
291
- console.log("进入禁用按钮事件")
292
-
293
- // 5秒后启用点击事件
294
- setTimeout(function(){
295
- $("#savebut").removeClass("noclickbut");
296
- },10000);
297
- },
298
- showRepair(){
299
- this.showModal2=true
300
- },
301
- cancelRepair(){
302
- this.showModal2=false
303
- },
304
- ToRepair(){
305
- this.isToRepair=true
306
- //this.data.f_repaired='未派维修单'
307
- this.uploadCheckPaper()
308
- },
309
- timeSet(val){
310
- if (!val){
311
- return
312
- }
313
- let time =new Date(val).getTime()
314
- let time2=new Date().getTime()
315
- if (time2>time) {
316
- return true
317
- }
318
- },
319
- imgback(val,isheader){
320
- if(val && this.routeShow && isheader){
321
- return require('../../assets/xiangxia1.png')
322
- }else{
323
- return require('../../assets/xiangyou1.png')
324
- }
325
- },
326
- changediv(val){
327
- console.log(val)
328
- return val
329
- },
330
- // 选择tab
331
- tabSelect (item,number) {
332
- this.header = item.header
333
- console.log('item',item)
334
- console.log('number',number)
335
- console.log('this.routeShow',this.routeShow)
336
- console.log('this.number',this.number)
337
- // 处理关闭/显示 内容
338
- if(this.number == number && !this.routeShow ){
339
- this.routeShow = true
340
- }else if(this.number == number && this.routeShow){
341
- this.routeShow = false
342
- }else if(this.number != item.complete){
343
- this.routeShow = true
344
- }
345
- this.number = number
346
- this.componentName = item.complete
347
- console.log('跳转前this.routeShow',this.routeShow)
348
- if(item.complete == 'safecheck-devices'){
349
- console.log('this.data', this.data)
350
- if(item.header != '燃气表' && this.data['device'+item.number].length == 0){
351
- this.data['device' + item.number].push({})
352
- }
353
- console.log('length', this.data['device' + item.number])
354
- console.log('this.data[\'device\' + item.number] ===> ' + JSON.stringify(this.data['device' + item.number]))
355
- let idx=this.data['device' + item.number].length - 1
356
- let itemprops = {
357
- config:this.config,
358
- device:this.devices[item.number-1],
359
- idx:idx,
360
- item:this.item,
361
- role:'inspect'
362
- }
363
- console.log('tabSelect函数中赋值')
364
- console.log(JSON.stringify(itemprops))
365
- console.log('itemprops.device ===> ' + JSON.stringify(itemprops.device))
366
- console.log('item.complete',item.complete)
367
- if(this.routeShow){
368
- this.$goto(item.complete, itemprops, 'repair')
369
- console.log('跳转完成')
370
- }
371
- }else{
372
- console.log('页面跳转==》',this.tabs[number])
373
- if(this.routeShow){
374
- this.$goto(item.complete, {userinfo:this.data}, 'repair')
375
- }
376
- }
377
- this.shupingshow = true
378
- },
379
- // 给组件添加参数
380
- getImgPath() {
381
- for (var i = 0; i < this.model.serviceacitivity[0].imgs.length; i++) {
382
- this.ids += this.model.serviceacitivity[0].imgs[i].imgid + ','
383
- }
384
- this.ids = this.ids.substring(0, this.ids.length - 1)
385
- if(this.ids){
386
- this.getImgGen();
387
- }
388
- },
389
- getImgGen(){
390
- let http = new HttpResetClass()
391
- http.load('POST','rs/sql/tel_singleTable_OrderBy', {data: {
392
- items: '*',
393
- tablename: 't_files',
394
- condition: `id in (${this.ids})`,
395
- orderitem: 'id'
396
- }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
397
- for (let i = 0; i < res.data.length; i++) {
398
- for (let j = 0; j < this.model.serviceacitivity[0].imgs.length; j++) {
399
- console.log(res.data[i].id.toString())
400
- console.log(this.model.serviceacitivity[0].imgs[j].imgid)
401
- if (res.data[i].id.toString() === this.model.serviceacitivity[0].imgs[j].imgid) {
402
- this.model.serviceacitivity[0].imgs[j] = Object.assign({}, res.data[i], this.model.serviceacitivity[0].imgs[j])
403
- }
404
- }
405
-
406
- }
407
- })
408
- },
409
-
410
- sortDetails(){
411
- for (let i = 0; i < this.details.length; i++) {
412
- if (this.details[i].details.length) {
413
- for (let j = 0; j < this.details[i].details.length; j++) {
414
- if (this.details[i].details[j].f_type === 'a') {
415
- this.doordetails = {details: this.details[i].details}
416
- break
417
- }
418
- if (this.details[i].details[j].f_type === 'b') {
419
- this.devicedetails = {details: this.details[i].details}
420
- break
421
- }
422
- if (this.details[i].details[j].f_type === 'c') {
423
- this.cookdetails = {details: this.details[i].details}
424
- break
425
- }
426
- }
427
- }
428
- }
429
- },
430
- // 复制数据
431
- back () {
432
- let _this = this
433
- if(this.issee){
434
- _this.$back()
435
- return
436
- }
437
- this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
438
- if (res === 'confirm') {
439
- _this.$back()
440
- }
441
- })
442
- },
443
- confirm(){
444
- this.$dispatch('confirm')
445
- },
446
- tick() {
447
- this.timer = null
448
- this.data.f_offsite_time = Util.toStandardTimeString()
449
- this.timer = window.setTimeout(this.tick, 1000)
450
- },
451
- getRepairState() {
452
- let repaired = true
453
- this.data.f_defects.forEach((defect) => {
454
- repaired = repaired & (defect.f_ratification == '已处理')
455
- })
456
- return repaired
457
- },
458
- verifyRepairDefects() {
459
- this.data.f_repair_date = Util.toStandardTimeString()
460
- this.data.f_repaired = this.getRepairState() ? '已修' : '在修'
461
- },
462
- errorVerify() {
463
- let hasError = this.verifyState()
464
- if(hasError)
465
- return hasError
466
-
467
- if(this.data.f_entry_status != '入户')
468
- return null
469
- /*hasError = this.verifyUser()
470
- if(hasError)
471
- return hasError*/
472
- hasError = this.verifyDevices()
473
- if(hasError)
474
- return hasError
475
- hasError = this.verifyFeedback()
476
- if(hasError)
477
- return hasError
478
- },
479
- verifyState() {
480
- if(Vue.android && this.data.f_entry_status == '未使用天然气' && this.data.f_nongasuser_path == Vue.nopic)
481
- return '未使用天然气则必须拍照'
482
- if(Vue.android && this.data.f_entry_status == '到访不遇' && this.data.f_noanswer_path == Vue.nopic)
483
- return '到访不遇必须拍照'
484
- },
485
- verifyUser() {
486
- let prefix = '用户基本信息:'
487
- if(Util.required(this.data.f_user_name))
488
- return prefix + '用户名必须输入'
489
- if(Util.required(this.data.f_user_phone))
490
- return prefix + '用户电话必须输入'
491
- // if(Util.required(this.data.f_residential_area))
492
- // return prefix + '小区名称必须输入'
493
- if(Util.required(this.data.f_address))
494
- return prefix + '地址必须输入'
495
- },
496
- verifyDevices() {
497
- for (let dev in this.config) {
498
- if (this.config[dev].checkmust == true) {
499
- let error = true
500
- for(let device in this.data) {
501
- if (device.startsWith("device")) {
502
- for (let item in this.data[device]) {
503
- if (this.data[device].length != 0 && this.data[device][item].f_device_type == dev) {
504
- error = false
505
- }
506
- }
507
- }
508
- }
509
- if (error) {
510
- return "请检查" + dev
511
- }
512
- }
513
- }
514
-
515
- for (let dev in this.config) {
516
- for(let device in this.data) {
517
- if (device.startsWith("device")) {
518
- for (let item in this.data[device]) {
519
- //检查每一条安检结果
520
- if (this.data[device].length != 0 && this.data[device][item].f_device_type == dev) {
521
- for (let i in this.data[device][item].f_items) {
522
- for (let it in this.config[dev].items) {
523
- if (it == this.data[device][item].f_items[i].f_item_name) {
524
- if (this.config[dev].items[it].checkmust == true && !this.data[device][item].f_items[i].f_item_value && parseFloat(this.data[device][item].f_items[i].f_item_value).toString() == "NaN") {
525
- return dev + (this.data[device].indexOf(this.data[device][item]) + 1) + this.data[device][item].f_items[i].f_item_name + "未检查"
526
- }
527
- }
528
- }
529
- //检查安检下拉结果
530
- if (this.data[device][item].f_items[i].type == 'selector' || this.data[device][item].f_items[i].type == 'radio') {
531
- if (this.data[device][item].f_items[i].f_is_defect == true && this.data[device][item].f_items[i].f_path == Vue.nopic) {
532
- return dev + (this.data[device].indexOf(this.data[device][item]) + 1) + this.data[device][item].f_items[i].f_item_name + this.data[device][item].f_items[i].f_item_value + "选中必须拍照"
533
- }
534
- }
535
- }
536
- }
537
- }
538
- }
539
- }
540
- }
541
- },
542
-
543
-
544
- verifyFeedback() {
545
- let prefix = '拍照签名:'
546
- console.log('this.data.f_overall_imgs==>'+JSON.stringify(this.data.f_overall_imgs))
547
- if(Vue.android && (!this.data.f_overall_imgs || this.data.f_overall_imgs.length == 0) && this.data.f_entry_status == '入户')
548
- return prefix + '必须有安检总体照片'
549
- /*if(Vue.android && (!this.data.f_sign_path || this.data.f_sign_path.length == 0) && this.data.f_entry_status == '入户')
550
- return prefix + '必须有用户签名'*/
551
- if(Vue.android && this.data.f_defect_notified && this.data.f_notified_path == Vue.nopic)
552
- return prefix + '下发安检通知书则必须给通知书拍照'
553
- /*if(!this.data.f_client_evaluation && this.data.f_entry_status == '入户')
554
- return prefix + '请选择服务评价'*/
555
- },
556
-
557
- getAllDefect() {
558
- let checkResults = {
559
- result: '正常',
560
- data: []
561
- }
562
- let value = ''
563
- let codata = JSON.parse(JSON.stringify(this.data))
564
- console.log('config =====> ' + JSON.stringify(this.config))
565
- console.log('codata =====> ' + JSON.stringify(codata))
566
- codata.f_devices = []
567
- this.f_devices = []
568
- for (let device in codata) {
569
- let f_device_type
570
- if (device.startsWith("device")) {
571
- console.log('codata[device] =====> ' + JSON.stringify(codata[device]))
572
- let hasOther = ''
573
- let otherValue = null
574
- for (let item in codata[device]) {
575
- codata[device][item].f_create_time = Util.toStandardTimeString()
576
- // if (codata[device].length > 1) {
577
- // let j = Number.parseInt(item) + 1
578
- // f_device_type = `${codata[device][item].f_device_type}${j}`
579
- // } else {
580
- // f_device_type = codata[device][item].f_device_type
581
- // }
582
- // console.log('codata[device][item]=>',codata[device][item])
583
- for (let i = 0; i < codata[device][item].f_items.length ; i++) {
584
- console.log('i' + i)
585
- if(i == 'sum'){
586
- continue
587
- }
588
- console.log('codata[device][item].f_items' + JSON.stringify(codata[device][item].f_items))
589
- var items = codata[device][item].f_items[i]
590
- items.f_create_time = Util.toStandardTimeString()
591
- console.log('之前items' + JSON.stringify(items))
592
- items.f_item_lists = []
593
- console.log('之后items' + JSON.stringify(items))
594
- // console.log('items' + JSON.stringify(items))
595
- // console.log(`type => ${JSON.stringify(codata[device][item].f_device_type)} name => ${JSON.stringify(items.f_item_name)} value => ${JSON.stringify(items.f_item_value)}`)
596
- // console.log(`f_is_defect => ${this.config[codata[device][item]
597
- // .f_device_type]
598
- // .items[items.f_item_name]
599
- // .options
600
- // .find((option)=>option.data === items.f_item_value)
601
- // .map((option)=>option.f_is_defect)}`)
602
- // if (items.f_is_defect && (items.f_is_defect == true || items.f_is_defect == 'true')) {
603
- // console.log('进入有隐患')
604
- // checkResults.result = '有隐患'
605
- // console.log('有隐患items.f_item_name==》' + JSON.stringify(items.f_item_name))
606
- // console.log('有隐患items.f_item_value==》' + JSON.stringify(items.f_item_value))
607
- // // this.$set('checkResult.' + items.f_item_name, items.f_item_value)
608
- // this.checkResult[items.f_item_name] = items.f_item_value
609
- // console.log('有隐患checkResult==》' + JSON.stringify(this.checkResult))
610
- // // this.$set('checkResultsss.' + items.f_item_name, `${f_device_type}${items.f_item_value}`)
611
- // // console.log('有隐患checkResultsss==》' + JSON.stringify(this.checkResultsss))
612
- // }
613
- if (items.type == 'selector') {
614
- items.selected = []
615
- } else if (items.type == 'inputSelector') {
616
- items.selected = ''
617
- }
618
- //遍历配置项 将所选隐患项的配置信息放入保存的数据中
619
- let f_is_defect //是否是隐患
620
- let f_defect_level //是否是隐患
621
- let f_item_name = items.f_item_name
622
- let f_item_value
623
- let f_is_eliminate //隐患是否消除
624
- let f_meternumber = ''
625
- let f_user_defects = [] // 用户所有隐患
626
- console.log('f_item_name=====>' + f_item_name)
627
- console.log('items.type=====>' + items.type)
628
- if (items.type == 'selector' || items.type == 'checkbox') {
629
- for (let i in items.f_item_value) {
630
- let configItems = this.config[codata[device][item].f_device_type].items[f_item_name]
631
- console.log('configItems=====>' + JSON.stringify(configItems))
632
- for (let k in configItems.options) {
633
- console.log('configItems.options[k]==>' + JSON.stringify(configItems.options[k]))
634
- if (items.f_item_value[i] === configItems.options[k].data) {
635
-
636
- f_is_defect = configItems.options[k].isdefect
637
- f_item_value = items.f_item_value[i]
638
- f_defect_level = configItems.options[k].level
639
-
640
- console.log('f_is_defect=====>' + f_is_defect)
641
- console.log('f_item_value=====>' + f_item_value)
642
- console.log('f_defect_level=====>' + f_defect_level)
643
-
644
- if (f_is_defect) {
645
- if (checkResults.result !== '有隐患') {
646
- checkResults.result = '有隐患'
647
- }
648
- if (!this.checkResult.hasOwnProperty(f_item_name)) {
649
- console.log(`The ${f_item_name} initialized`)
650
- this.checkResult[f_item_name] = []
651
- }
652
-
653
- console.log(`The ${f_item_name} was pushed ${f_item_value}`)
654
- this.checkResult[f_item_name].push(f_item_value)
655
-
656
- }
657
-
658
- let items_list = {
659
- f_is_defect: f_is_defect,
660
- f_item_value: f_item_value,
661
- f_defect_level: f_defect_level,
662
- f_is_eliminate: null,
663
- f_create_time: Util.toStandardTimeString()
664
- }
665
- if (!items.f_item_lists) {
666
- console.log('f_item_lists未定义')
667
- items.f_item_lists = []
668
- console.log('items_list=========>' + JSON.stringify(items_list))
669
- if (JSON.stringify(items_list) !== '{}') {
670
- console.log('放了')
671
- items.f_item_lists.push(items_list)
672
- }
673
- } else {
674
- console.log('items_list=========>' + JSON.stringify(items_list))
675
- if (JSON.stringify(items_list) !== '{}') {
676
- console.log('也放了')
677
- items.f_item_lists.push(items_list)
678
- }
679
- }
680
- }
681
- }
682
- }
683
- } else {
684
- let configItems = this.config[codata[device][item].f_device_type].items[items.f_item_name]
685
- console.log('configItems===>' + JSON.stringify(configItems))
686
- f_is_defect = configItems.isdefect
687
- f_defect_level = configItems.level
688
- f_item_value = items.f_item_value
689
- console.log('else f_is_defect=====>' + f_is_defect)
690
- console.log('else f_defect_level=====>' + f_defect_level)
691
- console.log('items.f_item_value==>' + items.f_item_value)
692
- let items_list = {
693
- f_is_defect: f_is_defect,
694
- f_item_value: f_item_value,
695
- f_defect_level: f_defect_level,
696
- f_create_time: Util.toStandardTimeString()
697
- }
698
- if (f_is_defect && f_item_value) {
699
- items.f_is_defect = true
700
- if (checkResults.result !== '有隐患') {
701
- checkResults.result = '有隐患'
702
- }
703
- if (!this.checkResult.hasOwnProperty(items.f_item_name)) {
704
- console.log(`The ${items.f_item_name} initialized`)
705
- this.checkResult[items.f_item_name] = []
706
- }
707
-
708
- console.log(`The ${items.f_item_name} was pushed ${f_item_value}`)
709
- this.checkResult[items.f_item_name].push(f_item_value)
710
-
711
- }
712
- console.log('items_list=========>' + JSON.stringify(items_list))
713
- console.log('items.f_item_lists' + JSON.stringify(items.f_item_lists))
714
- if (!items.f_item_lists) {
715
- console.log('f_item_lists未定义')
716
- items.f_item_lists = []
717
- if (JSON.stringify(items_list) != '{}') {
718
- console.log('else放了')
719
- items.f_item_lists.push(items_list)
720
- }
721
- } else {
722
- // items.f_item_lists[0].f_item_value = f_item_value
723
- if (JSON.stringify(items_list) != '{}') {
724
- console.log('else也放了')
725
- console.log('放之后items_list=========>' + JSON.stringify(items_list))
726
- console.log('放之后items.f_item_lists' + JSON.stringify(items.f_item_lists))
727
- console.log('type=>items.f_item_lists' + typeof items.f_item_lists)
728
- items.f_item_lists.push(items_list)
729
- }
730
- }
731
- }
732
- if (hasOther !== '' && otherValue !== null) {
733
- console.log(`The other value was pushed.`)
734
- this.checkResult[hasOther].push(otherValue)
735
- hasOther = ''
736
- otherValue = null
737
- }
738
- items.f_item_value = ''
739
- }
740
- console.log('安检结果checkResult' + JSON.stringify(this.checkResult))
741
- this.f_devices.push(codata[device][item])
742
- }
743
- }
744
- }
745
- if (this.checkResult) {
746
- for (let key in this.checkResult) {
747
- // 上次安检结果数据组织
748
- console.log('key=>' + key)
749
- console.log('value=>' + this.checkResult[key])
750
- let temp = {}
751
- temp[key] = this.checkResult[key].join(',')
752
- checkResults.data.push(temp)
753
- // this.newcheckResult[key] = this.checkResult[key]
754
- // checkResults.data.push(this.newcheckResult)
755
- console.log('checkResults.data==>' + JSON.stringify(checkResults))
756
- // this.newcheckResult = {}
757
- }
758
- this.checkResult = {}
759
- }
760
- console.log(`typeof-checkResults-->${typeof checkResults}`)
761
- console.log('checkResults ==> ' + JSON.stringify(checkResults))
762
- codata.f_defect_content = JSON.stringify(checkResults)
763
- this.data.f_defect_content = JSON.stringify(checkResults)
764
- console.log('f_defect_content' + codata.f_defect_content)
765
- return codata
766
- },
767
- uploadCheckPaper(){
768
- console.log('进入上传')
769
- this.saveNoclick()
770
- let errString = this.errorVerify()
771
- this.isdisable = true
772
- if (errString) {
773
- console.log(errString)
774
- console.log('Vue.android',Vue.android)
775
- console.log('this.isUpload',this.isUpload)
776
- if (Vue.android){
777
- // if(this.isUpload){
778
- // this.isUpload = false
779
- // }
780
- this.$showMessage(errString)
781
- }
782
- this.isdisable = false
783
- return
784
- } else {
785
- this.$set('data.f_offsite_time', Util.toStandardTimeString())
786
- this.$set('data.f_upload_time', Util.toStandardTimeString())
787
- this.$set('data.f_upload_date', Util.toStandardTimeString())
788
- console.log('赋值后',this.data)
789
- this.data.f_complete = '已完成'
790
- this.disableTimer()
791
- }
792
- if(this.item.f_user_type=='民用' && this.item.f_plan_meters[0].f_meter_type=='机表' && this.data.f_entry_status=='入户' && this.data.f_is_meterreadding=='未抄表'){
793
- /*this.$showMessage('该用户为机表用户,未进行抄表!', ['confirm', 'cancel']).then((res) => {
794
- if (res !== 'confirm') {
795
- this.baseinfo.base.f_user_state = ['正常']
796
- }
797
- })*/
798
- this.$showMessage("检测到当前机表用户未进行抄表,请先进行抄表再上传!")
799
- this.isdisable = false
800
- return
801
- }
802
- console.log('uploadCheckPaper-->isUpload'+this.isUpload)
803
- this.onlySave = false
804
- let res = this.save()
805
- // if(res) {
806
- // try {
807
- // let codata = this.getAllDefect()
808
- // //获取微信推送内容
809
- // let WxResult = this.getWeixin(codata)
810
- // let haslivedispose = this.$androidUtil.bzLogic('getLiveDispose', {
811
- // f_check_item_id: this.data.f_check_item_id
812
- // })
813
- // //如果是转维修上传,则不做校验,上传完成后自动转维修
814
- // console.log('this.isToRepair=======》'+this.isToRepair)
815
- // console.log('this.livedispose=======》'+this.livedispose)
816
- // if(!this.isToRepair){
817
- // if(haslivedispose.data.length > 0 && (this.livedispose == 'true' || this.livedispose == true)){
818
- // console.log('是否已转维修')
819
- // console.log(this.isSafeCheckToRepair)
820
- // if(!this.isSafeCheckToRepair){
821
- // this.$showMessage('有未处理的隐患,请前往拍照上传中将安检转为维修单!')
822
- // return
823
- // }
824
- // }
825
- // }
826
- // console.log(`codata类型-->${typeof codata}`)
827
- // for (let key in codata){
828
- // if(key.startsWith("device")){
829
- // codata[key] = []
830
- // }
831
- // }
832
- // console.log(`codata内容-->${JSON.stringify(codata)}`)
833
- //
834
- // console.log('遮挡上传')
835
- // let isStart = true
836
- // let res
837
- // for (let i in this.f_devices){
838
- // res = HostApp.organizeJSON({isStart:isStart,isDevice:true,device:this.f_devices[i]})
839
- // if(res.code == 200){
840
- // isStart = false
841
- // }else{
842
- // this.$showMessage("保存失败!")
843
- // }
844
- // }
845
- // let result = HostApp.organizeJSON({
846
- // isStart:false,
847
- // isJSON:true,
848
- // jsonstr:{
849
- // f_check_item_id: this.data.f_check_item_id,
850
- // f_checker_id: this.data.f_checker_id,
851
- // row: codata
852
- // }
853
- // })
854
- // if(result.code == 200){
855
- // HostApp.__this__ = this
856
- // this.runSyncLogic('上传安检信息','javascript:HostApp.__this__.uploadCallBack()',1)
857
- // }
858
- //
859
- //
860
- // // let response = this.$androidUtil.bzLogic('上传安检信息', {
861
- // // f_check_item_id: this.data.f_check_item_id,
862
- // // f_checker_id: this.data.f_checker_id,
863
- // // row: codata
864
- // // })
865
- // // if (response.code == 200) {
866
- // // console.log('=============response.data==================')
867
- // // console.log(JSON.stringify(response.data))
868
- // // let f_paper_id
869
- // // if(response.data != '' && response.data != null){
870
- // // f_paper_id = JSON.parse(response.data).id
871
- // // }
872
- // // this.$set('data.f_paper_id', f_paper_id)
873
- // // console.log('=============f_paper_id==================')
874
- // // console.log(JSON.stringify(f_paper_id))
875
- // // console.log(this.data.f_paper_id)
876
- // // console.log("===data"+JSON.stringify(this.data))
877
- // // for (let device in this.data){
878
- // // console.log("上传设备信息device=======>"+device)
879
- // // console.log("上传设备信息device=======>"+JSON.stringify(this.data[device]))
880
- // // if(device.startsWith("device")){
881
- // // for(let devices of this.data[device]) {
882
- // // devices.f_paper_id = f_paper_id
883
- // // let ret = this.$androidUtil.bzLogic('UpCheckPaperDevices', {
884
- // // row: devices
885
- // // })
886
- // // console.log(`上传设备信息结果res======${JSON.stringify(ret.data)}`)
887
- // // if(ret.code == 200){
888
- // // console.log(`设备信息id======${ret.data.f_device_id}`)
889
- // // devices.f_device_id = JSON.parse(ret.data.f_device_id).id
890
- // // }
891
- // // console.log('上传设备信息device======')
892
- // // console.log(JSON.stringify(devices))
893
- // // if (ret.code != 200) {
894
- // // //TODO 失败后处理
895
- // // // this.isUpload = false
896
- // // this.$showMessage("上传失败!")
897
- // // return false
898
- // // }
899
- // // }
900
- // // }
901
- // // }
902
- // // // for (let device of this.f_devices) {
903
- // // // device.f_paper_id = f_paper_id
904
- // // // console.log('上传设备信息device======')
905
- // // // console.log(JSON.stringify(device))
906
- // // // let ret = this.$androidUtil.bzLogic('UpCheckPaperDevices', {
907
- // // // row: device
908
- // // // })
909
- // // // console.log(`上传设备信息结果res======${ret}`)
910
- // // // if (ret.code != 200) {
911
- // // // //TODO 失败后处理
912
- // // // HostApp.alert("上传失败!")
913
- // // // return false
914
- // // // }
915
- // // // }
916
- // // let result = this.$androidUtil.bzLogic('FinishUpload',
917
- // // {
918
- // // f_check_item_id: this.data.f_check_item_id,
919
- // // f_userinfo_id: codata.f_userinfoid,
920
- // // f_last_check_result: codata.f_defect_content
921
- // // })
922
- // // if(result.code == 200){
923
- // // // this.$showAlert('上传成功!', 'success', 2000)
924
- // // this.$showMessage('上传成功!')
925
- // // this.isStrat=false
926
- // // if(url != "" ){
927
- // // this.$resetpost(`${url}`,{data:WxResult})
928
- // // }
929
- // // return true
930
- // // }else{
931
- // // // this.isUpload = false
932
- // // this.$showMessage("上传失败!")
933
- // // return false
934
- // // }
935
- // // }else{
936
- // // // this.isUpload = false
937
- // // this.$showMessage("上传失败!")
938
- // // return false
939
- // // }
940
- // }catch (e) {
941
- // console.log('上传失败==='+JSON.stringify(e))
942
- // // this.isUpload = false
943
- // this.$showMessage("上传失败!")
944
- // }
945
- // }
946
- },
947
- save(type) {
948
- this.saveNoclick()
949
- console.log('进入保存')
950
- if(type == 'temp'){
951
- this.data.f_complete = '未完成'
952
- this.disableTimer()
953
- }else {
954
- let errString = this.errorVerify()
955
- if (errString) {
956
- console.log(errString)
957
- console.log('Vue.android',Vue.android)
958
- console.log('this.isUpload',this.isUpload)
959
- if (Vue.android){
960
- this.$showMessage(errString)
961
- }
962
- return
963
- } else {
964
- this.data.f_complete = '已完成'
965
- this.$set('data.f_offsite_time', Util.toStandardTimeString())
966
- this.disableTimer()
967
- }
968
- }
969
- // try {
970
- let codata = this.getAllDefect()
971
- if(this.isToRepair && JSON.parse(this.data.f_defect_content).result != '有隐患'){
972
- this.$showMessage("未发现隐患,请点击上传")
973
- this.isToRepair=false
974
- this.isdisable = false
975
- return
976
- }
977
- console.log(`codata类型-->${typeof codata}`)
978
- console.log(`codata内容-->${JSON.stringify(codata)}`)
979
- for (let key in codata) {
980
- if (key.startsWith("device")) {
981
- console.log('this.data.' + key + JSON.stringify(codata[key]))
982
- codata[key] = []
983
- }
984
- }
985
- console.log(`codata内容-->${JSON.stringify(codata)}`)
986
- console.log(`codata内容-->${JSON.stringify(codata.f_user_defects)}`)
987
- console.log('安卓环境?=》' + Vue.android)
988
- if (Vue.android) {
989
- console.log('Vue.android is true')
990
- let value = this.$androidUtil.path({
991
- alias: 'getUserinfomation',
992
- data: {condition: "f_userinfoid = '" + this.item.f_userinfoid + "' and f_no_checkplan = '无计划安检'"}
993
- })
994
- console.log('getUserinfomation value ==> ' + JSON.stringify(value))
995
- if (this.item.f_no_checkplan == '无计划安检' && this.item.f_no_checkplan != '打回') {
996
- // let result = this.$androidUtil.bzLogic('SafeSaveNoPaper', {
997
- // f_check_item_id: this.data.f_check_item_id,
998
- // f_checker_id: this.data.f_checker_id,
999
- // f_upload_state:'未传',
1000
- // row: codata
1001
- // })
1002
- console.log('无计划安检保存')
1003
- let isStart = true
1004
- // let res
1005
- // for (let i in this.f_devices) {
1006
- // res = HostApp.organizeJSON({isStart: isStart, isDevice: true, device: this.f_devices[i]})
1007
- // if (res.code == 200) {
1008
- // isStart = false
1009
- // } else {
1010
- // this.$showMessage("保存失败!")
1011
- // }
1012
- // }
1013
- // let result = HostApp.organizeJSON({
1014
- // isStart: false,
1015
- // isJSON: true,
1016
- // jsonstr: {
1017
- // f_check_item_id: this.data.f_check_item_id,
1018
- // f_checker_id: this.data.f_checker_id,
1019
- // f_upload_state: '未传',
1020
- // row: codata
1021
- // }
1022
- // })
1023
- codata.f_devices = this.f_devices
1024
- let param = {
1025
- f_check_item_id: this.data.f_check_item_id,
1026
- f_checker_id: this.data.f_checker_id,
1027
- f_upload_state: '未传',
1028
- row: codata
1029
- }
1030
- console.log('codata ===> ' + JSON.stringify(codata))
1031
- let paramStr = JSON.stringify(param)
1032
- // 多长截断一次
1033
- let subLength = 800
1034
- for (let i = 0; i < paramStr.length; i += subLength) {
1035
- HostApp.param_cache(paramStr.substr(i, subLength))
1036
- }
1037
- HostApp.__this__ = this
1038
- HostApp.syncLogic({
1039
- // logic别名,key必须为logic
1040
- 'logic': 'SafeSaveNoPaper',
1041
- // 回调执行方法名,key必须为callback
1042
- 'callback': 'javascript:HostApp.__this__.saveCallBack()',
1043
- // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1044
- // 执行回调方法传入key为backresult
1045
- // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1046
- 'backresult': 1
1047
- })
1048
- } else {
1049
- console.log('非无计划安检保存')
1050
- let isStart = true
1051
- let res
1052
- console.log('this.f_devices' + JSON.stringify(this.f_devices))
1053
- // for (let i in this.f_devices) {
1054
- // console.log('this.f_devices[i] ====>' + JSON.stringify(this.f_devices[i]))
1055
- // for (let j = 0; j < this.f_devices[i].f_items.length; j++) {
1056
- // console.log(`this.f_devices[i].f_items[${j}] ===> ` + JSON.stringify(this.f_devices[i].f_items[j]))
1057
- // }
1058
- // res = HostApp.organizeJSON({isStart: isStart, isDevice: true, device: this.f_devices[i]})
1059
- // console.log('f_devices organizeJSON ==> ' + JSON.stringify(res))
1060
- // if (res.code == 200) {
1061
- // isStart = false
1062
- // } else {
1063
- // this.$showMessage("保存失败!")
1064
- // }
1065
- // }
1066
- console.log('this.data ==> ' + JSON.stringify(this.data))
1067
- console.log('f_check_item_id ==> ' + JSON.stringify(this.data.f_check_item_id))
1068
- console.log('f_checker_id ==> ' + JSON.stringify(this.data.f_checker_id))
1069
- // let result = HostApp.organizeJSON({
1070
- // isStart: false,
1071
- // isJSON: true,
1072
- // jsonstr: {
1073
- // f_check_item_id: this.data.f_check_item_id,
1074
- // f_checker_id: this.data.f_checker_id,
1075
- // row: codata
1076
- // }
1077
- // })
1078
- codata.f_devices = this.f_devices
1079
- let param = {
1080
- f_check_item_id: this.data.f_check_item_id,
1081
- f_checker_id: this.data.f_checker_id,
1082
- row: codata
1083
- }
1084
- console.log('codata ===> ' + JSON.stringify(codata))
1085
- let paramStr = JSON.stringify(param)
1086
- // 多长截断一次
1087
- let subLength = 800
1088
- for (let i = 0; i < paramStr.length; i += subLength) {
1089
- HostApp.param_cache(paramStr.substr(i, subLength))
1090
- }
1091
- HostApp.__this__ = this
1092
- HostApp.syncLogic({
1093
- // logic别名,key必须为logic
1094
- 'logic': '保存安检单信息',
1095
- // 回调执行方法名,key必须为callback
1096
- 'callback': 'javascript:HostApp.__this__.saveCallBack()',
1097
- // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1098
- // 执行回调方法传入key为backresult
1099
- // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1100
- 'backresult': 1
1101
- })
1102
- }
1103
-
1104
- } else {
1105
- console.log("保存的值", codata)
1106
- let value = this.$androidUtil.path({
1107
- alias: 'getUserinfomation',
1108
- data: {condition: "f_userinfoid = '" + this.item.f_userinfoid + "' and f_no_checkplan = '无计划安检'"}
1109
- })
1110
-
1111
- if (this.item.f_no_checkplan == '无计划安检' && value.data.length == 0 && this.item.f_no_checkplan != '打回') {
1112
- this.$androidUtil.bzLogic('SafeSaveNoPaper', {
1113
- f_check_item_id: this.data.f_check_item_id,
1114
- f_checker_id: this.data.f_checker_id,
1115
- f_upload_state: '未传',
1116
- row: codata
1117
- }).then((res) => {
1118
- if (res.data.code == 200) {
1119
- //保存devices
1120
- this.$androidUtil.bzLogic('getPaperInfo', {
1121
- f_check_item_id: this.data.f_check_item_id
1122
- }).then((res) => {
1123
- console.log(`查询paper结果res======${res}`)
1124
- if (res.data.code == 200) {
1125
-
1126
- let f_paper_id = res.data.data[0].id
1127
- for (let device of this.f_devices) {
1128
- device.f_paper_id = f_paper_id
1129
- console.log('设备信息device======', device)
1130
- this.$androidUtil.bzLogic('saveDevice', {
1131
- row: device
1132
- }).then((ret) => {
1133
- console.log(`保存设备信息结果res======`, ret)
1134
- if (ret.code != 200) {
1135
- // if(this.isUpload){
1136
- // this.isUpload = false
1137
- // }
1138
- //TODO 失败后处理
1139
- this.$showMessage("保存失败!")
1140
- return false
1141
- }
1142
- })
1143
- }
1144
- }
1145
- })
1146
- // this.$showAlert('保存成功!', 'success', 2000)
1147
- this.$showMessage('保存成功!')
1148
- return true
1149
- } else {
1150
- // if(this.isUpload){
1151
- // this.isUpload = false
1152
- // }
1153
- this.$showMessage("保存失败!")
1154
- return false
1155
- }
1156
- })
1157
- } else {
1158
- this.$androidUtil.bzLogic('保存安检单信息', {
1159
- f_check_item_id: this.data.f_check_item_id,
1160
- f_checker_id: this.data.f_checker_id,
1161
- row: codata
1162
- }).then((res) => {
1163
- console.log('asdddddddddddddddddddddddddddddd')
1164
- if (res.data.code == 200) {
1165
- //保存devices
1166
- this.$androidUtil.bzLogic('getPaperInfo', {
1167
- f_check_item_id: this.data.f_check_item_id
1168
- }).then((res) => {
1169
- console.log(`查询paper结果res======${res}`)
1170
- if (res.data.code == 200) {
1171
-
1172
- let f_paper_id = res.data.data[0].id
1173
- for (let device of this.f_devices) {
1174
- device.f_paper_id = f_paper_id
1175
- console.log(`设备信息device======${device}`)
1176
- this.$androidUtil.bzLogic('saveDevice', {
1177
- row: device
1178
- }).then((ret) => {
1179
- console.log(`保存设备信息结果res======${ret}`)
1180
- if (ret.code != 200) {
1181
- // if(this.isUpload){
1182
- // this.isUpload = false
1183
- // }
1184
- //TODO 失败后处理
1185
- this.$showMessage("保存失败!")
1186
- return false
1187
- }
1188
- })
1189
- }
1190
- }
1191
- })
1192
- // this.$showAlert('保存成功!', 'success', 2000)
1193
- this.$showMessage('保存成功!')
1194
- return true
1195
- } else {
1196
- // if(this.isUpload){
1197
- // this.isUpload = false
1198
- // }
1199
- this.$showMessage("保存失败!")
1200
- return false
1201
- }
1202
- })
1203
- }
1204
- }
1205
- // }catch (e) {
1206
- // console.log('保存失败==='+JSON.stringify(e))
1207
- // // this.isUpload = false
1208
- // this.$showMessage("保存失败!")
1209
- // }
1210
- },
1211
- runSyncLogic(logic,callback,backresult){
1212
- HostApp.runSyncLogic({
1213
- // logic别名,key必须为logic
1214
- 'logic': logic,
1215
- // 回调执行方法名,key必须为callback
1216
- 'callback': callback,
1217
- // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1218
- // 执行回调方法传入key为backresult
1219
- // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1220
- 'backresult':backresult
1221
- })
1222
- },
1223
- logicWithHint(logic,data,callback,backresult){
1224
- HostApp.logicWithHint({
1225
- // logic别名,key必须为logic
1226
- 'logic': logic,
1227
- // 回调执行方法名,key必须为callback
1228
- 'callback': callback,
1229
- // logic执行需要的业务参数
1230
- 'data': data,
1231
- // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1232
- // 执行回调方法传入key为backresult
1233
- // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1234
- 'backresult':backresult
1235
- })
1236
- },
1237
- saveCallBack(jo){
1238
- console.log(JSON.stringify(jo))
1239
- this.isdisable = false
1240
- if(jo.state == 'ok'){
1241
- let res = JSON.parse(jo.result)
1242
- console.log('保存结果===》'+JSON.stringify(res))
1243
- if(res.code == 200){
1244
- console.log('onlySave=====>'+this.onlySave)
1245
- if(!this.onlySave){
1246
- let codata = this.getAllDefect()
1247
- //获取微信推送内容
1248
- // let WxResult = this.getWeixin(codata)
1249
- let haslivedispose = this.$androidUtil.bzLogic('getLiveDispose', {
1250
- f_check_item_id: this.data.f_check_item_id
1251
- })
1252
- //如果是转维修上传,则不做校验,上传完成后自动转维修
1253
- console.log('this.isToRepair=======》'+this.isToRepair)
1254
- console.log('this.livedispose=======》'+this.livedispose)
1255
- if(!this.isToRepair){
1256
- if(haslivedispose.data.length > 0 && (this.livedispose == 'true' || this.livedispose == true)){
1257
- console.log('是否已转维修')
1258
- console.log(this.isSafeCheckToRepair)
1259
- if(!this.isSafeCheckToRepair){
1260
-
1261
- }
1262
- }
1263
- }
1264
- console.log(`codata类型-->${typeof codata}`)
1265
- for (let key in codata){
1266
- if(key.startsWith("device")){
1267
- codata[key] = []
1268
- }
1269
- }
1270
- console.log(`codata内容-->${JSON.stringify(codata)}`)
1271
-
1272
- console.log('遮挡上传')
1273
- // let isStart = true
1274
- // let res
1275
- // for (let i in this.f_devices){
1276
- // res = HostApp.organizeJSON({isStart:isStart,isDevice:true,device:this.f_devices[i]})
1277
- // if(res.code == 200){
1278
- // isStart = false
1279
- // }else{
1280
- // this.$showMessage("上传失败!")
1281
- // return
1282
- // }
1283
- // }
1284
- // let result = HostApp.organizeJSON({
1285
- // isStart:false,
1286
- // isJSON:true,
1287
- // jsonstr:{
1288
- // f_check_item_id: this.data.f_check_item_id,
1289
- // f_checker_id: this.data.f_checker_id,
1290
- // row: codata
1291
- // }
1292
- // })
1293
- codata.f_devices = this.f_devices
1294
- codata.isTorepair = this.isToRepair
1295
- codata.cremarks=this.cremarks
1296
- let param = {
1297
- f_check_item_id: this.data.f_check_item_id,
1298
- f_checker_id: this.data.f_checker_id,
1299
- row: codata
1300
- }
1301
- console.log('codata ===> ' + JSON.stringify(codata))
1302
- let paramStr = JSON.stringify(param)
1303
- // 多长截断一次
1304
- let subLength = 800
1305
- for (let i = 0; i < paramStr.length; i += subLength) {
1306
- HostApp.param_cache(paramStr.substr(i, subLength))
1307
- }
1308
- HostApp.__this__ = this
1309
- HostApp.syncLogic({
1310
- // logic别名,key必须为logic
1311
- 'logic': 'rc_upCheckPaper',
1312
- // 回调执行方法名,key必须为callback
1313
- 'callback': 'javascript:HostApp.__this__.uploadCallBack()',
1314
- // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1315
- // 执行回调方法传入key为backresult
1316
- // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1317
- 'backresult': 1
1318
- })
1319
- }else{
1320
- this.$showMessage('保存成功!')
1321
- if(this.clickBack){
1322
- this.isStrat = false
1323
- this.$dispatch('confirm')
1324
- //this.$back()
1325
- }
1326
- }
1327
- }else{
1328
- this.$showMessage('保存失败!')
1329
- return
1330
- }
1331
- }else{
1332
- this.$showMessage('服务器内部错误,保存失败!')
1333
- return
1334
- }
1335
-
1336
- },
1337
- uploadCallBack(jo){
1338
- //获取微信推送路径
1339
- let url = ""
1340
- if(Vue.config.safecheck != undefined) {
1341
- if (Vue.config.safecheck.ApproveConfig != undefined) {
1342
- if (Vue.config.safecheck.ApproveConfig.weixinurl != undefined) {
1343
- url = Vue.config.safecheck.ApproveConfig.weixinurl
1344
- }
1345
- }
1346
- }
1347
- console.log(JSON.stringify(jo))
1348
- console.log('jo ===> ' + JSON.stringify(jo))
1349
- this.isdisable = false
1350
- if(jo.state == 'ok'){
1351
- let res = JSON.parse(jo.result)
1352
- console.log('上传结果===》'+JSON.stringify(res))
1353
- console.log('上传结果的f_paper_id===》'+JSON.stringify(res.id))
1354
- if(res.code == 200){
1355
- //上传抄表信息
1356
- if(this.item.f_user_type=='民用' && this.item.f_safecheck_type=='年度普检' && this.data.f_entry_status=='入户' && this.data.f_is_meterreadding=='未抄表'){
1357
- //let codata = this.getAllDefect()
1358
- let res3= this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`,{
1359
- data:{
1360
- items:" f_userfiles_id",
1361
- tablename:"t_userfiles",
1362
- condition:`f_userinfo_id=${this.item.f_userinfoid} and (f_table_state='正常' or f_table_state='停用')`,
1363
- orderitem:"f_userfiles_id"
1364
- }
1365
- }).then(res3 => {
1366
- console.log("res---"+JSON.stringify(res3))
1367
- let f_tablebase1=''
1368
- this.f_devices.forEach(row=>{
1369
- if(row.f_device_type=='燃气表'){
1370
- row.f_items.forEach(item =>{
1371
- if(item.f_item_name=='本期表读数'){
1372
- f_tablebase1=item.f_item_lists[0].f_item_value
1373
- }
1374
- })
1375
- }
1376
- })
1377
-
1378
- console.log("抄表底数!"+f_tablebase1+"------userfilesid"+res3.data[0].f_userfiles_id +'------'+this.data.f_checker_name+this.data.f_checker_id+this.data.f_checker_name)
1379
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/handCommonEnter`, {data:{
1380
- f_userfiles_id:res3.data[0].f_userfiles_id,
1381
- f_operator:this.data.f_checker_name,
1382
- f_operatorid:this.data.f_checker_id,
1383
- f_inputtor:this.data.f_checker_name,
1384
- f_tablebase:f_tablebase1,
1385
- isAudit:false,f_meter_source:''
1386
- }
1387
- }).then(res4 =>{
1388
- console.log("抄表上传成功!"+JSON.stringify(res4))
1389
- if(res4.data.status==200){
1390
- console.log("开始修改状态!!!!"+this.item.id)
1391
- let param={
1392
- itemid:res.id
1393
- }
1394
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/rc_UpPaperHandMeterState`, {data:param})
1395
- }
1396
- })
1397
-
1398
- })
1399
- }
1400
- this.$set('data.f_paper_id', res.id)
1401
- this.isStrat=false
1402
- if(url != ""){
1403
- this.$resetpost(`${url}`,{data:WxResult})
1404
- }
1405
- console.log('this.isToRepair==============>'+this.isToRepair)
1406
- if(this.isToRepair){
1407
- /*let defect=JSON.parse(this.data.f_defect_content)
1408
- let repairContent=''
1409
- defect.data.forEach(de =>{
1410
- let arr=Object.keys(de)
1411
- console.log("defect----------"+JSON.stringify(arr))
1412
- arr.forEach(key=>{
1413
- repairContent += key+':'+de[key]+' '
1414
- })
1415
- })
1416
- console.log("defect----------"+repairContent)
1417
- let repair={
1418
- "sn": res.id,
1419
- "caseType": "客户问题",
1420
- "callerPhone": "",
1421
- "caseTime": Util.toStandardTimeString(),
1422
- "orderSource": "安检转维修",
1423
- "orderSourceUserID": "",
1424
- "customerNo": this.item.f_userinfo_code,
1425
- "customerName": this.item.f_user_name,
1426
- "customerAddress": this.item.f_address,
1427
- "customerDistrictCode": "",
1428
- "customerDistrict": "",
1429
- "callerName": this.item.checker,
1430
- "callerSex": "",
1431
- "phone": this.item.f_user_phone,
1432
- "repairAddress": this.item.f_address,
1433
- "repairContent": repairContent,
1434
- "company": Vue.user.orgs,
1435
- "orderType": "报修",
1436
- "faultCategory": "安检隐患",
1437
- "processingLevel": "普通",
1438
- "remarks": "" }*/
1439
- /*console.log('开始转维修!4'+JSON.stringify(repair))
1440
- new HttpResetClass().load('POST','http://39.101.182.117:8909/api/cc/workorder.ashx?sign=5F27F9CA-2793-40CE-9834-0F033F71EDD2&method=postpreorder',repair,{resolveMsg: null, rejectMsg: null}).then(res =>{
1441
- console.log('调维修接口返回的结果!'+JSON.stringify(res))
1442
- if(res.data.success){
1443
- console.log('调维修接口成功!'+JSON.stringify(res))
1444
- let param={
1445
- itemid:res.id,
1446
- gid:res.data.gid
1447
- }
1448
- new HttpResetClass().load('POST',`${this.$androidUtil.getProxyUrl()}/rs/logic/rc_UpPaperRepairState`,{data:param},{resolveMsg: null, rejectMsg: null})
1449
- this.$showMessage('转维修成功!')
1450
- }else{
1451
- this.$showMessage('转维修失败!')
1452
- }
1453
- this.isToRepair=false
1454
- this.$dispatch('confirm')
1455
- })*/
1456
- this.$showMessage('转维修成功!')
1457
- this.isToRepair=false
1458
- this.$dispatch('confirm')
1459
- //this.todo()
1460
- }else{
1461
- this.$showMessage('上传成功!')
1462
- console.log('上传结束back')
1463
- this.$dispatch('confirm')
1464
- // this.$back()
1465
- }
1466
- }else if(res.code == 309){
1467
- this.$showMessage('该安检单已作废!')
1468
- console.log('该安检单已作废')
1469
- this.$dispatch('confirm')
1470
- }else if(res.code == 310){
1471
- this.$showMessage('该安检单已上传,请勿重复上传!')
1472
- console.log('该安检单已上传')
1473
- this.$dispatch('confirm')
1474
- }else if(res.code == 500){
1475
- this.$showMessage('图片上传失败,请检查图片,确认无误后再次进行上传!')
1476
- this.onlySave = true
1477
- this.isToRepair=false
1478
- }else{
1479
- this.$showMessage('上传失败,请检查手机本地网络是否正常,如无问题请再次尝试上传(多次失败请联系管理员)!')
1480
- this.onlySave = true
1481
- this.isToRepair=false
1482
- }
1483
- }else {
1484
- this.$showMessage('服务器内部错误,上传失败!')
1485
- this.onlySave = true
1486
- this.isToRepair=false
1487
- }
1488
- },
1489
- safecheckToRepairCallBack(jo){
1490
- //获取微信推送路径
1491
- if(jo.state == 'ok'){
1492
- let res = JSON.parse(jo.result)
1493
- console.log('安检转维修===》'+JSON.stringify(res))
1494
- if(res.code == 200){
1495
- console.log('安检转维修成功')
1496
- if(res.data.code == 200){
1497
- this.$showMessage('上传并转维修成功!')
1498
- }else{
1499
- this.$showMessage('上传并转维修成功,回写安检单失败!')
1500
- }
1501
- this.$dispatch('confirm')
1502
- // this.$back()
1503
- }else{
1504
- this.$showMessage('上传失败!')
1505
- this.onlySave = true
1506
- }
1507
- }else{
1508
- this.$showMessage('遇到意外错误!'+JSON.stringify(jo))
1509
- this.onlySave = true
1510
- }
1511
- },
1512
- todo(){
1513
- let gen = getRepairParam(this)
1514
- co(gen)
1515
- },
1516
- undo(){
1517
- this.showCheckToRepair = !this.showCheckToRepair
1518
- this.model.serviceacitivity[0].f_reciever = ''
1519
- this.model.serviceacitivity[0].f_meetunit = ''
1520
- this.model.f_repairtype = ''
1521
- this.meading = '转站点'
1522
- },
1523
- disableTimer() {
1524
- if(this.timer) {
1525
- window.clearTimeout(this.timer)
1526
- this.timer = null
1527
- }
1528
- },
1529
- loaded(paper) {
1530
- if(!paper.hasOwnProperty('id')) {
1531
- this.$showMessage("该安检单在手机上已经不存在,可能是卸载过程序。可以进入重新安检,或返回安检计划。")
1532
- this.init()
1533
- } else {
1534
- Util.booleanFilter(paper)
1535
- HostApp.__this__.$set('data', paper)
1536
- HostApp.__this__.$goto('safecheck-userinfo', {}, 'paper-router')
1537
- // 如果打回重检则重新计时
1538
- console.log('HostApp.__this__.role' + HostApp.__this__.role + ' HostApp.__this__.f_approved:' + HostApp.__this__.data.f_approved)
1539
- if(HostApp.__this__.role == 'inspect'
1540
- && HostApp.__this__.data.f_approved
1541
- && HostApp.__this__.data.f_approved == '打回') {
1542
- console.log('打回')
1543
- HostApp.__this__.data.f_onsite_time = Util.toStandardTimeString()
1544
- HostApp.__this__.tick()
1545
- }
1546
- }
1547
- HostApp.__callback__ = null
1548
- HostApp.__this__ = null
1549
- },
1550
- S4() {
1551
- return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
1552
- },
1553
- extend(initalObj, finalObj) {
1554
- var obj = finalObj || {};
1555
- for (var i in initalObj) {
1556
- var prop = initalObj[i];
1557
-
1558
- // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
1559
- if (prop === obj) {
1560
- continue;
1561
- }
1562
-
1563
- if (typeof prop === 'object') {
1564
- if (obj[i]) {
1565
- this.extend(obj[i], prop)
1566
- } else {
1567
- obj[i] = prop;
1568
- }
1569
- }
1570
- }
1571
- return obj;
1572
- },
1573
- async isoverDate(){
1574
- console.log('123456')
1575
- let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/androidGetuserinfo`, {data:{
1576
- condition:"ti.id='"+this.item.id+"'"
1577
- }
1578
- })
1579
-
1580
- this.isneedDate=res.data.length>0?res.data[0]["f_subscribe_date"]:''
1581
- },
1582
- putDevices() {
1583
- console.log('Vue.config => ' + JSON.stringify(Vue.config))
1584
- console.log('Vue.config.DevicesConfig => ' + JSON.stringify(Vue.config.DevicesConfig))
1585
- this.$set('data.approve', "true")
1586
- this.$set('data.writeback', "false")
1587
- if (Vue.config.safecheck != undefined) {
1588
- if (Vue.config.safecheck.ApproveConfig != undefined) {
1589
- if (Vue.config.safecheck.ApproveConfig.approve != undefined) {
1590
- this.$set('data.approve', Vue.config.safecheck.ApproveConfig.approve)
1591
- }
1592
- if (Vue.config.safecheck.ApproveConfig.writeback != undefined) {
1593
- this.$set('data.writeback', Vue.config.safecheck.ApproveConfig.writeback)
1594
- }
1595
- if (Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
1596
- this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
1597
- }
1598
- }
1599
- console.log(Vue.config)
1600
- console.log('Vue.config.safecheck.DevicesConfig=>' + JSON.stringify(Vue.config.safecheck.DevicesConfig))
1601
- console.log('赋值前的config=>' + JSON.stringify(this.config))
1602
- console.log("当前用户类型"+this.item.f_user_type)
1603
- if(this.item.f_user_type == '民用'){
1604
- // 民用户
1605
-
1606
- if (Vue.config.safecheck.DevicesConfig != undefined){
1607
- if(this.item.f_safecheck_type == undefined || this.item.f_safecheck_type == '' || Vue.config.safecheck.SafecheckType == undefined) {
1608
- this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
1609
- }else{
1610
- this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_user_type]])
1611
- }
1612
-
1613
-
1614
- // this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
1615
- }
1616
- }else {
1617
- // 非民用
1618
- if (Vue.config.safecheck.DevicesSetConfig != undefined){
1619
-
1620
- if(this.item.f_safecheck_type == undefined || this.item.f_safecheck_type == '' || Vue.config.safecheck.SafecheckType == undefined) {
1621
- this.config = this.extend(this.config, Vue.config.safecheck.DevicesSetConfig)
1622
- }else{
1623
- this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_user_type]])
1624
- }
1625
- let dev={
1626
- index: 3,
1627
- items:{}}
1628
- if(this.deviceinfo.data.length>0){
1629
- for (let i=0;i<this.deviceinfo.data.length;i++){
1630
- dev.items[this.deviceinfo.data[i].f_devices_model+'数量']={index: i*3+1,type:"number",f_item_value: this.deviceinfo.data[i].f_devices_num}
1631
- dev.items[this.deviceinfo.data[i].f_devices_model+'品牌']={index: i*3+2,type:"string",f_item_value: this.deviceinfo.data[i].f_brand}
1632
- dev.items[this.deviceinfo.data[i].f_devices_model+'检查情况']={index: i*3+3,type:"string"}
1633
- }
1634
- }
1635
- console.log("dev:"+JSON.stringify(dev))
1636
- this.config["燃气具检查"]=dev
1637
- //this.config = this.extend(this.config, Vue.config.safecheck.DevicesSetConfig)
1638
- }
1639
- }
1640
-
1641
- }
1642
- console.log('赋值后的config=>' + JSON.stringify(this.config))
1643
- // 预留设备项位置
1644
- for (let i in this.config) {
1645
- this.tabs.splice(1,0,null)
1646
- }
1647
- //遍历安检项配置
1648
- for (let i in this.config) {
1649
- //取得安检项索引值
1650
- let n = this.config[i].index
1651
- console.log('type '+ typeof n)
1652
- this.devices[n - 1] = {device: i, n: n, checkmust: this.config[i].checkmust}
1653
- this.$set('data.' + 'device' + n, [])
1654
- console.log('data.device'+ n,this.data)
1655
- // this.tabs.splice(2 + n - 1, 0,
1656
- // {
1657
- // header:i,
1658
- // complete:'safecheck-devices',
1659
- // class:'repair-details-class',
1660
- // number:n
1661
- // })
1662
- this.tabs[n] = {
1663
- header: i,
1664
- complete: 'safecheck-devices',
1665
- class: 'repair-details-class',
1666
- number: n
1667
- }
1668
-
1669
- if(this.config[i].quantity && this.config[i].quantity >0){
1670
- let items = []
1671
- for (let it in this.config[i].items) {
1672
- //赋值下拉选项
1673
- if (this.config[i].items[it].type == 'selector') {
1674
- for (let op in this.config[i].items[it].options) {
1675
- if (this.config[i].items[it].options[op].isdefault == true) {
1676
- items.push({
1677
- f_defect_level: this.config[i].items[it].options[op].level,
1678
- f_is_defect: this.config[i].items[it].options[op].isdefect,
1679
- f_item_name: it,
1680
- f_item_value: this.config[i].items[it].options[op].data,
1681
- f_path: "",
1682
- type: "selector"
1683
- })
1684
- }
1685
- }
1686
- }
1687
- }
1688
- for(let q =0;q<this.config[i].quantity;q++) {
1689
- this.data['device' + n].push(
1690
- {f_device_type: i, f_items:items}
1691
- )
1692
- }
1693
- }
1694
- // this.data['device' + n].push(
1695
- // {f_device_type: i, f_items: items}
1696
- // )
1697
- n = n + 1
1698
- }
1699
- console.log('tbs合并数组')
1700
- this.faultshow.number = this.tabs.length
1701
- },
1702
- init () {
1703
- console.log("123456789")
1704
- // this.data.f_noplan_item_id = this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()
1705
- this.data.ename = Vue.user.ename
1706
- this.data.f_outlets = Vue.user.f_parentname
1707
- this.data.f_meetunit = Vue.user.orgpathnames
1708
- this.data.orgpathstr = Vue.user.orgpathstr
1709
- this.data.f_check_item_id = this.item.id
1710
- this.data.f_check_plan_id = this.f_plan_id
1711
- this.data.f_checker_id = Vue.user.id
1712
- this.data.f_checker_name = Vue.user.name
1713
- this.data.f_check_type = this.item.f_user_type
1714
- this.data.f_safecheck_type = this.item.f_safecheck_type ? this.item.f_safecheck_type:'年度普检'
1715
- //this.data.f_exceed_reason = ''//存放送气超期原因
1716
- console.log('设置参数2')
1717
- this.data.f_subcompany = this.item.f_subcompany
1718
- this.data.f_approved = this.item.f_approved
1719
- this.data.f_repair_approved = this.item.f_repair_approved
1720
- this.data.f_no_checkplan = this.item.f_no_checkplan
1721
- this.data.f_approved = this.item.f_approved
1722
- this.data.f_filialeid = this.item.f_filialeid
1723
- this.data.f_orgstr = this.item.f_orgstr
1724
- this.data.version = this.item.version
1725
- this.$set('data.f_meters', this.item.f_plan_meters)
1726
- this.$set('data.f_userinfo_code', this.item.f_userinfo_code)
1727
- // 安检状态
1728
- this.$set('data.f_entry_status', '入户')
1729
- this.$set('data.f_laser_check', null)
1730
- this.$set('data.f_is_meterreadding', '未抄表')
1731
- this.$set('data.f_usegas', '已使用')
1732
- this.$set('data.f_state',this.item.f_state)
1733
- console.log('设置参数3')
1734
- // 用户信息
1735
- this.$set('data.f_user_name', this.item.f_user_name)
1736
- this.$set('data.f_user_phone', this.item.f_user_phone)
1737
- this.$set('data.f_userinfoid', this.item.f_userinfoid)
1738
- this.$set('data.f_address', this.item.f_address)
1739
- this.$set('data.f_small_area', this.item.f_small_area)
1740
- this.$set('data.f_card_id', this.item.f_card_id)
1741
- this.$set('data.f_area', this.item.f_area)
1742
- this.$set('data.f_street', this.item.f_street)
1743
- this.$set('data.f_room', this.item.f_room)
1744
- this.$set('data.f_building', this.item.f_building)
1745
- this.$set('data.f_unit', this.item.f_unit)
1746
- console.log('设置参数4')
1747
- this.$set('data.f_floor', this.item.f_floor)
1748
- this.$set('data.f_residential_area' , this.item.f_residential_area)
1749
- this.$set('data.f_idnumber', this.item.f_idnumber)
1750
- this.$set('data.f_comments', this.item.f_comments)
1751
- this.$set('data.f_userproperties', this.item.f_userproperties)
1752
- // this.$set('data.f_user_inhome_time', this.item.f_user_inhome_time)
1753
- // this.$set('data.f_user_check_time', this.item.f_user_check_time)
1754
- // this.$set('data.f_user_spare_phone', this.item.f_user_spare_phone)
1755
- // this.$set('data.f_user_family_remarks', this.item.f_user_family_remarks)
1756
- // this.$set('data.f_user_equipment_remarks', this.item.f_user_equipment_remarks)
1757
- // 处置方式
1758
- console.log('设置参数5')
1759
- this.$set('data.f_no_gas_device', false)
1760
- this.$set('data.f_close_valve', false)
1761
- this.$set('data.f_unload_battery', false)
1762
- console.log('设置参数6')
1763
- if (this.data.f_check_item_id == '' && this.item.f_no_checkplan == '无计划安检') {
1764
- this.data.f_check_item_id = this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4()
1765
- }
1766
- console.log("item.f_plan_meters",this.item.f_plan_meters)
1767
- if(this.item.f_plan_meters) {
1768
- for (let de in this.devices) {
1769
- this.$set('data.device' + this.devices[de].n, [])
1770
- for (let i = 0; i < this.item.f_plan_meters.length; i++) {
1771
- if (this.item.f_plan_meters[i].f_meter_type) {
1772
- console.log('this.item.f_plan_meters[i] ===> ' + JSON.stringify(this.item.f_plan_meters[i])+"------------"+this.devices[de].device)
1773
- if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_meter_type.indexOf('机表') > 0) {
1774
- console.log("是机表")
1775
- this.data['device' + this.devices[de].n].push({
1776
- f_device_type: "燃气表",
1777
- f_items: [
1778
- {
1779
- f_defect_level: null,
1780
- f_device_id: "",
1781
- f_is_defect: "",
1782
- f_item_name: "基表编号",
1783
- f_item_value: this.item.f_plan_meters[i].f_meter_no,
1784
- f_path: "",
1785
- type: "string"
1786
- },
1787
- {
1788
- f_defect_level: null,
1789
- f_device_id: "",
1790
- f_is_defect: "",
1791
- f_item_name: "气表型号",
1792
- f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1793
- f_path: "",
1794
- type: "string"
1795
- },
1796
- {
1797
- f_defect_level: null,
1798
- f_device_id: "",
1799
- f_is_defect: "",
1800
- f_item_name: "气表品牌",
1801
- f_item_value: this.item.f_plan_meters[i].f_aliasname,
1802
- f_path: "",
1803
- type: "string"
1804
- },
1805
- {
1806
- f_defect_level: null,
1807
- f_device_id: "",
1808
- f_is_defect: "",
1809
- f_item_name: "进气方向",
1810
- f_item_value: this.item.f_plan_meters[i].f_flow_direction,
1811
- f_path: "",
1812
- type: "selector"
1813
- },
1814
- {
1815
- f_defect_level: null,
1816
- f_device_id: "",
1817
- f_is_defect: "",
1818
- f_item_name: "上期表读数",
1819
- f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1820
- f_path: "",
1821
- type: "number"
1822
- },
1823
- {
1824
- f_defect_level: null,
1825
- f_device_id: "",
1826
- f_is_defect: "",
1827
- f_item_name: "本期表读数",
1828
- f_item_value: '',
1829
- f_path: "",
1830
- type: "number"
1831
- }
1832
- ]
1833
- })
1834
- } else if (this.devices[de].device == "燃气表") {
1835
- console.log("不是是机表")
1836
- // delete this.config['燃气表']['items']['表底数']
1837
- this.data['device' + this.devices[de].n].push({
1838
- f_device_type: "燃气表",
1839
- f_items: [
1840
- {
1841
- f_defect_level: null,
1842
- f_device_id: "",
1843
- f_is_defect: "",
1844
- f_item_name: "基表编号",
1845
- f_item_value: this.item.f_plan_meters[i].f_meter_no,
1846
- f_path: "",
1847
- type: "string"
1848
- },
1849
- {
1850
- f_defect_level: null,
1851
- f_device_id: "",
1852
- f_is_defect: "",
1853
- f_item_name: "气表型号",
1854
- f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1855
- f_path: "",
1856
- type: "string"
1857
- },
1858
- {
1859
- f_defect_level: null,
1860
- f_device_id: "",
1861
- f_is_defect: "",
1862
- f_item_name: "气表品牌",
1863
- f_item_value: this.item.f_plan_meters[i].f_aliasname,
1864
- f_path: "",
1865
- type: "string"
1866
- },
1867
- {
1868
- f_defect_level: null,
1869
- f_device_id: "",
1870
- f_is_defect: "",
1871
- f_item_name: "进气方向",
1872
- f_item_value: this.item.f_plan_meters[i].f_flow_direction,
1873
- f_path: "",
1874
- type: "selector"
1875
- },
1876
- {
1877
- f_defect_level: null,
1878
- f_device_id: "",
1879
- f_is_defect: "",
1880
- f_item_name: "上期表读数",
1881
- f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1882
- f_path: "",
1883
- type: "number"
1884
- },
1885
- {
1886
- f_defect_level: null,
1887
- f_device_id: "",
1888
- f_is_defect: "",
1889
- f_item_name: "本期表读数",
1890
- f_item_value: '',
1891
- f_path: "",
1892
- type: "number"
1893
- }
1894
- ]
1895
- })
1896
- }
1897
- if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_collection_type) {
1898
- console.log("有this.item.f_plan_meters[i].f_collection_type")
1899
- this.data['device' + this.devices[de].n].forEach(device => {
1900
- console.log('device ===> ' + JSON.stringify(device))
1901
- console.log('this.item.f_plan_meters[i].f_collection_type ===> ' + JSON.stringify(this.item.f_plan_meters[i].f_collection_type))
1902
- /*
1903
- "累购气量":{"index":8,"type":"number","readonly":true},
1904
- "累购金额":{"index":8,"type":"number","readonly":true},
1905
- "字轮读数":{"index":9,"type":"number","checkmust": true},
1906
- "已用金额":{"index":9,"type":"number","checkmust": true},
1907
- "剩余气量":{"index":10,"type":"number","checkmust": true},
1908
- "剩余金额":{"index":10,"type":"number","checkmust": true},
1909
- "气量异常差值":{"index":11,"type":"number","readonly": true},
1910
- "金额异常差值":{"index":11,"type":"number","readonly": true}
1911
- */
1912
- if (this.item.f_plan_meters[i].f_collection_type == '按金额') {
1913
- if (!this.data.f_collection_type) {
1914
- this.data.f_collection_type = this.item.f_plan_meters[i].f_collection_type
1915
- delete this.config['燃气表']['items']['累购气量']
1916
- delete this.config['燃气表']['items']['已用气量']
1917
- delete this.config['燃气表']['items']['剩余气量']
1918
- delete this.config['燃气表']['items']['气量异常差值']
1919
- device.f_items.push(
1920
- {
1921
- f_defect_level: null,
1922
- f_device_id: "",
1923
- f_is_defect: "",
1924
- f_item_name: "初始表底",
1925
- isshow: false,
1926
- f_item_value: '',
1927
- f_path: "",
1928
- type: "number"
1929
- },
1930
- {
1931
- f_defect_level: null,
1932
- f_device_id: "",
1933
- f_is_defect: "",
1934
- f_item_name: "累购金额",
1935
- f_item_value: this.item.f_plan_meters[i].f_total_fee,
1936
- f_path: "",
1937
- type: "number"
1938
- },
1939
- {
1940
- f_defect_level: null,
1941
- f_device_id: "",
1942
- f_is_defect: "",
1943
- f_item_name: "已用金额",
1944
- f_item_value: null,
1945
- f_path: "",
1946
- type: "number"
1947
- },
1948
- {
1949
- f_defect_level: null,
1950
- f_device_id: "",
1951
- f_is_defect: "",
1952
- f_item_name: "剩余金额",
1953
- f_item_value: null,
1954
- f_path: "",
1955
- type: "number"
1956
- },
1957
- {
1958
- f_defect_level: null,
1959
- f_device_id: "",
1960
- f_is_defect: "",
1961
- f_item_name: "金额异常差值",
1962
- isshow:false,
1963
- f_item_value: null,
1964
- f_path: "",
1965
- type: "number"
1966
- }
1967
- )
1968
- console.log('this.config[\'燃气表\'][\'items\'] ===> ' + JSON.stringify(this.config['燃气表']['items']))
1969
- }
1970
- } else if (this.item.f_plan_meters[i].f_collection_type == '按气量') {
1971
- if (!this.data.f_collection_type) {
1972
- this.data.f_collection_type = this.item.f_plan_meters[i].f_collection_type
1973
- delete this.config['燃气表']['items']['累购金额']
1974
- delete this.config['燃气表']['items']['已用金额']
1975
- delete this.config['燃气表']['items']['剩余金额']
1976
- delete this.config['燃气表']['items']['金额异常差值']
1977
- device.f_items.push(
1978
- {
1979
- f_defect_level: null,
1980
- f_device_id: "",
1981
- f_is_defect: "",
1982
- f_item_name: "初始表底",
1983
- isshow: true,
1984
- f_item_value: this.item.f_plan_meters[i].f_initial_base,
1985
- f_path: "",
1986
- type: "number"
1987
- },
1988
- {
1989
- f_defect_level: null,
1990
- f_device_id: "",
1991
- f_is_defect: "",
1992
- f_item_name: "累购气量",
1993
- f_item_value: this.item.f_plan_meters[i].f_total_gas,
1994
- f_path: "",
1995
- type: "number"
1996
- },
1997
- {
1998
- f_defect_level: null,
1999
- f_device_id: "",
2000
- f_is_defect: "",
2001
- f_item_name: "已用气量",
2002
- f_item_value: this.item.f_plan_meters[i].f_meter_base,
2003
- f_path: "",
2004
- type: "number"
2005
- },
2006
- {
2007
- f_defect_level: null,
2008
- f_device_id: "",
2009
- f_is_defect: "",
2010
- f_item_name: "剩余气量",
2011
- f_item_value: '',
2012
- f_path: "",
2013
- type: "number"
2014
- },
2015
- {
2016
- f_defect_level: null,
2017
- f_device_id: "",
2018
- f_is_defect: "",
2019
- f_item_name: "气量异常差值",
2020
- isshow:false,
2021
- f_item_value: null,
2022
- f_path: "",
2023
- type: "number"
2024
- }
2025
- )
2026
- console.log('this.config[\'燃气表\'][\'items\'] ---> ' + JSON.stringify(this.config['燃气表']['items']))
2027
- }
2028
- }
2029
- })
2030
- }else if(this.devices[de].device == "燃气表"){
2031
- console.log("没有this.item.f_plan_meters[i].f_collection_type")
2032
- this.data['device' + this.devices[de].n].forEach(device => {
2033
- console.log('device ===> ' + JSON.stringify(device))
2034
- if (!this.data.f_collection_type) {
2035
- this.data.f_collection_type = this.item.f_plan_meters[i].f_collection_type
2036
- delete this.config['燃气表']['items']['累购金额']
2037
- delete this.config['燃气表']['items']['已用金额']
2038
- delete this.config['燃气表']['items']['剩余金额']
2039
- delete this.config['燃气表']['items']['金额异常差值']
2040
- device.f_items.push(
2041
- {
2042
- f_defect_level: null,
2043
- f_device_id: "",
2044
- f_is_defect: "",
2045
- f_item_name: "初始表底",
2046
- isshow: true,
2047
- f_item_value: this.item.f_plan_meters[i].f_initial_base,
2048
- f_path: "",
2049
- type: "number"
2050
- },
2051
- {
2052
- f_defect_level: null,
2053
- f_device_id: "",
2054
- f_is_defect: "",
2055
- f_item_name: "累购气量",
2056
- f_item_value: this.item.f_plan_meters[i].f_total_gas,
2057
- f_path: "",
2058
- type: "number"
2059
- },
2060
- {
2061
- f_defect_level: null,
2062
- f_device_id: "",
2063
- f_is_defect: "",
2064
- f_item_name: "已用气量",
2065
- f_item_value: this.item.f_plan_meters[i].f_meter_base,
2066
- f_path: "",
2067
- type: "number"
2068
- },
2069
- {
2070
- f_defect_level: null,
2071
- f_device_id: "",
2072
- f_is_defect: "",
2073
- f_item_name: "剩余气量",
2074
- f_item_value: '',
2075
- f_path: "",
2076
- type: "number"
2077
- },
2078
- {
2079
- f_defect_level: null,
2080
- f_device_id: "",
2081
- f_is_defect: "",
2082
- f_item_name: "气量异常差值",
2083
- isshow:false,
2084
- f_item_value: null,
2085
- f_path: "",
2086
- type: "number"
2087
- }
2088
- )
2089
- console.log('this.config[\'燃气表\'][\'items\'] ---> ' + JSON.stringify(this.config['燃气表']['items']))
2090
- }
2091
- })
2092
- }
2093
- }
2094
- }
2095
- //工商户安检设备添加值
2096
- if(this.devices[de].device == "燃气具检查"){
2097
- console.log("this.data['device' + this.devices[de].n]"+JSON.stringify(this.data['device' + this.devices[de].n]))
2098
- console.log("this.devices[de]"+JSON.stringify(this.devices[de]))
2099
- this.data['device' + this.devices[de].n].forEach((device)=>{
2100
- for (let i=0;i<this.deviceinfo.data.length;i++){
2101
- device.f_items.push(
2102
- {
2103
- f_defect_level: null,
2104
- f_device_id: "",
2105
- f_is_defect: "",
2106
- f_item_name: this.deviceinfo.data[i].f_devices_model+'数量',
2107
- isshow:false,
2108
- f_item_value: this.deviceinfo.data[i].f_devices_num,
2109
- f_path: "",
2110
- type: "string"
2111
- },
2112
- {
2113
- f_defect_level: null,
2114
- f_device_id: "",
2115
- f_is_defect: "",
2116
- f_item_name: this.deviceinfo.data[i].f_devices_model+'品牌',
2117
- isshow:false,
2118
- f_item_value: this.deviceinfo.data[i].f_brand,
2119
- f_path: "",
2120
- type: "string"
2121
- }
2122
- )
2123
- }
2124
- })
2125
- console.log("this.data['device' + this.devices[de].n]"+JSON.stringify(this.data['device' + this.devices[de].n]))
2126
- }
2127
- }
2128
- }
2129
- var pardate = {
2130
- _this:this,
2131
- tittle:'安检详情',
2132
- safe:true
2133
- }
2134
- // this.$dispatch('gotoson',pardate)
2135
- console.log('页面跳转')
2136
- this.$goto('safecheck-userinfo', {userinfo:this.data}, 'repair')
2137
- }
2138
- },
2139
- watch: {
2140
- 'row' () {
2141
- console.log('row changed')
2142
- this.copy()
2143
- }
2144
- },
2145
- async ready () {
2146
- await this.isoverDate()
2147
- if(this.item.f_user_type == '非民用'){
2148
- this.deviceinfo=await new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`,{
2149
- data:{
2150
- items:" de.* ",
2151
- tablename:"t_devices de join t_userfiles uf on uf.f_userfiles_id=de.f_userfiles_id",
2152
- condition:`de.f_state='有效' and uf.f_userinfo_id=${this.item.f_userinfoid}`,
2153
- orderitem:"de.id"
2154
- }
2155
- },{resolveMsg: null, rejectMsg: null})
2156
- }
2157
- this.putDevices()
2158
- //如果已检,则提取安检单
2159
- if (this.item.f_state != '未检') {
2160
- if (this.role == 'inspect' || this.role == 'androidview') {
2161
- HostApp.__callback__ = this.loaded
2162
- HostApp.__this__ = this
2163
- let that = this
2164
- let value = {}
2165
- console.log('this.item.f_no_checkplan',this.item.f_no_checkplan)
2166
- if (this.role == 'inspect') {
2167
- console.log('this.item.f_no_checkplan', this.item.f_no_checkplan)
2168
- if (this.item.f_no_checkplan == '无计划安检') {
2169
- value = this.$androidUtil.path({
2170
- alias: 'getUserinfomation',
2171
- data: {condition: "f_check_item_id = '" + this.item.id + "' and f_no_checkplan = '无计划安检'"}
2172
- })
2173
- } else {
2174
- value = this.$androidUtil.bzLogic('FetchCheckPaper', {id: this.item.id})
2175
- }
2176
- } else {
2177
- value = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/path/getUserinfomation`, {data: {condition: `id = '${this.item.f_paper_id}'`}})
2178
- }
2179
- Util.replaceFalse(value)
2180
- console.log("value:" + JSON.stringify(value))
2181
- if (value.data.length != 0) {
2182
- that.$set('data', value.data[0])
2183
- console.log("this.data.f_collection_type:" + JSON.stringify(this.data.f_collection_type))
2184
- if (this.item.f_plan_meters[0].f_meter_type=='机表' || this.data.f_collection_type == '按气量') {
2185
- delete this.config['燃气表']['items']['累购金额']
2186
- delete this.config['燃气表']['items']['已用金额']
2187
- delete this.config['燃气表']['items']['剩余金额']
2188
- delete this.config['燃气表']['items']['金额异常差值']
2189
- } else if (this.data.f_collection_type == '按金额') {
2190
- delete this.config['燃气表']['items']['累购气量']
2191
- delete this.config['燃气表']['items']['已用气量']
2192
- delete this.config['燃气表']['items']['剩余气量']
2193
- delete this.config['燃气表']['items']['气量异常差值']
2194
- }
2195
- console.log("f_devices:" + JSON.stringify(value.data[0].f_devices))
2196
- if (value.data[0].f_devices) {
2197
- for (let da in that.devices) {
2198
- that.$set('data.device' + that.devices[da].n, [])
2199
- }
2200
- value.data[0].f_devices.forEach((item) => {
2201
- console.log('回写数据=>' + JSON.stringify(item))
2202
- for (let i in item.f_items) {
2203
- // if (item.f_items[i].f_path != '' && item.f_items[i].f_path != null) {
2204
- // this.picture.push({f_path: item.f_items[i].f_path, name: item.f_items[i].f_item_name})
2205
- // }
2206
- for (let de in that.config[item.f_device_type].items) {
2207
- if (item.f_items[i].f_item_name == de) {
2208
- if (that.config[item.f_device_type].items[de].type == 'selector' || that.config[item.f_device_type].items[de].type == 'checkbox') {
2209
- item.f_items[i].f_item_value = []
2210
- } else {
2211
- item.f_items[i].f_item_value = ''
2212
- }
2213
- }
2214
- }
2215
- console.log('回写数据item.f_items[i]=======>' + JSON.stringify(item.f_items[i]))
2216
- for (let j in item.f_items[i].f_item_lists) {
2217
- console.log('回写数据item.f_items.f_item_lists[j]=======>' + JSON.stringify(item.f_items[i].f_item_lists[j]))
2218
- if (item.f_items[i].f_item_value instanceof Array) {
2219
- item.f_items[i].f_item_value.push(item.f_items[i].f_item_lists[j].f_item_value)
2220
- } else {
2221
- item.f_items[i].f_item_value = item.f_items[i].f_item_lists[j].f_item_value
2222
- }
2223
-
2224
- }
2225
- }
2226
- for (let de in that.devices) {
2227
- if (that.devices[de].device == item.f_device_type) {
2228
- that.data['device' + that.devices[de].n].push({
2229
- f_device_type: item.f_device_type,
2230
- f_items: item.f_items
2231
- })
2232
- console.log("device:" + JSON.stringify(that.data['device' + that.devices[de].n]))
2233
- }
2234
- }
2235
- })
2236
- if (this.role == 'androidview') {
2237
- Util.androidRatifyPics(that.data, this.$androidUtil.getProxyUrl())
2238
- Util.androidRatifyPics(that.picture, this.$androidUtil.getProxyUrl())
2239
- Util.booleanFilter(that.data)
2240
- }
2241
- console.log('回写数据完成后'+JSON.stringify(that.data))
2242
- }
2243
- } else {
2244
- console.log("该安检单可能已不在本地!")
2245
- this.init()
2246
- }
2247
- console.log('页面跳转')
2248
- var pardate = {
2249
- _this:this,
2250
- tittle:'安检详情',
2251
- safe:true
2252
- }
2253
- // this.$dispatch('gotoson',pardate)getImgPath
2254
- this.$goto('safecheck-userinfo', {userinfo:this.data}, 'repair')
2255
- } else {
2256
- let that = this
2257
- let id
2258
- if (this.role == 'view') {
2259
- id = this.item.id
2260
- }
2261
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/path/getUserinfomation`, {data:{condition:`id = '${id}'`}}).then((respanse)=> {
2262
- if (respanse.data.length != 0) {
2263
- that.data = Object.assign(that.data,respanse.data[0])
2264
- if(respanse.data[0].f_devices) {
2265
- for (let da in that.devices) {
2266
- that.$set('data.device' + that.devices[da].n, [])
2267
- }
2268
- respanse.data[0].f_devices.forEach((item) => {
2269
- for (let de in that.devices) {
2270
- if (that.devices[de].device == item.f_device_type) {
2271
- that.data['device' + that.devices[de].n].push({
2272
- f_device_type: item.f_device_type,
2273
- f_items: item.f_items
2274
- })
2275
- }
2276
- }
2277
- })
2278
- }
2279
- Util.replaceFalse(that.data)
2280
- Util.booleanFilter(that.data)
2281
- if(this.role == 'view'){
2282
- Util.ratifyPics(that.data)
2283
- }else{
2284
- Util.androidRatifyPics(that.data,this.$androidUtil.getProxyUrl())
2285
- }
2286
- console.log("that.data:", that.data)
2287
- } else {
2288
- alert("该安检单可能已不在本地!")
2289
- this.init()
2290
- }
2291
- var pardate = {
2292
- _this:this,
2293
- tittle:'安检详情',
2294
- safe:true
2295
- }
2296
- // this.$dispatch('gotoson',pardate)
2297
- this.$goto('safecheck-userinfo', {userinfo:this.data}, 'paper-router')
2298
- }
2299
- ).catch(
2300
- (respanse) => {
2301
- alert('查找安检单失败')
2302
- })
2303
- }
2304
- }else{
2305
- this.init()
2306
- }
2307
- // tbs合并数组
2308
- // if( this.model.serviceacitivity[0].servicerepair.length > 0){
2309
- // for(let i = 0;i < this.model.serviceacitivity[0].servicerepair.length;i++ ){
2310
- //
2311
- // }
2312
- // }
2313
- },
2314
- components: {
2315
- // 'door-service': DoorService,
2316
- // 'repair-info': RepairInfo,
2317
- // 'repair-user-info': RepairUserInfo,
2318
- // 'outlay': Outlay,
2319
- // 'fault-all': FaultAll,
2320
- // 'repair-details':RepairDetails
2321
- // 'pipeline': Pipeline,
2322
- // 'device-service': DeviceService,
2323
- // 'trouble-removal': TroubleRemoval,
2324
- // 'cooking-utensils': CookingUtensils,
2325
- // 'repair-matter-info': RepairMatterInfo,
2326
- // 'first-gas-check': FirstGasCheck,
2327
- // 'tel-change-matter': TelChangeMatter/
2328
- },
2329
- events: {
2330
- 'tijiao': function () {
2331
- // 事件回调内的 `this` 自动绑定到注册它的实例上
2332
- this.confirm()
2333
- }
2334
- }
2335
- }
2336
- </script>
2337
- <style lang="less">
2338
- @import "../../../src/bootstrap/less/variables.less";
2339
- .noclickbut {
2340
- pointer-events: none;
2341
- }
2342
- .tab-befor-img (@url) {
2343
- content: '';
2344
- background-image: url("@{url}");
2345
- background-size: 20px;
2346
- display: inline-block;
2347
- margin-right: 8px;
2348
- margin-top: 0.3em;
2349
- height: 1.3em;
2350
- width: 1.3em;
2351
- vertical-align: -35%;
2352
- }
2353
-
2354
- @media screen and (min-width: 768px) {
2355
- .android-repair-order > div > ul a {
2356
- font-size: @font-size-h2;
2357
- margin: 0.3em 0;
2358
- }
2359
- }
2360
- .repair-details-class{
2361
- &::before {
2362
- .tab-befor-img("../../assets/huneiweixiu1.png");
2363
- }
2364
- }
2365
- .repair-info-class {
2366
- &::before {
2367
- .tab-befor-img("../../assets/baoxiuxinxi1.png");
2368
- }
2369
- }
2370
- .repair-user-info-class {
2371
- &::before {
2372
- .tab-befor-img("../../assets/jibenxinxi1.png")
2373
- }
2374
- }
2375
-
2376
- .door-service-class {
2377
- &::before {
2378
- .tab-befor-img("../../assets/huneiweixiu1.png")
2379
- }
2380
- }
2381
-
2382
- .pipeline-class {
2383
- &::before {
2384
- .tab-befor-img("../../assets/guandao1.png")
2385
- }
2386
- }
2387
-
2388
- .device-service-class {
2389
- &::before {
2390
- .tab-befor-img("../../assets/shebeiweixiu1.png")
2391
- }
2392
- }
2393
-
2394
- .trouble-removal-class {
2395
- &::before {
2396
- .tab-befor-img("../../assets/shiguchuli.png")
2397
- }
2398
- }
2399
-
2400
- .cooking-utensils-class {
2401
- &::before {
2402
- .tab-befor-img("../../assets/zaoju1.png")
2403
- }
2404
- }
2405
-
2406
- .outlay-class {
2407
- &::before {
2408
- .tab-befor-img("../../assets/feiyong1.png")
2409
- }
2410
- }
2411
-
2412
- .fault-all-class {
2413
- &::before {
2414
- .tab-befor-img("../../assets/guzhanghuizong1.png")
2415
- }
2416
- }
2417
- .photo-write-class {
2418
- &::before {
2419
- .tab-befor-img("../../assets/zaoju.png")
2420
- }
2421
- }
2422
- .delay-apply-class {
2423
- &::before {
2424
- .tab-befor-img("../../assets/yonghubaoxiu.png")
2425
- }
2426
- }
2427
-
2428
- .repair-back-class {
2429
- &::before {
2430
- .tab-befor-img("../../assets/fanhui.png")
2431
- }
2432
- }
2433
- .butt2 {
2434
- display: inline;
2435
- float: right;
2436
- width: 10px;
2437
- text-align: center;
2438
- align-items:center;
2439
- position: absolute;
2440
- top:50%;
2441
-
2442
- left:90%;
2443
- transform: translate(-50%,-50%);
2444
- }
2445
- .linesty{
2446
- display: inline-block;
2447
- height:1px;
2448
- width:100%;
2449
- background:#d0d0d0;
2450
- overflow:hidden;
2451
- vertical-align: middle;
2452
- }
2453
- .spanboder{
2454
- border-bottom:2px solid #499edf;
2455
- padding-bottom: 8px
2456
- }
2457
- .app-botton {
2458
- position:fixed;
2459
- background: #87b2dd;
2460
- right:8px;
2461
- color: #FFF;
2462
- padding: 8px;
2463
- text-align: center;
2464
- font-size: 1.2em;
2465
- z-index: 10;
2466
- opacity:0.5;
2467
- bottom: 50px;
2468
- margin-top: -10px;
2469
- height: 40px;
2470
- }
2471
- .android-repair-order > div > ul a {
2472
- font-size: 12px;
2473
- color: #333333;
2474
- padding: 13px 16px;
2475
- }
2476
- </style>
1
+ <template>
2
+ <!--<div class="app-botton" @click="back()">-->
3
+ <!--返回<span class="glyphicon glyphicon-menu-right"></span>-->
4
+ <!--</div>-->
5
+ <div class="no-close row android-repair-order" style="background-color: #f9f9f9">
6
+ <div class="col-sm-12 col-xs-12" >
7
+ <ul class="nav nav-tabs" style="background:#ffffff;overflow-y: hidden">
8
+ <li v-for="row in tabs" @click="tabSelect(row,$index)" :class="{active1: row.complete === componentName}"
9
+ v-if="$index < number+1 && $index < faultshow.number" >
10
+ <a href="#" style="background-color: #ffffff;color: #666666;font-size: 16px;font-family:SimSun" :class="row.class">
11
+ <span class="spanboder">{{row.header}}</span>
12
+ <img class="butt2" :src="imgback(row.complete === componentName,row.header === header)"></a>
13
+ <p></p>
14
+ </li>
15
+ <div class="col-sm-12 col-xs-12 repair-bg" v-show="routeShow">
16
+ <route name='repair' :reuse="false"></route>
17
+ </div>
18
+ <li v-for="row in tabs" @click="tabSelect(row,$index)" :class="{active1: row.complete === componentName}"
19
+ v-if="$index > number && $index < faultshow.number ">
20
+ <a href="#" style="background-color: #ffffff;color: #666666;font-size: 16px;font-family:SimSun" :class="row.class">
21
+ <span class="spanboder">{{row.header}}</span>
22
+ <img class="butt2" :src="imgback(row.complete === componentName,row.header === header)"></a>
23
+ <p></p>
24
+ </li>
25
+ <div class="col-sm-12 col-xs-12 repair-bg" v-if="actionEnabled ">
26
+ <div class="auto select-overspread form-horizontal repair-bg " style="padding-bottom:5px;">
27
+ <div class="bq-parent">
28
+ <blockquote class="blockquote">
29
+ <p>安检上传</p>
30
+ </blockquote>
31
+ </div>
32
+ <div class="panel panel-default auto repair-info-content">
33
+ <div class="panel-body ">
34
+ <div id="savebut" class="row auto">
35
+ <!--<div class="col-xs-12 col-sm-12 col-md-12" :style="timeSet(this.isneedDate)?'':'display:none'">-->
36
+ <!--<label>请输入超期原因:</label><br/>-->
37
+ <!--<textarea style="width: 100%;" v-model=""></textarea>-->
38
+ <!--</div>-->
39
+ <div class="col-xs-3 col-sm-3 col-md-3">
40
+ <button class="col-sm-2 btn btn-primary" @click="save('temp')" >
41
+ 临时保存
42
+ </button>
43
+ </div>
44
+ <div class="col-xs-3 col-sm-3 col-md-3">
45
+ <button class="col-sm-2 btn btn-primary" @click="save('finish')" >
46
+ 本地缓存
47
+ </button>
48
+ </div>
49
+ <div class="col-xs-3 col-sm-3 col-md-3">
50
+ <button type="button" name="button" class="col-sm-2 btn btn-primary" @click="uploadCheckPaper" :disabled="isdisable">
51
+ 上传
52
+ </button>
53
+ </div>
54
+ <div class="col-xs-3 col-sm-3 col-md-3">
55
+ <button type="button" name="button" class="col-sm-2 btn btn-primary" @click="showRepair" :disabled="isdisable">
56
+ 转维修
57
+ </button>
58
+ </div>
59
+
60
+ </div>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </ul>
66
+ </div>
67
+ <modal :show.sync="showModal2" :backdrop="false">
68
+ <div slot="modal-header" class="modal-header">
69
+ <h4 class="modal-title">
70
+ 转维修
71
+ </h4>
72
+ </div>
73
+ <div slot="modal-body" class="modal-body">
74
+ <!-- <div class="row" style="margin-top: 6px">-->
75
+ <!-- <label style="color: red;">注:当前页面无法取消对用户的限制购气</label>-->
76
+ <!-- </div>-->
77
+ <div class="row" style="margin-top: 6px">
78
+ <textarea id="el_ca_tx" v-model.trim="cremarks" style="border-radius:4px;width: 100%;" placeholder="请输入转维修备注" >
79
+ </textarea>
80
+ </div>
81
+ </div>
82
+ <div slot="modal-footer" class="modal-footer">
83
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="ToRepair">转维修</button>
84
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="cancelRepair">取消</button>
85
+ </div>
86
+ </modal>
87
+ </div>
88
+ </template>
89
+
90
+ <script>
91
+ // 户内维修
92
+ import Vue from 'vue'
93
+ import * as Util from '../Util'
94
+ import $ from 'jquery'
95
+ // import DoorService from './DoorService'
96
+ // import Pipeline from './Pipeline'
97
+ // import DeviceService from './DeviceService'
98
+ // import TroubleRemoval from './TroubleRemoval'
99
+ // import FirstGasCheck from './FirstGasCheck'
100
+ // import RepairMatterInfo from './RepairMatterInfo'
101
+ // import TelChangeMatter from './TelChangeMatter'
102
+ import { HttpResetClass } from 'vue-client'
103
+ import co from 'co'
104
+ let loadParamGem = async function (self) {
105
+ await self.$LoadParams.loadParam()
106
+ }
107
+
108
+ export default {
109
+ title: '安检单',
110
+ props: ['f_plan_id', 'item', 'role'],
111
+ // props: ['f_plan_id', 'role'],
112
+ data() {
113
+ return {
114
+ //测试数据
115
+ // f_plan_id:'',
116
+ // role:'inspect',
117
+ // item:{"f_approved_time":null,"f_user_family_remarks":null,"f_street":"测试街道","f_repair_approved_time":null,
118
+ // "f_user_type":null,"f_approved_by":null,"f_card_id":null,"f_remark":null,"f_building":"1","f_batch_number":null,
119
+ // "f_idnumber":null,"f_state":"未检","id":"0EFE0EE2-B155-46F9-8DE0-38C022664A4D","f_complete":null,"f_check_state":null,"f_last_check_state":"拒检",
120
+ // "f_user_inhome_time":null,"f_residential_area":"测试小区1","version":1,"f_processid":null,"f_last_check_result":"{\"result\":\"正常\",\"data\":[]}",
121
+ // "f_area":null,"f_usegas":null,"f_user_phone":"16566546548","f_slice_area":"营业大区","f_approved":"未审核","f_upload_state":"未传","f_user_check_time":null,
122
+ // "f_unit":"1","f_user_spare_phone":null,"f_last_check_date":null,"f_userproperties":null,"f_userfile_id":null,"f_prearranged_date":null,"f_filialeid":"453",
123
+ // "f_branch":null,"f_orgstr":null,"f_plan_year":2020,"f_orgid":null,"f_approval_notified":null,"f_plan_month":4,"f_approved_note":null,"f_filialeids":null,
124
+ // "f_floor":"1","f_flag":null,"f_repair_approved_note":null,"f_userinfo_code":"00000002","f_create_time":"2020-05-10 18:56:03","f_meter_no":"","f_station":null,
125
+ // "f_repair_approved":"未审核","f_no_checkplan":"有计划安检","f_plan_name":"关于","f_repair_approved_by":null,"f_room":"1","f_office":null,"f_comments":null,
126
+ // "f_address":"兰山街道泰盛小区1栋1单元1层1室","id_back":null,"f_userinfoid":"2","f_subcompany":null,"f_addressid":null,"f_user_phone2":null,
127
+ // "f_user_equipment_remarks":null,"f_plan_id":"0819ea6707ad4d9dad217c06a87f4227","f_user_name":"用户二",
128
+ // "f_plan_meters":[{"f_weizhi":null,"f_flow_direction":"右表","f_metertitles":"","f_prior_reading":0,"f_meter_no":"2119035714","f_collection_type":"按金额","f_aliasname":"先锋系统结算物联网表","f_meter_type":"物联网表","version":3,"f_maker":null,"f_metergasnums":0,"f_total_fee":100,"f_diaphgram_size":"G2.5","f_total_gas":0,"id":18663},{"f_weizhi":null,"f_flow_direction":"右表","f_metertitles":"","f_prior_reading":0,"f_meter_no":"2118999901","f_collection_type":"按金额","f_aliasname":"先锋系统结算物联网表","f_meter_type":"物联网表","version":1,"f_maker":null,"f_metergasnums":0,"f_total_fee":0,"f_diaphgram_size":"G2.5","f_total_gas":0,"id":18663}]
129
+ // },
130
+
131
+ data: {
132
+ f_devices: [],
133
+ f_defect_content:''
134
+ },
135
+ showModal2:false,
136
+ deviceinfo:{},
137
+ cremarks:"",
138
+ isUpload:false,
139
+ onlySave:true, //判断保存还是保存并上传
140
+ livedispose:'',
141
+ startClick:false, //开始安检按钮是否可点击
142
+ isStrat: false, //是否开始安检
143
+ checkResult:{},//查询结果
144
+ newcheckResult:{},
145
+ timer: null,
146
+ showModal: false,
147
+ pic_to_be_viewed: '',
148
+ showBack:true,
149
+ devices: [],
150
+ isdisable:false,
151
+ f_devices : [],
152
+ isToRepair:false,
153
+ clickBack:true, //是否点击返回按钮
154
+ isSafeCheckToRepair:false,//是否转维修
155
+ Url:this.$androidUtil.getProxyUrl(),
156
+ detail:{},
157
+ defectDevice:{},
158
+ user:{},
159
+ model: { //转维修数据
160
+ // 一次派单
161
+ serviceacitivity: [{
162
+ f_service_acitivity_type: '派单'
163
+ }],
164
+ f_source:'安检',
165
+ f_service_id: '',
166
+ f_contact_phone: '',
167
+ f_meetunit: '',
168
+ f_phone: '',
169
+ f_user_name: '',
170
+ f_address: '',
171
+ f_repair_date: Util.toStandardTimeString(),
172
+ f_card_id: '',
173
+ // f_department: '', 站点选择
174
+ f_reciever:'',
175
+ f_remarks: '',
176
+ f_user_type: '',
177
+ f_area: '',
178
+ f_unit_name:'',
179
+ f_street: '',
180
+ f_residential_area: '',
181
+ f_building: '',
182
+ f_unit: '',
183
+ f_floor: '',
184
+ f_room: '',
185
+ aState: null,
186
+ f_repairtype: '',
187
+ f_repairitems:{},
188
+ },
189
+ repairitems:[],
190
+ meading:'转站点',
191
+ config: {
192
+ "燃气表":{
193
+ "checkmust":true,
194
+ "index":1,
195
+ "items":{
196
+ //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
197
+ "基表编号":{"index":1,"type":"string","readonly":false,"checkmust":true},
198
+ "气表型号":{"index":2,"type":"string","readonly":true},
199
+ "气表品牌":{"index":3,"type":"string","readonly":true},
200
+ "进气方向":{"index":4,"type":"selector",
201
+ "multiple": false,
202
+ "checkmust":true,
203
+ "options": [
204
+ {
205
+ "data": "左表",
206
+ "isdefect": false,
207
+ "isdefault": false
208
+ },
209
+ {
210
+ "data": "右表",
211
+ "isdefect": false,
212
+ "isdefault": false
213
+ }
214
+ ]
215
+ },
216
+ "初始表底":{"index":5,"type":"number","isshow":false,"readonly":true},
217
+ "上期表读数":{"index":6,"type":"number","readonly":true,"isshow":true},
218
+ "本期表读数":{"index":7,"type":"number","checkmust":true},
219
+ "累购气量":{"index":8,"type":"number","readonly":true},
220
+ "累购金额":{"index":8,"type":"number","readonly":true},
221
+ "已用气量":{"index":9,"type":"number","checkmust": false},//基表数
222
+ "已用金额":{"index":9,"type":"number","checkmust": false},
223
+ "剩余气量":{"index":10,"type":"number","checkmust": false},//累购-已用
224
+ //显示屏数 --实际剩余气量
225
+ "剩余金额":{"index":10,"type":"number","checkmust": false},
226
+ "气量异常差值":{"index":11,"type":"number","readonly": true,"isshow":false},
227
+ "金额异常差值":{"index":11,"type":"number","readonly": true,"isshow":false}
228
+ }
229
+ // 注意,配置项的index必须与上面的固定配置保持'顺序'
230
+ },
231
+ // "燃气表2":{
232
+ // "checkmust":true,
233
+ // "index":2,src
234
+ // "items":{
235
+ // "燃气表照片":{"index":1,"type":"picture"},
236
+ // "表品牌":{"index":2,"type":"string","readonly":true},
237
+ // "表号":{"index":3,"type":"string","readonly":true},
238
+ // "表封号":{"index":4,"type":"number","readonly":true},
239
+ // "表型号":{"index":5,"type":"string","readonly":true},
240
+ // "位置":{"index":6,"type":"string","readonly":true},
241
+ // "表底数":{"index":7,"type":"number","readonly":true},
242
+ // "累购气量":{"index":8,"type":"number","readonly":true},
243
+ // "累购金额":{"index":8,"type":"number","readonly":true}
244
+ // }
245
+ // }
246
+ },
247
+ // 维修项
248
+ isneedDate:'',
249
+ routeShow:true,
250
+ number:0,
251
+ shupingshow:false,
252
+ pipeline: {},
253
+ details: [],
254
+ ids: '',
255
+ savevalid: {
256
+ uservalid: false,
257
+ doorvalid: true,
258
+ changetable: false
259
+ },
260
+ doordetails: {},
261
+ devicedetails: {},
262
+ cookdetails: {},
263
+ componentName: 'safecheck-userinfo',
264
+ header:'客户信息',
265
+ tabs: [
266
+
267
+ // 参数全部设置成空,在ready时,等model处理好了,再添加
268
+ {
269
+ header: '客户信息',complete:'safecheck-userinfo',class: 'repair-info-class', props: null
270
+ },
271
+ {
272
+ header: '拍照签名',complete:'paper-feedback', class: 'outlay-class', props: null
273
+ }
274
+ ],
275
+ faultshow:{
276
+ number : 8
277
+ } // 控制 故障汇总 在 菜单里显示与否,
278
+ }
279
+ },
280
+ computed: {
281
+ actionEnabled: {
282
+ get() {
283
+ return this.role == 'inspect'
284
+ }
285
+ }
286
+ },
287
+ methods: {
288
+ saveNoclick() {
289
+ // 禁用点击事件
290
+ $("#savebut").addClass("noclickbut");
291
+ console.log("进入禁用按钮事件")
292
+
293
+ // 5秒后启用点击事件
294
+ setTimeout(function(){
295
+ $("#savebut").removeClass("noclickbut");
296
+ },10000);
297
+ },
298
+ showRepair(){
299
+ this.showModal2=true
300
+ },
301
+ cancelRepair(){
302
+ this.showModal2=false
303
+ },
304
+ ToRepair(){
305
+ this.isToRepair=true
306
+ //this.data.f_repaired='未派维修单'
307
+ this.uploadCheckPaper()
308
+ },
309
+ timeSet(val){
310
+ if (!val){
311
+ return
312
+ }
313
+ let time =new Date(val).getTime()
314
+ let time2=new Date().getTime()
315
+ if (time2>time) {
316
+ return true
317
+ }
318
+ },
319
+ imgback(val,isheader){
320
+ if(val && this.routeShow && isheader){
321
+ return require('../../assets/xiangxia1.png')
322
+ }else{
323
+ return require('../../assets/xiangyou1.png')
324
+ }
325
+ },
326
+ changediv(val){
327
+ console.log(val)
328
+ return val
329
+ },
330
+ // 选择tab
331
+ tabSelect (item,number) {
332
+ this.header = item.header
333
+ console.log('item',item)
334
+ console.log('number',number)
335
+ console.log('this.routeShow',this.routeShow)
336
+ console.log('this.number',this.number)
337
+ // 处理关闭/显示 内容
338
+ if(this.number == number && !this.routeShow ){
339
+ this.routeShow = true
340
+ }else if(this.number == number && this.routeShow){
341
+ this.routeShow = false
342
+ }else if(this.number != item.complete){
343
+ this.routeShow = true
344
+ }
345
+ this.number = number
346
+ this.componentName = item.complete
347
+ console.log('跳转前this.routeShow',this.routeShow)
348
+ if(item.complete == 'safecheck-devices'){
349
+ console.log('this.data', this.data)
350
+ if(item.header != '燃气表' && this.data['device'+item.number].length == 0){
351
+ this.data['device' + item.number].push({})
352
+ }
353
+ console.log('length', this.data['device' + item.number])
354
+ console.log('this.data[\'device\' + item.number] ===> ' + JSON.stringify(this.data['device' + item.number]))
355
+ let idx=this.data['device' + item.number].length - 1
356
+ let itemprops = {
357
+ config:this.config,
358
+ device:this.devices[item.number-1],
359
+ idx:idx,
360
+ item:this.item,
361
+ role:'inspect'
362
+ }
363
+ console.log('tabSelect函数中赋值')
364
+ console.log(JSON.stringify(itemprops))
365
+ console.log('itemprops.device ===> ' + JSON.stringify(itemprops.device))
366
+ console.log('item.complete',item.complete)
367
+ if(this.routeShow){
368
+ this.$goto(item.complete, itemprops, 'repair')
369
+ console.log('跳转完成')
370
+ }
371
+ }else{
372
+ console.log('页面跳转==》',this.tabs[number])
373
+ if(this.routeShow){
374
+ this.$goto(item.complete, {userinfo:this.data}, 'repair')
375
+ }
376
+ }
377
+ this.shupingshow = true
378
+ },
379
+ // 给组件添加参数
380
+ getImgPath() {
381
+ for (var i = 0; i < this.model.serviceacitivity[0].imgs.length; i++) {
382
+ this.ids += this.model.serviceacitivity[0].imgs[i].imgid + ','
383
+ }
384
+ this.ids = this.ids.substring(0, this.ids.length - 1)
385
+ if(this.ids){
386
+ this.getImgGen();
387
+ }
388
+ },
389
+ getImgGen(){
390
+ let http = new HttpResetClass()
391
+ http.load('POST','rs/sql/tel_singleTable_OrderBy', {data: {
392
+ items: '*',
393
+ tablename: 't_files',
394
+ condition: `id in (${this.ids})`,
395
+ orderitem: 'id'
396
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
397
+ for (let i = 0; i < res.data.length; i++) {
398
+ for (let j = 0; j < this.model.serviceacitivity[0].imgs.length; j++) {
399
+ console.log(res.data[i].id.toString())
400
+ console.log(this.model.serviceacitivity[0].imgs[j].imgid)
401
+ if (res.data[i].id.toString() === this.model.serviceacitivity[0].imgs[j].imgid) {
402
+ this.model.serviceacitivity[0].imgs[j] = Object.assign({}, res.data[i], this.model.serviceacitivity[0].imgs[j])
403
+ }
404
+ }
405
+
406
+ }
407
+ })
408
+ },
409
+
410
+ sortDetails(){
411
+ for (let i = 0; i < this.details.length; i++) {
412
+ if (this.details[i].details.length) {
413
+ for (let j = 0; j < this.details[i].details.length; j++) {
414
+ if (this.details[i].details[j].f_type === 'a') {
415
+ this.doordetails = {details: this.details[i].details}
416
+ break
417
+ }
418
+ if (this.details[i].details[j].f_type === 'b') {
419
+ this.devicedetails = {details: this.details[i].details}
420
+ break
421
+ }
422
+ if (this.details[i].details[j].f_type === 'c') {
423
+ this.cookdetails = {details: this.details[i].details}
424
+ break
425
+ }
426
+ }
427
+ }
428
+ }
429
+ },
430
+ // 复制数据
431
+ back () {
432
+ let _this = this
433
+ if(this.issee){
434
+ _this.$back()
435
+ return
436
+ }
437
+ this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
438
+ if (res === 'confirm') {
439
+ _this.$back()
440
+ }
441
+ })
442
+ },
443
+ confirm(){
444
+ this.$dispatch('confirm')
445
+ },
446
+ tick() {
447
+ this.timer = null
448
+ this.data.f_offsite_time = Util.toStandardTimeString()
449
+ this.timer = window.setTimeout(this.tick, 1000)
450
+ },
451
+ getRepairState() {
452
+ let repaired = true
453
+ this.data.f_defects.forEach((defect) => {
454
+ repaired = repaired & (defect.f_ratification == '已处理')
455
+ })
456
+ return repaired
457
+ },
458
+ verifyRepairDefects() {
459
+ this.data.f_repair_date = Util.toStandardTimeString()
460
+ this.data.f_repaired = this.getRepairState() ? '已修' : '在修'
461
+ },
462
+ errorVerify() {
463
+ let hasError = this.verifyState()
464
+ if(hasError)
465
+ return hasError
466
+
467
+ if(this.data.f_entry_status != '入户')
468
+ return null
469
+ /*hasError = this.verifyUser()
470
+ if(hasError)
471
+ return hasError*/
472
+ hasError = this.verifyDevices()
473
+ if(hasError)
474
+ return hasError
475
+ hasError = this.verifyFeedback()
476
+ if(hasError)
477
+ return hasError
478
+ },
479
+ verifyState() {
480
+ if(Vue.android && this.data.f_entry_status == '未使用天然气' && this.data.f_nongasuser_path == Vue.nopic)
481
+ return '未使用天然气则必须拍照'
482
+ if(Vue.android && this.data.f_entry_status == '到访不遇' && this.data.f_noanswer_path == Vue.nopic)
483
+ return '到访不遇必须拍照'
484
+ },
485
+ verifyUser() {
486
+ let prefix = '用户基本信息:'
487
+ if(Util.required(this.data.f_user_name))
488
+ return prefix + '用户名必须输入'
489
+ if(Util.required(this.data.f_user_phone))
490
+ return prefix + '用户电话必须输入'
491
+ // if(Util.required(this.data.f_residential_area))
492
+ // return prefix + '小区名称必须输入'
493
+ if(Util.required(this.data.f_address))
494
+ return prefix + '地址必须输入'
495
+ },
496
+ verifyDevices() {
497
+ for (let dev in this.config) {
498
+ if (this.config[dev].checkmust == true) {
499
+ let error = true
500
+ for(let device in this.data) {
501
+ if (device.startsWith("device")) {
502
+ for (let item in this.data[device]) {
503
+ if (this.data[device].length != 0 && this.data[device][item].f_device_type == dev) {
504
+ error = false
505
+ }
506
+ }
507
+ }
508
+ }
509
+ if (error) {
510
+ return "请检查" + dev
511
+ }
512
+ }
513
+ }
514
+
515
+ for (let dev in this.config) {
516
+ for(let device in this.data) {
517
+ if (device.startsWith("device")) {
518
+ for (let item in this.data[device]) {
519
+ //检查每一条安检结果
520
+ if (this.data[device].length != 0 && this.data[device][item].f_device_type == dev) {
521
+ for (let i in this.data[device][item].f_items) {
522
+ for (let it in this.config[dev].items) {
523
+ if (it == this.data[device][item].f_items[i].f_item_name) {
524
+ if (this.config[dev].items[it].checkmust == true && !this.data[device][item].f_items[i].f_item_value && parseFloat(this.data[device][item].f_items[i].f_item_value).toString() == "NaN") {
525
+ return dev + (this.data[device].indexOf(this.data[device][item]) + 1) + this.data[device][item].f_items[i].f_item_name + "未检查"
526
+ }
527
+ }
528
+ }
529
+ //检查安检下拉结果
530
+ if (this.data[device][item].f_items[i].type == 'selector' || this.data[device][item].f_items[i].type == 'radio') {
531
+ if (this.data[device][item].f_items[i].f_is_defect == true && this.data[device][item].f_items[i].f_path == Vue.nopic) {
532
+ return dev + (this.data[device].indexOf(this.data[device][item]) + 1) + this.data[device][item].f_items[i].f_item_name + this.data[device][item].f_items[i].f_item_value + "选中必须拍照"
533
+ }
534
+ }
535
+ }
536
+ }
537
+ }
538
+ }
539
+ }
540
+ }
541
+ },
542
+
543
+
544
+ verifyFeedback() {
545
+ let prefix = '拍照签名:'
546
+ console.log('this.data.f_overall_imgs==>'+JSON.stringify(this.data.f_overall_imgs))
547
+ if(Vue.android && (!this.data.f_overall_imgs || this.data.f_overall_imgs.length == 0) && this.data.f_entry_status == '入户')
548
+ return prefix + '必须有安检总体照片'
549
+ /*if(Vue.android && (!this.data.f_sign_path || this.data.f_sign_path.length == 0) && this.data.f_entry_status == '入户')
550
+ return prefix + '必须有用户签名'*/
551
+ if(Vue.android && this.data.f_defect_notified && this.data.f_notified_path == Vue.nopic)
552
+ return prefix + '下发安检通知书则必须给通知书拍照'
553
+ /*if(!this.data.f_client_evaluation && this.data.f_entry_status == '入户')
554
+ return prefix + '请选择服务评价'*/
555
+ },
556
+
557
+ getAllDefect() {
558
+ let checkResults = {
559
+ result: '正常',
560
+ data: []
561
+ }
562
+ let value = ''
563
+ let codata = JSON.parse(JSON.stringify(this.data))
564
+ console.log('config =====> ' + JSON.stringify(this.config))
565
+ console.log('codata =====> ' + JSON.stringify(codata))
566
+ codata.f_devices = []
567
+ this.f_devices = []
568
+ for (let device in codata) {
569
+ let f_device_type
570
+ if (device.startsWith("device")) {
571
+ console.log('codata[device] =====> ' + JSON.stringify(codata[device]))
572
+ let hasOther = ''
573
+ let otherValue = null
574
+ for (let item in codata[device]) {
575
+ codata[device][item].f_create_time = Util.toStandardTimeString()
576
+ // if (codata[device].length > 1) {
577
+ // let j = Number.parseInt(item) + 1
578
+ // f_device_type = `${codata[device][item].f_device_type}${j}`
579
+ // } else {
580
+ // f_device_type = codata[device][item].f_device_type
581
+ // }
582
+ // console.log('codata[device][item]=>',codata[device][item])
583
+ for (let i = 0; i < codata[device][item].f_items.length ; i++) {
584
+ console.log('i' + i)
585
+ if(i == 'sum'){
586
+ continue
587
+ }
588
+ console.log('codata[device][item].f_items' + JSON.stringify(codata[device][item].f_items))
589
+ var items = codata[device][item].f_items[i]
590
+ items.f_create_time = Util.toStandardTimeString()
591
+ console.log('之前items' + JSON.stringify(items))
592
+ items.f_item_lists = []
593
+ console.log('之后items' + JSON.stringify(items))
594
+ // console.log('items' + JSON.stringify(items))
595
+ // console.log(`type => ${JSON.stringify(codata[device][item].f_device_type)} name => ${JSON.stringify(items.f_item_name)} value => ${JSON.stringify(items.f_item_value)}`)
596
+ // console.log(`f_is_defect => ${this.config[codata[device][item]
597
+ // .f_device_type]
598
+ // .items[items.f_item_name]
599
+ // .options
600
+ // .find((option)=>option.data === items.f_item_value)
601
+ // .map((option)=>option.f_is_defect)}`)
602
+ // if (items.f_is_defect && (items.f_is_defect == true || items.f_is_defect == 'true')) {
603
+ // console.log('进入有隐患')
604
+ // checkResults.result = '有隐患'
605
+ // console.log('有隐患items.f_item_name==》' + JSON.stringify(items.f_item_name))
606
+ // console.log('有隐患items.f_item_value==》' + JSON.stringify(items.f_item_value))
607
+ // // this.$set('checkResult.' + items.f_item_name, items.f_item_value)
608
+ // this.checkResult[items.f_item_name] = items.f_item_value
609
+ // console.log('有隐患checkResult==》' + JSON.stringify(this.checkResult))
610
+ // // this.$set('checkResultsss.' + items.f_item_name, `${f_device_type}${items.f_item_value}`)
611
+ // // console.log('有隐患checkResultsss==》' + JSON.stringify(this.checkResultsss))
612
+ // }
613
+ if (items.type == 'selector') {
614
+ items.selected = []
615
+ } else if (items.type == 'inputSelector') {
616
+ items.selected = ''
617
+ }
618
+ //遍历配置项 将所选隐患项的配置信息放入保存的数据中
619
+ let f_is_defect //是否是隐患
620
+ let f_defect_level //是否是隐患
621
+ let f_item_name = items.f_item_name
622
+ let f_item_value
623
+ let f_is_eliminate //隐患是否消除
624
+ let f_meternumber = ''
625
+ let f_user_defects = [] // 用户所有隐患
626
+ console.log('f_item_name=====>' + f_item_name)
627
+ console.log('items.type=====>' + items.type)
628
+ if (items.type == 'selector' || items.type == 'checkbox') {
629
+ for (let i in items.f_item_value) {
630
+ let configItems = this.config[codata[device][item].f_device_type].items[f_item_name]
631
+ console.log('configItems=====>' + JSON.stringify(configItems))
632
+ for (let k in configItems.options) {
633
+ console.log('configItems.options[k]==>' + JSON.stringify(configItems.options[k]))
634
+ if (items.f_item_value[i] === configItems.options[k].data) {
635
+
636
+ f_is_defect = configItems.options[k].isdefect
637
+ f_item_value = items.f_item_value[i]
638
+ f_defect_level = configItems.options[k].level
639
+
640
+ console.log('f_is_defect=====>' + f_is_defect)
641
+ console.log('f_item_value=====>' + f_item_value)
642
+ console.log('f_defect_level=====>' + f_defect_level)
643
+
644
+ if (f_is_defect) {
645
+ if (checkResults.result !== '有隐患') {
646
+ checkResults.result = '有隐患'
647
+ }
648
+ if (!this.checkResult.hasOwnProperty(f_item_name)) {
649
+ console.log(`The ${f_item_name} initialized`)
650
+ this.checkResult[f_item_name] = []
651
+ }
652
+
653
+ console.log(`The ${f_item_name} was pushed ${f_item_value}`)
654
+ this.checkResult[f_item_name].push(f_item_value)
655
+
656
+ }
657
+
658
+ let items_list = {
659
+ f_is_defect: f_is_defect,
660
+ f_item_value: f_item_value,
661
+ f_defect_level: f_defect_level,
662
+ f_is_eliminate: null,
663
+ f_create_time: Util.toStandardTimeString()
664
+ }
665
+ if (!items.f_item_lists) {
666
+ console.log('f_item_lists未定义')
667
+ items.f_item_lists = []
668
+ console.log('items_list=========>' + JSON.stringify(items_list))
669
+ if (JSON.stringify(items_list) !== '{}') {
670
+ console.log('放了')
671
+ items.f_item_lists.push(items_list)
672
+ }
673
+ } else {
674
+ console.log('items_list=========>' + JSON.stringify(items_list))
675
+ if (JSON.stringify(items_list) !== '{}') {
676
+ console.log('也放了')
677
+ items.f_item_lists.push(items_list)
678
+ }
679
+ }
680
+ }
681
+ }
682
+ }
683
+ } else {
684
+ let configItems = this.config[codata[device][item].f_device_type].items[items.f_item_name]
685
+ console.log('configItems===>' + JSON.stringify(configItems))
686
+ f_is_defect = configItems.isdefect
687
+ f_defect_level = configItems.level
688
+ f_item_value = items.f_item_value
689
+ console.log('else f_is_defect=====>' + f_is_defect)
690
+ console.log('else f_defect_level=====>' + f_defect_level)
691
+ console.log('items.f_item_value==>' + items.f_item_value)
692
+ let items_list = {
693
+ f_is_defect: f_is_defect,
694
+ f_item_value: f_item_value,
695
+ f_defect_level: f_defect_level,
696
+ f_create_time: Util.toStandardTimeString()
697
+ }
698
+ if (f_is_defect && f_item_value) {
699
+ items.f_is_defect = true
700
+ if (checkResults.result !== '有隐患') {
701
+ checkResults.result = '有隐患'
702
+ }
703
+ if (!this.checkResult.hasOwnProperty(items.f_item_name)) {
704
+ console.log(`The ${items.f_item_name} initialized`)
705
+ this.checkResult[items.f_item_name] = []
706
+ }
707
+
708
+ console.log(`The ${items.f_item_name} was pushed ${f_item_value}`)
709
+ this.checkResult[items.f_item_name].push(f_item_value)
710
+
711
+ }
712
+ console.log('items_list=========>' + JSON.stringify(items_list))
713
+ console.log('items.f_item_lists' + JSON.stringify(items.f_item_lists))
714
+ if (!items.f_item_lists) {
715
+ console.log('f_item_lists未定义')
716
+ items.f_item_lists = []
717
+ if (JSON.stringify(items_list) != '{}') {
718
+ console.log('else放了')
719
+ items.f_item_lists.push(items_list)
720
+ }
721
+ } else {
722
+ // items.f_item_lists[0].f_item_value = f_item_value
723
+ if (JSON.stringify(items_list) != '{}') {
724
+ console.log('else也放了')
725
+ console.log('放之后items_list=========>' + JSON.stringify(items_list))
726
+ console.log('放之后items.f_item_lists' + JSON.stringify(items.f_item_lists))
727
+ console.log('type=>items.f_item_lists' + typeof items.f_item_lists)
728
+ items.f_item_lists.push(items_list)
729
+ }
730
+ }
731
+ }
732
+ if (hasOther !== '' && otherValue !== null) {
733
+ console.log(`The other value was pushed.`)
734
+ this.checkResult[hasOther].push(otherValue)
735
+ hasOther = ''
736
+ otherValue = null
737
+ }
738
+ items.f_item_value = ''
739
+ }
740
+ console.log('安检结果checkResult' + JSON.stringify(this.checkResult))
741
+ this.f_devices.push(codata[device][item])
742
+ }
743
+ }
744
+ }
745
+ if (this.checkResult) {
746
+ for (let key in this.checkResult) {
747
+ // 上次安检结果数据组织
748
+ console.log('key=>' + key)
749
+ console.log('value=>' + this.checkResult[key])
750
+ let temp = {}
751
+ temp[key] = this.checkResult[key].join(',')
752
+ checkResults.data.push(temp)
753
+ // this.newcheckResult[key] = this.checkResult[key]
754
+ // checkResults.data.push(this.newcheckResult)
755
+ console.log('checkResults.data==>' + JSON.stringify(checkResults))
756
+ // this.newcheckResult = {}
757
+ }
758
+ this.checkResult = {}
759
+ }
760
+ console.log(`typeof-checkResults-->${typeof checkResults}`)
761
+ console.log('checkResults ==> ' + JSON.stringify(checkResults))
762
+ codata.f_defect_content = JSON.stringify(checkResults)
763
+ this.data.f_defect_content = JSON.stringify(checkResults)
764
+ console.log('f_defect_content' + codata.f_defect_content)
765
+ return codata
766
+ },
767
+ uploadCheckPaper(){
768
+ console.log('进入上传')
769
+ this.saveNoclick()
770
+ let errString = this.errorVerify()
771
+ this.isdisable = true
772
+ if (errString) {
773
+ console.log(errString)
774
+ console.log('Vue.android',Vue.android)
775
+ console.log('this.isUpload',this.isUpload)
776
+ if (Vue.android){
777
+ // if(this.isUpload){
778
+ // this.isUpload = false
779
+ // }
780
+ this.$showMessage(errString)
781
+ }
782
+ this.isdisable = false
783
+ return
784
+ } else {
785
+ this.$set('data.f_offsite_time', Util.toStandardTimeString())
786
+ this.$set('data.f_upload_time', Util.toStandardTimeString())
787
+ this.$set('data.f_upload_date', Util.toStandardTimeString())
788
+ console.log('赋值后',this.data)
789
+ this.data.f_complete = '已完成'
790
+ this.disableTimer()
791
+ }
792
+ if(this.item.f_user_type=='民用' && this.item.f_plan_meters[0].f_meter_type=='机表' && this.data.f_entry_status=='入户' && this.data.f_is_meterreadding=='未抄表'){
793
+ /*this.$showMessage('该用户为机表用户,未进行抄表!', ['confirm', 'cancel']).then((res) => {
794
+ if (res !== 'confirm') {
795
+ this.baseinfo.base.f_user_state = ['正常']
796
+ }
797
+ })*/
798
+ this.$showMessage("检测到当前机表用户未进行抄表,请先进行抄表再上传!")
799
+ this.isdisable = false
800
+ return
801
+ }
802
+ console.log('uploadCheckPaper-->isUpload'+this.isUpload)
803
+ this.onlySave = false
804
+ let res = this.save()
805
+ // if(res) {
806
+ // try {
807
+ // let codata = this.getAllDefect()
808
+ // //获取微信推送内容
809
+ // let WxResult = this.getWeixin(codata)
810
+ // let haslivedispose = this.$androidUtil.bzLogic('getLiveDispose', {
811
+ // f_check_item_id: this.data.f_check_item_id
812
+ // })
813
+ // //如果是转维修上传,则不做校验,上传完成后自动转维修
814
+ // console.log('this.isToRepair=======》'+this.isToRepair)
815
+ // console.log('this.livedispose=======》'+this.livedispose)
816
+ // if(!this.isToRepair){
817
+ // if(haslivedispose.data.length > 0 && (this.livedispose == 'true' || this.livedispose == true)){
818
+ // console.log('是否已转维修')
819
+ // console.log(this.isSafeCheckToRepair)
820
+ // if(!this.isSafeCheckToRepair){
821
+ // this.$showMessage('有未处理的隐患,请前往拍照上传中将安检转为维修单!')
822
+ // return
823
+ // }
824
+ // }
825
+ // }
826
+ // console.log(`codata类型-->${typeof codata}`)
827
+ // for (let key in codata){
828
+ // if(key.startsWith("device")){
829
+ // codata[key] = []
830
+ // }
831
+ // }
832
+ // console.log(`codata内容-->${JSON.stringify(codata)}`)
833
+ //
834
+ // console.log('遮挡上传')
835
+ // let isStart = true
836
+ // let res
837
+ // for (let i in this.f_devices){
838
+ // res = HostApp.organizeJSON({isStart:isStart,isDevice:true,device:this.f_devices[i]})
839
+ // if(res.code == 200){
840
+ // isStart = false
841
+ // }else{
842
+ // this.$showMessage("保存失败!")
843
+ // }
844
+ // }
845
+ // let result = HostApp.organizeJSON({
846
+ // isStart:false,
847
+ // isJSON:true,
848
+ // jsonstr:{
849
+ // f_check_item_id: this.data.f_check_item_id,
850
+ // f_checker_id: this.data.f_checker_id,
851
+ // row: codata
852
+ // }
853
+ // })
854
+ // if(result.code == 200){
855
+ // HostApp.__this__ = this
856
+ // this.runSyncLogic('上传安检信息','javascript:HostApp.__this__.uploadCallBack()',1)
857
+ // }
858
+ //
859
+ //
860
+ // // let response = this.$androidUtil.bzLogic('上传安检信息', {
861
+ // // f_check_item_id: this.data.f_check_item_id,
862
+ // // f_checker_id: this.data.f_checker_id,
863
+ // // row: codata
864
+ // // })
865
+ // // if (response.code == 200) {
866
+ // // console.log('=============response.data==================')
867
+ // // console.log(JSON.stringify(response.data))
868
+ // // let f_paper_id
869
+ // // if(response.data != '' && response.data != null){
870
+ // // f_paper_id = JSON.parse(response.data).id
871
+ // // }
872
+ // // this.$set('data.f_paper_id', f_paper_id)
873
+ // // console.log('=============f_paper_id==================')
874
+ // // console.log(JSON.stringify(f_paper_id))
875
+ // // console.log(this.data.f_paper_id)
876
+ // // console.log("===data"+JSON.stringify(this.data))
877
+ // // for (let device in this.data){
878
+ // // console.log("上传设备信息device=======>"+device)
879
+ // // console.log("上传设备信息device=======>"+JSON.stringify(this.data[device]))
880
+ // // if(device.startsWith("device")){
881
+ // // for(let devices of this.data[device]) {
882
+ // // devices.f_paper_id = f_paper_id
883
+ // // let ret = this.$androidUtil.bzLogic('UpCheckPaperDevices', {
884
+ // // row: devices
885
+ // // })
886
+ // // console.log(`上传设备信息结果res======${JSON.stringify(ret.data)}`)
887
+ // // if(ret.code == 200){
888
+ // // console.log(`设备信息id======${ret.data.f_device_id}`)
889
+ // // devices.f_device_id = JSON.parse(ret.data.f_device_id).id
890
+ // // }
891
+ // // console.log('上传设备信息device======')
892
+ // // console.log(JSON.stringify(devices))
893
+ // // if (ret.code != 200) {
894
+ // // //TODO 失败后处理
895
+ // // // this.isUpload = false
896
+ // // this.$showMessage("上传失败!")
897
+ // // return false
898
+ // // }
899
+ // // }
900
+ // // }
901
+ // // }
902
+ // // // for (let device of this.f_devices) {
903
+ // // // device.f_paper_id = f_paper_id
904
+ // // // console.log('上传设备信息device======')
905
+ // // // console.log(JSON.stringify(device))
906
+ // // // let ret = this.$androidUtil.bzLogic('UpCheckPaperDevices', {
907
+ // // // row: device
908
+ // // // })
909
+ // // // console.log(`上传设备信息结果res======${ret}`)
910
+ // // // if (ret.code != 200) {
911
+ // // // //TODO 失败后处理
912
+ // // // HostApp.alert("上传失败!")
913
+ // // // return false
914
+ // // // }
915
+ // // // }
916
+ // // let result = this.$androidUtil.bzLogic('FinishUpload',
917
+ // // {
918
+ // // f_check_item_id: this.data.f_check_item_id,
919
+ // // f_userinfo_id: codata.f_userinfoid,
920
+ // // f_last_check_result: codata.f_defect_content
921
+ // // })
922
+ // // if(result.code == 200){
923
+ // // // this.$showAlert('上传成功!', 'success', 2000)
924
+ // // this.$showMessage('上传成功!')
925
+ // // this.isStrat=false
926
+ // // if(url != "" ){
927
+ // // this.$resetpost(`${url}`,{data:WxResult})
928
+ // // }
929
+ // // return true
930
+ // // }else{
931
+ // // // this.isUpload = false
932
+ // // this.$showMessage("上传失败!")
933
+ // // return false
934
+ // // }
935
+ // // }else{
936
+ // // // this.isUpload = false
937
+ // // this.$showMessage("上传失败!")
938
+ // // return false
939
+ // // }
940
+ // }catch (e) {
941
+ // console.log('上传失败==='+JSON.stringify(e))
942
+ // // this.isUpload = false
943
+ // this.$showMessage("上传失败!")
944
+ // }
945
+ // }
946
+ },
947
+ save(type) {
948
+ this.saveNoclick()
949
+ console.log('进入保存')
950
+ if(type == 'temp'){
951
+ this.data.f_complete = '未完成'
952
+ this.disableTimer()
953
+ }else {
954
+ let errString = this.errorVerify()
955
+ if (errString) {
956
+ console.log(errString)
957
+ console.log('Vue.android',Vue.android)
958
+ console.log('this.isUpload',this.isUpload)
959
+ if (Vue.android){
960
+ this.$showMessage(errString)
961
+ }
962
+ return
963
+ } else {
964
+ this.data.f_complete = '已完成'
965
+ this.$set('data.f_offsite_time', Util.toStandardTimeString())
966
+ this.disableTimer()
967
+ }
968
+ }
969
+ // try {
970
+ let codata = this.getAllDefect()
971
+ if(this.isToRepair && JSON.parse(this.data.f_defect_content).result != '有隐患'){
972
+ this.$showMessage("未发现隐患,请点击上传")
973
+ this.isToRepair=false
974
+ this.isdisable = false
975
+ return
976
+ }
977
+ console.log(`codata类型-->${typeof codata}`)
978
+ console.log(`codata内容-->${JSON.stringify(codata)}`)
979
+ for (let key in codata) {
980
+ if (key.startsWith("device")) {
981
+ console.log('this.data.' + key + JSON.stringify(codata[key]))
982
+ codata[key] = []
983
+ }
984
+ }
985
+ console.log(`codata内容-->${JSON.stringify(codata)}`)
986
+ console.log(`codata内容-->${JSON.stringify(codata.f_user_defects)}`)
987
+ console.log('安卓环境?=》' + Vue.android)
988
+ if (Vue.android) {
989
+ console.log('Vue.android is true')
990
+ let value = this.$androidUtil.path({
991
+ alias: 'getUserinfomation',
992
+ data: {condition: "f_userinfoid = '" + this.item.f_userinfoid + "' and f_no_checkplan = '无计划安检'"}
993
+ })
994
+ console.log('getUserinfomation value ==> ' + JSON.stringify(value))
995
+ if (this.item.f_no_checkplan == '无计划安检' && this.item.f_no_checkplan != '打回') {
996
+ // let result = this.$androidUtil.bzLogic('SafeSaveNoPaper', {
997
+ // f_check_item_id: this.data.f_check_item_id,
998
+ // f_checker_id: this.data.f_checker_id,
999
+ // f_upload_state:'未传',
1000
+ // row: codata
1001
+ // })
1002
+ console.log('无计划安检保存')
1003
+ let isStart = true
1004
+ // let res
1005
+ // for (let i in this.f_devices) {
1006
+ // res = HostApp.organizeJSON({isStart: isStart, isDevice: true, device: this.f_devices[i]})
1007
+ // if (res.code == 200) {
1008
+ // isStart = false
1009
+ // } else {
1010
+ // this.$showMessage("保存失败!")
1011
+ // }
1012
+ // }
1013
+ // let result = HostApp.organizeJSON({
1014
+ // isStart: false,
1015
+ // isJSON: true,
1016
+ // jsonstr: {
1017
+ // f_check_item_id: this.data.f_check_item_id,
1018
+ // f_checker_id: this.data.f_checker_id,
1019
+ // f_upload_state: '未传',
1020
+ // row: codata
1021
+ // }
1022
+ // })
1023
+ codata.f_devices = this.f_devices
1024
+ let param = {
1025
+ f_check_item_id: this.data.f_check_item_id,
1026
+ f_checker_id: this.data.f_checker_id,
1027
+ f_upload_state: '未传',
1028
+ row: codata
1029
+ }
1030
+ console.log('codata ===> ' + JSON.stringify(codata))
1031
+ let paramStr = JSON.stringify(param)
1032
+ // 多长截断一次
1033
+ let subLength = 800
1034
+ for (let i = 0; i < paramStr.length; i += subLength) {
1035
+ HostApp.param_cache(paramStr.substr(i, subLength))
1036
+ }
1037
+ HostApp.__this__ = this
1038
+ HostApp.syncLogic({
1039
+ // logic别名,key必须为logic
1040
+ 'logic': 'SafeSaveNoPaper',
1041
+ // 回调执行方法名,key必须为callback
1042
+ 'callback': 'javascript:HostApp.__this__.saveCallBack()',
1043
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1044
+ // 执行回调方法传入key为backresult
1045
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1046
+ 'backresult': 1
1047
+ })
1048
+ } else {
1049
+ console.log('非无计划安检保存')
1050
+ let isStart = true
1051
+ let res
1052
+ console.log('this.f_devices' + JSON.stringify(this.f_devices))
1053
+ // for (let i in this.f_devices) {
1054
+ // console.log('this.f_devices[i] ====>' + JSON.stringify(this.f_devices[i]))
1055
+ // for (let j = 0; j < this.f_devices[i].f_items.length; j++) {
1056
+ // console.log(`this.f_devices[i].f_items[${j}] ===> ` + JSON.stringify(this.f_devices[i].f_items[j]))
1057
+ // }
1058
+ // res = HostApp.organizeJSON({isStart: isStart, isDevice: true, device: this.f_devices[i]})
1059
+ // console.log('f_devices organizeJSON ==> ' + JSON.stringify(res))
1060
+ // if (res.code == 200) {
1061
+ // isStart = false
1062
+ // } else {
1063
+ // this.$showMessage("保存失败!")
1064
+ // }
1065
+ // }
1066
+ console.log('this.data ==> ' + JSON.stringify(this.data))
1067
+ console.log('f_check_item_id ==> ' + JSON.stringify(this.data.f_check_item_id))
1068
+ console.log('f_checker_id ==> ' + JSON.stringify(this.data.f_checker_id))
1069
+ // let result = HostApp.organizeJSON({
1070
+ // isStart: false,
1071
+ // isJSON: true,
1072
+ // jsonstr: {
1073
+ // f_check_item_id: this.data.f_check_item_id,
1074
+ // f_checker_id: this.data.f_checker_id,
1075
+ // row: codata
1076
+ // }
1077
+ // })
1078
+ codata.f_devices = this.f_devices
1079
+ let param = {
1080
+ f_check_item_id: this.data.f_check_item_id,
1081
+ f_checker_id: this.data.f_checker_id,
1082
+ row: codata
1083
+ }
1084
+ console.log('codata ===> ' + JSON.stringify(codata))
1085
+ let paramStr = JSON.stringify(param)
1086
+ // 多长截断一次
1087
+ let subLength = 800
1088
+ for (let i = 0; i < paramStr.length; i += subLength) {
1089
+ HostApp.param_cache(paramStr.substr(i, subLength))
1090
+ }
1091
+ HostApp.__this__ = this
1092
+ HostApp.syncLogic({
1093
+ // logic别名,key必须为logic
1094
+ 'logic': '保存安检单信息',
1095
+ // 回调执行方法名,key必须为callback
1096
+ 'callback': 'javascript:HostApp.__this__.saveCallBack()',
1097
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1098
+ // 执行回调方法传入key为backresult
1099
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1100
+ 'backresult': 1
1101
+ })
1102
+ }
1103
+
1104
+ } else {
1105
+ console.log("保存的值", codata)
1106
+ let value = this.$androidUtil.path({
1107
+ alias: 'getUserinfomation',
1108
+ data: {condition: "f_userinfoid = '" + this.item.f_userinfoid + "' and f_no_checkplan = '无计划安检'"}
1109
+ })
1110
+
1111
+ if (this.item.f_no_checkplan == '无计划安检' && value.data.length == 0 && this.item.f_no_checkplan != '打回') {
1112
+ this.$androidUtil.bzLogic('SafeSaveNoPaper', {
1113
+ f_check_item_id: this.data.f_check_item_id,
1114
+ f_checker_id: this.data.f_checker_id,
1115
+ f_upload_state: '未传',
1116
+ row: codata
1117
+ }).then((res) => {
1118
+ if (res.data.code == 200) {
1119
+ //保存devices
1120
+ this.$androidUtil.bzLogic('getPaperInfo', {
1121
+ f_check_item_id: this.data.f_check_item_id
1122
+ }).then((res) => {
1123
+ console.log(`查询paper结果res======${res}`)
1124
+ if (res.data.code == 200) {
1125
+
1126
+ let f_paper_id = res.data.data[0].id
1127
+ for (let device of this.f_devices) {
1128
+ device.f_paper_id = f_paper_id
1129
+ console.log('设备信息device======', device)
1130
+ this.$androidUtil.bzLogic('saveDevice', {
1131
+ row: device
1132
+ }).then((ret) => {
1133
+ console.log(`保存设备信息结果res======`, ret)
1134
+ if (ret.code != 200) {
1135
+ // if(this.isUpload){
1136
+ // this.isUpload = false
1137
+ // }
1138
+ //TODO 失败后处理
1139
+ this.$showMessage("保存失败!")
1140
+ return false
1141
+ }
1142
+ })
1143
+ }
1144
+ }
1145
+ })
1146
+ // this.$showAlert('保存成功!', 'success', 2000)
1147
+ this.$showMessage('保存成功!')
1148
+ return true
1149
+ } else {
1150
+ // if(this.isUpload){
1151
+ // this.isUpload = false
1152
+ // }
1153
+ this.$showMessage("保存失败!")
1154
+ return false
1155
+ }
1156
+ })
1157
+ } else {
1158
+ this.$androidUtil.bzLogic('保存安检单信息', {
1159
+ f_check_item_id: this.data.f_check_item_id,
1160
+ f_checker_id: this.data.f_checker_id,
1161
+ row: codata
1162
+ }).then((res) => {
1163
+ console.log('asdddddddddddddddddddddddddddddd')
1164
+ if (res.data.code == 200) {
1165
+ //保存devices
1166
+ this.$androidUtil.bzLogic('getPaperInfo', {
1167
+ f_check_item_id: this.data.f_check_item_id
1168
+ }).then((res) => {
1169
+ console.log(`查询paper结果res======${res}`)
1170
+ if (res.data.code == 200) {
1171
+
1172
+ let f_paper_id = res.data.data[0].id
1173
+ for (let device of this.f_devices) {
1174
+ device.f_paper_id = f_paper_id
1175
+ console.log(`设备信息device======${device}`)
1176
+ this.$androidUtil.bzLogic('saveDevice', {
1177
+ row: device
1178
+ }).then((ret) => {
1179
+ console.log(`保存设备信息结果res======${ret}`)
1180
+ if (ret.code != 200) {
1181
+ // if(this.isUpload){
1182
+ // this.isUpload = false
1183
+ // }
1184
+ //TODO 失败后处理
1185
+ this.$showMessage("保存失败!")
1186
+ return false
1187
+ }
1188
+ })
1189
+ }
1190
+ }
1191
+ })
1192
+ // this.$showAlert('保存成功!', 'success', 2000)
1193
+ this.$showMessage('保存成功!')
1194
+ return true
1195
+ } else {
1196
+ // if(this.isUpload){
1197
+ // this.isUpload = false
1198
+ // }
1199
+ this.$showMessage("保存失败!")
1200
+ return false
1201
+ }
1202
+ })
1203
+ }
1204
+ }
1205
+ // }catch (e) {
1206
+ // console.log('保存失败==='+JSON.stringify(e))
1207
+ // // this.isUpload = false
1208
+ // this.$showMessage("保存失败!")
1209
+ // }
1210
+ },
1211
+ runSyncLogic(logic,callback,backresult){
1212
+ HostApp.runSyncLogic({
1213
+ // logic别名,key必须为logic
1214
+ 'logic': logic,
1215
+ // 回调执行方法名,key必须为callback
1216
+ 'callback': callback,
1217
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1218
+ // 执行回调方法传入key为backresult
1219
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1220
+ 'backresult':backresult
1221
+ })
1222
+ },
1223
+ logicWithHint(logic,data,callback,backresult){
1224
+ HostApp.logicWithHint({
1225
+ // logic别名,key必须为logic
1226
+ 'logic': logic,
1227
+ // 回调执行方法名,key必须为callback
1228
+ 'callback': callback,
1229
+ // logic执行需要的业务参数
1230
+ 'data': data,
1231
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1232
+ // 执行回调方法传入key为backresult
1233
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1234
+ 'backresult':backresult
1235
+ })
1236
+ },
1237
+ saveCallBack(jo){
1238
+ console.log(JSON.stringify(jo))
1239
+ this.isdisable = false
1240
+ if(jo.state == 'ok'){
1241
+ let res = JSON.parse(jo.result)
1242
+ console.log('保存结果===》'+JSON.stringify(res))
1243
+ if(res.code == 200){
1244
+ console.log('onlySave=====>'+this.onlySave)
1245
+ if(!this.onlySave){
1246
+ let codata = this.getAllDefect()
1247
+ //获取微信推送内容
1248
+ // let WxResult = this.getWeixin(codata)
1249
+ let haslivedispose = this.$androidUtil.bzLogic('getLiveDispose', {
1250
+ f_check_item_id: this.data.f_check_item_id
1251
+ })
1252
+ //如果是转维修上传,则不做校验,上传完成后自动转维修
1253
+ console.log('this.isToRepair=======》'+this.isToRepair)
1254
+ console.log('this.livedispose=======》'+this.livedispose)
1255
+ if(!this.isToRepair){
1256
+ if(haslivedispose.data.length > 0 && (this.livedispose == 'true' || this.livedispose == true)){
1257
+ console.log('是否已转维修')
1258
+ console.log(this.isSafeCheckToRepair)
1259
+ if(!this.isSafeCheckToRepair){
1260
+
1261
+ }
1262
+ }
1263
+ }
1264
+ console.log(`codata类型-->${typeof codata}`)
1265
+ for (let key in codata){
1266
+ if(key.startsWith("device")){
1267
+ codata[key] = []
1268
+ }
1269
+ }
1270
+ console.log(`codata内容-->${JSON.stringify(codata)}`)
1271
+
1272
+ console.log('遮挡上传')
1273
+ // let isStart = true
1274
+ // let res
1275
+ // for (let i in this.f_devices){
1276
+ // res = HostApp.organizeJSON({isStart:isStart,isDevice:true,device:this.f_devices[i]})
1277
+ // if(res.code == 200){
1278
+ // isStart = false
1279
+ // }else{
1280
+ // this.$showMessage("上传失败!")
1281
+ // return
1282
+ // }
1283
+ // }
1284
+ // let result = HostApp.organizeJSON({
1285
+ // isStart:false,
1286
+ // isJSON:true,
1287
+ // jsonstr:{
1288
+ // f_check_item_id: this.data.f_check_item_id,
1289
+ // f_checker_id: this.data.f_checker_id,
1290
+ // row: codata
1291
+ // }
1292
+ // })
1293
+ codata.f_devices = this.f_devices
1294
+ codata.isTorepair = this.isToRepair
1295
+ codata.cremarks=this.cremarks
1296
+ let param = {
1297
+ f_check_item_id: this.data.f_check_item_id,
1298
+ f_checker_id: this.data.f_checker_id,
1299
+ row: codata
1300
+ }
1301
+ console.log('codata ===> ' + JSON.stringify(codata))
1302
+ let paramStr = JSON.stringify(param)
1303
+ // 多长截断一次
1304
+ let subLength = 800
1305
+ for (let i = 0; i < paramStr.length; i += subLength) {
1306
+ HostApp.param_cache(paramStr.substr(i, subLength))
1307
+ }
1308
+ HostApp.__this__ = this
1309
+ HostApp.syncLogic({
1310
+ // logic别名,key必须为logic
1311
+ 'logic': 'rc_upCheckPaper',
1312
+ // 回调执行方法名,key必须为callback
1313
+ 'callback': 'javascript:HostApp.__this__.uploadCallBack()',
1314
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1315
+ // 执行回调方法传入key为backresult
1316
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1317
+ 'backresult': 1
1318
+ })
1319
+ }else{
1320
+ this.$showMessage('保存成功!')
1321
+ if(this.clickBack){
1322
+ this.isStrat = false
1323
+ this.$dispatch('confirm')
1324
+ //this.$back()
1325
+ }
1326
+ }
1327
+ }else{
1328
+ this.$showMessage('保存失败!')
1329
+ return
1330
+ }
1331
+ }else{
1332
+ this.$showMessage('服务器内部错误,保存失败!')
1333
+ return
1334
+ }
1335
+
1336
+ },
1337
+ uploadCallBack(jo){
1338
+ //获取微信推送路径
1339
+ let url = ""
1340
+ if(Vue.config.safecheck != undefined) {
1341
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
1342
+ if (Vue.config.safecheck.ApproveConfig.weixinurl != undefined) {
1343
+ url = Vue.config.safecheck.ApproveConfig.weixinurl
1344
+ }
1345
+ }
1346
+ }
1347
+ console.log(JSON.stringify(jo))
1348
+ console.log('jo ===> ' + JSON.stringify(jo))
1349
+ this.isdisable = false
1350
+ if(jo.state == 'ok'){
1351
+ let res = JSON.parse(jo.result)
1352
+ console.log('上传结果===》'+JSON.stringify(res))
1353
+ console.log('上传结果的f_paper_id===》'+JSON.stringify(res.id))
1354
+ if(res.code == 200){
1355
+ //上传抄表信息
1356
+ if(this.item.f_user_type=='民用' && this.item.f_safecheck_type=='年度普检' && this.data.f_entry_status=='入户' && this.data.f_is_meterreadding=='未抄表'){
1357
+ //let codata = this.getAllDefect()
1358
+ let res3= this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`,{
1359
+ data:{
1360
+ items:" f_userfiles_id",
1361
+ tablename:"t_userfiles",
1362
+ condition:`f_userinfo_id=${this.item.f_userinfoid} and (f_table_state='正常' or f_table_state='停用')`,
1363
+ orderitem:"f_userfiles_id"
1364
+ }
1365
+ }).then(res3 => {
1366
+ console.log("res---"+JSON.stringify(res3))
1367
+ let f_tablebase1=''
1368
+ this.f_devices.forEach(row=>{
1369
+ if(row.f_device_type=='燃气表'){
1370
+ row.f_items.forEach(item =>{
1371
+ if(item.f_item_name=='本期表读数'){
1372
+ f_tablebase1=item.f_item_lists[0].f_item_value
1373
+ }
1374
+ })
1375
+ }
1376
+ })
1377
+
1378
+ console.log("抄表底数!"+f_tablebase1+"------userfilesid"+res3.data[0].f_userfiles_id +'------'+this.data.f_checker_name+this.data.f_checker_id+this.data.f_checker_name)
1379
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/handCommonEnter`, {data:{
1380
+ f_userfiles_id:res3.data[0].f_userfiles_id,
1381
+ f_operator:this.data.f_checker_name,
1382
+ f_operatorid:this.data.f_checker_id,
1383
+ f_inputtor:this.data.f_checker_name,
1384
+ f_tablebase:f_tablebase1,
1385
+ isAudit:false,f_meter_source:''
1386
+ }
1387
+ }).then(res4 =>{
1388
+ console.log("抄表上传成功!"+JSON.stringify(res4))
1389
+ if(res4.data.status==200){
1390
+ console.log("开始修改状态!!!!"+this.item.id)
1391
+ let param={
1392
+ itemid:res.id
1393
+ }
1394
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/rc_UpPaperHandMeterState`, {data:param})
1395
+ }
1396
+ })
1397
+
1398
+ })
1399
+ }
1400
+ this.$set('data.f_paper_id', res.id)
1401
+ this.isStrat=false
1402
+ if(url != ""){
1403
+ this.$resetpost(`${url}`,{data:WxResult})
1404
+ }
1405
+ console.log('this.isToRepair==============>'+this.isToRepair)
1406
+ if(this.isToRepair){
1407
+ /*let defect=JSON.parse(this.data.f_defect_content)
1408
+ let repairContent=''
1409
+ defect.data.forEach(de =>{
1410
+ let arr=Object.keys(de)
1411
+ console.log("defect----------"+JSON.stringify(arr))
1412
+ arr.forEach(key=>{
1413
+ repairContent += key+':'+de[key]+' '
1414
+ })
1415
+ })
1416
+ console.log("defect----------"+repairContent)
1417
+ let repair={
1418
+ "sn": res.id,
1419
+ "caseType": "客户问题",
1420
+ "callerPhone": "",
1421
+ "caseTime": Util.toStandardTimeString(),
1422
+ "orderSource": "安检转维修",
1423
+ "orderSourceUserID": "",
1424
+ "customerNo": this.item.f_userinfo_code,
1425
+ "customerName": this.item.f_user_name,
1426
+ "customerAddress": this.item.f_address,
1427
+ "customerDistrictCode": "",
1428
+ "customerDistrict": "",
1429
+ "callerName": this.item.checker,
1430
+ "callerSex": "",
1431
+ "phone": this.item.f_user_phone,
1432
+ "repairAddress": this.item.f_address,
1433
+ "repairContent": repairContent,
1434
+ "company": Vue.user.orgs,
1435
+ "orderType": "报修",
1436
+ "faultCategory": "安检隐患",
1437
+ "processingLevel": "普通",
1438
+ "remarks": "" }*/
1439
+ /*console.log('开始转维修!4'+JSON.stringify(repair))
1440
+ new HttpResetClass().load('POST','http://39.101.182.117:8909/api/cc/workorder.ashx?sign=5F27F9CA-2793-40CE-9834-0F033F71EDD2&method=postpreorder',repair,{resolveMsg: null, rejectMsg: null}).then(res =>{
1441
+ console.log('调维修接口返回的结果!'+JSON.stringify(res))
1442
+ if(res.data.success){
1443
+ console.log('调维修接口成功!'+JSON.stringify(res))
1444
+ let param={
1445
+ itemid:res.id,
1446
+ gid:res.data.gid
1447
+ }
1448
+ new HttpResetClass().load('POST',`${this.$androidUtil.getProxyUrl()}/rs/logic/rc_UpPaperRepairState`,{data:param},{resolveMsg: null, rejectMsg: null})
1449
+ this.$showMessage('转维修成功!')
1450
+ }else{
1451
+ this.$showMessage('转维修失败!')
1452
+ }
1453
+ this.isToRepair=false
1454
+ this.$dispatch('confirm')
1455
+ })*/
1456
+ this.$showMessage('转维修成功!')
1457
+ this.isToRepair=false
1458
+ this.$dispatch('confirm')
1459
+ //this.todo()
1460
+ }else{
1461
+ this.$showMessage('上传成功!')
1462
+ console.log('上传结束back')
1463
+ this.$dispatch('confirm')
1464
+ // this.$back()
1465
+ }
1466
+ }else if(res.code == 309){
1467
+ this.$showMessage('该安检单已作废!')
1468
+ console.log('该安检单已作废')
1469
+ this.$dispatch('confirm')
1470
+ }else if(res.code == 310){
1471
+ this.$showMessage('该安检单已上传,请勿重复上传!')
1472
+ console.log('该安检单已上传')
1473
+ this.$dispatch('confirm')
1474
+ }else if(res.code == 500){
1475
+ this.$showMessage('图片上传失败,请检查图片,确认无误后再次进行上传!')
1476
+ this.onlySave = true
1477
+ this.isToRepair=false
1478
+ }else{
1479
+ this.$showMessage('上传失败,请检查手机本地网络是否正常,如无问题请再次尝试上传(多次失败请联系管理员)!')
1480
+ this.onlySave = true
1481
+ this.isToRepair=false
1482
+ }
1483
+ }else {
1484
+ this.$showMessage('服务器内部错误,上传失败!')
1485
+ this.onlySave = true
1486
+ this.isToRepair=false
1487
+ }
1488
+ },
1489
+ safecheckToRepairCallBack(jo){
1490
+ //获取微信推送路径
1491
+ if(jo.state == 'ok'){
1492
+ let res = JSON.parse(jo.result)
1493
+ console.log('安检转维修===》'+JSON.stringify(res))
1494
+ if(res.code == 200){
1495
+ console.log('安检转维修成功')
1496
+ if(res.data.code == 200){
1497
+ this.$showMessage('上传并转维修成功!')
1498
+ }else{
1499
+ this.$showMessage('上传并转维修成功,回写安检单失败!')
1500
+ }
1501
+ this.$dispatch('confirm')
1502
+ // this.$back()
1503
+ }else{
1504
+ this.$showMessage('上传失败!')
1505
+ this.onlySave = true
1506
+ }
1507
+ }else{
1508
+ this.$showMessage('遇到意外错误!'+JSON.stringify(jo))
1509
+ this.onlySave = true
1510
+ }
1511
+ },
1512
+ todo(){
1513
+ let gen = getRepairParam(this)
1514
+ co(gen)
1515
+ },
1516
+ undo(){
1517
+ this.showCheckToRepair = !this.showCheckToRepair
1518
+ this.model.serviceacitivity[0].f_reciever = ''
1519
+ this.model.serviceacitivity[0].f_meetunit = ''
1520
+ this.model.f_repairtype = ''
1521
+ this.meading = '转站点'
1522
+ },
1523
+ disableTimer() {
1524
+ if(this.timer) {
1525
+ window.clearTimeout(this.timer)
1526
+ this.timer = null
1527
+ }
1528
+ },
1529
+ loaded(paper) {
1530
+ if(!paper.hasOwnProperty('id')) {
1531
+ this.$showMessage("该安检单在手机上已经不存在,可能是卸载过程序。可以进入重新安检,或返回安检计划。")
1532
+ this.init()
1533
+ } else {
1534
+ Util.booleanFilter(paper)
1535
+ HostApp.__this__.$set('data', paper)
1536
+ HostApp.__this__.$goto('safecheck-userinfo', {}, 'paper-router')
1537
+ // 如果打回重检则重新计时
1538
+ console.log('HostApp.__this__.role' + HostApp.__this__.role + ' HostApp.__this__.f_approved:' + HostApp.__this__.data.f_approved)
1539
+ if(HostApp.__this__.role == 'inspect'
1540
+ && HostApp.__this__.data.f_approved
1541
+ && HostApp.__this__.data.f_approved == '打回') {
1542
+ console.log('打回')
1543
+ HostApp.__this__.data.f_onsite_time = Util.toStandardTimeString()
1544
+ HostApp.__this__.tick()
1545
+ }
1546
+ }
1547
+ HostApp.__callback__ = null
1548
+ HostApp.__this__ = null
1549
+ },
1550
+ S4() {
1551
+ return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
1552
+ },
1553
+ extend(initalObj, finalObj) {
1554
+ var obj = finalObj || {};
1555
+ for (var i in initalObj) {
1556
+ var prop = initalObj[i];
1557
+
1558
+ // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
1559
+ if (prop === obj) {
1560
+ continue;
1561
+ }
1562
+
1563
+ if (typeof prop === 'object') {
1564
+ if (obj[i]) {
1565
+ this.extend(obj[i], prop)
1566
+ } else {
1567
+ obj[i] = prop;
1568
+ }
1569
+ }
1570
+ }
1571
+ return obj;
1572
+ },
1573
+ async isoverDate(){
1574
+ console.log('123456')
1575
+ let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/androidGetuserinfo`, {data:{
1576
+ condition:"ti.id='"+this.item.id+"'"
1577
+ }
1578
+ })
1579
+
1580
+ this.isneedDate=res.data.length>0?res.data[0]["f_subscribe_date"]:''
1581
+ },
1582
+ putDevices() {
1583
+ console.log('Vue.config => ' + JSON.stringify(Vue.config))
1584
+ console.log('Vue.config.DevicesConfig => ' + JSON.stringify(Vue.config.DevicesConfig))
1585
+ this.$set('data.approve', "true")
1586
+ this.$set('data.writeback', "false")
1587
+ if (Vue.config.safecheck != undefined) {
1588
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
1589
+ if (Vue.config.safecheck.ApproveConfig.approve != undefined) {
1590
+ this.$set('data.approve', Vue.config.safecheck.ApproveConfig.approve)
1591
+ }
1592
+ if (Vue.config.safecheck.ApproveConfig.writeback != undefined) {
1593
+ this.$set('data.writeback', Vue.config.safecheck.ApproveConfig.writeback)
1594
+ }
1595
+ if (Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
1596
+ this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
1597
+ }
1598
+ }
1599
+ console.log(Vue.config)
1600
+ console.log('Vue.config.safecheck.DevicesConfig=>' + JSON.stringify(Vue.config.safecheck.DevicesConfig))
1601
+ console.log('赋值前的config=>' + JSON.stringify(this.config))
1602
+ console.log("当前用户类型"+this.item.f_user_type)
1603
+ if(this.item.f_user_type == '民用'){
1604
+ // 民用户
1605
+
1606
+ if (Vue.config.safecheck.DevicesConfig != undefined){
1607
+ if(this.item.f_safecheck_type == undefined || this.item.f_safecheck_type == '' || Vue.config.safecheck.SafecheckType == undefined) {
1608
+ this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
1609
+ }else{
1610
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_user_type]])
1611
+ }
1612
+
1613
+
1614
+ // this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
1615
+ }
1616
+ }else {
1617
+ // 非民用
1618
+ if (Vue.config.safecheck.DevicesSetConfig != undefined){
1619
+
1620
+ if(this.item.f_safecheck_type == undefined || this.item.f_safecheck_type == '' || Vue.config.safecheck.SafecheckType == undefined) {
1621
+ this.config = this.extend(this.config, Vue.config.safecheck.DevicesSetConfig)
1622
+ }else{
1623
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_user_type]])
1624
+ }
1625
+ let dev={
1626
+ index: 3,
1627
+ items:{}}
1628
+ if(this.deviceinfo.data.length>0){
1629
+ for (let i=0;i<this.deviceinfo.data.length;i++){
1630
+ dev.items[this.deviceinfo.data[i].f_devices_model+'数量']={index: i*3+1,type:"number",f_item_value: this.deviceinfo.data[i].f_devices_num}
1631
+ dev.items[this.deviceinfo.data[i].f_devices_model+'品牌']={index: i*3+2,type:"string",f_item_value: this.deviceinfo.data[i].f_brand}
1632
+ dev.items[this.deviceinfo.data[i].f_devices_model+'检查情况']={index: i*3+3,type:"string"}
1633
+ }
1634
+ }
1635
+ console.log("dev:"+JSON.stringify(dev))
1636
+ this.config["燃气具检查"]=dev
1637
+ //this.config = this.extend(this.config, Vue.config.safecheck.DevicesSetConfig)
1638
+ }
1639
+ }
1640
+
1641
+ }
1642
+ console.log('赋值后的config=>' + JSON.stringify(this.config))
1643
+ // 预留设备项位置
1644
+ for (let i in this.config) {
1645
+ this.tabs.splice(1,0,null)
1646
+ }
1647
+ //遍历安检项配置
1648
+ for (let i in this.config) {
1649
+ //取得安检项索引值
1650
+ let n = this.config[i].index
1651
+ console.log('type '+ typeof n)
1652
+ this.devices[n - 1] = {device: i, n: n, checkmust: this.config[i].checkmust}
1653
+ this.$set('data.' + 'device' + n, [])
1654
+ console.log('data.device'+ n,this.data)
1655
+ // this.tabs.splice(2 + n - 1, 0,
1656
+ // {
1657
+ // header:i,
1658
+ // complete:'safecheck-devices',
1659
+ // class:'repair-details-class',
1660
+ // number:n
1661
+ // })
1662
+ this.tabs[n] = {
1663
+ header: i,
1664
+ complete: 'safecheck-devices',
1665
+ class: 'repair-details-class',
1666
+ number: n
1667
+ }
1668
+
1669
+ if(this.config[i].quantity && this.config[i].quantity >0){
1670
+ let items = []
1671
+ for (let it in this.config[i].items) {
1672
+ //赋值下拉选项
1673
+ if (this.config[i].items[it].type == 'selector') {
1674
+ for (let op in this.config[i].items[it].options) {
1675
+ if (this.config[i].items[it].options[op].isdefault == true) {
1676
+ items.push({
1677
+ f_defect_level: this.config[i].items[it].options[op].level,
1678
+ f_is_defect: this.config[i].items[it].options[op].isdefect,
1679
+ f_item_name: it,
1680
+ f_item_value: this.config[i].items[it].options[op].data,
1681
+ f_path: "",
1682
+ type: "selector"
1683
+ })
1684
+ }
1685
+ }
1686
+ }
1687
+ }
1688
+ for(let q =0;q<this.config[i].quantity;q++) {
1689
+ this.data['device' + n].push(
1690
+ {f_device_type: i, f_items:items}
1691
+ )
1692
+ }
1693
+ }
1694
+ // this.data['device' + n].push(
1695
+ // {f_device_type: i, f_items: items}
1696
+ // )
1697
+ n = n + 1
1698
+ }
1699
+ console.log('tbs合并数组')
1700
+ this.faultshow.number = this.tabs.length
1701
+ },
1702
+ init () {
1703
+ console.log("123456789")
1704
+ // this.data.f_noplan_item_id = this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()
1705
+ this.data.ename = Vue.user.ename
1706
+ this.data.f_outlets = Vue.user.f_parentname
1707
+ this.data.f_meetunit = Vue.user.orgpathnames
1708
+ this.data.orgpathstr = Vue.user.orgpathstr
1709
+ this.data.f_check_item_id = this.item.id
1710
+ this.data.f_check_plan_id = this.f_plan_id
1711
+ this.data.f_checker_id = Vue.user.id
1712
+ this.data.f_checker_name = Vue.user.name
1713
+ this.data.f_check_type = this.item.f_user_type
1714
+ this.data.f_safecheck_type = this.item.f_safecheck_type ? this.item.f_safecheck_type:'年度普检'
1715
+ //this.data.f_exceed_reason = ''//存放送气超期原因
1716
+ console.log('设置参数2')
1717
+ this.data.f_subcompany = this.item.f_subcompany
1718
+ this.data.f_approved = this.item.f_approved
1719
+ this.data.f_repair_approved = this.item.f_repair_approved
1720
+ this.data.f_no_checkplan = this.item.f_no_checkplan
1721
+ this.data.f_approved = this.item.f_approved
1722
+ this.data.f_filialeid = this.item.f_filialeid
1723
+ this.data.f_orgstr = this.item.f_orgstr
1724
+ this.data.version = this.item.version
1725
+ this.$set('data.f_meters', this.item.f_plan_meters)
1726
+ this.$set('data.f_userinfo_code', this.item.f_userinfo_code)
1727
+ // 安检状态
1728
+ this.$set('data.f_entry_status', '入户')
1729
+ this.$set('data.f_laser_check', null)
1730
+ this.$set('data.f_is_meterreadding', '未抄表')
1731
+ this.$set('data.f_usegas', '已使用')
1732
+ this.$set('data.f_state',this.item.f_state)
1733
+ console.log('设置参数3')
1734
+ // 用户信息
1735
+ this.$set('data.f_user_name', this.item.f_user_name)
1736
+ this.$set('data.f_user_phone', this.item.f_user_phone)
1737
+ this.$set('data.f_userinfoid', this.item.f_userinfoid)
1738
+ this.$set('data.f_address', this.item.f_address)
1739
+ this.$set('data.f_small_area', this.item.f_small_area)
1740
+ this.$set('data.f_card_id', this.item.f_card_id)
1741
+ this.$set('data.f_area', this.item.f_area)
1742
+ this.$set('data.f_street', this.item.f_street)
1743
+ this.$set('data.f_room', this.item.f_room)
1744
+ this.$set('data.f_building', this.item.f_building)
1745
+ this.$set('data.f_unit', this.item.f_unit)
1746
+ console.log('设置参数4')
1747
+ this.$set('data.f_floor', this.item.f_floor)
1748
+ this.$set('data.f_residential_area' , this.item.f_residential_area)
1749
+ this.$set('data.f_idnumber', this.item.f_idnumber)
1750
+ this.$set('data.f_comments', this.item.f_comments)
1751
+ this.$set('data.f_userproperties', this.item.f_userproperties)
1752
+ // this.$set('data.f_user_inhome_time', this.item.f_user_inhome_time)
1753
+ // this.$set('data.f_user_check_time', this.item.f_user_check_time)
1754
+ // this.$set('data.f_user_spare_phone', this.item.f_user_spare_phone)
1755
+ // this.$set('data.f_user_family_remarks', this.item.f_user_family_remarks)
1756
+ // this.$set('data.f_user_equipment_remarks', this.item.f_user_equipment_remarks)
1757
+ // 处置方式
1758
+ console.log('设置参数5')
1759
+ this.$set('data.f_no_gas_device', false)
1760
+ this.$set('data.f_close_valve', false)
1761
+ this.$set('data.f_unload_battery', false)
1762
+ console.log('设置参数6')
1763
+ if (this.data.f_check_item_id == '' && this.item.f_no_checkplan == '无计划安检') {
1764
+ this.data.f_check_item_id = this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4()
1765
+ }
1766
+ console.log("item.f_plan_meters",this.item.f_plan_meters)
1767
+ if(this.item.f_plan_meters) {
1768
+ for (let de in this.devices) {
1769
+ this.$set('data.device' + this.devices[de].n, [])
1770
+ for (let i = 0; i < this.item.f_plan_meters.length; i++) {
1771
+ if (this.item.f_plan_meters[i].f_meter_type) {
1772
+ console.log('this.item.f_plan_meters[i] ===> ' + JSON.stringify(this.item.f_plan_meters[i])+"------------"+this.devices[de].device)
1773
+ if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_meter_type.indexOf('机表') > 0) {
1774
+ console.log("是机表")
1775
+ this.data['device' + this.devices[de].n].push({
1776
+ f_device_type: "燃气表",
1777
+ f_items: [
1778
+ {
1779
+ f_defect_level: null,
1780
+ f_device_id: "",
1781
+ f_is_defect: "",
1782
+ f_item_name: "基表编号",
1783
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
1784
+ f_path: "",
1785
+ type: "string"
1786
+ },
1787
+ {
1788
+ f_defect_level: null,
1789
+ f_device_id: "",
1790
+ f_is_defect: "",
1791
+ f_item_name: "气表型号",
1792
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1793
+ f_path: "",
1794
+ type: "string"
1795
+ },
1796
+ {
1797
+ f_defect_level: null,
1798
+ f_device_id: "",
1799
+ f_is_defect: "",
1800
+ f_item_name: "气表品牌",
1801
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
1802
+ f_path: "",
1803
+ type: "string"
1804
+ },
1805
+ {
1806
+ f_defect_level: null,
1807
+ f_device_id: "",
1808
+ f_is_defect: "",
1809
+ f_item_name: "进气方向",
1810
+ f_item_value: this.item.f_plan_meters[i].f_flow_direction,
1811
+ f_path: "",
1812
+ type: "selector"
1813
+ },
1814
+ {
1815
+ f_defect_level: null,
1816
+ f_device_id: "",
1817
+ f_is_defect: "",
1818
+ f_item_name: "上期表读数",
1819
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1820
+ f_path: "",
1821
+ type: "number"
1822
+ },
1823
+ {
1824
+ f_defect_level: null,
1825
+ f_device_id: "",
1826
+ f_is_defect: "",
1827
+ f_item_name: "本期表读数",
1828
+ f_item_value: '',
1829
+ f_path: "",
1830
+ type: "number"
1831
+ }
1832
+ ]
1833
+ })
1834
+ } else if (this.devices[de].device == "燃气表") {
1835
+ console.log("不是是机表")
1836
+ // delete this.config['燃气表']['items']['表底数']
1837
+ this.data['device' + this.devices[de].n].push({
1838
+ f_device_type: "燃气表",
1839
+ f_items: [
1840
+ {
1841
+ f_defect_level: null,
1842
+ f_device_id: "",
1843
+ f_is_defect: "",
1844
+ f_item_name: "基表编号",
1845
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
1846
+ f_path: "",
1847
+ type: "string"
1848
+ },
1849
+ {
1850
+ f_defect_level: null,
1851
+ f_device_id: "",
1852
+ f_is_defect: "",
1853
+ f_item_name: "气表型号",
1854
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1855
+ f_path: "",
1856
+ type: "string"
1857
+ },
1858
+ {
1859
+ f_defect_level: null,
1860
+ f_device_id: "",
1861
+ f_is_defect: "",
1862
+ f_item_name: "气表品牌",
1863
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
1864
+ f_path: "",
1865
+ type: "string"
1866
+ },
1867
+ {
1868
+ f_defect_level: null,
1869
+ f_device_id: "",
1870
+ f_is_defect: "",
1871
+ f_item_name: "进气方向",
1872
+ f_item_value: this.item.f_plan_meters[i].f_flow_direction,
1873
+ f_path: "",
1874
+ type: "selector"
1875
+ },
1876
+ {
1877
+ f_defect_level: null,
1878
+ f_device_id: "",
1879
+ f_is_defect: "",
1880
+ f_item_name: "上期表读数",
1881
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1882
+ f_path: "",
1883
+ type: "number"
1884
+ },
1885
+ {
1886
+ f_defect_level: null,
1887
+ f_device_id: "",
1888
+ f_is_defect: "",
1889
+ f_item_name: "本期表读数",
1890
+ f_item_value: '',
1891
+ f_path: "",
1892
+ type: "number"
1893
+ }
1894
+ ]
1895
+ })
1896
+ }
1897
+ if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_collection_type) {
1898
+ console.log("有this.item.f_plan_meters[i].f_collection_type")
1899
+ this.data['device' + this.devices[de].n].forEach(device => {
1900
+ console.log('device ===> ' + JSON.stringify(device))
1901
+ console.log('this.item.f_plan_meters[i].f_collection_type ===> ' + JSON.stringify(this.item.f_plan_meters[i].f_collection_type))
1902
+ /*
1903
+ "累购气量":{"index":8,"type":"number","readonly":true},
1904
+ "累购金额":{"index":8,"type":"number","readonly":true},
1905
+ "字轮读数":{"index":9,"type":"number","checkmust": true},
1906
+ "已用金额":{"index":9,"type":"number","checkmust": true},
1907
+ "剩余气量":{"index":10,"type":"number","checkmust": true},
1908
+ "剩余金额":{"index":10,"type":"number","checkmust": true},
1909
+ "气量异常差值":{"index":11,"type":"number","readonly": true},
1910
+ "金额异常差值":{"index":11,"type":"number","readonly": true}
1911
+ */
1912
+ if (this.item.f_plan_meters[i].f_collection_type == '按金额') {
1913
+ if (!this.data.f_collection_type) {
1914
+ this.data.f_collection_type = this.item.f_plan_meters[i].f_collection_type
1915
+ delete this.config['燃气表']['items']['累购气量']
1916
+ delete this.config['燃气表']['items']['已用气量']
1917
+ delete this.config['燃气表']['items']['剩余气量']
1918
+ delete this.config['燃气表']['items']['气量异常差值']
1919
+ device.f_items.push(
1920
+ {
1921
+ f_defect_level: null,
1922
+ f_device_id: "",
1923
+ f_is_defect: "",
1924
+ f_item_name: "初始表底",
1925
+ isshow: false,
1926
+ f_item_value: '',
1927
+ f_path: "",
1928
+ type: "number"
1929
+ },
1930
+ {
1931
+ f_defect_level: null,
1932
+ f_device_id: "",
1933
+ f_is_defect: "",
1934
+ f_item_name: "累购金额",
1935
+ f_item_value: this.item.f_plan_meters[i].f_total_fee,
1936
+ f_path: "",
1937
+ type: "number"
1938
+ },
1939
+ {
1940
+ f_defect_level: null,
1941
+ f_device_id: "",
1942
+ f_is_defect: "",
1943
+ f_item_name: "已用金额",
1944
+ f_item_value: null,
1945
+ f_path: "",
1946
+ type: "number"
1947
+ },
1948
+ {
1949
+ f_defect_level: null,
1950
+ f_device_id: "",
1951
+ f_is_defect: "",
1952
+ f_item_name: "剩余金额",
1953
+ f_item_value: null,
1954
+ f_path: "",
1955
+ type: "number"
1956
+ },
1957
+ {
1958
+ f_defect_level: null,
1959
+ f_device_id: "",
1960
+ f_is_defect: "",
1961
+ f_item_name: "金额异常差值",
1962
+ isshow:false,
1963
+ f_item_value: null,
1964
+ f_path: "",
1965
+ type: "number"
1966
+ }
1967
+ )
1968
+ console.log('this.config[\'燃气表\'][\'items\'] ===> ' + JSON.stringify(this.config['燃气表']['items']))
1969
+ }
1970
+ } else if (this.item.f_plan_meters[i].f_collection_type == '按气量') {
1971
+ if (!this.data.f_collection_type) {
1972
+ this.data.f_collection_type = this.item.f_plan_meters[i].f_collection_type
1973
+ delete this.config['燃气表']['items']['累购金额']
1974
+ delete this.config['燃气表']['items']['已用金额']
1975
+ delete this.config['燃气表']['items']['剩余金额']
1976
+ delete this.config['燃气表']['items']['金额异常差值']
1977
+ device.f_items.push(
1978
+ {
1979
+ f_defect_level: null,
1980
+ f_device_id: "",
1981
+ f_is_defect: "",
1982
+ f_item_name: "初始表底",
1983
+ isshow: true,
1984
+ f_item_value: this.item.f_plan_meters[i].f_initial_base,
1985
+ f_path: "",
1986
+ type: "number"
1987
+ },
1988
+ {
1989
+ f_defect_level: null,
1990
+ f_device_id: "",
1991
+ f_is_defect: "",
1992
+ f_item_name: "累购气量",
1993
+ f_item_value: this.item.f_plan_meters[i].f_total_gas,
1994
+ f_path: "",
1995
+ type: "number"
1996
+ },
1997
+ {
1998
+ f_defect_level: null,
1999
+ f_device_id: "",
2000
+ f_is_defect: "",
2001
+ f_item_name: "已用气量",
2002
+ f_item_value: this.item.f_plan_meters[i].f_meter_base,
2003
+ f_path: "",
2004
+ type: "number"
2005
+ },
2006
+ {
2007
+ f_defect_level: null,
2008
+ f_device_id: "",
2009
+ f_is_defect: "",
2010
+ f_item_name: "剩余气量",
2011
+ f_item_value: '',
2012
+ f_path: "",
2013
+ type: "number"
2014
+ },
2015
+ {
2016
+ f_defect_level: null,
2017
+ f_device_id: "",
2018
+ f_is_defect: "",
2019
+ f_item_name: "气量异常差值",
2020
+ isshow:false,
2021
+ f_item_value: null,
2022
+ f_path: "",
2023
+ type: "number"
2024
+ }
2025
+ )
2026
+ console.log('this.config[\'燃气表\'][\'items\'] ---> ' + JSON.stringify(this.config['燃气表']['items']))
2027
+ }
2028
+ }
2029
+ })
2030
+ }else if(this.devices[de].device == "燃气表"){
2031
+ console.log("没有this.item.f_plan_meters[i].f_collection_type")
2032
+ this.data['device' + this.devices[de].n].forEach(device => {
2033
+ console.log('device ===> ' + JSON.stringify(device))
2034
+ if (!this.data.f_collection_type) {
2035
+ this.data.f_collection_type = this.item.f_plan_meters[i].f_collection_type
2036
+ delete this.config['燃气表']['items']['累购金额']
2037
+ delete this.config['燃气表']['items']['已用金额']
2038
+ delete this.config['燃气表']['items']['剩余金额']
2039
+ delete this.config['燃气表']['items']['金额异常差值']
2040
+ device.f_items.push(
2041
+ {
2042
+ f_defect_level: null,
2043
+ f_device_id: "",
2044
+ f_is_defect: "",
2045
+ f_item_name: "初始表底",
2046
+ isshow: true,
2047
+ f_item_value: this.item.f_plan_meters[i].f_initial_base,
2048
+ f_path: "",
2049
+ type: "number"
2050
+ },
2051
+ {
2052
+ f_defect_level: null,
2053
+ f_device_id: "",
2054
+ f_is_defect: "",
2055
+ f_item_name: "累购气量",
2056
+ f_item_value: this.item.f_plan_meters[i].f_total_gas,
2057
+ f_path: "",
2058
+ type: "number"
2059
+ },
2060
+ {
2061
+ f_defect_level: null,
2062
+ f_device_id: "",
2063
+ f_is_defect: "",
2064
+ f_item_name: "已用气量",
2065
+ f_item_value: this.item.f_plan_meters[i].f_meter_base,
2066
+ f_path: "",
2067
+ type: "number"
2068
+ },
2069
+ {
2070
+ f_defect_level: null,
2071
+ f_device_id: "",
2072
+ f_is_defect: "",
2073
+ f_item_name: "剩余气量",
2074
+ f_item_value: '',
2075
+ f_path: "",
2076
+ type: "number"
2077
+ },
2078
+ {
2079
+ f_defect_level: null,
2080
+ f_device_id: "",
2081
+ f_is_defect: "",
2082
+ f_item_name: "气量异常差值",
2083
+ isshow:false,
2084
+ f_item_value: null,
2085
+ f_path: "",
2086
+ type: "number"
2087
+ }
2088
+ )
2089
+ console.log('this.config[\'燃气表\'][\'items\'] ---> ' + JSON.stringify(this.config['燃气表']['items']))
2090
+ }
2091
+ })
2092
+ }
2093
+ }
2094
+ }
2095
+ //工商户安检设备添加值
2096
+ if(this.devices[de].device == "燃气具检查"){
2097
+ console.log("this.data['device' + this.devices[de].n]"+JSON.stringify(this.data['device' + this.devices[de].n]))
2098
+ console.log("this.devices[de]"+JSON.stringify(this.devices[de]))
2099
+ this.data['device' + this.devices[de].n].forEach((device)=>{
2100
+ for (let i=0;i<this.deviceinfo.data.length;i++){
2101
+ device.f_items.push(
2102
+ {
2103
+ f_defect_level: null,
2104
+ f_device_id: "",
2105
+ f_is_defect: "",
2106
+ f_item_name: this.deviceinfo.data[i].f_devices_model+'数量',
2107
+ isshow:false,
2108
+ f_item_value: this.deviceinfo.data[i].f_devices_num,
2109
+ f_path: "",
2110
+ type: "string"
2111
+ },
2112
+ {
2113
+ f_defect_level: null,
2114
+ f_device_id: "",
2115
+ f_is_defect: "",
2116
+ f_item_name: this.deviceinfo.data[i].f_devices_model+'品牌',
2117
+ isshow:false,
2118
+ f_item_value: this.deviceinfo.data[i].f_brand,
2119
+ f_path: "",
2120
+ type: "string"
2121
+ }
2122
+ )
2123
+ }
2124
+ })
2125
+ console.log("this.data['device' + this.devices[de].n]"+JSON.stringify(this.data['device' + this.devices[de].n]))
2126
+ }
2127
+ }
2128
+ }
2129
+ var pardate = {
2130
+ _this:this,
2131
+ tittle:'安检详情',
2132
+ safe:true
2133
+ }
2134
+ // this.$dispatch('gotoson',pardate)
2135
+ console.log('页面跳转')
2136
+ this.$goto('safecheck-userinfo', {userinfo:this.data}, 'repair')
2137
+ }
2138
+ },
2139
+ watch: {
2140
+ 'row' () {
2141
+ console.log('row changed')
2142
+ this.copy()
2143
+ }
2144
+ },
2145
+ async ready () {
2146
+ await this.isoverDate()
2147
+ if(this.item.f_user_type == '非民用'){
2148
+ this.deviceinfo=await new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`,{
2149
+ data:{
2150
+ items:" de.* ",
2151
+ tablename:"t_devices de join t_userfiles uf on uf.f_userfiles_id=de.f_userfiles_id",
2152
+ condition:`de.f_state='有效' and uf.f_userinfo_id=${this.item.f_userinfoid}`,
2153
+ orderitem:"de.id"
2154
+ }
2155
+ },{resolveMsg: null, rejectMsg: null})
2156
+ }
2157
+ this.putDevices()
2158
+ //如果已检,则提取安检单
2159
+ if (this.item.f_state != '未检') {
2160
+ if (this.role == 'inspect' || this.role == 'androidview') {
2161
+ HostApp.__callback__ = this.loaded
2162
+ HostApp.__this__ = this
2163
+ let that = this
2164
+ let value = {}
2165
+ console.log('this.item.f_no_checkplan',this.item.f_no_checkplan)
2166
+ if (this.role == 'inspect') {
2167
+ console.log('this.item.f_no_checkplan', this.item.f_no_checkplan)
2168
+ if (this.item.f_no_checkplan == '无计划安检') {
2169
+ value = this.$androidUtil.path({
2170
+ alias: 'getUserinfomation',
2171
+ data: {condition: "f_check_item_id = '" + this.item.id + "' and f_no_checkplan = '无计划安检'"}
2172
+ })
2173
+ } else {
2174
+ value = this.$androidUtil.bzLogic('FetchCheckPaper', {id: this.item.id})
2175
+ }
2176
+ } else {
2177
+ value = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/path/getUserinfomation`, {data: {condition: `id = '${this.item.f_paper_id}'`}})
2178
+ }
2179
+ Util.replaceFalse(value)
2180
+ console.log("value:" + JSON.stringify(value))
2181
+ if (value.data.length != 0) {
2182
+ that.$set('data', value.data[0])
2183
+ console.log("this.data.f_collection_type:" + JSON.stringify(this.data.f_collection_type))
2184
+ if (this.item.f_plan_meters[0].f_meter_type=='机表' || this.data.f_collection_type == '按气量') {
2185
+ delete this.config['燃气表']['items']['累购金额']
2186
+ delete this.config['燃气表']['items']['已用金额']
2187
+ delete this.config['燃气表']['items']['剩余金额']
2188
+ delete this.config['燃气表']['items']['金额异常差值']
2189
+ } else if (this.data.f_collection_type == '按金额') {
2190
+ delete this.config['燃气表']['items']['累购气量']
2191
+ delete this.config['燃气表']['items']['已用气量']
2192
+ delete this.config['燃气表']['items']['剩余气量']
2193
+ delete this.config['燃气表']['items']['气量异常差值']
2194
+ }
2195
+ console.log("f_devices:" + JSON.stringify(value.data[0].f_devices))
2196
+ if (value.data[0].f_devices) {
2197
+ for (let da in that.devices) {
2198
+ that.$set('data.device' + that.devices[da].n, [])
2199
+ }
2200
+ value.data[0].f_devices.forEach((item) => {
2201
+ console.log('回写数据=>' + JSON.stringify(item))
2202
+ for (let i in item.f_items) {
2203
+ // if (item.f_items[i].f_path != '' && item.f_items[i].f_path != null) {
2204
+ // this.picture.push({f_path: item.f_items[i].f_path, name: item.f_items[i].f_item_name})
2205
+ // }
2206
+ for (let de in that.config[item.f_device_type].items) {
2207
+ if (item.f_items[i].f_item_name == de) {
2208
+ if (that.config[item.f_device_type].items[de].type == 'selector' || that.config[item.f_device_type].items[de].type == 'checkbox') {
2209
+ item.f_items[i].f_item_value = []
2210
+ } else {
2211
+ item.f_items[i].f_item_value = ''
2212
+ }
2213
+ }
2214
+ }
2215
+ console.log('回写数据item.f_items[i]=======>' + JSON.stringify(item.f_items[i]))
2216
+ for (let j in item.f_items[i].f_item_lists) {
2217
+ console.log('回写数据item.f_items.f_item_lists[j]=======>' + JSON.stringify(item.f_items[i].f_item_lists[j]))
2218
+ if (item.f_items[i].f_item_value instanceof Array) {
2219
+ item.f_items[i].f_item_value.push(item.f_items[i].f_item_lists[j].f_item_value)
2220
+ } else {
2221
+ item.f_items[i].f_item_value = item.f_items[i].f_item_lists[j].f_item_value
2222
+ }
2223
+
2224
+ }
2225
+ }
2226
+ for (let de in that.devices) {
2227
+ if (that.devices[de].device == item.f_device_type) {
2228
+ that.data['device' + that.devices[de].n].push({
2229
+ f_device_type: item.f_device_type,
2230
+ f_items: item.f_items
2231
+ })
2232
+ console.log("device:" + JSON.stringify(that.data['device' + that.devices[de].n]))
2233
+ }
2234
+ }
2235
+ })
2236
+ if (this.role == 'androidview') {
2237
+ Util.androidRatifyPics(that.data, this.$androidUtil.getProxyUrl())
2238
+ Util.androidRatifyPics(that.picture, this.$androidUtil.getProxyUrl())
2239
+ Util.booleanFilter(that.data)
2240
+ }
2241
+ console.log('回写数据完成后'+JSON.stringify(that.data))
2242
+ }
2243
+ } else {
2244
+ console.log("该安检单可能已不在本地!")
2245
+ this.init()
2246
+ }
2247
+ console.log('页面跳转')
2248
+ var pardate = {
2249
+ _this:this,
2250
+ tittle:'安检详情',
2251
+ safe:true
2252
+ }
2253
+ // this.$dispatch('gotoson',pardate)getImgPath
2254
+ this.$goto('safecheck-userinfo', {userinfo:this.data}, 'repair')
2255
+ } else {
2256
+ let that = this
2257
+ let id
2258
+ if (this.role == 'view') {
2259
+ id = this.item.id
2260
+ }
2261
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/path/getUserinfomation`, {data:{condition:`id = '${id}'`}}).then((respanse)=> {
2262
+ if (respanse.data.length != 0) {
2263
+ that.data = Object.assign(that.data,respanse.data[0])
2264
+ if(respanse.data[0].f_devices) {
2265
+ for (let da in that.devices) {
2266
+ that.$set('data.device' + that.devices[da].n, [])
2267
+ }
2268
+ respanse.data[0].f_devices.forEach((item) => {
2269
+ for (let de in that.devices) {
2270
+ if (that.devices[de].device == item.f_device_type) {
2271
+ that.data['device' + that.devices[de].n].push({
2272
+ f_device_type: item.f_device_type,
2273
+ f_items: item.f_items
2274
+ })
2275
+ }
2276
+ }
2277
+ })
2278
+ }
2279
+ Util.replaceFalse(that.data)
2280
+ Util.booleanFilter(that.data)
2281
+ if(this.role == 'view'){
2282
+ Util.ratifyPics(that.data)
2283
+ }else{
2284
+ Util.androidRatifyPics(that.data,this.$androidUtil.getProxyUrl())
2285
+ }
2286
+ console.log("that.data:", that.data)
2287
+ } else {
2288
+ alert("该安检单可能已不在本地!")
2289
+ this.init()
2290
+ }
2291
+ var pardate = {
2292
+ _this:this,
2293
+ tittle:'安检详情',
2294
+ safe:true
2295
+ }
2296
+ // this.$dispatch('gotoson',pardate)
2297
+ this.$goto('safecheck-userinfo', {userinfo:this.data}, 'paper-router')
2298
+ }
2299
+ ).catch(
2300
+ (respanse) => {
2301
+ alert('查找安检单失败')
2302
+ })
2303
+ }
2304
+ }else{
2305
+ this.init()
2306
+ }
2307
+ // tbs合并数组
2308
+ // if( this.model.serviceacitivity[0].servicerepair.length > 0){
2309
+ // for(let i = 0;i < this.model.serviceacitivity[0].servicerepair.length;i++ ){
2310
+ //
2311
+ // }
2312
+ // }
2313
+ },
2314
+ components: {
2315
+ // 'door-service': DoorService,
2316
+ // 'repair-info': RepairInfo,
2317
+ // 'repair-user-info': RepairUserInfo,
2318
+ // 'outlay': Outlay,
2319
+ // 'fault-all': FaultAll,
2320
+ // 'repair-details':RepairDetails
2321
+ // 'pipeline': Pipeline,
2322
+ // 'device-service': DeviceService,
2323
+ // 'trouble-removal': TroubleRemoval,
2324
+ // 'cooking-utensils': CookingUtensils,
2325
+ // 'repair-matter-info': RepairMatterInfo,
2326
+ // 'first-gas-check': FirstGasCheck,
2327
+ // 'tel-change-matter': TelChangeMatter/
2328
+ },
2329
+ events: {
2330
+ 'tijiao': function () {
2331
+ // 事件回调内的 `this` 自动绑定到注册它的实例上
2332
+ this.confirm()
2333
+ }
2334
+ }
2335
+ }
2336
+ </script>
2337
+ <style lang="less">
2338
+ @import "../../../src/bootstrap/less/variables.less";
2339
+ .noclickbut {
2340
+ pointer-events: none;
2341
+ }
2342
+ .tab-befor-img (@url) {
2343
+ content: '';
2344
+ background-image: url("@{url}");
2345
+ background-size: 20px;
2346
+ display: inline-block;
2347
+ margin-right: 8px;
2348
+ margin-top: 0.3em;
2349
+ height: 1.3em;
2350
+ width: 1.3em;
2351
+ vertical-align: -35%;
2352
+ }
2353
+
2354
+ @media screen and (min-width: 768px) {
2355
+ .android-repair-order > div > ul a {
2356
+ font-size: @font-size-h2;
2357
+ margin: 0.3em 0;
2358
+ }
2359
+ }
2360
+ .repair-details-class{
2361
+ &::before {
2362
+ .tab-befor-img("../../assets/huneiweixiu1.png");
2363
+ }
2364
+ }
2365
+ .repair-info-class {
2366
+ &::before {
2367
+ .tab-befor-img("../../assets/baoxiuxinxi1.png");
2368
+ }
2369
+ }
2370
+ .repair-user-info-class {
2371
+ &::before {
2372
+ .tab-befor-img("../../assets/jibenxinxi1.png")
2373
+ }
2374
+ }
2375
+
2376
+ .door-service-class {
2377
+ &::before {
2378
+ .tab-befor-img("../../assets/huneiweixiu1.png")
2379
+ }
2380
+ }
2381
+
2382
+ .pipeline-class {
2383
+ &::before {
2384
+ .tab-befor-img("../../assets/guandao1.png")
2385
+ }
2386
+ }
2387
+
2388
+ .device-service-class {
2389
+ &::before {
2390
+ .tab-befor-img("../../assets/shebeiweixiu1.png")
2391
+ }
2392
+ }
2393
+
2394
+ .trouble-removal-class {
2395
+ &::before {
2396
+ .tab-befor-img("../../assets/shiguchuli.png")
2397
+ }
2398
+ }
2399
+
2400
+ .cooking-utensils-class {
2401
+ &::before {
2402
+ .tab-befor-img("../../assets/zaoju1.png")
2403
+ }
2404
+ }
2405
+
2406
+ .outlay-class {
2407
+ &::before {
2408
+ .tab-befor-img("../../assets/feiyong1.png")
2409
+ }
2410
+ }
2411
+
2412
+ .fault-all-class {
2413
+ &::before {
2414
+ .tab-befor-img("../../assets/guzhanghuizong1.png")
2415
+ }
2416
+ }
2417
+ .photo-write-class {
2418
+ &::before {
2419
+ .tab-befor-img("../../assets/zaoju.png")
2420
+ }
2421
+ }
2422
+ .delay-apply-class {
2423
+ &::before {
2424
+ .tab-befor-img("../../assets/yonghubaoxiu.png")
2425
+ }
2426
+ }
2427
+
2428
+ .repair-back-class {
2429
+ &::before {
2430
+ .tab-befor-img("../../assets/fanhui.png")
2431
+ }
2432
+ }
2433
+ .butt2 {
2434
+ display: inline;
2435
+ float: right;
2436
+ width: 10px;
2437
+ text-align: center;
2438
+ align-items:center;
2439
+ position: absolute;
2440
+ top:50%;
2441
+
2442
+ left:90%;
2443
+ transform: translate(-50%,-50%);
2444
+ }
2445
+ .linesty{
2446
+ display: inline-block;
2447
+ height:1px;
2448
+ width:100%;
2449
+ background:#d0d0d0;
2450
+ overflow:hidden;
2451
+ vertical-align: middle;
2452
+ }
2453
+ .spanboder{
2454
+ border-bottom:2px solid #499edf;
2455
+ padding-bottom: 8px
2456
+ }
2457
+ .app-botton {
2458
+ position:fixed;
2459
+ background: #87b2dd;
2460
+ right:8px;
2461
+ color: #FFF;
2462
+ padding: 8px;
2463
+ text-align: center;
2464
+ font-size: 1.2em;
2465
+ z-index: 10;
2466
+ opacity:0.5;
2467
+ bottom: 50px;
2468
+ margin-top: -10px;
2469
+ height: 40px;
2470
+ }
2471
+ .android-repair-order > div > ul a {
2472
+ font-size: 12px;
2473
+ color: #333333;
2474
+ padding: 13px 16px;
2475
+ }
2476
+ </style>