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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (842) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/.eslintrc.js +16 -16
  4. package/.project +11 -11
  5. package/CHANGELOG.md +27 -27
  6. package/README.md +38 -38
  7. package/android.html +18 -18
  8. package/build/css-loaders.js +34 -34
  9. package/build/dev-android.js +151 -151
  10. package/build/dev-client.js +8 -8
  11. package/build/example-server.js +157 -157
  12. package/build/release.sh +28 -28
  13. package/build/utils.js +71 -71
  14. package/build/webpack.base.conf.js +88 -88
  15. package/build/webpack.baseandroid.conf.js +83 -83
  16. package/build/webpack.dev.conf.js +40 -40
  17. package/build/webpack.devandroid.conf.js +33 -33
  18. package/build/webpack.example.conf.js +49 -49
  19. package/build/webpack.hanwei.conf.js +57 -57
  20. package/build/webpack.hwbase.conf.js +78 -78
  21. package/build/webpack.prod.conf.js +80 -80
  22. package/build/webpack.prodandroid.conf.js +60 -60
  23. package/build/webpack.test.conf.js +31 -31
  24. package/build.gradle +14 -14
  25. package/config/dev.env.js +6 -6
  26. package/config/index.js +38 -38
  27. package/config/prod.env.js +3 -3
  28. package/config/test.env.js +6 -6
  29. package/docs/AppBase.md +22 -22
  30. package/docs/Busy.md +14 -14
  31. package/docs/Criteria.md +47 -47
  32. package/docs/CriteriaPaged.md +47 -47
  33. package/docs/DataGrid.md +54 -54
  34. package/docs/DataModel.md +22 -22
  35. package/docs/Dynamic.md +42 -42
  36. package/docs/FormPrint.md +18 -18
  37. package/docs/GetParams.md +11 -11
  38. package/docs/GridTree.md +47 -47
  39. package/docs/HttpBusy.md +13 -13
  40. package/docs/HttpStore.md +29 -29
  41. package/docs/MessageBox.md +28 -28
  42. package/docs/PagedList.md +29 -29
  43. package/docs/Pager.md +21 -21
  44. package/docs/PrintFile.md +38 -38
  45. package/docs/Project.md +23 -23
  46. package/docs/Route.md +105 -105
  47. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  48. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  49. package/docs/Task.md +46 -46
  50. package/docs/TreeList.md +28 -28
  51. package/docs/TreeMixin.md +18 -18
  52. package/docs/all.md +10 -10
  53. package/docs/list.md +42 -42
  54. package/docs/partial.md +75 -75
  55. package/docs/selector.md +82 -82
  56. package/docs/tree.md +40 -40
  57. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  58. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  59. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  60. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  61. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  62. package/examples/AddressList/App.vue +13 -13
  63. package/examples/AddressList/index.html +11 -11
  64. package/examples/AddressList/main.js +13 -13
  65. package/examples/ChangeConfig/App.vue +54 -54
  66. package/examples/ChangeConfig/comp.js +548 -548
  67. package/examples/ChangeConfig/index.html +17 -17
  68. package/examples/ChangeConfig/main.js +13 -13
  69. package/examples/CheckAdvise/App.vue +24 -24
  70. package/examples/CheckAdvise/comp.js +9 -9
  71. package/examples/CheckAdvise/index.html +18 -18
  72. package/examples/CheckAdvise/main.js +13 -13
  73. package/examples/CreatePlan/App.vue +13 -13
  74. package/examples/CreatePlan/index.html +11 -11
  75. package/examples/CreatePlan/main.js +13 -13
  76. package/examples/DispatchList/App.vue +10 -10
  77. package/examples/DispatchList/BaseTree.vue +13 -13
  78. package/examples/DispatchList/Init.vue +22 -22
  79. package/examples/DispatchList/Test.vue +20 -20
  80. package/examples/DispatchList/index.html +11 -11
  81. package/examples/DispatchList/main.js +18 -18
  82. package/examples/PhoneSafePlan/App.vue +36 -36
  83. package/examples/PhoneSafePlan/TestData.js +448 -448
  84. package/examples/PhoneSafePlan/comp.js +33 -33
  85. package/examples/PhoneSafePlan/index.html +17 -17
  86. package/examples/PhoneSafePlan/main.js +13 -13
  87. package/examples/SafePlan/App.vue +83 -83
  88. package/examples/SafePlan/TestData.js +448 -448
  89. package/examples/SafePlan/comp.js +1521 -1521
  90. package/examples/SafePlan/index.html +18 -18
  91. package/examples/SafePlan/main.js +13 -13
  92. package/examples/SafePlan-aode/App.vue +39 -39
  93. package/examples/SafePlan-aode/TestData.js +448 -448
  94. package/examples/SafePlan-aode/comp.js +1132 -1132
  95. package/examples/SafePlan-aode/index.html +17 -17
  96. package/examples/SafePlan-aode/main.js +13 -13
  97. package/examples/SafePlan-liaoyuan/App.vue +53 -53
  98. package/examples/SafePlan-liaoyuan/TestData.js +448 -448
  99. package/examples/SafePlan-liaoyuan/comp.js +1419 -1419
  100. package/examples/SafePlan-liaoyuan/index.html +18 -18
  101. package/examples/SafePlan-liaoyuan/main.js +13 -13
  102. package/examples/SafePlan-shaoguan/App.vue +52 -52
  103. package/examples/SafePlan-shaoguan/TestData.js +448 -448
  104. package/examples/SafePlan-shaoguan/comp.js +1190 -1190
  105. package/examples/SafePlan-shaoguan/index.html +18 -18
  106. package/examples/SafePlan-shaoguan/main.js +13 -13
  107. package/examples/SafePlan-tongchuan/App.vue +81 -81
  108. package/examples/SafePlan-tongchuan/TestData.js +448 -448
  109. package/examples/SafePlan-tongchuan/comp.js +1480 -1480
  110. package/examples/SafePlan-tongchuan/index.html +18 -18
  111. package/examples/SafePlan-tongchuan/main.js +13 -13
  112. package/examples/SafePlan-wenxi/App.vue +80 -80
  113. package/examples/SafePlan-wenxi/TestData.js +448 -448
  114. package/examples/SafePlan-wenxi/comp.js +1545 -1545
  115. package/examples/SafePlan-wenxi/index.html +18 -18
  116. package/examples/SafePlan-wenxi/main.js +13 -13
  117. package/examples/SafePlan-zhoukou/App.vue +81 -81
  118. package/examples/SafePlan-zhoukou/TestData.js +448 -448
  119. package/examples/SafePlan-zhoukou/comp.js +1525 -1525
  120. package/examples/SafePlan-zhoukou/index.html +18 -18
  121. package/examples/SafePlan-zhoukou/main.js +13 -13
  122. package/examples/SafePlanItem/App.vue +33 -33
  123. package/examples/SafePlanItem/TestData.js +448 -448
  124. package/examples/SafePlanItem/comp.js +69 -69
  125. package/examples/SafePlanItem/index.html +17 -17
  126. package/examples/SafePlanItem/main.js +15 -15
  127. package/examples/SafePlanrongcheng/App.vue +52 -52
  128. package/examples/SafePlanrongcheng/TestData.js +448 -448
  129. package/examples/SafePlanrongcheng/comp.js +1133 -1133
  130. package/examples/SafePlanrongcheng/index.html +18 -18
  131. package/examples/SafePlanrongcheng/main.js +13 -13
  132. package/examples/SafePlanrongcheng-gs/App.vue +52 -52
  133. package/examples/SafePlanrongcheng-gs/TestData.js +448 -448
  134. package/examples/SafePlanrongcheng-gs/comp.js +1132 -1132
  135. package/examples/SafePlanrongcheng-gs/index.html +18 -18
  136. package/examples/SafePlanrongcheng-gs/main.js +13 -13
  137. package/examples/SafePlanrongcheng-gssq/App.vue +52 -52
  138. package/examples/SafePlanrongcheng-gssq/TestData.js +448 -448
  139. package/examples/SafePlanrongcheng-gssq/comp.js +1135 -1135
  140. package/examples/SafePlanrongcheng-gssq/index.html +18 -18
  141. package/examples/SafePlanrongcheng-gssq/main.js +13 -13
  142. package/examples/SafePlanrongcheng-mysq/App.vue +52 -52
  143. package/examples/SafePlanrongcheng-mysq/TestData.js +448 -448
  144. package/examples/SafePlanrongcheng-mysq/comp.js +1136 -1136
  145. package/examples/SafePlanrongcheng-mysq/index.html +18 -18
  146. package/examples/SafePlanrongcheng-mysq/main.js +13 -13
  147. package/examples/Test/App.vue +35 -35
  148. package/examples/Test/TestData.js +489 -489
  149. package/examples/Test/index.html +17 -17
  150. package/examples/Test/main.js +13 -13
  151. package/examples/Test//350/216/267/345/217/226/345/217/230/351/207/217 +2 -2
  152. package/examples/UserFiles/App.vue +47 -47
  153. package/examples/UserFiles/TestData.js +448 -448
  154. package/examples/UserFiles/comp.js +227 -227
  155. package/examples/UserFiles/index.html +19 -19
  156. package/examples/UserFiles/main.js +13 -13
  157. package/home.html +16 -16
  158. package/index.html +23 -23
  159. package/oa.iml +8 -8
  160. package/package.json +1 -1
  161. package/publish.bat +7 -7
  162. package/release.bat +5 -5
  163. package/src/AndroidApp.vue +26 -26
  164. package/src/App.vue +27 -27
  165. package/src/Widget.vue +13 -13
  166. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  167. package/src/android-bootstrap/less/.csscomb.json +304 -304
  168. package/src/android-bootstrap/less/.csslintrc +19 -19
  169. package/src/android-bootstrap/less/alerts.less +73 -73
  170. package/src/android-bootstrap/less/badges.less +66 -66
  171. package/src/android-bootstrap/less/bootstrap.less +56 -56
  172. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  173. package/src/android-bootstrap/less/button-groups.less +247 -247
  174. package/src/android-bootstrap/less/buttons.less +173 -173
  175. package/src/android-bootstrap/less/carousel.less +269 -269
  176. package/src/android-bootstrap/less/close.less +34 -34
  177. package/src/android-bootstrap/less/code.less +69 -69
  178. package/src/android-bootstrap/less/component-animations.less +33 -33
  179. package/src/android-bootstrap/less/dropdowns.less +216 -216
  180. package/src/android-bootstrap/less/forms.less +626 -626
  181. package/src/android-bootstrap/less/glyphicons.less +305 -305
  182. package/src/android-bootstrap/less/grid.less +84 -84
  183. package/src/android-bootstrap/less/input-groups.less +167 -167
  184. package/src/android-bootstrap/less/jumbotron.less +52 -52
  185. package/src/android-bootstrap/less/labels.less +64 -64
  186. package/src/android-bootstrap/less/list-group.less +141 -141
  187. package/src/android-bootstrap/less/media.less +66 -66
  188. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  189. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  190. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  191. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  192. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  193. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  194. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  195. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  196. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  197. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  198. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  199. package/src/android-bootstrap/less/mixins/image.less +33 -33
  200. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  201. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  202. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  203. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  204. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  205. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  206. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  207. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  208. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  209. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  210. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  211. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  212. package/src/android-bootstrap/less/mixins/size.less +10 -10
  213. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  214. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  215. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  216. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  217. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  218. package/src/android-bootstrap/less/mixins.less +40 -40
  219. package/src/android-bootstrap/less/modals.less +151 -151
  220. package/src/android-bootstrap/less/navbar.less +660 -660
  221. package/src/android-bootstrap/less/navs.less +290 -290
  222. package/src/android-bootstrap/less/normalize.less +424 -424
  223. package/src/android-bootstrap/less/pager.less +76 -76
  224. package/src/android-bootstrap/less/pagination.less +89 -89
  225. package/src/android-bootstrap/less/panels.less +274 -274
  226. package/src/android-bootstrap/less/popovers.less +131 -131
  227. package/src/android-bootstrap/less/print.less +101 -101
  228. package/src/android-bootstrap/less/progress-bars.less +87 -87
  229. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  230. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  231. package/src/android-bootstrap/less/scaffolding.less +161 -161
  232. package/src/android-bootstrap/less/tables.less +262 -262
  233. package/src/android-bootstrap/less/theme.less +291 -291
  234. package/src/android-bootstrap/less/thumbnails.less +36 -36
  235. package/src/android-bootstrap/less/tooltip.less +102 -102
  236. package/src/android-bootstrap/less/type.less +303 -303
  237. package/src/android-bootstrap/less/utilities.less +55 -55
  238. package/src/android-bootstrap/less/variables.less +896 -896
  239. package/src/android-bootstrap/less/wells.less +29 -29
  240. package/src/android.js +16 -16
  241. package/src/androidBase.js +177 -177
  242. package/src/androidTest.js +20 -20
  243. package/src/bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  244. package/src/bootstrap/less/.csscomb.json +304 -304
  245. package/src/bootstrap/less/.csslintrc +19 -19
  246. package/src/bootstrap/less/alerts.less +73 -73
  247. package/src/bootstrap/less/aofeng/animate.min.css +10 -10
  248. package/src/bootstrap/less/aofeng/standard.less +2121 -2121
  249. package/src/bootstrap/less/aofeng/themeOne/BinaryTemplate.less +686 -686
  250. package/src/bootstrap/less/aofeng/themeOne/loginStyle.less +1586 -1586
  251. package/src/bootstrap/less/aofeng/themeOne/systemStyle.less +2650 -2650
  252. package/src/bootstrap/less/aofeng/themeOne.less +14 -14
  253. package/src/bootstrap/less/aofeng/themeTwo/newStyle1.less +415 -415
  254. package/src/bootstrap/less/aofeng/themeTwo.less +3 -3
  255. package/src/bootstrap/less/badges.less +66 -66
  256. package/src/bootstrap/less/bootstrap.less +65 -65
  257. package/src/bootstrap/less/breadcrumbs.less +26 -26
  258. package/src/bootstrap/less/button-groups.less +247 -247
  259. package/src/bootstrap/less/buttons.less +172 -172
  260. package/src/bootstrap/less/carousel.less +269 -269
  261. package/src/bootstrap/less/close.less +34 -34
  262. package/src/bootstrap/less/code.less +69 -69
  263. package/src/bootstrap/less/component-animations.less +33 -33
  264. package/src/bootstrap/less/dropdowns.less +216 -216
  265. package/src/bootstrap/less/forms.less +626 -626
  266. package/src/bootstrap/less/glyphicons.less +305 -305
  267. package/src/bootstrap/less/grid.less +84 -84
  268. package/src/bootstrap/less/input-groups.less +167 -167
  269. package/src/bootstrap/less/jumbotron.less +52 -52
  270. package/src/bootstrap/less/labels.less +64 -64
  271. package/src/bootstrap/less/list-group.less +141 -141
  272. package/src/bootstrap/less/manageStyle/manageChile.less +180 -180
  273. package/src/bootstrap/less/manageStyle/manageStyle.less +1102 -1102
  274. package/src/bootstrap/less/manageStyle/safeStyle.less +498 -498
  275. package/src/bootstrap/less/media.less +66 -66
  276. package/src/bootstrap/less/mixins/alerts.less +14 -14
  277. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  278. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  279. package/src/bootstrap/less/mixins/buttons.less +69 -69
  280. package/src/bootstrap/less/mixins/center-block.less +7 -7
  281. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  282. package/src/bootstrap/less/mixins/forms.less +90 -90
  283. package/src/bootstrap/less/mixins/gradients.less +59 -59
  284. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  285. package/src/bootstrap/less/mixins/grid.less +122 -122
  286. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  287. package/src/bootstrap/less/mixins/image.less +33 -33
  288. package/src/bootstrap/less/mixins/labels.less +12 -12
  289. package/src/bootstrap/less/mixins/list-group.less +30 -30
  290. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  291. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  292. package/src/bootstrap/less/mixins/opacity.less +8 -8
  293. package/src/bootstrap/less/mixins/pagination.less +24 -24
  294. package/src/bootstrap/less/mixins/panels.less +24 -24
  295. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  296. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  297. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  298. package/src/bootstrap/less/mixins/resize.less +6 -6
  299. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  300. package/src/bootstrap/less/mixins/size.less +10 -10
  301. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  302. package/src/bootstrap/less/mixins/table-row.less +44 -44
  303. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  304. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  305. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  306. package/src/bootstrap/less/mixins.less +40 -40
  307. package/src/bootstrap/less/modals.less +151 -151
  308. package/src/bootstrap/less/navbar.less +660 -660
  309. package/src/bootstrap/less/navs.less +285 -285
  310. package/src/bootstrap/less/normalize.less +424 -424
  311. package/src/bootstrap/less/pager.less +76 -76
  312. package/src/bootstrap/less/pagination.less +89 -89
  313. package/src/bootstrap/less/panels.less +275 -275
  314. package/src/bootstrap/less/popovers.less +131 -131
  315. package/src/bootstrap/less/print.less +101 -101
  316. package/src/bootstrap/less/progress-bars.less +87 -87
  317. package/src/bootstrap/less/responsive-embed.less +35 -35
  318. package/src/bootstrap/less/responsive-utilities.less +194 -194
  319. package/src/bootstrap/less/scaffolding.less +161 -161
  320. package/src/bootstrap/less/stand.less +207 -207
  321. package/src/bootstrap/less/standard.less +503 -503
  322. package/src/bootstrap/less/systemStyle.less +860 -860
  323. package/src/bootstrap/less/tables.less +262 -262
  324. package/src/bootstrap/less/theme.less +291 -291
  325. package/src/bootstrap/less/themeOne.less +36 -36
  326. package/src/bootstrap/less/themeTwo.less +29 -29
  327. package/src/bootstrap/less/thumbnails.less +36 -36
  328. package/src/bootstrap/less/tooltip.less +102 -102
  329. package/src/bootstrap/less/type.less +303 -303
  330. package/src/bootstrap/less/utilities.less +55 -55
  331. package/src/bootstrap/less/variables.less +896 -896
  332. package/src/bootstrap/less/wells.less +29 -29
  333. package/src/components/AloneLoadParams.vue +25 -25
  334. package/src/components/CheckerCount/CheckCountAreaList.vue +306 -306
  335. package/src/components/CheckerCount/CheckCountAreaManage.vue +112 -112
  336. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  337. package/src/components/CheckerCount/ZhouKouCheckCount.vue +272 -272
  338. package/src/components/ExportExcel.vue +334 -334
  339. package/src/components/FileUpload.vue +696 -696
  340. package/src/components/Hello.vue +39 -39
  341. package/src/components/LeftTree.vue +27 -27
  342. package/src/components/Login.vue +459 -459
  343. package/src/components/Main.vue +393 -393
  344. package/src/components/Test.vue +1478 -1478
  345. package/src/components/Util/FileUpload.vue +138 -138
  346. package/src/components/Util/ImgSelfSafe.vue +126 -126
  347. package/src/components/Util/RightTreeSafe.vue +348 -348
  348. package/src/components/Util/SafecheckUpload.vue +265 -265
  349. package/src/components/Util.js +376 -376
  350. package/src/components/android/AddGas.vue +147 -147
  351. package/src/components/android/AddPlanItem.vue +412 -412
  352. package/src/components/android/AddressList.vue +61 -61
  353. package/src/components/android/AdviseCommit.vue +59 -59
  354. package/src/components/android/AndroidCheckResult.vue +181 -181
  355. package/src/components/android/AndroidDefectDeal.vue +397 -397
  356. package/src/components/android/Announcement.vue +167 -167
  357. package/src/components/android/AreaPlan.vue +503 -503
  358. package/src/components/android/AttendanceTally.vue +116 -116
  359. package/src/components/android/Blank.vue +10 -10
  360. package/src/components/android/CheckNotice.vue +89 -89
  361. package/src/components/android/CheckPlan.vue +257 -257
  362. package/src/components/android/CheckPlanDown.vue +216 -216
  363. package/src/components/android/CheckPlanItems.vue +423 -423
  364. package/src/components/android/CheckUnplanPage.vue +56 -56
  365. package/src/components/android/Checker.vue +12 -12
  366. package/src/components/android/CheckerAnnual.vue +81 -81
  367. package/src/components/android/CheckerAnnualDetail.vue +63 -63
  368. package/src/components/android/CheckerAvarta.vue +82 -82
  369. package/src/components/android/CheckerMonthly.vue +84 -84
  370. package/src/components/android/Checkpage.vue +102 -102
  371. package/src/components/android/CurrentCreate.vue +972 -972
  372. package/src/components/android/DailyworkloadQuery.vue +396 -396
  373. package/src/components/android/Defect.vue +119 -119
  374. package/src/components/android/DeviceDefect.vue +187 -187
  375. package/src/components/android/Devices.vue +327 -327
  376. package/src/components/android/DevicesItem.vue +495 -495
  377. package/src/components/android/DevicesItemm.vue +445 -445
  378. package/src/components/android/DevicesNoncivil.vue +214 -214
  379. package/src/components/android/Devicesm.vue +327 -327
  380. package/src/components/android/DoorService.vue +501 -501
  381. package/src/components/android/EquipmentInspection.vue +348 -348
  382. package/src/components/android/ExtractCheckPlan.vue +268 -268
  383. package/src/components/android/ExtractPlanItem.vue +516 -516
  384. package/src/components/android/FootprintMap.vue +120 -120
  385. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  386. package/src/components/android/LcheckUnplan.vue +108 -108
  387. package/src/components/android/LocalPagedList.js +108 -108
  388. package/src/components/android/LocalPathList.js +109 -109
  389. package/src/components/android/Login.vue +222 -222
  390. package/src/components/android/MasterMain.vue +77 -77
  391. package/src/components/android/Menu.vue +132 -132
  392. package/src/components/android/NavBottom.vue +157 -157
  393. package/src/components/android/PaperAlarm.vue +85 -85
  394. package/src/components/android/PaperAlarmNoncivil.vue +286 -286
  395. package/src/components/android/PaperCooker.vue +325 -325
  396. package/src/components/android/PaperDefect.vue +230 -230
  397. package/src/components/android/PaperDevice.vue +279 -279
  398. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  399. package/src/components/android/PaperFeedback.vue +1444 -1444
  400. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  401. package/src/components/android/PaperFurnace.vue +274 -274
  402. package/src/components/android/PaperFurnaceNoncivil.vue +203 -203
  403. package/src/components/android/PaperHeater.vue +287 -287
  404. package/src/components/android/PaperInnerPlumb.vue +171 -171
  405. package/src/components/android/PaperMessage.vue +1323 -1323
  406. package/src/components/android/PaperMessageNocivil.vue +1288 -1288
  407. package/src/components/android/PaperMeter.vue +351 -351
  408. package/src/components/android/PaperMeterNoncivil.vue +481 -481
  409. package/src/components/android/PaperPieceNoncivil.vue +142 -142
  410. package/src/components/android/PaperPlumb.vue +141 -141
  411. package/src/components/android/PaperPlumbNoncivil.vue +253 -253
  412. package/src/components/android/PaperSet.vue +1956 -1956
  413. package/src/components/android/PaperSetNoncivil.vue +1760 -1760
  414. package/src/components/android/PaperState.vue +390 -390
  415. package/src/components/android/PaperStateNoncivil.vue +383 -383
  416. package/src/components/android/PaperStateNoncivilm.vue +377 -377
  417. package/src/components/android/PaperStatem.vue +346 -346
  418. package/src/components/android/PaperUser.vue +606 -606
  419. package/src/components/android/PaperUserNoncivil.vue +424 -424
  420. package/src/components/android/PaperUserm.vue +356 -356
  421. package/src/components/android/PaperValve.vue +178 -178
  422. package/src/components/android/PaperValveNoncivil.vue +180 -180
  423. package/src/components/android/PhoneChangemeterInfo.vue +107 -107
  424. package/src/components/android/PhoneInfoTable.vue +40 -40
  425. package/src/components/android/PhoneSellInfo.vue +113 -113
  426. package/src/components/android/PhoneState.vue +157 -157
  427. package/src/components/android/PhoneUpUserinfo.vue +929 -929
  428. package/src/components/android/PhoneUserFind.vue +111 -111
  429. package/src/components/android/PlumberAnnual.vue +83 -83
  430. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  431. package/src/components/android/PlumberMonthly.vue +84 -84
  432. package/src/components/android/PostMap.vue +83 -83
  433. package/src/components/android/PrearrangedPlan.vue +247 -247
  434. package/src/components/android/QueryCheckHistory.vue +122 -122
  435. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  436. package/src/components/android/RepairAreaList.vue +71 -71
  437. package/src/components/android/RepairList.vue +206 -206
  438. package/src/components/android/RepairMain.vue +60 -60
  439. package/src/components/android/RepairQuery.vue +262 -262
  440. package/src/components/android/Repairman.vue +12 -12
  441. package/src/components/android/ResAreaList.vue +158 -158
  442. package/src/components/android/RightTree.vue +174 -174
  443. package/src/components/android/SafecheckDevices.vue +1143 -1143
  444. package/src/components/android/SafecheckOrderV.vue +2408 -2408
  445. package/src/components/android/SafecheckState.vue +437 -437
  446. package/src/components/android/SafecheckUser.vue +580 -580
  447. package/src/components/android/ShebeiDevices.vue +980 -980
  448. package/src/components/android/StationMaster.vue +12 -12
  449. package/src/components/android/SwitchValve.vue +230 -230
  450. package/src/components/android/SystemSetting.vue +84 -84
  451. package/src/components/android/ToolsPage.vue +51 -51
  452. package/src/components/android/TrackState.vue +134 -134
  453. package/src/components/android/UploadPage.vue +338 -338
  454. package/src/components/android/checkPlanResult.vue +302 -302
  455. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  456. package/src/components/android/userinfo/SafecheckUserInfo.vue +611 -611
  457. package/src/components/android/wasm/PhoneSafePlan.vue +39 -39
  458. package/src/components/android/wasm/TestData.js +448 -448
  459. package/src/components/android/wasm/comp.js +33 -33
  460. package/src/components/attendance/DailyAttendance.vue +99 -99
  461. package/src/components/attendance/MonthlyAttendance.vue +194 -194
  462. package/src/components/callincheck/CallInCheckMain.vue +146 -146
  463. package/src/components/callincheck/CallInPlan.vue +148 -148
  464. package/src/components/callincheck/UserFileList.vue +155 -155
  465. package/src/components/checkAreaClassification.vue +285 -285
  466. package/src/components/checkerphonestate/Checker.vue +32 -32
  467. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  468. package/src/components/checkplan/CheckDetail.vue +205 -205
  469. package/src/components/checkplan/CheckPlan.vue +59 -59
  470. package/src/components/checkplan/SelectCheckPlan.vue +224 -224
  471. package/src/components/checkplan/SelectMessage.vue +105 -105
  472. package/src/components/checkplan/checkmsg.vue +459 -459
  473. package/src/components/checkplan/checkmsgZG.vue +519 -519
  474. package/src/components/cockpit/Splash.vue +85 -85
  475. package/src/components/cockpit/SplashDetail.vue +66 -66
  476. package/src/components/createcheckplan/CreatePlan.vue +1052 -1052
  477. package/src/components/createcheckplan/CreatePlanWuan.vue +1024 -1024
  478. package/src/components/createcheckplan/DelPlanRepeat.vue +318 -318
  479. package/src/components/createcheckplan/DistributePlan.vue +62 -62
  480. package/src/components/createcheckplan/PlanList.vue +433 -433
  481. package/src/components/createcheckplan/PlanUersList.vue +137 -137
  482. package/src/components/defect/DefectDetail.vue +177 -177
  483. package/src/components/defect/DefectDetailWeixiu.vue +177 -177
  484. package/src/components/defect/DefectList.vue +489 -489
  485. package/src/components/defect/DefectListWeixiu.vue +479 -479
  486. package/src/components/defect/DefectMain.vue +63 -63
  487. package/src/components/defect/DefectMainWeixiu.vue +63 -63
  488. package/src/components/defect/DefectPaper.vue +874 -874
  489. package/src/components/defect/DefectPaperWeiXiu.vue +655 -655
  490. package/src/components/defect/ImageViewer.vue +350 -350
  491. package/src/components/defect/ImgButton.vue +118 -118
  492. package/src/components/defect/ImgsButton.vue +62 -62
  493. package/src/components/defects/AddDefectModal.vue +120 -120
  494. package/src/components/defects/AddDevice.vue +95 -95
  495. package/src/components/defects/CheckPaperItem.vue +92 -92
  496. package/src/components/defects/CheckPaperItems.vue +89 -89
  497. package/src/components/defects/CheckPaperSearch.vue +349 -349
  498. package/src/components/defects/CheckPaperSearchMain.vue +55 -55
  499. package/src/components/defects/DefectCondition.vue +180 -180
  500. package/src/components/defects/DefectModal.vue +101 -101
  501. package/src/components/defects/DefectSeting.vue +98 -98
  502. package/src/components/defects/DefectsQuery.vue +190 -190
  503. package/src/components/defects/DevicesAndItem.vue +39 -39
  504. package/src/components/defects/DevicesSeting.vue +106 -106
  505. package/src/components/equipment/BoilerUsage.vue +105 -105
  506. package/src/components/equipment/CheckRate.vue +324 -324
  507. package/src/components/equipment/CheckerRate.vue +333 -333
  508. package/src/components/equipment/CookerUsage.vue +105 -105
  509. package/src/components/equipment/DeviceUsage.vue +105 -105
  510. package/src/components/equipment/FurnaceUsage.vue +105 -105
  511. package/src/components/equipment/GasMeterUsage.vue +109 -109
  512. package/src/components/equipment/HeaterUsage.vue +105 -105
  513. package/src/components/equipment/MonthCheckRate.vue +340 -340
  514. package/src/components/filialCircle/AddCircleFiliale.vue +114 -114
  515. package/src/components/filialCircle/CircleList.vue +139 -139
  516. package/src/components/filialCircle/CircleManage.vue +69 -69
  517. package/src/components/gasusage/GasUsage.vue +126 -126
  518. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  519. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  520. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  521. package/src/components/inspections/Checked.vue +402 -402
  522. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  523. package/src/components/inspections/InsUploadPage.vue +251 -251
  524. package/src/components/inspections/InspectionList.vue +542 -542
  525. package/src/components/inspections/InspectionLists.vue +544 -544
  526. package/src/components/inspections/InspectionListss.vue +544 -544
  527. package/src/components/inspections/inspectionDevices.vue +986 -986
  528. package/src/components/inspections/inspectionFeedback.vue +720 -720
  529. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  530. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  531. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  532. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  533. package/src/components/issueplan/IssuePlanAction.vue +102 -102
  534. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  535. package/src/components/issueplan/IssuePlanQuery.vue +118 -118
  536. package/src/components/json-editor/SafeJsonEditor.vue +212 -212
  537. package/src/components/json-editor/assets/img/jsoneditor-icons.svg +893 -893
  538. package/src/components/json-editor/assets/jsoneditor-minimalist.js +9750 -9750
  539. package/src/components/json-editor/assets/jsoneditor.css +929 -929
  540. package/src/components/json-editor/assets/jsoneditor.js +36376 -36376
  541. package/src/components/json-editor/example/App.vue +53 -53
  542. package/src/components/json-editor/example/index.html +9 -9
  543. package/src/components/json-editor/example/main.js +10 -10
  544. package/src/components/json-editor/package.json +71 -71
  545. package/src/components/json-editor/vue-json-editor.vue +189 -189
  546. package/src/components/levelplan/AdjustPlan.vue +199 -199
  547. package/src/components/levelplan/CheckerLeft.vue +140 -140
  548. package/src/components/levelplan/CheckerPlanAdjust.vue +304 -304
  549. package/src/components/levelplan/CheckerRight.vue +123 -123
  550. package/src/components/map/AMap.vue +70 -70
  551. package/src/components/map/AMapTrailShow.vue +178 -178
  552. package/src/components/map/AMapTrailShowZk.vue +178 -178
  553. package/src/components/map/FootPrintList.vue +45 -45
  554. package/src/components/map/MapCriteriaData.vue +97 -97
  555. package/src/components/map/checkScreen.vue +727 -727
  556. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  557. package/src/components/metterfiles/MetterFiles.vue +104 -104
  558. package/src/components/metterfiles/MetterfilesAdd.vue +168 -168
  559. package/src/components/metterfiles/MetterfilesChange.vue +162 -162
  560. package/src/components/metterfiles/UserFiles.vue +156 -156
  561. package/src/components/metterfiles/Userfileschange.vue +391 -391
  562. package/src/components/notice/NoticeForm.vue +100 -100
  563. package/src/components/notice/NoticeIssue.vue +20 -20
  564. package/src/components/notice/NoticeQuery.vue +76 -76
  565. package/src/components/paper/PaperList.vue +806 -806
  566. package/src/components/paper/PaperVerify.vue +256 -256
  567. package/src/components/paper/PicViewer.vue +18 -18
  568. package/src/components/paper/PlanChooser.vue +159 -159
  569. package/src/components/paper/RepairVerify.vue +139 -139
  570. package/src/components/paper/RepairVerifyForm.vue +76 -76
  571. package/src/components/paper/VerifyForm.vue +107 -107
  572. package/src/components/paper/filialeCheckInfo.vue +111 -111
  573. package/src/components/pc/AnnouncementPC.vue +524 -524
  574. package/src/components/pc/CheckBook.vue +67 -67
  575. package/src/components/pc/CheckBookList.vue +586 -586
  576. package/src/components/pc/CheckBookManage.vue +998 -998
  577. package/src/components/pc/CheckBookUser.vue +77 -77
  578. package/src/components/pc/DeviceChange.vue +1068 -1068
  579. package/src/components/pc/HiddenChart.vue +494 -494
  580. package/src/components/pc/NewCheckpaper.vue +1333 -1333
  581. package/src/components/pc/PaperChazhiMain.vue +570 -570
  582. package/src/components/pc/PaperDefectMain.vue +584 -584
  583. package/src/components/pc/RoleSelector.vue +125 -125
  584. package/src/components/phonestate/DailyTraffic.vue +57 -57
  585. package/src/components/phonestate/FootprintMap.vue +129 -129
  586. package/src/components/phonestate/LastKnownState.vue +74 -74
  587. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  588. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  589. package/src/components/phonestate/PostMap.vue +82 -82
  590. package/src/components/plancheck/CheckPlanAreaManage.vue +116 -116
  591. package/src/components/plancheck/CheckPlanList.vue +282 -282
  592. package/src/components/planmanage/PlanManage.vue +782 -782
  593. package/src/components/planmanage/checkPlanList.vue +341 -341
  594. package/src/components/planmanage/checkUserList.vue +728 -728
  595. package/src/components/querycheckpaper/CheckPaperList.vue +127 -127
  596. package/src/components/querycheckpaper/CheckPaperSearchUser.vue +67 -67
  597. package/src/components/querycheckpaper/CheckSearchUser.vue +1037 -1037
  598. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  599. package/src/components/querycheckpaper/PaperItems.vue +79 -79
  600. package/src/components/querycheckpaper/PaperSearch.vue +126 -126
  601. package/src/components/querycheckpaper/PaperSearchMain.vue +56 -56
  602. package/src/components/querycheckpaper/ShebeiPaperList.vue +121 -121
  603. package/src/components/querycheckpaper/ShebeiPaperSearchUser.vue +67 -67
  604. package/src/components/querycheckpaper/ShebeiSearchUser.vue +690 -690
  605. package/src/components/report/CheckPlanAreaManage.vue +111 -111
  606. package/src/components/report/CheckPlanUserList.vue +217 -217
  607. package/src/components/report/HiddenSituation.vue +210 -210
  608. package/src/components/report/ManageBusSummary.vue +242 -242
  609. package/src/components/report/SafePlanSale.vue +111 -111
  610. package/src/components/report/SafePlanStatistics.vue +118 -118
  611. package/src/components/rongcheng/AddPlanItem.vue +315 -315
  612. package/src/components/rongcheng/AreaPlan.vue +470 -470
  613. package/src/components/rongcheng/AspPaperFeedback.vue +1179 -1179
  614. package/src/components/rongcheng/AspPaperStatem.vue +339 -339
  615. package/src/components/rongcheng/AspiratedAreaPlan.vue +464 -464
  616. package/src/components/rongcheng/AspiratedCurrentCreate.vue +1036 -1036
  617. package/src/components/rongcheng/AspiratedDevices.vue +966 -966
  618. package/src/components/rongcheng/AspiratedOrderV.vue +2376 -2376
  619. package/src/components/rongcheng/AspiratedPaperFeedbackm.vue +1019 -1019
  620. package/src/components/rongcheng/AspiratedPaperMessage.vue +1378 -1378
  621. package/src/components/rongcheng/AspiratedPaperMessageNocivil.vue +1288 -1288
  622. package/src/components/rongcheng/AspiratedUploadPage.vue +293 -293
  623. package/src/components/rongcheng/AspiratedUserInfo.vue +399 -399
  624. package/src/components/rongcheng/CheckCurrentCreate.vue +1046 -1046
  625. package/src/components/rongcheng/CheckPaperList.vue +134 -134
  626. package/src/components/rongcheng/CheckPaperSearchUser.vue +55 -55
  627. package/src/components/rongcheng/CheckPaperSearchUserNo.vue +55 -55
  628. package/src/components/rongcheng/CheckSearchUser.vue +826 -826
  629. package/src/components/rongcheng/CheckSearchUserNo.vue +757 -757
  630. package/src/components/rongcheng/DefectList.vue +560 -560
  631. package/src/components/rongcheng/DefectPaper.vue +638 -638
  632. package/src/components/rongcheng/PaperFeedback.vue +1318 -1318
  633. package/src/components/rongcheng/PaperListAJ.vue +501 -501
  634. package/src/components/rongcheng/PaperListNPAJ.vue +498 -498
  635. package/src/components/rongcheng/PaperListNPSQ.vue +485 -485
  636. package/src/components/rongcheng/PaperListSQ.vue +483 -483
  637. package/src/components/rongcheng/PaperMessage.vue +1186 -1186
  638. package/src/components/rongcheng/PaperMessageNocivil.vue +1211 -1211
  639. package/src/components/rongcheng/PaperStateNoncivilm.vue +366 -366
  640. package/src/components/rongcheng/PaperStatem.vue +343 -343
  641. package/src/components/rongcheng/PhoneDevicesInfo.vue +233 -233
  642. package/src/components/rongcheng/SafecheckDevices.vue +998 -998
  643. package/src/components/rongcheng/SafecheckOrderV.vue +2476 -2476
  644. package/src/components/rongcheng/SafecheckOrderVCli.vue +2594 -2594
  645. package/src/components/rongcheng/SafecheckUserInfo.vue +439 -439
  646. package/src/components/rongcheng/UploadPage.vue +328 -328
  647. package/src/components/rongcheng/checkerplan/SelectCheckPlan.vue +285 -285
  648. package/src/components/rongcheng/report/CheckPlanAreaList.vue +419 -419
  649. package/src/components/rongcheng/report/CheckPlanUserList.vue +228 -228
  650. package/src/components/safecheck/common/TabButton.vue +157 -157
  651. package/src/components/safecheck/common/Tabs.vue +67 -67
  652. package/src/components/safecheck/queryManage/CheckBookAll.vue +71 -71
  653. package/src/components/safecheck/queryManage/SafeCheckManage.vue +88 -88
  654. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  655. package/src/components/sendsingle/onlineChangeMeter.vue +658 -658
  656. package/src/components/sendsingle/onlineoperation.vue +411 -411
  657. package/src/components/sendsingle/onlinequeryuser.vue +363 -363
  658. package/src/components/shaoguan/CheckPlanUserList.vue +119 -119
  659. package/src/components/shaoguan/DefectDetail.vue +177 -177
  660. package/src/components/shaoguan/DefectList.vue +473 -473
  661. package/src/components/shaoguan/DefectMain.vue +53 -53
  662. package/src/components/shaoguan/DefectPaper.vue +217 -217
  663. package/src/components/shaoguan/PaperList.vue +533 -533
  664. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  665. package/src/components/task/RepairAnnual.vue +79 -79
  666. package/src/components/task/RepairAnnualDetail.vue +49 -49
  667. package/src/components/task/RepairMonthly.vue +91 -91
  668. package/src/components/task/TaskAnnual.vue +77 -77
  669. package/src/components/task/TaskAnnualDetail.vue +47 -47
  670. package/src/components/task/TaskMonthly.vue +89 -89
  671. package/src/components/tongcheng/AreaPlan.vue +458 -458
  672. package/src/components/tongcheng/CurrentCreate.vue +625 -625
  673. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  674. package/src/components/tongcheng/PaperMessage.vue +1270 -1270
  675. package/src/components/tongcheng/PaperMessageNocivil.vue +1228 -1228
  676. package/src/components/tongcheng/PaperSet.vue +1958 -1958
  677. package/src/components/tongcheng/PaperUser.vue +533 -533
  678. package/src/components/userfile/InfoModifyModal.vue +122 -122
  679. package/src/components/userfile/MeterFile.vue +145 -145
  680. package/src/components/userfile/MeterModify.vue +46 -46
  681. package/src/components/userfile/UserFile.vue +118 -118
  682. package/src/components/userfile/UserInfoAudit.vue +252 -252
  683. package/src/components/userfile/UserfileChange.vue +277 -277
  684. package/src/components/userfile/UserinfoModify.vue +117 -117
  685. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  686. package/src/components/userfileaudit/UserFileaudit.vue +81 -81
  687. package/src/components/userfileaudit/UserfileChangeaudit.vue +239 -239
  688. package/src/expandcss.less +571 -571
  689. package/src/expandcssAndroid.less +520 -520
  690. package/src/filiale/ALshan/pc/CheckSearchUser.vue +927 -927
  691. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +473 -473
  692. package/src/filiale/ALshan/pc.js +15 -15
  693. package/src/filiale/Util.js +325 -325
  694. package/src/filiale/huatong/android/SafecheckDevices.vue +928 -928
  695. package/src/filiale/huatong/android/SafecheckOrderV.vue +2398 -2398
  696. package/src/filiale/huatong/android.js +14 -14
  697. package/src/filiale/huatong/pc.js +13 -13
  698. package/src/filiale/liaoyuan/android/SafecheckDevices.vue +928 -928
  699. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2383 -2383
  700. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +550 -550
  701. package/src/filiale/liaoyuan/android.js +14 -14
  702. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +483 -483
  703. package/src/filiale/liaoyuan/pc/DefectPaperWeiXiu.vue +975 -975
  704. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  705. package/src/filiale/liaoyuan/pc/PaperList.vue +657 -657
  706. package/src/filiale/liaoyuan/pc.js +15 -15
  707. package/src/filiale/lixian/android/SafecheckDevices.vue +1022 -1022
  708. package/src/filiale/lixian/android/SafecheckOrderV.vue +2403 -2403
  709. package/src/filiale/lixian/android/SafecheckUserInfo.vue +586 -586
  710. package/src/filiale/lixian/android.js +14 -14
  711. package/src/filiale/lixian/pc/CheckPlanAreaList.vue +461 -461
  712. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  713. package/src/filiale/lixian/pc/PaperChazhiMain.vue +607 -607
  714. package/src/filiale/lixian/pc/PaperDefectMain.vue +617 -617
  715. package/src/filiale/lixian/pc/PaperList.vue +686 -686
  716. package/src/filiale/lixian/pc.js +22 -22
  717. package/src/filiale/rongchuang/pc/checkUserList.vue +594 -594
  718. package/src/filiale/rongchuang/pc.js +13 -13
  719. package/src/filiale/shimen/android/CurrentCreate.vue +979 -979
  720. package/src/filiale/shimen/android/PaperFeedback.vue +1341 -1341
  721. package/src/filiale/shimen/android/PhoneSellInfo.vue +88 -88
  722. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  723. package/src/filiale/shimen/android.js +12 -12
  724. package/src/filiale/shimen/pc/CheckPlanAreaList.vue +463 -463
  725. package/src/filiale/shimen/pc/CheckSearchUser.vue +927 -927
  726. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  727. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  728. package/src/filiale/shimen/pc/PaperDefectMain.vue +656 -656
  729. package/src/filiale/shimen/pc/PaperList.vue +613 -613
  730. package/src/filiale/shimen/pc/checkmsg.vue +248 -248
  731. package/src/filiale/shimen/pc.js +21 -21
  732. package/src/filiale/tongchuan/android/PaperFeedback.vue +1350 -1350
  733. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1112 -1112
  734. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +2575 -2575
  735. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +640 -640
  736. package/src/filiale/tongchuan/android/UploadPage.vue +285 -285
  737. package/src/filiale/tongchuan/android.js +13 -13
  738. package/src/filiale/tongchuan/pc/CheckPlanUserList.vue +245 -245
  739. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +956 -956
  740. package/src/filiale/tongchuan/pc/DefectPaper.vue +764 -764
  741. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +509 -509
  742. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +1267 -1267
  743. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +634 -634
  744. package/src/filiale/tongchuan/pc/PaperList.vue +677 -677
  745. package/src/filiale/tongchuan/pc/checkUserList.vue +593 -593
  746. package/src/filiale/tongchuan/pc.js +21 -21
  747. package/src/filiale/wenxi/android/CurrentCreate.vue +1047 -1047
  748. package/src/filiale/wenxi/android/PaperFeedback.vue +1378 -1378
  749. package/src/filiale/wenxi/android/SafecheckDevices.vue +1053 -1053
  750. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2472 -2472
  751. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +584 -584
  752. package/src/filiale/wenxi/android/UploadPage.vue +285 -285
  753. package/src/filiale/wenxi/android.js +14 -14
  754. package/src/filiale/wenxi/pc/DefectPaper.vue +662 -662
  755. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1169 -1169
  756. package/src/filiale/wenxi/pc/PaperDefectMain.vue +634 -634
  757. package/src/filiale/wenxi/pc/PaperList.vue +860 -860
  758. package/src/filiale/wenxi/pc/checkmsg.vue +302 -302
  759. package/src/filiale/wenxi/pc.js +16 -16
  760. package/src/filiale/wuan/android/AreaPlan.vue +513 -513
  761. package/src/filiale/wuan/android/CurrentCreate.vue +985 -985
  762. package/src/filiale/wuan/android/CurrentCreateSheBei.vue +999 -999
  763. package/src/filiale/wuan/android/SafecheckDevices.vue +1150 -1150
  764. package/src/filiale/wuan/android/SafecheckOrderV.vue +2237 -2237
  765. package/src/filiale/wuan/android/SafecheckUserInfo.vue +571 -571
  766. package/src/filiale/wuan/android.js +17 -17
  767. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  768. package/src/filiale/wuan/pc/DefectPaperWeiXiu.vue +514 -514
  769. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  770. package/src/filiale/wuan/pc/PaperList.vue +628 -628
  771. package/src/filiale/wuan/pc.js +19 -19
  772. package/src/filiale/wuhai/android/AreaPlan.vue +529 -529
  773. package/src/filiale/wuhai/android/PaperFeedback.vue +1350 -1350
  774. package/src/filiale/wuhai/android.js +12 -12
  775. package/src/filiale/wuhai/pc/checkUserList.vue +594 -594
  776. package/src/filiale/wuhai/pc.js +13 -13
  777. package/src/filiale/zhongsheng/android/PaperFeedback.vue +1341 -1341
  778. package/src/filiale/zhongsheng/android/PhoneUpUserinfo.vue +926 -926
  779. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2447 -2447
  780. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +591 -591
  781. package/src/filiale/zhongsheng/android.js +17 -17
  782. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  783. package/src/filiale/zhongsheng/pc/DefectPaperWeiXiu.vue +511 -511
  784. package/src/filiale/zhongsheng/pc/InfoModifyModal.vue +123 -123
  785. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1308 -1308
  786. package/src/filiale/zhongsheng/pc/UserInfoAudit.vue +252 -252
  787. package/src/filiale/zhongsheng/pc/UserinfoModify.vue +121 -121
  788. package/src/filiale/zhongsheng/pc.js +15 -15
  789. package/src/filiale/zhoukou/android/AndroidDefectDeal.vue +408 -408
  790. package/src/filiale/zhoukou/android/AreaPlan.vue +543 -543
  791. package/src/filiale/zhoukou/android/CurrentCreate.vue +1014 -1014
  792. package/src/filiale/zhoukou/android/PaperFeedback.vue +1367 -1367
  793. package/src/filiale/zhoukou/android/PhoneUpUserinfo.vue +957 -957
  794. package/src/filiale/zhoukou/android/SafecheckDevices.vue +1174 -1174
  795. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  796. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  797. package/src/filiale/zhoukou/android/UploadPage.vue +301 -301
  798. package/src/filiale/zhoukou/android.js +18 -18
  799. package/src/filiale/zhoukou/pc/CheckSearchUser.vue +923 -923
  800. package/src/filiale/zhoukou/pc/PaperDefectMain.vue +531 -531
  801. package/src/filiale/zhoukou/pc.js +15 -15
  802. package/src/index.js +17 -17
  803. package/src/main.js +33 -33
  804. package/src/plugins/EmojiData.js +514 -514
  805. package/src/plugins/GerJsonConfig.js +59 -59
  806. package/src/plugins/GerJsonObjectConfig.js +44 -44
  807. package/src/plugins/LoadData.js +10 -10
  808. package/src/plugins/LoadParams.js +24 -24
  809. package/src/plugins/LocalPagedList.js +108 -108
  810. package/src/plugins/LocalPathList.js +109 -109
  811. package/src/rongcheng-android.js +193 -193
  812. package/src/rongcheng.js +304 -304
  813. package/src/safecheck-android.js +225 -225
  814. package/src/safecheck.js +723 -723
  815. package/src/shaoguan-android.js +176 -176
  816. package/src/shaoguan.js +276 -276
  817. package/src/stores/AppData.js +46 -46
  818. package/src/stores/wxconfig.js +10 -10
  819. package/src/tongchengsafe-android.js +162 -162
  820. package/src/tongchengsafecheck.js +267 -267
  821. package/src/utils/GerJsonObjectConfig.js +51 -51
  822. package/src/utils/LdapHelper.js +99 -99
  823. package/src/utils/getNowDate.js +33 -33
  824. package/test/SearchList.test.js +14 -14
  825. package/test/e2e/custom-assertions/elementCount.js +26 -26
  826. package/test/e2e/nightwatch.conf.js +40 -40
  827. package/test/e2e/runner.js +30 -30
  828. package/test/e2e/specs/test.js +13 -13
  829. package/test/unit/.eslintrc +5 -5
  830. package/test/unit/TestUtil.js +62 -62
  831. package/test/unit/context.html +20 -20
  832. package/test/unit/index.js +13 -13
  833. package/test/unit/init.js +11 -11
  834. package/test/unit/karma.conf.js +53 -53
  835. package/test/unit/specs/Devices.spec.js +18 -18
  836. package/test/unit/specs/getArrobjconfig.spec.js +104 -104
  837. package/test/unit/specs/getobjconfig.spec.js +37 -37
  838. package/test/unit/specs/phonetest/phonesafecheck.spec.js +23 -23
  839. package/test/unit/specs/safePlanItem.spec.js +30 -30
  840. package/test/unit/specs/safecheck-android.spec.js +7 -7
  841. package/test/unit/specs/safecheck.spec.js +127 -127
  842. package/yarn-error.log +140 -140
