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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (843) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/.eslintrc.js +16 -16
  4. package/.project +11 -11
  5. package/CHANGELOG.md +27 -27
  6. package/README.md +38 -38
  7. package/android.html +18 -18
  8. package/build/css-loaders.js +34 -34
  9. package/build/dev-android.js +151 -151
  10. package/build/dev-client.js +8 -8
  11. package/build/example-server.js +157 -157
  12. package/build/release.sh +28 -28
  13. package/build/utils.js +71 -71
  14. package/build/webpack.base.conf.js +88 -88
  15. package/build/webpack.baseandroid.conf.js +83 -83
  16. package/build/webpack.dev.conf.js +40 -40
  17. package/build/webpack.devandroid.conf.js +33 -33
  18. package/build/webpack.example.conf.js +49 -49
  19. package/build/webpack.hanwei.conf.js +57 -57
  20. package/build/webpack.hwbase.conf.js +78 -78
  21. package/build/webpack.prod.conf.js +80 -80
  22. package/build/webpack.prodandroid.conf.js +60 -60
  23. package/build/webpack.test.conf.js +31 -31
  24. package/build.gradle +14 -14
  25. package/config/dev.env.js +6 -6
  26. package/config/index.js +38 -38
  27. package/config/prod.env.js +3 -3
  28. package/config/test.env.js +6 -6
  29. package/docs/AppBase.md +22 -22
  30. package/docs/Busy.md +14 -14
  31. package/docs/Criteria.md +47 -47
  32. package/docs/CriteriaPaged.md +47 -47
  33. package/docs/DataGrid.md +54 -54
  34. package/docs/DataModel.md +22 -22
  35. package/docs/Dynamic.md +42 -42
  36. package/docs/FormPrint.md +18 -18
  37. package/docs/GetParams.md +11 -11
  38. package/docs/GridTree.md +47 -47
  39. package/docs/HttpBusy.md +13 -13
  40. package/docs/HttpStore.md +29 -29
  41. package/docs/MessageBox.md +28 -28
  42. package/docs/PagedList.md +29 -29
  43. package/docs/Pager.md +21 -21
  44. package/docs/PrintFile.md +38 -38
  45. package/docs/Project.md +23 -23
  46. package/docs/Route.md +105 -105
  47. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  48. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  49. package/docs/Task.md +46 -46
  50. package/docs/TreeList.md +28 -28
  51. package/docs/TreeMixin.md +18 -18
  52. package/docs/all.md +10 -10
  53. package/docs/list.md +42 -42
  54. package/docs/partial.md +75 -75
  55. package/docs/selector.md +82 -82
  56. package/docs/tree.md +40 -40
  57. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  58. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  59. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  60. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  61. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  62. package/examples/AddressList/App.vue +13 -13
  63. package/examples/AddressList/index.html +11 -11
  64. package/examples/AddressList/main.js +13 -13
  65. package/examples/ChangeConfig/App.vue +54 -54
  66. package/examples/ChangeConfig/comp.js +548 -548
  67. package/examples/ChangeConfig/index.html +17 -17
  68. package/examples/ChangeConfig/main.js +13 -13
  69. package/examples/CheckAdvise/App.vue +24 -24
  70. package/examples/CheckAdvise/comp.js +9 -9
  71. package/examples/CheckAdvise/index.html +18 -18
  72. package/examples/CheckAdvise/main.js +13 -13
  73. package/examples/CreatePlan/App.vue +13 -13
  74. package/examples/CreatePlan/index.html +11 -11
  75. package/examples/CreatePlan/main.js +13 -13
  76. package/examples/DispatchList/App.vue +10 -10
  77. package/examples/DispatchList/BaseTree.vue +13 -13
  78. package/examples/DispatchList/Init.vue +22 -22
  79. package/examples/DispatchList/Test.vue +20 -20
  80. package/examples/DispatchList/index.html +11 -11
  81. package/examples/DispatchList/main.js +18 -18
  82. package/examples/PhoneSafePlan/App.vue +36 -36
  83. package/examples/PhoneSafePlan/TestData.js +448 -448
  84. package/examples/PhoneSafePlan/comp.js +33 -33
  85. package/examples/PhoneSafePlan/index.html +17 -17
  86. package/examples/PhoneSafePlan/main.js +13 -13
  87. package/examples/SafePlan/App.vue +83 -83
  88. package/examples/SafePlan/TestData.js +448 -448
  89. package/examples/SafePlan/comp.js +1521 -1521
  90. package/examples/SafePlan/index.html +18 -18
  91. package/examples/SafePlan/main.js +13 -13
  92. package/examples/SafePlan-aode/App.vue +39 -39
  93. package/examples/SafePlan-aode/TestData.js +448 -448
  94. package/examples/SafePlan-aode/comp.js +1132 -1132
  95. package/examples/SafePlan-aode/index.html +17 -17
  96. package/examples/SafePlan-aode/main.js +13 -13
  97. package/examples/SafePlan-liaoyuan/App.vue +53 -53
  98. package/examples/SafePlan-liaoyuan/TestData.js +448 -448
  99. package/examples/SafePlan-liaoyuan/comp.js +1419 -1419
  100. package/examples/SafePlan-liaoyuan/index.html +18 -18
  101. package/examples/SafePlan-liaoyuan/main.js +13 -13
  102. package/examples/SafePlan-shaoguan/App.vue +52 -52
  103. package/examples/SafePlan-shaoguan/TestData.js +448 -448
  104. package/examples/SafePlan-shaoguan/comp.js +1190 -1190
  105. package/examples/SafePlan-shaoguan/index.html +18 -18
  106. package/examples/SafePlan-shaoguan/main.js +13 -13
  107. package/examples/SafePlan-tongchuan/App.vue +81 -81
  108. package/examples/SafePlan-tongchuan/TestData.js +448 -448
  109. package/examples/SafePlan-tongchuan/comp.js +1480 -1480
  110. package/examples/SafePlan-tongchuan/index.html +18 -18
  111. package/examples/SafePlan-tongchuan/main.js +13 -13
  112. package/examples/SafePlan-wenxi/App.vue +80 -80
  113. package/examples/SafePlan-wenxi/TestData.js +448 -448
  114. package/examples/SafePlan-wenxi/comp.js +1545 -1545
  115. package/examples/SafePlan-wenxi/index.html +18 -18
  116. package/examples/SafePlan-wenxi/main.js +13 -13
  117. package/examples/SafePlan-zhoukou/App.vue +81 -81
  118. package/examples/SafePlan-zhoukou/TestData.js +448 -448
  119. package/examples/SafePlan-zhoukou/comp.js +1525 -1525
  120. package/examples/SafePlan-zhoukou/index.html +18 -18
  121. package/examples/SafePlan-zhoukou/main.js +13 -13
  122. package/examples/SafePlanItem/App.vue +33 -33
  123. package/examples/SafePlanItem/TestData.js +448 -448
  124. package/examples/SafePlanItem/comp.js +69 -69
  125. package/examples/SafePlanItem/index.html +17 -17
  126. package/examples/SafePlanItem/main.js +15 -15
  127. package/examples/SafePlanrongcheng/App.vue +52 -52
  128. package/examples/SafePlanrongcheng/TestData.js +448 -448
  129. package/examples/SafePlanrongcheng/comp.js +1133 -1133
  130. package/examples/SafePlanrongcheng/index.html +18 -18
  131. package/examples/SafePlanrongcheng/main.js +13 -13
  132. package/examples/SafePlanrongcheng-gs/App.vue +52 -52
  133. package/examples/SafePlanrongcheng-gs/TestData.js +448 -448
  134. package/examples/SafePlanrongcheng-gs/comp.js +1132 -1132
  135. package/examples/SafePlanrongcheng-gs/index.html +18 -18
  136. package/examples/SafePlanrongcheng-gs/main.js +13 -13
  137. package/examples/SafePlanrongcheng-gssq/App.vue +52 -52
  138. package/examples/SafePlanrongcheng-gssq/TestData.js +448 -448
  139. package/examples/SafePlanrongcheng-gssq/comp.js +1135 -1135
  140. package/examples/SafePlanrongcheng-gssq/index.html +18 -18
  141. package/examples/SafePlanrongcheng-gssq/main.js +13 -13
  142. package/examples/SafePlanrongcheng-mysq/App.vue +52 -52
  143. package/examples/SafePlanrongcheng-mysq/TestData.js +448 -448
  144. package/examples/SafePlanrongcheng-mysq/comp.js +1136 -1136
  145. package/examples/SafePlanrongcheng-mysq/index.html +18 -18
  146. package/examples/SafePlanrongcheng-mysq/main.js +13 -13
  147. package/examples/Test/App.vue +35 -35
  148. package/examples/Test/TestData.js +489 -489
  149. package/examples/Test/index.html +17 -17
  150. package/examples/Test/main.js +13 -13
  151. package/examples/Test//350/216/267/345/217/226/345/217/230/351/207/217 +2 -2
  152. package/examples/UserFiles/App.vue +47 -47
  153. package/examples/UserFiles/TestData.js +448 -448
  154. package/examples/UserFiles/comp.js +227 -227
  155. package/examples/UserFiles/index.html +19 -19
  156. package/examples/UserFiles/main.js +13 -13
  157. package/home.html +16 -16
  158. package/index.html +23 -23
  159. package/oa.iml +8 -8
  160. package/package.json +1 -1
  161. package/publish.bat +7 -7
  162. package/release.bat +5 -5
  163. package/src/AndroidApp.vue +26 -26
  164. package/src/App.vue +27 -27
  165. package/src/Widget.vue +13 -13
  166. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  167. package/src/android-bootstrap/less/.csscomb.json +304 -304
  168. package/src/android-bootstrap/less/.csslintrc +19 -19
  169. package/src/android-bootstrap/less/alerts.less +73 -73
  170. package/src/android-bootstrap/less/badges.less +66 -66
  171. package/src/android-bootstrap/less/bootstrap.less +56 -56
  172. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  173. package/src/android-bootstrap/less/button-groups.less +247 -247
  174. package/src/android-bootstrap/less/buttons.less +173 -173
  175. package/src/android-bootstrap/less/carousel.less +269 -269
  176. package/src/android-bootstrap/less/close.less +34 -34
  177. package/src/android-bootstrap/less/code.less +69 -69
  178. package/src/android-bootstrap/less/component-animations.less +33 -33
  179. package/src/android-bootstrap/less/dropdowns.less +216 -216
  180. package/src/android-bootstrap/less/forms.less +626 -626
  181. package/src/android-bootstrap/less/glyphicons.less +305 -305
  182. package/src/android-bootstrap/less/grid.less +84 -84
  183. package/src/android-bootstrap/less/input-groups.less +167 -167
  184. package/src/android-bootstrap/less/jumbotron.less +52 -52
  185. package/src/android-bootstrap/less/labels.less +64 -64
  186. package/src/android-bootstrap/less/list-group.less +141 -141
  187. package/src/android-bootstrap/less/media.less +66 -66
  188. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  189. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  190. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  191. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  192. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  193. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  194. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  195. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  196. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  197. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  198. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  199. package/src/android-bootstrap/less/mixins/image.less +33 -33
  200. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  201. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  202. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  203. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  204. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  205. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  206. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  207. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  208. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  209. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  210. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  211. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  212. package/src/android-bootstrap/less/mixins/size.less +10 -10
  213. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  214. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  215. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  216. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  217. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  218. package/src/android-bootstrap/less/mixins.less +40 -40
  219. package/src/android-bootstrap/less/modals.less +151 -151
  220. package/src/android-bootstrap/less/navbar.less +660 -660
  221. package/src/android-bootstrap/less/navs.less +290 -290
  222. package/src/android-bootstrap/less/normalize.less +424 -424
  223. package/src/android-bootstrap/less/pager.less +76 -76
  224. package/src/android-bootstrap/less/pagination.less +89 -89
  225. package/src/android-bootstrap/less/panels.less +274 -274
  226. package/src/android-bootstrap/less/popovers.less +131 -131
  227. package/src/android-bootstrap/less/print.less +101 -101
  228. package/src/android-bootstrap/less/progress-bars.less +87 -87
  229. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  230. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  231. package/src/android-bootstrap/less/scaffolding.less +161 -161
  232. package/src/android-bootstrap/less/tables.less +262 -262
  233. package/src/android-bootstrap/less/theme.less +291 -291
  234. package/src/android-bootstrap/less/thumbnails.less +36 -36
  235. package/src/android-bootstrap/less/tooltip.less +102 -102
  236. package/src/android-bootstrap/less/type.less +303 -303
  237. package/src/android-bootstrap/less/utilities.less +55 -55
  238. package/src/android-bootstrap/less/variables.less +896 -896
  239. package/src/android-bootstrap/less/wells.less +29 -29
  240. package/src/android.js +16 -16
  241. package/src/androidBase.js +177 -177
  242. package/src/androidTest.js +20 -20
  243. package/src/bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  244. package/src/bootstrap/less/.csscomb.json +304 -304
  245. package/src/bootstrap/less/.csslintrc +19 -19
  246. package/src/bootstrap/less/alerts.less +73 -73
  247. package/src/bootstrap/less/aofeng/animate.min.css +10 -10
  248. package/src/bootstrap/less/aofeng/standard.less +2121 -2121
  249. package/src/bootstrap/less/aofeng/themeOne/BinaryTemplate.less +686 -686
  250. package/src/bootstrap/less/aofeng/themeOne/loginStyle.less +1586 -1586
  251. package/src/bootstrap/less/aofeng/themeOne/systemStyle.less +2650 -2650
  252. package/src/bootstrap/less/aofeng/themeOne.less +14 -14
  253. package/src/bootstrap/less/aofeng/themeTwo/newStyle1.less +415 -415
  254. package/src/bootstrap/less/aofeng/themeTwo.less +3 -3
  255. package/src/bootstrap/less/badges.less +66 -66
  256. package/src/bootstrap/less/bootstrap.less +65 -65
  257. package/src/bootstrap/less/breadcrumbs.less +26 -26
  258. package/src/bootstrap/less/button-groups.less +247 -247
  259. package/src/bootstrap/less/buttons.less +172 -172
  260. package/src/bootstrap/less/carousel.less +269 -269
  261. package/src/bootstrap/less/close.less +34 -34
  262. package/src/bootstrap/less/code.less +69 -69
  263. package/src/bootstrap/less/component-animations.less +33 -33
  264. package/src/bootstrap/less/dropdowns.less +216 -216
  265. package/src/bootstrap/less/forms.less +626 -626
  266. package/src/bootstrap/less/glyphicons.less +305 -305
  267. package/src/bootstrap/less/grid.less +84 -84
  268. package/src/bootstrap/less/input-groups.less +167 -167
  269. package/src/bootstrap/less/jumbotron.less +52 -52
  270. package/src/bootstrap/less/labels.less +64 -64
  271. package/src/bootstrap/less/list-group.less +141 -141
  272. package/src/bootstrap/less/manageStyle/manageChile.less +180 -180
  273. package/src/bootstrap/less/manageStyle/manageStyle.less +1102 -1102
  274. package/src/bootstrap/less/manageStyle/safeStyle.less +498 -498
  275. package/src/bootstrap/less/media.less +66 -66
  276. package/src/bootstrap/less/mixins/alerts.less +14 -14
  277. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  278. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  279. package/src/bootstrap/less/mixins/buttons.less +69 -69
  280. package/src/bootstrap/less/mixins/center-block.less +7 -7
  281. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  282. package/src/bootstrap/less/mixins/forms.less +90 -90
  283. package/src/bootstrap/less/mixins/gradients.less +59 -59
  284. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  285. package/src/bootstrap/less/mixins/grid.less +122 -122
  286. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  287. package/src/bootstrap/less/mixins/image.less +33 -33
  288. package/src/bootstrap/less/mixins/labels.less +12 -12
  289. package/src/bootstrap/less/mixins/list-group.less +30 -30
  290. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  291. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  292. package/src/bootstrap/less/mixins/opacity.less +8 -8
  293. package/src/bootstrap/less/mixins/pagination.less +24 -24
  294. package/src/bootstrap/less/mixins/panels.less +24 -24
  295. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  296. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  297. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  298. package/src/bootstrap/less/mixins/resize.less +6 -6
  299. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  300. package/src/bootstrap/less/mixins/size.less +10 -10
  301. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  302. package/src/bootstrap/less/mixins/table-row.less +44 -44
  303. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  304. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  305. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  306. package/src/bootstrap/less/mixins.less +40 -40
  307. package/src/bootstrap/less/modals.less +151 -151
  308. package/src/bootstrap/less/navbar.less +660 -660
  309. package/src/bootstrap/less/navs.less +285 -285
  310. package/src/bootstrap/less/normalize.less +424 -424
  311. package/src/bootstrap/less/pager.less +76 -76
  312. package/src/bootstrap/less/pagination.less +89 -89
  313. package/src/bootstrap/less/panels.less +275 -275
  314. package/src/bootstrap/less/popovers.less +131 -131
  315. package/src/bootstrap/less/print.less +101 -101
  316. package/src/bootstrap/less/progress-bars.less +87 -87
  317. package/src/bootstrap/less/responsive-embed.less +35 -35
  318. package/src/bootstrap/less/responsive-utilities.less +194 -194
  319. package/src/bootstrap/less/scaffolding.less +161 -161
  320. package/src/bootstrap/less/stand.less +207 -207
  321. package/src/bootstrap/less/standard.less +503 -503
  322. package/src/bootstrap/less/systemStyle.less +860 -860
  323. package/src/bootstrap/less/tables.less +262 -262
  324. package/src/bootstrap/less/theme.less +291 -291
  325. package/src/bootstrap/less/themeOne.less +36 -36
  326. package/src/bootstrap/less/themeTwo.less +29 -29
  327. package/src/bootstrap/less/thumbnails.less +36 -36
  328. package/src/bootstrap/less/tooltip.less +102 -102
  329. package/src/bootstrap/less/type.less +303 -303
  330. package/src/bootstrap/less/utilities.less +55 -55
  331. package/src/bootstrap/less/variables.less +896 -896
  332. package/src/bootstrap/less/wells.less +29 -29
  333. package/src/components/AloneLoadParams.vue +25 -25
  334. package/src/components/CheckerCount/CheckCountAreaList.vue +306 -306
  335. package/src/components/CheckerCount/CheckCountAreaManage.vue +112 -112
  336. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  337. package/src/components/CheckerCount/ZhouKouCheckCount.vue +272 -272
  338. package/src/components/ExportExcel.vue +334 -334
  339. package/src/components/FileUpload.vue +696 -696
  340. package/src/components/Hello.vue +39 -39
  341. package/src/components/LeftTree.vue +27 -27
  342. package/src/components/Login.vue +459 -459
  343. package/src/components/Main.vue +393 -393
  344. package/src/components/Test.vue +1478 -1478
  345. package/src/components/Util/FileUpload.vue +138 -138
  346. package/src/components/Util/ImgSelfSafe.vue +126 -126
  347. package/src/components/Util/RightTreeSafe.vue +348 -348
  348. package/src/components/Util/SafecheckUpload.vue +265 -265
  349. package/src/components/Util.js +376 -376
  350. package/src/components/android/AddGas.vue +147 -147
  351. package/src/components/android/AddPlanItem.vue +412 -412
  352. package/src/components/android/AddressList.vue +61 -61
  353. package/src/components/android/AdviseCommit.vue +59 -59
  354. package/src/components/android/AndroidCheckResult.vue +181 -181
  355. package/src/components/android/AndroidDefectDeal.vue +397 -397
  356. package/src/components/android/Announcement.vue +167 -167
  357. package/src/components/android/AreaPlan.vue +503 -503
  358. package/src/components/android/AttendanceTally.vue +116 -116
  359. package/src/components/android/Blank.vue +10 -10
  360. package/src/components/android/CheckNotice.vue +89 -89
  361. package/src/components/android/CheckPlan.vue +257 -257
  362. package/src/components/android/CheckPlanDown.vue +216 -216
  363. package/src/components/android/CheckPlanItems.vue +423 -423
  364. package/src/components/android/CheckUnplanPage.vue +56 -56
  365. package/src/components/android/Checker.vue +12 -12
  366. package/src/components/android/CheckerAnnual.vue +81 -81
  367. package/src/components/android/CheckerAnnualDetail.vue +63 -63
  368. package/src/components/android/CheckerAvarta.vue +82 -82
  369. package/src/components/android/CheckerMonthly.vue +84 -84
  370. package/src/components/android/Checkpage.vue +102 -102
  371. package/src/components/android/CurrentCreate.vue +972 -972
  372. package/src/components/android/DailyworkloadQuery.vue +396 -396
  373. package/src/components/android/Defect.vue +119 -119
  374. package/src/components/android/DeviceDefect.vue +187 -187
  375. package/src/components/android/Devices.vue +327 -327
  376. package/src/components/android/DevicesItem.vue +495 -495
  377. package/src/components/android/DevicesItemm.vue +445 -445
  378. package/src/components/android/DevicesNoncivil.vue +214 -214
  379. package/src/components/android/Devicesm.vue +327 -327
  380. package/src/components/android/DoorService.vue +501 -501
  381. package/src/components/android/EquipmentInspection.vue +348 -348
  382. package/src/components/android/ExtractCheckPlan.vue +268 -268
  383. package/src/components/android/ExtractPlanItem.vue +516 -516
  384. package/src/components/android/FootprintMap.vue +120 -120
  385. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  386. package/src/components/android/LcheckUnplan.vue +108 -108
  387. package/src/components/android/LocalPagedList.js +108 -108
  388. package/src/components/android/LocalPathList.js +109 -109
  389. package/src/components/android/Login.vue +222 -222
  390. package/src/components/android/MasterMain.vue +77 -77
  391. package/src/components/android/Menu.vue +132 -132
  392. package/src/components/android/NavBottom.vue +157 -157
  393. package/src/components/android/PaperAlarm.vue +85 -85
  394. package/src/components/android/PaperAlarmNoncivil.vue +286 -286
  395. package/src/components/android/PaperCooker.vue +325 -325
  396. package/src/components/android/PaperDefect.vue +230 -230
  397. package/src/components/android/PaperDevice.vue +279 -279
  398. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  399. package/src/components/android/PaperFeedback.vue +1444 -1444
  400. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  401. package/src/components/android/PaperFurnace.vue +274 -274
  402. package/src/components/android/PaperFurnaceNoncivil.vue +203 -203
  403. package/src/components/android/PaperHeater.vue +287 -287
  404. package/src/components/android/PaperInnerPlumb.vue +171 -171
  405. package/src/components/android/PaperMessage.vue +1323 -1323
  406. package/src/components/android/PaperMessageNocivil.vue +1288 -1288
  407. package/src/components/android/PaperMeter.vue +351 -351
  408. package/src/components/android/PaperMeterNoncivil.vue +481 -481
  409. package/src/components/android/PaperPieceNoncivil.vue +142 -142
  410. package/src/components/android/PaperPlumb.vue +141 -141
  411. package/src/components/android/PaperPlumbNoncivil.vue +253 -253
  412. package/src/components/android/PaperSet.vue +1956 -1956
  413. package/src/components/android/PaperSetNoncivil.vue +1760 -1760
  414. package/src/components/android/PaperState.vue +390 -390
  415. package/src/components/android/PaperStateNoncivil.vue +383 -383
  416. package/src/components/android/PaperStateNoncivilm.vue +377 -377
  417. package/src/components/android/PaperStatem.vue +346 -346
  418. package/src/components/android/PaperUser.vue +606 -606
  419. package/src/components/android/PaperUserNoncivil.vue +424 -424
  420. package/src/components/android/PaperUserm.vue +356 -356
  421. package/src/components/android/PaperValve.vue +178 -178
  422. package/src/components/android/PaperValveNoncivil.vue +180 -180
  423. package/src/components/android/PhoneChangemeterInfo.vue +107 -107
  424. package/src/components/android/PhoneInfoTable.vue +40 -40
  425. package/src/components/android/PhoneSellInfo.vue +113 -113
  426. package/src/components/android/PhoneState.vue +157 -157
  427. package/src/components/android/PhoneUpUserinfo.vue +929 -929
  428. package/src/components/android/PhoneUserFind.vue +111 -111
  429. package/src/components/android/PlumberAnnual.vue +83 -83
  430. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  431. package/src/components/android/PlumberMonthly.vue +84 -84
  432. package/src/components/android/PostMap.vue +83 -83
  433. package/src/components/android/PrearrangedPlan.vue +247 -247
  434. package/src/components/android/QueryCheckHistory.vue +122 -122
  435. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  436. package/src/components/android/RepairAreaList.vue +71 -71
  437. package/src/components/android/RepairList.vue +206 -206
  438. package/src/components/android/RepairMain.vue +60 -60
  439. package/src/components/android/RepairQuery.vue +262 -262
  440. package/src/components/android/Repairman.vue +12 -12
  441. package/src/components/android/ResAreaList.vue +158 -158
  442. package/src/components/android/RightTree.vue +174 -174
  443. package/src/components/android/SafecheckDevices.vue +1143 -1143
  444. package/src/components/android/SafecheckOrderV.vue +2408 -2408
  445. package/src/components/android/SafecheckState.vue +437 -437
  446. package/src/components/android/SafecheckUser.vue +580 -580
  447. package/src/components/android/ShebeiDevices.vue +980 -980
  448. package/src/components/android/StationMaster.vue +12 -12
  449. package/src/components/android/SwitchValve.vue +230 -230
  450. package/src/components/android/SystemSetting.vue +84 -84
  451. package/src/components/android/ToolsPage.vue +51 -51
  452. package/src/components/android/TrackState.vue +134 -134
  453. package/src/components/android/UploadPage.vue +338 -338
  454. package/src/components/android/checkPlanResult.vue +302 -302
  455. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  456. package/src/components/android/userinfo/SafecheckUserInfo.vue +611 -611
  457. package/src/components/android/wasm/PhoneSafePlan.vue +39 -39
  458. package/src/components/android/wasm/TestData.js +448 -448
  459. package/src/components/android/wasm/comp.js +33 -33
  460. package/src/components/attendance/DailyAttendance.vue +99 -99
  461. package/src/components/attendance/MonthlyAttendance.vue +194 -194
  462. package/src/components/callincheck/CallInCheckMain.vue +146 -146
  463. package/src/components/callincheck/CallInPlan.vue +148 -148
  464. package/src/components/callincheck/UserFileList.vue +155 -155
  465. package/src/components/checkAreaClassification.vue +285 -285
  466. package/src/components/checkerphonestate/Checker.vue +32 -32
  467. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  468. package/src/components/checkplan/CheckDetail.vue +205 -205
  469. package/src/components/checkplan/CheckPlan.vue +59 -59
  470. package/src/components/checkplan/SelectCheckPlan.vue +224 -224
  471. package/src/components/checkplan/SelectMessage.vue +105 -105
  472. package/src/components/checkplan/checkmsg.vue +459 -459
  473. package/src/components/checkplan/checkmsgZG.vue +519 -519
  474. package/src/components/cockpit/Splash.vue +85 -85
  475. package/src/components/cockpit/SplashDetail.vue +66 -66
  476. package/src/components/createcheckplan/CreatePlan.vue +1052 -1052
  477. package/src/components/createcheckplan/CreatePlanWuan.vue +1024 -1024
  478. package/src/components/createcheckplan/DelPlanRepeat.vue +318 -318
  479. package/src/components/createcheckplan/DistributePlan.vue +62 -62
  480. package/src/components/createcheckplan/PlanList.vue +433 -433
  481. package/src/components/createcheckplan/PlanUersList.vue +137 -137
  482. package/src/components/defect/DefectDetail.vue +177 -177
  483. package/src/components/defect/DefectDetailWeixiu.vue +177 -177
  484. package/src/components/defect/DefectList.vue +489 -489
  485. package/src/components/defect/DefectListWeixiu.vue +479 -479
  486. package/src/components/defect/DefectMain.vue +63 -63
  487. package/src/components/defect/DefectMainWeixiu.vue +63 -63
  488. package/src/components/defect/DefectPaper.vue +874 -874
  489. package/src/components/defect/DefectPaperWeiXiu.vue +655 -655
  490. package/src/components/defect/ImageViewer.vue +350 -350
  491. package/src/components/defect/ImgButton.vue +118 -118
  492. package/src/components/defect/ImgsButton.vue +62 -62
  493. package/src/components/defects/AddDefectModal.vue +120 -120
  494. package/src/components/defects/AddDevice.vue +95 -95
  495. package/src/components/defects/CheckPaperItem.vue +92 -92
  496. package/src/components/defects/CheckPaperItems.vue +89 -89
  497. package/src/components/defects/CheckPaperSearch.vue +349 -349
  498. package/src/components/defects/CheckPaperSearchMain.vue +55 -55
  499. package/src/components/defects/DefectCondition.vue +180 -180
  500. package/src/components/defects/DefectModal.vue +101 -101
  501. package/src/components/defects/DefectSeting.vue +98 -98
  502. package/src/components/defects/DefectsQuery.vue +190 -190
  503. package/src/components/defects/DevicesAndItem.vue +39 -39
  504. package/src/components/defects/DevicesSeting.vue +106 -106
  505. package/src/components/equipment/BoilerUsage.vue +105 -105
  506. package/src/components/equipment/CheckRate.vue +324 -324
  507. package/src/components/equipment/CheckerRate.vue +333 -333
  508. package/src/components/equipment/CookerUsage.vue +105 -105
  509. package/src/components/equipment/DeviceUsage.vue +105 -105
  510. package/src/components/equipment/FurnaceUsage.vue +105 -105
  511. package/src/components/equipment/GasMeterUsage.vue +109 -109
  512. package/src/components/equipment/HeaterUsage.vue +105 -105
  513. package/src/components/equipment/MonthCheckRate.vue +340 -340
  514. package/src/components/filialCircle/AddCircleFiliale.vue +114 -114
  515. package/src/components/filialCircle/CircleList.vue +139 -139
  516. package/src/components/filialCircle/CircleManage.vue +69 -69
  517. package/src/components/gasusage/GasUsage.vue +126 -126
  518. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  519. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  520. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  521. package/src/components/inspections/Checked.vue +402 -402
  522. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  523. package/src/components/inspections/InsUploadPage.vue +251 -251
  524. package/src/components/inspections/InspectionList.vue +542 -542
  525. package/src/components/inspections/InspectionLists.vue +544 -544
  526. package/src/components/inspections/InspectionListss.vue +544 -544
  527. package/src/components/inspections/inspectionDevices.vue +986 -986
  528. package/src/components/inspections/inspectionFeedback.vue +720 -720
  529. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  530. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  531. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  532. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  533. package/src/components/issueplan/IssuePlanAction.vue +102 -102
  534. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  535. package/src/components/issueplan/IssuePlanQuery.vue +118 -118
  536. package/src/components/json-editor/SafeJsonEditor.vue +212 -212
  537. package/src/components/json-editor/assets/img/jsoneditor-icons.svg +893 -893
  538. package/src/components/json-editor/assets/jsoneditor-minimalist.js +9750 -9750
  539. package/src/components/json-editor/assets/jsoneditor.css +929 -929
  540. package/src/components/json-editor/assets/jsoneditor.js +36376 -36376
  541. package/src/components/json-editor/example/App.vue +53 -53
  542. package/src/components/json-editor/example/index.html +9 -9
  543. package/src/components/json-editor/example/main.js +10 -10
  544. package/src/components/json-editor/package.json +71 -71
  545. package/src/components/json-editor/vue-json-editor.vue +189 -189
  546. package/src/components/levelplan/AdjustPlan.vue +199 -199
  547. package/src/components/levelplan/CheckerLeft.vue +140 -140
  548. package/src/components/levelplan/CheckerPlanAdjust.vue +304 -304
  549. package/src/components/levelplan/CheckerRight.vue +123 -123
  550. package/src/components/map/AMap.vue +70 -70
  551. package/src/components/map/AMapTrailShow.vue +178 -178
  552. package/src/components/map/AMapTrailShowZk.vue +178 -178
  553. package/src/components/map/FootPrintList.vue +45 -45
  554. package/src/components/map/MapCriteriaData.vue +97 -97
  555. package/src/components/map/checkScreen.vue +727 -727
  556. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  557. package/src/components/metterfiles/MetterFiles.vue +104 -104
  558. package/src/components/metterfiles/MetterfilesAdd.vue +168 -168
  559. package/src/components/metterfiles/MetterfilesChange.vue +162 -162
  560. package/src/components/metterfiles/UserFiles.vue +156 -156
  561. package/src/components/metterfiles/Userfileschange.vue +391 -391
  562. package/src/components/notice/NoticeForm.vue +100 -100
  563. package/src/components/notice/NoticeIssue.vue +20 -20
  564. package/src/components/notice/NoticeQuery.vue +76 -76
  565. package/src/components/paper/PaperList.vue +806 -806
  566. package/src/components/paper/PaperVerify.vue +256 -256
  567. package/src/components/paper/PicViewer.vue +18 -18
  568. package/src/components/paper/PlanChooser.vue +159 -159
  569. package/src/components/paper/RepairVerify.vue +139 -139
  570. package/src/components/paper/RepairVerifyForm.vue +76 -76
  571. package/src/components/paper/VerifyForm.vue +107 -107
  572. package/src/components/paper/filialeCheckInfo.vue +111 -111
  573. package/src/components/pc/AnnouncementPC.vue +524 -524
  574. package/src/components/pc/CheckBook.vue +67 -67
  575. package/src/components/pc/CheckBookList.vue +586 -586
  576. package/src/components/pc/CheckBookManage.vue +998 -998
  577. package/src/components/pc/CheckBookUser.vue +77 -77
  578. package/src/components/pc/DeviceChange.vue +1068 -1068
  579. package/src/components/pc/HiddenChart.vue +494 -494
  580. package/src/components/pc/NewCheckpaper.vue +1333 -1333
  581. package/src/components/pc/PaperChazhiMain.vue +570 -570
  582. package/src/components/pc/PaperDefectMain.vue +584 -584
  583. package/src/components/pc/RoleSelector.vue +125 -125
  584. package/src/components/phonestate/DailyTraffic.vue +57 -57
  585. package/src/components/phonestate/FootprintMap.vue +129 -129
  586. package/src/components/phonestate/LastKnownState.vue +74 -74
  587. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  588. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  589. package/src/components/phonestate/PostMap.vue +82 -82
  590. package/src/components/plancheck/CheckPlanAreaManage.vue +116 -116
  591. package/src/components/plancheck/CheckPlanList.vue +282 -282
  592. package/src/components/planmanage/PlanManage.vue +782 -782
  593. package/src/components/planmanage/checkPlanList.vue +341 -341
  594. package/src/components/planmanage/checkUserList.vue +728 -728
  595. package/src/components/querycheckpaper/CheckPaperList.vue +127 -127
  596. package/src/components/querycheckpaper/CheckPaperSearchUser.vue +67 -67
  597. package/src/components/querycheckpaper/CheckSearchUser.vue +1037 -1037
  598. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  599. package/src/components/querycheckpaper/PaperItems.vue +79 -79
  600. package/src/components/querycheckpaper/PaperSearch.vue +126 -126
  601. package/src/components/querycheckpaper/PaperSearchMain.vue +56 -56
  602. package/src/components/querycheckpaper/ShebeiPaperList.vue +121 -121
  603. package/src/components/querycheckpaper/ShebeiPaperSearchUser.vue +67 -67
  604. package/src/components/querycheckpaper/ShebeiSearchUser.vue +690 -690
  605. package/src/components/report/CheckPlanAreaList.vue +5 -0
  606. package/src/components/report/CheckPlanAreaManage.vue +111 -111
  607. package/src/components/report/CheckPlanUserList.vue +217 -217
  608. package/src/components/report/HiddenSituation.vue +210 -210
  609. package/src/components/report/ManageBusSummary.vue +242 -242
  610. package/src/components/report/SafePlanSale.vue +111 -111
  611. package/src/components/report/SafePlanStatistics.vue +118 -118
  612. package/src/components/rongcheng/AddPlanItem.vue +315 -315
  613. package/src/components/rongcheng/AreaPlan.vue +470 -470
  614. package/src/components/rongcheng/AspPaperFeedback.vue +1179 -1179
  615. package/src/components/rongcheng/AspPaperStatem.vue +339 -339
  616. package/src/components/rongcheng/AspiratedAreaPlan.vue +464 -464
  617. package/src/components/rongcheng/AspiratedCurrentCreate.vue +1036 -1036
  618. package/src/components/rongcheng/AspiratedDevices.vue +966 -966
  619. package/src/components/rongcheng/AspiratedOrderV.vue +2376 -2376
  620. package/src/components/rongcheng/AspiratedPaperFeedbackm.vue +1019 -1019
  621. package/src/components/rongcheng/AspiratedPaperMessage.vue +1378 -1378
  622. package/src/components/rongcheng/AspiratedPaperMessageNocivil.vue +1288 -1288
  623. package/src/components/rongcheng/AspiratedUploadPage.vue +293 -293
  624. package/src/components/rongcheng/AspiratedUserInfo.vue +399 -399
  625. package/src/components/rongcheng/CheckCurrentCreate.vue +1046 -1046
  626. package/src/components/rongcheng/CheckPaperList.vue +134 -134
  627. package/src/components/rongcheng/CheckPaperSearchUser.vue +55 -55
  628. package/src/components/rongcheng/CheckPaperSearchUserNo.vue +55 -55
  629. package/src/components/rongcheng/CheckSearchUser.vue +826 -826
  630. package/src/components/rongcheng/CheckSearchUserNo.vue +757 -757
  631. package/src/components/rongcheng/DefectList.vue +560 -560
  632. package/src/components/rongcheng/DefectPaper.vue +638 -638
  633. package/src/components/rongcheng/PaperFeedback.vue +1318 -1318
  634. package/src/components/rongcheng/PaperListAJ.vue +501 -501
  635. package/src/components/rongcheng/PaperListNPAJ.vue +498 -498
  636. package/src/components/rongcheng/PaperListNPSQ.vue +485 -485
  637. package/src/components/rongcheng/PaperListSQ.vue +483 -483
  638. package/src/components/rongcheng/PaperMessage.vue +1186 -1186
  639. package/src/components/rongcheng/PaperMessageNocivil.vue +1211 -1211
  640. package/src/components/rongcheng/PaperStateNoncivilm.vue +366 -366
  641. package/src/components/rongcheng/PaperStatem.vue +343 -343
  642. package/src/components/rongcheng/PhoneDevicesInfo.vue +233 -233
  643. package/src/components/rongcheng/SafecheckDevices.vue +998 -998
  644. package/src/components/rongcheng/SafecheckOrderV.vue +2476 -2476
  645. package/src/components/rongcheng/SafecheckOrderVCli.vue +2594 -2594
  646. package/src/components/rongcheng/SafecheckUserInfo.vue +439 -439
  647. package/src/components/rongcheng/UploadPage.vue +328 -328
  648. package/src/components/rongcheng/checkerplan/SelectCheckPlan.vue +285 -285
  649. package/src/components/rongcheng/report/CheckPlanAreaList.vue +419 -419
  650. package/src/components/rongcheng/report/CheckPlanUserList.vue +228 -228
  651. package/src/components/safecheck/common/TabButton.vue +157 -157
  652. package/src/components/safecheck/common/Tabs.vue +67 -67
  653. package/src/components/safecheck/queryManage/CheckBookAll.vue +71 -71
  654. package/src/components/safecheck/queryManage/SafeCheckManage.vue +88 -88
  655. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  656. package/src/components/sendsingle/onlineChangeMeter.vue +658 -658
  657. package/src/components/sendsingle/onlineoperation.vue +411 -411
  658. package/src/components/sendsingle/onlinequeryuser.vue +363 -363
  659. package/src/components/shaoguan/CheckPlanUserList.vue +119 -119
  660. package/src/components/shaoguan/DefectDetail.vue +177 -177
  661. package/src/components/shaoguan/DefectList.vue +473 -473
  662. package/src/components/shaoguan/DefectMain.vue +53 -53
  663. package/src/components/shaoguan/DefectPaper.vue +217 -217
  664. package/src/components/shaoguan/PaperList.vue +533 -533
  665. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  666. package/src/components/task/RepairAnnual.vue +79 -79
  667. package/src/components/task/RepairAnnualDetail.vue +49 -49
  668. package/src/components/task/RepairMonthly.vue +91 -91
  669. package/src/components/task/TaskAnnual.vue +77 -77
  670. package/src/components/task/TaskAnnualDetail.vue +47 -47
  671. package/src/components/task/TaskMonthly.vue +89 -89
  672. package/src/components/tongcheng/AreaPlan.vue +458 -458
  673. package/src/components/tongcheng/CurrentCreate.vue +625 -625
  674. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  675. package/src/components/tongcheng/PaperMessage.vue +1270 -1270
  676. package/src/components/tongcheng/PaperMessageNocivil.vue +1228 -1228
  677. package/src/components/tongcheng/PaperSet.vue +1958 -1958
  678. package/src/components/tongcheng/PaperUser.vue +533 -533
  679. package/src/components/userfile/InfoModifyModal.vue +122 -122
  680. package/src/components/userfile/MeterFile.vue +145 -145
  681. package/src/components/userfile/MeterModify.vue +46 -46
  682. package/src/components/userfile/UserFile.vue +118 -118
  683. package/src/components/userfile/UserInfoAudit.vue +252 -252
  684. package/src/components/userfile/UserfileChange.vue +277 -277
  685. package/src/components/userfile/UserinfoModify.vue +117 -117
  686. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  687. package/src/components/userfileaudit/UserFileaudit.vue +81 -81
  688. package/src/components/userfileaudit/UserfileChangeaudit.vue +239 -239
  689. package/src/expandcss.less +571 -571
  690. package/src/expandcssAndroid.less +520 -520
  691. package/src/filiale/ALshan/pc/CheckSearchUser.vue +927 -927
  692. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +473 -473
  693. package/src/filiale/ALshan/pc.js +15 -15
  694. package/src/filiale/Util.js +325 -325
  695. package/src/filiale/huatong/android/SafecheckDevices.vue +928 -928
  696. package/src/filiale/huatong/android/SafecheckOrderV.vue +2398 -2398
  697. package/src/filiale/huatong/android.js +14 -14
  698. package/src/filiale/huatong/pc.js +13 -13
  699. package/src/filiale/liaoyuan/android/SafecheckDevices.vue +928 -928
  700. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2383 -2383
  701. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +550 -550
  702. package/src/filiale/liaoyuan/android.js +14 -14
  703. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +483 -483
  704. package/src/filiale/liaoyuan/pc/DefectPaperWeiXiu.vue +975 -975
  705. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  706. package/src/filiale/liaoyuan/pc/PaperList.vue +657 -657
  707. package/src/filiale/liaoyuan/pc.js +15 -15
  708. package/src/filiale/lixian/android/SafecheckDevices.vue +1022 -1022
  709. package/src/filiale/lixian/android/SafecheckOrderV.vue +2403 -2403
  710. package/src/filiale/lixian/android/SafecheckUserInfo.vue +586 -586
  711. package/src/filiale/lixian/android.js +14 -14
  712. package/src/filiale/lixian/pc/CheckPlanAreaList.vue +461 -461
  713. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  714. package/src/filiale/lixian/pc/PaperChazhiMain.vue +607 -607
  715. package/src/filiale/lixian/pc/PaperDefectMain.vue +617 -617
  716. package/src/filiale/lixian/pc/PaperList.vue +686 -686
  717. package/src/filiale/lixian/pc.js +22 -22
  718. package/src/filiale/rongchuang/pc/checkUserList.vue +594 -594
  719. package/src/filiale/rongchuang/pc.js +13 -13
  720. package/src/filiale/shimen/android/CurrentCreate.vue +979 -979
  721. package/src/filiale/shimen/android/PaperFeedback.vue +1341 -1341
  722. package/src/filiale/shimen/android/PhoneSellInfo.vue +88 -88
  723. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  724. package/src/filiale/shimen/android.js +12 -12
  725. package/src/filiale/shimen/pc/CheckPlanAreaList.vue +463 -463
  726. package/src/filiale/shimen/pc/CheckSearchUser.vue +927 -927
  727. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  728. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  729. package/src/filiale/shimen/pc/PaperDefectMain.vue +656 -656
  730. package/src/filiale/shimen/pc/PaperList.vue +613 -613
  731. package/src/filiale/shimen/pc/checkmsg.vue +248 -248
  732. package/src/filiale/shimen/pc.js +21 -21
  733. package/src/filiale/tongchuan/android/PaperFeedback.vue +1350 -1350
  734. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1112 -1112
  735. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +2575 -2575
  736. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +640 -640
  737. package/src/filiale/tongchuan/android/UploadPage.vue +285 -285
  738. package/src/filiale/tongchuan/android.js +13 -13
  739. package/src/filiale/tongchuan/pc/CheckPlanUserList.vue +245 -245
  740. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +956 -956
  741. package/src/filiale/tongchuan/pc/DefectPaper.vue +764 -764
  742. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +509 -509
  743. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +1267 -1267
  744. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +634 -634
  745. package/src/filiale/tongchuan/pc/PaperList.vue +677 -677
  746. package/src/filiale/tongchuan/pc/checkUserList.vue +593 -593
  747. package/src/filiale/tongchuan/pc.js +21 -21
  748. package/src/filiale/wenxi/android/CurrentCreate.vue +1047 -1047
  749. package/src/filiale/wenxi/android/PaperFeedback.vue +1378 -1378
  750. package/src/filiale/wenxi/android/SafecheckDevices.vue +1053 -1053
  751. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2472 -2472
  752. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +584 -584
  753. package/src/filiale/wenxi/android/UploadPage.vue +285 -285
  754. package/src/filiale/wenxi/android.js +14 -14
  755. package/src/filiale/wenxi/pc/DefectPaper.vue +662 -662
  756. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1169 -1169
  757. package/src/filiale/wenxi/pc/PaperDefectMain.vue +634 -634
  758. package/src/filiale/wenxi/pc/PaperList.vue +860 -860
  759. package/src/filiale/wenxi/pc/checkmsg.vue +302 -302
  760. package/src/filiale/wenxi/pc.js +16 -16
  761. package/src/filiale/wuan/android/AreaPlan.vue +513 -513
  762. package/src/filiale/wuan/android/CurrentCreate.vue +985 -985
  763. package/src/filiale/wuan/android/CurrentCreateSheBei.vue +999 -999
  764. package/src/filiale/wuan/android/SafecheckDevices.vue +1150 -1150
  765. package/src/filiale/wuan/android/SafecheckOrderV.vue +2237 -2237
  766. package/src/filiale/wuan/android/SafecheckUserInfo.vue +571 -571
  767. package/src/filiale/wuan/android.js +17 -17
  768. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  769. package/src/filiale/wuan/pc/DefectPaperWeiXiu.vue +514 -514
  770. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  771. package/src/filiale/wuan/pc/PaperList.vue +628 -628
  772. package/src/filiale/wuan/pc.js +19 -19
  773. package/src/filiale/wuhai/android/AreaPlan.vue +529 -529
  774. package/src/filiale/wuhai/android/PaperFeedback.vue +1350 -1350
  775. package/src/filiale/wuhai/android.js +12 -12
  776. package/src/filiale/wuhai/pc/checkUserList.vue +594 -594
  777. package/src/filiale/wuhai/pc.js +13 -13
  778. package/src/filiale/zhongsheng/android/PaperFeedback.vue +1341 -1341
  779. package/src/filiale/zhongsheng/android/PhoneUpUserinfo.vue +926 -926
  780. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2447 -2447
  781. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +591 -591
  782. package/src/filiale/zhongsheng/android.js +17 -17
  783. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  784. package/src/filiale/zhongsheng/pc/DefectPaperWeiXiu.vue +511 -511
  785. package/src/filiale/zhongsheng/pc/InfoModifyModal.vue +123 -123
  786. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1308 -1308
  787. package/src/filiale/zhongsheng/pc/UserInfoAudit.vue +252 -252
  788. package/src/filiale/zhongsheng/pc/UserinfoModify.vue +121 -121
  789. package/src/filiale/zhongsheng/pc.js +15 -15
  790. package/src/filiale/zhoukou/android/AndroidDefectDeal.vue +408 -408
  791. package/src/filiale/zhoukou/android/AreaPlan.vue +543 -543
  792. package/src/filiale/zhoukou/android/CurrentCreate.vue +1014 -1014
  793. package/src/filiale/zhoukou/android/PaperFeedback.vue +1367 -1367
  794. package/src/filiale/zhoukou/android/PhoneUpUserinfo.vue +957 -957
  795. package/src/filiale/zhoukou/android/SafecheckDevices.vue +1174 -1174
  796. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  797. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  798. package/src/filiale/zhoukou/android/UploadPage.vue +301 -301
  799. package/src/filiale/zhoukou/android.js +18 -18
  800. package/src/filiale/zhoukou/pc/CheckSearchUser.vue +923 -923
  801. package/src/filiale/zhoukou/pc/PaperDefectMain.vue +531 -531
  802. package/src/filiale/zhoukou/pc.js +15 -15
  803. package/src/index.js +17 -17
  804. package/src/main.js +4 -4
  805. package/src/plugins/EmojiData.js +514 -514
  806. package/src/plugins/GerJsonConfig.js +59 -59
  807. package/src/plugins/GerJsonObjectConfig.js +44 -44
  808. package/src/plugins/LoadData.js +10 -10
  809. package/src/plugins/LoadParams.js +24 -24
  810. package/src/plugins/LocalPagedList.js +108 -108
  811. package/src/plugins/LocalPathList.js +109 -109
  812. package/src/rongcheng-android.js +193 -193
  813. package/src/rongcheng.js +304 -304
  814. package/src/safecheck-android.js +225 -225
  815. package/src/safecheck.js +723 -723
  816. package/src/shaoguan-android.js +176 -176
  817. package/src/shaoguan.js +276 -276
  818. package/src/stores/AppData.js +46 -46
  819. package/src/stores/wxconfig.js +10 -10
  820. package/src/tongchengsafe-android.js +162 -162
  821. package/src/tongchengsafecheck.js +267 -267
  822. package/src/utils/GerJsonObjectConfig.js +51 -51
  823. package/src/utils/LdapHelper.js +99 -99
  824. package/src/utils/getNowDate.js +33 -33
  825. package/test/SearchList.test.js +14 -14
  826. package/test/e2e/custom-assertions/elementCount.js +26 -26
  827. package/test/e2e/nightwatch.conf.js +40 -40
  828. package/test/e2e/runner.js +30 -30
  829. package/test/e2e/specs/test.js +13 -13
  830. package/test/unit/.eslintrc +5 -5
  831. package/test/unit/TestUtil.js +62 -62
  832. package/test/unit/context.html +20 -20
  833. package/test/unit/index.js +13 -13
  834. package/test/unit/init.js +11 -11
  835. package/test/unit/karma.conf.js +53 -53
  836. package/test/unit/specs/Devices.spec.js +18 -18
  837. package/test/unit/specs/getArrobjconfig.spec.js +104 -104
  838. package/test/unit/specs/getobjconfig.spec.js +37 -37
  839. package/test/unit/specs/phonetest/phonesafecheck.spec.js +23 -23
  840. package/test/unit/specs/safePlanItem.spec.js +30 -30
  841. package/test/unit/specs/safecheck-android.spec.js +7 -7
  842. package/test/unit/specs/safecheck.spec.js +127 -127
  843. package/yarn-error.log +140 -140
