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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (842) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/.eslintrc.js +16 -16
  4. package/.project +11 -11
  5. package/CHANGELOG.md +27 -27
  6. package/README.md +38 -38
  7. package/android.html +18 -18
  8. package/build/css-loaders.js +34 -34
  9. package/build/dev-android.js +151 -151
  10. package/build/dev-client.js +8 -8
  11. package/build/example-server.js +157 -157
  12. package/build/release.sh +28 -28
  13. package/build/utils.js +71 -71
  14. package/build/webpack.base.conf.js +88 -88
  15. package/build/webpack.baseandroid.conf.js +83 -83
  16. package/build/webpack.dev.conf.js +40 -40
  17. package/build/webpack.devandroid.conf.js +33 -33
  18. package/build/webpack.example.conf.js +49 -49
  19. package/build/webpack.hanwei.conf.js +57 -57
  20. package/build/webpack.hwbase.conf.js +78 -78
  21. package/build/webpack.prod.conf.js +80 -80
  22. package/build/webpack.prodandroid.conf.js +60 -60
  23. package/build/webpack.test.conf.js +31 -31
  24. package/build.gradle +14 -14
  25. package/config/dev.env.js +6 -6
  26. package/config/index.js +38 -38
  27. package/config/prod.env.js +3 -3
  28. package/config/test.env.js +6 -6
  29. package/docs/AppBase.md +22 -22
  30. package/docs/Busy.md +14 -14
  31. package/docs/Criteria.md +47 -47
  32. package/docs/CriteriaPaged.md +47 -47
  33. package/docs/DataGrid.md +54 -54
  34. package/docs/DataModel.md +22 -22
  35. package/docs/Dynamic.md +42 -42
  36. package/docs/FormPrint.md +18 -18
  37. package/docs/GetParams.md +11 -11
  38. package/docs/GridTree.md +47 -47
  39. package/docs/HttpBusy.md +13 -13
  40. package/docs/HttpStore.md +29 -29
  41. package/docs/MessageBox.md +28 -28
  42. package/docs/PagedList.md +29 -29
  43. package/docs/Pager.md +21 -21
  44. package/docs/PrintFile.md +38 -38
  45. package/docs/Project.md +23 -23
  46. package/docs/Route.md +105 -105
  47. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  48. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  49. package/docs/Task.md +46 -46
  50. package/docs/TreeList.md +28 -28
  51. package/docs/TreeMixin.md +18 -18
  52. package/docs/all.md +10 -10
  53. package/docs/list.md +42 -42
  54. package/docs/partial.md +75 -75
  55. package/docs/selector.md +82 -82
  56. package/docs/tree.md +40 -40
  57. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  58. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  59. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  60. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  61. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  62. package/examples/AddressList/App.vue +13 -13
  63. package/examples/AddressList/index.html +11 -11
  64. package/examples/AddressList/main.js +13 -13
  65. package/examples/ChangeConfig/App.vue +54 -54
  66. package/examples/ChangeConfig/comp.js +548 -548
  67. package/examples/ChangeConfig/index.html +17 -17
  68. package/examples/ChangeConfig/main.js +13 -13
  69. package/examples/CheckAdvise/App.vue +24 -24
  70. package/examples/CheckAdvise/comp.js +9 -9
  71. package/examples/CheckAdvise/index.html +18 -18
  72. package/examples/CheckAdvise/main.js +13 -13
  73. package/examples/CreatePlan/App.vue +13 -13
  74. package/examples/CreatePlan/index.html +11 -11
  75. package/examples/CreatePlan/main.js +13 -13
  76. package/examples/DispatchList/App.vue +10 -10
  77. package/examples/DispatchList/BaseTree.vue +13 -13
  78. package/examples/DispatchList/Init.vue +22 -22
  79. package/examples/DispatchList/Test.vue +20 -20
  80. package/examples/DispatchList/index.html +11 -11
  81. package/examples/DispatchList/main.js +18 -18
  82. package/examples/PhoneSafePlan/App.vue +36 -36
  83. package/examples/PhoneSafePlan/TestData.js +448 -448
  84. package/examples/PhoneSafePlan/comp.js +33 -33
  85. package/examples/PhoneSafePlan/index.html +17 -17
  86. package/examples/PhoneSafePlan/main.js +13 -13
  87. package/examples/SafePlan/App.vue +83 -83
  88. package/examples/SafePlan/TestData.js +448 -448
  89. package/examples/SafePlan/comp.js +1521 -1521
  90. package/examples/SafePlan/index.html +18 -18
  91. package/examples/SafePlan/main.js +13 -13
  92. package/examples/SafePlan-aode/App.vue +39 -39
  93. package/examples/SafePlan-aode/TestData.js +448 -448
  94. package/examples/SafePlan-aode/comp.js +1132 -1132
  95. package/examples/SafePlan-aode/index.html +17 -17
  96. package/examples/SafePlan-aode/main.js +13 -13
  97. package/examples/SafePlan-liaoyuan/App.vue +53 -53
  98. package/examples/SafePlan-liaoyuan/TestData.js +448 -448
  99. package/examples/SafePlan-liaoyuan/comp.js +1419 -1419
  100. package/examples/SafePlan-liaoyuan/index.html +18 -18
  101. package/examples/SafePlan-liaoyuan/main.js +13 -13
  102. package/examples/SafePlan-shaoguan/App.vue +52 -52
  103. package/examples/SafePlan-shaoguan/TestData.js +448 -448
  104. package/examples/SafePlan-shaoguan/comp.js +1190 -1190
  105. package/examples/SafePlan-shaoguan/index.html +18 -18
  106. package/examples/SafePlan-shaoguan/main.js +13 -13
  107. package/examples/SafePlan-tongchuan/App.vue +81 -81
  108. package/examples/SafePlan-tongchuan/TestData.js +448 -448
  109. package/examples/SafePlan-tongchuan/comp.js +1480 -1480
  110. package/examples/SafePlan-tongchuan/index.html +18 -18
  111. package/examples/SafePlan-tongchuan/main.js +13 -13
  112. package/examples/SafePlan-wenxi/App.vue +80 -80
  113. package/examples/SafePlan-wenxi/TestData.js +448 -448
  114. package/examples/SafePlan-wenxi/comp.js +1545 -1545
  115. package/examples/SafePlan-wenxi/index.html +18 -18
  116. package/examples/SafePlan-wenxi/main.js +13 -13
  117. package/examples/SafePlan-zhoukou/App.vue +81 -81
  118. package/examples/SafePlan-zhoukou/TestData.js +448 -448
  119. package/examples/SafePlan-zhoukou/comp.js +1525 -1525
  120. package/examples/SafePlan-zhoukou/index.html +18 -18
  121. package/examples/SafePlan-zhoukou/main.js +13 -13
  122. package/examples/SafePlanItem/App.vue +33 -33
  123. package/examples/SafePlanItem/TestData.js +448 -448
  124. package/examples/SafePlanItem/comp.js +69 -69
  125. package/examples/SafePlanItem/index.html +17 -17
  126. package/examples/SafePlanItem/main.js +15 -15
  127. package/examples/SafePlanrongcheng/App.vue +52 -52
  128. package/examples/SafePlanrongcheng/TestData.js +448 -448
  129. package/examples/SafePlanrongcheng/comp.js +1133 -1133
  130. package/examples/SafePlanrongcheng/index.html +18 -18
  131. package/examples/SafePlanrongcheng/main.js +13 -13
  132. package/examples/SafePlanrongcheng-gs/App.vue +52 -52
  133. package/examples/SafePlanrongcheng-gs/TestData.js +448 -448
  134. package/examples/SafePlanrongcheng-gs/comp.js +1132 -1132
  135. package/examples/SafePlanrongcheng-gs/index.html +18 -18
  136. package/examples/SafePlanrongcheng-gs/main.js +13 -13
  137. package/examples/SafePlanrongcheng-gssq/App.vue +52 -52
  138. package/examples/SafePlanrongcheng-gssq/TestData.js +448 -448
  139. package/examples/SafePlanrongcheng-gssq/comp.js +1135 -1135
  140. package/examples/SafePlanrongcheng-gssq/index.html +18 -18
  141. package/examples/SafePlanrongcheng-gssq/main.js +13 -13
  142. package/examples/SafePlanrongcheng-mysq/App.vue +52 -52
  143. package/examples/SafePlanrongcheng-mysq/TestData.js +448 -448
  144. package/examples/SafePlanrongcheng-mysq/comp.js +1136 -1136
  145. package/examples/SafePlanrongcheng-mysq/index.html +18 -18
  146. package/examples/SafePlanrongcheng-mysq/main.js +13 -13
  147. package/examples/Test/App.vue +35 -35
  148. package/examples/Test/TestData.js +489 -489
  149. package/examples/Test/index.html +17 -17
  150. package/examples/Test/main.js +13 -13
  151. package/examples/Test//350/216/267/345/217/226/345/217/230/351/207/217 +2 -2
  152. package/examples/UserFiles/App.vue +47 -47
  153. package/examples/UserFiles/TestData.js +448 -448
  154. package/examples/UserFiles/comp.js +227 -227
  155. package/examples/UserFiles/index.html +19 -19
  156. package/examples/UserFiles/main.js +13 -13
  157. package/home.html +16 -16
  158. package/index.html +23 -23
  159. package/oa.iml +8 -8
  160. package/package.json +1 -1
  161. package/publish.bat +7 -7
  162. package/release.bat +5 -5
  163. package/src/AndroidApp.vue +26 -26
  164. package/src/App.vue +27 -27
  165. package/src/Widget.vue +13 -13
  166. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  167. package/src/android-bootstrap/less/.csscomb.json +304 -304
  168. package/src/android-bootstrap/less/.csslintrc +19 -19
  169. package/src/android-bootstrap/less/alerts.less +73 -73
  170. package/src/android-bootstrap/less/badges.less +66 -66
  171. package/src/android-bootstrap/less/bootstrap.less +56 -56
  172. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  173. package/src/android-bootstrap/less/button-groups.less +247 -247
  174. package/src/android-bootstrap/less/buttons.less +173 -173
  175. package/src/android-bootstrap/less/carousel.less +269 -269
  176. package/src/android-bootstrap/less/close.less +34 -34
  177. package/src/android-bootstrap/less/code.less +69 -69
  178. package/src/android-bootstrap/less/component-animations.less +33 -33
  179. package/src/android-bootstrap/less/dropdowns.less +216 -216
  180. package/src/android-bootstrap/less/forms.less +626 -626
  181. package/src/android-bootstrap/less/glyphicons.less +305 -305
  182. package/src/android-bootstrap/less/grid.less +84 -84
  183. package/src/android-bootstrap/less/input-groups.less +167 -167
  184. package/src/android-bootstrap/less/jumbotron.less +52 -52
  185. package/src/android-bootstrap/less/labels.less +64 -64
  186. package/src/android-bootstrap/less/list-group.less +141 -141
  187. package/src/android-bootstrap/less/media.less +66 -66
  188. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  189. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  190. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  191. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  192. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  193. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  194. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  195. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  196. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  197. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  198. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  199. package/src/android-bootstrap/less/mixins/image.less +33 -33
  200. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  201. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  202. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  203. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  204. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  205. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  206. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  207. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  208. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  209. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  210. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  211. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  212. package/src/android-bootstrap/less/mixins/size.less +10 -10
  213. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  214. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  215. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  216. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  217. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  218. package/src/android-bootstrap/less/mixins.less +40 -40
  219. package/src/android-bootstrap/less/modals.less +151 -151
  220. package/src/android-bootstrap/less/navbar.less +660 -660
  221. package/src/android-bootstrap/less/navs.less +290 -290
  222. package/src/android-bootstrap/less/normalize.less +424 -424
  223. package/src/android-bootstrap/less/pager.less +76 -76
  224. package/src/android-bootstrap/less/pagination.less +89 -89
  225. package/src/android-bootstrap/less/panels.less +274 -274
  226. package/src/android-bootstrap/less/popovers.less +131 -131
  227. package/src/android-bootstrap/less/print.less +101 -101
  228. package/src/android-bootstrap/less/progress-bars.less +87 -87
  229. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  230. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  231. package/src/android-bootstrap/less/scaffolding.less +161 -161
  232. package/src/android-bootstrap/less/tables.less +262 -262
  233. package/src/android-bootstrap/less/theme.less +291 -291
  234. package/src/android-bootstrap/less/thumbnails.less +36 -36
  235. package/src/android-bootstrap/less/tooltip.less +102 -102
  236. package/src/android-bootstrap/less/type.less +303 -303
  237. package/src/android-bootstrap/less/utilities.less +55 -55
  238. package/src/android-bootstrap/less/variables.less +896 -896
  239. package/src/android-bootstrap/less/wells.less +29 -29
  240. package/src/android.js +16 -16
  241. package/src/androidBase.js +177 -177
  242. package/src/androidTest.js +20 -20
  243. package/src/bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  244. package/src/bootstrap/less/.csscomb.json +304 -304
  245. package/src/bootstrap/less/.csslintrc +19 -19
  246. package/src/bootstrap/less/alerts.less +73 -73
  247. package/src/bootstrap/less/aofeng/animate.min.css +10 -10
  248. package/src/bootstrap/less/aofeng/standard.less +2121 -2121
  249. package/src/bootstrap/less/aofeng/themeOne/BinaryTemplate.less +686 -686
  250. package/src/bootstrap/less/aofeng/themeOne/loginStyle.less +1586 -1586
  251. package/src/bootstrap/less/aofeng/themeOne/systemStyle.less +2650 -2650
  252. package/src/bootstrap/less/aofeng/themeOne.less +14 -14
  253. package/src/bootstrap/less/aofeng/themeTwo/newStyle1.less +415 -415
  254. package/src/bootstrap/less/aofeng/themeTwo.less +3 -3
  255. package/src/bootstrap/less/badges.less +66 -66
  256. package/src/bootstrap/less/bootstrap.less +65 -65
  257. package/src/bootstrap/less/breadcrumbs.less +26 -26
  258. package/src/bootstrap/less/button-groups.less +247 -247
  259. package/src/bootstrap/less/buttons.less +172 -172
  260. package/src/bootstrap/less/carousel.less +269 -269
  261. package/src/bootstrap/less/close.less +34 -34
  262. package/src/bootstrap/less/code.less +69 -69
  263. package/src/bootstrap/less/component-animations.less +33 -33
  264. package/src/bootstrap/less/dropdowns.less +216 -216
  265. package/src/bootstrap/less/forms.less +626 -626
  266. package/src/bootstrap/less/glyphicons.less +305 -305
  267. package/src/bootstrap/less/grid.less +84 -84
  268. package/src/bootstrap/less/input-groups.less +167 -167
  269. package/src/bootstrap/less/jumbotron.less +52 -52
  270. package/src/bootstrap/less/labels.less +64 -64
  271. package/src/bootstrap/less/list-group.less +141 -141
  272. package/src/bootstrap/less/manageStyle/manageChile.less +180 -180
  273. package/src/bootstrap/less/manageStyle/manageStyle.less +1102 -1102
  274. package/src/bootstrap/less/manageStyle/safeStyle.less +498 -498
  275. package/src/bootstrap/less/media.less +66 -66
  276. package/src/bootstrap/less/mixins/alerts.less +14 -14
  277. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  278. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  279. package/src/bootstrap/less/mixins/buttons.less +69 -69
  280. package/src/bootstrap/less/mixins/center-block.less +7 -7
  281. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  282. package/src/bootstrap/less/mixins/forms.less +90 -90
  283. package/src/bootstrap/less/mixins/gradients.less +59 -59
  284. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  285. package/src/bootstrap/less/mixins/grid.less +122 -122
  286. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  287. package/src/bootstrap/less/mixins/image.less +33 -33
  288. package/src/bootstrap/less/mixins/labels.less +12 -12
  289. package/src/bootstrap/less/mixins/list-group.less +30 -30
  290. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  291. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  292. package/src/bootstrap/less/mixins/opacity.less +8 -8
  293. package/src/bootstrap/less/mixins/pagination.less +24 -24
  294. package/src/bootstrap/less/mixins/panels.less +24 -24
  295. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  296. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  297. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  298. package/src/bootstrap/less/mixins/resize.less +6 -6
  299. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  300. package/src/bootstrap/less/mixins/size.less +10 -10
  301. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  302. package/src/bootstrap/less/mixins/table-row.less +44 -44
  303. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  304. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  305. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  306. package/src/bootstrap/less/mixins.less +40 -40
  307. package/src/bootstrap/less/modals.less +151 -151
  308. package/src/bootstrap/less/navbar.less +660 -660
  309. package/src/bootstrap/less/navs.less +285 -285
  310. package/src/bootstrap/less/normalize.less +424 -424
  311. package/src/bootstrap/less/pager.less +76 -76
  312. package/src/bootstrap/less/pagination.less +89 -89
  313. package/src/bootstrap/less/panels.less +275 -275
  314. package/src/bootstrap/less/popovers.less +131 -131
  315. package/src/bootstrap/less/print.less +101 -101
  316. package/src/bootstrap/less/progress-bars.less +87 -87
  317. package/src/bootstrap/less/responsive-embed.less +35 -35
  318. package/src/bootstrap/less/responsive-utilities.less +194 -194
  319. package/src/bootstrap/less/scaffolding.less +161 -161
  320. package/src/bootstrap/less/stand.less +207 -207
  321. package/src/bootstrap/less/standard.less +503 -503
  322. package/src/bootstrap/less/systemStyle.less +860 -860
  323. package/src/bootstrap/less/tables.less +262 -262
  324. package/src/bootstrap/less/theme.less +291 -291
  325. package/src/bootstrap/less/themeOne.less +36 -36
  326. package/src/bootstrap/less/themeTwo.less +29 -29
  327. package/src/bootstrap/less/thumbnails.less +36 -36
  328. package/src/bootstrap/less/tooltip.less +102 -102
  329. package/src/bootstrap/less/type.less +303 -303
  330. package/src/bootstrap/less/utilities.less +55 -55
  331. package/src/bootstrap/less/variables.less +896 -896
  332. package/src/bootstrap/less/wells.less +29 -29
  333. package/src/components/AloneLoadParams.vue +25 -25
  334. package/src/components/CheckerCount/CheckCountAreaList.vue +306 -306
  335. package/src/components/CheckerCount/CheckCountAreaManage.vue +112 -112
  336. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  337. package/src/components/CheckerCount/ZhouKouCheckCount.vue +272 -272
  338. package/src/components/ExportExcel.vue +334 -334
  339. package/src/components/FileUpload.vue +696 -696
  340. package/src/components/Hello.vue +39 -39
  341. package/src/components/LeftTree.vue +27 -27
  342. package/src/components/Login.vue +459 -459
  343. package/src/components/Main.vue +393 -393
  344. package/src/components/Test.vue +1478 -1478
  345. package/src/components/Util/FileUpload.vue +138 -138
  346. package/src/components/Util/ImgSelfSafe.vue +126 -126
  347. package/src/components/Util/RightTreeSafe.vue +348 -348
  348. package/src/components/Util/SafecheckUpload.vue +265 -265
  349. package/src/components/Util.js +376 -376
  350. package/src/components/android/AddGas.vue +147 -147
  351. package/src/components/android/AddPlanItem.vue +412 -412
  352. package/src/components/android/AddressList.vue +61 -61
  353. package/src/components/android/AdviseCommit.vue +59 -59
  354. package/src/components/android/AndroidCheckResult.vue +181 -181
  355. package/src/components/android/AndroidDefectDeal.vue +397 -397
  356. package/src/components/android/Announcement.vue +167 -167
  357. package/src/components/android/AreaPlan.vue +503 -503
  358. package/src/components/android/AttendanceTally.vue +116 -116
  359. package/src/components/android/Blank.vue +10 -10
  360. package/src/components/android/CheckNotice.vue +89 -89
  361. package/src/components/android/CheckPlan.vue +257 -257
  362. package/src/components/android/CheckPlanDown.vue +216 -216
  363. package/src/components/android/CheckPlanItems.vue +423 -423
  364. package/src/components/android/CheckUnplanPage.vue +56 -56
  365. package/src/components/android/Checker.vue +12 -12
  366. package/src/components/android/CheckerAnnual.vue +81 -81
  367. package/src/components/android/CheckerAnnualDetail.vue +63 -63
  368. package/src/components/android/CheckerAvarta.vue +82 -82
  369. package/src/components/android/CheckerMonthly.vue +84 -84
  370. package/src/components/android/Checkpage.vue +102 -102
  371. package/src/components/android/CurrentCreate.vue +972 -972
  372. package/src/components/android/DailyworkloadQuery.vue +396 -396
  373. package/src/components/android/Defect.vue +119 -119
  374. package/src/components/android/DeviceDefect.vue +187 -187
  375. package/src/components/android/Devices.vue +327 -327
  376. package/src/components/android/DevicesItem.vue +495 -495
  377. package/src/components/android/DevicesItemm.vue +445 -445
  378. package/src/components/android/DevicesNoncivil.vue +214 -214
  379. package/src/components/android/Devicesm.vue +327 -327
  380. package/src/components/android/DoorService.vue +501 -501
  381. package/src/components/android/EquipmentInspection.vue +348 -348
  382. package/src/components/android/ExtractCheckPlan.vue +268 -268
  383. package/src/components/android/ExtractPlanItem.vue +516 -516
  384. package/src/components/android/FootprintMap.vue +120 -120
  385. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  386. package/src/components/android/LcheckUnplan.vue +108 -108
  387. package/src/components/android/LocalPagedList.js +108 -108
  388. package/src/components/android/LocalPathList.js +109 -109
  389. package/src/components/android/Login.vue +222 -222
  390. package/src/components/android/MasterMain.vue +77 -77
  391. package/src/components/android/Menu.vue +132 -132
  392. package/src/components/android/NavBottom.vue +157 -157
  393. package/src/components/android/PaperAlarm.vue +85 -85
  394. package/src/components/android/PaperAlarmNoncivil.vue +286 -286
  395. package/src/components/android/PaperCooker.vue +325 -325
  396. package/src/components/android/PaperDefect.vue +230 -230
  397. package/src/components/android/PaperDevice.vue +279 -279
  398. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  399. package/src/components/android/PaperFeedback.vue +1444 -1444
  400. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  401. package/src/components/android/PaperFurnace.vue +274 -274
  402. package/src/components/android/PaperFurnaceNoncivil.vue +203 -203
  403. package/src/components/android/PaperHeater.vue +287 -287
  404. package/src/components/android/PaperInnerPlumb.vue +171 -171
  405. package/src/components/android/PaperMessage.vue +1323 -1323
  406. package/src/components/android/PaperMessageNocivil.vue +1288 -1288
  407. package/src/components/android/PaperMeter.vue +351 -351
  408. package/src/components/android/PaperMeterNoncivil.vue +481 -481
  409. package/src/components/android/PaperPieceNoncivil.vue +142 -142
  410. package/src/components/android/PaperPlumb.vue +141 -141
  411. package/src/components/android/PaperPlumbNoncivil.vue +253 -253
  412. package/src/components/android/PaperSet.vue +1956 -1956
  413. package/src/components/android/PaperSetNoncivil.vue +1760 -1760
  414. package/src/components/android/PaperState.vue +390 -390
  415. package/src/components/android/PaperStateNoncivil.vue +383 -383
  416. package/src/components/android/PaperStateNoncivilm.vue +377 -377
  417. package/src/components/android/PaperStatem.vue +346 -346
  418. package/src/components/android/PaperUser.vue +606 -606
  419. package/src/components/android/PaperUserNoncivil.vue +424 -424
  420. package/src/components/android/PaperUserm.vue +356 -356
  421. package/src/components/android/PaperValve.vue +178 -178
  422. package/src/components/android/PaperValveNoncivil.vue +180 -180
  423. package/src/components/android/PhoneChangemeterInfo.vue +107 -107
  424. package/src/components/android/PhoneInfoTable.vue +40 -40
  425. package/src/components/android/PhoneSellInfo.vue +113 -113
  426. package/src/components/android/PhoneState.vue +157 -157
  427. package/src/components/android/PhoneUpUserinfo.vue +929 -929
  428. package/src/components/android/PhoneUserFind.vue +111 -111
  429. package/src/components/android/PlumberAnnual.vue +83 -83
  430. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  431. package/src/components/android/PlumberMonthly.vue +84 -84
  432. package/src/components/android/PostMap.vue +83 -83
  433. package/src/components/android/PrearrangedPlan.vue +247 -247
  434. package/src/components/android/QueryCheckHistory.vue +122 -122
  435. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  436. package/src/components/android/RepairAreaList.vue +71 -71
  437. package/src/components/android/RepairList.vue +206 -206
  438. package/src/components/android/RepairMain.vue +60 -60
  439. package/src/components/android/RepairQuery.vue +262 -262
  440. package/src/components/android/Repairman.vue +12 -12
  441. package/src/components/android/ResAreaList.vue +158 -158
  442. package/src/components/android/RightTree.vue +174 -174
  443. package/src/components/android/SafecheckDevices.vue +1143 -1143
  444. package/src/components/android/SafecheckOrderV.vue +2408 -2408
  445. package/src/components/android/SafecheckState.vue +437 -437
  446. package/src/components/android/SafecheckUser.vue +580 -580
  447. package/src/components/android/ShebeiDevices.vue +980 -980
  448. package/src/components/android/StationMaster.vue +12 -12
  449. package/src/components/android/SwitchValve.vue +230 -230
  450. package/src/components/android/SystemSetting.vue +84 -84
  451. package/src/components/android/ToolsPage.vue +51 -51
  452. package/src/components/android/TrackState.vue +134 -134
  453. package/src/components/android/UploadPage.vue +338 -338
  454. package/src/components/android/checkPlanResult.vue +302 -302
  455. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  456. package/src/components/android/userinfo/SafecheckUserInfo.vue +611 -611
  457. package/src/components/android/wasm/PhoneSafePlan.vue +39 -39
  458. package/src/components/android/wasm/TestData.js +448 -448
  459. package/src/components/android/wasm/comp.js +33 -33
  460. package/src/components/attendance/DailyAttendance.vue +99 -99
  461. package/src/components/attendance/MonthlyAttendance.vue +194 -194
  462. package/src/components/callincheck/CallInCheckMain.vue +146 -146
  463. package/src/components/callincheck/CallInPlan.vue +148 -148
  464. package/src/components/callincheck/UserFileList.vue +155 -155
  465. package/src/components/checkAreaClassification.vue +285 -285
  466. package/src/components/checkerphonestate/Checker.vue +32 -32
  467. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  468. package/src/components/checkplan/CheckDetail.vue +205 -205
  469. package/src/components/checkplan/CheckPlan.vue +59 -59
  470. package/src/components/checkplan/SelectCheckPlan.vue +224 -224
  471. package/src/components/checkplan/SelectMessage.vue +105 -105
  472. package/src/components/checkplan/checkmsg.vue +459 -459
  473. package/src/components/checkplan/checkmsgZG.vue +519 -519
  474. package/src/components/cockpit/Splash.vue +85 -85
  475. package/src/components/cockpit/SplashDetail.vue +66 -66
  476. package/src/components/createcheckplan/CreatePlan.vue +1052 -1052
  477. package/src/components/createcheckplan/CreatePlanWuan.vue +1024 -1024
  478. package/src/components/createcheckplan/DelPlanRepeat.vue +318 -318
  479. package/src/components/createcheckplan/DistributePlan.vue +62 -62
  480. package/src/components/createcheckplan/PlanList.vue +433 -433
  481. package/src/components/createcheckplan/PlanUersList.vue +137 -137
  482. package/src/components/defect/DefectDetail.vue +177 -177
  483. package/src/components/defect/DefectDetailWeixiu.vue +177 -177
  484. package/src/components/defect/DefectList.vue +489 -489
  485. package/src/components/defect/DefectListWeixiu.vue +479 -479
  486. package/src/components/defect/DefectMain.vue +63 -63
  487. package/src/components/defect/DefectMainWeixiu.vue +63 -63
  488. package/src/components/defect/DefectPaper.vue +874 -874
  489. package/src/components/defect/DefectPaperWeiXiu.vue +655 -655
  490. package/src/components/defect/ImageViewer.vue +350 -350
  491. package/src/components/defect/ImgButton.vue +118 -118
  492. package/src/components/defect/ImgsButton.vue +62 -62
  493. package/src/components/defects/AddDefectModal.vue +120 -120
  494. package/src/components/defects/AddDevice.vue +95 -95
  495. package/src/components/defects/CheckPaperItem.vue +92 -92
  496. package/src/components/defects/CheckPaperItems.vue +89 -89
  497. package/src/components/defects/CheckPaperSearch.vue +349 -349
  498. package/src/components/defects/CheckPaperSearchMain.vue +55 -55
  499. package/src/components/defects/DefectCondition.vue +180 -180
  500. package/src/components/defects/DefectModal.vue +101 -101
  501. package/src/components/defects/DefectSeting.vue +98 -98
  502. package/src/components/defects/DefectsQuery.vue +190 -190
  503. package/src/components/defects/DevicesAndItem.vue +39 -39
  504. package/src/components/defects/DevicesSeting.vue +106 -106
  505. package/src/components/equipment/BoilerUsage.vue +105 -105
  506. package/src/components/equipment/CheckRate.vue +324 -324
  507. package/src/components/equipment/CheckerRate.vue +333 -333
  508. package/src/components/equipment/CookerUsage.vue +105 -105
  509. package/src/components/equipment/DeviceUsage.vue +105 -105
  510. package/src/components/equipment/FurnaceUsage.vue +105 -105
  511. package/src/components/equipment/GasMeterUsage.vue +109 -109
  512. package/src/components/equipment/HeaterUsage.vue +105 -105
  513. package/src/components/equipment/MonthCheckRate.vue +340 -340
  514. package/src/components/filialCircle/AddCircleFiliale.vue +114 -114
  515. package/src/components/filialCircle/CircleList.vue +139 -139
  516. package/src/components/filialCircle/CircleManage.vue +69 -69
  517. package/src/components/gasusage/GasUsage.vue +126 -126
  518. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  519. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  520. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  521. package/src/components/inspections/Checked.vue +402 -402
  522. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  523. package/src/components/inspections/InsUploadPage.vue +251 -251
  524. package/src/components/inspections/InspectionList.vue +542 -542
  525. package/src/components/inspections/InspectionLists.vue +544 -544
  526. package/src/components/inspections/InspectionListss.vue +544 -544
  527. package/src/components/inspections/inspectionDevices.vue +986 -986
  528. package/src/components/inspections/inspectionFeedback.vue +720 -720
  529. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  530. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  531. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  532. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  533. package/src/components/issueplan/IssuePlanAction.vue +102 -102
  534. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  535. package/src/components/issueplan/IssuePlanQuery.vue +118 -118
  536. package/src/components/json-editor/SafeJsonEditor.vue +212 -212
  537. package/src/components/json-editor/assets/img/jsoneditor-icons.svg +893 -893
  538. package/src/components/json-editor/assets/jsoneditor-minimalist.js +9750 -9750
  539. package/src/components/json-editor/assets/jsoneditor.css +929 -929
  540. package/src/components/json-editor/assets/jsoneditor.js +36376 -36376
  541. package/src/components/json-editor/example/App.vue +53 -53
  542. package/src/components/json-editor/example/index.html +9 -9
  543. package/src/components/json-editor/example/main.js +10 -10
  544. package/src/components/json-editor/package.json +71 -71
  545. package/src/components/json-editor/vue-json-editor.vue +189 -189
  546. package/src/components/levelplan/AdjustPlan.vue +199 -199
  547. package/src/components/levelplan/CheckerLeft.vue +140 -140
  548. package/src/components/levelplan/CheckerPlanAdjust.vue +304 -304
  549. package/src/components/levelplan/CheckerRight.vue +123 -123
  550. package/src/components/map/AMap.vue +70 -70
  551. package/src/components/map/AMapTrailShow.vue +178 -178
  552. package/src/components/map/AMapTrailShowZk.vue +178 -178
  553. package/src/components/map/FootPrintList.vue +45 -45
  554. package/src/components/map/MapCriteriaData.vue +97 -97
  555. package/src/components/map/checkScreen.vue +727 -727
  556. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  557. package/src/components/metterfiles/MetterFiles.vue +104 -104
  558. package/src/components/metterfiles/MetterfilesAdd.vue +168 -168
  559. package/src/components/metterfiles/MetterfilesChange.vue +162 -162
  560. package/src/components/metterfiles/UserFiles.vue +156 -156
  561. package/src/components/metterfiles/Userfileschange.vue +391 -391
  562. package/src/components/notice/NoticeForm.vue +100 -100
  563. package/src/components/notice/NoticeIssue.vue +20 -20
  564. package/src/components/notice/NoticeQuery.vue +76 -76
  565. package/src/components/paper/PaperList.vue +806 -806
  566. package/src/components/paper/PaperVerify.vue +256 -256
  567. package/src/components/paper/PicViewer.vue +18 -18
  568. package/src/components/paper/PlanChooser.vue +159 -159
  569. package/src/components/paper/RepairVerify.vue +139 -139
  570. package/src/components/paper/RepairVerifyForm.vue +76 -76
  571. package/src/components/paper/VerifyForm.vue +107 -107
  572. package/src/components/paper/filialeCheckInfo.vue +111 -111
  573. package/src/components/pc/AnnouncementPC.vue +524 -524
  574. package/src/components/pc/CheckBook.vue +67 -67
  575. package/src/components/pc/CheckBookList.vue +586 -586
  576. package/src/components/pc/CheckBookManage.vue +998 -998
  577. package/src/components/pc/CheckBookUser.vue +77 -77
  578. package/src/components/pc/DeviceChange.vue +1068 -1068
  579. package/src/components/pc/HiddenChart.vue +494 -494
  580. package/src/components/pc/NewCheckpaper.vue +1333 -1333
  581. package/src/components/pc/PaperChazhiMain.vue +570 -570
  582. package/src/components/pc/PaperDefectMain.vue +584 -584
  583. package/src/components/pc/RoleSelector.vue +125 -125
  584. package/src/components/phonestate/DailyTraffic.vue +57 -57
  585. package/src/components/phonestate/FootprintMap.vue +129 -129
  586. package/src/components/phonestate/LastKnownState.vue +74 -74
  587. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  588. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  589. package/src/components/phonestate/PostMap.vue +82 -82
  590. package/src/components/plancheck/CheckPlanAreaManage.vue +116 -116
  591. package/src/components/plancheck/CheckPlanList.vue +282 -282
  592. package/src/components/planmanage/PlanManage.vue +782 -782
  593. package/src/components/planmanage/checkPlanList.vue +341 -341
  594. package/src/components/planmanage/checkUserList.vue +728 -728
  595. package/src/components/querycheckpaper/CheckPaperList.vue +127 -127
  596. package/src/components/querycheckpaper/CheckPaperSearchUser.vue +67 -67
  597. package/src/components/querycheckpaper/CheckSearchUser.vue +1037 -1037
  598. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  599. package/src/components/querycheckpaper/PaperItems.vue +79 -79
  600. package/src/components/querycheckpaper/PaperSearch.vue +126 -126
  601. package/src/components/querycheckpaper/PaperSearchMain.vue +56 -56
  602. package/src/components/querycheckpaper/ShebeiPaperList.vue +121 -121
  603. package/src/components/querycheckpaper/ShebeiPaperSearchUser.vue +67 -67
  604. package/src/components/querycheckpaper/ShebeiSearchUser.vue +690 -690
  605. package/src/components/report/CheckPlanAreaManage.vue +111 -111
  606. package/src/components/report/CheckPlanUserList.vue +217 -217
  607. package/src/components/report/HiddenSituation.vue +210 -210
  608. package/src/components/report/ManageBusSummary.vue +242 -242
  609. package/src/components/report/SafePlanSale.vue +111 -111
  610. package/src/components/report/SafePlanStatistics.vue +118 -118
  611. package/src/components/rongcheng/AddPlanItem.vue +315 -315
  612. package/src/components/rongcheng/AreaPlan.vue +470 -470
  613. package/src/components/rongcheng/AspPaperFeedback.vue +1179 -1179
  614. package/src/components/rongcheng/AspPaperStatem.vue +339 -339
  615. package/src/components/rongcheng/AspiratedAreaPlan.vue +464 -464
  616. package/src/components/rongcheng/AspiratedCurrentCreate.vue +1036 -1036
  617. package/src/components/rongcheng/AspiratedDevices.vue +966 -966
  618. package/src/components/rongcheng/AspiratedOrderV.vue +2376 -2376
  619. package/src/components/rongcheng/AspiratedPaperFeedbackm.vue +1019 -1019
  620. package/src/components/rongcheng/AspiratedPaperMessage.vue +1378 -1378
  621. package/src/components/rongcheng/AspiratedPaperMessageNocivil.vue +1288 -1288
  622. package/src/components/rongcheng/AspiratedUploadPage.vue +293 -293
  623. package/src/components/rongcheng/AspiratedUserInfo.vue +399 -399
  624. package/src/components/rongcheng/CheckCurrentCreate.vue +1046 -1046
  625. package/src/components/rongcheng/CheckPaperList.vue +134 -134
  626. package/src/components/rongcheng/CheckPaperSearchUser.vue +55 -55
  627. package/src/components/rongcheng/CheckPaperSearchUserNo.vue +55 -55
  628. package/src/components/rongcheng/CheckSearchUser.vue +826 -826
  629. package/src/components/rongcheng/CheckSearchUserNo.vue +757 -757
  630. package/src/components/rongcheng/DefectList.vue +560 -560
  631. package/src/components/rongcheng/DefectPaper.vue +638 -638
  632. package/src/components/rongcheng/PaperFeedback.vue +1318 -1318
  633. package/src/components/rongcheng/PaperListAJ.vue +501 -501
  634. package/src/components/rongcheng/PaperListNPAJ.vue +498 -498
  635. package/src/components/rongcheng/PaperListNPSQ.vue +485 -485
  636. package/src/components/rongcheng/PaperListSQ.vue +483 -483
  637. package/src/components/rongcheng/PaperMessage.vue +1186 -1186
  638. package/src/components/rongcheng/PaperMessageNocivil.vue +1211 -1211
  639. package/src/components/rongcheng/PaperStateNoncivilm.vue +366 -366
  640. package/src/components/rongcheng/PaperStatem.vue +343 -343
  641. package/src/components/rongcheng/PhoneDevicesInfo.vue +233 -233
  642. package/src/components/rongcheng/SafecheckDevices.vue +998 -998
  643. package/src/components/rongcheng/SafecheckOrderV.vue +2476 -2476
  644. package/src/components/rongcheng/SafecheckOrderVCli.vue +2594 -2594
  645. package/src/components/rongcheng/SafecheckUserInfo.vue +439 -439
  646. package/src/components/rongcheng/UploadPage.vue +328 -328
  647. package/src/components/rongcheng/checkerplan/SelectCheckPlan.vue +285 -285
  648. package/src/components/rongcheng/report/CheckPlanAreaList.vue +419 -419
  649. package/src/components/rongcheng/report/CheckPlanUserList.vue +228 -228
  650. package/src/components/safecheck/common/TabButton.vue +157 -157
  651. package/src/components/safecheck/common/Tabs.vue +67 -67
  652. package/src/components/safecheck/queryManage/CheckBookAll.vue +71 -71
  653. package/src/components/safecheck/queryManage/SafeCheckManage.vue +88 -88
  654. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  655. package/src/components/sendsingle/onlineChangeMeter.vue +658 -658
  656. package/src/components/sendsingle/onlineoperation.vue +411 -411
  657. package/src/components/sendsingle/onlinequeryuser.vue +363 -363
  658. package/src/components/shaoguan/CheckPlanUserList.vue +119 -119
  659. package/src/components/shaoguan/DefectDetail.vue +177 -177
  660. package/src/components/shaoguan/DefectList.vue +473 -473
  661. package/src/components/shaoguan/DefectMain.vue +53 -53
  662. package/src/components/shaoguan/DefectPaper.vue +217 -217
  663. package/src/components/shaoguan/PaperList.vue +533 -533
  664. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  665. package/src/components/task/RepairAnnual.vue +79 -79
  666. package/src/components/task/RepairAnnualDetail.vue +49 -49
  667. package/src/components/task/RepairMonthly.vue +91 -91
  668. package/src/components/task/TaskAnnual.vue +77 -77
  669. package/src/components/task/TaskAnnualDetail.vue +47 -47
  670. package/src/components/task/TaskMonthly.vue +89 -89
  671. package/src/components/tongcheng/AreaPlan.vue +458 -458
  672. package/src/components/tongcheng/CurrentCreate.vue +625 -625
  673. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  674. package/src/components/tongcheng/PaperMessage.vue +1270 -1270
  675. package/src/components/tongcheng/PaperMessageNocivil.vue +1228 -1228
  676. package/src/components/tongcheng/PaperSet.vue +1958 -1958
  677. package/src/components/tongcheng/PaperUser.vue +533 -533
  678. package/src/components/userfile/InfoModifyModal.vue +122 -122
  679. package/src/components/userfile/MeterFile.vue +145 -145
  680. package/src/components/userfile/MeterModify.vue +46 -46
  681. package/src/components/userfile/UserFile.vue +118 -118
  682. package/src/components/userfile/UserInfoAudit.vue +252 -252
  683. package/src/components/userfile/UserfileChange.vue +277 -277
  684. package/src/components/userfile/UserinfoModify.vue +117 -117
  685. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  686. package/src/components/userfileaudit/UserFileaudit.vue +81 -81
  687. package/src/components/userfileaudit/UserfileChangeaudit.vue +239 -239
  688. package/src/expandcss.less +571 -571
  689. package/src/expandcssAndroid.less +520 -520
  690. package/src/filiale/ALshan/pc/CheckSearchUser.vue +927 -927
  691. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +473 -473
  692. package/src/filiale/ALshan/pc.js +15 -15
  693. package/src/filiale/Util.js +325 -325
  694. package/src/filiale/huatong/android/SafecheckDevices.vue +928 -928
  695. package/src/filiale/huatong/android/SafecheckOrderV.vue +2398 -2398
  696. package/src/filiale/huatong/android.js +14 -14
  697. package/src/filiale/huatong/pc.js +13 -13
  698. package/src/filiale/liaoyuan/android/SafecheckDevices.vue +928 -928
  699. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2383 -2383
  700. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +550 -550
  701. package/src/filiale/liaoyuan/android.js +14 -14
  702. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +483 -483
  703. package/src/filiale/liaoyuan/pc/DefectPaperWeiXiu.vue +975 -975
  704. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  705. package/src/filiale/liaoyuan/pc/PaperList.vue +657 -657
  706. package/src/filiale/liaoyuan/pc.js +15 -15
  707. package/src/filiale/lixian/android/SafecheckDevices.vue +1022 -1022
  708. package/src/filiale/lixian/android/SafecheckOrderV.vue +2403 -2403
  709. package/src/filiale/lixian/android/SafecheckUserInfo.vue +586 -586
  710. package/src/filiale/lixian/android.js +14 -14
  711. package/src/filiale/lixian/pc/CheckPlanAreaList.vue +461 -461
  712. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  713. package/src/filiale/lixian/pc/PaperChazhiMain.vue +607 -607
  714. package/src/filiale/lixian/pc/PaperDefectMain.vue +617 -617
  715. package/src/filiale/lixian/pc/PaperList.vue +686 -686
  716. package/src/filiale/lixian/pc.js +22 -22
  717. package/src/filiale/rongchuang/pc/checkUserList.vue +594 -594
  718. package/src/filiale/rongchuang/pc.js +13 -13
  719. package/src/filiale/shimen/android/CurrentCreate.vue +979 -979
  720. package/src/filiale/shimen/android/PaperFeedback.vue +1341 -1341
  721. package/src/filiale/shimen/android/PhoneSellInfo.vue +88 -88
  722. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  723. package/src/filiale/shimen/android.js +12 -12
  724. package/src/filiale/shimen/pc/CheckPlanAreaList.vue +463 -463
  725. package/src/filiale/shimen/pc/CheckSearchUser.vue +927 -927
  726. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  727. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  728. package/src/filiale/shimen/pc/PaperDefectMain.vue +656 -656
  729. package/src/filiale/shimen/pc/PaperList.vue +613 -613
  730. package/src/filiale/shimen/pc/checkmsg.vue +248 -248
  731. package/src/filiale/shimen/pc.js +21 -21
  732. package/src/filiale/tongchuan/android/PaperFeedback.vue +1350 -1350
  733. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1112 -1112
  734. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +2575 -2575
  735. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +640 -640
  736. package/src/filiale/tongchuan/android/UploadPage.vue +285 -285
  737. package/src/filiale/tongchuan/android.js +13 -13
  738. package/src/filiale/tongchuan/pc/CheckPlanUserList.vue +245 -245
  739. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +956 -956
  740. package/src/filiale/tongchuan/pc/DefectPaper.vue +764 -764
  741. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +509 -509
  742. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +1267 -1267
  743. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +634 -634
  744. package/src/filiale/tongchuan/pc/PaperList.vue +677 -677
  745. package/src/filiale/tongchuan/pc/checkUserList.vue +593 -593
  746. package/src/filiale/tongchuan/pc.js +21 -21
  747. package/src/filiale/wenxi/android/CurrentCreate.vue +1047 -1047
  748. package/src/filiale/wenxi/android/PaperFeedback.vue +1378 -1378
  749. package/src/filiale/wenxi/android/SafecheckDevices.vue +1053 -1053
  750. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2472 -2472
  751. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +584 -584
  752. package/src/filiale/wenxi/android/UploadPage.vue +285 -285
  753. package/src/filiale/wenxi/android.js +14 -14
  754. package/src/filiale/wenxi/pc/DefectPaper.vue +662 -662
  755. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1169 -1169
  756. package/src/filiale/wenxi/pc/PaperDefectMain.vue +634 -634
  757. package/src/filiale/wenxi/pc/PaperList.vue +860 -860
  758. package/src/filiale/wenxi/pc/checkmsg.vue +302 -302
  759. package/src/filiale/wenxi/pc.js +16 -16
  760. package/src/filiale/wuan/android/AreaPlan.vue +513 -513
  761. package/src/filiale/wuan/android/CurrentCreate.vue +985 -985
  762. package/src/filiale/wuan/android/CurrentCreateSheBei.vue +999 -999
  763. package/src/filiale/wuan/android/SafecheckDevices.vue +1150 -1150
  764. package/src/filiale/wuan/android/SafecheckOrderV.vue +2237 -2237
  765. package/src/filiale/wuan/android/SafecheckUserInfo.vue +571 -571
  766. package/src/filiale/wuan/android.js +17 -17
  767. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  768. package/src/filiale/wuan/pc/DefectPaperWeiXiu.vue +514 -514
  769. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  770. package/src/filiale/wuan/pc/PaperList.vue +628 -628
  771. package/src/filiale/wuan/pc.js +19 -19
  772. package/src/filiale/wuhai/android/AreaPlan.vue +529 -529
  773. package/src/filiale/wuhai/android/PaperFeedback.vue +1350 -1350
  774. package/src/filiale/wuhai/android.js +12 -12
  775. package/src/filiale/wuhai/pc/checkUserList.vue +594 -594
  776. package/src/filiale/wuhai/pc.js +13 -13
  777. package/src/filiale/zhongsheng/android/PaperFeedback.vue +1341 -1341
  778. package/src/filiale/zhongsheng/android/PhoneUpUserinfo.vue +926 -926
  779. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2447 -2447
  780. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +591 -591
  781. package/src/filiale/zhongsheng/android.js +17 -17
  782. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  783. package/src/filiale/zhongsheng/pc/DefectPaperWeiXiu.vue +511 -511
  784. package/src/filiale/zhongsheng/pc/InfoModifyModal.vue +123 -123
  785. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1308 -1308
  786. package/src/filiale/zhongsheng/pc/UserInfoAudit.vue +252 -252
  787. package/src/filiale/zhongsheng/pc/UserinfoModify.vue +121 -121
  788. package/src/filiale/zhongsheng/pc.js +15 -15
  789. package/src/filiale/zhoukou/android/AndroidDefectDeal.vue +408 -408
  790. package/src/filiale/zhoukou/android/AreaPlan.vue +543 -543
  791. package/src/filiale/zhoukou/android/CurrentCreate.vue +1014 -1014
  792. package/src/filiale/zhoukou/android/PaperFeedback.vue +1367 -1367
  793. package/src/filiale/zhoukou/android/PhoneUpUserinfo.vue +957 -957
  794. package/src/filiale/zhoukou/android/SafecheckDevices.vue +1174 -1174
  795. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  796. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  797. package/src/filiale/zhoukou/android/UploadPage.vue +301 -301
  798. package/src/filiale/zhoukou/android.js +18 -18
  799. package/src/filiale/zhoukou/pc/CheckSearchUser.vue +923 -923
  800. package/src/filiale/zhoukou/pc/PaperDefectMain.vue +531 -531
  801. package/src/filiale/zhoukou/pc.js +15 -15
  802. package/src/index.js +17 -17
  803. package/src/main.js +33 -33
  804. package/src/plugins/EmojiData.js +514 -514
  805. package/src/plugins/GerJsonConfig.js +59 -59
  806. package/src/plugins/GerJsonObjectConfig.js +44 -44
  807. package/src/plugins/LoadData.js +10 -10
  808. package/src/plugins/LoadParams.js +24 -24
  809. package/src/plugins/LocalPagedList.js +108 -108
  810. package/src/plugins/LocalPathList.js +109 -109
  811. package/src/rongcheng-android.js +193 -193
  812. package/src/rongcheng.js +304 -304
  813. package/src/safecheck-android.js +225 -225
  814. package/src/safecheck.js +723 -723
  815. package/src/shaoguan-android.js +176 -176
  816. package/src/shaoguan.js +276 -276
  817. package/src/stores/AppData.js +46 -46
  818. package/src/stores/wxconfig.js +10 -10
  819. package/src/tongchengsafe-android.js +162 -162
  820. package/src/tongchengsafecheck.js +267 -267
  821. package/src/utils/GerJsonObjectConfig.js +51 -51
  822. package/src/utils/LdapHelper.js +99 -99
  823. package/src/utils/getNowDate.js +33 -33
  824. package/test/SearchList.test.js +14 -14
  825. package/test/e2e/custom-assertions/elementCount.js +26 -26
  826. package/test/e2e/nightwatch.conf.js +40 -40
  827. package/test/e2e/runner.js +30 -30
  828. package/test/e2e/specs/test.js +13 -13
  829. package/test/unit/.eslintrc +5 -5
  830. package/test/unit/TestUtil.js +62 -62
  831. package/test/unit/context.html +20 -20
  832. package/test/unit/index.js +13 -13
  833. package/test/unit/init.js +11 -11
  834. package/test/unit/karma.conf.js +53 -53
  835. package/test/unit/specs/Devices.spec.js +18 -18
  836. package/test/unit/specs/getArrobjconfig.spec.js +104 -104
  837. package/test/unit/specs/getobjconfig.spec.js +37 -37
  838. package/test/unit/specs/phonetest/phonesafecheck.spec.js +23 -23
  839. package/test/unit/specs/safePlanItem.spec.js +30 -30
  840. package/test/unit/specs/safecheck-android.spec.js +7 -7
  841. package/test/unit/specs/safecheck.spec.js +127 -127
  842. package/yarn-error.log +140 -140
