safecheck-client 3.0.27-gongyi → 3.0.30-gongyi

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