@@ -1,1019 +1,1019 @@
1
- <template>
2
- <div class="auto">
3
- <div style="width: 100%;height: 36px;background-color: #f1f8ff">
4
- <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
5
- <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">拍照选项:</p></div>
6
- </div>
7
- <form novalidate class="form-horizontal" style="width: 100%;margin: auto">
8
- <div class="form-group col-sm-12 col-xs-12 col-md-12 info" style="width:100%;">
9
- <div class="text-center">
10
- <label class="font">检查说明:</label>
11
- </div>
12
- <div class="col-md-12 col-sm-12 col-xs-12" style="width: 90%;margin-left: 5px">
13
- <ol class="showInput" style="width: 90%;margin-left: 40px">
14
- <li>已对客户燃气设施进行了安全检查</li>
15
- <li>已对客户进行了安全知识宣传,并发放宣传资料</li>
16
- <li>已对客户的资料进行了登记</li>
17
- <li>已对违章及隐患之客户下发隐患整改告知书</li>
18
- </ol>
19
- </div>
20
- </div>
21
-
22
- <div class="form-group col-sm-12" style="margin-top: 10px">
23
- <div class="auto" style="width: 100%;float: left;" >
24
- <label class="text-left font">总体送气照片</label>
25
- <div class="auto">
26
- <div class="panel">
27
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
28
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
29
- <div class="row">
30
- <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 10px;margin-right: 75px" v-for="(index,img) in paper.f_overall_imgs">
31
- <img-self :src="img.f_overall_path" alt="总体送气照片" :width="150" :height="200"></img-self>
32
- <!--<img src="../../assets/remove.png" @click="delfile('f_overall_path', img.f_overall_path,index)" class="imgs" style="width: 30px;" alt="">-->
33
- </div>
34
- </div>
35
- </div>
36
- <div class="row text-right div-photo">
37
- <!--<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_overall_path', '总体安检照片1')">拍照</button>-->
38
- </div>
39
- </div>
40
- </div>
41
- </div>
42
- </div>
43
- <!--<div class="auto" style="width: 49%;float: left;margin-left: 20px">-->
44
- <!--<label class="text-left font">总体安检照片2</label>-->
45
- <!--<div class="auto">-->
46
- <!--<div class="panel">-->
47
- <!--<div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">-->
48
- <!--<div class="row" style="height: 240px;overflow: scroll;top: 1px">-->
49
- <!--<div class="col-sm-4">-->
50
- <!--<img-self :src="paper.f_overall2_path" alt="总体安检照片2" width="150" height="200"></img-self>-->
51
- <!--</div>-->
52
- <!--</div>-->
53
- <!--<div class="row text-right div-photo">-->
54
- <!--<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_overall2_path', '总体安检照片2')">拍照</button>-->
55
- <!--</div>-->
56
- <!--</div>-->
57
- <!--</div>-->
58
- <!--</div>-->
59
- <!--</div>-->
60
- </div>
61
- <div class="form-group col-sm-12" style="margin-top: 20px">
62
- <label class="text-left font">用户签名</label>
63
- <div class="auto">
64
- <div class="panel">
65
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
66
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
67
- <div class="col-sm-4">
68
- <img :class="style__" :src="paper.f_sign_path" :width="200" :height="150" />
69
- </div>
70
- </div>
71
- <!--<div class="row text-right div-photo">-->
72
- <!--&lt;!&ndash;<button type="button" name="button" class="btn btn-primary btn-photo" @click="sign">签名</button>&ndash;&gt;-->
73
- <!--</div>-->
74
- </div>
75
- </div>
76
- </div>
77
- </div>
78
- <div class="form-group col-sm-12" v-if="paper.f_exceed_reason">
79
- <label>送气超期原因:</label><br/>
80
- <textarea style="width: 100%;" v-model="paper.f_exceed_reason"></textarea>
81
- </div>
82
- <!--<div class="form-group col-sm-12" style="margin-top: 20px">
83
- <input type="checkbox" :readonly="true" :checked="paper.f_blacklist=='是'"/><label class="text-left font" >限制该用户购气</label>
84
- <textarea if="paper.f_blacklist=='是'" id="el_ca_tx" v-model.trim="paper.f_blocking_cause" style="border-radius:4px;width: 100%;" >
85
- </textarea>
86
- </div>-->
87
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
88
- <!--<div class="form-group col-md-12 col-sm-12 col-xs-12">
89
- <input type="checkbox" v-model="paper.f_defect_notified" class="showInput"/>安检通知书/隐患整改通知书
90
- </div>
91
- <div class="form-group col-md-12 col-sm-12 col-xs-12" v-if="paper.f_defect_notified">
92
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
93
- <button type="button" @click="print()">打印隐患整改单</button>
94
- </div>
95
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
96
- <label class="text-left font">安检通知书/隐患整改通知书照片(要求能清晰反应安检通知单和用户签字内容):</label>
97
- <div class="auto" >
98
- <div class="panel" style="padding: 10px 10px 5px 10px;">
99
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
100
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
101
- <div class="col-sm-4">
102
- <img-self :src="paper.f_notified_path" alt="安检通知书/隐患整改通知书照片" width="150" height="200"></img-self>
103
- </div>
104
- </div>
105
- <div class="row text-right div-photo">
106
- <button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_notified_path', '安检通知书/隐患整改通知书照片')">拍照</button>
107
- &nbsp;&nbsp;&nbsp;&nbsp;<img src="../../assets/remove.png" :class="style__" @click="delfile('f_notified_path', this.paper.f_notified_path)" style="width: 25%;"></img>
108
- </div>
109
- </div>
110
- </div>
111
- </div>
112
- </div>
113
- </div>
114
- -->
115
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
116
- <div class="row">
117
- <label class="text-left">请对我们的服务做出评价:</label>
118
- </div>
119
- <div class="col-xs-4 col-sm-4" v-for="item in radios">
120
- <input v-model="paper.f_client_evaluation" :value="item.label" :checked='item.isChecked' @click="check(item.value)" type="radio">{{item.label}}
121
- </div>
122
- </div>
123
- <!-- <div class="form-group col-md-12 col-sm-12 col-xs-12">-->
124
- <!-- <label class="text-left font">反馈录音:</label>-->
125
- <!-- <div class="col-md-12 col-sm-12 col-xs-12" v-if="!paper.f_recording1_path">-->
126
- <!-- <audio :src="paper.f_recording1_path" v-el:audio controls @click="palyAudio(row)"></audio>-->
127
- <!-- </div>-->
128
- <!-- </div>-->
129
- <div class="text-center form-group col-md-12 col-sm-12 col-xs-12">
130
- <button type="button" v-show="$parent.actionEnabled" class="btn save-btn" @click="$parent.savePaper(true)">保存</button>
131
- <button id="upload" type="button" v-show="$parent.actionEnabled && !$parent.isBusy" class="btn upload-btn" @click="$parent.uploadPaper" >上传</button>
132
- <button v-if="safeCheckToRepair && $parent.actionEnabled" class="btn repair-btn btn-warning" type="button" @click="showToRepair">转维修</button>
133
- </div>
134
- </div>
135
- </form>
136
-
137
- <modal :show.sync="showCheckToRepair" v-ref:modal :backdrop="isback">
138
- <div slot="modal-header" class="modal-header">
139
- <h4 class="modal-title">
140
- 安检转维修
141
- </h4>
142
- </div>
143
- <div slot="modal-body" class="modal-body">
144
- <div v-if="showrepair">
145
- <div class="row">
146
- <label class="col-xs-4 col-md-4 control-label text-left">派单方式</label>
147
- <div class="col-xs-8 col-md-8">
148
- <label v-for="handling1 in handling" >
149
- <input type="radio"
150
- v-model="meading"
151
- value="{{handling1.label}}">
152
- {{handling1.label}}
153
- </label>
154
- </div>
155
- </div>
156
- <div class="row" v-if="meading == '转站点'">
157
- <label class="col-xs-4 col-md-4 control-label font text-left" for="f_reciever">站点</label>
158
- <div class="col-xs-8 col-md-8">
159
- <right-tree @ready="onReady" islist :Url="Url" :userid="userid" :source="source" v-on:re-res="reres" :textContent="选择站点管理员" :selectData="" v-ref:f_reciever>
160
- </right-tree>
161
- </div>
162
- </div>
163
-
164
- <div class="row" style="margin-top: 6px" v-if="meading == '转维修员'">
165
- <label class="col-xs-4 col-md-4 control-label font text-left">维修人</label>
166
- <div class="col-xs-8">
167
- <v-select :value="model.serviceacitivity[0].f_reciever" :value-single="true"
168
- :options='f_repair_person' placeholder='请选择维修员'
169
- close-on-select v-on:change="repiarmancg"></v-select>
170
- </div>
171
-
172
- </div>
173
- <div class="row" style="margin-top: 6px">
174
- <label for="f_repair" class="col-xs-4 col-md-4 control-label font text-left">报修类型</label>
175
- <div class="col-xs-8 col-md-8">
176
- <v-select :value.sync="model.f_repairtype" :value-single="true"
177
- :options='repairstypes' placeholder='报修类型'
178
- close-on-select>
179
- </v-select>
180
- </div>
181
- </div>
182
-
183
- <div class="row" style="margin-top: 6px">
184
- <label class="control-label font text-left col-md-4 col-xs-4">备注</label>
185
- <div class="col-xs-8 col-md-8">
186
- <input type="text" v-model="model.f_remarks"/>
187
- </div>
188
-
189
- </div>
190
-
191
- </div>
192
- <div v-if="!showrepair">
193
- 暂无隐患设备信息
194
- </div>
195
- </div>
196
- <div slot="modal-footer" class="modal-footer">
197
- <button type="button" class="btn btn-default" @click="uploadPaper()">确定</button>
198
- <button type="button" class="btn btn-default" @click="undo()">取消</button>
199
- </div>
200
- </modal>
201
- </div>
202
- </template>
203
-
204
- <script>
205
- import Vue from 'vue'
206
- import * as Util from '../Util'
207
- import { HttpResetClass } from 'vue-client'
208
- import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
209
- import Radio from 'vue-client/src/vue-strap/src/radioBtn'
210
- import co from 'co'
211
-
212
- let getRepairParam = function * (self){
213
- let data = {
214
- model: self.model, loginUser: {
215
- name: self.role == 'view'?self.$login.f.name:Vue.user.name,
216
- ename: self.role == 'view'?self.$login.f.ename:Vue.user.ename
217
- }, user: self.user, callObj: self.callObj
218
- }
219
- if(self.meading == '转维修员'){
220
- data.toRepair = '一级派单'
221
- }
222
- data.model.f_attendant = data.loginUser.name
223
- console.log('===================')
224
- console.log(data)
225
- let res
226
- let errString = self.$parent.errorVerify()
227
- if(errString){
228
- console.log(errString)
229
- if (Vue.android)
230
- self.undo()
231
- this.$showMessage(errString)
232
- return
233
- } else {
234
- if(self.role == 'inspect'){
235
- if(self.meading == '转维修员' && (self.model.serviceacitivity[0].f_reciever == '' || self.model.serviceacitivity[0].f_reciever == undefined)){
236
- this.$showMessage("请选择维修员!")
237
- return
238
- }
239
- if(self.meading == '转站点' && (self.model.serviceacitivity[0].f_reciever == '' || self.model.serviceacitivity[0].f_reciever == undefined)){
240
- this.$showMessage("请选择站点!")
241
- return
242
- }
243
- if(self.model.f_repairtype == ''){
244
- this.$showMessage("请选择报修类型!")
245
- return
246
- }
247
- console.log("转维修数据1:==》"+JSON.stringify(data))
248
- let checkResult = '正常'
249
- let options = [{"data": "已处理"},{"data": "未处理"}]
250
- let value = ''
251
- let codata = JSON.parse(JSON.stringify(self.paper))
252
- for(let device in codata){
253
- console.log('转维修codata[device]'+JSON.stringify(codata[device]))
254
- let f_device_type
255
- if(device.startsWith("device")){
256
- for(let item in codata[device]) {
257
- if(codata[device].length > 1 ){
258
- let j = Number.parseInt(item)+1
259
- f_device_type = `${codata[device][item].f_device_type}${j}`
260
- }else{
261
- f_device_type = codata[device][item].f_device_type
262
- }
263
- // console.log('codata[device][item]=>',codata[device][item])
264
- let details = []
265
- for(let i in codata[device][item].f_items){
266
- let items = codata[device][item].f_items[i]
267
- console.log('items',items)
268
- if(items.f_is_defect == true || items.f_is_defect == 'true'){
269
- checkResult = '有隐患'
270
- console.log('类型----',f_device_type)
271
- let res = yield self.$resetpost(`${self.Url}/rs/sql/getDeviceItem`,{data:{f_device_id:codata[device][item].f_device_id,f_item_name:items.f_item_name}})
272
- console.log('获取安检设备信息结果=》'+JSON.stringify(res))
273
- self.$set('detail.f_defect_id', res.data[0].id)
274
- self.$set('detail.f_project',`${items.f_item_name}:${items.f_item_value}`)
275
- self.$set('detail.type',items.type)
276
- self.$set('detail.options',options)
277
- details.push(JSON.parse(JSON.stringify(self.detail)))
278
- }
279
- if(items.type == 'selector'){
280
- items.selected = ''
281
- }
282
- self.detail = {}
283
- }
284
- console.log('details',details)
285
- self.$set('defectDevice.f_type',f_device_type)
286
- self.$set('defectDevice.details',details)
287
- if(self.defectDevice.details.length >0 ){
288
- self.repairitems.push(JSON.parse(JSON.stringify(self.defectDevice)))
289
- }
290
- self.defectDevice = {}
291
- console.log('repairitems===>'+self.repairitems)
292
- }
293
- }
294
- }
295
- self.$set('model.f_repairitems.data',self.repairitems)
296
-
297
-
298
- console.log("转维修数据2:==》"+JSON.stringify(data))
299
- res = self.$androidUtil.bzLogic('safecheckToRepair',data)
300
- console.log('res==========')
301
- console.log(res.code)
302
- console.log(res.data)
303
- if(res.code == 200){
304
- self.$parent.isSafeCheckToRepair = true
305
- self.undo()
306
- self.$set('paper.f_SafeToRepair_id',res.data.f_service_id)
307
- console.log('更新维修单id')
308
- self.$resetpost(`${self.Url}/rs/logic/updatePaperRepair`,{data:{f_paper_id:self.paper.f_paper_id,f_SafeToRepair_id:res.data.f_service_id}}).then((ret)=>{
309
- console.log('ret==>'+ret)
310
- if(ret.data.code ==200){
311
- console.log('维修单id修改成功')
312
- self.$parent.$back()
313
- }else{
314
- self.$showMessage('安检转维修失败!')
315
- }
316
- }).catch(v=>{
317
- console.log('v=>'+JSON.stringify(v))
318
- self.$showMessage('安检转维修失败!')
319
- })
320
- }else{
321
- self.$showMessage('安检转维修失败!')
322
- }
323
- }
324
- }
325
- }
326
-
327
-
328
-
329
- let getRepairs = async function(self,url) {
330
- // 获取配置信息
331
- try {
332
- let val = {source: 'this.getParentByType($department$).getChildByName($维修员$).getUsers()', userid: `${Vue.$login.jwt}`}
333
- let repairs =[]
334
- let res = await Vue.resetpost(`${url}/rs/search`,{data: val},{resolveMsg: null, rejectMsg: null})
335
- res.data.forEach((item) => {
336
- repairs.push({label: item.name, value: item})
337
- })
338
- self.f_repair_person = repairs
339
- if(self.$parent.role == 'inspect'){
340
- let res = self.$androidUtil.bzLogic('getUserInfo',{id:self.paper.f_userinfoid})
341
- if(res.code == 200){
342
- self.user = res.data[0]
343
- self.model.f_area = self.user.f_area
344
- }
345
- }else{
346
- console.log('pc')
347
- self.$resetpost(`${self.Url}/rs/sql/safeCheckgetUserInfo`,{data:{id:self.paper.f_userinfoid}},{resolveMsg: null, rejectMsg: null}).then((res)=>{
348
- console.log('res',res)
349
- if(res.data.length != 0){
350
- self.user = res.data[0]
351
- self.model.f_area = self.user.f_area
352
- }
353
- })
354
- // path({alias:'getUserInfo',data:{id:this.paper.f_userinfoid}})
355
- }
356
- } catch (error) {
357
- console.log('error',error)
358
- }
359
- }
360
-
361
- export default {
362
- title: '用户反馈',
363
- data() {
364
- return {
365
- paper:this.$parent.data,
366
- printContent:[],
367
- radios:[
368
- {
369
- label: '满意',
370
- value: 0,
371
- isChecked: false,
372
- },
373
- {
374
- label: '基本满意',
375
- value:1,
376
- isChecked: false,
377
- },
378
- {
379
- label: '不满意',
380
- value:2,
381
- isChecked: false,
382
- },
383
- ],
384
- model: {
385
- // 一次派单
386
- serviceacitivity: [{
387
- f_service_acitivity_type: '派单'
388
- }],
389
- f_source:'安检',
390
- f_service_id: '',
391
- f_contact_phone: '',
392
- f_meetunit: '',
393
- f_phone: '',
394
- f_user_name: '',
395
- f_address: '',
396
- f_repair_date: Util.toStandardTimeString(),
397
- f_card_id: '',
398
- // f_department: '', 站点选择
399
- f_reciever:'',
400
- f_remarks: '',
401
- f_user_type: '',
402
- f_area: '',
403
- f_unit_name:'',
404
- f_street: '',
405
- f_residential_area: '',
406
- f_building: '',
407
- f_unit: '',
408
- f_floor: '',
409
- f_room: '',
410
- aState: null,
411
- f_repairtype: '',
412
- f_repairitems:{},
413
- },
414
- repairitems:[],
415
- repairstypes:this.$appdata.getParam('报修类型'),
416
- //f_repair_person: this.readRepair(),
417
- showrepair: false,
418
- safeCheckToRepair:'',
419
- showCheckToRepair:false,
420
- userid: '',
421
- source:
422
- 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
423
- 'tool.getFullTree(dep.where(row.getChildByName($派单员$) != null))',
424
- isback:false,
425
- defectDevice:{},
426
- detail:{},
427
- callObj:null,
428
- user:{},
429
- role:this.$parent.role,
430
- handling:[{label:'转站点',value:'转站点'},{label:'转维修员',value:'转维修员'}],
431
- meading:'转站点',
432
- Url:this.$androidUtil.getProxyUrl()
433
- }
434
- },
435
- props: ['idx'],
436
- components: {
437
- RadioGroup,
438
- Radio
439
- },
440
- methods: {
441
- check(index) {
442
- console.log('index',index)
443
- // 先取消所有选中项
444
- for (let item of this.radios){
445
- item.isChecked = false;
446
- }
447
- //再设置当前点击项选中
448
- this.paper.f_client_evaluation = this.radios[index].label;
449
- // 设置值,以供传递
450
- this.radios[index].isChecked = true;
451
- console.log('paper.f_client_evaluation==',this.paper.f_client_evaluation);
452
- },
453
- getSignValue(fileName) {
454
- this.f_signname = fileName
455
- },
456
- cameraCallBack(prop, fileName) {
457
- HostApp.__this__.paper[prop] = fileName + '?' + Math.random()
458
- HostApp.__callback__ = null
459
- HostApp.__this__ = null
460
- },
461
- takePic(prop, title) {
462
- HostApp.__callback__ = this.cameraCallBack
463
- HostApp.__this__ = this
464
- console.log("prop:" + prop)
465
- console.log("this.prop:" + this.paper[prop])
466
- let fileName
467
- if (!this.paper[prop] || this.paper[prop].includes("nopic.png")) {
468
- fileName = Util.guid() + '-' + prop + '.jpg'
469
- } else {
470
- fileName = Util.getFileName(this.paper[prop])
471
- }
472
- HostApp._open_a_page({
473
- type: 'boomerang',
474
- page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
475
- param: {
476
- file: fileName,
477
- requestCode: 111,
478
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
479
- watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
480
- }
481
- })
482
- },
483
- amrCallBack(fileName) {
484
- HostApp.__this__.$set('paper.f_recording1_path', fileName)
485
- HostApp.__callback__ = null
486
- HostApp.__this__ = null
487
- },
488
- record() {
489
- if (this.$parent.role != 'inspect') {
490
- if (this.paper.f_recording1_path != '') {
491
- window.location = this.paper.f_recording1_path
492
- }
493
- } else {
494
- HostApp.__callback__ = this.amrCallBack
495
- HostApp.__this__ = this
496
- let fileName
497
- if (!this.paper.f_recording1_path) {
498
- fileName = Util.guid() + '.amr'
499
- } else {
500
- fileName = Util.getFileName(this.paper.f_recording1_path)
501
- }
502
- HostApp._open_a_page({
503
- type: 'boomerang',
504
- page: 'com.aofeng.hybrid.android.peripheral.AudioClipActivity',
505
- param: {file: fileName, requestCode: 111, callback: 'javascript:HostApp.__callback__("%s");'}
506
- })
507
- }
508
- },
509
- // 签名回调
510
- signCallback(prop, fileName) {
511
- // HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
512
- HostApp.__this__.$set('paper.f_sign_path', fileName)
513
- HostApp.__callback__ = null
514
- HostApp.__this__ = null
515
- },
516
- // 用户签名
517
- sign() {
518
- this.delAudioFile('f_sign_path', this.paper.f_sign_path)
519
- let prop = 'f_sign_path'
520
- let idx = 'aofeng'
521
- let fileName
522
- if (!this.paper.f_sign_path) {
523
- fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
524
- } else {
525
- fileName = Util.getFileName(this.paper.f_sign_path)
526
- }
527
- HostApp.__callback__ = this.signCallback
528
- HostApp.__this__ = this
529
- HostApp.getSignature({
530
- file: fileName,
531
- requestCode: 111,
532
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
533
- })
534
- },
535
- delfile(prop, fileName) {
536
- if (fileName == Vue.nopic)
537
- return
538
- else {
539
- HostApp.delfile(fileName)
540
- this.paper[prop] = Vue.nopic
541
- }
542
- },
543
- delAudioFile(prop, fileName) {
544
- if (!fileName)
545
- return
546
- else {
547
- HostApp.delfile(fileName)
548
- this.paper[prop] = null
549
- }
550
- },
551
- //获取打印用户信息
552
- getUser() {
553
- if (this.paper.f_user_name == undefined)
554
- this.paper.f_user_name = ''
555
- this.printContent.push({type: 3, text: '用户名称:' + this.paper.f_user_name, fontsize: 2, isbold: false, align: 'left'})
556
- if (this.paper.f_userinfo_code == undefined)
557
- this.paper.f_userinfo_code = ''
558
- this.printContent.push({type: 3, text: '用户编号:' + this.paper.f_userinfo_code, fontsize: 2, isbold: false, align: 'left'})
559
- if (this.paper.f_address == undefined)
560
- this.paper.f_address = ''
561
- this.printContent.push({type: 3, text: '地址:' + this.paper.f_address, fontsize: 2, isbold: false, align: 'left'})
562
- if (this.paper.f_user_phone == undefined)
563
- this.paper.f_user_phone = ''
564
- this.printContent.push({type: 3, text: '电话:' + this.paper.f_user_phone, fontsize: 2, isbold: false, align: 'left'})
565
- },
566
- verify(){
567
- let hasError = this.$parent.verifyUser()
568
- if(hasError)
569
- return hasError
570
- hasError = this.$parent.verifyDevices()
571
- if(hasError)
572
- return hasError
573
- },
574
- print() {
575
- let errString = this.verify()
576
- if (errString) {
577
- console.log(errString)
578
- if (Vue.android)
579
- this.$showMessage(errString)
580
- return
581
- }
582
- // 文本
583
- let templatename = '安检结果单'
584
- if(Vue.config.safecheck != undefined) {
585
- if (Vue.config.safecheck.ApproveConfig != undefined) {
586
- if (Vue.config.safecheck.ApproveConfig.templatename != undefined) {
587
- templatename = Vue.config.safecheck.ApproveConfig.templatename
588
- }
589
- }
590
- }
591
- let textHead = {type: 3, text: templatename, fontsize: 3, isbold: true, align: 'center'}
592
- let feedPageHead = {type: 4, value: 2, unit: 'line'}
593
- let feedPageEnd = {type: 4, value: 4, unit: 'line'}
594
- this.printContent.push(textHead)
595
- this.printContent.push(feedPageHead)
596
- this.getUser()
597
- this.getDefect()
598
- this.getCheck()
599
- this.printContent.push(feedPageEnd)
600
- let arrstr = JSON.stringify(this.printContent)
601
- console.log(arrstr)
602
- this.$androidUtil.print(arrstr)
603
- this.$set('printContent', [])
604
- },
605
- //打印安检信息
606
- getCheck() {
607
- let telephone = '96777'
608
- if(Vue.config.safecheck != undefined) {
609
- if (Vue.config.safecheck.ApproveConfig != undefined) {
610
- if (Vue.config.safecheck.ApproveConfig.checkphone != undefined) {
611
- telephone = Vue.config.safecheck.ApproveConfig.checkphone
612
- }
613
- }
614
- }
615
- this.printContent.push({type: 3, text: '*******************************', fontsize: 3, isbold: false, align: 'center'})
616
- this.printContent.push({type: 3, text: '咨询电话;'+telephone, fontsize: 2, isbold: false, align: 'left'})
617
- this.printContent.push({type: 3, text: '安检人:'+Vue.user.name, fontsize: 2, isbold: false, align: 'left'})
618
- this.printContent.push({type: 3, text: '安检时间:' + this.getNowFormatDate(), fontsize: 2, isbold: false, align: 'left'})
619
- this.printContent.push({type: 3, text: '用户签字:', fontsize: 2, isbold: false, align: 'left'})
620
- this.printContent.push({type: 4, value: 4, unit: 'line'})
621
- },
622
-
623
- getDefect() {
624
- let showmore = false
625
- if(Vue.config.safecheck != undefined) {
626
- if (Vue.config.safecheck.ApproveConfig != undefined) {
627
- if (Vue.config.safecheck.ApproveConfig.showmore != undefined) {
628
- showmore = Vue.config.safecheck.ApproveConfig.showmore
629
- }
630
- }
631
- }
632
-
633
- let backData = this.$parent.getAllDefect()
634
- // 对隐患信息进行遍历
635
- let res = JSON.parse(backData.f_defect_content)
636
- this.printContent.push({
637
- type: 3,
638
- text: '安检结果:' + res.result,
639
- fontsize: 2,
640
- isbold: false,
641
- align: 'left'
642
- })
643
- this.printContent.push({type: 3, text: '*******************************', fontsize: 3, isbold: false, align: 'center'})
644
-
645
-
646
- if(showmore) {
647
- //全部打印
648
- for (let dev in this.$parent.config) {
649
- for (let device in backData) {
650
- if (device.startsWith("device")) {
651
- for (let item in backData[device]) {
652
- //遍历结果
653
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
654
- let error = true
655
- for (let i in backData[device][item].f_items) {
656
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
657
- error = false
658
- }
659
- }
660
- if (error) {
661
- this.printContent.push({
662
- type: 3,
663
- text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常',
664
- fontsize: 2,
665
- isbold: false,
666
- align: 'left'
667
- })
668
- } else {
669
- this.printContent.push({
670
- type: 3,
671
- text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患',
672
- fontsize: 2,
673
- isbold: true,
674
- align: 'left'
675
- })
676
- }
677
-
678
- for (let i in backData[device][item].f_items) {
679
- if (backData[device][item].f_items[i].f_item_value != '' && backData[device][item].f_items[i].f_item_value != null) {
680
- this.printContent.push({
681
- type: 3,
682
- text: backData[device][item].f_items[i].f_item_name + backData[device][item].f_items[i].f_item_value,
683
- fontsize: 2,
684
- isbold: false,
685
- align: 'left'
686
- })
687
- }
688
- }
689
- this.printContent.push({type: 4, value: 2, unit: 'line'})
690
- }
691
- }
692
- }
693
- }
694
- }
695
-
696
- for (let dev in this.$parent.config) {
697
- for (let device in backData) {
698
- if (device.startsWith("device")) {
699
- for (let item in backData[device]) {
700
- //遍历结果
701
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
702
- let error = true
703
- for (let i in backData[device][item].f_items) {
704
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
705
- error = false
706
- }
707
- }
708
- if (!error) {
709
- this.printContent.push({
710
- type: 3,
711
- text: '隐患:',
712
- fontsize: 2,
713
- isbold: true,
714
- align: 'left'
715
- })
716
- }
717
- }
718
- }
719
- }
720
- }
721
- for (let device in backData) {
722
- if (device.startsWith("device")) {
723
- for (let item in backData[device]) {
724
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
725
- for (let i in backData[device][item].f_items) {
726
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
727
- this.printContent.push({
728
- type: 3,
729
- text: backData[device][item].f_items[i].f_item_name + ' ' + backData[device][item].f_items[i].f_item_value,
730
- fontsize: 2,
731
- isbold: true,
732
- align: 'left'
733
- })
734
- }
735
- }
736
- }
737
- }
738
- }
739
- }
740
-
741
- }
742
- }else {
743
- for (let dev in this.$parent.config) {
744
- for (let device in backData) {
745
- if (device.startsWith("device")) {
746
- for (let item in backData[device]) {
747
- //遍历结果
748
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
749
- let error = true
750
- for (let i in backData[device][item].f_items) {
751
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
752
- error = false
753
- }
754
- }
755
- if (error) {
756
- this.printContent.push({
757
- type: 3,
758
- text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常',
759
- fontsize: 2,
760
- isbold: false,
761
- align: 'left'
762
- })
763
- } else {
764
- this.printContent.push({
765
- type: 3,
766
- text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患',
767
- fontsize: 2,
768
- isbold: false,
769
- align: 'left'
770
- })
771
- }
772
-
773
- for (let i in backData[device][item].f_items) {
774
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
775
- this.printContent.push({
776
- type: 3,
777
- text: '隐患:' + backData[device][item].f_items[i].f_item_name + backData[device][item].f_items[i].f_item_value,
778
- fontsize: 2,
779
- isbold: false,
780
- align: 'left'
781
- })
782
- }
783
- }
784
- this.printContent.push({type: 4, value: 2, unit: 'line'})
785
- }
786
- }
787
- }
788
- }
789
- }
790
- }
791
- },
792
- //获取当前时间
793
- getNowFormatDate(){
794
- var date = new Date();
795
- var seperator1 = "-";
796
- var seperator2 = ":";
797
- var month = date.getMonth() + 1;
798
- var strDate = date.getDate();
799
- if (month >= 1 && month <= 9) {
800
- month = "0" + month;
801
- }
802
- if (strDate >= 0 && strDate <= 9) {
803
- strDate = "0" + strDate;
804
- }
805
- var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
806
- + " " + date.getHours() + seperator2 + date.getMinutes()
807
- + seperator2 + date.getSeconds();
808
- return currentdate;
809
- },
810
- readRepair () {
811
- let url = this.$androidUtil.getProxyUrl()
812
- let gen = getRepairs(this,url)
813
- return co(gen)
814
- },
815
- showToRepair(){
816
- let res = this.hasDefect()
817
- console.log('==========检测结果========')
818
- console.log(res)
819
- if(res == '正常'){
820
- this.showrepair = false
821
- }else{
822
- this.showrepair = true
823
- this.assignObj()
824
- }
825
- this.showCheckToRepair = !this.showCheckToRepair
826
- },
827
- // 选中部门
828
- reres(val){
829
- if(val.res == undefined){
830
- return
831
- }
832
- this.model.serviceacitivity[0].f_meetunit = val.res
833
- this.model.f_meetunit = val.res
834
- this.model.f_orgstr = val.resids
835
- var arr = val.res.split('.')
836
- this.model.f_outlets = arr[arr.length - 1]
837
- this.model.serviceacitivity[0].f_reciever = val.resids
838
- },
839
- assignObj(){
840
- this.model.f_contact_phone = this.paper.f_user_phone
841
- this.model.f_user_name = this.paper.f_user_name
842
- this.model.f_address = this.paper.f_address
843
- this.model.f_user_type = this.paper.f_check_type
844
- this.model.f_street = this.paper.f_street
845
- this.model.f_residential_area = this.paper.f_residential_area
846
- this.model.f_building = this.paper.f_building
847
- this.model.f_unit = this.paper.f_unit
848
- this.model.f_floor = this.paper.f_floor
849
- this.model.f_room = this.paper.f_room
850
- this.model.f_floor = this.paper.f_floor
851
- this.model.f_userinfo_id = this.paper.f_userinfoid
852
- this.model.f_userinfo_code = this.paper.f_userinfo_code
853
- },
854
- hasDefect(){
855
- let checkResult = '正常'
856
- let codata = JSON.parse(JSON.stringify(this.paper))
857
- for(let device in this.paper){
858
- if(device.startsWith("device")){
859
- for(let item in this.paper[device]) {
860
- for(let i in this.paper[device][item].f_items){
861
- let items = this.paper[device][item].f_items[i]
862
- console.log('items',items)
863
- if(items.f_is_defect == true || items.f_is_defect == 'true'){
864
- checkResult = '有隐患'
865
- }
866
- }
867
- }
868
- }
869
- }
870
- return checkResult
871
- },
872
- uploadPaper() {
873
- if(this.showrepair){
874
- this.$parent.isToRepair = true
875
- this.$parent.savePaper(false).then((res) => {
876
- console.log(`res=${res}`)
877
- if(res != true){
878
- console.log('失败')
879
- return
880
- }else{
881
- //TODO 上传成功 转维修失败
882
- this.todo()
883
- }
884
- })
885
- }else{
886
- this.undo()
887
- }
888
-
889
- },
890
- //确认安检转维修
891
- todo(){
892
- let gen = getRepairParam(this)
893
- co(gen)
894
- },
895
- undo(){
896
- this.showCheckToRepair = !this.showCheckToRepair
897
- this.model.serviceacitivity[0].f_reciever = ''
898
- this.model.serviceacitivity[0].f_meetunit = ''
899
- this.model.f_repairtype = ''
900
- this.meading = '转站点'
901
- },
902
- repiarmancg(val){
903
- if(val){
904
- console.log(val)
905
- this.model.serviceacitivity[0].f_reciever = val.name
906
- let http1 = new HttpResetClass()
907
- http1.load('POST',`${this.Url}/rs/sql/tel_singleTable_OrderBy`, {data: {
908
- items: 'f_user_telephone',
909
- tablename: 't_user',
910
- condition: `name = '${val}'`,
911
- orderitem: 'id'
912
- }}, {resolveMsg: null, rejectMsg: null}).then((ress) => {
913
- this.model.f_repairman_phone = ress.data[0].f_user_telephone
914
- })
915
- }
916
- },
917
- },
918
- ready() {
919
- for (let item of this.radios){
920
- if(this.paper.f_client_evaluation == item.label){
921
- item.isChecked = true;
922
- }
923
- }
924
- console.log('this.paper.f_notified_path===>'+this.paper.f_notified_path)
925
- console.log('this.paper.f_sign_path===>'+this.paper.f_sign_path)
926
- console.log('this.paper.f_overall_path===>'+this.paper.f_overall_path)
927
- console.log('this.paper.f_overall2_path===>'+this.paper.f_overall2_path)
928
- if (!this.paper.f_notified_path)
929
- this.$set('paper.f_notified_path', Vue.nopic)
930
- if (!this.paper.f_sign_path)
931
- this.$set('paper.f_sign_path', Vue.nopic)
932
- if (!this.paper.f_overall_imgs){
933
- let imgs = []
934
- // imgs.push({f_overall_path:Vue.nopic})
935
- this.$set('paper.f_overall_imgs', imgs)
936
- console.log('进入setpaper.f_overall_imgs')
937
- }
938
- if (!this.paper.f_overall2_path)
939
- this.$set('paper.f_overall2_path', Vue.nopic)
940
-
941
- this.userid = this.role == 'view'? this.$login.f.id:Vue.user.id
942
- if(Vue.config.safecheck != undefined){
943
- if(Vue.config.safecheck.ApproveConfig != undefined){
944
- if(Vue.config.safecheck.ApproveConfig.safeCheckToRepair != undefined) {
945
- this.safeCheckToRepair = Vue.config.safecheck.ApproveConfig.safeCheckToRepair
946
- }
947
- }
948
- }
949
- console.log(`this.safeCheckToRepair==========${this.safeCheckToRepair}`)
950
- console.log(Vue.config)
951
- },
952
- watch:{
953
- '$parent.isUpload'(val){
954
- console.log('isUpload发生变化===>'+val)
955
- }
956
- }
957
- }
958
- </script>
959
- <style>
960
- .text-left{
961
- text-align:left;
962
- }
963
- .font{
964
- font: 15px PingFang-SC-Medium;
965
- color: #333333;
966
- }
967
- .showInput{
968
- font: 14px PingFang-SC-Medium;
969
- color: #666666;
970
- }
971
- .info{
972
- margin-top: 15px;
973
- border-radius: 5px;
974
- background-color: #f3faff;
975
- }
976
- .btn-photo{
977
- border: 0;
978
- border-radius: 7px;
979
- background-color: #7dc1f4;
980
- font: 15px PingFang-SC-Bold;
981
- height: 20%;
982
- }
983
- .div-photo{
984
- width: auto;
985
- height: auto;
986
- /* margin-top: 10px; */
987
- position: absolute;
988
- bottom: 10px;
989
- right: 10px;
990
- }
991
- .btn-voice{
992
- border-radius: 7px;
993
- border: 1px solid #dedede;
994
- background-color: #f5fbff;
995
- font: 15px PingFang-SC-Bold;
996
- color: #499edf;
997
- }
998
- .save-btn{
999
- width: 25%;
1000
- background-color:#499edf;
1001
- border-radius: 6px;
1002
- color: #FFFFFF;
1003
- font: 15px PingFang-SC-Bold;
1004
- }
1005
- .upload-btn{
1006
- width: 25%;
1007
- background-color:#ffffff;
1008
- border: 1px solid #499edf;
1009
- border-radius: 6px;
1010
- color: #499edf;
1011
- font: 15px PingFang-SC-Bold;
1012
- }
1013
- .repair-btn{
1014
- width: 25%;
1015
- border: 1px solid #499edf;
1016
- border-radius: 6px;
1017
- font: 15px PingFang-SC-Bold;
1018
- }
1019
- </style>
1
+ <template>
2
+ <div class="auto">
3
+ <div style="width: 100%;height: 36px;background-color: #f1f8ff">
4
+ <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
5
+ <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">拍照选项:</p></div>
6
+ </div>
7
+ <form novalidate class="form-horizontal" style="width: 100%;margin: auto">
8
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 info" style="width:100%;">
9
+ <div class="text-center">
10
+ <label class="font">检查说明:</label>
11
+ </div>
12
+ <div class="col-md-12 col-sm-12 col-xs-12" style="width: 90%;margin-left: 5px">
13
+ <ol class="showInput" style="width: 90%;margin-left: 40px">
14
+ <li>已对客户燃气设施进行了安全检查</li>
15
+ <li>已对客户进行了安全知识宣传,并发放宣传资料</li>
16
+ <li>已对客户的资料进行了登记</li>
17
+ <li>已对违章及隐患之客户下发隐患整改告知书</li>
18
+ </ol>
19
+ </div>
20
+ </div>
21
+
22
+ <div class="form-group col-sm-12" style="margin-top: 10px">
23
+ <div class="auto" style="width: 100%;float: left;" >
24
+ <label class="text-left font">总体送气照片</label>
25
+ <div class="auto">
26
+ <div class="panel">
27
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
28
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
29
+ <div class="row">
30
+ <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 10px;margin-right: 75px" v-for="(index,img) in paper.f_overall_imgs">
31
+ <img-self :src="img.f_overall_path" alt="总体送气照片" :width="150" :height="200"></img-self>
32
+ <!--<img src="../../assets/remove.png" @click="delfile('f_overall_path', img.f_overall_path,index)" class="imgs" style="width: 30px;" alt="">-->
33
+ </div>
34
+ </div>
35
+ </div>
36
+ <div class="row text-right div-photo">
37
+ <!--<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_overall_path', '总体安检照片1')">拍照</button>-->
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ <!--<div class="auto" style="width: 49%;float: left;margin-left: 20px">-->
44
+ <!--<label class="text-left font">总体安检照片2</label>-->
45
+ <!--<div class="auto">-->
46
+ <!--<div class="panel">-->
47
+ <!--<div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">-->
48
+ <!--<div class="row" style="height: 240px;overflow: scroll;top: 1px">-->
49
+ <!--<div class="col-sm-4">-->
50
+ <!--<img-self :src="paper.f_overall2_path" alt="总体安检照片2" width="150" height="200"></img-self>-->
51
+ <!--</div>-->
52
+ <!--</div>-->
53
+ <!--<div class="row text-right div-photo">-->
54
+ <!--<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_overall2_path', '总体安检照片2')">拍照</button>-->
55
+ <!--</div>-->
56
+ <!--</div>-->
57
+ <!--</div>-->
58
+ <!--</div>-->
59
+ <!--</div>-->
60
+ </div>
61
+ <div class="form-group col-sm-12" style="margin-top: 20px">
62
+ <label class="text-left font">用户签名</label>
63
+ <div class="auto">
64
+ <div class="panel">
65
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
66
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
67
+ <div class="col-sm-4">
68
+ <img :class="style__" :src="paper.f_sign_path" :width="200" :height="150" />
69
+ </div>
70
+ </div>
71
+ <!--<div class="row text-right div-photo">-->
72
+ <!--&lt;!&ndash;<button type="button" name="button" class="btn btn-primary btn-photo" @click="sign">签名</button>&ndash;&gt;-->
73
+ <!--</div>-->
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ <div class="form-group col-sm-12" v-if="paper.f_exceed_reason">
79
+ <label>送气超期原因:</label><br/>
80
+ <textarea style="width: 100%;" v-model="paper.f_exceed_reason"></textarea>
81
+ </div>
82
+ <!--<div class="form-group col-sm-12" style="margin-top: 20px">
83
+ <input type="checkbox" :readonly="true" :checked="paper.f_blacklist=='是'"/><label class="text-left font" >限制该用户购气</label>
84
+ <textarea if="paper.f_blacklist=='是'" id="el_ca_tx" v-model.trim="paper.f_blocking_cause" style="border-radius:4px;width: 100%;" >
85
+ </textarea>
86
+ </div>-->
87
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
88
+ <!--<div class="form-group col-md-12 col-sm-12 col-xs-12">
89
+ <input type="checkbox" v-model="paper.f_defect_notified" class="showInput"/>安检通知书/隐患整改通知书
90
+ </div>
91
+ <div class="form-group col-md-12 col-sm-12 col-xs-12" v-if="paper.f_defect_notified">
92
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
93
+ <button type="button" @click="print()">打印隐患整改单</button>
94
+ </div>
95
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
96
+ <label class="text-left font">安检通知书/隐患整改通知书照片(要求能清晰反应安检通知单和用户签字内容):</label>
97
+ <div class="auto" >
98
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
99
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
100
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
101
+ <div class="col-sm-4">
102
+ <img-self :src="paper.f_notified_path" alt="安检通知书/隐患整改通知书照片" width="150" height="200"></img-self>
103
+ </div>
104
+ </div>
105
+ <div class="row text-right div-photo">
106
+ <button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_notified_path', '安检通知书/隐患整改通知书照片')">拍照</button>
107
+ &nbsp;&nbsp;&nbsp;&nbsp;<img src="../../assets/remove.png" :class="style__" @click="delfile('f_notified_path', this.paper.f_notified_path)" style="width: 25%;"></img>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ </div>
112
+ </div>
113
+ </div>
114
+ -->
115
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
116
+ <div class="row">
117
+ <label class="text-left">请对我们的服务做出评价:</label>
118
+ </div>
119
+ <div class="col-xs-4 col-sm-4" v-for="item in radios">
120
+ <input v-model="paper.f_client_evaluation" :value="item.label" :checked='item.isChecked' @click="check(item.value)" type="radio">{{item.label}}
121
+ </div>
122
+ </div>
123
+ <!-- <div class="form-group col-md-12 col-sm-12 col-xs-12">-->
124
+ <!-- <label class="text-left font">反馈录音:</label>-->
125
+ <!-- <div class="col-md-12 col-sm-12 col-xs-12" v-if="!paper.f_recording1_path">-->
126
+ <!-- <audio :src="paper.f_recording1_path" v-el:audio controls @click="palyAudio(row)"></audio>-->
127
+ <!-- </div>-->
128
+ <!-- </div>-->
129
+ <div class="text-center form-group col-md-12 col-sm-12 col-xs-12">
130
+ <button type="button" v-show="$parent.actionEnabled" class="btn save-btn" @click="$parent.savePaper(true)">保存</button>
131
+ <button id="upload" type="button" v-show="$parent.actionEnabled && !$parent.isBusy" class="btn upload-btn" @click="$parent.uploadPaper" >上传</button>
132
+ <button v-if="safeCheckToRepair && $parent.actionEnabled" class="btn repair-btn btn-warning" type="button" @click="showToRepair">转维修</button>
133
+ </div>
134
+ </div>
135
+ </form>
136
+
137
+ <modal :show.sync="showCheckToRepair" v-ref:modal :backdrop="isback">
138
+ <div slot="modal-header" class="modal-header">
139
+ <h4 class="modal-title">
140
+ 安检转维修
141
+ </h4>
142
+ </div>
143
+ <div slot="modal-body" class="modal-body">
144
+ <div v-if="showrepair">
145
+ <div class="row">
146
+ <label class="col-xs-4 col-md-4 control-label text-left">派单方式</label>
147
+ <div class="col-xs-8 col-md-8">
148
+ <label v-for="handling1 in handling" >
149
+ <input type="radio"
150
+ v-model="meading"
151
+ value="{{handling1.label}}">
152
+ {{handling1.label}}
153
+ </label>
154
+ </div>
155
+ </div>
156
+ <div class="row" v-if="meading == '转站点'">
157
+ <label class="col-xs-4 col-md-4 control-label font text-left" for="f_reciever">站点</label>
158
+ <div class="col-xs-8 col-md-8">
159
+ <right-tree @ready="onReady" islist :Url="Url" :userid="userid" :source="source" v-on:re-res="reres" :textContent="选择站点管理员" :selectData="" v-ref:f_reciever>
160
+ </right-tree>
161
+ </div>
162
+ </div>
163
+
164
+ <div class="row" style="margin-top: 6px" v-if="meading == '转维修员'">
165
+ <label class="col-xs-4 col-md-4 control-label font text-left">维修人</label>
166
+ <div class="col-xs-8">
167
+ <v-select :value="model.serviceacitivity[0].f_reciever" :value-single="true"
168
+ :options='f_repair_person' placeholder='请选择维修员'
169
+ close-on-select v-on:change="repiarmancg"></v-select>
170
+ </div>
171
+
172
+ </div>
173
+ <div class="row" style="margin-top: 6px">
174
+ <label for="f_repair" class="col-xs-4 col-md-4 control-label font text-left">报修类型</label>
175
+ <div class="col-xs-8 col-md-8">
176
+ <v-select :value.sync="model.f_repairtype" :value-single="true"
177
+ :options='repairstypes' placeholder='报修类型'
178
+ close-on-select>
179
+ </v-select>
180
+ </div>
181
+ </div>
182
+
183
+ <div class="row" style="margin-top: 6px">
184
+ <label class="control-label font text-left col-md-4 col-xs-4">备注</label>
185
+ <div class="col-xs-8 col-md-8">
186
+ <input type="text" v-model="model.f_remarks"/>
187
+ </div>
188
+
189
+ </div>
190
+
191
+ </div>
192
+ <div v-if="!showrepair">
193
+ 暂无隐患设备信息
194
+ </div>
195
+ </div>
196
+ <div slot="modal-footer" class="modal-footer">
197
+ <button type="button" class="btn btn-default" @click="uploadPaper()">确定</button>
198
+ <button type="button" class="btn btn-default" @click="undo()">取消</button>
199
+ </div>
200
+ </modal>
201
+ </div>
202
+ </template>
203
+
204
+ <script>
205
+ import Vue from 'vue'
206
+ import * as Util from '../Util'
207
+ import { HttpResetClass } from 'vue-client'
208
+ import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
209
+ import Radio from 'vue-client/src/vue-strap/src/radioBtn'
210
+ import co from 'co'
211
+
212
+ let getRepairParam = function * (self){
213
+ let data = {
214
+ model: self.model, loginUser: {
215
+ name: self.role == 'view'?self.$login.f.name:Vue.user.name,
216
+ ename: self.role == 'view'?self.$login.f.ename:Vue.user.ename
217
+ }, user: self.user, callObj: self.callObj
218
+ }
219
+ if(self.meading == '转维修员'){
220
+ data.toRepair = '一级派单'
221
+ }
222
+ data.model.f_attendant = data.loginUser.name
223
+ console.log('===================')
224
+ console.log(data)
225
+ let res
226
+ let errString = self.$parent.errorVerify()
227
+ if(errString){
228
+ console.log(errString)
229
+ if (Vue.android)
230
+ self.undo()
231
+ this.$showMessage(errString)
232
+ return
233
+ } else {
234
+ if(self.role == 'inspect'){
235
+ if(self.meading == '转维修员' && (self.model.serviceacitivity[0].f_reciever == '' || self.model.serviceacitivity[0].f_reciever == undefined)){
236
+ this.$showMessage("请选择维修员!")
237
+ return
238
+ }
239
+ if(self.meading == '转站点' && (self.model.serviceacitivity[0].f_reciever == '' || self.model.serviceacitivity[0].f_reciever == undefined)){
240
+ this.$showMessage("请选择站点!")
241
+ return
242
+ }
243
+ if(self.model.f_repairtype == ''){
244
+ this.$showMessage("请选择报修类型!")
245
+ return
246
+ }
247
+ console.log("转维修数据1:==》"+JSON.stringify(data))
248
+ let checkResult = '正常'
249
+ let options = [{"data": "已处理"},{"data": "未处理"}]
250
+ let value = ''
251
+ let codata = JSON.parse(JSON.stringify(self.paper))
252
+ for(let device in codata){
253
+ console.log('转维修codata[device]'+JSON.stringify(codata[device]))
254
+ let f_device_type
255
+ if(device.startsWith("device")){
256
+ for(let item in codata[device]) {
257
+ if(codata[device].length > 1 ){
258
+ let j = Number.parseInt(item)+1
259
+ f_device_type = `${codata[device][item].f_device_type}${j}`
260
+ }else{
261
+ f_device_type = codata[device][item].f_device_type
262
+ }
263
+ // console.log('codata[device][item]=>',codata[device][item])
264
+ let details = []
265
+ for(let i in codata[device][item].f_items){
266
+ let items = codata[device][item].f_items[i]
267
+ console.log('items',items)
268
+ if(items.f_is_defect == true || items.f_is_defect == 'true'){
269
+ checkResult = '有隐患'
270
+ console.log('类型----',f_device_type)
271
+ let res = yield self.$resetpost(`${self.Url}/rs/sql/getDeviceItem`,{data:{f_device_id:codata[device][item].f_device_id,f_item_name:items.f_item_name}})
272
+ console.log('获取安检设备信息结果=》'+JSON.stringify(res))
273
+ self.$set('detail.f_defect_id', res.data[0].id)
274
+ self.$set('detail.f_project',`${items.f_item_name}:${items.f_item_value}`)
275
+ self.$set('detail.type',items.type)
276
+ self.$set('detail.options',options)
277
+ details.push(JSON.parse(JSON.stringify(self.detail)))
278
+ }
279
+ if(items.type == 'selector'){
280
+ items.selected = ''
281
+ }
282
+ self.detail = {}
283
+ }
284
+ console.log('details',details)
285
+ self.$set('defectDevice.f_type',f_device_type)
286
+ self.$set('defectDevice.details',details)
287
+ if(self.defectDevice.details.length >0 ){
288
+ self.repairitems.push(JSON.parse(JSON.stringify(self.defectDevice)))
289
+ }
290
+ self.defectDevice = {}
291
+ console.log('repairitems===>'+self.repairitems)
292
+ }
293
+ }
294
+ }
295
+ self.$set('model.f_repairitems.data',self.repairitems)
296
+
297
+
298
+ console.log("转维修数据2:==》"+JSON.stringify(data))
299
+ res = self.$androidUtil.bzLogic('safecheckToRepair',data)
300
+ console.log('res==========')
301
+ console.log(res.code)
302
+ console.log(res.data)
303
+ if(res.code == 200){
304
+ self.$parent.isSafeCheckToRepair = true
305
+ self.undo()
306
+ self.$set('paper.f_SafeToRepair_id',res.data.f_service_id)
307
+ console.log('更新维修单id')
308
+ self.$resetpost(`${self.Url}/rs/logic/updatePaperRepair`,{data:{f_paper_id:self.paper.f_paper_id,f_SafeToRepair_id:res.data.f_service_id}}).then((ret)=>{
309
+ console.log('ret==>'+ret)
310
+ if(ret.data.code ==200){
311
+ console.log('维修单id修改成功')
312
+ self.$parent.$back()
313
+ }else{
314
+ self.$showMessage('安检转维修失败!')
315
+ }
316
+ }).catch(v=>{
317
+ console.log('v=>'+JSON.stringify(v))
318
+ self.$showMessage('安检转维修失败!')
319
+ })
320
+ }else{
321
+ self.$showMessage('安检转维修失败!')
322
+ }
323
+ }
324
+ }
325
+ }
326
+
327
+
328
+
329
+ let getRepairs = async function(self,url) {
330
+ // 获取配置信息
331
+ try {
332
+ let val = {source: 'this.getParentByType($department$).getChildByName($维修员$).getUsers()', userid: `${Vue.$login.jwt}`}
333
+ let repairs =[]
334
+ let res = await Vue.resetpost(`${url}/rs/search`,{data: val},{resolveMsg: null, rejectMsg: null})
335
+ res.data.forEach((item) => {
336
+ repairs.push({label: item.name, value: item})
337
+ })
338
+ self.f_repair_person = repairs
339
+ if(self.$parent.role == 'inspect'){
340
+ let res = self.$androidUtil.bzLogic('getUserInfo',{id:self.paper.f_userinfoid})
341
+ if(res.code == 200){
342
+ self.user = res.data[0]
343
+ self.model.f_area = self.user.f_area
344
+ }
345
+ }else{
346
+ console.log('pc')
347
+ self.$resetpost(`${self.Url}/rs/sql/safeCheckgetUserInfo`,{data:{id:self.paper.f_userinfoid}},{resolveMsg: null, rejectMsg: null}).then((res)=>{
348
+ console.log('res',res)
349
+ if(res.data.length != 0){
350
+ self.user = res.data[0]
351
+ self.model.f_area = self.user.f_area
352
+ }
353
+ })
354
+ // path({alias:'getUserInfo',data:{id:this.paper.f_userinfoid}})
355
+ }
356
+ } catch (error) {
357
+ console.log('error',error)
358
+ }
359
+ }
360
+
361
+ export default {
362
+ title: '用户反馈',
363
+ data() {
364
+ return {
365
+ paper:this.$parent.data,
366
+ printContent:[],
367
+ radios:[
368
+ {
369
+ label: '满意',
370
+ value: 0,
371
+ isChecked: false,
372
+ },
373
+ {
374
+ label: '基本满意',
375
+ value:1,
376
+ isChecked: false,
377
+ },
378
+ {
379
+ label: '不满意',
380
+ value:2,
381
+ isChecked: false,
382
+ },
383
+ ],
384
+ model: {
385
+ // 一次派单
386
+ serviceacitivity: [{
387
+ f_service_acitivity_type: '派单'
388
+ }],
389
+ f_source:'安检',
390
+ f_service_id: '',
391
+ f_contact_phone: '',
392
+ f_meetunit: '',
393
+ f_phone: '',
394
+ f_user_name: '',
395
+ f_address: '',
396
+ f_repair_date: Util.toStandardTimeString(),
397
+ f_card_id: '',
398
+ // f_department: '', 站点选择
399
+ f_reciever:'',
400
+ f_remarks: '',
401
+ f_user_type: '',
402
+ f_area: '',
403
+ f_unit_name:'',
404
+ f_street: '',
405
+ f_residential_area: '',
406
+ f_building: '',
407
+ f_unit: '',
408
+ f_floor: '',
409
+ f_room: '',
410
+ aState: null,
411
+ f_repairtype: '',
412
+ f_repairitems:{},
413
+ },
414
+ repairitems:[],
415
+ repairstypes:this.$appdata.getParam('报修类型'),
416
+ //f_repair_person: this.readRepair(),
417
+ showrepair: false,
418
+ safeCheckToRepair:'',
419
+ showCheckToRepair:false,
420
+ userid: '',
421
+ source:
422
+ 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
423
+ 'tool.getFullTree(dep.where(row.getChildByName($派单员$) != null))',
424
+ isback:false,
425
+ defectDevice:{},
426
+ detail:{},
427
+ callObj:null,
428
+ user:{},
429
+ role:this.$parent.role,
430
+ handling:[{label:'转站点',value:'转站点'},{label:'转维修员',value:'转维修员'}],
431
+ meading:'转站点',
432
+ Url:this.$androidUtil.getProxyUrl()
433
+ }
434
+ },
435
+ props: ['idx'],
436
+ components: {
437
+ RadioGroup,
438
+ Radio
439
+ },
440
+ methods: {
441
+ check(index) {
442
+ console.log('index',index)
443
+ // 先取消所有选中项
444
+ for (let item of this.radios){
445
+ item.isChecked = false;
446
+ }
447
+ //再设置当前点击项选中
448
+ this.paper.f_client_evaluation = this.radios[index].label;
449
+ // 设置值,以供传递
450
+ this.radios[index].isChecked = true;
451
+ console.log('paper.f_client_evaluation==',this.paper.f_client_evaluation);
452
+ },
453
+ getSignValue(fileName) {
454
+ this.f_signname = fileName
455
+ },
456
+ cameraCallBack(prop, fileName) {
457
+ HostApp.__this__.paper[prop] = fileName + '?' + Math.random()
458
+ HostApp.__callback__ = null
459
+ HostApp.__this__ = null
460
+ },
461
+ takePic(prop, title) {
462
+ HostApp.__callback__ = this.cameraCallBack
463
+ HostApp.__this__ = this
464
+ console.log("prop:" + prop)
465
+ console.log("this.prop:" + this.paper[prop])
466
+ let fileName
467
+ if (!this.paper[prop] || this.paper[prop].includes("nopic.png")) {
468
+ fileName = Util.guid() + '-' + prop + '.jpg'
469
+ } else {
470
+ fileName = Util.getFileName(this.paper[prop])
471
+ }
472
+ HostApp._open_a_page({
473
+ type: 'boomerang',
474
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
475
+ param: {
476
+ file: fileName,
477
+ requestCode: 111,
478
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
479
+ watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
480
+ }
481
+ })
482
+ },
483
+ amrCallBack(fileName) {
484
+ HostApp.__this__.$set('paper.f_recording1_path', fileName)
485
+ HostApp.__callback__ = null
486
+ HostApp.__this__ = null
487
+ },
488
+ record() {
489
+ if (this.$parent.role != 'inspect') {
490
+ if (this.paper.f_recording1_path != '') {
491
+ window.location = this.paper.f_recording1_path
492
+ }
493
+ } else {
494
+ HostApp.__callback__ = this.amrCallBack
495
+ HostApp.__this__ = this
496
+ let fileName
497
+ if (!this.paper.f_recording1_path) {
498
+ fileName = Util.guid() + '.amr'
499
+ } else {
500
+ fileName = Util.getFileName(this.paper.f_recording1_path)
501
+ }
502
+ HostApp._open_a_page({
503
+ type: 'boomerang',
504
+ page: 'com.aofeng.hybrid.android.peripheral.AudioClipActivity',
505
+ param: {file: fileName, requestCode: 111, callback: 'javascript:HostApp.__callback__("%s");'}
506
+ })
507
+ }
508
+ },
509
+ // 签名回调
510
+ signCallback(prop, fileName) {
511
+ // HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
512
+ HostApp.__this__.$set('paper.f_sign_path', fileName)
513
+ HostApp.__callback__ = null
514
+ HostApp.__this__ = null
515
+ },
516
+ // 用户签名
517
+ sign() {
518
+ this.delAudioFile('f_sign_path', this.paper.f_sign_path)
519
+ let prop = 'f_sign_path'
520
+ let idx = 'aofeng'
521
+ let fileName
522
+ if (!this.paper.f_sign_path) {
523
+ fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
524
+ } else {
525
+ fileName = Util.getFileName(this.paper.f_sign_path)
526
+ }
527
+ HostApp.__callback__ = this.signCallback
528
+ HostApp.__this__ = this
529
+ HostApp.getSignature({
530
+ file: fileName,
531
+ requestCode: 111,
532
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
533
+ })
534
+ },
535
+ delfile(prop, fileName) {
536
+ if (fileName == Vue.nopic)
537
+ return
538
+ else {
539
+ HostApp.delfile(fileName)
540
+ this.paper[prop] = Vue.nopic
541
+ }
542
+ },
543
+ delAudioFile(prop, fileName) {
544
+ if (!fileName)
545
+ return
546
+ else {
547
+ HostApp.delfile(fileName)
548
+ this.paper[prop] = null
549
+ }
550
+ },
551
+ //获取打印用户信息
552
+ getUser() {
553
+ if (this.paper.f_user_name == undefined)
554
+ this.paper.f_user_name = ''
555
+ this.printContent.push({type: 3, text: '用户名称:' + this.paper.f_user_name, fontsize: 2, isbold: false, align: 'left'})
556
+ if (this.paper.f_userinfo_code == undefined)
557
+ this.paper.f_userinfo_code = ''
558
+ this.printContent.push({type: 3, text: '用户编号:' + this.paper.f_userinfo_code, fontsize: 2, isbold: false, align: 'left'})
559
+ if (this.paper.f_address == undefined)
560
+ this.paper.f_address = ''
561
+ this.printContent.push({type: 3, text: '地址:' + this.paper.f_address, fontsize: 2, isbold: false, align: 'left'})
562
+ if (this.paper.f_user_phone == undefined)
563
+ this.paper.f_user_phone = ''
564
+ this.printContent.push({type: 3, text: '电话:' + this.paper.f_user_phone, fontsize: 2, isbold: false, align: 'left'})
565
+ },
566
+ verify(){
567
+ let hasError = this.$parent.verifyUser()
568
+ if(hasError)
569
+ return hasError
570
+ hasError = this.$parent.verifyDevices()
571
+ if(hasError)
572
+ return hasError
573
+ },
574
+ print() {
575
+ let errString = this.verify()
576
+ if (errString) {
577
+ console.log(errString)
578
+ if (Vue.android)
579
+ this.$showMessage(errString)
580
+ return
581
+ }
582
+ // 文本
583
+ let templatename = '安检结果单'
584
+ if(Vue.config.safecheck != undefined) {
585
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
586
+ if (Vue.config.safecheck.ApproveConfig.templatename != undefined) {
587
+ templatename = Vue.config.safecheck.ApproveConfig.templatename
588
+ }
589
+ }
590
+ }
591
+ let textHead = {type: 3, text: templatename, fontsize: 3, isbold: true, align: 'center'}
592
+ let feedPageHead = {type: 4, value: 2, unit: 'line'}
593
+ let feedPageEnd = {type: 4, value: 4, unit: 'line'}
594
+ this.printContent.push(textHead)
595
+ this.printContent.push(feedPageHead)
596
+ this.getUser()
597
+ this.getDefect()
598
+ this.getCheck()
599
+ this.printContent.push(feedPageEnd)
600
+ let arrstr = JSON.stringify(this.printContent)
601
+ console.log(arrstr)
602
+ this.$androidUtil.print(arrstr)
603
+ this.$set('printContent', [])
604
+ },
605
+ //打印安检信息
606
+ getCheck() {
607
+ let telephone = '96777'
608
+ if(Vue.config.safecheck != undefined) {
609
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
610
+ if (Vue.config.safecheck.ApproveConfig.checkphone != undefined) {
611
+ telephone = Vue.config.safecheck.ApproveConfig.checkphone
612
+ }
613
+ }
614
+ }
615
+ this.printContent.push({type: 3, text: '*******************************', fontsize: 3, isbold: false, align: 'center'})
616
+ this.printContent.push({type: 3, text: '咨询电话;'+telephone, fontsize: 2, isbold: false, align: 'left'})
617
+ this.printContent.push({type: 3, text: '安检人:'+Vue.user.name, fontsize: 2, isbold: false, align: 'left'})
618
+ this.printContent.push({type: 3, text: '安检时间:' + this.getNowFormatDate(), fontsize: 2, isbold: false, align: 'left'})
619
+ this.printContent.push({type: 3, text: '用户签字:', fontsize: 2, isbold: false, align: 'left'})
620
+ this.printContent.push({type: 4, value: 4, unit: 'line'})
621
+ },
622
+
623
+ getDefect() {
624
+ let showmore = false
625
+ if(Vue.config.safecheck != undefined) {
626
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
627
+ if (Vue.config.safecheck.ApproveConfig.showmore != undefined) {
628
+ showmore = Vue.config.safecheck.ApproveConfig.showmore
629
+ }
630
+ }
631
+ }
632
+
633
+ let backData = this.$parent.getAllDefect()
634
+ // 对隐患信息进行遍历
635
+ let res = JSON.parse(backData.f_defect_content)
636
+ this.printContent.push({
637
+ type: 3,
638
+ text: '安检结果:' + res.result,
639
+ fontsize: 2,
640
+ isbold: false,
641
+ align: 'left'
642
+ })
643
+ this.printContent.push({type: 3, text: '*******************************', fontsize: 3, isbold: false, align: 'center'})
644
+
645
+
646
+ if(showmore) {
647
+ //全部打印
648
+ for (let dev in this.$parent.config) {
649
+ for (let device in backData) {
650
+ if (device.startsWith("device")) {
651
+ for (let item in backData[device]) {
652
+ //遍历结果
653
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
654
+ let error = true
655
+ for (let i in backData[device][item].f_items) {
656
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
657
+ error = false
658
+ }
659
+ }
660
+ if (error) {
661
+ this.printContent.push({
662
+ type: 3,
663
+ text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常',
664
+ fontsize: 2,
665
+ isbold: false,
666
+ align: 'left'
667
+ })
668
+ } else {
669
+ this.printContent.push({
670
+ type: 3,
671
+ text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患',
672
+ fontsize: 2,
673
+ isbold: true,
674
+ align: 'left'
675
+ })
676
+ }
677
+
678
+ for (let i in backData[device][item].f_items) {
679
+ if (backData[device][item].f_items[i].f_item_value != '' && backData[device][item].f_items[i].f_item_value != null) {
680
+ this.printContent.push({
681
+ type: 3,
682
+ text: backData[device][item].f_items[i].f_item_name + backData[device][item].f_items[i].f_item_value,
683
+ fontsize: 2,
684
+ isbold: false,
685
+ align: 'left'
686
+ })
687
+ }
688
+ }
689
+ this.printContent.push({type: 4, value: 2, unit: 'line'})
690
+ }
691
+ }
692
+ }
693
+ }
694
+ }
695
+
696
+ for (let dev in this.$parent.config) {
697
+ for (let device in backData) {
698
+ if (device.startsWith("device")) {
699
+ for (let item in backData[device]) {
700
+ //遍历结果
701
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
702
+ let error = true
703
+ for (let i in backData[device][item].f_items) {
704
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
705
+ error = false
706
+ }
707
+ }
708
+ if (!error) {
709
+ this.printContent.push({
710
+ type: 3,
711
+ text: '隐患:',
712
+ fontsize: 2,
713
+ isbold: true,
714
+ align: 'left'
715
+ })
716
+ }
717
+ }
718
+ }
719
+ }
720
+ }
721
+ for (let device in backData) {
722
+ if (device.startsWith("device")) {
723
+ for (let item in backData[device]) {
724
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
725
+ for (let i in backData[device][item].f_items) {
726
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
727
+ this.printContent.push({
728
+ type: 3,
729
+ text: backData[device][item].f_items[i].f_item_name + ' ' + backData[device][item].f_items[i].f_item_value,
730
+ fontsize: 2,
731
+ isbold: true,
732
+ align: 'left'
733
+ })
734
+ }
735
+ }
736
+ }
737
+ }
738
+ }
739
+ }
740
+
741
+ }
742
+ }else {
743
+ for (let dev in this.$parent.config) {
744
+ for (let device in backData) {
745
+ if (device.startsWith("device")) {
746
+ for (let item in backData[device]) {
747
+ //遍历结果
748
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
749
+ let error = true
750
+ for (let i in backData[device][item].f_items) {
751
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
752
+ error = false
753
+ }
754
+ }
755
+ if (error) {
756
+ this.printContent.push({
757
+ type: 3,
758
+ text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常',
759
+ fontsize: 2,
760
+ isbold: false,
761
+ align: 'left'
762
+ })
763
+ } else {
764
+ this.printContent.push({
765
+ type: 3,
766
+ text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患',
767
+ fontsize: 2,
768
+ isbold: false,
769
+ align: 'left'
770
+ })
771
+ }
772
+
773
+ for (let i in backData[device][item].f_items) {
774
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
775
+ this.printContent.push({
776
+ type: 3,
777
+ text: '隐患:' + backData[device][item].f_items[i].f_item_name + backData[device][item].f_items[i].f_item_value,
778
+ fontsize: 2,
779
+ isbold: false,
780
+ align: 'left'
781
+ })
782
+ }
783
+ }
784
+ this.printContent.push({type: 4, value: 2, unit: 'line'})
785
+ }
786
+ }
787
+ }
788
+ }
789
+ }
790
+ }
791
+ },
792
+ //获取当前时间
793
+ getNowFormatDate(){
794
+ var date = new Date();
795
+ var seperator1 = "-";
796
+ var seperator2 = ":";
797
+ var month = date.getMonth() + 1;
798
+ var strDate = date.getDate();
799
+ if (month >= 1 && month <= 9) {
800
+ month = "0" + month;
801
+ }
802
+ if (strDate >= 0 && strDate <= 9) {
803
+ strDate = "0" + strDate;
804
+ }
805
+ var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
806
+ + " " + date.getHours() + seperator2 + date.getMinutes()
807
+ + seperator2 + date.getSeconds();
808
+ return currentdate;
809
+ },
810
+ readRepair () {
811
+ let url = this.$androidUtil.getProxyUrl()
812
+ let gen = getRepairs(this,url)
813
+ return co(gen)
814
+ },
815
+ showToRepair(){
816
+ let res = this.hasDefect()
817
+ console.log('==========检测结果========')
818
+ console.log(res)
819
+ if(res == '正常'){
820
+ this.showrepair = false
821
+ }else{
822
+ this.showrepair = true
823
+ this.assignObj()
824
+ }
825
+ this.showCheckToRepair = !this.showCheckToRepair
826
+ },
827
+ // 选中部门
828
+ reres(val){
829
+ if(val.res == undefined){
830
+ return
831
+ }
832
+ this.model.serviceacitivity[0].f_meetunit = val.res
833
+ this.model.f_meetunit = val.res
834
+ this.model.f_orgstr = val.resids
835
+ var arr = val.res.split('.')
836
+ this.model.f_outlets = arr[arr.length - 1]
837
+ this.model.serviceacitivity[0].f_reciever = val.resids
838
+ },
839
+ assignObj(){
840
+ this.model.f_contact_phone = this.paper.f_user_phone
841
+ this.model.f_user_name = this.paper.f_user_name
842
+ this.model.f_address = this.paper.f_address
843
+ this.model.f_user_type = this.paper.f_check_type
844
+ this.model.f_street = this.paper.f_street
845
+ this.model.f_residential_area = this.paper.f_residential_area
846
+ this.model.f_building = this.paper.f_building
847
+ this.model.f_unit = this.paper.f_unit
848
+ this.model.f_floor = this.paper.f_floor
849
+ this.model.f_room = this.paper.f_room
850
+ this.model.f_floor = this.paper.f_floor
851
+ this.model.f_userinfo_id = this.paper.f_userinfoid
852
+ this.model.f_userinfo_code = this.paper.f_userinfo_code
853
+ },
854
+ hasDefect(){
855
+ let checkResult = '正常'
856
+ let codata = JSON.parse(JSON.stringify(this.paper))
857
+ for(let device in this.paper){
858
+ if(device.startsWith("device")){
859
+ for(let item in this.paper[device]) {
860
+ for(let i in this.paper[device][item].f_items){
861
+ let items = this.paper[device][item].f_items[i]
862
+ console.log('items',items)
863
+ if(items.f_is_defect == true || items.f_is_defect == 'true'){
864
+ checkResult = '有隐患'
865
+ }
866
+ }
867
+ }
868
+ }
869
+ }
870
+ return checkResult
871
+ },
872
+ uploadPaper() {
873
+ if(this.showrepair){
874
+ this.$parent.isToRepair = true
875
+ this.$parent.savePaper(false).then((res) => {
876
+ console.log(`res=${res}`)
877
+ if(res != true){
878
+ console.log('失败')
879
+ return
880
+ }else{
881
+ //TODO 上传成功 转维修失败
882
+ this.todo()
883
+ }
884
+ })
885
+ }else{
886
+ this.undo()
887
+ }
888
+
889
+ },
890
+ //确认安检转维修
891
+ todo(){
892
+ let gen = getRepairParam(this)
893
+ co(gen)
894
+ },
895
+ undo(){
896
+ this.showCheckToRepair = !this.showCheckToRepair
897
+ this.model.serviceacitivity[0].f_reciever = ''
898
+ this.model.serviceacitivity[0].f_meetunit = ''
899
+ this.model.f_repairtype = ''
900
+ this.meading = '转站点'
901
+ },
902
+ repiarmancg(val){
903
+ if(val){
904
+ console.log(val)
905
+ this.model.serviceacitivity[0].f_reciever = val.name
906
+ let http1 = new HttpResetClass()
907
+ http1.load('POST',`${this.Url}/rs/sql/tel_singleTable_OrderBy`, {data: {
908
+ items: 'f_user_telephone',
909
+ tablename: 't_user',
910
+ condition: `name = '${val}'`,
911
+ orderitem: 'id'
912
+ }}, {resolveMsg: null, rejectMsg: null}).then((ress) => {
913
+ this.model.f_repairman_phone = ress.data[0].f_user_telephone
914
+ })
915
+ }
916
+ },
917
+ },
918
+ ready() {
919
+ for (let item of this.radios){
920
+ if(this.paper.f_client_evaluation == item.label){
921
+ item.isChecked = true;
922
+ }
923
+ }
924
+ console.log('this.paper.f_notified_path===>'+this.paper.f_notified_path)
925
+ console.log('this.paper.f_sign_path===>'+this.paper.f_sign_path)
926
+ console.log('this.paper.f_overall_path===>'+this.paper.f_overall_path)
927
+ console.log('this.paper.f_overall2_path===>'+this.paper.f_overall2_path)
928
+ if (!this.paper.f_notified_path)
929
+ this.$set('paper.f_notified_path', Vue.nopic)
930
+ if (!this.paper.f_sign_path)
931
+ this.$set('paper.f_sign_path', Vue.nopic)
932
+ if (!this.paper.f_overall_imgs){
933
+ let imgs = []
934
+ // imgs.push({f_overall_path:Vue.nopic})
935
+ this.$set('paper.f_overall_imgs', imgs)
936
+ console.log('进入setpaper.f_overall_imgs')
937
+ }
938
+ if (!this.paper.f_overall2_path)
939
+ this.$set('paper.f_overall2_path', Vue.nopic)
940
+
941
+ this.userid = this.role == 'view'? this.$login.f.id:Vue.user.id
942
+ if(Vue.config.safecheck != undefined){
943
+ if(Vue.config.safecheck.ApproveConfig != undefined){
944
+ if(Vue.config.safecheck.ApproveConfig.safeCheckToRepair != undefined) {
945
+ this.safeCheckToRepair = Vue.config.safecheck.ApproveConfig.safeCheckToRepair
946
+ }
947
+ }
948
+ }
949
+ console.log(`this.safeCheckToRepair==========${this.safeCheckToRepair}`)
950
+ console.log(Vue.config)
951
+ },
952
+ watch:{
953
+ '$parent.isUpload'(val){
954
+ console.log('isUpload发生变化===>'+val)
955
+ }
956
+ }
957
+ }
958
+ </script>
959
+ <style>
960
+ .text-left{
961
+ text-align:left;
962
+ }
963
+ .font{
964
+ font: 15px PingFang-SC-Medium;
965
+ color: #333333;
966
+ }
967
+ .showInput{
968
+ font: 14px PingFang-SC-Medium;
969
+ color: #666666;
970
+ }
971
+ .info{
972
+ margin-top: 15px;
973
+ border-radius: 5px;
974
+ background-color: #f3faff;
975
+ }
976
+ .btn-photo{
977
+ border: 0;
978
+ border-radius: 7px;
979
+ background-color: #7dc1f4;
980
+ font: 15px PingFang-SC-Bold;
981
+ height: 20%;
982
+ }
983
+ .div-photo{
984
+ width: auto;
985
+ height: auto;
986
+ /* margin-top: 10px; */
987
+ position: absolute;
988
+ bottom: 10px;
989
+ right: 10px;
990
+ }
991
+ .btn-voice{
992
+ border-radius: 7px;
993
+ border: 1px solid #dedede;
994
+ background-color: #f5fbff;
995
+ font: 15px PingFang-SC-Bold;
996
+ color: #499edf;
997
+ }
998
+ .save-btn{
999
+ width: 25%;
1000
+ background-color:#499edf;
1001
+ border-radius: 6px;
1002
+ color: #FFFFFF;
1003
+ font: 15px PingFang-SC-Bold;
1004
+ }
1005
+ .upload-btn{
1006
+ width: 25%;
1007
+ background-color:#ffffff;
1008
+ border: 1px solid #499edf;
1009
+ border-radius: 6px;
1010
+ color: #499edf;
1011
+ font: 15px PingFang-SC-Bold;
1012
+ }
1013
+ .repair-btn{
1014
+ width: 25%;
1015
+ border: 1px solid #499edf;
1016
+ border-radius: 6px;
1017
+ font: 15px PingFang-SC-Bold;
1018
+ }
1019
+ </style>