@@ -1,1174 +1,1174 @@
1
- <template>
2
- <div class="select-overspread repair-bg auto" style="padding-bottom:5px;">
3
- <!--<div class="bq-parent" v-if="shutype == 'heng'">-->
4
- <!--<blockquote class="blockquote">-->
5
- <!--<p><span>{{repairitem.header}}</span><a @click="mute()" style="float:right" href="#" class="repair-mute-class"><img src="../../assets/novoice.png" width="25px;" alt=""><span style="margin-left:10px;color: #304A66">关闭声音</span></a></p>-->
6
- <!--</blockquote>-->
7
- <!--</div>-->
8
- <div class="panel panel-default auto repair-info-content">
9
- <div class="panel-body" style="padding: 0">
10
- <!-- 安检项内容 -->
11
- <div class="auto repair-info-content compatible" style="padding: 0">
12
- <div class="row auto" style="padding: 0">
13
- <div v-show="false" class="{{shuclass}}" v-if=" device.device != '燃气表'">
14
- <button type="button" name="button" class="btn btn-primary" @click='adddetails()' :disabled="issee">增加</button>
15
- </div>
16
- <!--<div class="{{shuclass}}" v-if="device.device != '燃气表' && candelete">-->
17
- <!--<button type="button" name="button" class="btn btn-primary" @click='deletedetails()' :disabled="issee">删除</button>-->
18
- <!--</div>-->
19
- <div class="shuclass1" v-show="row.isshow" v-for="(idxs,row) in f_items" style="padding: 4px; border:1px solid #D4D4D4;border-bottom: 0" >
20
- <label v-if="row.type != 'radio' && row.type != 'text' && row.type != 'picture' && row.type != 'checkbox'" v-show="row.isshow" class="fivelabel">{{row.f_item_name}}<br/>{{row.remark}}</label>
21
- <label v-if="row.type == 'radio'" v-show="row.isshow" class="radiolabel">{{row.f_item_name}}<br/>{{row.remark}}</label>
22
- <label v-if="row.type == 'text'" v-show="row.isshow" class="textlabel1">{{row.f_item_name}}<br/>{{row.remark}}</label>
23
- <label v-if="row.type == 'picture' || row.type == 'checkbox'" v-show="row.isshow" class="textlabel">{{row.f_item_name}}<br/>{{row.remark}}</label>
24
- <!--<span v-if="show" style="font-weight:bold">{{row.f_content}}</span>-->
25
- <!--<datepicker placeholder="请选择时间"-->
26
- <!--:value.sync="row.f_content"-->
27
- <!--v-model="row.f_content"-->
28
- <!--:format="'yyyy-MM-dd'"-->
29
- <!--v-if="!show && row.type == 'date'"-->
30
- <!--:readonly="true"-->
31
- <!--&gt;</datepicker>-->
32
- <div style="clear: both" v-if="row.type == 'picture'" class="form-group col-sm-12" >
33
- <div class="auto" >
34
- <div class="panel">
35
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 120px;height: 120px;position: relative">
36
- <div class="row" style="height: 120px;width:120px;overflow: scroll;top: 1px">
37
- <div class="col-sm-4" v-show="row.f_path">
38
- <img-self :src="row.f_path" :alt="row.f_item_name" width="100" height="100"></img-self>
39
- </div>
40
- <div class="col-sm-4" v-show="!row.f_path" @click="takePic(idxs, row.f_item_name)">
41
- <img src="../../../assets/tackpic.png" :alt="点击拍摄照片" width="100" height="100"></img>
42
- </div>
43
- <img v-show="row.f_path" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs, row.f_path)" v-if="role!='androidview'" style="width: 25px;height: 25px;position: absolute;left:80px;top:80px"></img>
44
- </div>
45
- </div>
46
- </div>
47
- </div>
48
- </div>
49
- <div style="float: left;width:60%" class="form-group" v-if="row.type == 'string'" v-show="row.isshow">
50
- <input type="text" class="form-control" maxlength="100" v-model="row.f_item_value" :readonly="role == 'androidview' || row.readonly">
51
- </div>
52
- <div style="float: left;width:60%" class="form-group col-sm-12" v-if="row.type == 'date'" v-show="row.isshow">
53
- <datepicker id="f_making_date" :placeholder= row.f_item_name
54
- :value.sync="row.f_item_value"
55
- v-if="row.type == 'date'"
56
- v-show="row.isshow"
57
- :disabled-days-of-Week="[]"
58
- :format="'yyyy-MM-dd 00:00:00'"
59
- :show-reset-button="reset" readonly="readonly">
60
- </datepicker>
61
- </div>
62
-
63
- <div style="float: left;width:60%" class="form-group" v-if="!show && row.type == 'number'" v-show="row.isshow">
64
- <input type="text" class="form-control" maxlength="100" v-model="row.f_item_value" onkeyup="value=value.replace(/[^\d\.]/g,'')" :readonly="row.readonly">
65
- </div>
66
- <!--<input type="text" class="form-control" v-model="row.f_content" v-if="!show && row.type == 'string' && row.f_project != '表号'" :disabled="(!(ischecked == '有')) || issee" :readonly="issee">-->
67
- <!--<input type="text" class="form-control" v-model="meternum" v-if="!show && row.type == 'string' && row.f_project == '表号' " :disabled="(!(ischecked == '有')) || issee" :readonly="issee" >-->
68
- <!--<button type="button" name="button" class="btn btn-primary" @click="scan" v-if="!show && row.f_project == '表号' ">扫码</button>-->
69
- <input-select v-if="row.type == 'inputSelector'"
70
- v-show="row.isshow"
71
- :value.sync="row.selected"
72
- v-model="row.selected"
73
- :readonly="false"
74
- :options="row.options"
75
- @change="changse"
76
- @click="transelation(idxs)"></input-select>
77
- <v-select style="float: left" :value.sync="row.selected"
78
- v-model="row.selected"
79
- v-if="row.type == 'selector'"
80
- :search="false"
81
- v-show="row.isshow"
82
- placeholder='请选择'
83
- :options="row.options"
84
- :disabled="role == 'androidview' || row.readonly"
85
- @change="changse"
86
- @click="transelation(idxs)"
87
- :multiple="row.multiple"
88
- :close-on-select="!row.multiple" clear-button></v-select>
89
- <div style="float: left;width: 30%" class="form-group" v-if="!show && row.type == 'radio'">
90
- <div class="col-xs-6 col-sm-6 col-md-6" v-for="item in row.options">
91
- <!-- <input type="radio" :name="row.f_item_name" @click="disSelect($parent.idxs,item.value)" :value="item.value" :disabled="(!(ischecked == '有')) || issee" v-model="row.f_item_value" >-->
92
- <input type="radio" :name="row.f_item_name" :value="item.value" :disabled="(!(ischecked == '有')) || issee" v-model="row.f_item_value" >
93
-
94
- <span>{{item.label}}</span>
95
- </div>
96
- </div>
97
- <div v-if="!show && row.type == 'checkbox'" class="col-xs-12 col-sm-12 col-md-12" style="white-space: nowrap" >
98
- <div style="float: left" v-for="item in row.options">
99
- <input type="checkbox" :name="row.f_item_name" :value="item.value" :disabled="(!(ischecked == '有')) || issee" v-model="row.f_item_value">
100
- <span>{{item.label}}</span>
101
- </div>
102
- </div>
103
- <div style="clear: both">
104
- <label v-if="row.f_item_value.indexOf('其他') >-1" class="fivelabel">其他</label>
105
- <div style="float: left;width:60%" class="form-group" v-if="row.f_item_value.indexOf('其他') >-1">
106
- <input type="text" class="form-control" maxlength="100" v-model="row.f_else" :readonly="role == 'androidview' || row.readonly">
107
- </div>
108
- </div>
109
- <div style="clear: both">
110
- <div class="form-group col-sm-12" style="display: flex;flex-wrap: wrap" v-if="(row.type == 'selector' || row.type == 'radio' || row.type =='checkbox') && (row.f_path != '' || row.f_is_defect != '')">
111
- <div class="auto" style="margin:1px;">
112
- <div class="panel">
113
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 120px;height: 120px;position: relative">
114
- <div class="col-xs-6" style="height: 120px;width:120px;overflow: scroll;top: 1px">
115
- <div class="col-sm-4" v-show="row.f_path">
116
- <img-self :src="row.f_path" :alt="row.f_item_name" width="100" height="100"></img-self>
117
- </div>
118
- <div class="col-sm-4" v-show="!row.f_path" @click="takePic(idxs, row.f_item_name)">
119
- <img src="../../../assets/tackpic.png" :alt="点击拍摄照片" width="100" height="100"></img>
120
- </div>
121
- <img v-show="row.f_path" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs, row.f_path)" v-if="role!='androidview'" style="width: 25px;height: 25px;position: absolute;left:70px;top:70px"></img>
122
- </div>
123
- </div>
124
- </div>
125
- </div>
126
- <!--多张隐患照片-->
127
- <div class="auto" v-for="itemIndex in hiddenDangerImgNumber" style="margin: 1px;">
128
- <div class="panel">
129
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 120px;height: 120px;position: relative">
130
- <div class="col-xs-6" style="height: 120px;width:120px;overflow: scroll;top: 1px">
131
- <div class="col-sm-4" v-show="row['f_p' + (itemIndex+1) + '_path']">
132
- <img-self :src="row['f_p' + (itemIndex+1) + '_path']" :alt="row.f_item_name" width="100" height="100"></img-self>
133
- </div>
134
- <div class="col-sm-4" v-show="!row['f_p' + (itemIndex+1) + '_path']" @click="takePic(idxs, row.f_item_name,'f_p' + (itemIndex+1)+ '_path')">
135
- <img src="../../../assets/tackpic.png" :alt="点击拍摄照片" width="100" height="100"></img>
136
- </div>
137
- <img v-show="row['f_p' + (itemIndex+1)+'_path']" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs,row['f_p' + (itemIndex+1)+'_path'],'f_p' + (itemIndex+1)+ '_path')" v-if="role!='androidview'" style="width: 25px;height: 25px;position: absolute;left:70px;top:70px"></img>
138
- </div >
139
- </div>
140
- </div>
141
- </div>
142
- </div>
143
- <!--安检员是否进行现场处理-->
144
- <div class="row" v-if="(row.type == 'selector' || row.type == 'radio' || row.type =='checkbox') && (row.f_path != '' || row.f_is_defect != '') && (livedispose == 'true' || livedispose == true) " >
145
- <label class="radiolabel" style="color: #2B4DD5">是否现场已处理</label>
146
- <!--<v-select :value="row.f_live_dispose"
147
- :value-single="true"
148
- :options="lives"
149
- :disabled="role == 'androidview'"
150
- @change="changlive"
151
- @click="transelation(idxs)"
152
- close-on-select clear-button></v-select>-->
153
- <div style="float: left;width: 30%" class="form-group">
154
- <div class="col-xs-6 col-sm-6 col-md-6">
155
- <input type="radio" value="是" v-model="row.f_live_dispose" >
156
- <span>是</span>
157
- </div>
158
- <div class="col-xs-6 col-sm-6 col-md-6">
159
- <input type="radio" value="否" v-model="row.f_live_dispose" >
160
- <span>否</span>
161
- </div>
162
- </div>
163
- </div>
164
- <div class="row" style="display: flex;flex-wrap: wrap" v-if="row.f_live_dispose=='是'">
165
- <div class="auto" style="margin:1px;">
166
- <div class="panel">
167
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 120px;height: 120px;position: relative">
168
- <div class="col-xs-6" style="height: 120px;width:120px;overflow: scroll;top: 1px">
169
- <div class="col-sm-4" v-show="row.f_dispose_path">
170
- <img-self :src="row.f_dispose_path" :alt="row.f_item_name" width="100" height="100"></img-self>
171
- </div>
172
- <div class="col-sm-4" v-show="!row.f_dispose_path" @click="takePic(idxs, row.f_item_name+'-> 现场处理照片','f_dispose_path')">
173
- <img src="../../../assets/tackpic.png" :alt="点击拍摄照片" width="100" height="100"></img>
174
- </div>
175
- <img v-show="row.f_dispose_path" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs, row.f_dispose_path,'f_dispose_path')" v-if="role!='androidview'" style="width: 25px;height: 25px;position: absolute;left:70px;top:70px"></img>
176
- </div>
177
- </div>
178
- </div>
179
- </div>
180
- </div>
181
- <div class="row" v-if="row.f_live_dispose=='否'">
182
- <label class="radiolabel" style="color: #2B4DD5">是否需要转维修</label>
183
- <div style="float: left;width: 30%" class="form-group">
184
- <div class="col-xs-6 col-sm-6 col-md-6">
185
- <input type="radio" value="是" v-model="row.f_need_repair" >
186
- <span>是</span>
187
- </div>
188
- <div class="col-xs-6 col-sm-6 col-md-6">
189
- <input type="radio" value="否" v-model="row.f_need_repair" >
190
- <span>否</span>
191
- </div>
192
- </div>
193
- </div>
194
- <div class="auto" v-if="(row.type == 'selector' || row.type == 'radio' || row.type =='checkbox') && row.tooltip != undefined && row.tooltip != '' ">
195
- <div class="panel">
196
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: auto">
197
- {{row.tooltip}}
198
- </div>
199
- </div>
200
- </div>
201
- </div>
202
-
203
- <!--<v-select :value.sync="row.f_content" :options='getOptions(row.f_project)' placeholder='请选择' :disabled="(!(ischecked == '有')) || issee" close-on-select :value-single="true" v-if="!show && row.type == 'selector' && row.f_project != '气表品牌'"-->
204
- <!--&gt;</v-select>-->
205
- <!--<v-select :value.sync="row.f_content" :options='getOptions(row.f_project)' @change="getgasmodel" placeholder='请选择' :disabled="(!(ischecked == '有')) || issee" close-on-select :value-single="true" v-if="!show && row.type == 'selector' && row.f_project == '气表品牌'"-->
206
- <!--&gt;</v-select>-->
207
- <!-- <div class="auto" v-if="!show && row.type == 'checkbox' ">-->
208
- <!-- <input class="magic-checkbox" type="checkbox" id="shebeicheckbox"-->
209
- <!-- :checked="row.f_content == '有'"-->
210
- <!-- @click="switchDetails(row.f_project, $event)" :disabled="issee"/>-->
211
- <!-- <label for="shebeicheckbox" style="width:150px;padding-bottom: 10px">{{row.f_project}}</label>-->
212
- <!-- </div>-->
213
- <!--<img-area :model="Detail.imgs" :sutitle="row.f_project" v-if="row.type == 'picture'" :disabled="issee"></img-area>-->
214
- </div>
215
- </div>
216
- </div>
217
- <div style="border-top: 1px solid #D4D4D4"></div>
218
- </div>
219
- </div>
220
- </div>
221
- </template>
222
- <script>
223
- import Vue from 'vue'
224
- import * as Util from '../../Util'
225
-
226
- export default {
227
- title: '维修列表信息',
228
- data() {
229
- return {
230
- // telphoneValid: '/^((0\\d{2,3}-\\d{7,8})|(1[3584]\\d{9}))$/',
231
- // meterstyle:[],
232
- hiddenDangerImgNumber:0,//隐患图片数
233
- shuclass:'col-xs-12 col-sm-12 col-md-12 form-input-group mg8',
234
- shuclass1:'col-xs-12 col-sm-12 col-md-12 mg8',
235
- // labels:[],
236
- meternum:'',
237
- ischecked:'有',
238
- gasmodel:'',
239
- textstyle:'color: red',
240
- paper: this.$parent.$parent.data,
241
- f_items:[],
242
- page:{},
243
- selectindex:null,
244
- lives:[{label: '是', value: '是'},{label: '否', value: '否'}],
245
- f_live_dispose:'否',
246
- // 初始表底
247
- f_initial_base: {},
248
- // 气量异常差值 计算公式 => 气量异常差值 = 累计购气量 - (已用气量 - 初始表底) - 剩余气量
249
- f_gas_aberrant_number: {},
250
- // 金额异常差值 计算公式 => 金额异常差值 = 累计购金额 - 已用金额 - 剩余金额
251
- f_fee_aberrant_number: {},
252
- // 累购气量
253
- f_total_gas: {},
254
- // 累购金额
255
- f_total_fee: {},
256
- // 已用气量
257
- f_table_base: {},
258
- // 已用金额
259
- f_fee_base: {},
260
- // 剩余气量
261
- f_gas_balance: {},
262
- // 剩余金额
263
- f_fee_balance: {},
264
- // 气量异常差值允许误差
265
-
266
- //物联网表数据存储
267
- f_balance_amount:{},//物联网表剩余金额
268
- f_meter_base:{},//物联网表读数
269
- f_balance_amount1:{},//物联网表现场录入的表上剩余金额
270
- f_meter_base1:{},//物联网表现场录入的表字轮数
271
- f_meter_aberrant_number1: {},//物联网表 表数异常差值
272
- f_fee_aberrant_number1: {},//物联网 表金额异常差值
273
- gasDeviation: (
274
- function (_this) {
275
- let deviation = _this.$appdata.getSingleValue('气量异常差值允许误差')
276
- if (deviation && !isNaN(deviation)) {
277
- return deviation
278
- } else {
279
- return 0
280
- }
281
- }
282
- )(this),
283
- // 金额异常差值允许误差
284
- feeDeviation: (
285
- function (_this) {
286
- let deviation = _this.$appdata.getSingleValue('金额异常差值允许误差')
287
- if (deviation && !isNaN(deviation)) {
288
- return deviation
289
- } else {
290
- return 0
291
- }
292
- }
293
- )(this),
294
- // 字轮异常差值允许误差
295
- meterbase: (
296
- function (_this) {
297
- let deviation = _this.$appdata.getSingleValue('字轮异常差值允许误差')
298
- if (deviation && !isNaN(deviation)) {
299
- return deviation
300
- } else {
301
- return 0
302
- }
303
- }
304
- )(this),
305
- showElse:false, //控制其他选项是否显示
306
- }
307
- },
308
- props: ['config','device','idx','operation','role'],
309
- // props: {
310
- // // 维修对应的用户数据收集
311
- // model: {
312
- // type: Object
313
- // },
314
- // service:{
315
- // type: Object
316
- // },
317
- // show: {
318
- // type: Boolean,
319
- // default: false
320
- // },
321
- // repairitem:{
322
- // type: Object
323
- // },
324
- // shutype:'heng',
325
- // tabs:{
326
- // type: Object
327
- // },
328
- // repairdetails:{
329
- // type: Object
330
- // },
331
- // faultshow:{
332
- // type: Object
333
- // },
334
- // issee:''
335
- // },
336
- methods: {
337
- changse(val){
338
- if(val == undefined){
339
- return
340
- }
341
- if(this.selectindex != null) {
342
- if(this.f_items[this.selectindex].type == 'selector'){
343
- this.f_items[this.selectindex].f_item_value = val
344
- }else if(this.f_items[this.selectindex].type == 'inputSelector'){
345
- this.f_items[this.selectindex].f_item_value = val.target.value
346
- }
347
- }
348
- },
349
- changlive(val){
350
- if(val == undefined){
351
- return
352
- }
353
- if(this.selectindex != null) {
354
- this.f_items[this.selectindex].f_live_dispose = val
355
- }
356
- },
357
- switchDetails(detailsType, event){
358
- if (event.srcElement.checked) {
359
- for(var i = 0;i<this.Detail.details.length;i++){
360
- if(this.Detail.details[i].f_project == detailsType){
361
- this.Detail.details[i].f_content = '有'
362
- this.ischecked = '有'
363
- return
364
- }
365
- }
366
- } else {
367
- this.Detail.imgs = []
368
- for(var i = 0;i<this.Detail.details.length;i++){
369
- if(this.Detail.details[i].f_project == detailsType){
370
- this.Detail.details[i].f_content = '无'
371
- this.ischecked = '无'
372
- }else{
373
- this.Detail.details[i].f_content = ''
374
- }
375
- }
376
- }
377
- },
378
- getgasmodel(val){
379
- this.gasmodel = val
380
- },
381
- getradios(val,flag){
382
- let Reoptions = []
383
- for (let i = 0;i<this.repairdetails.length;i++) {
384
- var t = false
385
- if(this.repairdetails[i].f_type == this.repairitem.header ){
386
- for(var j =0;j<this.repairdetails[i].details.length;j++){
387
- if(this.repairdetails[i].details[j].f_project == val ){
388
- Reoptions = this.repairdetails[i].details[j].options
389
- t = true
390
- break
391
- }
392
- }
393
- }
394
- if(t){
395
- break
396
- }
397
- }
398
- for(let j = 0;j<Reoptions.length;j++){
399
- if(Reoptions[j].data == flag){
400
- for(var e = 0;e<this.Detail.details.length;e++){
401
- if(this.Detail.details[e].f_project == val){
402
- this.Detail.details[e].f_status = Reoptions[j].f_status
403
- return
404
- }
405
- }
406
- break
407
- }
408
- }
409
- },
410
- deletedetails(){
411
- this.$showMessage('该操作会删除所填信息,是否继续!', ['confirm', 'cancel']).then((res) => {
412
- if (res === 'confirm') {
413
- for(var i = 0;i<this.tabs.length;i++){
414
- if(this.tabs[i].number == this.repairitem.number){
415
- this.tabs.splice(i, 1)
416
- this.model.servicerepair.splice(this.repairitem.number, 1)
417
- for(let t = i;t < this.tabs.length;t++ ) {
418
- this.tabs[t].number -= 1
419
- }
420
- return
421
- }
422
- }
423
- }
424
- })
425
- },
426
- takePic(prop, title, pathname='null') {
427
- if (this.role == 'androidview') {
428
- return
429
- }
430
- if (HostApp.getGpsState().data === false) {
431
- this.$showMessage("隐患拍照需要位置信息,请先打开gps定位!")
432
- return
433
- }
434
- HostApp.__callback__ = this.cameraCallBack
435
- HostApp.__this__ = this
436
- console.log('this.f_items[prop]:' + prop)
437
- let fileName
438
- if (pathname == 'null') {
439
- if (!this.f_items[prop].f_path || this.f_items[prop].f_path.includes("nopic.png")) {
440
- fileName = Util.guid() + '-' + 'device'+this.device.n + '-' + this.idx + '-'+'f_items'+prop+ '.jpg'
441
- } else {
442
- fileName = Util.getFileName(this.f_items[prop].f_path)
443
- }
444
- } else {
445
- if (!this.f_items[prop][pathname] || this.f_items[prop][pathname].includes("nopic.png")) {
446
- fileName = Util.guid() + '-' + 'device'+this.device.n + '-' + this.idx + '-'+'f_items'+prop+ '.jpg'
447
- } else {
448
- fileName = Util.getFileName(this.f_items[prop][pathname])
449
- }
450
- }
451
- console.log('fileName === >' + fileName)
452
- console.log('prop === >' + prop)
453
- let addressA = "未获取到地址";
454
- try {
455
- let posaddress= HostApp.getGpsDetailAddress(); //获取当前地址信息
456
- console.log("---------地址:"+JSON.stringify(addressA))
457
- addressA = posaddress.address
458
- this.f_items[prop].f_longitude=posaddress.longitude
459
- this.f_items[prop].f_latitude=posaddress.latitude
460
- } catch (e) {
461
- console.error('拍照时调用android端获取地址信息错误')
462
- }
463
- HostApp._open_a_page({type: 'boomerang',
464
- page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
465
- param: {
466
- file: fileName
467
- , requestCode: 111
468
- , callback:'javascript:HostApp.__callback__("'+ prop +'", "%s","'+pathname+'");'
469
- , watermark: title + '\t时间:'+ Util.toStandardTimeString() + '\t' + Vue.user.name+ '\t地址:' + addressA
470
- }
471
- })
472
- },
473
- cameraCallBack(prop, fileName,pathname) {
474
- console.log('fileName === >' + fileName + ';prop === >' + prop + ';pathname === >' + pathname)
475
- if (pathname == 'null') {
476
- console.log('!pathname')
477
- HostApp.__this__.$set( 'f_items['+prop+'].f_path', fileName + '?' + Math.random())
478
- console.log(HostApp.__this__.f_items[prop].f_path)
479
- HostApp.__callback__ = null
480
- HostApp.__this__ = null
481
- } else {
482
- console.log('f_items_pathname')
483
- console.log(JSON.stringify(HostApp.__this__.f_items[prop]))
484
- HostApp.__this__.$set( 'f_items['+prop+'].'+pathname+'', fileName + '?' + Math.random())
485
- HostApp.__callback__ = null
486
- HostApp.__this__ = null
487
- }
488
- },
489
- delfile(prop, fileName, pathname='null') {
490
- if (pathname == 'null') {
491
- console.log('照片路径')
492
- console.log(JSON.stringify(fileName))
493
- if(fileName == Vue.nopic){
494
- return
495
- } else {
496
- HostApp.delfile(fileName)
497
- this.f_items[prop].f_path = Vue.nopic
498
- }
499
- }else {
500
- console.log('照片路径')
501
- console.log(JSON.stringify(fileName))
502
- if(fileName == Vue.nopic){
503
- return
504
- } else {
505
- HostApp.delfile(fileName)
506
- this.f_items[prop][pathname] = Vue.nopic
507
- }
508
- }
509
- },
510
- adddetails(){
511
- // 下标作为序号,取值用。 增加 序号得依次增加
512
- if(this.tabs.length > 0){
513
- for(let i = this.tabs.length-1;i > 0 ;i-- ){
514
- if(this.tabs[i].header == this.repairitem.header){
515
- if(this.model.servicerepair.length > 0){
516
- for(let j = this.model.servicerepair.length -1;j > -1;j-- ){
517
- if(this.model.servicerepair[j].f_type == this.repairitem.header){
518
- this.model.servicerepair.splice(j+1, 0, Object.assign({}, JSON.parse(JSON.stringify(this.tabs[i].details))))
519
- this.tabs.splice(i+1, 0, {header: `${this.repairitem.header}`,details:this.tabs[i].details,complete:'repair-details',class:'repair-details-class',number:j+1,items:this.tabs[i].items})
520
- for(let t = i+2;t < this.tabs.length;t++ ) {
521
- this.tabs[t].number += 1
522
- }
523
- this.faultshow.number += this.faultshow.number + 1
524
- return
525
- }
526
- }
527
- }
528
- }
529
- }
530
- }
531
- },
532
- transelation(val){
533
- this.selectindex = val
534
- },
535
- towatch(){
536
- for(let n in this.f_items){
537
- if(typeof this.f_items[n]=='function'){
538
- continue
539
- }
540
- if(this.f_items[n].type == 'selector' || this.f_items[n].type == 'inputSelector'){
541
- // 监听下拉框,如果有隐患,需要拍照
542
- this.$watch('f_items['+n+'].selected',function(val) {
543
- // 下拉框值
544
- console.log('val'+JSON.stringify(val))
545
- // 下拉框所属设备
546
- console.log('this.piece.f_device_type==》'+this.piece.f_device_type)
547
- // 下拉框所属项
548
- console.log('this.f_items[n].f_item_name==》'+this.f_items[n].f_item_name)
549
- let shImage = false
550
- if(val.indexOf('其他') == -1){
551
- this.f_items[n].f_else = ''
552
- }
553
- // if(this.config[this.device.device].items[item].type == 'selector'){
554
- // this.f_items[n].f_item_value = val
555
- // }else if(this.config[this.device.device].items[item].type == 'inputSelector'){
556
- // this.f_items[n].f_item_value = val[0]
557
- // }
558
- // 在配置中查找该项
559
- for (let item in this.config[this.device.device].items) {
560
- if(typeof this.config[this.device.device].items[item]=='function'){
561
- continue
562
- }
563
- let type = this.config[this.device.device].items[item].type
564
- let multiple = this.config[this.device.device].items[item].multiple
565
- let options = this.config[this.device.device].items[item].options
566
- if ((this.config[this.device.device].items[item].type == 'selector' || this.config[this.device.device].items[item].type == 'inputSelector') && item == this.f_items[n].f_item_name) {
567
- for (let i in options) {
568
- if(typeof options[i]=='function'){
569
- continue
570
- }
571
- let value
572
- if(this.config[this.device.device].items[item].type == 'selector' && this.config[this.device.device].items[item].multiple == false){
573
- value = val[0]
574
- }else if (this.config[this.device.device].items[item].type == 'inputSelector'){
575
- value = val
576
- }
577
- console.log('options[i]'+JSON.stringify(options[i]))
578
- // 如果未选择,清空图片、隐患信息等
579
- if((type == 'selector' && val.length == 0) || (type == 'inputSelector' && val == '')){
580
- this.f_items[n].f_path = ''
581
- this.f_items[n].f_is_defect = ''
582
- this.f_items[n].f_defect_level = ''
583
- this.f_items[n].f_live_dispose = ''
584
- this.f_items[n].tooltip = ''
585
- }
586
- if((type == 'selector' && multiple == false && options[i].data == val[0]) || (type == 'inputSelector' && options[i].data == val) || (type == 'selector' && multiple == true && val.indexOf(options[i].data) > -1)){
587
- // 找到选中的项了
588
- console.log('firstIf')
589
- if(options[i].isdefect == true ){
590
- shImage = true
591
- }
592
- if(options[i].isdefect == false || this.f_items[n].f_item_value == ''){
593
- shImage = false
594
- }
595
- console.log('shImage'+shImage)
596
- if(shImage){
597
- this.f_items[n].f_is_defect =true
598
- this.f_items[n].f_defect_level = options[i].level
599
- this.f_items[n].f_path = Vue.nopic
600
- this.f_items[n].f_live_dispose = '否'
601
- this.f_items[n].tooltip= options[i].tooltip
602
- }else{
603
- this.f_items[n].f_path = ''
604
- this.f_items[n].f_is_defect = ''
605
- this.f_items[n].f_defect_level = ''
606
- this.f_items[n].f_live_dispose = ''
607
- this.f_items[n].tooltip = ''
608
- }
609
- }
610
- }
611
- }
612
- }
613
- }
614
- )
615
- // this.$watch('other',function(val){
616
- // console.log('other val===>'+val)
617
- // if(this.selectindex != null) {
618
- // let index = this.f_items[this.selectindex].f_item_value.indexOf('其他')
619
- // if(index > -1){
620
- // this.f_items[this.selectindex].f_item_value.splice(index,1,this.other)
621
- // }
622
- // }
623
- //
624
- // })
625
- }else if(this.f_items[n].type == 'radio') {
626
- // 监听单选框,如果有隐患,需要拍照
627
- this.$watch('f_items[' + n + '].f_item_value', function (val) {
628
- console.log('radio selected ===> ' + JSON.stringify(val))
629
- let options = this.f_items[n].options
630
- console.log('this.f_items[n].options ===> ' + JSON.stringify(this.f_items[n].options))
631
- for (let i = 0; i < options.length; i++) {
632
- console.log('option ===> ' + JSON.stringify(options[i]))
633
- // 找到选中的项了
634
- if (options[i].value == val) {
635
- // 如果有隐患,拍图片
636
- if (options[i].isdefect) {
637
- this.f_items[n].f_is_defect = true
638
- this.f_items[n].f_defect_level = options[i].level
639
- this.f_items[n].f_path = Vue.nopic
640
- this.f_items[n].f_live_dispose = '否'
641
- this.f_items[n].tooltip = options[i].tooltip
642
- console.log('this.f_items[n] ===> ' + JSON.stringify(this.f_items[n]))
643
- return
644
- }
645
- }
646
- }
647
- this.f_items[n].f_path = ''
648
- this.f_items[n].f_is_defect = ''
649
- this.f_items[n].f_defect_level = ''
650
- this.f_items[n].f_live_dispose = ''
651
- this.f_items[n].tooltip = ''
652
- })
653
- }else if(this.f_items[n].type == 'checkbox') {
654
- // 监听单选框,如果有隐患,需要拍照
655
- this.$watch('f_items[' + n + '].f_item_value', function (val) {
656
- console.log('checkbox selected ===> ' + JSON.stringify(val))
657
- // 如果是手动赋值,不执行下面逻辑
658
- if (this.f_items[n].isReSet) {
659
- this.f_items[n].isReSet = false
660
- return
661
- }
662
- let options = this.f_items[n].options
663
- console.log('this.f_items[n].options ===> ' + JSON.stringify(this.f_items[n].options))
664
- // 取出选中项中有隐患的详细信息
665
- let selected = options.filter(item => { return val.indexOf(item.value) != -1 && item.isdefect })
666
-
667
- if(selected.length > 0){
668
- // 防止赋值无限调用
669
- this.f_items[n].isReSet = true
670
- let selectList = selected.map(item => {return item.value})
671
- // 如果选中的是非隐患项,取消选中isdefect为true的
672
- if (selectList.indexOf(val[val.length - 1]) == -1) {
673
- this.f_items[n].f_item_value = val.filter(item => {return selectList.indexOf(item) == -1})
674
- this.f_items[n].f_path = ''
675
- this.f_items[n].f_is_defect = ''
676
- this.f_items[n].f_defect_level = ''
677
- this.f_items[n].f_live_dispose = ''
678
- this.f_items[n].tooltip = ''
679
- return
680
- }
681
- // 如果选中的是隐患项,取消选中isdefect为false的
682
- this.f_items[n].f_item_value = selectList
683
- // 如果第一次选择隐患项,初始化
684
- if (!this.f_items[n].f_is_defect) {
685
- this.f_items[n].f_is_defect = true
686
- this.f_items[n].f_defect_level = selected[0].level
687
- this.f_items[n].f_path = Vue.nopic
688
- this.f_items[n].f_live_dispose = '否'
689
- this.f_items[n].tooltip = selected[0].tooltip
690
- }
691
- console.log('this.f_items[n] ===> ' + JSON.stringify(this.f_items[n]))
692
- return
693
- }
694
- this.f_items[n].f_path = ''
695
- this.f_items[n].f_is_defect = ''
696
- this.f_items[n].f_defect_level = ''
697
- this.f_items[n].f_live_dispose = ''
698
- this.f_items[n].tooltip = ''
699
- })
700
- }
701
- }
702
- console.log('deviceitem.f_items=====>'+JSON.stringify(this.f_items))
703
- },
704
- getGasAberrantNumber(val) {
705
- console.log('检测到气量变化了 ===> ')
706
-
707
- // 先清空
708
- this.f_items[this.f_gas_aberrant_number.index].f_item_value = null
709
- this.f_items[this.f_gas_aberrant_number.index].f_is_defect = false
710
- if(val=='已用气量'){
711
- //剩余气量 = 累购-已用
712
- this.f_items[this.f_gas_balance.index].f_item_value= this.f_items[this.f_total_gas.index].f_item_value-this.f_items[this.f_table_base.index].f_item_value
713
- if (isNaN(this.f_items[this.f_gas_balance.index].f_item_value)) {
714
- this.f_items[this.f_gas_balance.index].f_item_value = null
715
- }
716
- }
717
- // 只有两个值都填了才会计算
718
- if (!this.f_items[this.f_table_base.index].f_item_value || !this.f_items[this.f_gas_balance.index].f_item_value) {
719
- return
720
- }
721
-
722
- // 计算公式 => 气量异常差值 = 累计购气量 - (已用气量 - 初始表底) - 剩余气量
723
- this.f_items[this.f_gas_aberrant_number.index].f_item_value = this.f_items[this.f_total_gas.index].f_item_value - this.f_items[this.f_gas_balance.index].f_item_value - (this.f_items[this.f_table_base.index].f_item_value - this.f_items[this.f_initial_base.index].f_item_value)
724
- this.f_items[this.f_gas_aberrant_number.index].f_item_value = this.f_items[this.f_gas_aberrant_number.index].f_item_value.toFixed(3)
725
- // 如果数值有误,清空结果s
726
- if (isNaN(this.f_items[this.f_gas_aberrant_number.index].f_item_value)) {
727
- this.f_items[this.f_gas_aberrant_number.index].f_item_value = null
728
- }
729
- console.log('Math.abs(this.f_items[this.f_gas_aberrant_number.index].f_item_value) ===> ' + Math.abs(this.f_items[this.f_gas_aberrant_number.index].f_item_value))
730
- console.log('Number(this.gasDeviation) ===> ' + JSON.stringify(Number(this.gasDeviation)))
731
- // 计算差值是否在范围内
732
- if (Math.abs(this.f_items[this.f_gas_aberrant_number.index].f_item_value) > Number(this.gasDeviation)) {
733
- this.f_items[this.f_gas_aberrant_number.index].f_is_defect = true
734
- this.f_items[this.f_gas_aberrant_number.index].f_defect_level = '普通问题'
735
- }
736
-
737
- console.log('this.f_items[this.f_gas_aberrant_number.index] ===> ' + JSON.stringify(this.f_items[this.f_gas_aberrant_number.index]))
738
- },
739
- getFeeAberrantNumber(val) {
740
- console.log('检测到金额变化了 ===> ')
741
-
742
- // 先清空
743
- this.f_items[this.f_fee_aberrant_number.index].f_item_value = null
744
- this.f_items[this.f_fee_aberrant_number.index].f_is_defect = false
745
-
746
- if(val=='已用金额'){
747
- this.f_items[this.f_fee_balance.index].f_item_value=this.f_items[this.f_total_fee.index].f_item_value-this.f_items[this.f_fee_base.index].f_item_value
748
- if (isNaN(this.f_items[this.f_fee_balance.index].f_item_value)) {
749
- this.f_items[this.f_fee_balance.index].f_item_value = null
750
- }
751
- }
752
- // 只有两个值都填了才会计算
753
- if (!this.f_items[this.f_fee_base.index].f_item_value || !this.f_items[this.f_fee_balance.index].f_item_value) {
754
- return
755
- }
756
-
757
- // 计算公式 => 金额异常差值 = 累计购金额 - 已用金额 - 剩余金额
758
- this.f_items[this.f_fee_aberrant_number.index].f_item_value = this.f_items[this.f_total_fee.index].f_item_value - this.f_items[this.f_fee_balance.index].f_item_value - this.f_items[this.f_fee_base.index].f_item_value
759
- this.f_items[this.f_fee_aberrant_number.index].f_item_value = this.f_items[this.f_fee_aberrant_number.index].f_item_value.toFixed(3)
760
- if (isNaN(this.f_items[this.f_fee_aberrant_number.index].f_item_value)) {
761
- this.f_items[this.f_fee_aberrant_number.index].f_item_value = null
762
- }
763
- console.log('Math.abs(this.f_items[this.f_fee_aberrant_number.index].f_item_value) ===> ' + Math.abs(this.f_items[this.f_fee_aberrant_number.index].f_item_value))
764
- console.log('Number(this.feeDeviation) ===> ' + JSON.stringify(Number(this.feeDeviation)))
765
- // 计算差值是否在范围内
766
- if (Math.abs(this.f_items[this.f_fee_aberrant_number.index].f_item_value) > Number(this.feeDeviation)) {
767
- this.f_items[this.f_fee_aberrant_number.index].f_is_defect = true
768
- this.f_items[this.f_fee_aberrant_number.index].f_defect_level = '普通问题'
769
- }
770
-
771
- console.log('this.f_items[this.f_fee_aberrant_number.index] ===> ' + JSON.stringify(this.f_items[this.f_fee_aberrant_number.index]))
772
- },
773
- //物联网表字轮数改变触发
774
- getmeteraberrantnumber() {
775
- console.log('检测到字轮数改变 ===> '+this.f_items[this.f_meter_base.index].f_item_value + this.f_items[this.f_meter_base1.index].f_item_value)
776
-
777
- // 先清空
778
- this.f_items[this.f_meter_aberrant_number1.index].f_item_value = null
779
- this.f_items[this.f_meter_aberrant_number1.index].f_is_defect = false
780
- console.log('检测到字轮数改变 ===>111111111111111 ')
781
- // 只有两个值都填了才会计算
782
- if (!this.f_items[this.f_meter_base.index].f_item_value || !this.f_items[this.f_meter_base1.index].f_item_value) {
783
- return
784
- }
785
- console.log("-----到了吗?"+this.f_items[this.f_meter_base.index].f_item_value+'----'+this.f_items[this.f_meter_base1.index].f_item_value)
786
- // 计算公式 => 表数异常差值= - 字轮数 - 后台表读数
787
- this.f_items[this.f_meter_aberrant_number1.index].f_item_value = this.f_items[this.f_meter_base1.index].f_item_value - this.f_items[this.f_meter_base.index].f_item_value
788
- this.f_items[this.f_meter_aberrant_number1.index].f_item_value = this.f_items[this.f_meter_aberrant_number1.index].f_item_value.toFixed(3)
789
- if (isNaN(this.f_items[this.f_meter_aberrant_number1.index].f_item_value)) {
790
- this.f_items[this.f_meter_aberrant_number1.index].f_item_value = null
791
- }
792
- console.log('Math.abs(this.f_items[this.f_fee_aberrant_number.index].f_item_value) ===> ' + Math.abs(this.f_items[this.f_meter_aberrant_number1.index].f_item_value))
793
- // 计算差值是否在范围内
794
- console.log("字轮数异常范围"+Number(this.feeDeviation))
795
- if (Math.abs(this.f_items[this.f_meter_aberrant_number1.index].f_item_value) > Number(this.meterbase)){
796
- this.f_items[this.f_meter_aberrant_number1.index].f_is_defect = true
797
- }
798
-
799
- console.log('this.f_items[this.f_fee_aberrant_number.index] ===> ' + JSON.stringify(this.f_items[this.f_meter_aberrant_number1.index]))
800
- },
801
-
802
- disSelect(index, itemValue) {
803
- console.log('this.f_items[index] ===> ' + JSON.stringify(this.f_items[index]))
804
- console.log('itemValue ===> ' + JSON.stringify(itemValue))
805
- if (this.f_items[index].f_item_value == itemValue) {
806
- this.$set(`f_items[${index}].f_item_value`, '')
807
- }
808
- }
809
- },
810
- ready() {
811
- console.log('deviec--role=>'+this.role)
812
- console.log('device=>',this.device)
813
- if(Vue.config.safecheck != undefined){
814
- if(Vue.config.safecheck.ApproveConfig != undefined){
815
- if(Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
816
- this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
817
- }
818
- if(Vue.config.safecheck.ApproveConfig.hiddendanger != undefined) {
819
- if (parseInt(Vue.config.safecheck.ApproveConfig.hiddendanger) >= 3) {
820
- this.hiddenDangerImgNumber = 3
821
- }else {
822
- this.hiddenDangerImgNumber = parseInt(Vue.config.safecheck.ApproveConfig.hiddendanger)
823
- }
824
- }
825
- }
826
- }
827
- console.log('开始准备数据')
828
- //console.log('this.paper ===> ' + JSON.stringify(this.paper))
829
- console.log('this.paper[\'device\'+this.device.n] ===> ' + JSON.stringify(this.paper['device'+this.device.n]))
830
- console.log('this.paper[\'device\'+this.device.n][this.idx] ===> ' + JSON.stringify(this.paper['device'+this.device.n][this.idx]))
831
- //创建页面所需数据
832
- this.$set('piece', this.paper['device'+this.device.n][this.idx])
833
- console.log('set之后的piece====》'+JSON.stringify(this.piece))
834
- console.log('this.config====》'+JSON.stringify(this.config))
835
- let n = 0
836
- for (let item in this.config[this.device.device].items) {
837
- if(typeof this.config[this.device.device].items[item]=='function'){
838
- continue
839
- }
840
- let index = this.config[this.device.device].items[item].index-1
841
- this.$set('page.options' + index, [])
842
- console.log('this.config[this.device.device].items='+JSON.stringify(this.config[this.device.device].items))
843
- console.log('item='+JSON.stringify(item))
844
- //console.log('this.device.device='+JSON.stringify(this.device.device))
845
- // 先根据配置组接页面
846
- let f_item_value
847
- if(this.config[this.device.device].items[item].type == 'selector' || this.config[this.device.device].items[item].type == 'checkbox'){
848
- f_item_value = []
849
- // 判断选项的默认值
850
- for (let defitem in this.config[this.device.device].items[item].options) {
851
- if(typeof this.config[this.device.device].items[item].options[defitem]=='function'){
852
- continue
853
- }
854
- let defopt = this.config[this.device.device].items[item].options[defitem]
855
- if (defopt.isdefault) {
856
- //console.log('defopt', defopt)
857
- f_item_value[0] = defopt.data
858
- }
859
- }
860
- // if(this.config[this.device.device].items[item].data){
861
- // f_item_value.push(this.config[this.device.device].items[item].data)
862
- // }
863
- }else if(this.config[this.device.device].items[item].type == 'radio'){
864
- //为radio添加默认值
865
- f_item_value=''
866
- console.log('进入单选-', JSON.stringify(this.config[this.device.device].items[item]))
867
- for (let defitem in this.config[this.device.device].items[item].options) {
868
- if(typeof this.config[this.device.device].items[item].options[defitem]=='function'){
869
- continue
870
- }
871
- //console.log('选项1111-', JSON.stringify(defitem))
872
- let defopt = this.config[this.device.device].items[item].options[defitem]
873
- if (defopt.isdefault) {
874
- //console.log('defopt', JSON.stringify(defopt))
875
- f_item_value = defopt.data
876
- }
877
- }
878
- }else{
879
- f_item_value = this.config[this.device.device].items[item].data ? this.config[this.device.device].items[item].data : ''
880
- }
881
- //console.log('f_item_value ====== > '+JSON.stringify(f_item_value))
882
- let it = {
883
- type: this.config[this.device.device].items[item].type,
884
- f_item_name: item,
885
- checkmust: this.config[this.device.device].items[item].checkmust,
886
- f_item_value: f_item_value,
887
- f_is_defect: '',
888
- multiple:this.config[this.device.device].items[item].multiple == true?this.config[this.device.device].items[item].multiple:false,
889
- isshow:this.config[this.device.device].items[item].isshow == false?this.config[this.device.device].items[item].isshow:true,
890
- readonly: this.config[this.device.device].items[item].readonly == true?true:false,
891
- remark: this.config[this.device.device].items[item].remark ? this.config[this.device.device].items[item].remark : '',
892
- f_need_repair:this.config[this.device.device].items[item].needRepair?this.config[this.device.device].items[item].needRepair:'否',
893
- f_path: '',
894
- tooltip:'',
895
- f_live_dispose:'',
896
- f_dispose_path:'',
897
- f_else: '',
898
- f_p1_path: '',
899
- f_p2_path: '',
900
- f_p3_path: '',
901
- f_longitude:'',
902
- f_latitude:''
903
- }
904
- console.log('index ===> ' + JSON.stringify(index))
905
- console.log('it ===> ' + JSON.stringify(it))
906
- this.$set('f_items['+index+']',it)
907
- if (this.config[this.device.device].items[item].type == 'selector' ||this.config[this.device.device].items[item].type == 'inputSelector') {
908
- if(this.config[this.device.device].items[item].type == 'selector'){
909
- this.page['options' + index].push({
910
- label: "请选择",
911
- value: ''
912
- })
913
- }
914
- for (let i in this.config[this.device.device].items[item].options) {
915
- if(typeof this.config[this.device.device].items[item].options[i]=='function'){
916
- continue
917
- }
918
- this.page['options' + index].push({
919
- label: this.config[this.device.device].items[item].options[i].data,
920
- value: this.config[this.device.device].items[item].options[i].data
921
- })
922
- }
923
- if(this.config[this.device.device].items[item].type == 'selector'){
924
- this.$set('f_items['+index+'].selected', f_item_value)
925
- }else if(this.config[this.device.device].items[item].type == 'inputSelector'){
926
- this.$set('f_items['+index+'].selected', f_item_value)
927
- }
928
-
929
- this.$set('f_items['+index+'].options',this.page['options' + index])
930
-
931
- //console.log('lllllllllllllllllllthis.f_items===>'+JSON.stringify(this.f_items))
932
- } else if (this.config[this.device.device].items[item].type == 'radio' || this.config[this.device.device].items[item].type == 'checkbox') {
933
- //console.log('this.config[this.device.device].items[item].options'+JSON.stringify(this.config[this.device.device].items[item].options))
934
- //console.log('this.config[this.device.device].items[item].options.length'+this.config[this.device.device].items[item].options.length)
935
- //console.log('this.page====='+JSON.stringify(this.page))
936
- for (let i in this.config[this.device.device].items[item].options) {
937
- if(typeof this.config[this.device.device].items[item].options[i]=='function'){
938
- continue
939
- }
940
- //console.log('i====='+i+"----"+typeof this.config[this.device.device].items[item].options[i])
941
- this.page['options' + index].push({
942
- label: this.config[this.device.device].items[item].options[i].data,
943
- value: this.config[this.device.device].items[item].options[i].data,
944
- isdefect: this.config[this.device.device].items[item].options[i].isdefect,
945
- level: this.config[this.device.device].items[item].options[i].level
946
- })
947
- //console.log('this.page[options + index]====='+JSON.stringify(this.page['options' + index]))
948
- }
949
- //console.log('this.page==222==='+JSON.stringify(this.page))
950
- this.$set('f_items[' + index + '].options', this.page['options' + index])
951
- this.$set('f_items[' + index + '].f_item_value', f_item_value)
952
- //console.log('添加radio后的this.f_items===>'+JSON.stringify(this.f_items))
953
- }
954
- n = n + 1
955
- }
956
- if(JSON.stringify(this.piece) == '{}') {
957
- // 如果没有,则新建
958
- this.$set('piece.f_items',this.f_items)
959
- this.$set('piece.f_device_type',this.device.device)
960
- } else {
961
- // 已经存在,把之前的数据重新填入
962
- for (let f in this.f_items){
963
- if(typeof this.f_items[f]=='function'){
964
- continue
965
- }
966
- for(let p in this.piece.f_items) {
967
- if(typeof this.piece.f_items[p]=='function'){
968
- continue
969
- }
970
- if (this.f_items[f].f_item_name == this.piece.f_items[p].f_item_name) {
971
- //console.log('this.f_items[f] ===> ' + JSON.stringify(this.f_items[f]))
972
- //console.log('this.piece.f_items[p] ===> ' + JSON.stringify(this.piece.f_items[p]))
973
- this.f_items[f] = Object.assign(this.f_items[f], this.piece.f_items[p])
974
- //console.log('----> this.f_items[f] ===> ' + JSON.stringify(this.f_items[f]))
975
- if (this.f_items[f].type == 'selector' || this.f_items[f].type == 'inputSelector') {
976
- //console.log('this.piece.f_items[p].f_item_value==>'+ JSON.stringify(this.piece.f_items[p].f_item_value))
977
- //console.log('this.f_items[f].selected==>' + JSON.stringify(this.f_items[f].selected))
978
- this.f_items[f].selected = this.piece.f_items[p].f_item_value
979
- //console.log('this.f_items[f].selected==>' + JSON.stringify(this.f_items[f].selected))
980
- }
981
- // 取出特殊值
982
- if (this.f_items[f].f_item_name == '初始表底') {
983
- console.log('初始表底: ' + JSON.stringify(f))
984
- this.f_initial_base.index = f
985
- } else if (this.f_items[f].f_item_name == '累购气量') {
986
- console.log('累购气量: ' + JSON.stringify(f))
987
- this.f_total_gas.index = f
988
- } else if (this.f_items[f].f_item_name == '已用气量') {
989
- console.log('已用气量: ' + JSON.stringify(f))
990
- this.f_table_base.index = f
991
- this.$watch('f_items[' + f + '].f_item_value', function () {
992
- this.getGasAberrantNumber('已用气量')
993
- })
994
- } else if (this.f_items[f].f_item_name == '剩余气量') {
995
- console.log('剩余气量: ' + JSON.stringify(f))
996
- this.f_gas_balance.index = f
997
- this.$watch('f_items[' + f + '].f_item_value', function () {
998
- this.getGasAberrantNumber('')
999
- })
1000
- } else if (this.f_items[f].f_item_name == '气量异常差值') {
1001
- console.log('气量异常差值: ' + JSON.stringify(f))
1002
- this.f_gas_aberrant_number.index = f
1003
- } else if (this.f_items[f].f_item_name == '累购金额') {
1004
- console.log('累购金额: ' + JSON.stringify(f))
1005
- this.f_total_fee.index = f
1006
- } else if (this.f_items[f].f_item_name == '已用金额') {
1007
- console.log('已用金额: ' + JSON.stringify(f))
1008
- this.f_fee_base.index = f
1009
- this.$watch('f_items[' + f + '].f_item_value', function () {
1010
- this.getFeeAberrantNumber('已用金额')
1011
- })
1012
- } else if (this.f_items[f].f_item_name == '剩余金额') {
1013
- console.log('剩余金额: ' + JSON.stringify(f))
1014
- this.f_fee_balance.index = f
1015
- this.$watch('f_items[' + f + '].f_item_value', function () {
1016
- this.getFeeAberrantNumber('')
1017
- })
1018
- } else if (this.f_items[f].f_item_name == '金额异常差值') {
1019
- console.log('金额异常差值: ' + JSON.stringify(f))
1020
- this.f_fee_aberrant_number.index = f
1021
- }else if (this.f_items[f].f_item_name == '表读数') {
1022
- console.log('上期表读数: ' + JSON.stringify(f))
1023
- this.f_meter_base.index = f
1024
- }else if (this.f_items[f].f_item_name == '表剩余金额') {
1025
- console.log('表剩余金额: ' + JSON.stringify(f))
1026
- this.f_balance_amount.index = f
1027
- }else if (this.f_items[f].f_item_name == '字轮数') {
1028
- console.log('字轮数: ' + JSON.stringify(f))
1029
- this.f_meter_base1.index = f
1030
- this.$watch('f_items[' + f + '].f_item_value', function () {
1031
- this.getmeteraberrantnumber()
1032
- })
1033
- }else if (this.f_items[f].f_item_name == '表余额') {
1034
- console.log('表余额: ' + JSON.stringify(f))
1035
- this.f_balance_amount1.index = f
1036
- this.$watch('f_items[' + f + '].f_item_value', function () {
1037
- this.getfeeaberrantnumber1()
1038
- })
1039
- }else if (this.f_items[f].f_item_name == '表数异常差值') {
1040
- console.log('表数异常差值: ' + JSON.stringify(f))
1041
- this.f_meter_aberrant_number1.index = f
1042
- }else if (this.f_items[f].f_item_name == '表金额异常差值') {
1043
- console.log('表金额异常差值: ' + JSON.stringify(f))
1044
- this.f_fee_aberrant_number1.index = f
1045
- }
1046
- }
1047
- }
1048
- for (let em in this.config[this.device.device].items) {
1049
- if(typeof this.config[this.device.device].items[em]=='function'){
1050
- continue
1051
- }
1052
- if (this.config[this.device.device].items[em].type == 'selector' && em == this.f_items[f].f_item_name) {
1053
- this.f_items[f].options =[]
1054
- for (let k in this.config[this.device.device].items[em].options) {
1055
- if(typeof this.config[this.device.device].items[em].options[k]=='function'){
1056
- continue
1057
- }
1058
- this.f_items[f].options.push({
1059
- label: this.config[this.device.device].items[em].options[k].data,
1060
- value: this.config[this.device.device].items[em].options[k].data
1061
- })
1062
- }
1063
- }
1064
- }
1065
- }
1066
- //console.log('循环完f_items====》'+JSON.stringify(this.f_items))
1067
- this.$set('piece.f_items',this.f_items)
1068
- }
1069
- this.towatch()
1070
- },
1071
- destroyed(){
1072
- let nullCount = 0
1073
- let metertitles
1074
- //判断当前是否有选中项
1075
- for (let row in this.f_items){
1076
- if(typeof this.f_items[row]=='function'){
1077
- continue
1078
- }
1079
- if(this.f_items[row].selected && this.f_items[row].selected != '' && this.f_items[row].selected instanceof Array){
1080
- console.log('selected是数组')
1081
- this.f_items[row].f_item_value = this.f_items[row].selected
1082
- }else if(this.f_items[row].selected && this.f_items[row].selected != ''){
1083
- console.log('selected不是数组')
1084
- this.f_items[row].f_item_value = this.f_items[row].selected
1085
- }
1086
- // if(this.f_items[row].f_item_value instanceof Array && this.f_items[row].f_item_value.length != 0 ){
1087
- // nullCount = nullCount+1
1088
- // }else if(this.f_items[row].f_item_value != ''){
1089
- // nullCount = nullCount+1
1090
- // }
1091
- }
1092
- let picture = []
1093
- // for (let row in this.f_items){
1094
- // let a={}
1095
- // a.f_path = this.f_items[row].f_path
1096
- // a.name = this.f_items[row].f_item_name
1097
- // }
1098
- // picture.push(a)
1099
- this.$set(`paper['device${this.device.n}'][${this.idx}]`, this.piece)
1100
- console.log('完成')
1101
- },
1102
- computed:{
1103
-
1104
- }
1105
- }
1106
- </script>
1107
- <style lang="less" scoped>
1108
- .class-erro {
1109
- color: #a94442;
1110
- }
1111
- .fivelabel{
1112
- border: none;
1113
- border-left: 5px solid #A2C2EB;
1114
- float: left;
1115
- width: 35%;
1116
- margin-bottom: 3px;
1117
- text-align: left;
1118
- word-wrap: break-word;
1119
- white-space: normal;
1120
- }
1121
- .radiolabel{
1122
- border: none;
1123
- border-left: 5px solid #A2C2EB;
1124
- float: left;
1125
- width: 65%;
1126
- margin-bottom: 3px;
1127
- text-align: left;
1128
- word-wrap: break-word;
1129
- white-space: normal;
1130
- }
1131
-
1132
- .textlabel {
1133
- border: none;
1134
- border-left: 5px solid #A2C2EB;
1135
- width: 100%;
1136
- margin-bottom: 3px;
1137
- text-align: left;
1138
- word-wrap: break-word;
1139
- white-space: normal;
1140
- }
1141
- .textlabel1 {
1142
- border: none;
1143
- border-left: 8px solid #f7cb32;
1144
- width: 100%;
1145
- margin-bottom: 3px;
1146
- text-align: left;
1147
- word-wrap: break-word;
1148
- white-space: normal;
1149
- }
1150
- .spanrodio{
1151
- margin-right: 10px;
1152
- }
1153
- .div-photo{
1154
- width: auto;
1155
- height: auto;
1156
- /* margin-top: 10px; */
1157
- position: absolute;
1158
- bottom: 10px;
1159
- right: 10px;
1160
- }
1161
- .panel-self{
1162
- border-radius: 5px;
1163
- border:1px solid #c5e1f7;
1164
- //background-color: #F2F6FA;
1165
- }
1166
- .btn-photo{
1167
- border: 0;
1168
- border-radius: 7px;
1169
- background-color: #7dc1f4;
1170
- font: 15px PingFang-SC-Bold;
1171
- height: 20%;
1172
- }
1173
- </style>
1174
-
1
+ <template>
2
+ <div class="select-overspread repair-bg auto" style="padding-bottom:5px;">
3
+ <!--<div class="bq-parent" v-if="shutype == 'heng'">-->
4
+ <!--<blockquote class="blockquote">-->
5
+ <!--<p><span>{{repairitem.header}}</span><a @click="mute()" style="float:right" href="#" class="repair-mute-class"><img src="../../assets/novoice.png" width="25px;" alt=""><span style="margin-left:10px;color: #304A66">关闭声音</span></a></p>-->
6
+ <!--</blockquote>-->
7
+ <!--</div>-->
8
+ <div class="panel panel-default auto repair-info-content">
9
+ <div class="panel-body" style="padding: 0">
10
+ <!-- 安检项内容 -->
11
+ <div class="auto repair-info-content compatible" style="padding: 0">
12
+ <div class="row auto" style="padding: 0">
13
+ <div v-show="false" class="{{shuclass}}" v-if=" device.device != '燃气表'">
14
+ <button type="button" name="button" class="btn btn-primary" @click='adddetails()' :disabled="issee">增加</button>
15
+ </div>
16
+ <!--<div class="{{shuclass}}" v-if="device.device != '燃气表' && candelete">-->
17
+ <!--<button type="button" name="button" class="btn btn-primary" @click='deletedetails()' :disabled="issee">删除</button>-->
18
+ <!--</div>-->
19
+ <div class="shuclass1" v-show="row.isshow" v-for="(idxs,row) in f_items" style="padding: 4px; border:1px solid #D4D4D4;border-bottom: 0" >
20
+ <label v-if="row.type != 'radio' && row.type != 'text' && row.type != 'picture' && row.type != 'checkbox'" v-show="row.isshow" class="fivelabel">{{row.f_item_name}}<br/>{{row.remark}}</label>
21
+ <label v-if="row.type == 'radio'" v-show="row.isshow" class="radiolabel">{{row.f_item_name}}<br/>{{row.remark}}</label>
22
+ <label v-if="row.type == 'text'" v-show="row.isshow" class="textlabel1">{{row.f_item_name}}<br/>{{row.remark}}</label>
23
+ <label v-if="row.type == 'picture' || row.type == 'checkbox'" v-show="row.isshow" class="textlabel">{{row.f_item_name}}<br/>{{row.remark}}</label>
24
+ <!--<span v-if="show" style="font-weight:bold">{{row.f_content}}</span>-->
25
+ <!--<datepicker placeholder="请选择时间"-->
26
+ <!--:value.sync="row.f_content"-->
27
+ <!--v-model="row.f_content"-->
28
+ <!--:format="'yyyy-MM-dd'"-->
29
+ <!--v-if="!show && row.type == 'date'"-->
30
+ <!--:readonly="true"-->
31
+ <!--&gt;</datepicker>-->
32
+ <div style="clear: both" v-if="row.type == 'picture'" class="form-group col-sm-12" >
33
+ <div class="auto" >
34
+ <div class="panel">
35
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 120px;height: 120px;position: relative">
36
+ <div class="row" style="height: 120px;width:120px;overflow: scroll;top: 1px">
37
+ <div class="col-sm-4" v-show="row.f_path">
38
+ <img-self :src="row.f_path" :alt="row.f_item_name" width="100" height="100"></img-self>
39
+ </div>
40
+ <div class="col-sm-4" v-show="!row.f_path" @click="takePic(idxs, row.f_item_name)">
41
+ <img src="../../../assets/tackpic.png" :alt="点击拍摄照片" width="100" height="100"></img>
42
+ </div>
43
+ <img v-show="row.f_path" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs, row.f_path)" v-if="role!='androidview'" style="width: 25px;height: 25px;position: absolute;left:80px;top:80px"></img>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ <div style="float: left;width:60%" class="form-group" v-if="row.type == 'string'" v-show="row.isshow">
50
+ <input type="text" class="form-control" maxlength="100" v-model="row.f_item_value" :readonly="role == 'androidview' || row.readonly">
51
+ </div>
52
+ <div style="float: left;width:60%" class="form-group col-sm-12" v-if="row.type == 'date'" v-show="row.isshow">
53
+ <datepicker id="f_making_date" :placeholder= row.f_item_name
54
+ :value.sync="row.f_item_value"
55
+ v-if="row.type == 'date'"
56
+ v-show="row.isshow"
57
+ :disabled-days-of-Week="[]"
58
+ :format="'yyyy-MM-dd 00:00:00'"
59
+ :show-reset-button="reset" readonly="readonly">
60
+ </datepicker>
61
+ </div>
62
+
63
+ <div style="float: left;width:60%" class="form-group" v-if="!show && row.type == 'number'" v-show="row.isshow">
64
+ <input type="text" class="form-control" maxlength="100" v-model="row.f_item_value" onkeyup="value=value.replace(/[^\d\.]/g,'')" :readonly="row.readonly">
65
+ </div>
66
+ <!--<input type="text" class="form-control" v-model="row.f_content" v-if="!show && row.type == 'string' && row.f_project != '表号'" :disabled="(!(ischecked == '有')) || issee" :readonly="issee">-->
67
+ <!--<input type="text" class="form-control" v-model="meternum" v-if="!show && row.type == 'string' && row.f_project == '表号' " :disabled="(!(ischecked == '有')) || issee" :readonly="issee" >-->
68
+ <!--<button type="button" name="button" class="btn btn-primary" @click="scan" v-if="!show && row.f_project == '表号' ">扫码</button>-->
69
+ <input-select v-if="row.type == 'inputSelector'"
70
+ v-show="row.isshow"
71
+ :value.sync="row.selected"
72
+ v-model="row.selected"
73
+ :readonly="false"
74
+ :options="row.options"
75
+ @change="changse"
76
+ @click="transelation(idxs)"></input-select>
77
+ <v-select style="float: left" :value.sync="row.selected"
78
+ v-model="row.selected"
79
+ v-if="row.type == 'selector'"
80
+ :search="false"
81
+ v-show="row.isshow"
82
+ placeholder='请选择'
83
+ :options="row.options"
84
+ :disabled="role == 'androidview' || row.readonly"
85
+ @change="changse"
86
+ @click="transelation(idxs)"
87
+ :multiple="row.multiple"
88
+ :close-on-select="!row.multiple" clear-button></v-select>
89
+ <div style="float: left;width: 30%" class="form-group" v-if="!show && row.type == 'radio'">
90
+ <div class="col-xs-6 col-sm-6 col-md-6" v-for="item in row.options">
91
+ <!-- <input type="radio" :name="row.f_item_name" @click="disSelect($parent.idxs,item.value)" :value="item.value" :disabled="(!(ischecked == '有')) || issee" v-model="row.f_item_value" >-->
92
+ <input type="radio" :name="row.f_item_name" :value="item.value" :disabled="(!(ischecked == '有')) || issee" v-model="row.f_item_value" >
93
+
94
+ <span>{{item.label}}</span>
95
+ </div>
96
+ </div>
97
+ <div v-if="!show && row.type == 'checkbox'" class="col-xs-12 col-sm-12 col-md-12" style="white-space: nowrap" >
98
+ <div style="float: left" v-for="item in row.options">
99
+ <input type="checkbox" :name="row.f_item_name" :value="item.value" :disabled="(!(ischecked == '有')) || issee" v-model="row.f_item_value">
100
+ <span>{{item.label}}</span>
101
+ </div>
102
+ </div>
103
+ <div style="clear: both">
104
+ <label v-if="row.f_item_value.indexOf('其他') >-1" class="fivelabel">其他</label>
105
+ <div style="float: left;width:60%" class="form-group" v-if="row.f_item_value.indexOf('其他') >-1">
106
+ <input type="text" class="form-control" maxlength="100" v-model="row.f_else" :readonly="role == 'androidview' || row.readonly">
107
+ </div>
108
+ </div>
109
+ <div style="clear: both">
110
+ <div class="form-group col-sm-12" style="display: flex;flex-wrap: wrap" v-if="(row.type == 'selector' || row.type == 'radio' || row.type =='checkbox') && (row.f_path != '' || row.f_is_defect != '')">
111
+ <div class="auto" style="margin:1px;">
112
+ <div class="panel">
113
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 120px;height: 120px;position: relative">
114
+ <div class="col-xs-6" style="height: 120px;width:120px;overflow: scroll;top: 1px">
115
+ <div class="col-sm-4" v-show="row.f_path">
116
+ <img-self :src="row.f_path" :alt="row.f_item_name" width="100" height="100"></img-self>
117
+ </div>
118
+ <div class="col-sm-4" v-show="!row.f_path" @click="takePic(idxs, row.f_item_name)">
119
+ <img src="../../../assets/tackpic.png" :alt="点击拍摄照片" width="100" height="100"></img>
120
+ </div>
121
+ <img v-show="row.f_path" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs, row.f_path)" v-if="role!='androidview'" style="width: 25px;height: 25px;position: absolute;left:70px;top:70px"></img>
122
+ </div>
123
+ </div>
124
+ </div>
125
+ </div>
126
+ <!--多张隐患照片-->
127
+ <div class="auto" v-for="itemIndex in hiddenDangerImgNumber" style="margin: 1px;">
128
+ <div class="panel">
129
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 120px;height: 120px;position: relative">
130
+ <div class="col-xs-6" style="height: 120px;width:120px;overflow: scroll;top: 1px">
131
+ <div class="col-sm-4" v-show="row['f_p' + (itemIndex+1) + '_path']">
132
+ <img-self :src="row['f_p' + (itemIndex+1) + '_path']" :alt="row.f_item_name" width="100" height="100"></img-self>
133
+ </div>
134
+ <div class="col-sm-4" v-show="!row['f_p' + (itemIndex+1) + '_path']" @click="takePic(idxs, row.f_item_name,'f_p' + (itemIndex+1)+ '_path')">
135
+ <img src="../../../assets/tackpic.png" :alt="点击拍摄照片" width="100" height="100"></img>
136
+ </div>
137
+ <img v-show="row['f_p' + (itemIndex+1)+'_path']" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs,row['f_p' + (itemIndex+1)+'_path'],'f_p' + (itemIndex+1)+ '_path')" v-if="role!='androidview'" style="width: 25px;height: 25px;position: absolute;left:70px;top:70px"></img>
138
+ </div >
139
+ </div>
140
+ </div>
141
+ </div>
142
+ </div>
143
+ <!--安检员是否进行现场处理-->
144
+ <div class="row" v-if="(row.type == 'selector' || row.type == 'radio' || row.type =='checkbox') && (row.f_path != '' || row.f_is_defect != '') && (livedispose == 'true' || livedispose == true) " >
145
+ <label class="radiolabel" style="color: #2B4DD5">是否现场已处理</label>
146
+ <!--<v-select :value="row.f_live_dispose"
147
+ :value-single="true"
148
+ :options="lives"
149
+ :disabled="role == 'androidview'"
150
+ @change="changlive"
151
+ @click="transelation(idxs)"
152
+ close-on-select clear-button></v-select>-->
153
+ <div style="float: left;width: 30%" class="form-group">
154
+ <div class="col-xs-6 col-sm-6 col-md-6">
155
+ <input type="radio" value="是" v-model="row.f_live_dispose" >
156
+ <span>是</span>
157
+ </div>
158
+ <div class="col-xs-6 col-sm-6 col-md-6">
159
+ <input type="radio" value="否" v-model="row.f_live_dispose" >
160
+ <span>否</span>
161
+ </div>
162
+ </div>
163
+ </div>
164
+ <div class="row" style="display: flex;flex-wrap: wrap" v-if="row.f_live_dispose=='是'">
165
+ <div class="auto" style="margin:1px;">
166
+ <div class="panel">
167
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 120px;height: 120px;position: relative">
168
+ <div class="col-xs-6" style="height: 120px;width:120px;overflow: scroll;top: 1px">
169
+ <div class="col-sm-4" v-show="row.f_dispose_path">
170
+ <img-self :src="row.f_dispose_path" :alt="row.f_item_name" width="100" height="100"></img-self>
171
+ </div>
172
+ <div class="col-sm-4" v-show="!row.f_dispose_path" @click="takePic(idxs, row.f_item_name+'-> 现场处理照片','f_dispose_path')">
173
+ <img src="../../../assets/tackpic.png" :alt="点击拍摄照片" width="100" height="100"></img>
174
+ </div>
175
+ <img v-show="row.f_dispose_path" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs, row.f_dispose_path,'f_dispose_path')" v-if="role!='androidview'" style="width: 25px;height: 25px;position: absolute;left:70px;top:70px"></img>
176
+ </div>
177
+ </div>
178
+ </div>
179
+ </div>
180
+ </div>
181
+ <div class="row" v-if="row.f_live_dispose=='否'">
182
+ <label class="radiolabel" style="color: #2B4DD5">是否需要转维修</label>
183
+ <div style="float: left;width: 30%" class="form-group">
184
+ <div class="col-xs-6 col-sm-6 col-md-6">
185
+ <input type="radio" value="是" v-model="row.f_need_repair" >
186
+ <span>是</span>
187
+ </div>
188
+ <div class="col-xs-6 col-sm-6 col-md-6">
189
+ <input type="radio" value="否" v-model="row.f_need_repair" >
190
+ <span>否</span>
191
+ </div>
192
+ </div>
193
+ </div>
194
+ <div class="auto" v-if="(row.type == 'selector' || row.type == 'radio' || row.type =='checkbox') && row.tooltip != undefined && row.tooltip != '' ">
195
+ <div class="panel">
196
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: auto">
197
+ {{row.tooltip}}
198
+ </div>
199
+ </div>
200
+ </div>
201
+ </div>
202
+
203
+ <!--<v-select :value.sync="row.f_content" :options='getOptions(row.f_project)' placeholder='请选择' :disabled="(!(ischecked == '有')) || issee" close-on-select :value-single="true" v-if="!show && row.type == 'selector' && row.f_project != '气表品牌'"-->
204
+ <!--&gt;</v-select>-->
205
+ <!--<v-select :value.sync="row.f_content" :options='getOptions(row.f_project)' @change="getgasmodel" placeholder='请选择' :disabled="(!(ischecked == '有')) || issee" close-on-select :value-single="true" v-if="!show && row.type == 'selector' && row.f_project == '气表品牌'"-->
206
+ <!--&gt;</v-select>-->
207
+ <!-- <div class="auto" v-if="!show && row.type == 'checkbox' ">-->
208
+ <!-- <input class="magic-checkbox" type="checkbox" id="shebeicheckbox"-->
209
+ <!-- :checked="row.f_content == '有'"-->
210
+ <!-- @click="switchDetails(row.f_project, $event)" :disabled="issee"/>-->
211
+ <!-- <label for="shebeicheckbox" style="width:150px;padding-bottom: 10px">{{row.f_project}}</label>-->
212
+ <!-- </div>-->
213
+ <!--<img-area :model="Detail.imgs" :sutitle="row.f_project" v-if="row.type == 'picture'" :disabled="issee"></img-area>-->
214
+ </div>
215
+ </div>
216
+ </div>
217
+ <div style="border-top: 1px solid #D4D4D4"></div>
218
+ </div>
219
+ </div>
220
+ </div>
221
+ </template>
222
+ <script>
223
+ import Vue from 'vue'
224
+ import * as Util from '../../Util'
225
+
226
+ export default {
227
+ title: '维修列表信息',
228
+ data() {
229
+ return {
230
+ // telphoneValid: '/^((0\\d{2,3}-\\d{7,8})|(1[3584]\\d{9}))$/',
231
+ // meterstyle:[],
232
+ hiddenDangerImgNumber:0,//隐患图片数
233
+ shuclass:'col-xs-12 col-sm-12 col-md-12 form-input-group mg8',
234
+ shuclass1:'col-xs-12 col-sm-12 col-md-12 mg8',
235
+ // labels:[],
236
+ meternum:'',
237
+ ischecked:'有',
238
+ gasmodel:'',
239
+ textstyle:'color: red',
240
+ paper: this.$parent.$parent.data,
241
+ f_items:[],
242
+ page:{},
243
+ selectindex:null,
244
+ lives:[{label: '是', value: '是'},{label: '否', value: '否'}],
245
+ f_live_dispose:'否',
246
+ // 初始表底
247
+ f_initial_base: {},
248
+ // 气量异常差值 计算公式 => 气量异常差值 = 累计购气量 - (已用气量 - 初始表底) - 剩余气量
249
+ f_gas_aberrant_number: {},
250
+ // 金额异常差值 计算公式 => 金额异常差值 = 累计购金额 - 已用金额 - 剩余金额
251
+ f_fee_aberrant_number: {},
252
+ // 累购气量
253
+ f_total_gas: {},
254
+ // 累购金额
255
+ f_total_fee: {},
256
+ // 已用气量
257
+ f_table_base: {},
258
+ // 已用金额
259
+ f_fee_base: {},
260
+ // 剩余气量
261
+ f_gas_balance: {},
262
+ // 剩余金额
263
+ f_fee_balance: {},
264
+ // 气量异常差值允许误差
265
+
266
+ //物联网表数据存储
267
+ f_balance_amount:{},//物联网表剩余金额
268
+ f_meter_base:{},//物联网表读数
269
+ f_balance_amount1:{},//物联网表现场录入的表上剩余金额
270
+ f_meter_base1:{},//物联网表现场录入的表字轮数
271
+ f_meter_aberrant_number1: {},//物联网表 表数异常差值
272
+ f_fee_aberrant_number1: {},//物联网 表金额异常差值
273
+ gasDeviation: (
274
+ function (_this) {
275
+ let deviation = _this.$appdata.getSingleValue('气量异常差值允许误差')
276
+ if (deviation && !isNaN(deviation)) {
277
+ return deviation
278
+ } else {
279
+ return 0
280
+ }
281
+ }
282
+ )(this),
283
+ // 金额异常差值允许误差
284
+ feeDeviation: (
285
+ function (_this) {
286
+ let deviation = _this.$appdata.getSingleValue('金额异常差值允许误差')
287
+ if (deviation && !isNaN(deviation)) {
288
+ return deviation
289
+ } else {
290
+ return 0
291
+ }
292
+ }
293
+ )(this),
294
+ // 字轮异常差值允许误差
295
+ meterbase: (
296
+ function (_this) {
297
+ let deviation = _this.$appdata.getSingleValue('字轮异常差值允许误差')
298
+ if (deviation && !isNaN(deviation)) {
299
+ return deviation
300
+ } else {
301
+ return 0
302
+ }
303
+ }
304
+ )(this),
305
+ showElse:false, //控制其他选项是否显示
306
+ }
307
+ },
308
+ props: ['config','device','idx','operation','role'],
309
+ // props: {
310
+ // // 维修对应的用户数据收集
311
+ // model: {
312
+ // type: Object
313
+ // },
314
+ // service:{
315
+ // type: Object
316
+ // },
317
+ // show: {
318
+ // type: Boolean,
319
+ // default: false
320
+ // },
321
+ // repairitem:{
322
+ // type: Object
323
+ // },
324
+ // shutype:'heng',
325
+ // tabs:{
326
+ // type: Object
327
+ // },
328
+ // repairdetails:{
329
+ // type: Object
330
+ // },
331
+ // faultshow:{
332
+ // type: Object
333
+ // },
334
+ // issee:''
335
+ // },
336
+ methods: {
337
+ changse(val){
338
+ if(val == undefined){
339
+ return
340
+ }
341
+ if(this.selectindex != null) {
342
+ if(this.f_items[this.selectindex].type == 'selector'){
343
+ this.f_items[this.selectindex].f_item_value = val
344
+ }else if(this.f_items[this.selectindex].type == 'inputSelector'){
345
+ this.f_items[this.selectindex].f_item_value = val.target.value
346
+ }
347
+ }
348
+ },
349
+ changlive(val){
350
+ if(val == undefined){
351
+ return
352
+ }
353
+ if(this.selectindex != null) {
354
+ this.f_items[this.selectindex].f_live_dispose = val
355
+ }
356
+ },
357
+ switchDetails(detailsType, event){
358
+ if (event.srcElement.checked) {
359
+ for(var i = 0;i<this.Detail.details.length;i++){
360
+ if(this.Detail.details[i].f_project == detailsType){
361
+ this.Detail.details[i].f_content = '有'
362
+ this.ischecked = '有'
363
+ return
364
+ }
365
+ }
366
+ } else {
367
+ this.Detail.imgs = []
368
+ for(var i = 0;i<this.Detail.details.length;i++){
369
+ if(this.Detail.details[i].f_project == detailsType){
370
+ this.Detail.details[i].f_content = '无'
371
+ this.ischecked = '无'
372
+ }else{
373
+ this.Detail.details[i].f_content = ''
374
+ }
375
+ }
376
+ }
377
+ },
378
+ getgasmodel(val){
379
+ this.gasmodel = val
380
+ },
381
+ getradios(val,flag){
382
+ let Reoptions = []
383
+ for (let i = 0;i<this.repairdetails.length;i++) {
384
+ var t = false
385
+ if(this.repairdetails[i].f_type == this.repairitem.header ){
386
+ for(var j =0;j<this.repairdetails[i].details.length;j++){
387
+ if(this.repairdetails[i].details[j].f_project == val ){
388
+ Reoptions = this.repairdetails[i].details[j].options
389
+ t = true
390
+ break
391
+ }
392
+ }
393
+ }
394
+ if(t){
395
+ break
396
+ }
397
+ }
398
+ for(let j = 0;j<Reoptions.length;j++){
399
+ if(Reoptions[j].data == flag){
400
+ for(var e = 0;e<this.Detail.details.length;e++){
401
+ if(this.Detail.details[e].f_project == val){
402
+ this.Detail.details[e].f_status = Reoptions[j].f_status
403
+ return
404
+ }
405
+ }
406
+ break
407
+ }
408
+ }
409
+ },
410
+ deletedetails(){
411
+ this.$showMessage('该操作会删除所填信息,是否继续!', ['confirm', 'cancel']).then((res) => {
412
+ if (res === 'confirm') {
413
+ for(var i = 0;i<this.tabs.length;i++){
414
+ if(this.tabs[i].number == this.repairitem.number){
415
+ this.tabs.splice(i, 1)
416
+ this.model.servicerepair.splice(this.repairitem.number, 1)
417
+ for(let t = i;t < this.tabs.length;t++ ) {
418
+ this.tabs[t].number -= 1
419
+ }
420
+ return
421
+ }
422
+ }
423
+ }
424
+ })
425
+ },
426
+ takePic(prop, title, pathname='null') {
427
+ if (this.role == 'androidview') {
428
+ return
429
+ }
430
+ if (HostApp.getGpsState().data === false) {
431
+ this.$showMessage("隐患拍照需要位置信息,请先打开gps定位!")
432
+ return
433
+ }
434
+ HostApp.__callback__ = this.cameraCallBack
435
+ HostApp.__this__ = this
436
+ console.log('this.f_items[prop]:' + prop)
437
+ let fileName
438
+ if (pathname == 'null') {
439
+ if (!this.f_items[prop].f_path || this.f_items[prop].f_path.includes("nopic.png")) {
440
+ fileName = Util.guid() + '-' + 'device'+this.device.n + '-' + this.idx + '-'+'f_items'+prop+ '.jpg'
441
+ } else {
442
+ fileName = Util.getFileName(this.f_items[prop].f_path)
443
+ }
444
+ } else {
445
+ if (!this.f_items[prop][pathname] || this.f_items[prop][pathname].includes("nopic.png")) {
446
+ fileName = Util.guid() + '-' + 'device'+this.device.n + '-' + this.idx + '-'+'f_items'+prop+ '.jpg'
447
+ } else {
448
+ fileName = Util.getFileName(this.f_items[prop][pathname])
449
+ }
450
+ }
451
+ console.log('fileName === >' + fileName)
452
+ console.log('prop === >' + prop)
453
+ let addressA = "未获取到地址";
454
+ try {
455
+ let posaddress= HostApp.getGpsDetailAddress(); //获取当前地址信息
456
+ console.log("---------地址:"+JSON.stringify(addressA))
457
+ addressA = posaddress.address
458
+ this.f_items[prop].f_longitude=posaddress.longitude
459
+ this.f_items[prop].f_latitude=posaddress.latitude
460
+ } catch (e) {
461
+ console.error('拍照时调用android端获取地址信息错误')
462
+ }
463
+ HostApp._open_a_page({type: 'boomerang',
464
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
465
+ param: {
466
+ file: fileName
467
+ , requestCode: 111
468
+ , callback:'javascript:HostApp.__callback__("'+ prop +'", "%s","'+pathname+'");'
469
+ , watermark: title + '\t时间:'+ Util.toStandardTimeString() + '\t' + Vue.user.name+ '\t地址:' + addressA
470
+ }
471
+ })
472
+ },
473
+ cameraCallBack(prop, fileName,pathname) {
474
+ console.log('fileName === >' + fileName + ';prop === >' + prop + ';pathname === >' + pathname)
475
+ if (pathname == 'null') {
476
+ console.log('!pathname')
477
+ HostApp.__this__.$set( 'f_items['+prop+'].f_path', fileName + '?' + Math.random())
478
+ console.log(HostApp.__this__.f_items[prop].f_path)
479
+ HostApp.__callback__ = null
480
+ HostApp.__this__ = null
481
+ } else {
482
+ console.log('f_items_pathname')
483
+ console.log(JSON.stringify(HostApp.__this__.f_items[prop]))
484
+ HostApp.__this__.$set( 'f_items['+prop+'].'+pathname+'', fileName + '?' + Math.random())
485
+ HostApp.__callback__ = null
486
+ HostApp.__this__ = null
487
+ }
488
+ },
489
+ delfile(prop, fileName, pathname='null') {
490
+ if (pathname == 'null') {
491
+ console.log('照片路径')
492
+ console.log(JSON.stringify(fileName))
493
+ if(fileName == Vue.nopic){
494
+ return
495
+ } else {
496
+ HostApp.delfile(fileName)
497
+ this.f_items[prop].f_path = Vue.nopic
498
+ }
499
+ }else {
500
+ console.log('照片路径')
501
+ console.log(JSON.stringify(fileName))
502
+ if(fileName == Vue.nopic){
503
+ return
504
+ } else {
505
+ HostApp.delfile(fileName)
506
+ this.f_items[prop][pathname] = Vue.nopic
507
+ }
508
+ }
509
+ },
510
+ adddetails(){
511
+ // 下标作为序号,取值用。 增加 序号得依次增加
512
+ if(this.tabs.length > 0){
513
+ for(let i = this.tabs.length-1;i > 0 ;i-- ){
514
+ if(this.tabs[i].header == this.repairitem.header){
515
+ if(this.model.servicerepair.length > 0){
516
+ for(let j = this.model.servicerepair.length -1;j > -1;j-- ){
517
+ if(this.model.servicerepair[j].f_type == this.repairitem.header){
518
+ this.model.servicerepair.splice(j+1, 0, Object.assign({}, JSON.parse(JSON.stringify(this.tabs[i].details))))
519
+ this.tabs.splice(i+1, 0, {header: `${this.repairitem.header}`,details:this.tabs[i].details,complete:'repair-details',class:'repair-details-class',number:j+1,items:this.tabs[i].items})
520
+ for(let t = i+2;t < this.tabs.length;t++ ) {
521
+ this.tabs[t].number += 1
522
+ }
523
+ this.faultshow.number += this.faultshow.number + 1
524
+ return
525
+ }
526
+ }
527
+ }
528
+ }
529
+ }
530
+ }
531
+ },
532
+ transelation(val){
533
+ this.selectindex = val
534
+ },
535
+ towatch(){
536
+ for(let n in this.f_items){
537
+ if(typeof this.f_items[n]=='function'){
538
+ continue
539
+ }
540
+ if(this.f_items[n].type == 'selector' || this.f_items[n].type == 'inputSelector'){
541
+ // 监听下拉框,如果有隐患,需要拍照
542
+ this.$watch('f_items['+n+'].selected',function(val) {
543
+ // 下拉框值
544
+ console.log('val'+JSON.stringify(val))
545
+ // 下拉框所属设备
546
+ console.log('this.piece.f_device_type==》'+this.piece.f_device_type)
547
+ // 下拉框所属项
548
+ console.log('this.f_items[n].f_item_name==》'+this.f_items[n].f_item_name)
549
+ let shImage = false
550
+ if(val.indexOf('其他') == -1){
551
+ this.f_items[n].f_else = ''
552
+ }
553
+ // if(this.config[this.device.device].items[item].type == 'selector'){
554
+ // this.f_items[n].f_item_value = val
555
+ // }else if(this.config[this.device.device].items[item].type == 'inputSelector'){
556
+ // this.f_items[n].f_item_value = val[0]
557
+ // }
558
+ // 在配置中查找该项
559
+ for (let item in this.config[this.device.device].items) {
560
+ if(typeof this.config[this.device.device].items[item]=='function'){
561
+ continue
562
+ }
563
+ let type = this.config[this.device.device].items[item].type
564
+ let multiple = this.config[this.device.device].items[item].multiple
565
+ let options = this.config[this.device.device].items[item].options
566
+ if ((this.config[this.device.device].items[item].type == 'selector' || this.config[this.device.device].items[item].type == 'inputSelector') && item == this.f_items[n].f_item_name) {
567
+ for (let i in options) {
568
+ if(typeof options[i]=='function'){
569
+ continue
570
+ }
571
+ let value
572
+ if(this.config[this.device.device].items[item].type == 'selector' && this.config[this.device.device].items[item].multiple == false){
573
+ value = val[0]
574
+ }else if (this.config[this.device.device].items[item].type == 'inputSelector'){
575
+ value = val
576
+ }
577
+ console.log('options[i]'+JSON.stringify(options[i]))
578
+ // 如果未选择,清空图片、隐患信息等
579
+ if((type == 'selector' && val.length == 0) || (type == 'inputSelector' && val == '')){
580
+ this.f_items[n].f_path = ''
581
+ this.f_items[n].f_is_defect = ''
582
+ this.f_items[n].f_defect_level = ''
583
+ this.f_items[n].f_live_dispose = ''
584
+ this.f_items[n].tooltip = ''
585
+ }
586
+ if((type == 'selector' && multiple == false && options[i].data == val[0]) || (type == 'inputSelector' && options[i].data == val) || (type == 'selector' && multiple == true && val.indexOf(options[i].data) > -1)){
587
+ // 找到选中的项了
588
+ console.log('firstIf')
589
+ if(options[i].isdefect == true ){
590
+ shImage = true
591
+ }
592
+ if(options[i].isdefect == false || this.f_items[n].f_item_value == ''){
593
+ shImage = false
594
+ }
595
+ console.log('shImage'+shImage)
596
+ if(shImage){
597
+ this.f_items[n].f_is_defect =true
598
+ this.f_items[n].f_defect_level = options[i].level
599
+ this.f_items[n].f_path = Vue.nopic
600
+ this.f_items[n].f_live_dispose = '否'
601
+ this.f_items[n].tooltip= options[i].tooltip
602
+ }else{
603
+ this.f_items[n].f_path = ''
604
+ this.f_items[n].f_is_defect = ''
605
+ this.f_items[n].f_defect_level = ''
606
+ this.f_items[n].f_live_dispose = ''
607
+ this.f_items[n].tooltip = ''
608
+ }
609
+ }
610
+ }
611
+ }
612
+ }
613
+ }
614
+ )
615
+ // this.$watch('other',function(val){
616
+ // console.log('other val===>'+val)
617
+ // if(this.selectindex != null) {
618
+ // let index = this.f_items[this.selectindex].f_item_value.indexOf('其他')
619
+ // if(index > -1){
620
+ // this.f_items[this.selectindex].f_item_value.splice(index,1,this.other)
621
+ // }
622
+ // }
623
+ //
624
+ // })
625
+ }else if(this.f_items[n].type == 'radio') {
626
+ // 监听单选框,如果有隐患,需要拍照
627
+ this.$watch('f_items[' + n + '].f_item_value', function (val) {
628
+ console.log('radio selected ===> ' + JSON.stringify(val))
629
+ let options = this.f_items[n].options
630
+ console.log('this.f_items[n].options ===> ' + JSON.stringify(this.f_items[n].options))
631
+ for (let i = 0; i < options.length; i++) {
632
+ console.log('option ===> ' + JSON.stringify(options[i]))
633
+ // 找到选中的项了
634
+ if (options[i].value == val) {
635
+ // 如果有隐患,拍图片
636
+ if (options[i].isdefect) {
637
+ this.f_items[n].f_is_defect = true
638
+ this.f_items[n].f_defect_level = options[i].level
639
+ this.f_items[n].f_path = Vue.nopic
640
+ this.f_items[n].f_live_dispose = '否'
641
+ this.f_items[n].tooltip = options[i].tooltip
642
+ console.log('this.f_items[n] ===> ' + JSON.stringify(this.f_items[n]))
643
+ return
644
+ }
645
+ }
646
+ }
647
+ this.f_items[n].f_path = ''
648
+ this.f_items[n].f_is_defect = ''
649
+ this.f_items[n].f_defect_level = ''
650
+ this.f_items[n].f_live_dispose = ''
651
+ this.f_items[n].tooltip = ''
652
+ })
653
+ }else if(this.f_items[n].type == 'checkbox') {
654
+ // 监听单选框,如果有隐患,需要拍照
655
+ this.$watch('f_items[' + n + '].f_item_value', function (val) {
656
+ console.log('checkbox selected ===> ' + JSON.stringify(val))
657
+ // 如果是手动赋值,不执行下面逻辑
658
+ if (this.f_items[n].isReSet) {
659
+ this.f_items[n].isReSet = false
660
+ return
661
+ }
662
+ let options = this.f_items[n].options
663
+ console.log('this.f_items[n].options ===> ' + JSON.stringify(this.f_items[n].options))
664
+ // 取出选中项中有隐患的详细信息
665
+ let selected = options.filter(item => { return val.indexOf(item.value) != -1 && item.isdefect })
666
+
667
+ if(selected.length > 0){
668
+ // 防止赋值无限调用
669
+ this.f_items[n].isReSet = true
670
+ let selectList = selected.map(item => {return item.value})
671
+ // 如果选中的是非隐患项,取消选中isdefect为true的
672
+ if (selectList.indexOf(val[val.length - 1]) == -1) {
673
+ this.f_items[n].f_item_value = val.filter(item => {return selectList.indexOf(item) == -1})
674
+ this.f_items[n].f_path = ''
675
+ this.f_items[n].f_is_defect = ''
676
+ this.f_items[n].f_defect_level = ''
677
+ this.f_items[n].f_live_dispose = ''
678
+ this.f_items[n].tooltip = ''
679
+ return
680
+ }
681
+ // 如果选中的是隐患项,取消选中isdefect为false的
682
+ this.f_items[n].f_item_value = selectList
683
+ // 如果第一次选择隐患项,初始化
684
+ if (!this.f_items[n].f_is_defect) {
685
+ this.f_items[n].f_is_defect = true
686
+ this.f_items[n].f_defect_level = selected[0].level
687
+ this.f_items[n].f_path = Vue.nopic
688
+ this.f_items[n].f_live_dispose = '否'
689
+ this.f_items[n].tooltip = selected[0].tooltip
690
+ }
691
+ console.log('this.f_items[n] ===> ' + JSON.stringify(this.f_items[n]))
692
+ return
693
+ }
694
+ this.f_items[n].f_path = ''
695
+ this.f_items[n].f_is_defect = ''
696
+ this.f_items[n].f_defect_level = ''
697
+ this.f_items[n].f_live_dispose = ''
698
+ this.f_items[n].tooltip = ''
699
+ })
700
+ }
701
+ }
702
+ console.log('deviceitem.f_items=====>'+JSON.stringify(this.f_items))
703
+ },
704
+ getGasAberrantNumber(val) {
705
+ console.log('检测到气量变化了 ===> ')
706
+
707
+ // 先清空
708
+ this.f_items[this.f_gas_aberrant_number.index].f_item_value = null
709
+ this.f_items[this.f_gas_aberrant_number.index].f_is_defect = false
710
+ if(val=='已用气量'){
711
+ //剩余气量 = 累购-已用
712
+ this.f_items[this.f_gas_balance.index].f_item_value= this.f_items[this.f_total_gas.index].f_item_value-this.f_items[this.f_table_base.index].f_item_value
713
+ if (isNaN(this.f_items[this.f_gas_balance.index].f_item_value)) {
714
+ this.f_items[this.f_gas_balance.index].f_item_value = null
715
+ }
716
+ }
717
+ // 只有两个值都填了才会计算
718
+ if (!this.f_items[this.f_table_base.index].f_item_value || !this.f_items[this.f_gas_balance.index].f_item_value) {
719
+ return
720
+ }
721
+
722
+ // 计算公式 => 气量异常差值 = 累计购气量 - (已用气量 - 初始表底) - 剩余气量
723
+ this.f_items[this.f_gas_aberrant_number.index].f_item_value = this.f_items[this.f_total_gas.index].f_item_value - this.f_items[this.f_gas_balance.index].f_item_value - (this.f_items[this.f_table_base.index].f_item_value - this.f_items[this.f_initial_base.index].f_item_value)
724
+ this.f_items[this.f_gas_aberrant_number.index].f_item_value = this.f_items[this.f_gas_aberrant_number.index].f_item_value.toFixed(3)
725
+ // 如果数值有误,清空结果s
726
+ if (isNaN(this.f_items[this.f_gas_aberrant_number.index].f_item_value)) {
727
+ this.f_items[this.f_gas_aberrant_number.index].f_item_value = null
728
+ }
729
+ console.log('Math.abs(this.f_items[this.f_gas_aberrant_number.index].f_item_value) ===> ' + Math.abs(this.f_items[this.f_gas_aberrant_number.index].f_item_value))
730
+ console.log('Number(this.gasDeviation) ===> ' + JSON.stringify(Number(this.gasDeviation)))
731
+ // 计算差值是否在范围内
732
+ if (Math.abs(this.f_items[this.f_gas_aberrant_number.index].f_item_value) > Number(this.gasDeviation)) {
733
+ this.f_items[this.f_gas_aberrant_number.index].f_is_defect = true
734
+ this.f_items[this.f_gas_aberrant_number.index].f_defect_level = '普通问题'
735
+ }
736
+
737
+ console.log('this.f_items[this.f_gas_aberrant_number.index] ===> ' + JSON.stringify(this.f_items[this.f_gas_aberrant_number.index]))
738
+ },
739
+ getFeeAberrantNumber(val) {
740
+ console.log('检测到金额变化了 ===> ')
741
+
742
+ // 先清空
743
+ this.f_items[this.f_fee_aberrant_number.index].f_item_value = null
744
+ this.f_items[this.f_fee_aberrant_number.index].f_is_defect = false
745
+
746
+ if(val=='已用金额'){
747
+ this.f_items[this.f_fee_balance.index].f_item_value=this.f_items[this.f_total_fee.index].f_item_value-this.f_items[this.f_fee_base.index].f_item_value
748
+ if (isNaN(this.f_items[this.f_fee_balance.index].f_item_value)) {
749
+ this.f_items[this.f_fee_balance.index].f_item_value = null
750
+ }
751
+ }
752
+ // 只有两个值都填了才会计算
753
+ if (!this.f_items[this.f_fee_base.index].f_item_value || !this.f_items[this.f_fee_balance.index].f_item_value) {
754
+ return
755
+ }
756
+
757
+ // 计算公式 => 金额异常差值 = 累计购金额 - 已用金额 - 剩余金额
758
+ this.f_items[this.f_fee_aberrant_number.index].f_item_value = this.f_items[this.f_total_fee.index].f_item_value - this.f_items[this.f_fee_balance.index].f_item_value - this.f_items[this.f_fee_base.index].f_item_value
759
+ this.f_items[this.f_fee_aberrant_number.index].f_item_value = this.f_items[this.f_fee_aberrant_number.index].f_item_value.toFixed(3)
760
+ if (isNaN(this.f_items[this.f_fee_aberrant_number.index].f_item_value)) {
761
+ this.f_items[this.f_fee_aberrant_number.index].f_item_value = null
762
+ }
763
+ console.log('Math.abs(this.f_items[this.f_fee_aberrant_number.index].f_item_value) ===> ' + Math.abs(this.f_items[this.f_fee_aberrant_number.index].f_item_value))
764
+ console.log('Number(this.feeDeviation) ===> ' + JSON.stringify(Number(this.feeDeviation)))
765
+ // 计算差值是否在范围内
766
+ if (Math.abs(this.f_items[this.f_fee_aberrant_number.index].f_item_value) > Number(this.feeDeviation)) {
767
+ this.f_items[this.f_fee_aberrant_number.index].f_is_defect = true
768
+ this.f_items[this.f_fee_aberrant_number.index].f_defect_level = '普通问题'
769
+ }
770
+
771
+ console.log('this.f_items[this.f_fee_aberrant_number.index] ===> ' + JSON.stringify(this.f_items[this.f_fee_aberrant_number.index]))
772
+ },
773
+ //物联网表字轮数改变触发
774
+ getmeteraberrantnumber() {
775
+ console.log('检测到字轮数改变 ===> '+this.f_items[this.f_meter_base.index].f_item_value + this.f_items[this.f_meter_base1.index].f_item_value)
776
+
777
+ // 先清空
778
+ this.f_items[this.f_meter_aberrant_number1.index].f_item_value = null
779
+ this.f_items[this.f_meter_aberrant_number1.index].f_is_defect = false
780
+ console.log('检测到字轮数改变 ===>111111111111111 ')
781
+ // 只有两个值都填了才会计算
782
+ if (!this.f_items[this.f_meter_base.index].f_item_value || !this.f_items[this.f_meter_base1.index].f_item_value) {
783
+ return
784
+ }
785
+ console.log("-----到了吗?"+this.f_items[this.f_meter_base.index].f_item_value+'----'+this.f_items[this.f_meter_base1.index].f_item_value)
786
+ // 计算公式 => 表数异常差值= - 字轮数 - 后台表读数
787
+ this.f_items[this.f_meter_aberrant_number1.index].f_item_value = this.f_items[this.f_meter_base1.index].f_item_value - this.f_items[this.f_meter_base.index].f_item_value
788
+ this.f_items[this.f_meter_aberrant_number1.index].f_item_value = this.f_items[this.f_meter_aberrant_number1.index].f_item_value.toFixed(3)
789
+ if (isNaN(this.f_items[this.f_meter_aberrant_number1.index].f_item_value)) {
790
+ this.f_items[this.f_meter_aberrant_number1.index].f_item_value = null
791
+ }
792
+ console.log('Math.abs(this.f_items[this.f_fee_aberrant_number.index].f_item_value) ===> ' + Math.abs(this.f_items[this.f_meter_aberrant_number1.index].f_item_value))
793
+ // 计算差值是否在范围内
794
+ console.log("字轮数异常范围"+Number(this.feeDeviation))
795
+ if (Math.abs(this.f_items[this.f_meter_aberrant_number1.index].f_item_value) > Number(this.meterbase)){
796
+ this.f_items[this.f_meter_aberrant_number1.index].f_is_defect = true
797
+ }
798
+
799
+ console.log('this.f_items[this.f_fee_aberrant_number.index] ===> ' + JSON.stringify(this.f_items[this.f_meter_aberrant_number1.index]))
800
+ },
801
+
802
+ disSelect(index, itemValue) {
803
+ console.log('this.f_items[index] ===> ' + JSON.stringify(this.f_items[index]))
804
+ console.log('itemValue ===> ' + JSON.stringify(itemValue))
805
+ if (this.f_items[index].f_item_value == itemValue) {
806
+ this.$set(`f_items[${index}].f_item_value`, '')
807
+ }
808
+ }
809
+ },
810
+ ready() {
811
+ console.log('deviec--role=>'+this.role)
812
+ console.log('device=>',this.device)
813
+ if(Vue.config.safecheck != undefined){
814
+ if(Vue.config.safecheck.ApproveConfig != undefined){
815
+ if(Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
816
+ this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
817
+ }
818
+ if(Vue.config.safecheck.ApproveConfig.hiddendanger != undefined) {
819
+ if (parseInt(Vue.config.safecheck.ApproveConfig.hiddendanger) >= 3) {
820
+ this.hiddenDangerImgNumber = 3
821
+ }else {
822
+ this.hiddenDangerImgNumber = parseInt(Vue.config.safecheck.ApproveConfig.hiddendanger)
823
+ }
824
+ }
825
+ }
826
+ }
827
+ console.log('开始准备数据')
828
+ //console.log('this.paper ===> ' + JSON.stringify(this.paper))
829
+ console.log('this.paper[\'device\'+this.device.n] ===> ' + JSON.stringify(this.paper['device'+this.device.n]))
830
+ console.log('this.paper[\'device\'+this.device.n][this.idx] ===> ' + JSON.stringify(this.paper['device'+this.device.n][this.idx]))
831
+ //创建页面所需数据
832
+ this.$set('piece', this.paper['device'+this.device.n][this.idx])
833
+ console.log('set之后的piece====》'+JSON.stringify(this.piece))
834
+ console.log('this.config====》'+JSON.stringify(this.config))
835
+ let n = 0
836
+ for (let item in this.config[this.device.device].items) {
837
+ if(typeof this.config[this.device.device].items[item]=='function'){
838
+ continue
839
+ }
840
+ let index = this.config[this.device.device].items[item].index-1
841
+ this.$set('page.options' + index, [])
842
+ console.log('this.config[this.device.device].items='+JSON.stringify(this.config[this.device.device].items))
843
+ console.log('item='+JSON.stringify(item))
844
+ //console.log('this.device.device='+JSON.stringify(this.device.device))
845
+ // 先根据配置组接页面
846
+ let f_item_value
847
+ if(this.config[this.device.device].items[item].type == 'selector' || this.config[this.device.device].items[item].type == 'checkbox'){
848
+ f_item_value = []
849
+ // 判断选项的默认值
850
+ for (let defitem in this.config[this.device.device].items[item].options) {
851
+ if(typeof this.config[this.device.device].items[item].options[defitem]=='function'){
852
+ continue
853
+ }
854
+ let defopt = this.config[this.device.device].items[item].options[defitem]
855
+ if (defopt.isdefault) {
856
+ //console.log('defopt', defopt)
857
+ f_item_value[0] = defopt.data
858
+ }
859
+ }
860
+ // if(this.config[this.device.device].items[item].data){
861
+ // f_item_value.push(this.config[this.device.device].items[item].data)
862
+ // }
863
+ }else if(this.config[this.device.device].items[item].type == 'radio'){
864
+ //为radio添加默认值
865
+ f_item_value=''
866
+ console.log('进入单选-', JSON.stringify(this.config[this.device.device].items[item]))
867
+ for (let defitem in this.config[this.device.device].items[item].options) {
868
+ if(typeof this.config[this.device.device].items[item].options[defitem]=='function'){
869
+ continue
870
+ }
871
+ //console.log('选项1111-', JSON.stringify(defitem))
872
+ let defopt = this.config[this.device.device].items[item].options[defitem]
873
+ if (defopt.isdefault) {
874
+ //console.log('defopt', JSON.stringify(defopt))
875
+ f_item_value = defopt.data
876
+ }
877
+ }
878
+ }else{
879
+ f_item_value = this.config[this.device.device].items[item].data ? this.config[this.device.device].items[item].data : ''
880
+ }
881
+ //console.log('f_item_value ====== > '+JSON.stringify(f_item_value))
882
+ let it = {
883
+ type: this.config[this.device.device].items[item].type,
884
+ f_item_name: item,
885
+ checkmust: this.config[this.device.device].items[item].checkmust,
886
+ f_item_value: f_item_value,
887
+ f_is_defect: '',
888
+ multiple:this.config[this.device.device].items[item].multiple == true?this.config[this.device.device].items[item].multiple:false,
889
+ isshow:this.config[this.device.device].items[item].isshow == false?this.config[this.device.device].items[item].isshow:true,
890
+ readonly: this.config[this.device.device].items[item].readonly == true?true:false,
891
+ remark: this.config[this.device.device].items[item].remark ? this.config[this.device.device].items[item].remark : '',
892
+ f_need_repair:this.config[this.device.device].items[item].needRepair?this.config[this.device.device].items[item].needRepair:'否',
893
+ f_path: '',
894
+ tooltip:'',
895
+ f_live_dispose:'',
896
+ f_dispose_path:'',
897
+ f_else: '',
898
+ f_p1_path: '',
899
+ f_p2_path: '',
900
+ f_p3_path: '',
901
+ f_longitude:'',
902
+ f_latitude:''
903
+ }
904
+ console.log('index ===> ' + JSON.stringify(index))
905
+ console.log('it ===> ' + JSON.stringify(it))
906
+ this.$set('f_items['+index+']',it)
907
+ if (this.config[this.device.device].items[item].type == 'selector' ||this.config[this.device.device].items[item].type == 'inputSelector') {
908
+ if(this.config[this.device.device].items[item].type == 'selector'){
909
+ this.page['options' + index].push({
910
+ label: "请选择",
911
+ value: ''
912
+ })
913
+ }
914
+ for (let i in this.config[this.device.device].items[item].options) {
915
+ if(typeof this.config[this.device.device].items[item].options[i]=='function'){
916
+ continue
917
+ }
918
+ this.page['options' + index].push({
919
+ label: this.config[this.device.device].items[item].options[i].data,
920
+ value: this.config[this.device.device].items[item].options[i].data
921
+ })
922
+ }
923
+ if(this.config[this.device.device].items[item].type == 'selector'){
924
+ this.$set('f_items['+index+'].selected', f_item_value)
925
+ }else if(this.config[this.device.device].items[item].type == 'inputSelector'){
926
+ this.$set('f_items['+index+'].selected', f_item_value)
927
+ }
928
+
929
+ this.$set('f_items['+index+'].options',this.page['options' + index])
930
+
931
+ //console.log('lllllllllllllllllllthis.f_items===>'+JSON.stringify(this.f_items))
932
+ } else if (this.config[this.device.device].items[item].type == 'radio' || this.config[this.device.device].items[item].type == 'checkbox') {
933
+ //console.log('this.config[this.device.device].items[item].options'+JSON.stringify(this.config[this.device.device].items[item].options))
934
+ //console.log('this.config[this.device.device].items[item].options.length'+this.config[this.device.device].items[item].options.length)
935
+ //console.log('this.page====='+JSON.stringify(this.page))
936
+ for (let i in this.config[this.device.device].items[item].options) {
937
+ if(typeof this.config[this.device.device].items[item].options[i]=='function'){
938
+ continue
939
+ }
940
+ //console.log('i====='+i+"----"+typeof this.config[this.device.device].items[item].options[i])
941
+ this.page['options' + index].push({
942
+ label: this.config[this.device.device].items[item].options[i].data,
943
+ value: this.config[this.device.device].items[item].options[i].data,
944
+ isdefect: this.config[this.device.device].items[item].options[i].isdefect,
945
+ level: this.config[this.device.device].items[item].options[i].level
946
+ })
947
+ //console.log('this.page[options + index]====='+JSON.stringify(this.page['options' + index]))
948
+ }
949
+ //console.log('this.page==222==='+JSON.stringify(this.page))
950
+ this.$set('f_items[' + index + '].options', this.page['options' + index])
951
+ this.$set('f_items[' + index + '].f_item_value', f_item_value)
952
+ //console.log('添加radio后的this.f_items===>'+JSON.stringify(this.f_items))
953
+ }
954
+ n = n + 1
955
+ }
956
+ if(JSON.stringify(this.piece) == '{}') {
957
+ // 如果没有,则新建
958
+ this.$set('piece.f_items',this.f_items)
959
+ this.$set('piece.f_device_type',this.device.device)
960
+ } else {
961
+ // 已经存在,把之前的数据重新填入
962
+ for (let f in this.f_items){
963
+ if(typeof this.f_items[f]=='function'){
964
+ continue
965
+ }
966
+ for(let p in this.piece.f_items) {
967
+ if(typeof this.piece.f_items[p]=='function'){
968
+ continue
969
+ }
970
+ if (this.f_items[f].f_item_name == this.piece.f_items[p].f_item_name) {
971
+ //console.log('this.f_items[f] ===> ' + JSON.stringify(this.f_items[f]))
972
+ //console.log('this.piece.f_items[p] ===> ' + JSON.stringify(this.piece.f_items[p]))
973
+ this.f_items[f] = Object.assign(this.f_items[f], this.piece.f_items[p])
974
+ //console.log('----> this.f_items[f] ===> ' + JSON.stringify(this.f_items[f]))
975
+ if (this.f_items[f].type == 'selector' || this.f_items[f].type == 'inputSelector') {
976
+ //console.log('this.piece.f_items[p].f_item_value==>'+ JSON.stringify(this.piece.f_items[p].f_item_value))
977
+ //console.log('this.f_items[f].selected==>' + JSON.stringify(this.f_items[f].selected))
978
+ this.f_items[f].selected = this.piece.f_items[p].f_item_value
979
+ //console.log('this.f_items[f].selected==>' + JSON.stringify(this.f_items[f].selected))
980
+ }
981
+ // 取出特殊值
982
+ if (this.f_items[f].f_item_name == '初始表底') {
983
+ console.log('初始表底: ' + JSON.stringify(f))
984
+ this.f_initial_base.index = f
985
+ } else if (this.f_items[f].f_item_name == '累购气量') {
986
+ console.log('累购气量: ' + JSON.stringify(f))
987
+ this.f_total_gas.index = f
988
+ } else if (this.f_items[f].f_item_name == '已用气量') {
989
+ console.log('已用气量: ' + JSON.stringify(f))
990
+ this.f_table_base.index = f
991
+ this.$watch('f_items[' + f + '].f_item_value', function () {
992
+ this.getGasAberrantNumber('已用气量')
993
+ })
994
+ } else if (this.f_items[f].f_item_name == '剩余气量') {
995
+ console.log('剩余气量: ' + JSON.stringify(f))
996
+ this.f_gas_balance.index = f
997
+ this.$watch('f_items[' + f + '].f_item_value', function () {
998
+ this.getGasAberrantNumber('')
999
+ })
1000
+ } else if (this.f_items[f].f_item_name == '气量异常差值') {
1001
+ console.log('气量异常差值: ' + JSON.stringify(f))
1002
+ this.f_gas_aberrant_number.index = f
1003
+ } else if (this.f_items[f].f_item_name == '累购金额') {
1004
+ console.log('累购金额: ' + JSON.stringify(f))
1005
+ this.f_total_fee.index = f
1006
+ } else if (this.f_items[f].f_item_name == '已用金额') {
1007
+ console.log('已用金额: ' + JSON.stringify(f))
1008
+ this.f_fee_base.index = f
1009
+ this.$watch('f_items[' + f + '].f_item_value', function () {
1010
+ this.getFeeAberrantNumber('已用金额')
1011
+ })
1012
+ } else if (this.f_items[f].f_item_name == '剩余金额') {
1013
+ console.log('剩余金额: ' + JSON.stringify(f))
1014
+ this.f_fee_balance.index = f
1015
+ this.$watch('f_items[' + f + '].f_item_value', function () {
1016
+ this.getFeeAberrantNumber('')
1017
+ })
1018
+ } else if (this.f_items[f].f_item_name == '金额异常差值') {
1019
+ console.log('金额异常差值: ' + JSON.stringify(f))
1020
+ this.f_fee_aberrant_number.index = f
1021
+ }else if (this.f_items[f].f_item_name == '表读数') {
1022
+ console.log('上期表读数: ' + JSON.stringify(f))
1023
+ this.f_meter_base.index = f
1024
+ }else if (this.f_items[f].f_item_name == '表剩余金额') {
1025
+ console.log('表剩余金额: ' + JSON.stringify(f))
1026
+ this.f_balance_amount.index = f
1027
+ }else if (this.f_items[f].f_item_name == '字轮数') {
1028
+ console.log('字轮数: ' + JSON.stringify(f))
1029
+ this.f_meter_base1.index = f
1030
+ this.$watch('f_items[' + f + '].f_item_value', function () {
1031
+ this.getmeteraberrantnumber()
1032
+ })
1033
+ }else if (this.f_items[f].f_item_name == '表余额') {
1034
+ console.log('表余额: ' + JSON.stringify(f))
1035
+ this.f_balance_amount1.index = f
1036
+ this.$watch('f_items[' + f + '].f_item_value', function () {
1037
+ this.getfeeaberrantnumber1()
1038
+ })
1039
+ }else if (this.f_items[f].f_item_name == '表数异常差值') {
1040
+ console.log('表数异常差值: ' + JSON.stringify(f))
1041
+ this.f_meter_aberrant_number1.index = f
1042
+ }else if (this.f_items[f].f_item_name == '表金额异常差值') {
1043
+ console.log('表金额异常差值: ' + JSON.stringify(f))
1044
+ this.f_fee_aberrant_number1.index = f
1045
+ }
1046
+ }
1047
+ }
1048
+ for (let em in this.config[this.device.device].items) {
1049
+ if(typeof this.config[this.device.device].items[em]=='function'){
1050
+ continue
1051
+ }
1052
+ if (this.config[this.device.device].items[em].type == 'selector' && em == this.f_items[f].f_item_name) {
1053
+ this.f_items[f].options =[]
1054
+ for (let k in this.config[this.device.device].items[em].options) {
1055
+ if(typeof this.config[this.device.device].items[em].options[k]=='function'){
1056
+ continue
1057
+ }
1058
+ this.f_items[f].options.push({
1059
+ label: this.config[this.device.device].items[em].options[k].data,
1060
+ value: this.config[this.device.device].items[em].options[k].data
1061
+ })
1062
+ }
1063
+ }
1064
+ }
1065
+ }
1066
+ //console.log('循环完f_items====》'+JSON.stringify(this.f_items))
1067
+ this.$set('piece.f_items',this.f_items)
1068
+ }
1069
+ this.towatch()
1070
+ },
1071
+ destroyed(){
1072
+ let nullCount = 0
1073
+ let metertitles
1074
+ //判断当前是否有选中项
1075
+ for (let row in this.f_items){
1076
+ if(typeof this.f_items[row]=='function'){
1077
+ continue
1078
+ }
1079
+ if(this.f_items[row].selected && this.f_items[row].selected != '' && this.f_items[row].selected instanceof Array){
1080
+ console.log('selected是数组')
1081
+ this.f_items[row].f_item_value = this.f_items[row].selected
1082
+ }else if(this.f_items[row].selected && this.f_items[row].selected != ''){
1083
+ console.log('selected不是数组')
1084
+ this.f_items[row].f_item_value = this.f_items[row].selected
1085
+ }
1086
+ // if(this.f_items[row].f_item_value instanceof Array && this.f_items[row].f_item_value.length != 0 ){
1087
+ // nullCount = nullCount+1
1088
+ // }else if(this.f_items[row].f_item_value != ''){
1089
+ // nullCount = nullCount+1
1090
+ // }
1091
+ }
1092
+ let picture = []
1093
+ // for (let row in this.f_items){
1094
+ // let a={}
1095
+ // a.f_path = this.f_items[row].f_path
1096
+ // a.name = this.f_items[row].f_item_name
1097
+ // }
1098
+ // picture.push(a)
1099
+ this.$set(`paper['device${this.device.n}'][${this.idx}]`, this.piece)
1100
+ console.log('完成')
1101
+ },
1102
+ computed:{
1103
+
1104
+ }
1105
+ }
1106
+ </script>
1107
+ <style lang="less" scoped>
1108
+ .class-erro {
1109
+ color: #a94442;
1110
+ }
1111
+ .fivelabel{
1112
+ border: none;
1113
+ border-left: 5px solid #A2C2EB;
1114
+ float: left;
1115
+ width: 35%;
1116
+ margin-bottom: 3px;
1117
+ text-align: left;
1118
+ word-wrap: break-word;
1119
+ white-space: normal;
1120
+ }
1121
+ .radiolabel{
1122
+ border: none;
1123
+ border-left: 5px solid #A2C2EB;
1124
+ float: left;
1125
+ width: 65%;
1126
+ margin-bottom: 3px;
1127
+ text-align: left;
1128
+ word-wrap: break-word;
1129
+ white-space: normal;
1130
+ }
1131
+
1132
+ .textlabel {
1133
+ border: none;
1134
+ border-left: 5px solid #A2C2EB;
1135
+ width: 100%;
1136
+ margin-bottom: 3px;
1137
+ text-align: left;
1138
+ word-wrap: break-word;
1139
+ white-space: normal;
1140
+ }
1141
+ .textlabel1 {
1142
+ border: none;
1143
+ border-left: 8px solid #f7cb32;
1144
+ width: 100%;
1145
+ margin-bottom: 3px;
1146
+ text-align: left;
1147
+ word-wrap: break-word;
1148
+ white-space: normal;
1149
+ }
1150
+ .spanrodio{
1151
+ margin-right: 10px;
1152
+ }
1153
+ .div-photo{
1154
+ width: auto;
1155
+ height: auto;
1156
+ /* margin-top: 10px; */
1157
+ position: absolute;
1158
+ bottom: 10px;
1159
+ right: 10px;
1160
+ }
1161
+ .panel-self{
1162
+ border-radius: 5px;
1163
+ border:1px solid #c5e1f7;
1164
+ //background-color: #F2F6FA;
1165
+ }
1166
+ .btn-photo{
1167
+ border: 0;
1168
+ border-radius: 7px;
1169
+ background-color: #7dc1f4;
1170
+ font: 15px PingFang-SC-Bold;
1171
+ height: 20%;
1172
+ }
1173
+ </style>
1174
+