safecheck-client 3.0.30-gongyi → 3.0.33-gongyi

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