@@ -1,1545 +1,1545 @@
1
- import {SearchList, date} from 'vue-client'
2
- import {PagedList} from 'vue-client'
3
- import {HttpResetClass,trans} from 'vue-client'
4
- import Vue from "vue"
5
- import ObjConfig from '../../src/plugins/GerJsonObjectConfig'
6
-
7
- export default class Comp {
8
-
9
-
10
- needconfig= {}
11
- isSend=true
12
- // 用户安检信息列表
13
- user = new SearchList(true)
14
- //遍历的按钮
15
- listbutton=[]
16
- fdevices=[]
17
- // 安检计划列表
18
- checkplan = new SearchList(true)
19
- // 安检计划的安检单列表
20
- checkplanitems = new SearchList(true)
21
- //按钮隐藏判断
22
- suppplanitem={}
23
- orderList= ['按时间降序', '按时间升序']//排序下拉框的值
24
- currentorder='按时间降序'//排序下拉框当前选中的值
25
- // 新增安检计划时保存的数据
26
- newPlan = {f_issued:"否",f_safecheck_type:""}
27
- http = new HttpResetClass()
28
- //查询计划弹框中是否共享选项
29
- isAndNot = ["是", "否"]
30
- //是否开启共享计划
31
- disableIssude=false
32
- //是否显示添加用户删除用户按钮
33
- disableButton=false
34
-
35
- //用户类型
36
- userType=["民用","非民用"]
37
- listbuttona=[]
38
- listbuttonb=[]
39
- listbuttonc=[]
40
- listbuttond=[]
41
- //安检计划查询中的是否是共享计划单选的当前选中值
42
- sIsAndNotSelect=''
43
- //用户列表的自选查询条件的值
44
- userCondition=["请选择条件","用户类型","地址"]
45
- //当前选中的下拉值
46
- userConditionSelect="请选择条件"
47
- //当前输入的值
48
- userConditionValue=""
49
- //计划项列表自选查询条件的值
50
- planItemCondition=["请选择条件","用户编号","用户名称"]
51
- //
52
- planItemConditional={}
53
- //入户状态
54
- userState=["到访不遇","拒检","入户"]
55
- //燃气使用
56
- gasUse=["已使用","未使用"]
57
- //当前选中的下拉值
58
- planItemConditionSelect="请选择条件"
59
- //当前输入的值
60
- planItemConditionValue=""
61
- sudeState=['全部','是','否']
62
- issude=''
63
- //safecheckTypeList=Vue.$appdata.getParam("安检类型")
64
- safecheckTypeList=[]
65
- //片区列表
66
- sliceArea=[]
67
- //抄表册
68
- cbc=[]
69
- //保存当前公司所有抄表册
70
- meterbooks=[]
71
- //分公司列表
72
- orgs=[]
73
- //安检员列表
74
- checker=[]
75
- checkersname=[]
76
- //新建计划时保存是否共享计划的值,
77
- isShare="否"
78
- //安检类型
79
- safecheckList=[]
80
- //时间单位
81
- unitTime=["天","月"]
82
- selectTime="天"
83
- startday=""
84
- endday=""
85
- str=[]
86
- //用气性质
87
- gasproperties=[]
88
- //当前打开的安检计划id
89
- SelectedPlan=""
90
- //燃气表增添项
91
- //excel导入组件显示控制
92
- showModel=false
93
- gasexpress=[{"lname":"燃气表照片","type":"picture"},
94
- {"lname":"表品牌","type":"string","readonly":true},
95
- {"lname":"表号","type":"string","readonly":true},
96
- {"lname":"表封号","type":"number","readonly":true},
97
- {"lname":"表型号","type":"string","readonly":true},
98
- {"lname":"位置","type":"string","readonly":true},
99
- {"lname":"表底数","type":"number","readonly":true},
100
- {"lname":"左右表","type":"string","readonly":true}]
101
- //当前分公司id
102
- filialeid=global.login.orgid
103
- filialeidname=global.login.orgs
104
-
105
- //filialeid=287
106
- //filialeidname="梁平区聚源天然气有限公司"
107
- yearCheckList=['全部','已在计划中','未在计划中']
108
- yChecked=""
109
- //用户列表查询条件json
110
- conditionJson=[
111
- {column:"f_residential_area",checkname:"小区名称",type:"input"},
112
- {column:"f_building",checkname:"楼栋号码",type:"input"},
113
- {column:"f_unit",checkname:"单元号码",type:"input"},
114
- {column:"userType",checkname:"用户类型",type:"selector",options:['民用','非民用']},
115
- {column:"f_user_state",checkname:"用户状态",type:"selector",options:['正常','停用','待审核','销户']},
116
- {column:"user_start",checkname:"开户起始",type:"date"},
117
- {column:"user_end",checkname:"开户结束",type:"date"},
118
- {column:"check_start",checkname:"安检起始",type:"date"},
119
- {column:"check_end",checkname:"安检结束",type:"date"},
120
- {column:"f_metertitles",checkname:"表箱号",type:"input"},
121
- {column:"f_gasproperties",checkname:"用气性质",type:"selector",options:this.gasproperties}
122
- //{column:"f_backlist",checkname:"是否拉黑",type:"selector",options:['是','否']}
123
- ]
124
- /* conditionList=[
125
- {selectitem:{column:"f_user_state",checkname:"用户状态",type:"selector",options:['正常','停用','待审核','销户']},selectValue:'正常',num:0},
126
- {selectitem:{column:"f_metertitles",checkname:"表箱号",type:"input"},selectValue:'',num:1},
127
- {selectitem:{column:"f_gasproperties",checkname:"用气性质",type:"selector",options:this.gasproperties},selectValue:'',num:2},
128
- //{selectitem:{column:"f_backlist",checkname:"是否拉黑",type:"selector",options:['是','否']},selectValue:'',num:3},
129
- {selectitem:{column:"user_start",checkname:"开户起始",type:"date"},selectValue:'',num:3},
130
- {selectitem:{column:"user_end",checkname:"开户结束",type:"date"},selectValue:'',num:4},
131
- {selectitem:{column:"check_start",checkname:"安检起始",type:"date"},selectValue:'',num:5},
132
- {selectitem:{column:"check_end",checkname:"安检结束",type:"date"},selectValue:'',num:6}
133
- ]*/
134
- conditionList=[
135
- {selectitem:{column:"f_user_state",checkname:"用户状态",type:"selector",options:['正常','停用','待审核','销户']},selectValue:'',num:0},
136
- {selectitem:{column:"f_metertitles",checkname:"表箱号",type:"input"},selectValue:'',num:1},
137
- {selectitem:{column:"f_gasproperties",checkname:"用气性质",type:"selector",options:this.gasproperties},selectValue:'',num:2},
138
- //{selectitem:{column:"f_backlist",checkname:"是否拉黑",type:"selector",options:['是','否']},selectValue:'',num:3},
139
- {selectitem:{column:"user_start",checkname:"开户起始",type:"date"},selectValue:'',num:3},
140
- {selectitem:{column:"user_end",checkname:"开户结束",type:"date"},selectValue:'',num:4},
141
- {selectitem:{column:"check_start",checkname:"安检起始",type:"date"},selectValue:'',num:5},
142
- {selectitem:{column:"check_end",checkname:"安检结束",type:"date"},selectValue:'',num:6}
143
- ]
144
- //安检项列表查询条件
145
- planitemconditionJson=[
146
- {column:"f_last_check_state",checkname:"安检状态",type:"selector",options:['入户','拒检','到访不遇','未使用']},
147
- {column:"f_start_time",checkname:"开始时间",type:"date"},
148
- {column:"f_end_time",checkname:"结束时间",type:"date"},
149
- {column:"f_last_check_result",checkname:"隐患状态",type:"selector",options:['正常','有隐患']},
150
- {column:"f_user_state",checkname:"用户状态",type:"selector",options:['正常','停用','待审核','销户']},
151
- {column:"f_state1",checkname:"安检结果",type:"selector",options:['已检','未检']}
152
- ]
153
- planitemconditionList=[
154
- {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:0},
155
- {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:1},
156
- {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:2}
157
- ]
158
- //下拉框条件改变json数组
159
- conditionListChange(modelname,ind,key,value,f){
160
- console.log("------------"+ind+"-------------")
161
- this[modelname][ind]["num"]=ind
162
- this[modelname][ind][key]=value
163
- f()
164
- }
165
- //添加选择条件下拉框事件
166
-
167
- addconditionList(field,f){
168
- this[field].push({selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:this.conditionList.length})
169
- f()
170
- }
171
- //删除选择条件下拉框事件
172
- deletecondition(field,modelname,index,f){
173
- //如果有这个属性,说明已经选择过,去清空条件数组里的值
174
- if(this[field][index].selectitem.column){
175
- this.setProperty(modelname,this[field][index].selectitem.column,"")
176
- }
177
- this[field].splice(index,1)
178
-
179
- for (let i =0 ;i<this[field].length;i++){
180
- this.conditionList[i].num=i
181
- }
182
- f()
183
- }
184
- async ready() {
185
- await this.getOrgs()
186
- // 加载所有安检计划
187
- await this.checkplan.searchList("/rs/sql/预约计划下发", {},{groupitem:"",f_filialeids:"("+this.filialeid+")",orderitem:"f_create_time desc"})
188
- // this.getAreaList()
189
- //加载安检员名单
190
- console.log("-----------------")
191
- console.log(Vue.$appdata)
192
- console.log("当前加载到的信息:"+JSON.stringify(global.login))
193
- this.disableIssude=Vue.$appdata.getSingleValue('共享计划')
194
- this.disableButton=Vue.$appdata.getSingleValue('派发按钮')
195
- this.formatArrayFun('gasproperties',Vue.$appdata.getParam('用气性质'))
196
- this.formatArrayFun('safecheckTypeList',Vue.$appdata.getParam('安检类型'))
197
- this.formatArrayFun('safecheckList',Vue.$appdata.getParam('安检类型'))
198
- this.searchChecker(global.login.id)
199
- /*this.setProperty('checkplan','safechecktype','年度普检')*/
200
- await this.Mreadibook()
201
- await this.getSliceArea()
202
- }
203
- //补录功能组装数据
204
- zzsj(){
205
- let deviceconfig=ObjConfig.getObjConfig(this.needconfig.safecheck.DevicesConfig)
206
- console.log("=============ZZSJ1>"+JSON.stringify(deviceconfig))
207
- for (let i = 0; i < deviceconfig.length; i++) {
208
- console.log("==============>"+JSON.stringify(deviceconfig[i]))
209
- console.log("==============>"+JSON.stringify(deviceconfig[i].index))
210
- this.str[deviceconfig[i].index-1]=deviceconfig[i]
211
- console.log("===========ZZSJ2>"+JSON.stringify(this.str[deviceconfig[i].index]))
212
- }
213
- }
214
- readConfig () {
215
- let http = new HttpResetClass()
216
- http.load('GET', `/phone/rs/vue`, {}, {resolveMsg: null, rejectMsg: null}).then(res => {
217
- this.needconfig = res.data
218
- console.log("请求得到的数据"+JSON.stringify(this.needconfig))
219
- let aa=this.needconfig.safecheck.DevicesConfig
220
- this.zzsj()
221
- })
222
-
223
- }
224
- //当前页面属性发生改变事件
225
- fieldChange(modelname,value,f){
226
- console.log("-------fieldChange"+value)
227
- if(modelname=="user" || modelname=="checkplan" || modelname=="checkplanitems"){
228
- this.setProperty(modelname,"checkername",value.name)
229
- this.setProperty(modelname,"checkerid",value.id)
230
- f()
231
- return
232
- }
233
- if(modelname=="createPlan"){
234
- this.newPlan.f_checker_id=value.id
235
- this.newPlan.f_checker=value.name
236
- f()
237
- return
238
- }
239
- if(modelname=="upPlan"){
240
- this.plan.f_checker= value.name
241
- this.plan.f_checker_id=value.id
242
- f()
243
- return
244
- }
245
- if(value=='全部'){
246
- this[modelname]=''
247
- }else{
248
- this[modelname]=value
249
- }
250
- f()
251
- }
252
- async orgChange(value,f){
253
- console.log("----orgChange"+JSON.stringify(value))
254
- if(value.value==this.filialeid){
255
- f()
256
- return
257
- }
258
- this.filialeid=value.value
259
- this.filialeidname=value.label
260
- this.user = new SearchList(true)
261
- this.checkplanitems = new SearchList(true)
262
- this.searchChecker(global.login.id)
263
- await this.Mreadibook()
264
- await this.getSliceArea()
265
- await this.checkplan.searchList("/rs/sql/预约计划下发", {},{groupitem:"",f_filialeids:"("+this.filialeid+")",orderitem:"f_create_time desc"})
266
- f()
267
- }
268
- //json下拉改变时间
269
- selectChanged(modelname,key,valuename,value,f){
270
- console.log('value[valuename]'+modelname+key+valuename+'----'+JSON.stringify(value))
271
- if(value.label=='全部' || !value){
272
- this[modelname].search.setField(key, '')
273
- this[modelname].search.setField(key+'name', '全部')
274
- }else{
275
- console.log("value[valuename]"+value[valuename])
276
- this[modelname].search.setField(key, value.value)
277
- this[modelname].search.setField(key+'name', value.label)
278
- }
279
- f()
280
- }
281
- jointCondition1(field,modelname){
282
- for (let i =0 ;i<this[field].length;i++){
283
- if(!this[field][i].selectValue){
284
- continue
285
- }
286
- console.log("this[field][i].column:"+this[field][i].column+"---"+"this[field][i].selectValue"+this[field][i].selectValue)
287
- this.setProperty(modelname,this[field][i].selectitem.column,this[field][i].selectValue)
288
- }
289
- }
290
- //根据选择框内容设置属性值
291
- jointCondition(modelname){
292
-
293
- if(modelname="user"){
294
- this.setProperty("user","usertype","")
295
- this.setProperty("user","address","")
296
- switch(this.userConditionSelect){
297
- case "用户类型":
298
- this.setProperty("user","usertype",this.userConditionValue)
299
- break;
300
- case "地址":
301
- this.setProperty("user","address",this.userConditionValue)
302
- break;
303
- }
304
- }
305
- if(modelname="checkplanitems"){
306
- this.setProperty("checkplanitems","usercode","")
307
- this.setProperty("checkplanitems","username","")
308
- switch(this.planItemConditionSelect){
309
- case "用户编号":
310
- this.setProperty("checkplanitems","usercode",this.planItemConditionValue)
311
- break;
312
- case "用户名称":
313
- this.setProperty("checkplanitems","username",this.planItemConditionValue)
314
- break;
315
- }
316
- }
317
- }
318
-
319
- //是否共享计划单选按钮事件
320
- isAndNotChange(isAndNotselect){
321
- this.sIsAndNotSelect=isAndNotselect
322
- if(this.sIsAndNotSelect=="是"){
323
- this.setProperty("checkplan","isAndNot","is null")
324
- }
325
- if(this.sIsAndNotSelect=="否"){
326
- this.setProperty("checkplan","isAndNot","is not null")
327
- }
328
- }
329
-
330
- //按条件查询所有安检计划
331
- async loadCheckPlan(sortfield,f) {
332
- this.isSend=true
333
- this.checkplan.check.checkes=[]
334
- if(sortfield){//如果传入空串说明是查询 传入非空串就是排序
335
- console.log("进入排序")
336
- if(sortfield==this.currentorder){
337
- this.isSend=false
338
- return
339
- }else{
340
- this.currentorder=sortfield
341
- }
342
- }
343
- let fieldValue=''
344
- switch(this.currentorder){
345
- case "按时间降序":
346
- fieldValue='f_create_time desc'
347
- break
348
- case "按时间升序":
349
- fieldValue='f_create_time'
350
- break
351
- }
352
- console.log("值"+sortfield+"--当前值"+this.currentorder+"---排序值:"+fieldValue)
353
- await this.checkplan.searchList("/rs/sql/预约计划下发",
354
- {"f_plan_name": "f_plan_name like '%{}%'",
355
- "f_plan_year":"f_plan_year={}",
356
- "f_plan_month":"f_plan_month={}",
357
- "checkerid":"f_checker_id={}",
358
- "isAndNot":"f_checker {}",
359
- "safechecktype":"f_safecheck_type='{}'",
360
- "issude":"f_issued = '{}'"
361
- },
362
- {orderitem:fieldValue,
363
- f_filialeids:"("+this.filialeid+")",
364
- groupitem:""
365
- }
366
- )
367
- //调刷新函数????
368
- console.log('调刷新函数????--')
369
- f()
370
- this.isSend=false
371
- }
372
-
373
- // 查询待检用户
374
- async searchUser(f) {
375
- this.isSend=true
376
- this.user.check.checkes=[]
377
- this.jointCondition1("conditionList","user")
378
- let sday=''
379
- let eday=''
380
- if(this.startday.trim()!=''){
381
- if(isNaN(this.startday) || isNaN(this.endday)){
382
- Vue.showMessage("请输入数字!")
383
- return
384
- }
385
- if(this.selectTime=="月"){
386
- sday= this.startday*30
387
- this.endday.trim()!=''?eday= this.endday*30:eday=''
388
- }else{
389
- sday= this.startday
390
- this.endday.trim()!=''?eday= this.endday:eday=''
391
- }
392
- if(eday){
393
- this.setProperty("user","checkTime"," DATEDIFF(dd,ua.f_last_check_date,GETDATE())>="+parseInt(sday,10)+" and DATEDIFF(dd,ua.f_last_check_date,GETDATE())<="+parseInt(eday,10))
394
- }else{
395
- this.setProperty("user","checkTime"," DATEDIFF(dd,ua.f_last_check_date,GETDATE())>="+parseInt(sday,10))
396
- }
397
- }else{
398
- this.setProperty("user","checkTime","")
399
- }
400
- if(this.yChecked=='已在计划中'){
401
- this.setProperty("user","ychecked","ua.f_plan_id is not null")
402
- }else if(this.yChecked=='未在计划中'){
403
- this.setProperty("user","ychecked","ua.f_plan_id is null")
404
- }else{
405
- this.setProperty("user","ychecked","")
406
- }
407
- if(this.user.search.model.f_backlist){
408
- if(this.user.search.model.f_backlist=='是'){
409
- this.setProperty("user","f_backlist"," up.id is not null")
410
- }else if(this.user.search.model.f_backlist=='否'){
411
- this.setProperty("user","f_backlist"," up.id is null")
412
- }else{
413
- this.setProperty("user","f_backlist","")
414
- }
415
- }
416
- this.user.search.setField("f_filialeid",this.filialeid)
417
- await this.user.searchList("/rs/sql/FetchUserFileByOrgNoRuHuSXQ", {
418
- "f_filialeid": "ui.f_filialeid={}",
419
- "userinfocode": "ui.f_userinfo_code='{}'",
420
- "username": "ui.f_user_name like '%{}%'",
421
- "useraddress": "ua.f_address like '%{}%'",
422
- "userType":"uf.f_user_type='{}'",
423
- "f_residential_area":"ua.f_residential_area = '{}'",
424
- "f_building":"ua.f_building='{}'",
425
- "f_unit":"ua.f_unit='{}'",
426
- "f_user_state":"ui.f_user_state='{}'",
427
- "checkTime":" {}",
428
- "meterbook":"uf.f_meter_book_num='{}'",
429
- "user_start":" uf2.f_dateofopening >='{}'",
430
- "user_end":" uf2.f_dateofopening <='{}'",
431
- "check_start":" ua.f_last_check_date >='{}'",
432
- "check_end":" ua.f_last_check_date<= '{}'",
433
- "area":" f_book_slice_area ='{}'",
434
- "ychecked":" {}",
435
- "f_metertitles":" uf2.f_metertitles='{}'",
436
- "f_gasproperties":" uf.f_gasproperties='{}'",
437
- "uploadCondition":" {}",
438
- "f_backlist":" {}"
439
- }, {
440
- "orderitem": 'f_residential_area,f_building,f_unit,f_floor,f_room',
441
- "f_usertype": '',
442
- "month": '',
443
- "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
444
- "SafeCheckCQ": '',
445
- "startday":"",
446
- "endday":""
447
- })
448
- f()
449
- this.isSend=false
450
- }
451
-
452
- //查询安检员selectChanged
453
- async searchChecker(id){
454
- let res=await this.http.load('POST', '/rs/search', {
455
- source: 'tool.getChildrenOfResName($安检员$)',
456
- userid: id
457
- }, {resolveMsg: null, rejectMsg: null})
458
- this.checker=[]
459
- res.data.forEach((resRow) => {
460
- if(resRow.orgid==this.filialeid){
461
- this.checker.push(resRow)
462
- }
463
- })
464
- console.log("安检员列表---"+JSON.stringify(res)+"---id"+this.filialeid)
465
- }
466
-
467
- async searchPlanItems(f) {
468
- await this.checkplanitems.searchList("/rs/sql/planItem", {"f_plan_id": "f_plan_id={}"}, {})
469
- f()
470
- }
471
- //得到更新数据
472
- async getPaper(id,f) {
473
- let res=await this.http.load("POST", "/rs/path/getUserinfomation", {
474
- data:{
475
- condition:"f_check_item_id='"+id+"'"
476
- }
477
- })
478
-
479
-
480
- this.suppplanitem=res.data[0]
481
- if (this.suppplanitem.f_check_type!=null) {
482
- this.suppplanitem["f_user_type"]=this.suppplanitem.f_check_type
483
- }
484
- this.fdevices=[]
485
-
486
- if(this.suppplanitem.f_devices.length!=0){
487
-
488
- for (let i = 0; i <this.str.length ; i++) {
489
- if (this.suppplanitem.f_devices[i]==undefined) {
490
- this.fdevices.push({
491
- f_device_type: this.str[i].checkname,
492
- f_items: []
493
- //id: this.suppplanitem.f_devices[i] == undefined ? "" : this.suppplanitem.f_devices[i].id
494
- })
495
- }else {
496
- this.fdevices.push({
497
- f_device_type: this.str[i].checkname,
498
- f_items: [],
499
- id:this.suppplanitem.f_devices[i].id
500
- })
501
- }
502
- }
503
- }else{for (let i = 0; i <this.str.length ; i++) {
504
-
505
- this.fdevices.push({f_device_type:this.str[i].checkname,f_items:[]})
506
- }}
507
-
508
- this.setFitemvalue()
509
- f()
510
-
511
-
512
-
513
- }
514
-
515
- //补录时改变fdevice
516
- suppfdevice(){
517
- for (let i = 0; i <this.str.length ; i++) {
518
- this.fdevices.push({f_device_type:this.str[i].checkname,f_items:[]})
519
- }
520
- console.log("supp最后的listbutton"+JSON.stringify(this.listbutton))
521
- this.changeListButton()
522
- }
523
- //改变数组的样式
524
- changeListButton(){
525
- let listarray=[]
526
- for (let i = 0; i < this.listbutton.length; i++) {
527
- if (!this.listbutton[i].mname){
528
- console.log("这是"+this.listbutton[i].lname.length)
529
- listarray.push(this.listbutton[i])
530
- listarray.push({"lname":"","type":"","mname":"","selected":"","level":"","isdefect":""})
531
- listarray.push({"lname":"","type":"","mname":"","selected":"","level":"","isdefect":""})
532
- listarray.push({"lname":"","type":"","mname":"","selected":"","level":"","isdefect":""})
533
- let count=0
534
- for (let j = 0; j < this.listbutton.length; j++) {
535
- if(this.listbutton[i].lname.substring(0,this.listbutton[i].lname.length-1)==this.listbutton[j].mname){
536
-
537
- listarray.push(this.listbutton[j])
538
- count++
539
- }
540
- }
541
- if (count%4!=0){
542
- for (let j = 0; j <4-count%4; j++) {
543
- listarray.push({"lname":"","type":"","mname":"","selected":"","level":"","isdefect":""})
544
- }
545
- }
546
- }
547
- }
548
- console.log("需要的数据"+JSON.stringify(listarray))
549
- this.listbutton=listarray
550
- this.tranlistbutton()
551
- }
552
- //横向分开list
553
- tranlistbutton(){
554
- console.log("jinru111111111111")
555
- for (let i = 0; i < this.listbutton.length; i++) {
556
- if((i+1)%4==1){
557
- this.listbuttona.push(this.listbutton[i])
558
- }else if((i+1)%4==2){
559
- this.listbuttonb.push(this.listbutton[i])
560
- }else if((i+1)%4==3){
561
- this.listbuttonc.push(this.listbutton[i])
562
- }else if((i+1)%4==0){
563
- this.listbuttond.push(this.listbutton[i])
564
- }
565
- }
566
- }
567
- SelectedPlanType=''
568
- // 打开安检计划,加载安检计划的所有安检单
569
- async openPlan(plan, f) {
570
- this.isSend=true
571
- this.checkplanitems.check.checkes=[]
572
- this.SelectedPlan=plan.id
573
- this.SelectedPlanType=plan.f_safecheck_type
574
- this.plan=plan
575
- this.checkplanitems.search.setField("f_plan_id", plan.id)
576
- this.checkplanitems.search.setField("f_state", "作废")
577
- await this.checkplanitems.searchList("/rs/sql/planItem", {"f_plan_id": "i.f_plan_id='{}'","f_state": "i.f_state !='{}'"}, {})
578
- f()
579
- //this.checkplanitems.search.model.f_plan_id
580
- this.isSend=false
581
- }
582
-
583
- //根据条件查询某个安检计划下的安检单
584
- async searchPlanItem(f) {
585
- this.checkplanitems.check.checkes=[]
586
- if(this.checkplanitems.search.model.f_plan_id){
587
- this.isSend=true
588
- console.log("进入加载安检计划项"+this.checkplanitems.search.model.f_plan_id)
589
- this.jointCondition1("planitemconditionList","checkplanitems")
590
- await this.checkplanitems.searchList("/rs/sql/planItem",
591
- {"f_plan_id": "i.f_plan_id='{}'",
592
- "usercode": "i.f_userinfo_code='{}'",
593
- "username": "i.f_user_name='{}'",
594
- "f_address": "i.f_address like '%{}%'",
595
- "f_last_check_state": "i.f_last_check_state='{}' ",
596
- "f_start_time": "i.f_last_check_date >='{}'",
597
- "f_end_time": "i.f_last_check_date <='{}'",
598
- "f_last_check_result":"i.f_last_check_result like '%{}%'",
599
- 'f_user_state':"uf.f_userstate='{}'",
600
- "f_state": "i.f_state !='{}'",
601
- "f_state1": "i.f_state ='{}'"
602
- },
603
- {})
604
- f()
605
- this.isSend=false
606
- }else{
607
- Vue.showMessage("请选择安检计划")
608
- }
609
- }
610
- //加载更多数据
611
- async loadMore(modelname,f) {
612
- this.isSend=true
613
- await this[modelname].list.loadMore()
614
- f()
615
- this.isSend=false
616
- }
617
-
618
- //点击全选按钮事件 user-用户列表 planitem-计划项列表
619
- changeCheckAll(modulename, f) {
620
- this[modulename].check.setCheckAll()
621
- f()
622
- }
623
-
624
- //当选中列表中某项时触发
625
- addParam(modulename, id) {
626
- console.log("当前值"+modulename+"--------"+id)
627
- this[modulename].check.setCheckes(id)
628
- }
629
-
630
- //设置属性值
631
- setProperty(modulename, property, value,f) {
632
-
633
- console.log(modulename+"新添--"+property+"--"+value)
634
- if(property=='area'){
635
- this.selectChanged("user","meterbook","","",f)
636
- if(value=='全部'){
637
- this[modulename].search.setField(property, '')
638
- this.cbc=[]
639
- this.meterbooks.forEach((res) => {
640
- this.cbc.push({label: res.f_book_name, value: res.id})
641
- /*if(res.f_book_slice_area){
642
- if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
643
- this.sliceArea.push(res.f_book_slice_area)
644
- }
645
- }*/
646
- })
647
- f()
648
- return
649
- }
650
- this[modulename].search.setField(property, value)
651
- this.cbc=[]
652
- this.meterbooks.forEach((res) => {
653
- if(res.f_book_slice_area==value){
654
- this.cbc.push({label: res.f_book_name, value: res.id})
655
- }
656
-
657
- /*if(res.f_book_slice_area){
658
- if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
659
- this.sliceArea.push(res.f_book_slice_area)
660
- }
661
- }*/
662
- })
663
- f()
664
- }else if(value=='全部'){
665
- this[modulename].search.setField(property, '')
666
- }else{
667
- this[modulename].search.setField(property, value)
668
- }
669
- }
670
-
671
- //列表中的选择框是否被选中
672
- hasValue(modulename,value){
673
- this[modulename].check.checks.has()
674
- }
675
- // 给新建安检计划设置属性值
676
- setNewPlan(property, value) {
677
- console.log(value)
678
- this.newPlan[property] = value
679
- return this
680
- }
681
- //将某项拖动到计划中
682
- //dragParam:从拖动的起始位置传入的参数
683
- async dragtoPlan(f_plan_id,f_safecheck_type,f_filialeid,dragParam,f){
684
- console.log("当前传入:"+dragParam)
685
- await this.dragtoPlanItem(f_plan_id,f_safecheck_type,dragParam,f)
686
- await this.dragtoOtherPlanIteem(f_plan_id,dragParam,f)
687
- }
688
-
689
- //将客户信息拖至计划中
690
- async dragtoPlanItem(f_plan_id,f_safecheck_type,dragParam,f) {
691
-
692
- console.log("计划id:"+f_plan_id+"公司id:"+this.filialeid)
693
- if(dragParam=='user'){
694
- this.jointCondition("user")
695
- if(this.checkplanitems.search.model.f_plan_id){
696
- this.isSend=true
697
- let res=await this.http.load("POST", "/rs/logic/AddCheckPlanItem", {
698
- data:{
699
- f_operator:global.login.name,
700
- f_plan_id:f_plan_id,
701
- f_safecheck_type:f_safecheck_type,
702
- f_filialeid:this.filialeid,
703
- f_subscribe_date:'',
704
- condition:this.user.search.search({
705
- "f_filialeid": "ui.f_filialeid={}",
706
- "userinfocode": "ui.f_userinfo_code='{}'",
707
- "username": "ui.f_user_name like '%{}%'",
708
- "useraddress": "ua.f_address like '%{}%'",
709
- "userType":"uf.f_user_type='{}'",
710
- "f_residential_area":"ua.f_residential_area = '{}'",
711
- "f_building":"ua.f_building='{}'",
712
- "f_unit":"ua.f_unit='{}'",
713
- "f_user_state":"ui.f_user_state='{}'",
714
- "checkTime":" {}",
715
- "meterbook":"uf.f_meter_book_num='{}'",
716
- "user_start":" uf2.f_dateofopening >='{}'",
717
- "user_end":" uf2.f_dateofopening <='{}'",
718
- "check_start":" ua.f_last_check_date >='{}'",
719
- "check_end":" ua.f_last_check_date<= '{}'",
720
- "area":" ua.f_slice_area='{}'",
721
- "ychecked":" {}",
722
- "f_metertitles":" uf2.f_metertitles='{}'",
723
- "f_gasproperties":" uf.f_gasproperties='{}'",
724
- "uploadCondition":" {}",
725
- "f_backlist":" {}"
726
- }),
727
- switchCheckAll:this.user.check.switchCheckAll,
728
- checkAll:this.user.check.checkAll,
729
- param:this.user.check.checkes,
730
- columnName: "ua.id"
731
- }
732
- }, {resolveMsg: null, rejectMsg: null})
733
- console.log("重复数量-"+JSON.stringify(res.data.result)+"---"+res.data.result.length)
734
- if(res.data.code==200){
735
- //alert("添加成功!有"+res.data.result.length+"条用户地址已经存在于其他计划中: \n"+res.data.result.reduce((c,v)=>{c += v.f_user_name+":"+v.f_address+"\n"}),0)
736
- Vue.showMessage("添加成功!"+(res.data.result.length>0?"有"+res.data.result.length+"条用户地址已经存在于其他计划中":""))
737
- }else{
738
- Vue.showMessage("添加失败!")
739
- }
740
- this.user.check.checkes=[]
741
- await this.searchUser(()=>{})
742
- await this.searchPlanItem(()=>{})
743
- await this.loadCheckPlan("",()=>{})
744
- f()
745
- this.isSend=false
746
- }else{
747
- Vue.showMessage("请先打开一个计划再进行操作")
748
- }
749
- }
750
- }
751
-
752
- //将某个计划下的一项拖到另一个计划
753
- async dragtoOtherPlanIteem(checkplanid,dragParam,f) {
754
- if(dragParam=='item'){
755
- this.isSend=true
756
- let res=await this.http.load("POST", "/rs/logic/UpCheckPlanItem", {
757
- data:{
758
- f_operator:global.login.name,
759
- f_plan_id:checkplanid,
760
- condition:this.checkplanitems.search.search({"f_plan_id": "i.f_plan_id='{}'",
761
- "usercode": "it.f_userinfo_code='{}'",
762
- "username": "it.f_user_name='{}'",
763
- "f_address": "it.f_address like '%{}%'",
764
- "f_last_check_state": "it.f_last_check_state='{}' ",
765
- "f_start_time": "it.f_last_check_date >='{}'",
766
- "f_end_time": "it.f_last_check_date <='{}'",
767
- "f_last_check_result":"it.f_last_check_result like '%{}%'",
768
- 'f_user_state':"uf.f_userstate='{}'",
769
- "f_state": "it.f_state !='{}'",
770
- "f_state1": "it.f_state ='{}'"
771
- }),
772
- switchCheckAll:this.checkplanitems.check.switchCheckAll,
773
- checkAll:this.checkplanitems.check.checkAll,
774
- param:this.checkplanitems.check.checkes,
775
- columnName: "it.id"
776
- }
777
- }, {resolveMsg: null, rejectMsg: null})
778
- if(res.data.code==200){
779
- await this.searchUser(()=>{})
780
- await this.searchPlanItem(()=>{})
781
- await this.loadCheckPlan("",()=>{})
782
- f()
783
- Vue.showMessage("更换安检计划成功!")
784
- }else{
785
- Vue.showMessage("更换安检计划失败!")
786
- }
787
- f()
788
- this.isSend=false
789
- }
790
-
791
- }
792
-
793
- //修改计划项状态为作废
794
- async delPlanItem(dragParam,f) {
795
- console.log("进入作废计划项方法")
796
- if(dragParam=='item'){
797
- Vue.showMessage("此操作无法撤回,确定要执行作废安检单操作吗?",['confirm','cancel']).then((button)=>{
798
- if(button=='confirm'){
799
- this.isSend=true
800
- let resu=this.http.load("POST", "/rs/logic/UpCheckPlanItemState", {
801
- data: {
802
- f_operator:global.login.name,
803
- condition:this.checkplanitems.search.search({"f_plan_id": "i.f_plan_id='{}'",
804
- "usercode": "i.f_userinfo_code='{}'",
805
- "username": "i.f_user_name='{}'",
806
- "f_address": "i.f_address like '%{}%'",
807
- "f_last_check_state": "i.f_last_check_state='{}' ",
808
- "f_start_time": "i.f_last_check_date >='{}'",
809
- "f_end_time": "i.f_last_check_date <='{}'",
810
- "f_last_check_result":"i.f_last_check_result like '%{}%'",
811
- 'f_user_state':"uf.f_userstate='{}'",
812
- "f_state": "i.f_state !='{}'",
813
- "f_state1": "i.f_state ='{}'"
814
- }),
815
- switchCheckAll:this.checkplanitems.check.switchCheckAll,
816
- checkAll:this.checkplanitems.check.checkAll,
817
- param:this.checkplanitems.check.checkes,
818
- columnName: "i.id"
819
- }
820
- }, {resolveMsg: null, rejectMsg: null}).then((resu)=>{
821
-
822
- console.log("-----------"+JSON.stringify(resu.data))
823
- if(resu.data.code==200){
824
- Vue.showMessage("移除安检单成功! 成功移除:"+resu.data.res.up+"条"+(resu.data.res.noup>0?"有"+resu.data.res.noup+"条已经不是 ‘未检’ 状态!":""))
825
- this.searchUser(f)
826
- this.searchPlanItem(f)
827
- this.loadCheckPlan("",f)
828
- }else{
829
- Vue.showMessage("取消安检计划失败!")
830
- }
831
- this.isSend=false
832
- })
833
-
834
- }
835
-
836
- })
837
-
838
- }
839
-
840
- }
841
-
842
- //新建计划
843
- async addNewPlan(f) {
844
- if(!this.validationCreatePlan()){
845
- return
846
- }
847
- this.isSend=true
848
- let res=await this.http.load("POST","/rs/sql/getCheckplan", {data: {condition:"f_plan_name='"+this.newPlan.f_plan_name+"'",sortfield:'f_create_time desc'}})
849
- console.log("结果-"+res.data.length)
850
- if(res.data.length>0){
851
- Vue.showMessage("计划名称不能重复!")
852
- this.isSend=false
853
- return
854
- }
855
- if(this.isShare=="是"){
856
- this.newPlan.f_checker_id=null
857
- this.newPlan.f_checker=null
858
- }
859
- this.newPlan.f_plan_type='预约计划'
860
- this.newPlan.f_subcompany=global.login.orgs
861
- this.newPlan.f_filialeid=this.filialeid
862
- this.newPlan.f_create_operator=global.login.name
863
- this.newPlan.f_create_time=this.getNowFormatDate()
864
- await Vue.resetpost("/rs/logic/createCheckPlan", {"data": this.newPlan},{resolveMsg : '新建计划成功!', rejectMsg : '新建计划失败!'})
865
- //await this.loadCheckPlan('',()=>{})
866
- this.newPlan={f_issued:"否"}
867
- this.isShare="否"
868
- await this.loadCheckPlan('',()=>{})
869
- f()
870
- window.dispatchEvent(new CustomEvent("goRefresh"),{})
871
- this.isSend=false
872
-
873
- }
874
-
875
- // 取消新建安检计划
876
- cancel() {
877
- this.newPlan={f_issued:"否"}
878
- this.isShare="否"
879
- this.plan={}
880
- }
881
-
882
- // 取年的选择项目
883
- years() {
884
- return date.yearSelects
885
- }
886
- /*
887
- 1.获取配置文件
888
- 2.组装配置文件 (配置文件[] JS提前固定的数组[] return [])
889
- */
890
-
891
- // str = [
892
- // {
893
- // "checkname": "燃气表",
894
- // "checkmust":false,
895
- // "items":[
896
- // {"lname": "表具状态","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"包裹","isdefect":true,"level":"C2","isdefault": false,"tooltip":"1.整改时限1日,2,禁止使用,及时联系公司客服"},{"data":"漏气","isdefect":true,"level":"A1","isdefault": false,"tooltip":"1.整改时限1日,2,禁止使用,及时联系公司客服"}]},
897
- // {"lname": "表故障","multiple":true,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"破损变形","isdefect":true,"level":"B2","isdefault": false,"tooltip":"1.整改时限1日,2,禁止使用,及时联系公司客服"},{"data":"失效","isdefect":true,"level":"B2","isdefault": false},{"data":"不走字","isdefect":true,"level":"B2","isdefault": false},{"data":"铅封损坏","isdefect":true,"level":"B2","isdefault": false},{"data":"气表到期(使用年限超过八年)","isdefect":true,"level":"B2","isdefault": false}]},
898
- // {"lname": "腐蚀","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"轻微","isdefect":false,"isdefault": false},{"data":"中度","isdefect":false,"isdefault": false},{"data":"严重","isdefect":true,"level":"A2","isdefault": false,"tooltip":"1.整改时限1日,2,禁止使用,及时联系公司客服"}]},
899
- // {"lname": "使用年限","type":"string", "data": 8,"isshow": false}
900
- // ]
901
- // },
902
- // {
903
- // "checkname": "阀门",
904
- // "checkmust":true,
905
- // "items":[
906
- // {"lname": "阀门","multiple":true,"type":"selector","options":[{"data":"无阀门","isdefect":true,"level":"A2"},{"data":"无阀柄","isdefect":true,"level":"A2"},{"data":"失效","isdefect":true,"level":"A2"}]},
907
- // {"lname": "表前阀","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A1","isdefault": false}]},
908
- // {"lname": "灶前阀","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A1","isdefault": false}]},
909
- // {"lname":"使用年限","type":"string", "data": 8,"isshow": false}
910
- // ]
911
- // },
912
- // {
913
- // "checkname": "户内管",
914
- // "quantity": 2,
915
- // "checkmust":true,
916
- // "items":[
917
- // {"lname": "穿墙管","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A8"}]},
918
- // {"lname": "胶管","multiple":true,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"老化、超期使用","isdefect":true,"level":"A8"},{"data":"未紧箍","isdefect":true,"level":"C2"},
919
- // {"data":"软管穿墙","isdefect":true,"level":"C2"},{"data":"软管超长(长度超过两米)","isdefect":true,"level":"C2"},{"data":"非专用软管","isdefect":true,"level":"C2"}]},
920
- // {"lname": "镀锌管","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A8"}]},
921
- // {"lname": "铝塑管、波纹管","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A8"}]},
922
- // {"lname": "热水器管","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A8"}]},
923
- // {"lname":"使用年限","type":"string", "data": 8,"isshow": false}
924
- // ]
925
- // },
926
- // {
927
- // "checkname": "热水器",
928
- // "quantity": 0,
929
- // "checkmust":false,
930
- // "items":[
931
- // {"lname": "热水器品牌","type":"string"},
932
- // {"lname": "热水器烟道","multiple":true,"type":"selector","options":[{"data":"正常","isdefect":false},{"data":"未安装烟道","isdefect":true,"level":"A8","tooltip":"1.整改时限1日,2,禁止使用,及时联系公司客服"},{"data":"烟道未与大气直接连通","isdefect":true,"level":"A8"},{"data":"安装不规范","isdefect":true,"level":"A8"}]},
933
- // {"lname": "安装位置","multiple":false,"type":"selector","options":[{"data":"卫生间","isdefect":false},{"data":"卧室","isdefect":true,"level":"A8"},
934
- // {"data":"客厅过道","isdefect":true,"level":"A8"},{"data":"内厨房","isdefect":true,"level":"A8"},{"data":"其他密封或通风不良房间","isdefect":true,"level":"A8"}]},
935
- // {"lname": "工作状态","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false},{"data":"异常","isdefect":true,"level":"A8"}]},
936
- // {"lname":"使用年限","type":"string", "data": 4,"isshow": false}
937
- // ]
938
- // },
939
- // {
940
- // "checkname": "燃气具",
941
- // "checkmust":false,
942
- // "items":[
943
- // {"lname": "燃气具品牌","type":"string"},
944
- // {"lname": "安装位置","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A8","isdefault": false}]},
945
- // {"lname": "安装状况","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"超年限(使用年限为8年)","isdefect":true,"level":"A8","isdefault": false}]},
946
- // {"lname":"使用年限","multiple":false,"type":"string", "data": 4}
947
- // ]
948
- // },
949
- // {
950
- // "checkname": "其他",
951
- // "checkmust":false,
952
- // "items":[
953
- // {"lname": "使用简易三通","multiple":false,"type":"selector","options":[{"data":"否","isdefect":false},{"data":"是","isdefect":true,"level":"A8"}]},
954
- // {"lname": "私自安装、改迁燃气设施及设备","multiple":false,"type":"selector","options":[{"data":"否","isdefect":false},{"data":"是","isdefect":true,"level":"A8","tooltip":"1.整改时限1日,2,禁止使用,及时联系公司客服"}]},
955
- // {"lname": "违反安全间距规定","multiple":false,"type":"selector","options":[{"data":"否","isdefect":false},{"data":"是","isdefect":true,"level":"A8"}]},
956
- // {"lname": "燃气设施及设备上搭挂重物","multiple":false,"type":"selector","options":[{"data":"否","isdefect":false},{"data":"是","isdefect":true,"level":"A8"}]},
957
- // {"lname": "燃气管道被作电器接地线使用","multiple":false,"type":"selector","options":[{"data":"否","isdefect":false},{"data":"是","isdefect":true,"level":"A8"}]}
958
- // ]
959
- // }
960
- // ]
961
- //str=[{"checkname":"热水器","index":3,"items":[{"lname":"烟道式安装在卫生间","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":1,"type":"selector"},{"lname":"已过八年强制报废期","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":4,"type":"selector"},{"lname":"热水器泄露","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":3,"type":"selector"},{"lname":"热水器品牌","index":5,"type":"string"},{"lname":"启用时间","index":6,"type":"date"},{"lname":"强制式安排在卫生间","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":2,"type":"selector"}]},{"checkname":"炉","index":2,"items":[{"lname":"嵌入式炉子下面柜门无通风口","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":4,"type":"selector"},{"lname":"炉泄露","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":1,"type":"selector"},{"lname":"已过8年强制报废期","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":2,"type":"selector"},{"lname":"炉子品牌","index":5,"type":"string"},{"lname":"无自动熄火保护装置","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":3,"type":"selector"},{"lname":"启用时间","index":6,"type":"date"}]},{"checkname":"灶前阀","index":4,"items":[{"lname":"无把柄","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":3,"type":"selector"},{"lname":"泄露","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":1,"type":"selector"},{"lname":"开关不便","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":2,"type":"selector"}]},{"checkname":"其他","index":7,"items":[{"lname":"其他/压力","index":1,"type":"string"}]},{"checkname":"胶管","index":5,"items":[{"lname":"超2年","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":2,"type":"selector"},{"lname":"超2米","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":4,"type":"selector"},{"lname":"穿墙","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":5,"type":"selector"},{"lname":"老化","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":1,"type":"selector"},{"lname":"无管卡","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":3,"type":"selector"}]},{"checkname":"管道","index":6,"items":[{"lname":"泄露","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":1,"type":"selector"},{"lname":"一般锈蚀","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":4,"type":"selector"},{"lname":"暗埋","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":2,"type":"selector"},{"lname":"严重锈蚀","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":3,"type":"selector"},{"lname":"悬挂物品","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":5,"type":"selector"}]},{"checkname":"燃气表","index":1,"items":[{"lname":"表前阀无把柄","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":16,"type":"selector"},{"lname":"运转正常","multiple":false,"options":[{"isdefect":false,"data":"是"},{"isdefect":false,"data":"否","isdefault":true}],"index":11,"type":"selector"},{"lname":"表不转动","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":12,"type":"selector"},{"lname":"表前阀泄露","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":15,"type":"selector"},{"lname":"表前阀开关不便","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":17,"type":"selector"},{"lname":"未封表","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":13,"type":"selector"},{"lname":"封闭无通风","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":14,"type":"selector"}]}]
962
-
963
-
964
- //遍历选择框以及得到list
965
- getselector(){
966
- this.listbutton=[]
967
-
968
- for (let i = 0; i <this.str.length ; i++) {
969
- let strlist=[]
970
- strlist=this.str[i].items.concat()
971
- for (let j = 0; j <strlist.length ; j++) {
972
- strlist[j]["mname"]=this.str[i].checkname
973
- }
974
- strlist.splice(0,0,{lname:this.str[i].checkname+":",type:"",mname:""})
975
- let bb=this.listbutton
976
- this.listbutton=bb.concat(strlist)
977
-
978
-
979
- }
980
-
981
- let h=this.listbutton
982
- for (let i = 0; i <h.length ; i++) {
983
-
984
- h[i]["selected"]=""
985
- h[i]["level"]=""
986
- h[i]["isdefect"]=""
987
- if (h[i].type =="selector"){
988
- let size=h[i].options.length
989
-
990
- let pl=[]
991
- for (let j = 0; j <size ; j++) {
992
- let n=h[i].lname+h[i].mname
993
-
994
- pl.push(h[i].options[j].data)
995
- this.planItemConditional[n]=pl
996
-
997
- }
998
- }
999
- }
1000
-
1001
- console.log("get最后的listbutton"+JSON.stringify(this.listbutton))
1002
- }
1003
- //返回遍历的option
1004
- reoption(key1,key2){
1005
-
1006
- let modelname=key1+key2
1007
- return this.planItemConditional[modelname]
1008
-
1009
- }
1010
-
1011
-
1012
- // 取月的选择项目
1013
- months() {
1014
- return date.monthSelects
1015
- }
1016
-
1017
- //下发安检计划
1018
- async sendCheckPlan(f){
1019
- if(this.checkplan.check.checkes.length<1){
1020
- Vue.showMessage("请选择要下发的安检计划")
1021
- return
1022
- }
1023
- this.isSend=true
1024
- let res=await this.http.load("POST", "/rs/logic/NewBespeakCheckPlan", {
1025
- data:{
1026
- f_issued:'是',
1027
- f_issue_time:this.getNowFormatDate(),
1028
- f_send_operator:global.login.name,
1029
- param:this.checkplan.check.checkes,
1030
- }
1031
- }, {resolveMsg: null, rejectMsg: null})
1032
- if(res.data.code==200){
1033
- //Vue.showMessage("下发成功!其中有"+res.data.repet+"个计划己经是下发状态")
1034
- Vue.showMessage("下发成功!")
1035
- await this.loadCheckPlan('',()=>{})
1036
- f()
1037
- }else{
1038
- Vue.showMessage("下发失败!")
1039
- }
1040
- this.isSend=false
1041
- }
1042
-
1043
- //删除安检计划
1044
- async delCheckPlan(f){
1045
- if(this.checkplan.check.checkes.length<1){
1046
- Vue.showMessage("请选择要删除的安检计划")
1047
- return
1048
- }
1049
- this.isSend=true
1050
- let res=await this.http.load("POST", "/rs/logic/deleteCheckPlan", {
1051
- data:{
1052
- f_operator:global.login.name,//global.login.name,
1053
- condition:this.checkplan.search.search({}),
1054
- switchCheckAll:this.checkplan.check.switchCheckAll,
1055
- checkAll:this.checkplan.check.checkAll,
1056
- param:this.checkplan.check.checkes,
1057
- columnName: "f_plan_id"
1058
- }
1059
- }, {resolveMsg: "删除成功!", rejectMsg: "删除失败!"})
1060
- console.log(JSON.stringify(res))
1061
- if(res.data.code==200){
1062
- Vue.showMessage("删除成功!"+res.data.message,"success",2500)
1063
- await this.loadCheckPlan('',()=>{})
1064
- }else{
1065
- Vue.showMessage("删除失败!"+res.data.message,"success",2500)
1066
- }
1067
- this.checkplanitems.search.model.f_plan_id=""
1068
- this.checkplanitems.list.data=[]
1069
- f()
1070
- this.isSend=false
1071
- }
1072
- //修改计划时 用来存储当前选中要修改的计划
1073
- plan={}
1074
- setPlanVal(value){
1075
- console.log(value)
1076
- this.plan=JSON.parse(JSON.stringify( value ))
1077
- }
1078
- setPlan(key,val){
1079
- this.plan[key]=val
1080
- }
1081
- isUpdate(key1,key2){
1082
- if (key1=="已检"&&key2!="补录"){
1083
- return true;
1084
- }
1085
- return false;
1086
- }
1087
- //修改安检计划
1088
- async upCheckPlan(f){
1089
- if(this.plan.f_issued=='已下发'){
1090
- Vue.showMessage("该计划已下发,无法进行修改!")
1091
- return
1092
- }
1093
- this.isSend=true
1094
- let res=await this.http.load("POST", "/rs/logic/updateCheckPlan", {
1095
- data:{
1096
- f_checker:this.plan.f_checker,
1097
- f_checker_id:this.plan.f_checker_id,
1098
- f_plan_name:this.plan.f_plan_name,
1099
- f_plan_year:this.plan.f_plan_year,
1100
- f_plan_month:this.plan.f_plan_month,
1101
- f_plan_id:this.plan.id
1102
- }
1103
- }, {resolveMsg: null, rejectMsg: null})
1104
- if(res.data.code==200){
1105
- Vue.showMessage("修改成功!"+res.data.message,"success",2500)
1106
- await this.loadCheckPlan('',()=>{})
1107
- }else{
1108
- Vue.showMessage("修改失败!"+res.data.message,"success",2500)
1109
- }
1110
- f()
1111
- this.isSend=false
1112
- }
1113
-
1114
- /* getDataLength(modelname){
1115
- console.log("sdadasdasdasdadasdadddddddddddddddddddddddddddddddddddddddddddd")
1116
- let l=this[modelname].list.data.length
1117
- console.log("--"+l)
1118
- return l
1119
- }*/
1120
- //新建安检计划非空判断
1121
- validationCreatePlan(){
1122
- if(!this.newPlan.f_plan_name){
1123
- Vue.showMessage("请输入安检计划名称!")
1124
- return false
1125
- }
1126
- if(!this.newPlan.f_plan_year){
1127
- Vue.showMessage("请选择安检年份!")
1128
- return false
1129
- }
1130
- if(!this.newPlan.f_plan_month){
1131
- Vue.showMessage("请选择安检月份!")
1132
- return false
1133
- }
1134
- if(this.isShare=="否"){
1135
- if(!this.newPlan.f_checker){
1136
- Vue.showMessage("请选择安检人员!")
1137
- return false
1138
- }
1139
- }else{
1140
- this.newPlan.f_checker=''
1141
- }
1142
- if(!this.newPlan.f_safecheck_type){
1143
- Vue.showMessage("请选择安检类型!")
1144
- return false
1145
- }
1146
- return true
1147
- }
1148
-
1149
- //调用updatecheckpaper
1150
- async addNewPaper(f){
1151
- this.setFdevices()
1152
- this.setfDevicesid()
1153
- //return;
1154
- for (var i = 0; i <this.checkerMess.length ; i++) {
1155
- if (this.checkerMess[i].name==this.suppplanitem.f_checker_name){
1156
- this.suppplanitem["f_checker_id"]=this.checkerMess[i].id
1157
- }
1158
- }
1159
- //console.log(this.fdevices)
1160
- //return;
1161
- this.suppplanitem["f_devices"]=this.fdevices
1162
- this.suppplanitem.f_check_type=this.suppplanitem.f_user_type
1163
- this.suppplanitem.f_state = "已检"
1164
- this.suppplanitem.f_approved = "未审核"
1165
- this.suppplanitem.f_complete = "已完成"
1166
- this.suppplanitem.f_no_checkplan ="有计划安检"
1167
- //return;
1168
- this.suppplanitem.f_check_plan_id=this.suppplanitem.f_plan_id
1169
-
1170
- let res=await this.http.load("POST", "/rs/logic/SuppCheckPaper", {data:{paper:this.suppplanitem}})
1171
-
1172
- this.openPlan(this.plan,f)
1173
- f()
1174
- window.dispatchEvent(new CustomEvent("goRefresh"),{})
1175
- }
1176
- addnewPaper(f){
1177
- delete this.suppplanitem.id
1178
- if(!this.suppplanitem.f_onsite_time){
1179
- Vue.showMessage("提交失败,请输入开始时间!")
1180
- return false
1181
- }
1182
- if(!this.suppplanitem.f_offsite_time){
1183
- Vue.showMessage("提交失败,请输入结束时间!")
1184
- return false
1185
- }
1186
- if(!this.suppplanitem.f_entry_status){
1187
- Vue.showMessage("提交失败,请输入入户状态!")
1188
- return false
1189
- }
1190
- if(!this.suppplanitem.f_usegas&&this.suppplanitem.f_entry_status=='入户'){
1191
- Vue.showMessage("提交失败,请输入燃气使用状态!")
1192
- return false
1193
- }
1194
- // if(!this.suppplanitem.f_checker_name){
1195
- // Vue.showMessage("提交失败,请输入安检员!")
1196
- // }
1197
- this.addNewPaper(f)
1198
- }
1199
- updatePaper(f){
1200
- this.addNewPaper(f)
1201
- }
1202
- setNewPaper(property,value){
1203
- this.suppplanitem[property] = value
1204
-
1205
-
1206
-
1207
- return this
1208
- }
1209
-
1210
- setFdevices(){
1211
-
1212
-
1213
- var ar=this.listbutton
1214
- var br=this.fdevices
1215
- for (var i = 0; i <br .length; i++) {
1216
- for (var j = 0; j < ar.length; j++) {
1217
- if (br[i].f_device_type == ar[j].mname) {
1218
- br[i].f_items.push({
1219
- f_item_name: ar[j].lname,
1220
- f_item_value: ar[j].selected,
1221
- type: ar[j].type,
1222
- f_is_defect: ar[j].isdefect,
1223
- f_defect_level: ar[j].level,
1224
- f_item_lists:[{
1225
- //f_item_id: "",
1226
- f_item_value: ar[j].selected,
1227
- //id:""
1228
- }]
1229
- })
1230
- }
1231
- }
1232
- }
1233
- }
1234
- //给fdevices赋值id
1235
- setfDevicesid(){
1236
- var suppf=this.suppplanitem.f_devices
1237
- var fde=this.fdevices
1238
- if (this.suppplanitem.hasOwnProperty("f_devices")){
1239
- for (let i = 0; i <suppf.length ; i++) {
1240
- for (let j = 0; j <fde.length; j++) {
1241
- if (suppf[i].f_device_type==fde[j].f_device_type){
1242
- for (let k = 0; k <suppf[i].f_items.length ; k++) {
1243
- // console.log("789456123")
1244
- for (let l = 0; l <fde[j].f_items.length ; l++) {
1245
- // console.log("11111111111111")
1246
- if (suppf[i].f_items[k].f_item_name==fde[j].f_items[l].f_item_name) {
1247
- fde[j].f_items[l]["id"]=suppf[i].f_items[k].id
1248
- if (suppf[i].f_items[k].f_item_lists.length!=0){
1249
- fde[j].f_items[l].f_item_lists[0]["id"]=suppf[i].f_items[k].f_item_lists[0].id
1250
- fde[j].f_items[l].f_item_lists[0]["f_item_id"]=suppf[i].f_items[k].f_item_lists[0].f_item_id
1251
- }
1252
- }
1253
- }
1254
- }
1255
- }
1256
- }
1257
- }
1258
- }else {
1259
- this.suppplanitem.f_upload_date=this.getNowFormatDate()
1260
- }
1261
- }
1262
- //
1263
- setFitemvalue(){
1264
- for (var k = 0; k <this.listbutton.length ; k++) {
1265
- for (var i = 0; i <this.suppplanitem.f_devices.length ; i++) {
1266
- for (var j = 0; j < this.suppplanitem.f_devices[i].f_items.length; j++) {
1267
- if (this.listbutton[k].lname==this.suppplanitem.f_devices[i].f_items[j].f_item_name){
1268
- this.listbutton[k].selected=this.suppplanitem.f_devices[i].f_items[j].f_item_value
1269
- }
1270
- }
1271
- }
1272
- }
1273
- }
1274
- //改变selected属性
1275
- changeSelected(selectedname,selectedmname,selectedvalue){
1276
- var sa=this.listbutton
1277
- for (var i = 0; i <sa.length; i++) {
1278
- if (sa[i].lname==selectedname&&sa[i].mname==selectedmname){
1279
- sa[i].selected=selectedvalue
1280
- if (sa[i].type=="selector"){//判断是否是选择类型
1281
- for (var j = 0; j < sa[i].options.length; j++) {
1282
- if (sa[i].options[j].data==selectedvalue){//赋值为json的level和isdefect
1283
- sa[i].level=sa[i].options[j].level
1284
- sa[i].isdefect=sa[i].options[j].isdefect
1285
- }
1286
- }
1287
- }
1288
- }
1289
- }
1290
- //console.log(this.fdevices)
1291
- }
1292
- getAreaList() {
1293
- let res = this.http.load('POST', '/rs/sql/safe_singleTable_GroupBy', {
1294
- data: {
1295
- items: 'f_residential_area',
1296
- tablename: 't_area',
1297
- condition: 'f_filialeid = '+this.filialeid,
1298
- groupitem: 'f_residential_area'
1299
- }
1300
- }, {resolveMsg: null, rejectMsg: null}).then((res)=>{
1301
- if (res.data) {
1302
- let arr=[]
1303
- for(let i =0 ;i<res.data.length;i++){
1304
- arr.push(res.data[i].f_residential_area)
1305
- }
1306
- this.conditionJson[0].options=arr
1307
- }
1308
- })
1309
-
1310
- }
1311
- //获取当前时间
1312
- getNowFormatDate() {
1313
- let date = new Date();
1314
- let seperator1 = "-";
1315
- let seperator2 = ":";
1316
- let month = date.getMonth() + 1;
1317
- let strDate = date.getDate();
1318
- let hour = date.getHours();
1319
- let min = date.getMinutes();
1320
- let second = date.getSeconds();
1321
- if (month >= 1 && month <= 9) {
1322
- month = "0" + month;
1323
- }
1324
- if (strDate >= 0 && strDate <= 9) {
1325
- strDate = "0" + strDate;
1326
- }
1327
- if (hour >= 0 && hour <= 9) {
1328
- hour = "0" + hour;
1329
- }
1330
- if (min >= 0 && min <= 9) {
1331
- min = "0" + min;
1332
- }
1333
- if (second >= 0 && second <= 9) {
1334
- second = "0" + second;
1335
- }
1336
- let currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1337
- + " " + hour + seperator2 + min
1338
- + seperator2 + second;
1339
- return currentdate;
1340
- }
1341
- //excel导出
1342
- async exportFile(){
1343
- if(!this.checkplanitems.search.model.f_plan_id){
1344
- Vue.showMessage("请选择先打开一个安检计划!")
1345
- return
1346
- }
1347
- this.isSend=true
1348
- this.jointCondition1("planitemconditionList","checkplanitems")
1349
- let res=await this.http.load('POST','rs/logic/SafeExportExcel',
1350
- {
1351
- "data": {
1352
- "body": {
1353
- "data": {
1354
- "condition": this.checkplanitems.search.search({"f_plan_id": "i.f_plan_id='{}'",
1355
- "usercode": "i.f_userinfo_code='{}'",
1356
- "username": "i.f_user_name='{}'",
1357
- "f_address": "i.f_address like '%{}%'",
1358
- "f_last_check_state": "i.f_last_check_state='{}' ",
1359
- "f_start_time": "i.f_last_check_date >='{}'",
1360
- "f_end_time": "i.f_last_check_date <='{}'",
1361
- "f_last_check_result":"i.f_last_check_result like '%{}%'",
1362
- 'f_user_state':"uf.f_userstate='{}'",
1363
- "f_state": "i.f_state !='{}'",
1364
- "f_state1": "i.f_state ='{}'"
1365
- })
1366
- },
1367
- "field": ["f_userinfo_code:用户编号","f_user_name:用户名称",
1368
- "f_user_type:用户类型","f_userstate:用户状态","f_hetongdate:合同日期","f_residential_area:小区名称",
1369
- "f_state:安检状态","f_buildtype:房屋类型","f_meternumber:表号",
1370
- "f_metertitles:表封号","f_aroundmeter:左右表","f_gaswatchbrand:气表品牌",
1371
- "f_neiwaibiao:气表位置","f_phone:电话","f_dateofopening:开户日期",
1372
- "f_address:详细地址"
1373
- ],
1374
- "templateName": this.plan.f_plan_name,
1375
- "sqlName": "planItem",
1376
- "uuid": this.guid()
1377
- },
1378
- }
1379
- }
1380
- ,{resolveMsg: null, rejectMsg: null})
1381
- console.log("excel结果---"+JSON.stringify(res))
1382
- let link = document.createElement('a');
1383
- let path = res.data[0].filename
1384
- //webapps这个是在服务器上导出用的
1385
- let pathName = "http://" + location.host + "/webapps" + path.split('webapps')[1]
1386
- //excel这个是在本地导出用的
1387
- link.href = pathName;
1388
- link.download = path.split('excel/')[1];
1389
- link.dispatchEvent(new MouseEvent('click'));
1390
- this.isSend=false
1391
- }
1392
- guid() {
1393
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
1394
- let r = Math.random() * 16 | 0,
1395
- v = c == 'x' ? r : (r & 0x3 | 0x8)
1396
- return v.toString(16)
1397
- })
1398
- }
1399
- //excel导出
1400
- async userexportFile(){
1401
-
1402
- this.isSend=true
1403
- let res=await this.http.load('POST','rs/logic/SafeExportExcel',
1404
- {
1405
- "data": {
1406
- "body": {
1407
- "data": {
1408
- "condition": this.user.search.search({
1409
- "f_filialeid": "ui.f_filialeid={}",
1410
- "userinfocode": "ui.f_userinfo_code='{}'",
1411
- "username": "ui.f_user_name like '%{}%'",
1412
- "useraddress": "ua.f_address like '%{}%'",
1413
- "userType":"uf.f_user_type='{}'",
1414
- "f_residential_area":"ua.f_residential_area = '{}'",
1415
- "f_building":"ua.f_building='{}'",
1416
- "f_unit":"ua.f_unit='{}'",
1417
- "f_user_state":"ui.f_user_state='{}'",
1418
- "checkTime":" {}",
1419
- "meterbook":"uf.f_meter_book_num='{}'",
1420
- "user_start":" uf2.f_dateofopening >='{}'",
1421
- "user_end":" uf2.f_dateofopening <='{}'",
1422
- "check_start":" ua.f_last_check_date >='{}'",
1423
- "check_end":" ua.f_last_check_date<= '{}'",
1424
- "area":" f_book_slice_area ='{}'",
1425
- "ychecked":" {}",
1426
- "f_metertitles":" uf2.f_metertitles='{}'",
1427
- "f_gasproperties":" uf.f_gasproperties='{}'",
1428
- "uploadCondition":" {}",
1429
- "f_backlist":" {}"
1430
- }),
1431
- "orderitem": 'f_residential_area,f_building,f_unit,f_floor,f_room',
1432
- "f_usertype": '',
1433
- "month": '',
1434
- "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
1435
- "SafeCheckCQ": '',
1436
- "startday":"",
1437
- "endday":""
1438
- },
1439
- "field": ["f_userinfo_code:用户编号","f_user_name:用户名称",
1440
- "f_user_type:用户类型", "f_residential_area:小区名称",
1441
- "f_metertitles:表箱号", "f_meternumber:表号",
1442
- "f_userstate:用户状态", "f_dateofopening:开户时间",
1443
- "f_yytdate:建档时间",
1444
- "f_user_phone:用户电话","f_address:详细地址"
1445
- ],
1446
- "templateName": '安检用户信息',
1447
- "sqlName": "FetchUserFileByOrgNoRuHuSXQ",
1448
- "uuid": this.guid()
1449
- },
1450
- }
1451
- }
1452
- ,{resolveMsg: null, rejectMsg: null})
1453
- console.log("excel结果---"+JSON.stringify(res))
1454
- let link = document.createElement('a');
1455
- let path = res.data[0].filename
1456
- //webapps这个是在服务器上导出用的
1457
- let pathName = "http://" + location.host + "/webapps" + path.split('webapps')[1]
1458
- //excel这个是在本地导出用的
1459
- link.href = pathName;
1460
- link.download = path.split('excel/')[1];
1461
- link.dispatchEvent(new MouseEvent('click'));
1462
- this.isSend=false
1463
- }
1464
-
1465
- //获取抄表册
1466
- async Mreadibook(){
1467
- this.cbc=[]
1468
- this.sliceArea=[]
1469
- let http = new HttpResetClass()
1470
- let getMeterReadingBooks = await http.load('POST','rs/logic/getMeterBooksData',
1471
- {data: {f_orgid: "('"+this.filialeid+"')"}},
1472
- {resolveMsg: null, rejectMsg: '获取失败!!!'})
1473
- this.cbc = [{label: '全部', value: '全部'}]
1474
- console.log('22222222222222222222222222222222222222')
1475
- console.log(JSON.stringify(getMeterReadingBooks))
1476
- console.log('22222222222222222222222222222222222222')
1477
- this.meterbooks=[]
1478
- this.meterbooks=getMeterReadingBooks.data.meterbooks
1479
- this.meterbooks.forEach((res) => {
1480
- this.cbc.push({label: res.f_book_name, value: res.id})
1481
- /*if(res.f_book_slice_area){
1482
- if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
1483
- this.sliceArea.push(res.f_book_slice_area)
1484
- }
1485
- }*/
1486
- })
1487
-
1488
- }
1489
- //获取子公司
1490
- async getOrgs(){
1491
- let http = new HttpResetClass()
1492
- let orgs = await http.load('POST', '/rs/search', {
1493
- source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $organization$)',
1494
- userid: global.login.id
1495
- //userid:"15130"
1496
- }, {resolveMsg: null, rejectMsg: '获取分公司出错!!!'})
1497
- console.log("分公司--"+JSON.stringify(orgs))
1498
- this.orgs = []
1499
- if(orgs.data.length>0){
1500
- orgs.data.forEach((res) => {
1501
- this.orgs.push({label: res.name, value: res.id})
1502
- })
1503
- }else{
1504
- this.orgs.push({label: this.filialeidname, value:this.filialeid})
1505
- // this.orgs.push({label: '测试公司', value:222})
1506
- }
1507
-
1508
-
1509
- }
1510
- //片区获取
1511
- async getSliceArea() {
1512
- let http = new HttpResetClass()
1513
- let getAllArea = await http.load('POST', '/rs/search', {
1514
- source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
1515
- userid: global.login.id
1516
- }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
1517
- this.sliceArea = ['全部']
1518
- console.log('11111111111111111111111111111111111111')
1519
- console.log(getAllArea.data)
1520
- console.log('11111111111111111111111111111111111111')
1521
- getAllArea.data.forEach((res) => {
1522
- if(res.parentid==this.filialeid){
1523
- this.sliceArea.push(res.name)
1524
- }
1525
- })
1526
- console.log('片区' + this.sliceArea)
1527
- }
1528
-
1529
- show1(){
1530
- this.showModel=true
1531
- }
1532
- //清空用户编号
1533
- clearUserInfoId(){
1534
- this.setProperty("user","uploadCondition",'')
1535
- Vue.showMessage("已清空用户编号")
1536
- }
1537
- formatArrayFun(type,arr){
1538
- arr.forEach((result)=>{
1539
- this[type].push(result.value)
1540
- })
1541
- }
1542
- flush(f){
1543
- f()
1544
- }
1545
- }
1
+ import {SearchList, date} from 'vue-client'
2
+ import {PagedList} from 'vue-client'
3
+ import {HttpResetClass,trans} from 'vue-client'
4
+ import Vue from "vue"
5
+ import ObjConfig from '../../src/plugins/GerJsonObjectConfig'
6
+
7
+ export default class Comp {
8
+
9
+
10
+ needconfig= {}
11
+ isSend=true
12
+ // 用户安检信息列表
13
+ user = new SearchList(true)
14
+ //遍历的按钮
15
+ listbutton=[]
16
+ fdevices=[]
17
+ // 安检计划列表
18
+ checkplan = new SearchList(true)
19
+ // 安检计划的安检单列表
20
+ checkplanitems = new SearchList(true)
21
+ //按钮隐藏判断
22
+ suppplanitem={}
23
+ orderList= ['按时间降序', '按时间升序']//排序下拉框的值
24
+ currentorder='按时间降序'//排序下拉框当前选中的值
25
+ // 新增安检计划时保存的数据
26
+ newPlan = {f_issued:"否",f_safecheck_type:""}
27
+ http = new HttpResetClass()
28
+ //查询计划弹框中是否共享选项
29
+ isAndNot = ["是", "否"]
30
+ //是否开启共享计划
31
+ disableIssude=false
32
+ //是否显示添加用户删除用户按钮
33
+ disableButton=false
34
+
35
+ //用户类型
36
+ userType=["民用","非民用"]
37
+ listbuttona=[]
38
+ listbuttonb=[]
39
+ listbuttonc=[]
40
+ listbuttond=[]
41
+ //安检计划查询中的是否是共享计划单选的当前选中值
42
+ sIsAndNotSelect=''
43
+ //用户列表的自选查询条件的值
44
+ userCondition=["请选择条件","用户类型","地址"]
45
+ //当前选中的下拉值
46
+ userConditionSelect="请选择条件"
47
+ //当前输入的值
48
+ userConditionValue=""
49
+ //计划项列表自选查询条件的值
50
+ planItemCondition=["请选择条件","用户编号","用户名称"]
51
+ //
52
+ planItemConditional={}
53
+ //入户状态
54
+ userState=["到访不遇","拒检","入户"]
55
+ //燃气使用
56
+ gasUse=["已使用","未使用"]
57
+ //当前选中的下拉值
58
+ planItemConditionSelect="请选择条件"
59
+ //当前输入的值
60
+ planItemConditionValue=""
61
+ sudeState=['全部','是','否']
62
+ issude=''
63
+ //safecheckTypeList=Vue.$appdata.getParam("安检类型")
64
+ safecheckTypeList=[]
65
+ //片区列表
66
+ sliceArea=[]
67
+ //抄表册
68
+ cbc=[]
69
+ //保存当前公司所有抄表册
70
+ meterbooks=[]
71
+ //分公司列表
72
+ orgs=[]
73
+ //安检员列表
74
+ checker=[]
75
+ checkersname=[]
76
+ //新建计划时保存是否共享计划的值,
77
+ isShare="否"
78
+ //安检类型
79
+ safecheckList=[]
80
+ //时间单位
81
+ unitTime=["天","月"]
82
+ selectTime="天"
83
+ startday=""
84
+ endday=""
85
+ str=[]
86
+ //用气性质
87
+ gasproperties=[]
88
+ //当前打开的安检计划id
89
+ SelectedPlan=""
90
+ //燃气表增添项
91
+ //excel导入组件显示控制
92
+ showModel=false
93
+ gasexpress=[{"lname":"燃气表照片","type":"picture"},
94
+ {"lname":"表品牌","type":"string","readonly":true},
95
+ {"lname":"表号","type":"string","readonly":true},
96
+ {"lname":"表封号","type":"number","readonly":true},
97
+ {"lname":"表型号","type":"string","readonly":true},
98
+ {"lname":"位置","type":"string","readonly":true},
99
+ {"lname":"表底数","type":"number","readonly":true},
100
+ {"lname":"左右表","type":"string","readonly":true}]
101
+ //当前分公司id
102
+ filialeid=global.login.orgid
103
+ filialeidname=global.login.orgs
104
+
105
+ //filialeid=287
106
+ //filialeidname="梁平区聚源天然气有限公司"
107
+ yearCheckList=['全部','已在计划中','未在计划中']
108
+ yChecked=""
109
+ //用户列表查询条件json
110
+ conditionJson=[
111
+ {column:"f_residential_area",checkname:"小区名称",type:"input"},
112
+ {column:"f_building",checkname:"楼栋号码",type:"input"},
113
+ {column:"f_unit",checkname:"单元号码",type:"input"},
114
+ {column:"userType",checkname:"用户类型",type:"selector",options:['民用','非民用']},
115
+ {column:"f_user_state",checkname:"用户状态",type:"selector",options:['正常','停用','待审核','销户']},
116
+ {column:"user_start",checkname:"开户起始",type:"date"},
117
+ {column:"user_end",checkname:"开户结束",type:"date"},
118
+ {column:"check_start",checkname:"安检起始",type:"date"},
119
+ {column:"check_end",checkname:"安检结束",type:"date"},
120
+ {column:"f_metertitles",checkname:"表箱号",type:"input"},
121
+ {column:"f_gasproperties",checkname:"用气性质",type:"selector",options:this.gasproperties}
122
+ //{column:"f_backlist",checkname:"是否拉黑",type:"selector",options:['是','否']}
123
+ ]
124
+ /* conditionList=[
125
+ {selectitem:{column:"f_user_state",checkname:"用户状态",type:"selector",options:['正常','停用','待审核','销户']},selectValue:'正常',num:0},
126
+ {selectitem:{column:"f_metertitles",checkname:"表箱号",type:"input"},selectValue:'',num:1},
127
+ {selectitem:{column:"f_gasproperties",checkname:"用气性质",type:"selector",options:this.gasproperties},selectValue:'',num:2},
128
+ //{selectitem:{column:"f_backlist",checkname:"是否拉黑",type:"selector",options:['是','否']},selectValue:'',num:3},
129
+ {selectitem:{column:"user_start",checkname:"开户起始",type:"date"},selectValue:'',num:3},
130
+ {selectitem:{column:"user_end",checkname:"开户结束",type:"date"},selectValue:'',num:4},
131
+ {selectitem:{column:"check_start",checkname:"安检起始",type:"date"},selectValue:'',num:5},
132
+ {selectitem:{column:"check_end",checkname:"安检结束",type:"date"},selectValue:'',num:6}
133
+ ]*/
134
+ conditionList=[
135
+ {selectitem:{column:"f_user_state",checkname:"用户状态",type:"selector",options:['正常','停用','待审核','销户']},selectValue:'',num:0},
136
+ {selectitem:{column:"f_metertitles",checkname:"表箱号",type:"input"},selectValue:'',num:1},
137
+ {selectitem:{column:"f_gasproperties",checkname:"用气性质",type:"selector",options:this.gasproperties},selectValue:'',num:2},
138
+ //{selectitem:{column:"f_backlist",checkname:"是否拉黑",type:"selector",options:['是','否']},selectValue:'',num:3},
139
+ {selectitem:{column:"user_start",checkname:"开户起始",type:"date"},selectValue:'',num:3},
140
+ {selectitem:{column:"user_end",checkname:"开户结束",type:"date"},selectValue:'',num:4},
141
+ {selectitem:{column:"check_start",checkname:"安检起始",type:"date"},selectValue:'',num:5},
142
+ {selectitem:{column:"check_end",checkname:"安检结束",type:"date"},selectValue:'',num:6}
143
+ ]
144
+ //安检项列表查询条件
145
+ planitemconditionJson=[
146
+ {column:"f_last_check_state",checkname:"安检状态",type:"selector",options:['入户','拒检','到访不遇','未使用']},
147
+ {column:"f_start_time",checkname:"开始时间",type:"date"},
148
+ {column:"f_end_time",checkname:"结束时间",type:"date"},
149
+ {column:"f_last_check_result",checkname:"隐患状态",type:"selector",options:['正常','有隐患']},
150
+ {column:"f_user_state",checkname:"用户状态",type:"selector",options:['正常','停用','待审核','销户']},
151
+ {column:"f_state1",checkname:"安检结果",type:"selector",options:['已检','未检']}
152
+ ]
153
+ planitemconditionList=[
154
+ {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:0},
155
+ {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:1},
156
+ {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:2}
157
+ ]
158
+ //下拉框条件改变json数组
159
+ conditionListChange(modelname,ind,key,value,f){
160
+ console.log("------------"+ind+"-------------")
161
+ this[modelname][ind]["num"]=ind
162
+ this[modelname][ind][key]=value
163
+ f()
164
+ }
165
+ //添加选择条件下拉框事件
166
+
167
+ addconditionList(field,f){
168
+ this[field].push({selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:this.conditionList.length})
169
+ f()
170
+ }
171
+ //删除选择条件下拉框事件
172
+ deletecondition(field,modelname,index,f){
173
+ //如果有这个属性,说明已经选择过,去清空条件数组里的值
174
+ if(this[field][index].selectitem.column){
175
+ this.setProperty(modelname,this[field][index].selectitem.column,"")
176
+ }
177
+ this[field].splice(index,1)
178
+
179
+ for (let i =0 ;i<this[field].length;i++){
180
+ this.conditionList[i].num=i
181
+ }
182
+ f()
183
+ }
184
+ async ready() {
185
+ await this.getOrgs()
186
+ // 加载所有安检计划
187
+ await this.checkplan.searchList("/rs/sql/预约计划下发", {},{groupitem:"",f_filialeids:"("+this.filialeid+")",orderitem:"f_create_time desc"})
188
+ // this.getAreaList()
189
+ //加载安检员名单
190
+ console.log("-----------------")
191
+ console.log(Vue.$appdata)
192
+ console.log("当前加载到的信息:"+JSON.stringify(global.login))
193
+ this.disableIssude=Vue.$appdata.getSingleValue('共享计划')
194
+ this.disableButton=Vue.$appdata.getSingleValue('派发按钮')
195
+ this.formatArrayFun('gasproperties',Vue.$appdata.getParam('用气性质'))
196
+ this.formatArrayFun('safecheckTypeList',Vue.$appdata.getParam('安检类型'))
197
+ this.formatArrayFun('safecheckList',Vue.$appdata.getParam('安检类型'))
198
+ this.searchChecker(global.login.id)
199
+ /*this.setProperty('checkplan','safechecktype','年度普检')*/
200
+ await this.Mreadibook()
201
+ await this.getSliceArea()
202
+ }
203
+ //补录功能组装数据
204
+ zzsj(){
205
+ let deviceconfig=ObjConfig.getObjConfig(this.needconfig.safecheck.DevicesConfig)
206
+ console.log("=============ZZSJ1>"+JSON.stringify(deviceconfig))
207
+ for (let i = 0; i < deviceconfig.length; i++) {
208
+ console.log("==============>"+JSON.stringify(deviceconfig[i]))
209
+ console.log("==============>"+JSON.stringify(deviceconfig[i].index))
210
+ this.str[deviceconfig[i].index-1]=deviceconfig[i]
211
+ console.log("===========ZZSJ2>"+JSON.stringify(this.str[deviceconfig[i].index]))
212
+ }
213
+ }
214
+ readConfig () {
215
+ let http = new HttpResetClass()
216
+ http.load('GET', `/phone/rs/vue`, {}, {resolveMsg: null, rejectMsg: null}).then(res => {
217
+ this.needconfig = res.data
218
+ console.log("请求得到的数据"+JSON.stringify(this.needconfig))
219
+ let aa=this.needconfig.safecheck.DevicesConfig
220
+ this.zzsj()
221
+ })
222
+
223
+ }
224
+ //当前页面属性发生改变事件
225
+ fieldChange(modelname,value,f){
226
+ console.log("-------fieldChange"+value)
227
+ if(modelname=="user" || modelname=="checkplan" || modelname=="checkplanitems"){
228
+ this.setProperty(modelname,"checkername",value.name)
229
+ this.setProperty(modelname,"checkerid",value.id)
230
+ f()
231
+ return
232
+ }
233
+ if(modelname=="createPlan"){
234
+ this.newPlan.f_checker_id=value.id
235
+ this.newPlan.f_checker=value.name
236
+ f()
237
+ return
238
+ }
239
+ if(modelname=="upPlan"){
240
+ this.plan.f_checker= value.name
241
+ this.plan.f_checker_id=value.id
242
+ f()
243
+ return
244
+ }
245
+ if(value=='全部'){
246
+ this[modelname]=''
247
+ }else{
248
+ this[modelname]=value
249
+ }
250
+ f()
251
+ }
252
+ async orgChange(value,f){
253
+ console.log("----orgChange"+JSON.stringify(value))
254
+ if(value.value==this.filialeid){
255
+ f()
256
+ return
257
+ }
258
+ this.filialeid=value.value
259
+ this.filialeidname=value.label
260
+ this.user = new SearchList(true)
261
+ this.checkplanitems = new SearchList(true)
262
+ this.searchChecker(global.login.id)
263
+ await this.Mreadibook()
264
+ await this.getSliceArea()
265
+ await this.checkplan.searchList("/rs/sql/预约计划下发", {},{groupitem:"",f_filialeids:"("+this.filialeid+")",orderitem:"f_create_time desc"})
266
+ f()
267
+ }
268
+ //json下拉改变时间
269
+ selectChanged(modelname,key,valuename,value,f){
270
+ console.log('value[valuename]'+modelname+key+valuename+'----'+JSON.stringify(value))
271
+ if(value.label=='全部' || !value){
272
+ this[modelname].search.setField(key, '')
273
+ this[modelname].search.setField(key+'name', '全部')
274
+ }else{
275
+ console.log("value[valuename]"+value[valuename])
276
+ this[modelname].search.setField(key, value.value)
277
+ this[modelname].search.setField(key+'name', value.label)
278
+ }
279
+ f()
280
+ }
281
+ jointCondition1(field,modelname){
282
+ for (let i =0 ;i<this[field].length;i++){
283
+ if(!this[field][i].selectValue){
284
+ continue
285
+ }
286
+ console.log("this[field][i].column:"+this[field][i].column+"---"+"this[field][i].selectValue"+this[field][i].selectValue)
287
+ this.setProperty(modelname,this[field][i].selectitem.column,this[field][i].selectValue)
288
+ }
289
+ }
290
+ //根据选择框内容设置属性值
291
+ jointCondition(modelname){
292
+
293
+ if(modelname="user"){
294
+ this.setProperty("user","usertype","")
295
+ this.setProperty("user","address","")
296
+ switch(this.userConditionSelect){
297
+ case "用户类型":
298
+ this.setProperty("user","usertype",this.userConditionValue)
299
+ break;
300
+ case "地址":
301
+ this.setProperty("user","address",this.userConditionValue)
302
+ break;
303
+ }
304
+ }
305
+ if(modelname="checkplanitems"){
306
+ this.setProperty("checkplanitems","usercode","")
307
+ this.setProperty("checkplanitems","username","")
308
+ switch(this.planItemConditionSelect){
309
+ case "用户编号":
310
+ this.setProperty("checkplanitems","usercode",this.planItemConditionValue)
311
+ break;
312
+ case "用户名称":
313
+ this.setProperty("checkplanitems","username",this.planItemConditionValue)
314
+ break;
315
+ }
316
+ }
317
+ }
318
+
319
+ //是否共享计划单选按钮事件
320
+ isAndNotChange(isAndNotselect){
321
+ this.sIsAndNotSelect=isAndNotselect
322
+ if(this.sIsAndNotSelect=="是"){
323
+ this.setProperty("checkplan","isAndNot","is null")
324
+ }
325
+ if(this.sIsAndNotSelect=="否"){
326
+ this.setProperty("checkplan","isAndNot","is not null")
327
+ }
328
+ }
329
+
330
+ //按条件查询所有安检计划
331
+ async loadCheckPlan(sortfield,f) {
332
+ this.isSend=true
333
+ this.checkplan.check.checkes=[]
334
+ if(sortfield){//如果传入空串说明是查询 传入非空串就是排序
335
+ console.log("进入排序")
336
+ if(sortfield==this.currentorder){
337
+ this.isSend=false
338
+ return
339
+ }else{
340
+ this.currentorder=sortfield
341
+ }
342
+ }
343
+ let fieldValue=''
344
+ switch(this.currentorder){
345
+ case "按时间降序":
346
+ fieldValue='f_create_time desc'
347
+ break
348
+ case "按时间升序":
349
+ fieldValue='f_create_time'
350
+ break
351
+ }
352
+ console.log("值"+sortfield+"--当前值"+this.currentorder+"---排序值:"+fieldValue)
353
+ await this.checkplan.searchList("/rs/sql/预约计划下发",
354
+ {"f_plan_name": "f_plan_name like '%{}%'",
355
+ "f_plan_year":"f_plan_year={}",
356
+ "f_plan_month":"f_plan_month={}",
357
+ "checkerid":"f_checker_id={}",
358
+ "isAndNot":"f_checker {}",
359
+ "safechecktype":"f_safecheck_type='{}'",
360
+ "issude":"f_issued = '{}'"
361
+ },
362
+ {orderitem:fieldValue,
363
+ f_filialeids:"("+this.filialeid+")",
364
+ groupitem:""
365
+ }
366
+ )
367
+ //调刷新函数????
368
+ console.log('调刷新函数????--')
369
+ f()
370
+ this.isSend=false
371
+ }
372
+
373
+ // 查询待检用户
374
+ async searchUser(f) {
375
+ this.isSend=true
376
+ this.user.check.checkes=[]
377
+ this.jointCondition1("conditionList","user")
378
+ let sday=''
379
+ let eday=''
380
+ if(this.startday.trim()!=''){
381
+ if(isNaN(this.startday) || isNaN(this.endday)){
382
+ Vue.showMessage("请输入数字!")
383
+ return
384
+ }
385
+ if(this.selectTime=="月"){
386
+ sday= this.startday*30
387
+ this.endday.trim()!=''?eday= this.endday*30:eday=''
388
+ }else{
389
+ sday= this.startday
390
+ this.endday.trim()!=''?eday= this.endday:eday=''
391
+ }
392
+ if(eday){
393
+ this.setProperty("user","checkTime"," DATEDIFF(dd,ua.f_last_check_date,GETDATE())>="+parseInt(sday,10)+" and DATEDIFF(dd,ua.f_last_check_date,GETDATE())<="+parseInt(eday,10))
394
+ }else{
395
+ this.setProperty("user","checkTime"," DATEDIFF(dd,ua.f_last_check_date,GETDATE())>="+parseInt(sday,10))
396
+ }
397
+ }else{
398
+ this.setProperty("user","checkTime","")
399
+ }
400
+ if(this.yChecked=='已在计划中'){
401
+ this.setProperty("user","ychecked","ua.f_plan_id is not null")
402
+ }else if(this.yChecked=='未在计划中'){
403
+ this.setProperty("user","ychecked","ua.f_plan_id is null")
404
+ }else{
405
+ this.setProperty("user","ychecked","")
406
+ }
407
+ if(this.user.search.model.f_backlist){
408
+ if(this.user.search.model.f_backlist=='是'){
409
+ this.setProperty("user","f_backlist"," up.id is not null")
410
+ }else if(this.user.search.model.f_backlist=='否'){
411
+ this.setProperty("user","f_backlist"," up.id is null")
412
+ }else{
413
+ this.setProperty("user","f_backlist","")
414
+ }
415
+ }
416
+ this.user.search.setField("f_filialeid",this.filialeid)
417
+ await this.user.searchList("/rs/sql/FetchUserFileByOrgNoRuHuSXQ", {
418
+ "f_filialeid": "ui.f_filialeid={}",
419
+ "userinfocode": "ui.f_userinfo_code='{}'",
420
+ "username": "ui.f_user_name like '%{}%'",
421
+ "useraddress": "ua.f_address like '%{}%'",
422
+ "userType":"uf.f_user_type='{}'",
423
+ "f_residential_area":"ua.f_residential_area = '{}'",
424
+ "f_building":"ua.f_building='{}'",
425
+ "f_unit":"ua.f_unit='{}'",
426
+ "f_user_state":"ui.f_user_state='{}'",
427
+ "checkTime":" {}",
428
+ "meterbook":"uf.f_meter_book_num='{}'",
429
+ "user_start":" uf2.f_dateofopening >='{}'",
430
+ "user_end":" uf2.f_dateofopening <='{}'",
431
+ "check_start":" ua.f_last_check_date >='{}'",
432
+ "check_end":" ua.f_last_check_date<= '{}'",
433
+ "area":" f_book_slice_area ='{}'",
434
+ "ychecked":" {}",
435
+ "f_metertitles":" uf2.f_metertitles='{}'",
436
+ "f_gasproperties":" uf.f_gasproperties='{}'",
437
+ "uploadCondition":" {}",
438
+ "f_backlist":" {}"
439
+ }, {
440
+ "orderitem": 'f_residential_area,f_building,f_unit,f_floor,f_room',
441
+ "f_usertype": '',
442
+ "month": '',
443
+ "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
444
+ "SafeCheckCQ": '',
445
+ "startday":"",
446
+ "endday":""
447
+ })
448
+ f()
449
+ this.isSend=false
450
+ }
451
+
452
+ //查询安检员selectChanged
453
+ async searchChecker(id){
454
+ let res=await this.http.load('POST', '/rs/search', {
455
+ source: 'tool.getChildrenOfResName($安检员$)',
456
+ userid: id
457
+ }, {resolveMsg: null, rejectMsg: null})
458
+ this.checker=[]
459
+ res.data.forEach((resRow) => {
460
+ if(resRow.orgid==this.filialeid){
461
+ this.checker.push(resRow)
462
+ }
463
+ })
464
+ console.log("安检员列表---"+JSON.stringify(res)+"---id"+this.filialeid)
465
+ }
466
+
467
+ async searchPlanItems(f) {
468
+ await this.checkplanitems.searchList("/rs/sql/planItem", {"f_plan_id": "f_plan_id={}"}, {})
469
+ f()
470
+ }
471
+ //得到更新数据
472
+ async getPaper(id,f) {
473
+ let res=await this.http.load("POST", "/rs/path/getUserinfomation", {
474
+ data:{
475
+ condition:"f_check_item_id='"+id+"'"
476
+ }
477
+ })
478
+
479
+
480
+ this.suppplanitem=res.data[0]
481
+ if (this.suppplanitem.f_check_type!=null) {
482
+ this.suppplanitem["f_user_type"]=this.suppplanitem.f_check_type
483
+ }
484
+ this.fdevices=[]
485
+
486
+ if(this.suppplanitem.f_devices.length!=0){
487
+
488
+ for (let i = 0; i <this.str.length ; i++) {
489
+ if (this.suppplanitem.f_devices[i]==undefined) {
490
+ this.fdevices.push({
491
+ f_device_type: this.str[i].checkname,
492
+ f_items: []
493
+ //id: this.suppplanitem.f_devices[i] == undefined ? "" : this.suppplanitem.f_devices[i].id
494
+ })
495
+ }else {
496
+ this.fdevices.push({
497
+ f_device_type: this.str[i].checkname,
498
+ f_items: [],
499
+ id:this.suppplanitem.f_devices[i].id
500
+ })
501
+ }
502
+ }
503
+ }else{for (let i = 0; i <this.str.length ; i++) {
504
+
505
+ this.fdevices.push({f_device_type:this.str[i].checkname,f_items:[]})
506
+ }}
507
+
508
+ this.setFitemvalue()
509
+ f()
510
+
511
+
512
+
513
+ }
514
+
515
+ //补录时改变fdevice
516
+ suppfdevice(){
517
+ for (let i = 0; i <this.str.length ; i++) {
518
+ this.fdevices.push({f_device_type:this.str[i].checkname,f_items:[]})
519
+ }
520
+ console.log("supp最后的listbutton"+JSON.stringify(this.listbutton))
521
+ this.changeListButton()
522
+ }
523
+ //改变数组的样式
524
+ changeListButton(){
525
+ let listarray=[]
526
+ for (let i = 0; i < this.listbutton.length; i++) {
527
+ if (!this.listbutton[i].mname){
528
+ console.log("这是"+this.listbutton[i].lname.length)
529
+ listarray.push(this.listbutton[i])
530
+ listarray.push({"lname":"","type":"","mname":"","selected":"","level":"","isdefect":""})
531
+ listarray.push({"lname":"","type":"","mname":"","selected":"","level":"","isdefect":""})
532
+ listarray.push({"lname":"","type":"","mname":"","selected":"","level":"","isdefect":""})
533
+ let count=0
534
+ for (let j = 0; j < this.listbutton.length; j++) {
535
+ if(this.listbutton[i].lname.substring(0,this.listbutton[i].lname.length-1)==this.listbutton[j].mname){
536
+
537
+ listarray.push(this.listbutton[j])
538
+ count++
539
+ }
540
+ }
541
+ if (count%4!=0){
542
+ for (let j = 0; j <4-count%4; j++) {
543
+ listarray.push({"lname":"","type":"","mname":"","selected":"","level":"","isdefect":""})
544
+ }
545
+ }
546
+ }
547
+ }
548
+ console.log("需要的数据"+JSON.stringify(listarray))
549
+ this.listbutton=listarray
550
+ this.tranlistbutton()
551
+ }
552
+ //横向分开list
553
+ tranlistbutton(){
554
+ console.log("jinru111111111111")
555
+ for (let i = 0; i < this.listbutton.length; i++) {
556
+ if((i+1)%4==1){
557
+ this.listbuttona.push(this.listbutton[i])
558
+ }else if((i+1)%4==2){
559
+ this.listbuttonb.push(this.listbutton[i])
560
+ }else if((i+1)%4==3){
561
+ this.listbuttonc.push(this.listbutton[i])
562
+ }else if((i+1)%4==0){
563
+ this.listbuttond.push(this.listbutton[i])
564
+ }
565
+ }
566
+ }
567
+ SelectedPlanType=''
568
+ // 打开安检计划,加载安检计划的所有安检单
569
+ async openPlan(plan, f) {
570
+ this.isSend=true
571
+ this.checkplanitems.check.checkes=[]
572
+ this.SelectedPlan=plan.id
573
+ this.SelectedPlanType=plan.f_safecheck_type
574
+ this.plan=plan
575
+ this.checkplanitems.search.setField("f_plan_id", plan.id)
576
+ this.checkplanitems.search.setField("f_state", "作废")
577
+ await this.checkplanitems.searchList("/rs/sql/planItem", {"f_plan_id": "i.f_plan_id='{}'","f_state": "i.f_state !='{}'"}, {})
578
+ f()
579
+ //this.checkplanitems.search.model.f_plan_id
580
+ this.isSend=false
581
+ }
582
+
583
+ //根据条件查询某个安检计划下的安检单
584
+ async searchPlanItem(f) {
585
+ this.checkplanitems.check.checkes=[]
586
+ if(this.checkplanitems.search.model.f_plan_id){
587
+ this.isSend=true
588
+ console.log("进入加载安检计划项"+this.checkplanitems.search.model.f_plan_id)
589
+ this.jointCondition1("planitemconditionList","checkplanitems")
590
+ await this.checkplanitems.searchList("/rs/sql/planItem",
591
+ {"f_plan_id": "i.f_plan_id='{}'",
592
+ "usercode": "i.f_userinfo_code='{}'",
593
+ "username": "i.f_user_name='{}'",
594
+ "f_address": "i.f_address like '%{}%'",
595
+ "f_last_check_state": "i.f_last_check_state='{}' ",
596
+ "f_start_time": "i.f_last_check_date >='{}'",
597
+ "f_end_time": "i.f_last_check_date <='{}'",
598
+ "f_last_check_result":"i.f_last_check_result like '%{}%'",
599
+ 'f_user_state':"uf.f_userstate='{}'",
600
+ "f_state": "i.f_state !='{}'",
601
+ "f_state1": "i.f_state ='{}'"
602
+ },
603
+ {})
604
+ f()
605
+ this.isSend=false
606
+ }else{
607
+ Vue.showMessage("请选择安检计划")
608
+ }
609
+ }
610
+ //加载更多数据
611
+ async loadMore(modelname,f) {
612
+ this.isSend=true
613
+ await this[modelname].list.loadMore()
614
+ f()
615
+ this.isSend=false
616
+ }
617
+
618
+ //点击全选按钮事件 user-用户列表 planitem-计划项列表
619
+ changeCheckAll(modulename, f) {
620
+ this[modulename].check.setCheckAll()
621
+ f()
622
+ }
623
+
624
+ //当选中列表中某项时触发
625
+ addParam(modulename, id) {
626
+ console.log("当前值"+modulename+"--------"+id)
627
+ this[modulename].check.setCheckes(id)
628
+ }
629
+
630
+ //设置属性值
631
+ setProperty(modulename, property, value,f) {
632
+
633
+ console.log(modulename+"新添--"+property+"--"+value)
634
+ if(property=='area'){
635
+ this.selectChanged("user","meterbook","","",f)
636
+ if(value=='全部'){
637
+ this[modulename].search.setField(property, '')
638
+ this.cbc=[]
639
+ this.meterbooks.forEach((res) => {
640
+ this.cbc.push({label: res.f_book_name, value: res.id})
641
+ /*if(res.f_book_slice_area){
642
+ if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
643
+ this.sliceArea.push(res.f_book_slice_area)
644
+ }
645
+ }*/
646
+ })
647
+ f()
648
+ return
649
+ }
650
+ this[modulename].search.setField(property, value)
651
+ this.cbc=[]
652
+ this.meterbooks.forEach((res) => {
653
+ if(res.f_book_slice_area==value){
654
+ this.cbc.push({label: res.f_book_name, value: res.id})
655
+ }
656
+
657
+ /*if(res.f_book_slice_area){
658
+ if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
659
+ this.sliceArea.push(res.f_book_slice_area)
660
+ }
661
+ }*/
662
+ })
663
+ f()
664
+ }else if(value=='全部'){
665
+ this[modulename].search.setField(property, '')
666
+ }else{
667
+ this[modulename].search.setField(property, value)
668
+ }
669
+ }
670
+
671
+ //列表中的选择框是否被选中
672
+ hasValue(modulename,value){
673
+ this[modulename].check.checks.has()
674
+ }
675
+ // 给新建安检计划设置属性值
676
+ setNewPlan(property, value) {
677
+ console.log(value)
678
+ this.newPlan[property] = value
679
+ return this
680
+ }
681
+ //将某项拖动到计划中
682
+ //dragParam:从拖动的起始位置传入的参数
683
+ async dragtoPlan(f_plan_id,f_safecheck_type,f_filialeid,dragParam,f){
684
+ console.log("当前传入:"+dragParam)
685
+ await this.dragtoPlanItem(f_plan_id,f_safecheck_type,dragParam,f)
686
+ await this.dragtoOtherPlanIteem(f_plan_id,dragParam,f)
687
+ }
688
+
689
+ //将客户信息拖至计划中
690
+ async dragtoPlanItem(f_plan_id,f_safecheck_type,dragParam,f) {
691
+
692
+ console.log("计划id:"+f_plan_id+"公司id:"+this.filialeid)
693
+ if(dragParam=='user'){
694
+ this.jointCondition("user")
695
+ if(this.checkplanitems.search.model.f_plan_id){
696
+ this.isSend=true
697
+ let res=await this.http.load("POST", "/rs/logic/AddCheckPlanItem", {
698
+ data:{
699
+ f_operator:global.login.name,
700
+ f_plan_id:f_plan_id,
701
+ f_safecheck_type:f_safecheck_type,
702
+ f_filialeid:this.filialeid,
703
+ f_subscribe_date:'',
704
+ condition:this.user.search.search({
705
+ "f_filialeid": "ui.f_filialeid={}",
706
+ "userinfocode": "ui.f_userinfo_code='{}'",
707
+ "username": "ui.f_user_name like '%{}%'",
708
+ "useraddress": "ua.f_address like '%{}%'",
709
+ "userType":"uf.f_user_type='{}'",
710
+ "f_residential_area":"ua.f_residential_area = '{}'",
711
+ "f_building":"ua.f_building='{}'",
712
+ "f_unit":"ua.f_unit='{}'",
713
+ "f_user_state":"ui.f_user_state='{}'",
714
+ "checkTime":" {}",
715
+ "meterbook":"uf.f_meter_book_num='{}'",
716
+ "user_start":" uf2.f_dateofopening >='{}'",
717
+ "user_end":" uf2.f_dateofopening <='{}'",
718
+ "check_start":" ua.f_last_check_date >='{}'",
719
+ "check_end":" ua.f_last_check_date<= '{}'",
720
+ "area":" ua.f_slice_area='{}'",
721
+ "ychecked":" {}",
722
+ "f_metertitles":" uf2.f_metertitles='{}'",
723
+ "f_gasproperties":" uf.f_gasproperties='{}'",
724
+ "uploadCondition":" {}",
725
+ "f_backlist":" {}"
726
+ }),
727
+ switchCheckAll:this.user.check.switchCheckAll,
728
+ checkAll:this.user.check.checkAll,
729
+ param:this.user.check.checkes,
730
+ columnName: "ua.id"
731
+ }
732
+ }, {resolveMsg: null, rejectMsg: null})
733
+ console.log("重复数量-"+JSON.stringify(res.data.result)+"---"+res.data.result.length)
734
+ if(res.data.code==200){
735
+ //alert("添加成功!有"+res.data.result.length+"条用户地址已经存在于其他计划中: \n"+res.data.result.reduce((c,v)=>{c += v.f_user_name+":"+v.f_address+"\n"}),0)
736
+ Vue.showMessage("添加成功!"+(res.data.result.length>0?"有"+res.data.result.length+"条用户地址已经存在于其他计划中":""))
737
+ }else{
738
+ Vue.showMessage("添加失败!")
739
+ }
740
+ this.user.check.checkes=[]
741
+ await this.searchUser(()=>{})
742
+ await this.searchPlanItem(()=>{})
743
+ await this.loadCheckPlan("",()=>{})
744
+ f()
745
+ this.isSend=false
746
+ }else{
747
+ Vue.showMessage("请先打开一个计划再进行操作")
748
+ }
749
+ }
750
+ }
751
+
752
+ //将某个计划下的一项拖到另一个计划
753
+ async dragtoOtherPlanIteem(checkplanid,dragParam,f) {
754
+ if(dragParam=='item'){
755
+ this.isSend=true
756
+ let res=await this.http.load("POST", "/rs/logic/UpCheckPlanItem", {
757
+ data:{
758
+ f_operator:global.login.name,
759
+ f_plan_id:checkplanid,
760
+ condition:this.checkplanitems.search.search({"f_plan_id": "i.f_plan_id='{}'",
761
+ "usercode": "it.f_userinfo_code='{}'",
762
+ "username": "it.f_user_name='{}'",
763
+ "f_address": "it.f_address like '%{}%'",
764
+ "f_last_check_state": "it.f_last_check_state='{}' ",
765
+ "f_start_time": "it.f_last_check_date >='{}'",
766
+ "f_end_time": "it.f_last_check_date <='{}'",
767
+ "f_last_check_result":"it.f_last_check_result like '%{}%'",
768
+ 'f_user_state':"uf.f_userstate='{}'",
769
+ "f_state": "it.f_state !='{}'",
770
+ "f_state1": "it.f_state ='{}'"
771
+ }),
772
+ switchCheckAll:this.checkplanitems.check.switchCheckAll,
773
+ checkAll:this.checkplanitems.check.checkAll,
774
+ param:this.checkplanitems.check.checkes,
775
+ columnName: "it.id"
776
+ }
777
+ }, {resolveMsg: null, rejectMsg: null})
778
+ if(res.data.code==200){
779
+ await this.searchUser(()=>{})
780
+ await this.searchPlanItem(()=>{})
781
+ await this.loadCheckPlan("",()=>{})
782
+ f()
783
+ Vue.showMessage("更换安检计划成功!")
784
+ }else{
785
+ Vue.showMessage("更换安检计划失败!")
786
+ }
787
+ f()
788
+ this.isSend=false
789
+ }
790
+
791
+ }
792
+
793
+ //修改计划项状态为作废
794
+ async delPlanItem(dragParam,f) {
795
+ console.log("进入作废计划项方法")
796
+ if(dragParam=='item'){
797
+ Vue.showMessage("此操作无法撤回,确定要执行作废安检单操作吗?",['confirm','cancel']).then((button)=>{
798
+ if(button=='confirm'){
799
+ this.isSend=true
800
+ let resu=this.http.load("POST", "/rs/logic/UpCheckPlanItemState", {
801
+ data: {
802
+ f_operator:global.login.name,
803
+ condition:this.checkplanitems.search.search({"f_plan_id": "i.f_plan_id='{}'",
804
+ "usercode": "i.f_userinfo_code='{}'",
805
+ "username": "i.f_user_name='{}'",
806
+ "f_address": "i.f_address like '%{}%'",
807
+ "f_last_check_state": "i.f_last_check_state='{}' ",
808
+ "f_start_time": "i.f_last_check_date >='{}'",
809
+ "f_end_time": "i.f_last_check_date <='{}'",
810
+ "f_last_check_result":"i.f_last_check_result like '%{}%'",
811
+ 'f_user_state':"uf.f_userstate='{}'",
812
+ "f_state": "i.f_state !='{}'",
813
+ "f_state1": "i.f_state ='{}'"
814
+ }),
815
+ switchCheckAll:this.checkplanitems.check.switchCheckAll,
816
+ checkAll:this.checkplanitems.check.checkAll,
817
+ param:this.checkplanitems.check.checkes,
818
+ columnName: "i.id"
819
+ }
820
+ }, {resolveMsg: null, rejectMsg: null}).then((resu)=>{
821
+
822
+ console.log("-----------"+JSON.stringify(resu.data))
823
+ if(resu.data.code==200){
824
+ Vue.showMessage("移除安检单成功! 成功移除:"+resu.data.res.up+"条"+(resu.data.res.noup>0?"有"+resu.data.res.noup+"条已经不是 ‘未检’ 状态!":""))
825
+ this.searchUser(f)
826
+ this.searchPlanItem(f)
827
+ this.loadCheckPlan("",f)
828
+ }else{
829
+ Vue.showMessage("取消安检计划失败!")
830
+ }
831
+ this.isSend=false
832
+ })
833
+
834
+ }
835
+
836
+ })
837
+
838
+ }
839
+
840
+ }
841
+
842
+ //新建计划
843
+ async addNewPlan(f) {
844
+ if(!this.validationCreatePlan()){
845
+ return
846
+ }
847
+ this.isSend=true
848
+ let res=await this.http.load("POST","/rs/sql/getCheckplan", {data: {condition:"f_plan_name='"+this.newPlan.f_plan_name+"'",sortfield:'f_create_time desc'}})
849
+ console.log("结果-"+res.data.length)
850
+ if(res.data.length>0){
851
+ Vue.showMessage("计划名称不能重复!")
852
+ this.isSend=false
853
+ return
854
+ }
855
+ if(this.isShare=="是"){
856
+ this.newPlan.f_checker_id=null
857
+ this.newPlan.f_checker=null
858
+ }
859
+ this.newPlan.f_plan_type='预约计划'
860
+ this.newPlan.f_subcompany=global.login.orgs
861
+ this.newPlan.f_filialeid=this.filialeid
862
+ this.newPlan.f_create_operator=global.login.name
863
+ this.newPlan.f_create_time=this.getNowFormatDate()
864
+ await Vue.resetpost("/rs/logic/createCheckPlan", {"data": this.newPlan},{resolveMsg : '新建计划成功!', rejectMsg : '新建计划失败!'})
865
+ //await this.loadCheckPlan('',()=>{})
866
+ this.newPlan={f_issued:"否"}
867
+ this.isShare="否"
868
+ await this.loadCheckPlan('',()=>{})
869
+ f()
870
+ window.dispatchEvent(new CustomEvent("goRefresh"),{})
871
+ this.isSend=false
872
+
873
+ }
874
+
875
+ // 取消新建安检计划
876
+ cancel() {
877
+ this.newPlan={f_issued:"否"}
878
+ this.isShare="否"
879
+ this.plan={}
880
+ }
881
+
882
+ // 取年的选择项目
883
+ years() {
884
+ return date.yearSelects
885
+ }
886
+ /*
887
+ 1.获取配置文件
888
+ 2.组装配置文件 (配置文件[] JS提前固定的数组[] return [])
889
+ */
890
+
891
+ // str = [
892
+ // {
893
+ // "checkname": "燃气表",
894
+ // "checkmust":false,
895
+ // "items":[
896
+ // {"lname": "表具状态","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"包裹","isdefect":true,"level":"C2","isdefault": false,"tooltip":"1.整改时限1日,2,禁止使用,及时联系公司客服"},{"data":"漏气","isdefect":true,"level":"A1","isdefault": false,"tooltip":"1.整改时限1日,2,禁止使用,及时联系公司客服"}]},
897
+ // {"lname": "表故障","multiple":true,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"破损变形","isdefect":true,"level":"B2","isdefault": false,"tooltip":"1.整改时限1日,2,禁止使用,及时联系公司客服"},{"data":"失效","isdefect":true,"level":"B2","isdefault": false},{"data":"不走字","isdefect":true,"level":"B2","isdefault": false},{"data":"铅封损坏","isdefect":true,"level":"B2","isdefault": false},{"data":"气表到期(使用年限超过八年)","isdefect":true,"level":"B2","isdefault": false}]},
898
+ // {"lname": "腐蚀","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"轻微","isdefect":false,"isdefault": false},{"data":"中度","isdefect":false,"isdefault": false},{"data":"严重","isdefect":true,"level":"A2","isdefault": false,"tooltip":"1.整改时限1日,2,禁止使用,及时联系公司客服"}]},
899
+ // {"lname": "使用年限","type":"string", "data": 8,"isshow": false}
900
+ // ]
901
+ // },
902
+ // {
903
+ // "checkname": "阀门",
904
+ // "checkmust":true,
905
+ // "items":[
906
+ // {"lname": "阀门","multiple":true,"type":"selector","options":[{"data":"无阀门","isdefect":true,"level":"A2"},{"data":"无阀柄","isdefect":true,"level":"A2"},{"data":"失效","isdefect":true,"level":"A2"}]},
907
+ // {"lname": "表前阀","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A1","isdefault": false}]},
908
+ // {"lname": "灶前阀","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A1","isdefault": false}]},
909
+ // {"lname":"使用年限","type":"string", "data": 8,"isshow": false}
910
+ // ]
911
+ // },
912
+ // {
913
+ // "checkname": "户内管",
914
+ // "quantity": 2,
915
+ // "checkmust":true,
916
+ // "items":[
917
+ // {"lname": "穿墙管","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A8"}]},
918
+ // {"lname": "胶管","multiple":true,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"老化、超期使用","isdefect":true,"level":"A8"},{"data":"未紧箍","isdefect":true,"level":"C2"},
919
+ // {"data":"软管穿墙","isdefect":true,"level":"C2"},{"data":"软管超长(长度超过两米)","isdefect":true,"level":"C2"},{"data":"非专用软管","isdefect":true,"level":"C2"}]},
920
+ // {"lname": "镀锌管","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A8"}]},
921
+ // {"lname": "铝塑管、波纹管","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A8"}]},
922
+ // {"lname": "热水器管","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A8"}]},
923
+ // {"lname":"使用年限","type":"string", "data": 8,"isshow": false}
924
+ // ]
925
+ // },
926
+ // {
927
+ // "checkname": "热水器",
928
+ // "quantity": 0,
929
+ // "checkmust":false,
930
+ // "items":[
931
+ // {"lname": "热水器品牌","type":"string"},
932
+ // {"lname": "热水器烟道","multiple":true,"type":"selector","options":[{"data":"正常","isdefect":false},{"data":"未安装烟道","isdefect":true,"level":"A8","tooltip":"1.整改时限1日,2,禁止使用,及时联系公司客服"},{"data":"烟道未与大气直接连通","isdefect":true,"level":"A8"},{"data":"安装不规范","isdefect":true,"level":"A8"}]},
933
+ // {"lname": "安装位置","multiple":false,"type":"selector","options":[{"data":"卫生间","isdefect":false},{"data":"卧室","isdefect":true,"level":"A8"},
934
+ // {"data":"客厅过道","isdefect":true,"level":"A8"},{"data":"内厨房","isdefect":true,"level":"A8"},{"data":"其他密封或通风不良房间","isdefect":true,"level":"A8"}]},
935
+ // {"lname": "工作状态","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false},{"data":"异常","isdefect":true,"level":"A8"}]},
936
+ // {"lname":"使用年限","type":"string", "data": 4,"isshow": false}
937
+ // ]
938
+ // },
939
+ // {
940
+ // "checkname": "燃气具",
941
+ // "checkmust":false,
942
+ // "items":[
943
+ // {"lname": "燃气具品牌","type":"string"},
944
+ // {"lname": "安装位置","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"异常","isdefect":true,"level":"A8","isdefault": false}]},
945
+ // {"lname": "安装状况","multiple":false,"type":"selector","options":[{"data":"正常","isdefect":false,"isdefault": true},{"data":"超年限(使用年限为8年)","isdefect":true,"level":"A8","isdefault": false}]},
946
+ // {"lname":"使用年限","multiple":false,"type":"string", "data": 4}
947
+ // ]
948
+ // },
949
+ // {
950
+ // "checkname": "其他",
951
+ // "checkmust":false,
952
+ // "items":[
953
+ // {"lname": "使用简易三通","multiple":false,"type":"selector","options":[{"data":"否","isdefect":false},{"data":"是","isdefect":true,"level":"A8"}]},
954
+ // {"lname": "私自安装、改迁燃气设施及设备","multiple":false,"type":"selector","options":[{"data":"否","isdefect":false},{"data":"是","isdefect":true,"level":"A8","tooltip":"1.整改时限1日,2,禁止使用,及时联系公司客服"}]},
955
+ // {"lname": "违反安全间距规定","multiple":false,"type":"selector","options":[{"data":"否","isdefect":false},{"data":"是","isdefect":true,"level":"A8"}]},
956
+ // {"lname": "燃气设施及设备上搭挂重物","multiple":false,"type":"selector","options":[{"data":"否","isdefect":false},{"data":"是","isdefect":true,"level":"A8"}]},
957
+ // {"lname": "燃气管道被作电器接地线使用","multiple":false,"type":"selector","options":[{"data":"否","isdefect":false},{"data":"是","isdefect":true,"level":"A8"}]}
958
+ // ]
959
+ // }
960
+ // ]
961
+ //str=[{"checkname":"热水器","index":3,"items":[{"lname":"烟道式安装在卫生间","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":1,"type":"selector"},{"lname":"已过八年强制报废期","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":4,"type":"selector"},{"lname":"热水器泄露","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":3,"type":"selector"},{"lname":"热水器品牌","index":5,"type":"string"},{"lname":"启用时间","index":6,"type":"date"},{"lname":"强制式安排在卫生间","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":2,"type":"selector"}]},{"checkname":"炉","index":2,"items":[{"lname":"嵌入式炉子下面柜门无通风口","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":4,"type":"selector"},{"lname":"炉泄露","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":1,"type":"selector"},{"lname":"已过8年强制报废期","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":2,"type":"selector"},{"lname":"炉子品牌","index":5,"type":"string"},{"lname":"无自动熄火保护装置","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":3,"type":"selector"},{"lname":"启用时间","index":6,"type":"date"}]},{"checkname":"灶前阀","index":4,"items":[{"lname":"无把柄","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":3,"type":"selector"},{"lname":"泄露","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":1,"type":"selector"},{"lname":"开关不便","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":2,"type":"selector"}]},{"checkname":"其他","index":7,"items":[{"lname":"其他/压力","index":1,"type":"string"}]},{"checkname":"胶管","index":5,"items":[{"lname":"超2年","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":2,"type":"selector"},{"lname":"超2米","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":4,"type":"selector"},{"lname":"穿墙","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":5,"type":"selector"},{"lname":"老化","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":1,"type":"selector"},{"lname":"无管卡","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":3,"type":"selector"}]},{"checkname":"管道","index":6,"items":[{"lname":"泄露","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":1,"type":"selector"},{"lname":"一般锈蚀","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":4,"type":"selector"},{"lname":"暗埋","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":2,"type":"selector"},{"lname":"严重锈蚀","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":3,"type":"selector"},{"lname":"悬挂物品","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":5,"type":"selector"}]},{"checkname":"燃气表","index":1,"items":[{"lname":"表前阀无把柄","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":16,"type":"selector"},{"lname":"运转正常","multiple":false,"options":[{"isdefect":false,"data":"是"},{"isdefect":false,"data":"否","isdefault":true}],"index":11,"type":"selector"},{"lname":"表不转动","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":12,"type":"selector"},{"lname":"表前阀泄露","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":15,"type":"selector"},{"lname":"表前阀开关不便","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":17,"type":"selector"},{"lname":"未封表","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":13,"type":"selector"},{"lname":"封闭无通风","multiple":false,"options":[{"isdefect":true,"data":"是","isdefault":false},{"isdefect":false,"data":"否","isdefault":true}],"index":14,"type":"selector"}]}]
962
+
963
+
964
+ //遍历选择框以及得到list
965
+ getselector(){
966
+ this.listbutton=[]
967
+
968
+ for (let i = 0; i <this.str.length ; i++) {
969
+ let strlist=[]
970
+ strlist=this.str[i].items.concat()
971
+ for (let j = 0; j <strlist.length ; j++) {
972
+ strlist[j]["mname"]=this.str[i].checkname
973
+ }
974
+ strlist.splice(0,0,{lname:this.str[i].checkname+":",type:"",mname:""})
975
+ let bb=this.listbutton
976
+ this.listbutton=bb.concat(strlist)
977
+
978
+
979
+ }
980
+
981
+ let h=this.listbutton
982
+ for (let i = 0; i <h.length ; i++) {
983
+
984
+ h[i]["selected"]=""
985
+ h[i]["level"]=""
986
+ h[i]["isdefect"]=""
987
+ if (h[i].type =="selector"){
988
+ let size=h[i].options.length
989
+
990
+ let pl=[]
991
+ for (let j = 0; j <size ; j++) {
992
+ let n=h[i].lname+h[i].mname
993
+
994
+ pl.push(h[i].options[j].data)
995
+ this.planItemConditional[n]=pl
996
+
997
+ }
998
+ }
999
+ }
1000
+
1001
+ console.log("get最后的listbutton"+JSON.stringify(this.listbutton))
1002
+ }
1003
+ //返回遍历的option
1004
+ reoption(key1,key2){
1005
+
1006
+ let modelname=key1+key2
1007
+ return this.planItemConditional[modelname]
1008
+
1009
+ }
1010
+
1011
+
1012
+ // 取月的选择项目
1013
+ months() {
1014
+ return date.monthSelects
1015
+ }
1016
+
1017
+ //下发安检计划
1018
+ async sendCheckPlan(f){
1019
+ if(this.checkplan.check.checkes.length<1){
1020
+ Vue.showMessage("请选择要下发的安检计划")
1021
+ return
1022
+ }
1023
+ this.isSend=true
1024
+ let res=await this.http.load("POST", "/rs/logic/NewBespeakCheckPlan", {
1025
+ data:{
1026
+ f_issued:'是',
1027
+ f_issue_time:this.getNowFormatDate(),
1028
+ f_send_operator:global.login.name,
1029
+ param:this.checkplan.check.checkes,
1030
+ }
1031
+ }, {resolveMsg: null, rejectMsg: null})
1032
+ if(res.data.code==200){
1033
+ //Vue.showMessage("下发成功!其中有"+res.data.repet+"个计划己经是下发状态")
1034
+ Vue.showMessage("下发成功!")
1035
+ await this.loadCheckPlan('',()=>{})
1036
+ f()
1037
+ }else{
1038
+ Vue.showMessage("下发失败!")
1039
+ }
1040
+ this.isSend=false
1041
+ }
1042
+
1043
+ //删除安检计划
1044
+ async delCheckPlan(f){
1045
+ if(this.checkplan.check.checkes.length<1){
1046
+ Vue.showMessage("请选择要删除的安检计划")
1047
+ return
1048
+ }
1049
+ this.isSend=true
1050
+ let res=await this.http.load("POST", "/rs/logic/deleteCheckPlan", {
1051
+ data:{
1052
+ f_operator:global.login.name,//global.login.name,
1053
+ condition:this.checkplan.search.search({}),
1054
+ switchCheckAll:this.checkplan.check.switchCheckAll,
1055
+ checkAll:this.checkplan.check.checkAll,
1056
+ param:this.checkplan.check.checkes,
1057
+ columnName: "f_plan_id"
1058
+ }
1059
+ }, {resolveMsg: "删除成功!", rejectMsg: "删除失败!"})
1060
+ console.log(JSON.stringify(res))
1061
+ if(res.data.code==200){
1062
+ Vue.showMessage("删除成功!"+res.data.message,"success",2500)
1063
+ await this.loadCheckPlan('',()=>{})
1064
+ }else{
1065
+ Vue.showMessage("删除失败!"+res.data.message,"success",2500)
1066
+ }
1067
+ this.checkplanitems.search.model.f_plan_id=""
1068
+ this.checkplanitems.list.data=[]
1069
+ f()
1070
+ this.isSend=false
1071
+ }
1072
+ //修改计划时 用来存储当前选中要修改的计划
1073
+ plan={}
1074
+ setPlanVal(value){
1075
+ console.log(value)
1076
+ this.plan=JSON.parse(JSON.stringify( value ))
1077
+ }
1078
+ setPlan(key,val){
1079
+ this.plan[key]=val
1080
+ }
1081
+ isUpdate(key1,key2){
1082
+ if (key1=="已检"&&key2!="补录"){
1083
+ return true;
1084
+ }
1085
+ return false;
1086
+ }
1087
+ //修改安检计划
1088
+ async upCheckPlan(f){
1089
+ if(this.plan.f_issued=='已下发'){
1090
+ Vue.showMessage("该计划已下发,无法进行修改!")
1091
+ return
1092
+ }
1093
+ this.isSend=true
1094
+ let res=await this.http.load("POST", "/rs/logic/updateCheckPlan", {
1095
+ data:{
1096
+ f_checker:this.plan.f_checker,
1097
+ f_checker_id:this.plan.f_checker_id,
1098
+ f_plan_name:this.plan.f_plan_name,
1099
+ f_plan_year:this.plan.f_plan_year,
1100
+ f_plan_month:this.plan.f_plan_month,
1101
+ f_plan_id:this.plan.id
1102
+ }
1103
+ }, {resolveMsg: null, rejectMsg: null})
1104
+ if(res.data.code==200){
1105
+ Vue.showMessage("修改成功!"+res.data.message,"success",2500)
1106
+ await this.loadCheckPlan('',()=>{})
1107
+ }else{
1108
+ Vue.showMessage("修改失败!"+res.data.message,"success",2500)
1109
+ }
1110
+ f()
1111
+ this.isSend=false
1112
+ }
1113
+
1114
+ /* getDataLength(modelname){
1115
+ console.log("sdadasdasdasdadasdadddddddddddddddddddddddddddddddddddddddddddd")
1116
+ let l=this[modelname].list.data.length
1117
+ console.log("--"+l)
1118
+ return l
1119
+ }*/
1120
+ //新建安检计划非空判断
1121
+ validationCreatePlan(){
1122
+ if(!this.newPlan.f_plan_name){
1123
+ Vue.showMessage("请输入安检计划名称!")
1124
+ return false
1125
+ }
1126
+ if(!this.newPlan.f_plan_year){
1127
+ Vue.showMessage("请选择安检年份!")
1128
+ return false
1129
+ }
1130
+ if(!this.newPlan.f_plan_month){
1131
+ Vue.showMessage("请选择安检月份!")
1132
+ return false
1133
+ }
1134
+ if(this.isShare=="否"){
1135
+ if(!this.newPlan.f_checker){
1136
+ Vue.showMessage("请选择安检人员!")
1137
+ return false
1138
+ }
1139
+ }else{
1140
+ this.newPlan.f_checker=''
1141
+ }
1142
+ if(!this.newPlan.f_safecheck_type){
1143
+ Vue.showMessage("请选择安检类型!")
1144
+ return false
1145
+ }
1146
+ return true
1147
+ }
1148
+
1149
+ //调用updatecheckpaper
1150
+ async addNewPaper(f){
1151
+ this.setFdevices()
1152
+ this.setfDevicesid()
1153
+ //return;
1154
+ for (var i = 0; i <this.checkerMess.length ; i++) {
1155
+ if (this.checkerMess[i].name==this.suppplanitem.f_checker_name){
1156
+ this.suppplanitem["f_checker_id"]=this.checkerMess[i].id
1157
+ }
1158
+ }
1159
+ //console.log(this.fdevices)
1160
+ //return;
1161
+ this.suppplanitem["f_devices"]=this.fdevices
1162
+ this.suppplanitem.f_check_type=this.suppplanitem.f_user_type
1163
+ this.suppplanitem.f_state = "已检"
1164
+ this.suppplanitem.f_approved = "未审核"
1165
+ this.suppplanitem.f_complete = "已完成"
1166
+ this.suppplanitem.f_no_checkplan ="有计划安检"
1167
+ //return;
1168
+ this.suppplanitem.f_check_plan_id=this.suppplanitem.f_plan_id
1169
+
1170
+ let res=await this.http.load("POST", "/rs/logic/SuppCheckPaper", {data:{paper:this.suppplanitem}})
1171
+
1172
+ this.openPlan(this.plan,f)
1173
+ f()
1174
+ window.dispatchEvent(new CustomEvent("goRefresh"),{})
1175
+ }
1176
+ addnewPaper(f){
1177
+ delete this.suppplanitem.id
1178
+ if(!this.suppplanitem.f_onsite_time){
1179
+ Vue.showMessage("提交失败,请输入开始时间!")
1180
+ return false
1181
+ }
1182
+ if(!this.suppplanitem.f_offsite_time){
1183
+ Vue.showMessage("提交失败,请输入结束时间!")
1184
+ return false
1185
+ }
1186
+ if(!this.suppplanitem.f_entry_status){
1187
+ Vue.showMessage("提交失败,请输入入户状态!")
1188
+ return false
1189
+ }
1190
+ if(!this.suppplanitem.f_usegas&&this.suppplanitem.f_entry_status=='入户'){
1191
+ Vue.showMessage("提交失败,请输入燃气使用状态!")
1192
+ return false
1193
+ }
1194
+ // if(!this.suppplanitem.f_checker_name){
1195
+ // Vue.showMessage("提交失败,请输入安检员!")
1196
+ // }
1197
+ this.addNewPaper(f)
1198
+ }
1199
+ updatePaper(f){
1200
+ this.addNewPaper(f)
1201
+ }
1202
+ setNewPaper(property,value){
1203
+ this.suppplanitem[property] = value
1204
+
1205
+
1206
+
1207
+ return this
1208
+ }
1209
+
1210
+ setFdevices(){
1211
+
1212
+
1213
+ var ar=this.listbutton
1214
+ var br=this.fdevices
1215
+ for (var i = 0; i <br .length; i++) {
1216
+ for (var j = 0; j < ar.length; j++) {
1217
+ if (br[i].f_device_type == ar[j].mname) {
1218
+ br[i].f_items.push({
1219
+ f_item_name: ar[j].lname,
1220
+ f_item_value: ar[j].selected,
1221
+ type: ar[j].type,
1222
+ f_is_defect: ar[j].isdefect,
1223
+ f_defect_level: ar[j].level,
1224
+ f_item_lists:[{
1225
+ //f_item_id: "",
1226
+ f_item_value: ar[j].selected,
1227
+ //id:""
1228
+ }]
1229
+ })
1230
+ }
1231
+ }
1232
+ }
1233
+ }
1234
+ //给fdevices赋值id
1235
+ setfDevicesid(){
1236
+ var suppf=this.suppplanitem.f_devices
1237
+ var fde=this.fdevices
1238
+ if (this.suppplanitem.hasOwnProperty("f_devices")){
1239
+ for (let i = 0; i <suppf.length ; i++) {
1240
+ for (let j = 0; j <fde.length; j++) {
1241
+ if (suppf[i].f_device_type==fde[j].f_device_type){
1242
+ for (let k = 0; k <suppf[i].f_items.length ; k++) {
1243
+ // console.log("789456123")
1244
+ for (let l = 0; l <fde[j].f_items.length ; l++) {
1245
+ // console.log("11111111111111")
1246
+ if (suppf[i].f_items[k].f_item_name==fde[j].f_items[l].f_item_name) {
1247
+ fde[j].f_items[l]["id"]=suppf[i].f_items[k].id
1248
+ if (suppf[i].f_items[k].f_item_lists.length!=0){
1249
+ fde[j].f_items[l].f_item_lists[0]["id"]=suppf[i].f_items[k].f_item_lists[0].id
1250
+ fde[j].f_items[l].f_item_lists[0]["f_item_id"]=suppf[i].f_items[k].f_item_lists[0].f_item_id
1251
+ }
1252
+ }
1253
+ }
1254
+ }
1255
+ }
1256
+ }
1257
+ }
1258
+ }else {
1259
+ this.suppplanitem.f_upload_date=this.getNowFormatDate()
1260
+ }
1261
+ }
1262
+ //
1263
+ setFitemvalue(){
1264
+ for (var k = 0; k <this.listbutton.length ; k++) {
1265
+ for (var i = 0; i <this.suppplanitem.f_devices.length ; i++) {
1266
+ for (var j = 0; j < this.suppplanitem.f_devices[i].f_items.length; j++) {
1267
+ if (this.listbutton[k].lname==this.suppplanitem.f_devices[i].f_items[j].f_item_name){
1268
+ this.listbutton[k].selected=this.suppplanitem.f_devices[i].f_items[j].f_item_value
1269
+ }
1270
+ }
1271
+ }
1272
+ }
1273
+ }
1274
+ //改变selected属性
1275
+ changeSelected(selectedname,selectedmname,selectedvalue){
1276
+ var sa=this.listbutton
1277
+ for (var i = 0; i <sa.length; i++) {
1278
+ if (sa[i].lname==selectedname&&sa[i].mname==selectedmname){
1279
+ sa[i].selected=selectedvalue
1280
+ if (sa[i].type=="selector"){//判断是否是选择类型
1281
+ for (var j = 0; j < sa[i].options.length; j++) {
1282
+ if (sa[i].options[j].data==selectedvalue){//赋值为json的level和isdefect
1283
+ sa[i].level=sa[i].options[j].level
1284
+ sa[i].isdefect=sa[i].options[j].isdefect
1285
+ }
1286
+ }
1287
+ }
1288
+ }
1289
+ }
1290
+ //console.log(this.fdevices)
1291
+ }
1292
+ getAreaList() {
1293
+ let res = this.http.load('POST', '/rs/sql/safe_singleTable_GroupBy', {
1294
+ data: {
1295
+ items: 'f_residential_area',
1296
+ tablename: 't_area',
1297
+ condition: 'f_filialeid = '+this.filialeid,
1298
+ groupitem: 'f_residential_area'
1299
+ }
1300
+ }, {resolveMsg: null, rejectMsg: null}).then((res)=>{
1301
+ if (res.data) {
1302
+ let arr=[]
1303
+ for(let i =0 ;i<res.data.length;i++){
1304
+ arr.push(res.data[i].f_residential_area)
1305
+ }
1306
+ this.conditionJson[0].options=arr
1307
+ }
1308
+ })
1309
+
1310
+ }
1311
+ //获取当前时间
1312
+ getNowFormatDate() {
1313
+ let date = new Date();
1314
+ let seperator1 = "-";
1315
+ let seperator2 = ":";
1316
+ let month = date.getMonth() + 1;
1317
+ let strDate = date.getDate();
1318
+ let hour = date.getHours();
1319
+ let min = date.getMinutes();
1320
+ let second = date.getSeconds();
1321
+ if (month >= 1 && month <= 9) {
1322
+ month = "0" + month;
1323
+ }
1324
+ if (strDate >= 0 && strDate <= 9) {
1325
+ strDate = "0" + strDate;
1326
+ }
1327
+ if (hour >= 0 && hour <= 9) {
1328
+ hour = "0" + hour;
1329
+ }
1330
+ if (min >= 0 && min <= 9) {
1331
+ min = "0" + min;
1332
+ }
1333
+ if (second >= 0 && second <= 9) {
1334
+ second = "0" + second;
1335
+ }
1336
+ let currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1337
+ + " " + hour + seperator2 + min
1338
+ + seperator2 + second;
1339
+ return currentdate;
1340
+ }
1341
+ //excel导出
1342
+ async exportFile(){
1343
+ if(!this.checkplanitems.search.model.f_plan_id){
1344
+ Vue.showMessage("请选择先打开一个安检计划!")
1345
+ return
1346
+ }
1347
+ this.isSend=true
1348
+ this.jointCondition1("planitemconditionList","checkplanitems")
1349
+ let res=await this.http.load('POST','rs/logic/SafeExportExcel',
1350
+ {
1351
+ "data": {
1352
+ "body": {
1353
+ "data": {
1354
+ "condition": this.checkplanitems.search.search({"f_plan_id": "i.f_plan_id='{}'",
1355
+ "usercode": "i.f_userinfo_code='{}'",
1356
+ "username": "i.f_user_name='{}'",
1357
+ "f_address": "i.f_address like '%{}%'",
1358
+ "f_last_check_state": "i.f_last_check_state='{}' ",
1359
+ "f_start_time": "i.f_last_check_date >='{}'",
1360
+ "f_end_time": "i.f_last_check_date <='{}'",
1361
+ "f_last_check_result":"i.f_last_check_result like '%{}%'",
1362
+ 'f_user_state':"uf.f_userstate='{}'",
1363
+ "f_state": "i.f_state !='{}'",
1364
+ "f_state1": "i.f_state ='{}'"
1365
+ })
1366
+ },
1367
+ "field": ["f_userinfo_code:用户编号","f_user_name:用户名称",
1368
+ "f_user_type:用户类型","f_userstate:用户状态","f_hetongdate:合同日期","f_residential_area:小区名称",
1369
+ "f_state:安检状态","f_buildtype:房屋类型","f_meternumber:表号",
1370
+ "f_metertitles:表封号","f_aroundmeter:左右表","f_gaswatchbrand:气表品牌",
1371
+ "f_neiwaibiao:气表位置","f_phone:电话","f_dateofopening:开户日期",
1372
+ "f_address:详细地址"
1373
+ ],
1374
+ "templateName": this.plan.f_plan_name,
1375
+ "sqlName": "planItem",
1376
+ "uuid": this.guid()
1377
+ },
1378
+ }
1379
+ }
1380
+ ,{resolveMsg: null, rejectMsg: null})
1381
+ console.log("excel结果---"+JSON.stringify(res))
1382
+ let link = document.createElement('a');
1383
+ let path = res.data[0].filename
1384
+ //webapps这个是在服务器上导出用的
1385
+ let pathName = "http://" + location.host + "/webapps" + path.split('webapps')[1]
1386
+ //excel这个是在本地导出用的
1387
+ link.href = pathName;
1388
+ link.download = path.split('excel/')[1];
1389
+ link.dispatchEvent(new MouseEvent('click'));
1390
+ this.isSend=false
1391
+ }
1392
+ guid() {
1393
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
1394
+ let r = Math.random() * 16 | 0,
1395
+ v = c == 'x' ? r : (r & 0x3 | 0x8)
1396
+ return v.toString(16)
1397
+ })
1398
+ }
1399
+ //excel导出
1400
+ async userexportFile(){
1401
+
1402
+ this.isSend=true
1403
+ let res=await this.http.load('POST','rs/logic/SafeExportExcel',
1404
+ {
1405
+ "data": {
1406
+ "body": {
1407
+ "data": {
1408
+ "condition": this.user.search.search({
1409
+ "f_filialeid": "ui.f_filialeid={}",
1410
+ "userinfocode": "ui.f_userinfo_code='{}'",
1411
+ "username": "ui.f_user_name like '%{}%'",
1412
+ "useraddress": "ua.f_address like '%{}%'",
1413
+ "userType":"uf.f_user_type='{}'",
1414
+ "f_residential_area":"ua.f_residential_area = '{}'",
1415
+ "f_building":"ua.f_building='{}'",
1416
+ "f_unit":"ua.f_unit='{}'",
1417
+ "f_user_state":"ui.f_user_state='{}'",
1418
+ "checkTime":" {}",
1419
+ "meterbook":"uf.f_meter_book_num='{}'",
1420
+ "user_start":" uf2.f_dateofopening >='{}'",
1421
+ "user_end":" uf2.f_dateofopening <='{}'",
1422
+ "check_start":" ua.f_last_check_date >='{}'",
1423
+ "check_end":" ua.f_last_check_date<= '{}'",
1424
+ "area":" f_book_slice_area ='{}'",
1425
+ "ychecked":" {}",
1426
+ "f_metertitles":" uf2.f_metertitles='{}'",
1427
+ "f_gasproperties":" uf.f_gasproperties='{}'",
1428
+ "uploadCondition":" {}",
1429
+ "f_backlist":" {}"
1430
+ }),
1431
+ "orderitem": 'f_residential_area,f_building,f_unit,f_floor,f_room',
1432
+ "f_usertype": '',
1433
+ "month": '',
1434
+ "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
1435
+ "SafeCheckCQ": '',
1436
+ "startday":"",
1437
+ "endday":""
1438
+ },
1439
+ "field": ["f_userinfo_code:用户编号","f_user_name:用户名称",
1440
+ "f_user_type:用户类型", "f_residential_area:小区名称",
1441
+ "f_metertitles:表箱号", "f_meternumber:表号",
1442
+ "f_userstate:用户状态", "f_dateofopening:开户时间",
1443
+ "f_yytdate:建档时间",
1444
+ "f_user_phone:用户电话","f_address:详细地址"
1445
+ ],
1446
+ "templateName": '安检用户信息',
1447
+ "sqlName": "FetchUserFileByOrgNoRuHuSXQ",
1448
+ "uuid": this.guid()
1449
+ },
1450
+ }
1451
+ }
1452
+ ,{resolveMsg: null, rejectMsg: null})
1453
+ console.log("excel结果---"+JSON.stringify(res))
1454
+ let link = document.createElement('a');
1455
+ let path = res.data[0].filename
1456
+ //webapps这个是在服务器上导出用的
1457
+ let pathName = "http://" + location.host + "/webapps" + path.split('webapps')[1]
1458
+ //excel这个是在本地导出用的
1459
+ link.href = pathName;
1460
+ link.download = path.split('excel/')[1];
1461
+ link.dispatchEvent(new MouseEvent('click'));
1462
+ this.isSend=false
1463
+ }
1464
+
1465
+ //获取抄表册
1466
+ async Mreadibook(){
1467
+ this.cbc=[]
1468
+ this.sliceArea=[]
1469
+ let http = new HttpResetClass()
1470
+ let getMeterReadingBooks = await http.load('POST','rs/logic/getMeterBooksData',
1471
+ {data: {f_orgid: "('"+this.filialeid+"')"}},
1472
+ {resolveMsg: null, rejectMsg: '获取失败!!!'})
1473
+ this.cbc = [{label: '全部', value: '全部'}]
1474
+ console.log('22222222222222222222222222222222222222')
1475
+ console.log(JSON.stringify(getMeterReadingBooks))
1476
+ console.log('22222222222222222222222222222222222222')
1477
+ this.meterbooks=[]
1478
+ this.meterbooks=getMeterReadingBooks.data.meterbooks
1479
+ this.meterbooks.forEach((res) => {
1480
+ this.cbc.push({label: res.f_book_name, value: res.id})
1481
+ /*if(res.f_book_slice_area){
1482
+ if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
1483
+ this.sliceArea.push(res.f_book_slice_area)
1484
+ }
1485
+ }*/
1486
+ })
1487
+
1488
+ }
1489
+ //获取子公司
1490
+ async getOrgs(){
1491
+ let http = new HttpResetClass()
1492
+ let orgs = await http.load('POST', '/rs/search', {
1493
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $organization$)',
1494
+ userid: global.login.id
1495
+ //userid:"15130"
1496
+ }, {resolveMsg: null, rejectMsg: '获取分公司出错!!!'})
1497
+ console.log("分公司--"+JSON.stringify(orgs))
1498
+ this.orgs = []
1499
+ if(orgs.data.length>0){
1500
+ orgs.data.forEach((res) => {
1501
+ this.orgs.push({label: res.name, value: res.id})
1502
+ })
1503
+ }else{
1504
+ this.orgs.push({label: this.filialeidname, value:this.filialeid})
1505
+ // this.orgs.push({label: '测试公司', value:222})
1506
+ }
1507
+
1508
+
1509
+ }
1510
+ //片区获取
1511
+ async getSliceArea() {
1512
+ let http = new HttpResetClass()
1513
+ let getAllArea = await http.load('POST', '/rs/search', {
1514
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
1515
+ userid: global.login.id
1516
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
1517
+ this.sliceArea = ['全部']
1518
+ console.log('11111111111111111111111111111111111111')
1519
+ console.log(getAllArea.data)
1520
+ console.log('11111111111111111111111111111111111111')
1521
+ getAllArea.data.forEach((res) => {
1522
+ if(res.parentid==this.filialeid){
1523
+ this.sliceArea.push(res.name)
1524
+ }
1525
+ })
1526
+ console.log('片区' + this.sliceArea)
1527
+ }
1528
+
1529
+ show1(){
1530
+ this.showModel=true
1531
+ }
1532
+ //清空用户编号
1533
+ clearUserInfoId(){
1534
+ this.setProperty("user","uploadCondition",'')
1535
+ Vue.showMessage("已清空用户编号")
1536
+ }
1537
+ formatArrayFun(type,arr){
1538
+ arr.forEach((result)=>{
1539
+ this[type].push(result.value)
1540
+ })
1541
+ }
1542
+ flush(f){
1543
+ f()
1544
+ }
1545
+ }